mirror of
https://github.com/jessicanataliagta/PSPRecomp
synced 2026-09-27 08:55:30 -04:00
96405fbb47
otimizaçoes round 20
14134 lines
666 KiB
C++
14134 lines
666 KiB
C++
#include "psprecomp/runtime.hpp"
|
|
#include "generated_units.hpp"
|
|
#include "vcs_resident_regions.hpp"
|
|
#include <bit>
|
|
#include <cmath>
|
|
#include <cstdint>
|
|
#include <limits>
|
|
|
|
namespace psprecomp {
|
|
// PSPRECOMP_V811_COMPACT_DISPATCH: 64-slot occupancy masks + per-group base id.
|
|
static constexpr std::uint64_t kEntryMasks_recomp_unit_0178[64] = {
|
|
0x22A95515408AA891ull, 0x52A520282AA5208Aull, 0xA92A82294A4A5290ull, 0x8A528929494AA414ull,
|
|
0x124242A9494B2214ull, 0x0AA52A554252120Aull, 0xA05055114A5254AAull, 0x28555291200A2284ull,
|
|
0x488242048A880009ull, 0x454828222A4A4882ull, 0x22A9541548542811ull, 0x032A8A4489084001ull,
|
|
0xAAAA82A9450AA2A5ull, 0x22A2AAAAA54A82AAull, 0x08AA1502894AA555ull, 0xA424A5228910A052ull,
|
|
0x020254A91024AAAAull, 0x045491552A125291ull, 0x29A9229148A8A949ull, 0x9154295415415045ull,
|
|
0x21008000AAA8892Aull, 0xA54948552AA4554Aull, 0x0888804152412948ull, 0x250454AAAA555482ull,
|
|
0x4AA5544AA12A1295ull, 0x5292AAAAA2AA4825ull, 0x2049555889140823ull, 0x94924A4969281111ull,
|
|
0x449202A08290484Aull, 0x5442080824152920ull, 0x524A48124A502010ull, 0x1152A91000415292ull,
|
|
0x44108202554AA8A4ull, 0x248944420A800000ull, 0x0004812409224892ull, 0xD2A502A805552000ull,
|
|
0x10A4154552200040ull, 0x08505A5409542955ull, 0x25408028084020A8ull, 0x6809028280000520ull,
|
|
0x4445146046041114ull, 0x6046044451460460ull, 0x0061226A040800B4ull, 0x40000A0408100000ull,
|
|
0x234A695454884041ull, 0x2004141100400004ull, 0x210000008A000001ull, 0x0200104B06941A52ull,
|
|
0x0088044540850809ull, 0x1140110028400000ull, 0x0000004508000000ull, 0x82A2204206101220ull,
|
|
0x84644200002A2200ull, 0x4954405623114818ull, 0x49252024A024A003ull, 0x0880A01001A4A003ull,
|
|
0x20D2540A00808880ull, 0xA4409AAAAAAAA082ull, 0x92492480150AD22Aull, 0x4924008800540524ull,
|
|
0x22005002A0292492ull, 0x0E91141D2222A048ull, 0x7488A0E915101052ull, 0x2010A2288410A210ull,
|
|
};
|
|
static constexpr std::uint16_t kEntryBases_recomp_unit_0178[64] = {
|
|
1u, 24u, 45u, 68u, 91u, 112u, 134u, 157u, 176u, 190u, 209u, 230u, 246u, 272u, 298u, 321u,
|
|
341u, 361u, 383u, 407u, 429u, 445u, 471u, 487u, 511u, 536u, 562u, 582u, 604u, 621u, 637u, 654u,
|
|
672u, 691u, 703u, 717u, 736u, 751u, 773u, 786u, 798u, 815u, 832u, 847u, 853u, 874u, 882u, 888u,
|
|
905u, 918u, 926u, 930u, 944u, 956u, 976u, 993u, 1006u, 1020u, 1044u, 1065u, 1079u, 1094u, 1114u, 1135u,
|
|
};
|
|
void recomp_unit_0178_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,31,5,2,17,29 fprs=12,13,20,0 gpr_occ=4237 fpr_occ=440 gpr_total=5445 fpr_total=553
|
|
std::uint32_t aot_gpr_4 = ctx.gpr[4];
|
|
std::uint32_t aot_gpr_31 = ctx.gpr[31];
|
|
std::uint32_t aot_gpr_5 = ctx.gpr[5];
|
|
std::uint32_t aot_gpr_2 = ctx.gpr[2];
|
|
std::uint32_t aot_gpr_17 = ctx.gpr[17];
|
|
std::uint32_t aot_gpr_29 = ctx.gpr[29];
|
|
float aot_fpr_12 = ctx.fpr[12];
|
|
float aot_fpr_13 = ctx.fpr[13];
|
|
float aot_fpr_20 = ctx.fpr[20];
|
|
float aot_fpr_0 = ctx.fpr[0];
|
|
bool aot_regcache_valid = true;
|
|
#define AOT_REGCACHE_SYNC_OUT() do { if (aot_regcache_valid) { ctx.gpr[4] = aot_gpr_4; ctx.gpr[31] = aot_gpr_31; ctx.gpr[5] = aot_gpr_5; ctx.gpr[2] = aot_gpr_2; ctx.gpr[17] = aot_gpr_17; ctx.gpr[29] = aot_gpr_29; ctx.fpr[12] = aot_fpr_12; ctx.fpr[13] = aot_fpr_13; ctx.fpr[20] = aot_fpr_20; ctx.fpr[0] = aot_fpr_0; } } while (false)
|
|
#define AOT_REGCACHE_SYNC_IN() do { if (aot_regcache_valid) { aot_gpr_4 = ctx.gpr[4]; aot_gpr_31 = ctx.gpr[31]; aot_gpr_5 = ctx.gpr[5]; aot_gpr_2 = ctx.gpr[2]; aot_gpr_17 = ctx.gpr[17]; aot_gpr_29 = ctx.gpr[29]; aot_fpr_12 = ctx.fpr[12]; aot_fpr_13 = ctx.fpr[13]; aot_fpr_20 = ctx.fpr[20]; aot_fpr_0 = ctx.fpr[0]; } } 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 - 0x08ACC000u;
|
|
entry_id = 0u;
|
|
if (entry_delta < 16376u && (entry_delta & 3u) == 0u) {
|
|
const std::uint32_t entry_slot = entry_delta >> 2u;
|
|
const std::uint32_t entry_group = entry_slot >> 6u;
|
|
const std::uint64_t entry_mask = kEntryMasks_recomp_unit_0178[entry_group];
|
|
const std::uint64_t entry_bit = 1ull << (entry_slot & 63u);
|
|
if ((entry_mask & entry_bit) != 0u) {
|
|
entry_id = static_cast<std::uint16_t>(
|
|
kEntryBases_recomp_unit_0178[entry_group] +
|
|
std::popcount(entry_mask & (entry_bit - 1ull)));
|
|
}
|
|
}
|
|
}
|
|
switch (entry_id) {
|
|
case 1u: goto L_08ACC000;
|
|
case 2u: goto L_08ACC010;
|
|
case 3u: goto L_08ACC01C;
|
|
case 4u: goto L_08ACC02C;
|
|
case 5u: goto L_08ACC034;
|
|
case 6u: goto L_08ACC03C;
|
|
case 7u: goto L_08ACC044;
|
|
case 8u: goto L_08ACC04C;
|
|
case 9u: goto L_08ACC05C;
|
|
case 10u: goto L_08ACC078;
|
|
case 11u: goto L_08ACC080;
|
|
case 12u: goto L_08ACC088;
|
|
case 13u: goto L_08ACC090;
|
|
case 14u: goto L_08ACC0A0;
|
|
case 15u: goto L_08ACC0A8;
|
|
case 16u: goto L_08ACC0B0;
|
|
case 17u: goto L_08ACC0B8;
|
|
case 18u: goto L_08ACC0C0;
|
|
case 19u: goto L_08ACC0CC;
|
|
case 20u: goto L_08ACC0D4;
|
|
case 21u: goto L_08ACC0DC;
|
|
case 22u: goto L_08ACC0E4;
|
|
case 23u: goto L_08ACC0F4;
|
|
case 24u: goto L_08ACC104;
|
|
case 25u: goto L_08ACC10C;
|
|
case 26u: goto L_08ACC11C;
|
|
case 27u: goto L_08ACC134;
|
|
case 28u: goto L_08ACC140;
|
|
case 29u: goto L_08ACC148;
|
|
case 30u: goto L_08ACC154;
|
|
case 31u: goto L_08ACC15C;
|
|
case 32u: goto L_08ACC164;
|
|
case 33u: goto L_08ACC16C;
|
|
case 34u: goto L_08ACC174;
|
|
case 35u: goto L_08ACC18C;
|
|
case 36u: goto L_08ACC194;
|
|
case 37u: goto L_08ACC1B4;
|
|
case 38u: goto L_08ACC1C0;
|
|
case 39u: goto L_08ACC1C8;
|
|
case 40u: goto L_08ACC1D4;
|
|
case 41u: goto L_08ACC1DC;
|
|
case 42u: goto L_08ACC1E4;
|
|
case 43u: goto L_08ACC1F0;
|
|
case 44u: goto L_08ACC1F8;
|
|
case 45u: goto L_08ACC210;
|
|
case 46u: goto L_08ACC21C;
|
|
case 47u: goto L_08ACC224;
|
|
case 48u: goto L_08ACC230;
|
|
case 49u: goto L_08ACC238;
|
|
case 50u: goto L_08ACC244;
|
|
case 51u: goto L_08ACC24C;
|
|
case 52u: goto L_08ACC258;
|
|
case 53u: goto L_08ACC264;
|
|
case 54u: goto L_08ACC26C;
|
|
case 55u: goto L_08ACC278;
|
|
case 56u: goto L_08ACC280;
|
|
case 57u: goto L_08ACC28C;
|
|
case 58u: goto L_08ACC294;
|
|
case 59u: goto L_08ACC2A4;
|
|
case 60u: goto L_08ACC2BC;
|
|
case 61u: goto L_08ACC2C4;
|
|
case 62u: goto L_08ACC2CC;
|
|
case 63u: goto L_08ACC2D4;
|
|
case 64u: goto L_08ACC2E0;
|
|
case 65u: goto L_08ACC2EC;
|
|
case 66u: goto L_08ACC2F4;
|
|
case 67u: goto L_08ACC2FC;
|
|
case 68u: goto L_08ACC308;
|
|
case 69u: goto L_08ACC310;
|
|
case 70u: goto L_08ACC328;
|
|
case 71u: goto L_08ACC334;
|
|
case 72u: goto L_08ACC33C;
|
|
case 73u: goto L_08ACC344;
|
|
case 74u: goto L_08ACC34C;
|
|
case 75u: goto L_08ACC358;
|
|
case 76u: goto L_08ACC360;
|
|
case 77u: goto L_08ACC36C;
|
|
case 78u: goto L_08ACC378;
|
|
case 79u: goto L_08ACC380;
|
|
case 80u: goto L_08ACC38C;
|
|
case 81u: goto L_08ACC394;
|
|
case 82u: goto L_08ACC3A0;
|
|
case 83u: goto L_08ACC3AC;
|
|
case 84u: goto L_08ACC3BC;
|
|
case 85u: goto L_08ACC3C4;
|
|
case 86u: goto L_08ACC3D0;
|
|
case 87u: goto L_08ACC3D8;
|
|
case 88u: goto L_08ACC3E4;
|
|
case 89u: goto L_08ACC3EC;
|
|
case 90u: goto L_08ACC3FC;
|
|
case 91u: goto L_08ACC408;
|
|
case 92u: goto L_08ACC410;
|
|
case 93u: goto L_08ACC424;
|
|
case 94u: goto L_08ACC434;
|
|
case 95u: goto L_08ACC440;
|
|
case 96u: goto L_08ACC444;
|
|
case 97u: goto L_08ACC44C;
|
|
case 98u: goto L_08ACC458;
|
|
case 99u: goto L_08ACC460;
|
|
case 100u: goto L_08ACC46C;
|
|
case 101u: goto L_08ACC478;
|
|
case 102u: goto L_08ACC480;
|
|
case 103u: goto L_08ACC48C;
|
|
case 104u: goto L_08ACC494;
|
|
case 105u: goto L_08ACC49C;
|
|
case 106u: goto L_08ACC4A4;
|
|
case 107u: goto L_08ACC4B8;
|
|
case 108u: goto L_08ACC4C4;
|
|
case 109u: goto L_08ACC4D8;
|
|
case 110u: goto L_08ACC4E4;
|
|
case 111u: goto L_08ACC4F0;
|
|
case 112u: goto L_08ACC504;
|
|
case 113u: goto L_08ACC50C;
|
|
case 114u: goto L_08ACC524;
|
|
case 115u: goto L_08ACC530;
|
|
case 116u: goto L_08ACC544;
|
|
case 117u: goto L_08ACC550;
|
|
case 118u: goto L_08ACC558;
|
|
case 119u: goto L_08ACC564;
|
|
case 120u: goto L_08ACC578;
|
|
case 121u: goto L_08ACC580;
|
|
case 122u: goto L_08ACC588;
|
|
case 123u: goto L_08ACC590;
|
|
case 124u: goto L_08ACC598;
|
|
case 125u: goto L_08ACC5A4;
|
|
case 126u: goto L_08ACC5AC;
|
|
case 127u: goto L_08ACC5B4;
|
|
case 128u: goto L_08ACC5C0;
|
|
case 129u: goto L_08ACC5C8;
|
|
case 130u: goto L_08ACC5D4;
|
|
case 131u: goto L_08ACC5DC;
|
|
case 132u: goto L_08ACC5E4;
|
|
case 133u: goto L_08ACC5EC;
|
|
case 134u: goto L_08ACC604;
|
|
case 135u: goto L_08ACC60C;
|
|
case 136u: goto L_08ACC614;
|
|
case 137u: goto L_08ACC61C;
|
|
case 138u: goto L_08ACC628;
|
|
case 139u: goto L_08ACC630;
|
|
case 140u: goto L_08ACC638;
|
|
case 141u: goto L_08ACC644;
|
|
case 142u: goto L_08ACC650;
|
|
case 143u: goto L_08ACC658;
|
|
case 144u: goto L_08ACC664;
|
|
case 145u: goto L_08ACC66C;
|
|
case 146u: goto L_08ACC678;
|
|
case 147u: goto L_08ACC680;
|
|
case 148u: goto L_08ACC690;
|
|
case 149u: goto L_08ACC6A0;
|
|
case 150u: goto L_08ACC6A8;
|
|
case 151u: goto L_08ACC6B0;
|
|
case 152u: goto L_08ACC6B8;
|
|
case 153u: goto L_08ACC6D0;
|
|
case 154u: goto L_08ACC6D8;
|
|
case 155u: goto L_08ACC6F4;
|
|
case 156u: goto L_08ACC6FC;
|
|
case 157u: goto L_08ACC708;
|
|
case 158u: goto L_08ACC71C;
|
|
case 159u: goto L_08ACC724;
|
|
case 160u: goto L_08ACC734;
|
|
case 161u: goto L_08ACC744;
|
|
case 162u: goto L_08ACC74C;
|
|
case 163u: goto L_08ACC774;
|
|
case 164u: goto L_08ACC780;
|
|
case 165u: goto L_08ACC790;
|
|
case 166u: goto L_08ACC79C;
|
|
case 167u: goto L_08ACC7A4;
|
|
case 168u: goto L_08ACC7B0;
|
|
case 169u: goto L_08ACC7B8;
|
|
case 170u: goto L_08ACC7C0;
|
|
case 171u: goto L_08ACC7C8;
|
|
case 172u: goto L_08ACC7D0;
|
|
case 173u: goto L_08ACC7D8;
|
|
case 174u: goto L_08ACC7EC;
|
|
case 175u: goto L_08ACC7F4;
|
|
case 176u: goto L_08ACC800;
|
|
case 177u: goto L_08ACC80C;
|
|
case 178u: goto L_08ACC84C;
|
|
case 179u: goto L_08ACC85C;
|
|
case 180u: goto L_08ACC864;
|
|
case 181u: goto L_08ACC86C;
|
|
case 182u: goto L_08ACC87C;
|
|
case 183u: goto L_08ACC888;
|
|
case 184u: goto L_08ACC8A4;
|
|
case 185u: goto L_08ACC8B8;
|
|
case 186u: goto L_08ACC8C4;
|
|
case 187u: goto L_08ACC8DC;
|
|
case 188u: goto L_08ACC8EC;
|
|
case 189u: goto L_08ACC8F8;
|
|
case 190u: goto L_08ACC904;
|
|
case 191u: goto L_08ACC91C;
|
|
case 192u: goto L_08ACC92C;
|
|
case 193u: goto L_08ACC938;
|
|
case 194u: goto L_08ACC944;
|
|
case 195u: goto L_08ACC94C;
|
|
case 196u: goto L_08ACC958;
|
|
case 197u: goto L_08ACC964;
|
|
case 198u: goto L_08ACC96C;
|
|
case 199u: goto L_08ACC974;
|
|
case 200u: goto L_08ACC984;
|
|
case 201u: goto L_08ACC994;
|
|
case 202u: goto L_08ACC9AC;
|
|
case 203u: goto L_08ACC9B4;
|
|
case 204u: goto L_08ACC9CC;
|
|
case 205u: goto L_08ACC9D8;
|
|
case 206u: goto L_08ACC9E0;
|
|
case 207u: goto L_08ACC9E8;
|
|
case 208u: goto L_08ACC9F8;
|
|
case 209u: goto L_08ACCA00;
|
|
case 210u: goto L_08ACCA10;
|
|
case 211u: goto L_08ACCA2C;
|
|
case 212u: goto L_08ACCA34;
|
|
case 213u: goto L_08ACCA48;
|
|
case 214u: goto L_08ACCA50;
|
|
case 215u: goto L_08ACCA58;
|
|
case 216u: goto L_08ACCA6C;
|
|
case 217u: goto L_08ACCA78;
|
|
case 218u: goto L_08ACCA80;
|
|
case 219u: goto L_08ACCA88;
|
|
case 220u: goto L_08ACCA90;
|
|
case 221u: goto L_08ACCAA8;
|
|
case 222u: goto L_08ACCAB0;
|
|
case 223u: goto L_08ACCAB8;
|
|
case 224u: goto L_08ACCAC0;
|
|
case 225u: goto L_08ACCACC;
|
|
case 226u: goto L_08ACCAD4;
|
|
case 227u: goto L_08ACCADC;
|
|
case 228u: goto L_08ACCAE4;
|
|
case 229u: goto L_08ACCAF4;
|
|
case 230u: goto L_08ACCB00;
|
|
case 231u: goto L_08ACCB38;
|
|
case 232u: goto L_08ACCB4C;
|
|
case 233u: goto L_08ACCB60;
|
|
case 234u: goto L_08ACCB6C;
|
|
case 235u: goto L_08ACCB7C;
|
|
case 236u: goto L_08ACCB88;
|
|
case 237u: goto L_08ACCB98;
|
|
case 238u: goto L_08ACCBA4;
|
|
case 239u: goto L_08ACCBAC;
|
|
case 240u: goto L_08ACCBBC;
|
|
case 241u: goto L_08ACCBC4;
|
|
case 242u: goto L_08ACCBCC;
|
|
case 243u: goto L_08ACCBD4;
|
|
case 244u: goto L_08ACCBE0;
|
|
case 245u: goto L_08ACCBE4;
|
|
case 246u: goto L_08ACCC00;
|
|
case 247u: goto L_08ACCC08;
|
|
case 248u: goto L_08ACCC14;
|
|
case 249u: goto L_08ACCC1C;
|
|
case 250u: goto L_08ACCC24;
|
|
case 251u: goto L_08ACCC34;
|
|
case 252u: goto L_08ACCC3C;
|
|
case 253u: goto L_08ACCC44;
|
|
case 254u: goto L_08ACCC4C;
|
|
case 255u: goto L_08ACCC60;
|
|
case 256u: goto L_08ACCC68;
|
|
case 257u: goto L_08ACCC78;
|
|
case 258u: goto L_08ACCC80;
|
|
case 259u: goto L_08ACCC8C;
|
|
case 260u: goto L_08ACCC94;
|
|
case 261u: goto L_08ACCC9C;
|
|
case 262u: goto L_08ACCCA4;
|
|
case 263u: goto L_08ACCCBC;
|
|
case 264u: goto L_08ACCCC4;
|
|
case 265u: goto L_08ACCCCC;
|
|
case 266u: goto L_08ACCCD4;
|
|
case 267u: goto L_08ACCCDC;
|
|
case 268u: goto L_08ACCCE4;
|
|
case 269u: goto L_08ACCCEC;
|
|
case 270u: goto L_08ACCCF4;
|
|
case 271u: goto L_08ACCCFC;
|
|
case 272u: goto L_08ACCD04;
|
|
case 273u: goto L_08ACCD0C;
|
|
case 274u: goto L_08ACCD14;
|
|
case 275u: goto L_08ACCD1C;
|
|
case 276u: goto L_08ACCD24;
|
|
case 277u: goto L_08ACCD3C;
|
|
case 278u: goto L_08ACCD44;
|
|
case 279u: goto L_08ACCD4C;
|
|
case 280u: goto L_08ACCD58;
|
|
case 281u: goto L_08ACCD60;
|
|
case 282u: goto L_08ACCD68;
|
|
case 283u: goto L_08ACCD74;
|
|
case 284u: goto L_08ACCD7C;
|
|
case 285u: goto L_08ACCD84;
|
|
case 286u: goto L_08ACCD8C;
|
|
case 287u: goto L_08ACCD94;
|
|
case 288u: goto L_08ACCD9C;
|
|
case 289u: goto L_08ACCDA4;
|
|
case 290u: goto L_08ACCDAC;
|
|
case 291u: goto L_08ACCDB4;
|
|
case 292u: goto L_08ACCDBC;
|
|
case 293u: goto L_08ACCDC4;
|
|
case 294u: goto L_08ACCDD4;
|
|
case 295u: goto L_08ACCDDC;
|
|
case 296u: goto L_08ACCDE4;
|
|
case 297u: goto L_08ACCDF4;
|
|
case 298u: goto L_08ACCE00;
|
|
case 299u: goto L_08ACCE08;
|
|
case 300u: goto L_08ACCE10;
|
|
case 301u: goto L_08ACCE18;
|
|
case 302u: goto L_08ACCE20;
|
|
case 303u: goto L_08ACCE28;
|
|
case 304u: goto L_08ACCE34;
|
|
case 305u: goto L_08ACCE3C;
|
|
case 306u: goto L_08ACCE44;
|
|
case 307u: goto L_08ACCE4C;
|
|
case 308u: goto L_08ACCE58;
|
|
case 309u: goto L_08ACCE60;
|
|
case 310u: goto L_08ACCE6C;
|
|
case 311u: goto L_08ACCE7C;
|
|
case 312u: goto L_08ACCE84;
|
|
case 313u: goto L_08ACCEA0;
|
|
case 314u: goto L_08ACCEA8;
|
|
case 315u: goto L_08ACCEB0;
|
|
case 316u: goto L_08ACCEC4;
|
|
case 317u: goto L_08ACCECC;
|
|
case 318u: goto L_08ACCED4;
|
|
case 319u: goto L_08ACCEDC;
|
|
case 320u: goto L_08ACCEEC;
|
|
case 321u: goto L_08ACCF04;
|
|
case 322u: goto L_08ACCF10;
|
|
case 323u: goto L_08ACCF18;
|
|
case 324u: goto L_08ACCF34;
|
|
case 325u: goto L_08ACCF3C;
|
|
case 326u: goto L_08ACCF50;
|
|
case 327u: goto L_08ACCF60;
|
|
case 328u: goto L_08ACCF6C;
|
|
case 329u: goto L_08ACCF7C;
|
|
case 330u: goto L_08ACCF84;
|
|
case 331u: goto L_08ACCF94;
|
|
case 332u: goto L_08ACCFA0;
|
|
case 333u: goto L_08ACCFA8;
|
|
case 334u: goto L_08ACCFB4;
|
|
case 335u: goto L_08ACCFBC;
|
|
case 336u: goto L_08ACCFC8;
|
|
case 337u: goto L_08ACCFD4;
|
|
case 338u: goto L_08ACCFE8;
|
|
case 339u: goto L_08ACCFF4;
|
|
case 340u: goto L_08ACCFFC;
|
|
case 341u: goto L_08ACD004;
|
|
case 342u: goto L_08ACD00C;
|
|
case 343u: goto L_08ACD014;
|
|
case 344u: goto L_08ACD01C;
|
|
case 345u: goto L_08ACD024;
|
|
case 346u: goto L_08ACD02C;
|
|
case 347u: goto L_08ACD034;
|
|
case 348u: goto L_08ACD03C;
|
|
case 349u: goto L_08ACD048;
|
|
case 350u: goto L_08ACD054;
|
|
case 351u: goto L_08ACD070;
|
|
case 352u: goto L_08ACD080;
|
|
case 353u: goto L_08ACD08C;
|
|
case 354u: goto L_08ACD094;
|
|
case 355u: goto L_08ACD09C;
|
|
case 356u: goto L_08ACD0A8;
|
|
case 357u: goto L_08ACD0B0;
|
|
case 358u: goto L_08ACD0B8;
|
|
case 359u: goto L_08ACD0C4;
|
|
case 360u: goto L_08ACD0E4;
|
|
case 361u: goto L_08ACD100;
|
|
case 362u: goto L_08ACD110;
|
|
case 363u: goto L_08ACD11C;
|
|
case 364u: goto L_08ACD124;
|
|
case 365u: goto L_08ACD130;
|
|
case 366u: goto L_08ACD138;
|
|
case 367u: goto L_08ACD144;
|
|
case 368u: goto L_08ACD150;
|
|
case 369u: goto L_08ACD164;
|
|
case 370u: goto L_08ACD16C;
|
|
case 371u: goto L_08ACD174;
|
|
case 372u: goto L_08ACD180;
|
|
case 373u: goto L_08ACD188;
|
|
case 374u: goto L_08ACD190;
|
|
case 375u: goto L_08ACD198;
|
|
case 376u: goto L_08ACD1A0;
|
|
case 377u: goto L_08ACD1B0;
|
|
case 378u: goto L_08ACD1BC;
|
|
case 379u: goto L_08ACD1C8;
|
|
case 380u: goto L_08ACD1D0;
|
|
case 381u: goto L_08ACD1D8;
|
|
case 382u: goto L_08ACD1E8;
|
|
case 383u: goto L_08ACD200;
|
|
case 384u: goto L_08ACD20C;
|
|
case 385u: goto L_08ACD218;
|
|
case 386u: goto L_08ACD220;
|
|
case 387u: goto L_08ACD22C;
|
|
case 388u: goto L_08ACD234;
|
|
case 389u: goto L_08ACD23C;
|
|
case 390u: goto L_08ACD24C;
|
|
case 391u: goto L_08ACD254;
|
|
case 392u: goto L_08ACD25C;
|
|
case 393u: goto L_08ACD26C;
|
|
case 394u: goto L_08ACD278;
|
|
case 395u: goto L_08ACD280;
|
|
case 396u: goto L_08ACD290;
|
|
case 397u: goto L_08ACD29C;
|
|
case 398u: goto L_08ACD2A4;
|
|
case 399u: goto L_08ACD2B4;
|
|
case 400u: goto L_08ACD2C0;
|
|
case 401u: goto L_08ACD2CC;
|
|
case 402u: goto L_08ACD2D4;
|
|
case 403u: goto L_08ACD2DC;
|
|
case 404u: goto L_08ACD2E0;
|
|
case 405u: goto L_08ACD2EC;
|
|
case 406u: goto L_08ACD2F4;
|
|
case 407u: goto L_08ACD300;
|
|
case 408u: goto L_08ACD308;
|
|
case 409u: goto L_08ACD318;
|
|
case 410u: goto L_08ACD330;
|
|
case 411u: goto L_08ACD338;
|
|
case 412u: goto L_08ACD340;
|
|
case 413u: goto L_08ACD358;
|
|
case 414u: goto L_08ACD360;
|
|
case 415u: goto L_08ACD368;
|
|
case 416u: goto L_08ACD370;
|
|
case 417u: goto L_08ACD388;
|
|
case 418u: goto L_08ACD390;
|
|
case 419u: goto L_08ACD398;
|
|
case 420u: goto L_08ACD3A0;
|
|
case 421u: goto L_08ACD3AC;
|
|
case 422u: goto L_08ACD3B4;
|
|
case 423u: goto L_08ACD3C8;
|
|
case 424u: goto L_08ACD3D0;
|
|
case 425u: goto L_08ACD3D8;
|
|
case 426u: goto L_08ACD3E0;
|
|
case 427u: goto L_08ACD3F0;
|
|
case 428u: goto L_08ACD3FC;
|
|
case 429u: goto L_08ACD404;
|
|
case 430u: goto L_08ACD40C;
|
|
case 431u: goto L_08ACD414;
|
|
case 432u: goto L_08ACD420;
|
|
case 433u: goto L_08ACD42C;
|
|
case 434u: goto L_08ACD43C;
|
|
case 435u: goto L_08ACD44C;
|
|
case 436u: goto L_08ACD454;
|
|
case 437u: goto L_08ACD45C;
|
|
case 438u: goto L_08ACD464;
|
|
case 439u: goto L_08ACD46C;
|
|
case 440u: goto L_08ACD474;
|
|
case 441u: goto L_08ACD47C;
|
|
case 442u: goto L_08ACD4BC;
|
|
case 443u: goto L_08ACD4E0;
|
|
case 444u: goto L_08ACD4F4;
|
|
case 445u: goto L_08ACD504;
|
|
case 446u: goto L_08ACD50C;
|
|
case 447u: goto L_08ACD518;
|
|
case 448u: goto L_08ACD520;
|
|
case 449u: goto L_08ACD528;
|
|
case 450u: goto L_08ACD530;
|
|
case 451u: goto L_08ACD538;
|
|
case 452u: goto L_08ACD548;
|
|
case 453u: goto L_08ACD554;
|
|
case 454u: goto L_08ACD55C;
|
|
case 455u: goto L_08ACD564;
|
|
case 456u: goto L_08ACD56C;
|
|
case 457u: goto L_08ACD574;
|
|
case 458u: goto L_08ACD580;
|
|
case 459u: goto L_08ACD588;
|
|
case 460u: goto L_08ACD590;
|
|
case 461u: goto L_08ACD598;
|
|
case 462u: goto L_08ACD5AC;
|
|
case 463u: goto L_08ACD5B8;
|
|
case 464u: goto L_08ACD5C0;
|
|
case 465u: goto L_08ACD5CC;
|
|
case 466u: goto L_08ACD5D8;
|
|
case 467u: goto L_08ACD5E0;
|
|
case 468u: goto L_08ACD5E8;
|
|
case 469u: goto L_08ACD5F4;
|
|
case 470u: goto L_08ACD5FC;
|
|
case 471u: goto L_08ACD60C;
|
|
case 472u: goto L_08ACD618;
|
|
case 473u: goto L_08ACD620;
|
|
case 474u: goto L_08ACD62C;
|
|
case 475u: goto L_08ACD634;
|
|
case 476u: goto L_08ACD640;
|
|
case 477u: goto L_08ACD658;
|
|
case 478u: goto L_08ACD664;
|
|
case 479u: goto L_08ACD670;
|
|
case 480u: goto L_08ACD678;
|
|
case 481u: goto L_08ACD680;
|
|
case 482u: goto L_08ACD698;
|
|
case 483u: goto L_08ACD6BC;
|
|
case 484u: goto L_08ACD6CC;
|
|
case 485u: goto L_08ACD6DC;
|
|
case 486u: goto L_08ACD6EC;
|
|
case 487u: goto L_08ACD704;
|
|
case 488u: goto L_08ACD71C;
|
|
case 489u: goto L_08ACD728;
|
|
case 490u: goto L_08ACD730;
|
|
case 491u: goto L_08ACD738;
|
|
case 492u: goto L_08ACD740;
|
|
case 493u: goto L_08ACD748;
|
|
case 494u: goto L_08ACD750;
|
|
case 495u: goto L_08ACD758;
|
|
case 496u: goto L_08ACD764;
|
|
case 497u: goto L_08ACD76C;
|
|
case 498u: goto L_08ACD774;
|
|
case 499u: goto L_08ACD77C;
|
|
case 500u: goto L_08ACD784;
|
|
case 501u: goto L_08ACD78C;
|
|
case 502u: goto L_08ACD794;
|
|
case 503u: goto L_08ACD79C;
|
|
case 504u: goto L_08ACD7A8;
|
|
case 505u: goto L_08ACD7B0;
|
|
case 506u: goto L_08ACD7B8;
|
|
case 507u: goto L_08ACD7C8;
|
|
case 508u: goto L_08ACD7E0;
|
|
case 509u: goto L_08ACD7E8;
|
|
case 510u: goto L_08ACD7F4;
|
|
case 511u: goto L_08ACD800;
|
|
case 512u: goto L_08ACD808;
|
|
case 513u: goto L_08ACD810;
|
|
case 514u: goto L_08ACD81C;
|
|
case 515u: goto L_08ACD824;
|
|
case 516u: goto L_08ACD830;
|
|
case 517u: goto L_08ACD844;
|
|
case 518u: goto L_08ACD84C;
|
|
case 519u: goto L_08ACD854;
|
|
case 520u: goto L_08ACD860;
|
|
case 521u: goto L_08ACD874;
|
|
case 522u: goto L_08ACD87C;
|
|
case 523u: goto L_08ACD884;
|
|
case 524u: goto L_08ACD88C;
|
|
case 525u: goto L_08ACD898;
|
|
case 526u: goto L_08ACD8A8;
|
|
case 527u: goto L_08ACD8B0;
|
|
case 528u: goto L_08ACD8B8;
|
|
case 529u: goto L_08ACD8C0;
|
|
case 530u: goto L_08ACD8C8;
|
|
case 531u: goto L_08ACD8D4;
|
|
case 532u: goto L_08ACD8DC;
|
|
case 533u: goto L_08ACD8E4;
|
|
case 534u: goto L_08ACD8EC;
|
|
case 535u: goto L_08ACD8F8;
|
|
case 536u: goto L_08ACD900;
|
|
case 537u: goto L_08ACD908;
|
|
case 538u: goto L_08ACD914;
|
|
case 539u: goto L_08ACD92C;
|
|
case 540u: goto L_08ACD938;
|
|
case 541u: goto L_08ACD944;
|
|
case 542u: goto L_08ACD94C;
|
|
case 543u: goto L_08ACD954;
|
|
case 544u: goto L_08ACD95C;
|
|
case 545u: goto L_08ACD964;
|
|
case 546u: goto L_08ACD974;
|
|
case 547u: goto L_08ACD97C;
|
|
case 548u: goto L_08ACD984;
|
|
case 549u: goto L_08ACD98C;
|
|
case 550u: goto L_08ACD994;
|
|
case 551u: goto L_08ACD99C;
|
|
case 552u: goto L_08ACD9A4;
|
|
case 553u: goto L_08ACD9AC;
|
|
case 554u: goto L_08ACD9B4;
|
|
case 555u: goto L_08ACD9BC;
|
|
case 556u: goto L_08ACD9C4;
|
|
case 557u: goto L_08ACD9D0;
|
|
case 558u: goto L_08ACD9DC;
|
|
case 559u: goto L_08ACD9E4;
|
|
case 560u: goto L_08ACD9F0;
|
|
case 561u: goto L_08ACD9F8;
|
|
case 562u: goto L_08ACDA00;
|
|
case 563u: goto L_08ACDA04;
|
|
case 564u: goto L_08ACDA14;
|
|
case 565u: goto L_08ACDA2C;
|
|
case 566u: goto L_08ACDA48;
|
|
case 567u: goto L_08ACDA50;
|
|
case 568u: goto L_08ACDA60;
|
|
case 569u: goto L_08ACDA6C;
|
|
case 570u: goto L_08ACDA7C;
|
|
case 571u: goto L_08ACDA8C;
|
|
case 572u: goto L_08ACDA90;
|
|
case 573u: goto L_08ACDA98;
|
|
case 574u: goto L_08ACDAA0;
|
|
case 575u: goto L_08ACDAA8;
|
|
case 576u: goto L_08ACDAB0;
|
|
case 577u: goto L_08ACDAB8;
|
|
case 578u: goto L_08ACDAC0;
|
|
case 579u: goto L_08ACDACC;
|
|
case 580u: goto L_08ACDAD8;
|
|
case 581u: goto L_08ACDAF4;
|
|
case 582u: goto L_08ACDB00;
|
|
case 583u: goto L_08ACDB10;
|
|
case 584u: goto L_08ACDB20;
|
|
case 585u: goto L_08ACDB30;
|
|
case 586u: goto L_08ACDB4C;
|
|
case 587u: goto L_08ACDB54;
|
|
case 588u: goto L_08ACDB60;
|
|
case 589u: goto L_08ACDB6C;
|
|
case 590u: goto L_08ACDB74;
|
|
case 591u: goto L_08ACDB78;
|
|
case 592u: goto L_08ACDB80;
|
|
case 593u: goto L_08ACDB8C;
|
|
case 594u: goto L_08ACDB98;
|
|
case 595u: goto L_08ACDBA4;
|
|
case 596u: goto L_08ACDBAC;
|
|
case 597u: goto L_08ACDBB8;
|
|
case 598u: goto L_08ACDBC4;
|
|
case 599u: goto L_08ACDBD0;
|
|
case 600u: goto L_08ACDBDC;
|
|
case 601u: goto L_08ACDBE8;
|
|
case 602u: goto L_08ACDBF0;
|
|
case 603u: goto L_08ACDBFC;
|
|
case 604u: goto L_08ACDC04;
|
|
case 605u: goto L_08ACDC0C;
|
|
case 606u: goto L_08ACDC18;
|
|
case 607u: goto L_08ACDC2C;
|
|
case 608u: goto L_08ACDC38;
|
|
case 609u: goto L_08ACDC50;
|
|
case 610u: goto L_08ACDC5C;
|
|
case 611u: goto L_08ACDC64;
|
|
case 612u: goto L_08ACDC7C;
|
|
case 613u: goto L_08ACDC94;
|
|
case 614u: goto L_08ACDC9C;
|
|
case 615u: goto L_08ACDCA4;
|
|
case 616u: goto L_08ACDCC4;
|
|
case 617u: goto L_08ACDCD0;
|
|
case 618u: goto L_08ACDCDC;
|
|
case 619u: goto L_08ACDCE8;
|
|
case 620u: goto L_08ACDCF8;
|
|
case 621u: goto L_08ACDD14;
|
|
case 622u: goto L_08ACDD20;
|
|
case 623u: goto L_08ACDD2C;
|
|
case 624u: goto L_08ACDD34;
|
|
case 625u: goto L_08ACDD40;
|
|
case 626u: goto L_08ACDD48;
|
|
case 627u: goto L_08ACDD50;
|
|
case 628u: goto L_08ACDD68;
|
|
case 629u: goto L_08ACDD74;
|
|
case 630u: goto L_08ACDD8C;
|
|
case 631u: goto L_08ACDDAC;
|
|
case 632u: goto L_08ACDDC4;
|
|
case 633u: goto L_08ACDDD8;
|
|
case 634u: goto L_08ACDDE8;
|
|
case 635u: goto L_08ACDDF0;
|
|
case 636u: goto L_08ACDDF8;
|
|
case 637u: goto L_08ACDE10;
|
|
case 638u: goto L_08ACDE34;
|
|
case 639u: goto L_08ACDE50;
|
|
case 640u: goto L_08ACDE58;
|
|
case 641u: goto L_08ACDE64;
|
|
case 642u: goto L_08ACDE6C;
|
|
case 643u: goto L_08ACDE78;
|
|
case 644u: goto L_08ACDE84;
|
|
case 645u: goto L_08ACDE90;
|
|
case 646u: goto L_08ACDEAC;
|
|
case 647u: goto L_08ACDEB8;
|
|
case 648u: goto L_08ACDEC4;
|
|
case 649u: goto L_08ACDECC;
|
|
case 650u: goto L_08ACDED8;
|
|
case 651u: goto L_08ACDEE4;
|
|
case 652u: goto L_08ACDEF0;
|
|
case 653u: goto L_08ACDEF8;
|
|
case 654u: goto L_08ACDF04;
|
|
case 655u: goto L_08ACDF10;
|
|
case 656u: goto L_08ACDF1C;
|
|
case 657u: goto L_08ACDF24;
|
|
case 658u: goto L_08ACDF30;
|
|
case 659u: goto L_08ACDF38;
|
|
case 660u: goto L_08ACDF40;
|
|
case 661u: goto L_08ACDF58;
|
|
case 662u: goto L_08ACDF90;
|
|
case 663u: goto L_08ACDFA0;
|
|
case 664u: goto L_08ACDFAC;
|
|
case 665u: goto L_08ACDFB4;
|
|
case 666u: goto L_08ACDFBC;
|
|
case 667u: goto L_08ACDFC4;
|
|
case 668u: goto L_08ACDFD0;
|
|
case 669u: goto L_08ACDFD8;
|
|
case 670u: goto L_08ACDFE0;
|
|
case 671u: goto L_08ACDFF0;
|
|
case 672u: goto L_08ACE008;
|
|
case 673u: goto L_08ACE014;
|
|
case 674u: goto L_08ACE01C;
|
|
case 675u: goto L_08ACE02C;
|
|
case 676u: goto L_08ACE034;
|
|
case 677u: goto L_08ACE03C;
|
|
case 678u: goto L_08ACE044;
|
|
case 679u: goto L_08ACE04C;
|
|
case 680u: goto L_08ACE058;
|
|
case 681u: goto L_08ACE060;
|
|
case 682u: goto L_08ACE068;
|
|
case 683u: goto L_08ACE070;
|
|
case 684u: goto L_08ACE078;
|
|
case 685u: goto L_08ACE084;
|
|
case 686u: goto L_08ACE0A4;
|
|
case 687u: goto L_08ACE0BC;
|
|
case 688u: goto L_08ACE0D0;
|
|
case 689u: goto L_08ACE0E8;
|
|
case 690u: goto L_08ACE0F8;
|
|
case 691u: goto L_08ACE15C;
|
|
case 692u: goto L_08ACE164;
|
|
case 693u: goto L_08ACE16C;
|
|
case 694u: goto L_08ACE184;
|
|
case 695u: goto L_08ACE198;
|
|
case 696u: goto L_08ACE1A8;
|
|
case 697u: goto L_08ACE1B8;
|
|
case 698u: goto L_08ACE1C0;
|
|
case 699u: goto L_08ACE1CC;
|
|
case 700u: goto L_08ACE1DC;
|
|
case 701u: goto L_08ACE1E8;
|
|
case 702u: goto L_08ACE1F4;
|
|
case 703u: goto L_08ACE204;
|
|
case 704u: goto L_08ACE210;
|
|
case 705u: goto L_08ACE21C;
|
|
case 706u: goto L_08ACE22C;
|
|
case 707u: goto L_08ACE238;
|
|
case 708u: goto L_08ACE244;
|
|
case 709u: goto L_08ACE254;
|
|
case 710u: goto L_08ACE260;
|
|
case 711u: goto L_08ACE26C;
|
|
case 712u: goto L_08ACE288;
|
|
case 713u: goto L_08ACE294;
|
|
case 714u: goto L_08ACE2A0;
|
|
case 715u: goto L_08ACE2BC;
|
|
case 716u: goto L_08ACE2C8;
|
|
case 717u: goto L_08ACE334;
|
|
case 718u: goto L_08ACE340;
|
|
case 719u: goto L_08ACE348;
|
|
case 720u: goto L_08ACE350;
|
|
case 721u: goto L_08ACE358;
|
|
case 722u: goto L_08ACE360;
|
|
case 723u: goto L_08ACE368;
|
|
case 724u: goto L_08ACE38C;
|
|
case 725u: goto L_08ACE394;
|
|
case 726u: goto L_08ACE39C;
|
|
case 727u: goto L_08ACE3A4;
|
|
case 728u: goto L_08ACE3C0;
|
|
case 729u: goto L_08ACE3C8;
|
|
case 730u: goto L_08ACE3D4;
|
|
case 731u: goto L_08ACE3DC;
|
|
case 732u: goto L_08ACE3E4;
|
|
case 733u: goto L_08ACE3F0;
|
|
case 734u: goto L_08ACE3F8;
|
|
case 735u: goto L_08ACE3FC;
|
|
case 736u: goto L_08ACE418;
|
|
case 737u: goto L_08ACE454;
|
|
case 738u: goto L_08ACE464;
|
|
case 739u: goto L_08ACE470;
|
|
case 740u: goto L_08ACE478;
|
|
case 741u: goto L_08ACE480;
|
|
case 742u: goto L_08ACE488;
|
|
case 743u: goto L_08ACE498;
|
|
case 744u: goto L_08ACE4A0;
|
|
case 745u: goto L_08ACE4A8;
|
|
case 746u: goto L_08ACE4B0;
|
|
case 747u: goto L_08ACE4C8;
|
|
case 748u: goto L_08ACE4D4;
|
|
case 749u: goto L_08ACE4DC;
|
|
case 750u: goto L_08ACE4F0;
|
|
case 751u: goto L_08ACE500;
|
|
case 752u: goto L_08ACE508;
|
|
case 753u: goto L_08ACE510;
|
|
case 754u: goto L_08ACE518;
|
|
case 755u: goto L_08ACE520;
|
|
case 756u: goto L_08ACE52C;
|
|
case 757u: goto L_08ACE534;
|
|
case 758u: goto L_08ACE548;
|
|
case 759u: goto L_08ACE550;
|
|
case 760u: goto L_08ACE558;
|
|
case 761u: goto L_08ACE560;
|
|
case 762u: goto L_08ACE56C;
|
|
case 763u: goto L_08ACE588;
|
|
case 764u: goto L_08ACE590;
|
|
case 765u: goto L_08ACE598;
|
|
case 766u: goto L_08ACE5A4;
|
|
case 767u: goto L_08ACE5AC;
|
|
case 768u: goto L_08ACE5B0;
|
|
case 769u: goto L_08ACE5B8;
|
|
case 770u: goto L_08ACE5D0;
|
|
case 771u: goto L_08ACE5D8;
|
|
case 772u: goto L_08ACE5EC;
|
|
case 773u: goto L_08ACE60C;
|
|
case 774u: goto L_08ACE614;
|
|
case 775u: goto L_08ACE61C;
|
|
case 776u: goto L_08ACE634;
|
|
case 777u: goto L_08ACE658;
|
|
case 778u: goto L_08ACE66C;
|
|
case 779u: goto L_08ACE68C;
|
|
case 780u: goto L_08ACE694;
|
|
case 781u: goto L_08ACE6BC;
|
|
case 782u: goto L_08ACE6D8;
|
|
case 783u: goto L_08ACE6E0;
|
|
case 784u: goto L_08ACE6E8;
|
|
case 785u: goto L_08ACE6F4;
|
|
case 786u: goto L_08ACE714;
|
|
case 787u: goto L_08ACE720;
|
|
case 788u: goto L_08ACE728;
|
|
case 789u: goto L_08ACE77C;
|
|
case 790u: goto L_08ACE784;
|
|
case 791u: goto L_08ACE79C;
|
|
case 792u: goto L_08ACE7A4;
|
|
case 793u: goto L_08ACE7C0;
|
|
case 794u: goto L_08ACE7CC;
|
|
case 795u: goto L_08ACE7EC;
|
|
case 796u: goto L_08ACE7F4;
|
|
case 797u: goto L_08ACE7F8;
|
|
case 798u: goto L_08ACE808;
|
|
case 799u: goto L_08ACE810;
|
|
case 800u: goto L_08ACE820;
|
|
case 801u: goto L_08ACE830;
|
|
case 802u: goto L_08ACE848;
|
|
case 803u: goto L_08ACE864;
|
|
case 804u: goto L_08ACE868;
|
|
case 805u: goto L_08ACE878;
|
|
case 806u: goto L_08ACE894;
|
|
case 807u: goto L_08ACE898;
|
|
case 808u: goto L_08ACE8A8;
|
|
case 809u: goto L_08ACE8B0;
|
|
case 810u: goto L_08ACE8C0;
|
|
case 811u: goto L_08ACE8C8;
|
|
case 812u: goto L_08ACE8D8;
|
|
case 813u: goto L_08ACE8E8;
|
|
case 814u: goto L_08ACE8F8;
|
|
case 815u: goto L_08ACE914;
|
|
case 816u: goto L_08ACE918;
|
|
case 817u: goto L_08ACE928;
|
|
case 818u: goto L_08ACE944;
|
|
case 819u: goto L_08ACE948;
|
|
case 820u: goto L_08ACE958;
|
|
case 821u: goto L_08ACE960;
|
|
case 822u: goto L_08ACE970;
|
|
case 823u: goto L_08ACE978;
|
|
case 824u: goto L_08ACE988;
|
|
case 825u: goto L_08ACE998;
|
|
case 826u: goto L_08ACE9A8;
|
|
case 827u: goto L_08ACE9C4;
|
|
case 828u: goto L_08ACE9C8;
|
|
case 829u: goto L_08ACE9D8;
|
|
case 830u: goto L_08ACE9F4;
|
|
case 831u: goto L_08ACE9F8;
|
|
case 832u: goto L_08ACEA08;
|
|
case 833u: goto L_08ACEA10;
|
|
case 834u: goto L_08ACEA14;
|
|
case 835u: goto L_08ACEA1C;
|
|
case 836u: goto L_08ACEA4C;
|
|
case 837u: goto L_08ACEA68;
|
|
case 838u: goto L_08ACEA84;
|
|
case 839u: goto L_08ACEA8C;
|
|
case 840u: goto L_08ACEA94;
|
|
case 841u: goto L_08ACEA98;
|
|
case 842u: goto L_08ACEAA4;
|
|
case 843u: goto L_08ACEAB4;
|
|
case 844u: goto L_08ACEAC0;
|
|
case 845u: goto L_08ACEAD4;
|
|
case 846u: goto L_08ACEAD8;
|
|
case 847u: goto L_08ACEB50;
|
|
case 848u: goto L_08ACEB6C;
|
|
case 849u: goto L_08ACEB88;
|
|
case 850u: goto L_08ACEBA4;
|
|
case 851u: goto L_08ACEBAC;
|
|
case 852u: goto L_08ACEBF8;
|
|
case 853u: goto L_08ACEC00;
|
|
case 854u: goto L_08ACEC18;
|
|
case 855u: goto L_08ACEC38;
|
|
case 856u: goto L_08ACEC4C;
|
|
case 857u: goto L_08ACEC5C;
|
|
case 858u: goto L_08ACEC68;
|
|
case 859u: goto L_08ACEC70;
|
|
case 860u: goto L_08ACEC78;
|
|
case 861u: goto L_08ACEC88;
|
|
case 862u: goto L_08ACEC90;
|
|
case 863u: goto L_08ACEC98;
|
|
case 864u: goto L_08ACECA0;
|
|
case 865u: goto L_08ACECAC;
|
|
case 866u: goto L_08ACECB4;
|
|
case 867u: goto L_08ACECB8;
|
|
case 868u: goto L_08ACECC4;
|
|
case 869u: goto L_08ACECCC;
|
|
case 870u: goto L_08ACECD8;
|
|
case 871u: goto L_08ACECE0;
|
|
case 872u: goto L_08ACECE4;
|
|
case 873u: goto L_08ACECF4;
|
|
case 874u: goto L_08ACED08;
|
|
case 875u: goto L_08ACED58;
|
|
case 876u: goto L_08ACED80;
|
|
case 877u: goto L_08ACED90;
|
|
case 878u: goto L_08ACEDA8;
|
|
case 879u: goto L_08ACEDB0;
|
|
case 880u: goto L_08ACEDC8;
|
|
case 881u: goto L_08ACEDF4;
|
|
case 882u: goto L_08ACEE00;
|
|
case 883u: goto L_08ACEE64;
|
|
case 884u: goto L_08ACEE6C;
|
|
case 885u: goto L_08ACEE7C;
|
|
case 886u: goto L_08ACEEE0;
|
|
case 887u: goto L_08ACEEF4;
|
|
case 888u: goto L_08ACEF04;
|
|
case 889u: goto L_08ACEF10;
|
|
case 890u: goto L_08ACEF18;
|
|
case 891u: goto L_08ACEF24;
|
|
case 892u: goto L_08ACEF2C;
|
|
case 893u: goto L_08ACEF30;
|
|
case 894u: goto L_08ACEF48;
|
|
case 895u: goto L_08ACEF50;
|
|
case 896u: goto L_08ACEF5C;
|
|
case 897u: goto L_08ACEF64;
|
|
case 898u: goto L_08ACEF68;
|
|
case 899u: goto L_08ACEF80;
|
|
case 900u: goto L_08ACEF84;
|
|
case 901u: goto L_08ACEF8C;
|
|
case 902u: goto L_08ACEF98;
|
|
case 903u: goto L_08ACEFB0;
|
|
case 904u: goto L_08ACEFE4;
|
|
case 905u: goto L_08ACF000;
|
|
case 906u: goto L_08ACF00C;
|
|
case 907u: goto L_08ACF02C;
|
|
case 908u: goto L_08ACF040;
|
|
case 909u: goto L_08ACF048;
|
|
case 910u: goto L_08ACF05C;
|
|
case 911u: goto L_08ACF078;
|
|
case 912u: goto L_08ACF080;
|
|
case 913u: goto L_08ACF088;
|
|
case 914u: goto L_08ACF098;
|
|
case 915u: goto L_08ACF0A8;
|
|
case 916u: goto L_08ACF0CC;
|
|
case 917u: goto L_08ACF0DC;
|
|
case 918u: goto L_08ACF158;
|
|
case 919u: goto L_08ACF16C;
|
|
case 920u: goto L_08ACF174;
|
|
case 921u: goto L_08ACF1A0;
|
|
case 922u: goto L_08ACF1B0;
|
|
case 923u: goto L_08ACF1D8;
|
|
case 924u: goto L_08ACF1E0;
|
|
case 925u: goto L_08ACF1F0;
|
|
case 926u: goto L_08ACF26C;
|
|
case 927u: goto L_08ACF280;
|
|
case 928u: goto L_08ACF288;
|
|
case 929u: goto L_08ACF298;
|
|
case 930u: goto L_08ACF314;
|
|
case 931u: goto L_08ACF324;
|
|
case 932u: goto L_08ACF330;
|
|
case 933u: goto L_08ACF350;
|
|
case 934u: goto L_08ACF364;
|
|
case 935u: goto L_08ACF368;
|
|
case 936u: goto L_08ACF384;
|
|
case 937u: goto L_08ACF398;
|
|
case 938u: goto L_08ACF3B4;
|
|
case 939u: goto L_08ACF3C4;
|
|
case 940u: goto L_08ACF3D4;
|
|
case 941u: goto L_08ACF3DC;
|
|
case 942u: goto L_08ACF3E4;
|
|
case 943u: goto L_08ACF3FC;
|
|
case 944u: goto L_08ACF424;
|
|
case 945u: goto L_08ACF434;
|
|
case 946u: goto L_08ACF444;
|
|
case 947u: goto L_08ACF44C;
|
|
case 948u: goto L_08ACF454;
|
|
case 949u: goto L_08ACF4A4;
|
|
case 950u: goto L_08ACF4B8;
|
|
case 951u: goto L_08ACF4C8;
|
|
case 952u: goto L_08ACF4D4;
|
|
case 953u: goto L_08ACF4D8;
|
|
case 954u: goto L_08ACF4E8;
|
|
case 955u: goto L_08ACF4FC;
|
|
case 956u: goto L_08ACF50C;
|
|
case 957u: goto L_08ACF510;
|
|
case 958u: goto L_08ACF52C;
|
|
case 959u: goto L_08ACF538;
|
|
case 960u: goto L_08ACF540;
|
|
case 961u: goto L_08ACF550;
|
|
case 962u: goto L_08ACF560;
|
|
case 963u: goto L_08ACF564;
|
|
case 964u: goto L_08ACF574;
|
|
case 965u: goto L_08ACF584;
|
|
case 966u: goto L_08ACF588;
|
|
case 967u: goto L_08ACF590;
|
|
case 968u: goto L_08ACF598;
|
|
case 969u: goto L_08ACF5B8;
|
|
case 970u: goto L_08ACF5C8;
|
|
case 971u: goto L_08ACF5D0;
|
|
case 972u: goto L_08ACF5D8;
|
|
case 973u: goto L_08ACF5E0;
|
|
case 974u: goto L_08ACF5EC;
|
|
case 975u: goto L_08ACF5F8;
|
|
case 976u: goto L_08ACF600;
|
|
case 977u: goto L_08ACF604;
|
|
case 978u: goto L_08ACF634;
|
|
case 979u: goto L_08ACF63C;
|
|
case 980u: goto L_08ACF648;
|
|
case 981u: goto L_08ACF654;
|
|
case 982u: goto L_08ACF674;
|
|
case 983u: goto L_08ACF67C;
|
|
case 984u: goto L_08ACF688;
|
|
case 985u: goto L_08ACF694;
|
|
case 986u: goto L_08ACF6B4;
|
|
case 987u: goto L_08ACF6C0;
|
|
case 988u: goto L_08ACF6C8;
|
|
case 989u: goto L_08ACF6D4;
|
|
case 990u: goto L_08ACF6E0;
|
|
case 991u: goto L_08ACF6EC;
|
|
case 992u: goto L_08ACF6F8;
|
|
case 993u: goto L_08ACF700;
|
|
case 994u: goto L_08ACF704;
|
|
case 995u: goto L_08ACF734;
|
|
case 996u: goto L_08ACF73C;
|
|
case 997u: goto L_08ACF748;
|
|
case 998u: goto L_08ACF754;
|
|
case 999u: goto L_08ACF75C;
|
|
case 1000u: goto L_08ACF760;
|
|
case 1001u: goto L_08ACF790;
|
|
case 1002u: goto L_08ACF7B4;
|
|
case 1003u: goto L_08ACF7BC;
|
|
case 1004u: goto L_08ACF7DC;
|
|
case 1005u: goto L_08ACF7EC;
|
|
case 1006u: goto L_08ACF81C;
|
|
case 1007u: goto L_08ACF82C;
|
|
case 1008u: goto L_08ACF83C;
|
|
case 1009u: goto L_08ACF85C;
|
|
case 1010u: goto L_08ACF884;
|
|
case 1011u: goto L_08ACF88C;
|
|
case 1012u: goto L_08ACF8A8;
|
|
case 1013u: goto L_08ACF8B0;
|
|
case 1014u: goto L_08ACF8B8;
|
|
case 1015u: goto L_08ACF8C4;
|
|
case 1016u: goto L_08ACF8D0;
|
|
case 1017u: goto L_08ACF8D8;
|
|
case 1018u: goto L_08ACF8DC;
|
|
case 1019u: goto L_08ACF8F4;
|
|
case 1020u: goto L_08ACF904;
|
|
case 1021u: goto L_08ACF91C;
|
|
case 1022u: goto L_08ACF934;
|
|
case 1023u: goto L_08ACF93C;
|
|
case 1024u: goto L_08ACF944;
|
|
case 1025u: goto L_08ACF94C;
|
|
case 1026u: goto L_08ACF954;
|
|
case 1027u: goto L_08ACF95C;
|
|
case 1028u: goto L_08ACF964;
|
|
case 1029u: goto L_08ACF96C;
|
|
case 1030u: goto L_08ACF974;
|
|
case 1031u: goto L_08ACF97C;
|
|
case 1032u: goto L_08ACF984;
|
|
case 1033u: goto L_08ACF98C;
|
|
case 1034u: goto L_08ACF994;
|
|
case 1035u: goto L_08ACF99C;
|
|
case 1036u: goto L_08ACF9A4;
|
|
case 1037u: goto L_08ACF9AC;
|
|
case 1038u: goto L_08ACF9B0;
|
|
case 1039u: goto L_08ACF9BC;
|
|
case 1040u: goto L_08ACF9D8;
|
|
case 1041u: goto L_08ACF9E8;
|
|
case 1042u: goto L_08ACF9F4;
|
|
case 1043u: goto L_08ACF9FC;
|
|
case 1044u: goto L_08ACFA04;
|
|
case 1045u: goto L_08ACFA0C;
|
|
case 1046u: goto L_08ACFA14;
|
|
case 1047u: goto L_08ACFA24;
|
|
case 1048u: goto L_08ACFA30;
|
|
case 1049u: goto L_08ACFA38;
|
|
case 1050u: goto L_08ACFA3C;
|
|
case 1051u: goto L_08ACFA44;
|
|
case 1052u: goto L_08ACFA4C;
|
|
case 1053u: goto L_08ACFA60;
|
|
case 1054u: goto L_08ACFA68;
|
|
case 1055u: goto L_08ACFA70;
|
|
case 1056u: goto L_08ACFA9C;
|
|
case 1057u: goto L_08ACFAA8;
|
|
case 1058u: goto L_08ACFAB4;
|
|
case 1059u: goto L_08ACFAC0;
|
|
case 1060u: goto L_08ACFACC;
|
|
case 1061u: goto L_08ACFAD8;
|
|
case 1062u: goto L_08ACFAE4;
|
|
case 1063u: goto L_08ACFAF0;
|
|
case 1064u: goto L_08ACFAFC;
|
|
case 1065u: goto L_08ACFB08;
|
|
case 1066u: goto L_08ACFB14;
|
|
case 1067u: goto L_08ACFB20;
|
|
case 1068u: goto L_08ACFB28;
|
|
case 1069u: goto L_08ACFB48;
|
|
case 1070u: goto L_08ACFB50;
|
|
case 1071u: goto L_08ACFB58;
|
|
case 1072u: goto L_08ACFB8C;
|
|
case 1073u: goto L_08ACFB9C;
|
|
case 1074u: goto L_08ACFBC8;
|
|
case 1075u: goto L_08ACFBD4;
|
|
case 1076u: goto L_08ACFBE0;
|
|
case 1077u: goto L_08ACFBEC;
|
|
case 1078u: goto L_08ACFBF8;
|
|
case 1079u: goto L_08ACFC04;
|
|
case 1080u: goto L_08ACFC10;
|
|
case 1081u: goto L_08ACFC1C;
|
|
case 1082u: goto L_08ACFC28;
|
|
case 1083u: goto L_08ACFC34;
|
|
case 1084u: goto L_08ACFC40;
|
|
case 1085u: goto L_08ACFC4C;
|
|
case 1086u: goto L_08ACFC54;
|
|
case 1087u: goto L_08ACFC74;
|
|
case 1088u: goto L_08ACFC7C;
|
|
case 1089u: goto L_08ACFC84;
|
|
case 1090u: goto L_08ACFCB0;
|
|
case 1091u: goto L_08ACFCB8;
|
|
case 1092u: goto L_08ACFCE4;
|
|
case 1093u: goto L_08ACFCF4;
|
|
case 1094u: goto L_08ACFD0C;
|
|
case 1095u: goto L_08ACFD18;
|
|
case 1096u: goto L_08ACFD34;
|
|
case 1097u: goto L_08ACFD3C;
|
|
case 1098u: goto L_08ACFD44;
|
|
case 1099u: goto L_08ACFD54;
|
|
case 1100u: goto L_08ACFD64;
|
|
case 1101u: goto L_08ACFD74;
|
|
case 1102u: goto L_08ACFD80;
|
|
case 1103u: goto L_08ACFD88;
|
|
case 1104u: goto L_08ACFD8C;
|
|
case 1105u: goto L_08ACFD90;
|
|
case 1106u: goto L_08ACFDA8;
|
|
case 1107u: goto L_08ACFDB0;
|
|
case 1108u: goto L_08ACFDC0;
|
|
case 1109u: goto L_08ACFDD0;
|
|
case 1110u: goto L_08ACFDDC;
|
|
case 1111u: goto L_08ACFDE4;
|
|
case 1112u: goto L_08ACFDE8;
|
|
case 1113u: goto L_08ACFDEC;
|
|
case 1114u: goto L_08ACFE04;
|
|
case 1115u: goto L_08ACFE10;
|
|
case 1116u: goto L_08ACFE18;
|
|
case 1117u: goto L_08ACFE30;
|
|
case 1118u: goto L_08ACFE50;
|
|
case 1119u: goto L_08ACFE60;
|
|
case 1120u: goto L_08ACFE68;
|
|
case 1121u: goto L_08ACFE70;
|
|
case 1122u: goto L_08ACFE80;
|
|
case 1123u: goto L_08ACFE8C;
|
|
case 1124u: goto L_08ACFE94;
|
|
case 1125u: goto L_08ACFE98;
|
|
case 1126u: goto L_08ACFE9C;
|
|
case 1127u: goto L_08ACFEB4;
|
|
case 1128u: goto L_08ACFEBC;
|
|
case 1129u: goto L_08ACFECC;
|
|
case 1130u: goto L_08ACFEDC;
|
|
case 1131u: goto L_08ACFEE8;
|
|
case 1132u: goto L_08ACFEF0;
|
|
case 1133u: goto L_08ACFEF4;
|
|
case 1134u: goto L_08ACFEF8;
|
|
case 1135u: goto L_08ACFF10;
|
|
case 1136u: goto L_08ACFF24;
|
|
case 1137u: goto L_08ACFF34;
|
|
case 1138u: goto L_08ACFF3C;
|
|
case 1139u: goto L_08ACFF50;
|
|
case 1140u: goto L_08ACFF68;
|
|
case 1141u: goto L_08ACFF7C;
|
|
case 1142u: goto L_08ACFF8C;
|
|
case 1143u: goto L_08ACFF94;
|
|
case 1144u: goto L_08ACFFA4;
|
|
case 1145u: goto L_08ACFFB4;
|
|
case 1146u: goto L_08ACFFBC;
|
|
case 1147u: goto L_08ACFFD0;
|
|
case 1148u: goto L_08ACFFF4;
|
|
default:
|
|
if (local_transfers == 0u) rt.unsupported(ctx.pc, 0u, "invalid internal function entry");
|
|
else ctx.pc = local_pc;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
}
|
|
}
|
|
// PSPRECOMP_V813_SHARED_JR_DISPATCH: one dynamic-JR reject/redispatch path per unit.
|
|
LOCAL_JR_DISPATCH:
|
|
{
|
|
const std::uint32_t local_delta_v813 = jump_target - 0x08ACC000u;
|
|
if (local_delta_v813 >= 16376u || (local_delta_v813 & 3u) != 0u) {
|
|
ctx.pc = jump_target;
|
|
AOT_REGCACHE_SYNC_OUT();
|
|
// PSPRECOMP_V814_CONTINUATION_RETURN
|
|
Runtime::AotTailContinuation aot_cont_v814{};
|
|
if (rt.take_aot_tail_continuation(jump_target, aot_cont_v814)) {
|
|
#if defined(__clang__) && defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
|
|
[[clang::musttail]] return aot_cont_v814.function(
|
|
rt, ctx, aot_cont_v814.entry_id, aot_mem);
|
|
#else
|
|
aot_cont_v814.function(rt, ctx, aot_cont_v814.entry_id, aot_mem); return;
|
|
#endif
|
|
}
|
|
return;
|
|
}
|
|
}
|
|
local_pc = jump_target;
|
|
entry_id = 0u;
|
|
goto LOCAL_DISPATCH;
|
|
|
|
// PSPRECOMP_V812_SHARED_SCHED_BLOCK: one scheduler-exact slow boundary per unit.
|
|
LOCAL_SCHED_BOUNDARY:
|
|
ctx.pc = jump_target;
|
|
AOT_REGCACHE_SYNC_OUT();
|
|
if (local_redispatch_rounds < 7u && rt.continue_generated_local_dispatch(ctx)) {
|
|
++local_redispatch_rounds;
|
|
AOT_REGCACHE_SYNC_IN();
|
|
local_transfers = 0u;
|
|
local_pc = ctx.pc;
|
|
entry_id = 0u;
|
|
goto LOCAL_DISPATCH;
|
|
}
|
|
return;
|
|
L_08ACC000:
|
|
aot_gpr_4 = (ctx.gpr[19] | 0u);
|
|
aot_gpr_5 = (ctx.gpr[16] | 0u);
|
|
aot_gpr_31 = (0x08ACC010u);
|
|
ctx.gpr[6] = (ctx.gpr[18] | 0u);
|
|
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0178->0176.
|
|
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
|
|
AOT_REGCACHE_SYNC_OUT();
|
|
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0178_entry, 2u, 0x08ACC010u, 0x08AC7474u)) {
|
|
#if defined(__clang__)
|
|
[[clang::musttail]] return recomp_unit_0176_entry(rt, ctx, 900u, aot_mem);
|
|
#else
|
|
recomp_unit_0176_entry(rt, ctx, 900u, aot_mem); return;
|
|
#endif
|
|
}
|
|
return;
|
|
#else
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 900u, 0x08AC7474u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACC010u) goto L_08ACC010;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
#endif
|
|
L_08ACC010:
|
|
aot_gpr_4 = (aot_gpr_29 + static_cast<std::uint32_t>(960));
|
|
aot_gpr_31 = (0x08ACC01Cu);
|
|
aot_gpr_5 = (ctx.gpr[19] | 0u);
|
|
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0178->0176.
|
|
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
|
|
AOT_REGCACHE_SYNC_OUT();
|
|
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0178_entry, 3u, 0x08ACC01Cu, 0x08AC75B0u)) {
|
|
#if defined(__clang__)
|
|
[[clang::musttail]] return recomp_unit_0176_entry(rt, ctx, 914u, aot_mem);
|
|
#else
|
|
recomp_unit_0176_entry(rt, ctx, 914u, aot_mem); return;
|
|
#endif
|
|
}
|
|
return;
|
|
#else
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 914u, 0x08AC75B0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACC01Cu) goto L_08ACC01C;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
#endif
|
|
L_08ACC01C:
|
|
aot_gpr_4 = (aot_gpr_17 | 0u);
|
|
aot_gpr_5 = (0u | 25u);
|
|
aot_gpr_31 = (0x08ACC02Cu);
|
|
ctx.gpr[6] = (aot_gpr_2 | 0u);
|
|
goto L_08ACDF58;
|
|
L_08ACC02C:
|
|
{ const bool branch_taken = 0u == 0u;
|
|
if (branch_taken) {
|
|
goto L_08ACC05C;
|
|
}
|
|
goto L_08ACC034;
|
|
}
|
|
L_08ACC034:
|
|
aot_gpr_31 = (0x08ACC03Cu);
|
|
aot_gpr_4 = (aot_gpr_17 | 0u);
|
|
if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AC8054, 177u, 7u, 0x08AC8054u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0177_entry, 177u, 7u, 0x08AC8054u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACC03Cu) goto L_08ACC03C;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
L_08ACC03C:
|
|
{ const bool branch_taken = aot_gpr_2 == 0u;
|
|
if (branch_taken) {
|
|
goto L_08ACC05C;
|
|
}
|
|
goto L_08ACC044;
|
|
}
|
|
L_08ACC044:
|
|
aot_gpr_31 = (0x08ACC04Cu);
|
|
aot_gpr_4 = (aot_gpr_17 | 0u);
|
|
if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AC8054, 177u, 7u, 0x08AC8054u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0177_entry, 177u, 7u, 0x08AC8054u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACC04Cu) goto L_08ACC04C;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
L_08ACC04C:
|
|
aot_gpr_4 = (aot_gpr_17 | 0u);
|
|
aot_gpr_5 = (0u | 11u);
|
|
aot_gpr_31 = (0x08ACC05Cu);
|
|
ctx.gpr[6] = (aot_gpr_2 | 0u);
|
|
goto L_08ACD698;
|
|
L_08ACC05C:
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast<std::uint32_t>(92)));
|
|
aot_gpr_5 = (0u | 0u);
|
|
aot_gpr_4 = (aot_gpr_4 + static_cast<std::uint32_t>(248));
|
|
ctx.gpr[6] = (static_cast<std::uint32_t>(static_cast<std::int32_t>(static_cast<std::int16_t>(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast<std::uint32_t>(0))))));
|
|
ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast<std::uint32_t>(4)));
|
|
jump_target = ctx.gpr[7];
|
|
aot_gpr_31 = (0x08ACC078u);
|
|
aot_gpr_4 = (aot_gpr_17 + ctx.gpr[6]);
|
|
ctx.pc = jump_target;
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACC078u) goto L_08ACC078;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
L_08ACC078:
|
|
{ const bool branch_taken = 0u == 0u;
|
|
if (branch_taken) {
|
|
goto L_08ACD280;
|
|
}
|
|
goto L_08ACC080;
|
|
}
|
|
L_08ACC080:
|
|
aot_gpr_31 = (0x08ACC088u);
|
|
aot_gpr_4 = (aot_gpr_17 | 0u);
|
|
if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AC8054, 177u, 7u, 0x08AC8054u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0177_entry, 177u, 7u, 0x08AC8054u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACC088u) goto L_08ACC088;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
L_08ACC088:
|
|
{ const bool branch_taken = aot_gpr_2 == 0u;
|
|
if (branch_taken) {
|
|
goto L_08ACC480;
|
|
}
|
|
goto L_08ACC090;
|
|
}
|
|
L_08ACC090:
|
|
aot_gpr_5 = (16384u << 16u);
|
|
aot_gpr_4 = (aot_gpr_17 | 0u);
|
|
aot_gpr_31 = (0x08ACC0A0u);
|
|
aot_fpr_20 = std::bit_cast<float>(aot_gpr_5);
|
|
if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AC8054, 177u, 7u, 0x08AC8054u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0177_entry, 177u, 7u, 0x08AC8054u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACC0A0u) goto L_08ACC0A0;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
L_08ACC0A0:
|
|
aot_gpr_31 = (0x08ACC0A8u);
|
|
aot_gpr_4 = (aot_gpr_2 | 0u);
|
|
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0178->0067.
|
|
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
|
|
AOT_REGCACHE_SYNC_OUT();
|
|
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0178_entry, 15u, 0x08ACC0A8u, 0x08910B38u)) {
|
|
#if defined(__clang__)
|
|
[[clang::musttail]] return recomp_unit_0067_entry(rt, ctx, 195u, aot_mem);
|
|
#else
|
|
recomp_unit_0067_entry(rt, ctx, 195u, aot_mem); return;
|
|
#endif
|
|
}
|
|
return;
|
|
#else
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0067_entry, 67u, 195u, 0x08910B38u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACC0A8u) goto L_08ACC0A8;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
#endif
|
|
L_08ACC0A8:
|
|
{ const bool branch_taken = aot_gpr_2 == 0u;
|
|
if (branch_taken) {
|
|
goto L_08ACC0B8;
|
|
}
|
|
goto L_08ACC0B0;
|
|
}
|
|
L_08ACC0B0:
|
|
aot_gpr_4 = (16448u << 16u);
|
|
aot_fpr_20 = std::bit_cast<float>(aot_gpr_4);
|
|
goto L_08ACC0B8;
|
|
L_08ACC0B8:
|
|
aot_gpr_31 = (0x08ACC0C0u);
|
|
aot_gpr_4 = (aot_gpr_17 | 0u);
|
|
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0178->0176.
|
|
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
|
|
AOT_REGCACHE_SYNC_OUT();
|
|
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0178_entry, 18u, 0x08ACC0C0u, 0x08AC7A48u)) {
|
|
#if defined(__clang__)
|
|
[[clang::musttail]] return recomp_unit_0176_entry(rt, ctx, 981u, aot_mem);
|
|
#else
|
|
recomp_unit_0176_entry(rt, ctx, 981u, aot_mem); return;
|
|
#endif
|
|
}
|
|
return;
|
|
#else
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 981u, 0x08AC7A48u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACC0C0u) goto L_08ACC0C0;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
#endif
|
|
L_08ACC0C0:
|
|
aot_gpr_4 = (0u | 14u);
|
|
{ const bool branch_taken = aot_gpr_2 != aot_gpr_4;
|
|
if (branch_taken) {
|
|
goto L_08ACC0D4;
|
|
}
|
|
goto L_08ACC0CC;
|
|
}
|
|
L_08ACC0CC:
|
|
aot_gpr_4 = (16256u << 16u);
|
|
aot_fpr_20 = std::bit_cast<float>(aot_gpr_4);
|
|
goto L_08ACC0D4;
|
|
L_08ACC0D4:
|
|
aot_gpr_31 = (0x08ACC0DCu);
|
|
aot_gpr_4 = (aot_gpr_29 + static_cast<std::uint32_t>(32));
|
|
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0178->0176.
|
|
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
|
|
AOT_REGCACHE_SYNC_OUT();
|
|
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0178_entry, 21u, 0x08ACC0DCu, 0x08AC75C0u)) {
|
|
#if defined(__clang__)
|
|
[[clang::musttail]] return recomp_unit_0176_entry(rt, ctx, 915u, aot_mem);
|
|
#else
|
|
recomp_unit_0176_entry(rt, ctx, 915u, aot_mem); return;
|
|
#endif
|
|
}
|
|
return;
|
|
#else
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 915u, 0x08AC75C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACC0DCu) goto L_08ACC0DC;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
#endif
|
|
L_08ACC0DC:
|
|
aot_gpr_31 = (0x08ACC0E4u);
|
|
ctx.fpr[22] = std::bit_cast<float>(std::bit_cast<std::uint32_t>(aot_fpr_0));
|
|
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0178->0176.
|
|
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
|
|
AOT_REGCACHE_SYNC_OUT();
|
|
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0178_entry, 22u, 0x08ACC0E4u, 0x08AC76DCu)) {
|
|
#if defined(__clang__)
|
|
[[clang::musttail]] return recomp_unit_0176_entry(rt, ctx, 929u, aot_mem);
|
|
#else
|
|
recomp_unit_0176_entry(rt, ctx, 929u, aot_mem); return;
|
|
#endif
|
|
}
|
|
return;
|
|
#else
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 929u, 0x08AC76DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACC0E4u) goto L_08ACC0E4;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
#endif
|
|
L_08ACC0E4:
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast<std::uint32_t>(2072)));
|
|
aot_gpr_4 = (aot_gpr_4 < aot_gpr_2 ? 1u : 0u);
|
|
{ const bool branch_taken = aot_gpr_4 == 0u;
|
|
if (branch_taken) {
|
|
goto L_08ACC478;
|
|
}
|
|
goto L_08ACC0F4;
|
|
}
|
|
L_08ACC0F4:
|
|
ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_20 < ctx.fpr[22])) ? 0x00800000u : 0u);
|
|
{ const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u);
|
|
if (branch_taken) {
|
|
goto L_08ACC280;
|
|
}
|
|
goto L_08ACC104;
|
|
}
|
|
L_08ACC104:
|
|
aot_gpr_31 = (0x08ACC10Cu);
|
|
aot_gpr_4 = (aot_gpr_17 | 0u);
|
|
if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AC8054, 177u, 7u, 0x08AC8054u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0177_entry, 177u, 7u, 0x08AC8054u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACC10Cu) goto L_08ACC10C;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
L_08ACC10C:
|
|
aot_gpr_4 = (aot_gpr_17 | 0u);
|
|
aot_fpr_12 = std::bit_cast<float>(std::bit_cast<std::uint32_t>(aot_fpr_20));
|
|
aot_gpr_31 = (0x08ACC11Cu);
|
|
aot_gpr_5 = (aot_gpr_2 | 0u);
|
|
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0178->0065.
|
|
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
|
|
AOT_REGCACHE_SYNC_OUT();
|
|
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0178_entry, 26u, 0x08ACC11Cu, 0x0890AED8u)) {
|
|
#if defined(__clang__)
|
|
[[clang::musttail]] return recomp_unit_0065_entry(rt, ctx, 751u, aot_mem);
|
|
#else
|
|
recomp_unit_0065_entry(rt, ctx, 751u, aot_mem); return;
|
|
#endif
|
|
}
|
|
return;
|
|
#else
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 751u, 0x0890AED8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACC11Cu) goto L_08ACC11C;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
#endif
|
|
L_08ACC11C:
|
|
aot_gpr_4 = (16544u << 16u);
|
|
aot_fpr_12 = std::bit_cast<float>(aot_gpr_4);
|
|
ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((ctx.fpr[22] < aot_fpr_12)) ? 0x00800000u : 0u);
|
|
{ const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u);
|
|
if (branch_taken) {
|
|
goto L_08ACC238;
|
|
}
|
|
goto L_08ACC134;
|
|
}
|
|
L_08ACC134:
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast<std::uint32_t>(676)));
|
|
{ const bool branch_taken = aot_gpr_4 == 0u;
|
|
if (branch_taken) {
|
|
goto L_08ACC1F8;
|
|
}
|
|
goto L_08ACC140;
|
|
}
|
|
L_08ACC140:
|
|
aot_gpr_31 = (0x08ACC148u);
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast<std::uint32_t>(676)));
|
|
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0178->0176.
|
|
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
|
|
AOT_REGCACHE_SYNC_OUT();
|
|
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0178_entry, 29u, 0x08ACC148u, 0x08AC7A04u)) {
|
|
#if defined(__clang__)
|
|
[[clang::musttail]] return recomp_unit_0176_entry(rt, ctx, 977u, aot_mem);
|
|
#else
|
|
recomp_unit_0176_entry(rt, ctx, 977u, aot_mem); return;
|
|
#endif
|
|
}
|
|
return;
|
|
#else
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 977u, 0x08AC7A04u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACC148u) goto L_08ACC148;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
#endif
|
|
L_08ACC148:
|
|
aot_gpr_4 = (0u | 1u);
|
|
{ const bool branch_taken = aot_gpr_2 == aot_gpr_4;
|
|
if (branch_taken) {
|
|
goto L_08ACC1F8;
|
|
}
|
|
goto L_08ACC154;
|
|
}
|
|
L_08ACC154:
|
|
aot_gpr_31 = (0x08ACC15Cu);
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast<std::uint32_t>(676)));
|
|
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0178->0176.
|
|
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
|
|
AOT_REGCACHE_SYNC_OUT();
|
|
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0178_entry, 31u, 0x08ACC15Cu, 0x08AC7A04u)) {
|
|
#if defined(__clang__)
|
|
[[clang::musttail]] return recomp_unit_0176_entry(rt, ctx, 977u, aot_mem);
|
|
#else
|
|
recomp_unit_0176_entry(rt, ctx, 977u, aot_mem); return;
|
|
#endif
|
|
}
|
|
return;
|
|
#else
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 977u, 0x08AC7A04u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACC15Cu) goto L_08ACC15C;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
#endif
|
|
L_08ACC15C:
|
|
{ const bool branch_taken = aot_gpr_2 == 0u;
|
|
if (branch_taken) {
|
|
goto L_08ACC1F8;
|
|
}
|
|
goto L_08ACC164;
|
|
}
|
|
L_08ACC164:
|
|
aot_gpr_31 = (0x08ACC16Cu);
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast<std::uint32_t>(676)));
|
|
if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACC16Cu) goto L_08ACC16C;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
L_08ACC16C:
|
|
{ const bool branch_taken = aot_gpr_2 == 0u;
|
|
if (branch_taken) {
|
|
goto L_08ACC1DC;
|
|
}
|
|
goto L_08ACC174;
|
|
}
|
|
L_08ACC174:
|
|
aot_gpr_4 = (16448u << 16u);
|
|
aot_fpr_12 = std::bit_cast<float>(aot_gpr_4);
|
|
ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((ctx.fpr[22] < aot_fpr_12)) ? 0x00800000u : 0u);
|
|
{ const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u);
|
|
if (branch_taken) {
|
|
goto L_08ACC1B4;
|
|
}
|
|
goto L_08ACC18C;
|
|
}
|
|
L_08ACC18C:
|
|
aot_gpr_31 = (0x08ACC194u);
|
|
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 == 0x08ACC194u) goto L_08ACC194;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
L_08ACC194:
|
|
aot_gpr_4 = (16294u << 16u);
|
|
aot_fpr_12 = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_2 + static_cast<std::uint32_t>(3156)));
|
|
aot_gpr_4 = (aot_gpr_4 | 26214u);
|
|
aot_fpr_13 = std::bit_cast<float>(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_08ACC1C8;
|
|
}
|
|
goto L_08ACC1B4;
|
|
}
|
|
L_08ACC1B4:
|
|
aot_gpr_4 = (aot_gpr_17 | 0u);
|
|
aot_gpr_31 = (0x08ACC1C0u);
|
|
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_0890BE50, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0065_entry, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACC1C0u) goto L_08ACC1C0;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
L_08ACC1C0:
|
|
{ const bool branch_taken = 0u == 0u;
|
|
if (branch_taken) {
|
|
goto L_08ACC444;
|
|
}
|
|
goto L_08ACC1C8;
|
|
}
|
|
L_08ACC1C8:
|
|
aot_gpr_4 = (aot_gpr_17 | 0u);
|
|
aot_gpr_31 = (0x08ACC1D4u);
|
|
aot_gpr_5 = (0u | 4u);
|
|
if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890BE50, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0065_entry, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACC1D4u) goto L_08ACC1D4;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
L_08ACC1D4:
|
|
{ const bool branch_taken = 0u == 0u;
|
|
if (branch_taken) {
|
|
goto L_08ACC444;
|
|
}
|
|
goto L_08ACC1DC;
|
|
}
|
|
L_08ACC1DC:
|
|
aot_gpr_31 = (0x08ACC1E4u);
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast<std::uint32_t>(676)));
|
|
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0178->0176.
|
|
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
|
|
AOT_REGCACHE_SYNC_OUT();
|
|
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0178_entry, 42u, 0x08ACC1E4u, 0x08AC7A04u)) {
|
|
#if defined(__clang__)
|
|
[[clang::musttail]] return recomp_unit_0176_entry(rt, ctx, 977u, aot_mem);
|
|
#else
|
|
recomp_unit_0176_entry(rt, ctx, 977u, aot_mem); return;
|
|
#endif
|
|
}
|
|
return;
|
|
#else
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 977u, 0x08AC7A04u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACC1E4u) goto L_08ACC1E4;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
#endif
|
|
L_08ACC1E4:
|
|
aot_gpr_4 = (aot_gpr_17 | 0u);
|
|
aot_gpr_31 = (0x08ACC1F0u);
|
|
aot_gpr_5 = (aot_gpr_2 | 0u);
|
|
if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890BE50, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0065_entry, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACC1F0u) goto L_08ACC1F0;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
L_08ACC1F0:
|
|
{ const bool branch_taken = 0u == 0u;
|
|
if (branch_taken) {
|
|
goto L_08ACC444;
|
|
}
|
|
goto L_08ACC1F8;
|
|
}
|
|
L_08ACC1F8:
|
|
aot_gpr_4 = (16448u << 16u);
|
|
aot_fpr_12 = std::bit_cast<float>(aot_gpr_4);
|
|
ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((ctx.fpr[22] <= aot_fpr_12)) ? 0x00800000u : 0u);
|
|
{ const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u);
|
|
if (branch_taken) {
|
|
goto L_08ACC224;
|
|
}
|
|
goto L_08ACC210;
|
|
}
|
|
L_08ACC210:
|
|
aot_gpr_4 = (aot_gpr_17 | 0u);
|
|
aot_gpr_31 = (0x08ACC21Cu);
|
|
aot_gpr_5 = (0u | 4u);
|
|
if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890BE50, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0065_entry, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACC21Cu) goto L_08ACC21C;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
L_08ACC21C:
|
|
{ const bool branch_taken = 0u == 0u;
|
|
if (branch_taken) {
|
|
goto L_08ACC444;
|
|
}
|
|
goto L_08ACC224;
|
|
}
|
|
L_08ACC224:
|
|
aot_gpr_4 = (aot_gpr_17 | 0u);
|
|
aot_gpr_31 = (0x08ACC230u);
|
|
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_0890BE50, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0065_entry, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACC230u) goto L_08ACC230;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
L_08ACC230:
|
|
{ const bool branch_taken = 0u == 0u;
|
|
if (branch_taken) {
|
|
goto L_08ACC444;
|
|
}
|
|
goto L_08ACC238;
|
|
}
|
|
L_08ACC238:
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast<std::uint32_t>(676)));
|
|
{ const bool branch_taken = aot_gpr_4 == 0u;
|
|
if (branch_taken) {
|
|
goto L_08ACC26C;
|
|
}
|
|
goto L_08ACC244;
|
|
}
|
|
L_08ACC244:
|
|
aot_gpr_31 = (0x08ACC24Cu);
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast<std::uint32_t>(676)));
|
|
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0178->0176.
|
|
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
|
|
AOT_REGCACHE_SYNC_OUT();
|
|
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0178_entry, 51u, 0x08ACC24Cu, 0x08AC7A04u)) {
|
|
#if defined(__clang__)
|
|
[[clang::musttail]] return recomp_unit_0176_entry(rt, ctx, 977u, aot_mem);
|
|
#else
|
|
recomp_unit_0176_entry(rt, ctx, 977u, aot_mem); return;
|
|
#endif
|
|
}
|
|
return;
|
|
#else
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 977u, 0x08AC7A04u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACC24Cu) goto L_08ACC24C;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
#endif
|
|
L_08ACC24C:
|
|
aot_gpr_4 = (0u | 5u);
|
|
{ const bool branch_taken = aot_gpr_2 != aot_gpr_4;
|
|
if (branch_taken) {
|
|
goto L_08ACC26C;
|
|
}
|
|
goto L_08ACC258;
|
|
}
|
|
L_08ACC258:
|
|
aot_gpr_4 = (aot_gpr_17 | 0u);
|
|
aot_gpr_31 = (0x08ACC264u);
|
|
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_0890BE50, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0065_entry, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACC264u) goto L_08ACC264;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
L_08ACC264:
|
|
{ const bool branch_taken = 0u == 0u;
|
|
if (branch_taken) {
|
|
goto L_08ACC444;
|
|
}
|
|
goto L_08ACC26C;
|
|
}
|
|
L_08ACC26C:
|
|
aot_gpr_4 = (aot_gpr_17 | 0u);
|
|
aot_gpr_31 = (0x08ACC278u);
|
|
aot_gpr_5 = (0u | 4u);
|
|
if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890BE50, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0065_entry, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACC278u) goto L_08ACC278;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
L_08ACC278:
|
|
{ const bool branch_taken = 0u == 0u;
|
|
if (branch_taken) {
|
|
goto L_08ACC444;
|
|
}
|
|
goto L_08ACC280;
|
|
}
|
|
L_08ACC280:
|
|
aot_gpr_4 = (aot_gpr_17 | 0u);
|
|
aot_gpr_31 = (0x08ACC28Cu);
|
|
aot_gpr_5 = (0u | 1u);
|
|
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0178->0176.
|
|
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
|
|
AOT_REGCACHE_SYNC_OUT();
|
|
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0178_entry, 57u, 0x08ACC28Cu, 0x08AC7A14u)) {
|
|
#if defined(__clang__)
|
|
[[clang::musttail]] return recomp_unit_0176_entry(rt, ctx, 979u, aot_mem);
|
|
#else
|
|
recomp_unit_0176_entry(rt, ctx, 979u, aot_mem); return;
|
|
#endif
|
|
}
|
|
return;
|
|
#else
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 979u, 0x08AC7A14u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACC28Cu) goto L_08ACC28C;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
#endif
|
|
L_08ACC28C:
|
|
aot_gpr_31 = (0x08ACC294u);
|
|
aot_gpr_4 = (aot_gpr_17 | 0u);
|
|
if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AC79D4, 176u, 972u, 0x08AC79D4u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0176_entry, 176u, 972u, 0x08AC79D4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACC294u) goto L_08ACC294;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
L_08ACC294:
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_2 + static_cast<std::uint32_t>(0)));
|
|
aot_gpr_5 = (0u | 16u);
|
|
{ const bool branch_taken = aot_gpr_4 == aot_gpr_5;
|
|
if (branch_taken) {
|
|
goto L_08ACC310;
|
|
}
|
|
goto L_08ACC2A4;
|
|
}
|
|
L_08ACC2A4:
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast<std::uint32_t>(92)));
|
|
aot_gpr_4 = (aot_gpr_4 + static_cast<std::uint32_t>(216));
|
|
aot_gpr_5 = (static_cast<std::uint32_t>(static_cast<std::int32_t>(static_cast<std::int16_t>(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast<std::uint32_t>(0))))));
|
|
ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast<std::uint32_t>(4)));
|
|
jump_target = ctx.gpr[6];
|
|
aot_gpr_31 = (0x08ACC2BCu);
|
|
aot_gpr_4 = (aot_gpr_17 + aot_gpr_5);
|
|
ctx.pc = jump_target;
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACC2BCu) goto L_08ACC2BC;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
L_08ACC2BC:
|
|
aot_gpr_31 = (0x08ACC2C4u);
|
|
aot_gpr_4 = (aot_gpr_2 | 0u);
|
|
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0178->0176.
|
|
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
|
|
AOT_REGCACHE_SYNC_OUT();
|
|
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0178_entry, 61u, 0x08ACC2C4u, 0x08AC79A8u)) {
|
|
#if defined(__clang__)
|
|
[[clang::musttail]] return recomp_unit_0176_entry(rt, ctx, 969u, aot_mem);
|
|
#else
|
|
recomp_unit_0176_entry(rt, ctx, 969u, aot_mem); return;
|
|
#endif
|
|
}
|
|
return;
|
|
#else
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 969u, 0x08AC79A8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACC2C4u) goto L_08ACC2C4;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
#endif
|
|
L_08ACC2C4:
|
|
{ const bool branch_taken = aot_gpr_2 != 0u;
|
|
if (branch_taken) {
|
|
goto L_08ACC310;
|
|
}
|
|
goto L_08ACC2CC;
|
|
}
|
|
L_08ACC2CC:
|
|
aot_gpr_31 = (0x08ACC2D4u);
|
|
aot_gpr_4 = (aot_gpr_17 | 0u);
|
|
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0178->0065.
|
|
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
|
|
AOT_REGCACHE_SYNC_OUT();
|
|
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0178_entry, 63u, 0x08ACC2D4u, 0x0890905Cu)) {
|
|
#if defined(__clang__)
|
|
[[clang::musttail]] return recomp_unit_0065_entry(rt, ctx, 282u, aot_mem);
|
|
#else
|
|
recomp_unit_0065_entry(rt, ctx, 282u, aot_mem); return;
|
|
#endif
|
|
}
|
|
return;
|
|
#else
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 282u, 0x0890905Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACC2D4u) goto L_08ACC2D4;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
#endif
|
|
L_08ACC2D4:
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast<std::uint32_t>(1716)));
|
|
{ const bool branch_taken = aot_gpr_4 == 0u;
|
|
if (branch_taken) {
|
|
goto L_08ACC2EC;
|
|
}
|
|
goto L_08ACC2E0;
|
|
}
|
|
L_08ACC2E0:
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast<std::uint32_t>(1716)));
|
|
aot_gpr_31 = (0x08ACC2ECu);
|
|
aot_gpr_5 = (aot_gpr_17 + static_cast<std::uint32_t>(1716));
|
|
if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A93004, 163u, 430u, 0x08A93004u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[8], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0163_entry, 163u, 430u, 0x08A93004u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACC2ECu) goto L_08ACC2EC;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
L_08ACC2EC:
|
|
aot_gpr_31 = (0x08ACC2F4u);
|
|
aot_gpr_4 = (aot_gpr_17 | 0u);
|
|
if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AC8054, 177u, 7u, 0x08AC8054u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0177_entry, 177u, 7u, 0x08AC8054u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACC2F4u) goto L_08ACC2F4;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
L_08ACC2F4:
|
|
{ const bool branch_taken = aot_gpr_2 == 0u;
|
|
aot_mem.aot_direct_store32(aot_gpr_17 + static_cast<std::uint32_t>(1716), aot_gpr_2);
|
|
if (branch_taken) {
|
|
goto L_08ACC308;
|
|
}
|
|
goto L_08ACC2FC;
|
|
}
|
|
L_08ACC2FC:
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast<std::uint32_t>(1716)));
|
|
aot_gpr_31 = (0x08ACC308u);
|
|
aot_gpr_5 = (aot_gpr_17 + static_cast<std::uint32_t>(1716));
|
|
if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A92F78, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0163_entry, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACC308u) goto L_08ACC308;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
L_08ACC308:
|
|
aot_gpr_31 = (0x08ACC310u);
|
|
aot_gpr_4 = (aot_gpr_17 | 0u);
|
|
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0178->0065.
|
|
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
|
|
AOT_REGCACHE_SYNC_OUT();
|
|
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0178_entry, 69u, 0x08ACC310u, 0x0890932Cu)) {
|
|
#if defined(__clang__)
|
|
[[clang::musttail]] return recomp_unit_0065_entry(rt, ctx, 332u, aot_mem);
|
|
#else
|
|
recomp_unit_0065_entry(rt, ctx, 332u, aot_mem); return;
|
|
#endif
|
|
}
|
|
return;
|
|
#else
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 332u, 0x0890932Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACC310u) goto L_08ACC310;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
#endif
|
|
L_08ACC310:
|
|
aot_gpr_4 = (16384u << 16u);
|
|
aot_fpr_12 = std::bit_cast<float>(aot_gpr_4);
|
|
ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((ctx.fpr[22] <= aot_fpr_12)) ? 0x00800000u : 0u);
|
|
{ const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u);
|
|
if (branch_taken) {
|
|
goto L_08ACC33C;
|
|
}
|
|
goto L_08ACC328;
|
|
}
|
|
L_08ACC328:
|
|
aot_gpr_4 = (aot_gpr_17 | 0u);
|
|
aot_gpr_31 = (0x08ACC334u);
|
|
aot_gpr_5 = (0u | 1u);
|
|
if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890BE50, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0065_entry, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACC334u) goto L_08ACC334;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
L_08ACC334:
|
|
{ const bool branch_taken = 0u == 0u;
|
|
if (branch_taken) {
|
|
goto L_08ACC358;
|
|
}
|
|
goto L_08ACC33C;
|
|
}
|
|
L_08ACC33C:
|
|
aot_gpr_31 = (0x08ACC344u);
|
|
aot_gpr_4 = (aot_gpr_17 | 0u);
|
|
if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AC8054, 177u, 7u, 0x08AC8054u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0177_entry, 177u, 7u, 0x08AC8054u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACC344u) goto L_08ACC344;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
L_08ACC344:
|
|
aot_gpr_31 = (0x08ACC34Cu);
|
|
aot_gpr_4 = (aot_gpr_2 | 0u);
|
|
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0178->0176.
|
|
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
|
|
AOT_REGCACHE_SYNC_OUT();
|
|
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0178_entry, 74u, 0x08ACC34Cu, 0x08AC7A04u)) {
|
|
#if defined(__clang__)
|
|
[[clang::musttail]] return recomp_unit_0176_entry(rt, ctx, 977u, aot_mem);
|
|
#else
|
|
recomp_unit_0176_entry(rt, ctx, 977u, aot_mem); return;
|
|
#endif
|
|
}
|
|
return;
|
|
#else
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 977u, 0x08AC7A04u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACC34Cu) goto L_08ACC34C;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
#endif
|
|
L_08ACC34C:
|
|
aot_gpr_4 = (aot_gpr_17 | 0u);
|
|
aot_gpr_31 = (0x08ACC358u);
|
|
aot_gpr_5 = (aot_gpr_2 | 0u);
|
|
if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890BE50, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0065_entry, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACC358u) goto L_08ACC358;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
L_08ACC358:
|
|
aot_gpr_31 = (0x08ACC360u);
|
|
aot_gpr_4 = (aot_gpr_17 | 0u);
|
|
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0178->0176.
|
|
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
|
|
AOT_REGCACHE_SYNC_OUT();
|
|
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0178_entry, 76u, 0x08ACC360u, 0x08AC7A48u)) {
|
|
#if defined(__clang__)
|
|
[[clang::musttail]] return recomp_unit_0176_entry(rt, ctx, 981u, aot_mem);
|
|
#else
|
|
recomp_unit_0176_entry(rt, ctx, 981u, aot_mem); return;
|
|
#endif
|
|
}
|
|
return;
|
|
#else
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 981u, 0x08AC7A48u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACC360u) goto L_08ACC360;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
#endif
|
|
L_08ACC360:
|
|
aot_gpr_4 = (0u | 14u);
|
|
{ const bool branch_taken = aot_gpr_2 != aot_gpr_4;
|
|
if (branch_taken) {
|
|
goto L_08ACC444;
|
|
}
|
|
goto L_08ACC36C;
|
|
}
|
|
L_08ACC36C:
|
|
aot_gpr_4 = (aot_gpr_17 | 0u);
|
|
aot_gpr_31 = (0x08ACC378u);
|
|
aot_gpr_5 = (0u | 133u);
|
|
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0178->0023.
|
|
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
|
|
AOT_REGCACHE_SYNC_OUT();
|
|
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0178_entry, 78u, 0x08ACC378u, 0x08860424u)) {
|
|
#if defined(__clang__)
|
|
[[clang::musttail]] return recomp_unit_0023_entry(rt, ctx, 16u, aot_mem);
|
|
#else
|
|
recomp_unit_0023_entry(rt, ctx, 16u, aot_mem); return;
|
|
#endif
|
|
}
|
|
return;
|
|
#else
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 16u, 0x08860424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACC378u) goto L_08ACC378;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
#endif
|
|
L_08ACC378:
|
|
aot_gpr_31 = (0x08ACC380u);
|
|
aot_gpr_4 = (aot_gpr_17 | 0u);
|
|
if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AC8054, 177u, 7u, 0x08AC8054u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0177_entry, 177u, 7u, 0x08AC8054u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACC380u) goto L_08ACC380;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
L_08ACC380:
|
|
aot_gpr_4 = (aot_gpr_2 | 0u);
|
|
aot_gpr_31 = (0x08ACC38Cu);
|
|
aot_gpr_5 = (0u | 125u);
|
|
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0178->0023.
|
|
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
|
|
AOT_REGCACHE_SYNC_OUT();
|
|
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0178_entry, 80u, 0x08ACC38Cu, 0x08860424u)) {
|
|
#if defined(__clang__)
|
|
[[clang::musttail]] return recomp_unit_0023_entry(rt, ctx, 16u, aot_mem);
|
|
#else
|
|
recomp_unit_0023_entry(rt, ctx, 16u, aot_mem); return;
|
|
#endif
|
|
}
|
|
return;
|
|
#else
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 16u, 0x08860424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACC38Cu) goto L_08ACC38C;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
#endif
|
|
L_08ACC38C:
|
|
aot_gpr_31 = (0x08ACC394u);
|
|
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0178->0176.
|
|
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
|
|
AOT_REGCACHE_SYNC_OUT();
|
|
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0178_entry, 81u, 0x08ACC394u, 0x08AC76DCu)) {
|
|
#if defined(__clang__)
|
|
[[clang::musttail]] return recomp_unit_0176_entry(rt, ctx, 929u, aot_mem);
|
|
#else
|
|
recomp_unit_0176_entry(rt, ctx, 929u, aot_mem); return;
|
|
#endif
|
|
}
|
|
return;
|
|
#else
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 929u, 0x08AC76DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACC394u) goto L_08ACC394;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
#endif
|
|
L_08ACC394:
|
|
aot_gpr_4 = (aot_gpr_2 + static_cast<std::uint32_t>(3000));
|
|
aot_gpr_31 = (0x08ACC3A0u);
|
|
aot_mem.aot_direct_store32(aot_gpr_17 + static_cast<std::uint32_t>(1728), aot_gpr_4);
|
|
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0178->0176.
|
|
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
|
|
AOT_REGCACHE_SYNC_OUT();
|
|
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0178_entry, 82u, 0x08ACC3A0u, 0x08AC76DCu)) {
|
|
#if defined(__clang__)
|
|
[[clang::musttail]] return recomp_unit_0176_entry(rt, ctx, 929u, aot_mem);
|
|
#else
|
|
recomp_unit_0176_entry(rt, ctx, 929u, aot_mem); return;
|
|
#endif
|
|
}
|
|
return;
|
|
#else
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 929u, 0x08AC76DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACC3A0u) goto L_08ACC3A0;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
#endif
|
|
L_08ACC3A0:
|
|
ctx.gpr[16] = (aot_gpr_2 + static_cast<std::uint32_t>(3000));
|
|
aot_gpr_31 = (0x08ACC3ACu);
|
|
aot_gpr_4 = (aot_gpr_17 | 0u);
|
|
if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AC8054, 177u, 7u, 0x08AC8054u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0177_entry, 177u, 7u, 0x08AC8054u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACC3ACu) goto L_08ACC3AC;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
L_08ACC3AC:
|
|
aot_mem.aot_direct_store32(aot_gpr_2 + static_cast<std::uint32_t>(1728), ctx.gpr[16]);
|
|
aot_gpr_4 = (aot_gpr_17 | 0u);
|
|
aot_gpr_31 = (0x08ACC3BCu);
|
|
aot_gpr_5 = (0u | 47u);
|
|
goto L_08ACD4BC;
|
|
L_08ACC3BC:
|
|
aot_gpr_31 = (0x08ACC3C4u);
|
|
aot_gpr_4 = (aot_gpr_17 | 0u);
|
|
if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AC8054, 177u, 7u, 0x08AC8054u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0177_entry, 177u, 7u, 0x08AC8054u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACC3C4u) goto L_08ACC3C4;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
L_08ACC3C4:
|
|
aot_gpr_4 = (aot_gpr_2 | 0u);
|
|
aot_gpr_31 = (0x08ACC3D0u);
|
|
aot_gpr_5 = (0u | 47u);
|
|
goto L_08ACD4BC;
|
|
L_08ACC3D0:
|
|
aot_gpr_31 = (0x08ACC3D8u);
|
|
aot_gpr_4 = (aot_gpr_17 | 0u);
|
|
if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AC7670, 176u, 924u, 0x08AC7670u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0176_entry, 176u, 924u, 0x08AC7670u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACC3D8u) goto L_08ACC3D8;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
L_08ACC3D8:
|
|
aot_fpr_20 = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_2 + static_cast<std::uint32_t>(0)));
|
|
aot_gpr_31 = (0x08ACC3E4u);
|
|
aot_gpr_4 = (aot_gpr_17 | 0u);
|
|
if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AC8054, 177u, 7u, 0x08AC8054u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0177_entry, 177u, 7u, 0x08AC8054u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACC3E4u) goto L_08ACC3E4;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
L_08ACC3E4:
|
|
aot_gpr_31 = (0x08ACC3ECu);
|
|
aot_gpr_4 = (aot_gpr_2 | 0u);
|
|
if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AC7670, 176u, 924u, 0x08AC7670u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0176_entry, 176u, 924u, 0x08AC7670u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACC3ECu) goto L_08ACC3EC;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
L_08ACC3EC:
|
|
aot_fpr_12 = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_2 + static_cast<std::uint32_t>(0)));
|
|
aot_gpr_4 = (aot_gpr_17 | 0u);
|
|
aot_gpr_31 = (0x08ACC3FCu);
|
|
aot_fpr_20 = aot_fpr_20 - aot_fpr_12;
|
|
if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AC7670, 176u, 924u, 0x08AC7670u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0176_entry, 176u, 924u, 0x08AC7670u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACC3FCu) goto L_08ACC3FC;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
L_08ACC3FC:
|
|
ctx.fpr[22] = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_2 + static_cast<std::uint32_t>(4)));
|
|
aot_gpr_31 = (0x08ACC408u);
|
|
aot_gpr_4 = (aot_gpr_17 | 0u);
|
|
if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AC8054, 177u, 7u, 0x08AC8054u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0177_entry, 177u, 7u, 0x08AC8054u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACC408u) goto L_08ACC408;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
L_08ACC408:
|
|
aot_gpr_31 = (0x08ACC410u);
|
|
aot_gpr_4 = (aot_gpr_2 | 0u);
|
|
if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AC7670, 176u, 924u, 0x08AC7670u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0176_entry, 176u, 924u, 0x08AC7670u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACC410u) goto L_08ACC410;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
L_08ACC410:
|
|
aot_fpr_13 = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_2 + static_cast<std::uint32_t>(4)));
|
|
aot_fpr_12 = std::bit_cast<float>(std::bit_cast<std::uint32_t>(aot_fpr_20));
|
|
ctx.fpr[22] = ctx.fpr[22] - aot_fpr_13;
|
|
aot_gpr_31 = (0x08ACC424u);
|
|
aot_fpr_13 = std::bit_cast<float>(std::bit_cast<std::uint32_t>(ctx.fpr[22]));
|
|
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0178->0162.
|
|
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
|
|
AOT_REGCACHE_SYNC_OUT();
|
|
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0178_entry, 93u, 0x08ACC424u, 0x08A8EFB4u)) {
|
|
#if defined(__clang__)
|
|
[[clang::musttail]] return recomp_unit_0162_entry(rt, ctx, 570u, aot_mem);
|
|
#else
|
|
recomp_unit_0162_entry(rt, ctx, 570u, aot_mem); return;
|
|
#endif
|
|
}
|
|
return;
|
|
#else
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0162_entry, 162u, 570u, 0x08A8EFB4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACC424u) goto L_08ACC424;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
#endif
|
|
L_08ACC424:
|
|
aot_mem.aot_direct_store8(aot_gpr_17 + static_cast<std::uint32_t>(1930), static_cast<std::uint8_t>(aot_gpr_2));
|
|
aot_fpr_12 = std::bit_cast<float>(std::bit_cast<std::uint32_t>(aot_fpr_20) ^ 0x80000000u);
|
|
aot_gpr_31 = (0x08ACC434u);
|
|
aot_fpr_13 = std::bit_cast<float>(std::bit_cast<std::uint32_t>(ctx.fpr[22]) ^ 0x80000000u);
|
|
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0178->0162.
|
|
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
|
|
AOT_REGCACHE_SYNC_OUT();
|
|
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0178_entry, 94u, 0x08ACC434u, 0x08A8EFB4u)) {
|
|
#if defined(__clang__)
|
|
[[clang::musttail]] return recomp_unit_0162_entry(rt, ctx, 570u, aot_mem);
|
|
#else
|
|
recomp_unit_0162_entry(rt, ctx, 570u, aot_mem); return;
|
|
#endif
|
|
}
|
|
return;
|
|
#else
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0162_entry, 162u, 570u, 0x08A8EFB4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACC434u) goto L_08ACC434;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
#endif
|
|
L_08ACC434:
|
|
ctx.gpr[16] = (aot_gpr_2 | 0u);
|
|
aot_gpr_31 = (0x08ACC440u);
|
|
aot_gpr_4 = (aot_gpr_17 | 0u);
|
|
if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AC8054, 177u, 7u, 0x08AC8054u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0177_entry, 177u, 7u, 0x08AC8054u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACC440u) goto L_08ACC440;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
L_08ACC440:
|
|
aot_mem.aot_direct_store8(aot_gpr_2 + static_cast<std::uint32_t>(1930), static_cast<std::uint8_t>(ctx.gpr[16]));
|
|
goto L_08ACC444;
|
|
L_08ACC444:
|
|
aot_gpr_31 = (0x08ACC44Cu);
|
|
aot_gpr_4 = (aot_gpr_17 | 0u);
|
|
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0178->0176.
|
|
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
|
|
AOT_REGCACHE_SYNC_OUT();
|
|
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0178_entry, 97u, 0x08ACC44Cu, 0x08AC7A48u)) {
|
|
#if defined(__clang__)
|
|
[[clang::musttail]] return recomp_unit_0176_entry(rt, ctx, 981u, aot_mem);
|
|
#else
|
|
recomp_unit_0176_entry(rt, ctx, 981u, aot_mem); return;
|
|
#endif
|
|
}
|
|
return;
|
|
#else
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 981u, 0x08AC7A48u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACC44Cu) goto L_08ACC44C;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
#endif
|
|
L_08ACC44C:
|
|
aot_gpr_4 = (0u | 13u);
|
|
{ const bool branch_taken = aot_gpr_2 != aot_gpr_4;
|
|
if (branch_taken) {
|
|
goto L_08ACC478;
|
|
}
|
|
goto L_08ACC458;
|
|
}
|
|
L_08ACC458:
|
|
aot_gpr_31 = (0x08ACC460u);
|
|
aot_gpr_4 = (aot_gpr_17 | 0u);
|
|
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0178->0176.
|
|
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
|
|
AOT_REGCACHE_SYNC_OUT();
|
|
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0178_entry, 99u, 0x08ACC460u, 0x08AC7A04u)) {
|
|
#if defined(__clang__)
|
|
[[clang::musttail]] return recomp_unit_0176_entry(rt, ctx, 977u, aot_mem);
|
|
#else
|
|
recomp_unit_0176_entry(rt, ctx, 977u, aot_mem); return;
|
|
#endif
|
|
}
|
|
return;
|
|
#else
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 977u, 0x08AC7A04u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACC460u) goto L_08ACC460;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
#endif
|
|
L_08ACC460:
|
|
aot_gpr_4 = (static_cast<std::int32_t>(aot_gpr_2) < 2 ? 1u : 0u);
|
|
{ const bool branch_taken = aot_gpr_4 != 0u;
|
|
if (branch_taken) {
|
|
goto L_08ACC478;
|
|
}
|
|
goto L_08ACC46C;
|
|
}
|
|
L_08ACC46C:
|
|
aot_gpr_4 = (aot_gpr_17 | 0u);
|
|
aot_gpr_31 = (0x08ACC478u);
|
|
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_0890BE50, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0065_entry, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACC478u) goto L_08ACC478;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
L_08ACC478:
|
|
{ const bool branch_taken = 0u == 0u;
|
|
if (branch_taken) {
|
|
goto L_08ACC48C;
|
|
}
|
|
goto L_08ACC480;
|
|
}
|
|
L_08ACC480:
|
|
aot_gpr_4 = (aot_gpr_17 | 0u);
|
|
aot_gpr_31 = (0x08ACC48Cu);
|
|
aot_gpr_5 = (0u | 0u);
|
|
goto L_08ACD4BC;
|
|
L_08ACC48C:
|
|
{ const bool branch_taken = 0u == 0u;
|
|
if (branch_taken) {
|
|
goto L_08ACD280;
|
|
}
|
|
goto L_08ACC494;
|
|
}
|
|
L_08ACC494:
|
|
aot_gpr_31 = (0x08ACC49Cu);
|
|
aot_gpr_4 = (aot_gpr_17 | 0u);
|
|
if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AC8054, 177u, 7u, 0x08AC8054u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0177_entry, 177u, 7u, 0x08AC8054u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACC49Cu) goto L_08ACC49C;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
L_08ACC49C:
|
|
{ const bool branch_taken = aot_gpr_2 == 0u;
|
|
if (branch_taken) {
|
|
goto L_08ACC5C8;
|
|
}
|
|
goto L_08ACC4A4;
|
|
}
|
|
L_08ACC4A4:
|
|
ctx.gpr[16] = (aot_gpr_29 + static_cast<std::uint32_t>(1008));
|
|
ctx.gpr[18] = (aot_gpr_29 + static_cast<std::uint32_t>(992));
|
|
aot_gpr_4 = (aot_gpr_17 | 0u);
|
|
aot_gpr_31 = (0x08ACC4B8u);
|
|
aot_gpr_5 = (ctx.gpr[16] | 0u);
|
|
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0178->0176.
|
|
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
|
|
AOT_REGCACHE_SYNC_OUT();
|
|
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0178_entry, 107u, 0x08ACC4B8u, 0x08AC5124u)) {
|
|
#if defined(__clang__)
|
|
[[clang::musttail]] return recomp_unit_0176_entry(rt, ctx, 370u, aot_mem);
|
|
#else
|
|
recomp_unit_0176_entry(rt, ctx, 370u, aot_mem); return;
|
|
#endif
|
|
}
|
|
return;
|
|
#else
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 370u, 0x08AC5124u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACC4B8u) goto L_08ACC4B8;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
#endif
|
|
L_08ACC4B8:
|
|
aot_gpr_4 = (ctx.gpr[18] | 0u);
|
|
aot_gpr_31 = (0x08ACC4C4u);
|
|
aot_gpr_5 = (ctx.gpr[16] | 0u);
|
|
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0178->0176.
|
|
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
|
|
AOT_REGCACHE_SYNC_OUT();
|
|
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0178_entry, 108u, 0x08ACC4C4u, 0x08AC7610u)) {
|
|
#if defined(__clang__)
|
|
[[clang::musttail]] return recomp_unit_0176_entry(rt, ctx, 918u, aot_mem);
|
|
#else
|
|
recomp_unit_0176_entry(rt, ctx, 918u, aot_mem); return;
|
|
#endif
|
|
}
|
|
return;
|
|
#else
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 918u, 0x08AC7610u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACC4C4u) goto L_08ACC4C4;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
#endif
|
|
L_08ACC4C4:
|
|
ctx.gpr[19] = (aot_gpr_29 + static_cast<std::uint32_t>(32));
|
|
ctx.gpr[6] = (aot_gpr_29 + static_cast<std::uint32_t>(64));
|
|
aot_gpr_4 = (ctx.gpr[16] | 0u);
|
|
aot_gpr_31 = (0x08ACC4D8u);
|
|
aot_gpr_5 = (ctx.gpr[18] | 0u);
|
|
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0178->0176.
|
|
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
|
|
AOT_REGCACHE_SYNC_OUT();
|
|
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0178_entry, 109u, 0x08ACC4D8u, 0x08AC7474u)) {
|
|
#if defined(__clang__)
|
|
[[clang::musttail]] return recomp_unit_0176_entry(rt, ctx, 900u, aot_mem);
|
|
#else
|
|
recomp_unit_0176_entry(rt, ctx, 900u, aot_mem); return;
|
|
#endif
|
|
}
|
|
return;
|
|
#else
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 900u, 0x08AC7474u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACC4D8u) goto L_08ACC4D8;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
#endif
|
|
L_08ACC4D8:
|
|
aot_gpr_4 = (ctx.gpr[19] | 0u);
|
|
aot_gpr_31 = (0x08ACC4E4u);
|
|
aot_gpr_5 = (ctx.gpr[16] | 0u);
|
|
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0178->0176.
|
|
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
|
|
AOT_REGCACHE_SYNC_OUT();
|
|
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0178_entry, 110u, 0x08ACC4E4u, 0x08AC7610u)) {
|
|
#if defined(__clang__)
|
|
[[clang::musttail]] return recomp_unit_0176_entry(rt, ctx, 918u, aot_mem);
|
|
#else
|
|
recomp_unit_0176_entry(rt, ctx, 918u, aot_mem); return;
|
|
#endif
|
|
}
|
|
return;
|
|
#else
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 918u, 0x08AC7610u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACC4E4u) goto L_08ACC4E4;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
#endif
|
|
L_08ACC4E4:
|
|
aot_gpr_4 = (ctx.gpr[16] | 0u);
|
|
aot_gpr_31 = (0x08ACC4F0u);
|
|
aot_gpr_5 = (ctx.gpr[18] | 0u);
|
|
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0178->0176.
|
|
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
|
|
AOT_REGCACHE_SYNC_OUT();
|
|
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0178_entry, 111u, 0x08ACC4F0u, 0x08AC75B0u)) {
|
|
#if defined(__clang__)
|
|
[[clang::musttail]] return recomp_unit_0176_entry(rt, ctx, 914u, aot_mem);
|
|
#else
|
|
recomp_unit_0176_entry(rt, ctx, 914u, aot_mem); return;
|
|
#endif
|
|
}
|
|
return;
|
|
#else
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 914u, 0x08AC75B0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACC4F0u) goto L_08ACC4F0;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
#endif
|
|
L_08ACC4F0:
|
|
ctx.gpr[6] = (16256u << 16u);
|
|
aot_gpr_4 = (aot_gpr_17 | 0u);
|
|
aot_fpr_12 = std::bit_cast<float>(ctx.gpr[6]);
|
|
aot_gpr_31 = (0x08ACC504u);
|
|
aot_gpr_5 = (aot_gpr_2 | 0u);
|
|
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0178->0065.
|
|
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
|
|
AOT_REGCACHE_SYNC_OUT();
|
|
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0178_entry, 112u, 0x08ACC504u, 0x0890AA84u)) {
|
|
#if defined(__clang__)
|
|
[[clang::musttail]] return recomp_unit_0065_entry(rt, ctx, 686u, aot_mem);
|
|
#else
|
|
recomp_unit_0065_entry(rt, ctx, 686u, aot_mem); return;
|
|
#endif
|
|
}
|
|
return;
|
|
#else
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 686u, 0x0890AA84u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACC504u) goto L_08ACC504;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
#endif
|
|
L_08ACC504:
|
|
aot_gpr_31 = (0x08ACC50Cu);
|
|
aot_gpr_4 = (ctx.gpr[19] | 0u);
|
|
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0178->0176.
|
|
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
|
|
AOT_REGCACHE_SYNC_OUT();
|
|
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0178_entry, 113u, 0x08ACC50Cu, 0x08AC75C0u)) {
|
|
#if defined(__clang__)
|
|
[[clang::musttail]] return recomp_unit_0176_entry(rt, ctx, 915u, aot_mem);
|
|
#else
|
|
recomp_unit_0176_entry(rt, ctx, 915u, aot_mem); return;
|
|
#endif
|
|
}
|
|
return;
|
|
#else
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 915u, 0x08AC75C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACC50Cu) goto L_08ACC50C;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
#endif
|
|
L_08ACC50C:
|
|
aot_gpr_4 = (16448u << 16u);
|
|
aot_fpr_12 = std::bit_cast<float>(aot_gpr_4);
|
|
ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_0 <= aot_fpr_12)) ? 0x00800000u : 0u);
|
|
{ const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u);
|
|
if (branch_taken) {
|
|
goto L_08ACC558;
|
|
}
|
|
goto L_08ACC524;
|
|
}
|
|
L_08ACC524:
|
|
aot_gpr_4 = (aot_gpr_29 + static_cast<std::uint32_t>(1024));
|
|
aot_gpr_31 = (0x08ACC530u);
|
|
aot_gpr_5 = (aot_gpr_29 + static_cast<std::uint32_t>(992));
|
|
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0178->0176.
|
|
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
|
|
AOT_REGCACHE_SYNC_OUT();
|
|
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0178_entry, 115u, 0x08ACC530u, 0x08AC75B0u)) {
|
|
#if defined(__clang__)
|
|
[[clang::musttail]] return recomp_unit_0176_entry(rt, ctx, 914u, aot_mem);
|
|
#else
|
|
recomp_unit_0176_entry(rt, ctx, 914u, aot_mem); return;
|
|
#endif
|
|
}
|
|
return;
|
|
#else
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 914u, 0x08AC75B0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACC530u) goto L_08ACC530;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
#endif
|
|
L_08ACC530:
|
|
ctx.gpr[6] = (16256u << 16u);
|
|
aot_gpr_4 = (aot_gpr_17 | 0u);
|
|
aot_fpr_12 = std::bit_cast<float>(ctx.gpr[6]);
|
|
aot_gpr_31 = (0x08ACC544u);
|
|
aot_gpr_5 = (aot_gpr_2 | 0u);
|
|
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0178->0065.
|
|
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
|
|
AOT_REGCACHE_SYNC_OUT();
|
|
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0178_entry, 116u, 0x08ACC544u, 0x0890AA84u)) {
|
|
#if defined(__clang__)
|
|
[[clang::musttail]] return recomp_unit_0065_entry(rt, ctx, 686u, aot_mem);
|
|
#else
|
|
recomp_unit_0065_entry(rt, ctx, 686u, aot_mem); return;
|
|
#endif
|
|
}
|
|
return;
|
|
#else
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 686u, 0x0890AA84u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACC544u) goto L_08ACC544;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
#endif
|
|
L_08ACC544:
|
|
aot_gpr_4 = (aot_gpr_17 | 0u);
|
|
aot_gpr_31 = (0x08ACC550u);
|
|
aot_gpr_5 = (0u | 4u);
|
|
if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890BE50, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0065_entry, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACC550u) goto L_08ACC550;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
L_08ACC550:
|
|
{ const bool branch_taken = 0u == 0u;
|
|
if (branch_taken) {
|
|
goto L_08ACC5C0;
|
|
}
|
|
goto L_08ACC558;
|
|
}
|
|
L_08ACC558:
|
|
aot_gpr_4 = (aot_gpr_29 + static_cast<std::uint32_t>(1040));
|
|
aot_gpr_31 = (0x08ACC564u);
|
|
aot_gpr_5 = (aot_gpr_29 + static_cast<std::uint32_t>(992));
|
|
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0178->0176.
|
|
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
|
|
AOT_REGCACHE_SYNC_OUT();
|
|
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0178_entry, 119u, 0x08ACC564u, 0x08AC75B0u)) {
|
|
#if defined(__clang__)
|
|
[[clang::musttail]] return recomp_unit_0176_entry(rt, ctx, 914u, aot_mem);
|
|
#else
|
|
recomp_unit_0176_entry(rt, ctx, 914u, aot_mem); return;
|
|
#endif
|
|
}
|
|
return;
|
|
#else
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 914u, 0x08AC75B0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACC564u) goto L_08ACC564;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
#endif
|
|
L_08ACC564:
|
|
ctx.gpr[6] = (16256u << 16u);
|
|
aot_gpr_4 = (aot_gpr_17 | 0u);
|
|
aot_fpr_12 = std::bit_cast<float>(ctx.gpr[6]);
|
|
aot_gpr_31 = (0x08ACC578u);
|
|
aot_gpr_5 = (aot_gpr_2 | 0u);
|
|
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0178->0065.
|
|
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
|
|
AOT_REGCACHE_SYNC_OUT();
|
|
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0178_entry, 120u, 0x08ACC578u, 0x0890AA84u)) {
|
|
#if defined(__clang__)
|
|
[[clang::musttail]] return recomp_unit_0065_entry(rt, ctx, 686u, aot_mem);
|
|
#else
|
|
recomp_unit_0065_entry(rt, ctx, 686u, aot_mem); return;
|
|
#endif
|
|
}
|
|
return;
|
|
#else
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 686u, 0x0890AA84u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACC578u) goto L_08ACC578;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
#endif
|
|
L_08ACC578:
|
|
aot_gpr_31 = (0x08ACC580u);
|
|
aot_gpr_4 = (aot_gpr_17 | 0u);
|
|
if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AC8054, 177u, 7u, 0x08AC8054u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0177_entry, 177u, 7u, 0x08AC8054u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACC580u) goto L_08ACC580;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
L_08ACC580:
|
|
{ const bool branch_taken = aot_gpr_2 == 0u;
|
|
if (branch_taken) {
|
|
goto L_08ACC5C0;
|
|
}
|
|
goto L_08ACC588;
|
|
}
|
|
L_08ACC588:
|
|
aot_gpr_31 = (0x08ACC590u);
|
|
aot_gpr_4 = (aot_gpr_17 | 0u);
|
|
if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AC8054, 177u, 7u, 0x08AC8054u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0177_entry, 177u, 7u, 0x08AC8054u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACC590u) goto L_08ACC590;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
L_08ACC590:
|
|
aot_gpr_31 = (0x08ACC598u);
|
|
aot_gpr_4 = (aot_gpr_2 | 0u);
|
|
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0178->0176.
|
|
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
|
|
AOT_REGCACHE_SYNC_OUT();
|
|
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0178_entry, 124u, 0x08ACC598u, 0x08AC7A04u)) {
|
|
#if defined(__clang__)
|
|
[[clang::musttail]] return recomp_unit_0176_entry(rt, ctx, 977u, aot_mem);
|
|
#else
|
|
recomp_unit_0176_entry(rt, ctx, 977u, aot_mem); return;
|
|
#endif
|
|
}
|
|
return;
|
|
#else
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 977u, 0x08AC7A04u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACC598u) goto L_08ACC598;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
#endif
|
|
L_08ACC598:
|
|
aot_gpr_4 = (0u | 1u);
|
|
{ const bool branch_taken = aot_gpr_2 == aot_gpr_4;
|
|
if (branch_taken) {
|
|
goto L_08ACC5C0;
|
|
}
|
|
goto L_08ACC5A4;
|
|
}
|
|
L_08ACC5A4:
|
|
aot_gpr_31 = (0x08ACC5ACu);
|
|
aot_gpr_4 = (aot_gpr_17 | 0u);
|
|
if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AC8054, 177u, 7u, 0x08AC8054u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0177_entry, 177u, 7u, 0x08AC8054u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACC5ACu) goto L_08ACC5AC;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
L_08ACC5AC:
|
|
aot_gpr_31 = (0x08ACC5B4u);
|
|
aot_gpr_4 = (aot_gpr_2 | 0u);
|
|
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0178->0176.
|
|
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
|
|
AOT_REGCACHE_SYNC_OUT();
|
|
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0178_entry, 127u, 0x08ACC5B4u, 0x08AC7A04u)) {
|
|
#if defined(__clang__)
|
|
[[clang::musttail]] return recomp_unit_0176_entry(rt, ctx, 977u, aot_mem);
|
|
#else
|
|
recomp_unit_0176_entry(rt, ctx, 977u, aot_mem); return;
|
|
#endif
|
|
}
|
|
return;
|
|
#else
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 977u, 0x08AC7A04u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACC5B4u) goto L_08ACC5B4;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
#endif
|
|
L_08ACC5B4:
|
|
aot_gpr_4 = (aot_gpr_17 | 0u);
|
|
aot_gpr_31 = (0x08ACC5C0u);
|
|
aot_gpr_5 = (aot_gpr_2 | 0u);
|
|
if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890BE50, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0065_entry, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACC5C0u) goto L_08ACC5C0;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
L_08ACC5C0:
|
|
{ const bool branch_taken = 0u == 0u;
|
|
if (branch_taken) {
|
|
goto L_08ACC5D4;
|
|
}
|
|
goto L_08ACC5C8;
|
|
}
|
|
L_08ACC5C8:
|
|
aot_gpr_4 = (aot_gpr_17 | 0u);
|
|
aot_gpr_31 = (0x08ACC5D4u);
|
|
aot_gpr_5 = (0u | 0u);
|
|
goto L_08ACD4BC;
|
|
L_08ACC5D4:
|
|
{ const bool branch_taken = 0u == 0u;
|
|
if (branch_taken) {
|
|
goto L_08ACD280;
|
|
}
|
|
goto L_08ACC5DC;
|
|
}
|
|
L_08ACC5DC:
|
|
aot_gpr_31 = (0x08ACC5E4u);
|
|
aot_gpr_4 = (aot_gpr_17 | 0u);
|
|
if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AC7C58, 176u, 1021u, 0x08AC7C58u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0176_entry, 176u, 1021u, 0x08AC7C58u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACC5E4u) goto L_08ACC5E4;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
L_08ACC5E4:
|
|
{ const bool branch_taken = aot_gpr_2 == 0u;
|
|
if (branch_taken) {
|
|
goto L_08ACCAB8;
|
|
}
|
|
goto L_08ACC5EC;
|
|
}
|
|
L_08ACC5EC:
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast<std::uint32_t>(92)));
|
|
aot_gpr_4 = (aot_gpr_4 + static_cast<std::uint32_t>(216));
|
|
aot_gpr_5 = (static_cast<std::uint32_t>(static_cast<std::int32_t>(static_cast<std::int16_t>(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast<std::uint32_t>(0))))));
|
|
ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast<std::uint32_t>(4)));
|
|
jump_target = ctx.gpr[6];
|
|
aot_gpr_31 = (0x08ACC604u);
|
|
aot_gpr_4 = (aot_gpr_17 + aot_gpr_5);
|
|
ctx.pc = jump_target;
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACC604u) goto L_08ACC604;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
L_08ACC604:
|
|
aot_gpr_31 = (0x08ACC60Cu);
|
|
aot_gpr_4 = (aot_gpr_2 | 0u);
|
|
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0178->0176.
|
|
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
|
|
AOT_REGCACHE_SYNC_OUT();
|
|
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0178_entry, 135u, 0x08ACC60Cu, 0x08AC79A8u)) {
|
|
#if defined(__clang__)
|
|
[[clang::musttail]] return recomp_unit_0176_entry(rt, ctx, 969u, aot_mem);
|
|
#else
|
|
recomp_unit_0176_entry(rt, ctx, 969u, aot_mem); return;
|
|
#endif
|
|
}
|
|
return;
|
|
#else
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 969u, 0x08AC79A8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACC60Cu) goto L_08ACC60C;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
#endif
|
|
L_08ACC60C:
|
|
{ const bool branch_taken = aot_gpr_2 != 0u;
|
|
if (branch_taken) {
|
|
goto L_08ACCACC;
|
|
}
|
|
goto L_08ACC614;
|
|
}
|
|
L_08ACC614:
|
|
aot_gpr_31 = (0x08ACC61Cu);
|
|
aot_gpr_4 = (aot_gpr_29 + static_cast<std::uint32_t>(32));
|
|
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0178->0176.
|
|
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
|
|
AOT_REGCACHE_SYNC_OUT();
|
|
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0178_entry, 137u, 0x08ACC61Cu, 0x08AC75C0u)) {
|
|
#if defined(__clang__)
|
|
[[clang::musttail]] return recomp_unit_0176_entry(rt, ctx, 915u, aot_mem);
|
|
#else
|
|
recomp_unit_0176_entry(rt, ctx, 915u, aot_mem); return;
|
|
#endif
|
|
}
|
|
return;
|
|
#else
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 915u, 0x08AC75C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACC61Cu) goto L_08ACC61C;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
#endif
|
|
L_08ACC61C:
|
|
aot_fpr_20 = std::bit_cast<float>(std::bit_cast<std::uint32_t>(aot_fpr_0));
|
|
aot_gpr_31 = (0x08ACC628u);
|
|
aot_gpr_4 = (aot_gpr_17 | 0u);
|
|
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0178->0176.
|
|
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
|
|
AOT_REGCACHE_SYNC_OUT();
|
|
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0178_entry, 138u, 0x08ACC628u, 0x08AC79B0u)) {
|
|
#if defined(__clang__)
|
|
[[clang::musttail]] return recomp_unit_0176_entry(rt, ctx, 970u, aot_mem);
|
|
#else
|
|
recomp_unit_0176_entry(rt, ctx, 970u, aot_mem); return;
|
|
#endif
|
|
}
|
|
return;
|
|
#else
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 970u, 0x08AC79B0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACC628u) goto L_08ACC628;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
#endif
|
|
L_08ACC628:
|
|
aot_gpr_31 = (0x08ACC630u);
|
|
aot_gpr_4 = (aot_gpr_2 | 0u);
|
|
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0178->0176.
|
|
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
|
|
AOT_REGCACHE_SYNC_OUT();
|
|
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0178_entry, 139u, 0x08ACC630u, 0x08AC7940u)) {
|
|
#if defined(__clang__)
|
|
[[clang::musttail]] return recomp_unit_0176_entry(rt, ctx, 958u, aot_mem);
|
|
#else
|
|
recomp_unit_0176_entry(rt, ctx, 958u, aot_mem); return;
|
|
#endif
|
|
}
|
|
return;
|
|
#else
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 958u, 0x08AC7940u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACC630u) goto L_08ACC630;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
#endif
|
|
L_08ACC630:
|
|
aot_gpr_31 = (0x08ACC638u);
|
|
aot_gpr_4 = (aot_gpr_2 | 0u);
|
|
if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B1FD70, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0198_entry, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACC638u) goto L_08ACC638;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
L_08ACC638:
|
|
ctx.gpr[16] = (aot_gpr_2 | 0u);
|
|
aot_gpr_31 = (0x08ACC644u);
|
|
aot_gpr_4 = (ctx.gpr[16] | 0u);
|
|
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0178->0176.
|
|
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
|
|
AOT_REGCACHE_SYNC_OUT();
|
|
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0178_entry, 141u, 0x08ACC644u, 0x08AC77BCu)) {
|
|
#if defined(__clang__)
|
|
[[clang::musttail]] return recomp_unit_0176_entry(rt, ctx, 945u, aot_mem);
|
|
#else
|
|
recomp_unit_0176_entry(rt, ctx, 945u, aot_mem); return;
|
|
#endif
|
|
}
|
|
return;
|
|
#else
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 945u, 0x08AC77BCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACC644u) goto L_08ACC644;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
#endif
|
|
L_08ACC644:
|
|
ctx.fpr[22] = std::bit_cast<float>(std::bit_cast<std::uint32_t>(aot_fpr_0));
|
|
aot_gpr_31 = (0x08ACC650u);
|
|
aot_gpr_4 = (aot_gpr_17 | 0u);
|
|
if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AC7C58, 176u, 1021u, 0x08AC7C58u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0176_entry, 176u, 1021u, 0x08AC7C58u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACC650u) goto L_08ACC650;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
L_08ACC650:
|
|
{ const bool branch_taken = aot_gpr_2 == 0u;
|
|
aot_mem.aot_direct_store32(aot_gpr_17 + static_cast<std::uint32_t>(1716), aot_gpr_2);
|
|
if (branch_taken) {
|
|
goto L_08ACC664;
|
|
}
|
|
goto L_08ACC658;
|
|
}
|
|
L_08ACC658:
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast<std::uint32_t>(1716)));
|
|
aot_gpr_31 = (0x08ACC664u);
|
|
aot_gpr_5 = (aot_gpr_17 + static_cast<std::uint32_t>(1716));
|
|
if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A92F78, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0163_entry, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACC664u) goto L_08ACC664;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
L_08ACC664:
|
|
aot_gpr_31 = (0x08ACC66Cu);
|
|
aot_gpr_4 = (aot_gpr_17 | 0u);
|
|
if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AC7C58, 176u, 1021u, 0x08AC7C58u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0176_entry, 176u, 1021u, 0x08AC7C58u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACC66Cu) goto L_08ACC66C;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
L_08ACC66C:
|
|
aot_gpr_4 = (aot_gpr_17 | 0u);
|
|
aot_gpr_31 = (0x08ACC678u);
|
|
aot_gpr_5 = (aot_gpr_2 | 0u);
|
|
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0178->0067.
|
|
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
|
|
AOT_REGCACHE_SYNC_OUT();
|
|
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0178_entry, 146u, 0x08ACC678u, 0x0891034Cu)) {
|
|
#if defined(__clang__)
|
|
[[clang::musttail]] return recomp_unit_0067_entry(rt, ctx, 50u, aot_mem);
|
|
#else
|
|
recomp_unit_0067_entry(rt, ctx, 50u, aot_mem); return;
|
|
#endif
|
|
}
|
|
return;
|
|
#else
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0067_entry, 67u, 50u, 0x0891034Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACC678u) goto L_08ACC678;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
#endif
|
|
L_08ACC678:
|
|
aot_gpr_31 = (0x08ACC680u);
|
|
aot_gpr_4 = (aot_gpr_17 | 0u);
|
|
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0178->0065.
|
|
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
|
|
AOT_REGCACHE_SYNC_OUT();
|
|
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0178_entry, 147u, 0x08ACC680u, 0x0890932Cu)) {
|
|
#if defined(__clang__)
|
|
[[clang::musttail]] return recomp_unit_0065_entry(rt, ctx, 332u, aot_mem);
|
|
#else
|
|
recomp_unit_0065_entry(rt, ctx, 332u, aot_mem); return;
|
|
#endif
|
|
}
|
|
return;
|
|
#else
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 332u, 0x0890932Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACC680u) goto L_08ACC680;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
#endif
|
|
L_08ACC680:
|
|
ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_20 < ctx.fpr[22])) ? 0x00800000u : 0u);
|
|
{ const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u);
|
|
if (branch_taken) {
|
|
goto L_08ACC6A0;
|
|
}
|
|
goto L_08ACC690;
|
|
}
|
|
L_08ACC690:
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast<std::uint32_t>(460)));
|
|
aot_gpr_5 = (0u + static_cast<std::uint32_t>(-513));
|
|
aot_gpr_4 = (aot_gpr_4 & aot_gpr_5);
|
|
aot_mem.aot_direct_store32(aot_gpr_17 + static_cast<std::uint32_t>(460), aot_gpr_4);
|
|
goto L_08ACC6A0;
|
|
L_08ACC6A0:
|
|
aot_gpr_31 = (0x08ACC6A8u);
|
|
aot_gpr_4 = (ctx.gpr[16] | 0u);
|
|
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0178->0176.
|
|
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
|
|
AOT_REGCACHE_SYNC_OUT();
|
|
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0178_entry, 150u, 0x08ACC6A8u, 0x08AC77B4u)) {
|
|
#if defined(__clang__)
|
|
[[clang::musttail]] return recomp_unit_0176_entry(rt, ctx, 944u, aot_mem);
|
|
#else
|
|
recomp_unit_0176_entry(rt, ctx, 944u, aot_mem); return;
|
|
#endif
|
|
}
|
|
return;
|
|
#else
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 944u, 0x08AC77B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACC6A8u) goto L_08ACC6A8;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
#endif
|
|
L_08ACC6A8:
|
|
{ const bool branch_taken = aot_gpr_2 == 0u;
|
|
if (branch_taken) {
|
|
goto L_08ACC6D0;
|
|
}
|
|
goto L_08ACC6B0;
|
|
}
|
|
L_08ACC6B0:
|
|
aot_gpr_31 = (0x08ACC6B8u);
|
|
aot_gpr_4 = (aot_gpr_17 | 0u);
|
|
if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AC7C58, 176u, 1021u, 0x08AC7C58u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0176_entry, 176u, 1021u, 0x08AC7C58u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACC6B8u) goto L_08ACC6B8;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
L_08ACC6B8:
|
|
aot_fpr_12 = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_2 + static_cast<std::uint32_t>(636)));
|
|
aot_fpr_13 = std::bit_cast<float>(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_08ACC6F4;
|
|
}
|
|
goto L_08ACC6D0;
|
|
}
|
|
L_08ACC6D0:
|
|
aot_gpr_31 = (0x08ACC6D8u);
|
|
aot_gpr_4 = (aot_gpr_17 | 0u);
|
|
if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AC7C58, 176u, 1021u, 0x08AC7C58u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0176_entry, 176u, 1021u, 0x08AC7C58u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACC6D8u) goto L_08ACC6D8;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
L_08ACC6D8:
|
|
aot_fpr_12 = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_2 + static_cast<std::uint32_t>(636)));
|
|
aot_gpr_4 = (17274u << 16u);
|
|
aot_fpr_13 = std::bit_cast<float>(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_08ACC71C;
|
|
}
|
|
goto L_08ACC6F4;
|
|
}
|
|
L_08ACC6F4:
|
|
aot_gpr_31 = (0x08ACC6FCu);
|
|
aot_gpr_4 = (aot_gpr_17 | 0u);
|
|
if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08909B60, 65u, 454u, 0x08909B60u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[16], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0065_entry, 65u, 454u, 0x08909B60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACC6FCu) goto L_08ACC6FC;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
L_08ACC6FC:
|
|
aot_gpr_4 = (aot_gpr_17 | 0u);
|
|
aot_gpr_31 = (0x08ACC708u);
|
|
aot_gpr_5 = (0u | 1u);
|
|
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0178->0176.
|
|
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
|
|
AOT_REGCACHE_SYNC_OUT();
|
|
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0178_entry, 157u, 0x08ACC708u, 0x08AC7A14u)) {
|
|
#if defined(__clang__)
|
|
[[clang::musttail]] return recomp_unit_0176_entry(rt, ctx, 979u, aot_mem);
|
|
#else
|
|
recomp_unit_0176_entry(rt, ctx, 979u, aot_mem); return;
|
|
#endif
|
|
}
|
|
return;
|
|
#else
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 979u, 0x08AC7A14u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACC708u) goto L_08ACC708;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
#endif
|
|
L_08ACC708:
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast<std::uint32_t>(460)));
|
|
aot_gpr_5 = (0u + static_cast<std::uint32_t>(-513));
|
|
aot_gpr_4 = (aot_gpr_4 & aot_gpr_5);
|
|
{ const bool branch_taken = 0u == 0u;
|
|
aot_mem.aot_direct_store32(aot_gpr_17 + static_cast<std::uint32_t>(460), aot_gpr_4);
|
|
if (branch_taken) {
|
|
goto L_08ACCA88;
|
|
}
|
|
goto L_08ACC71C;
|
|
}
|
|
L_08ACC71C:
|
|
aot_gpr_31 = (0x08ACC724u);
|
|
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0178->0176.
|
|
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
|
|
AOT_REGCACHE_SYNC_OUT();
|
|
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0178_entry, 159u, 0x08ACC724u, 0x08AC76DCu)) {
|
|
#if defined(__clang__)
|
|
[[clang::musttail]] return recomp_unit_0176_entry(rt, ctx, 929u, aot_mem);
|
|
#else
|
|
recomp_unit_0176_entry(rt, ctx, 929u, aot_mem); return;
|
|
#endif
|
|
}
|
|
return;
|
|
#else
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 929u, 0x08AC76DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACC724u) goto L_08ACC724;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
#endif
|
|
L_08ACC724:
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast<std::uint32_t>(1744)));
|
|
aot_gpr_4 = (aot_gpr_4 < aot_gpr_2 ? 1u : 0u);
|
|
{ const bool branch_taken = aot_gpr_4 == 0u;
|
|
if (branch_taken) {
|
|
goto L_08ACC96C;
|
|
}
|
|
goto L_08ACC734;
|
|
}
|
|
L_08ACC734:
|
|
ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_20 < ctx.fpr[22])) ? 0x00800000u : 0u);
|
|
{ const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u);
|
|
if (branch_taken) {
|
|
goto L_08ACC96C;
|
|
}
|
|
goto L_08ACC744;
|
|
}
|
|
L_08ACC744:
|
|
aot_gpr_31 = (0x08ACC74Cu);
|
|
aot_gpr_4 = (aot_gpr_17 | 0u);
|
|
if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AC7C58, 176u, 1021u, 0x08AC7C58u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0176_entry, 176u, 1021u, 0x08AC7C58u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACC74Cu) goto L_08ACC74C;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
L_08ACC74C:
|
|
aot_gpr_4 = (16153u << 16u);
|
|
aot_fpr_13 = std::bit_cast<float>(0u);
|
|
aot_gpr_4 = (aot_gpr_4 | 39322u);
|
|
ctx.gpr[19] = (aot_gpr_29 + static_cast<std::uint32_t>(1088));
|
|
ctx.fpr[14] = std::bit_cast<float>(aot_gpr_4);
|
|
aot_gpr_5 = (16128u << 16u);
|
|
ctx.gpr[18] = (aot_gpr_2 | 0u);
|
|
aot_fpr_12 = std::bit_cast<float>(aot_gpr_5);
|
|
aot_gpr_31 = (0x08ACC774u);
|
|
aot_gpr_4 = (ctx.gpr[19] | 0u);
|
|
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0178->0176.
|
|
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
|
|
AOT_REGCACHE_SYNC_OUT();
|
|
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0178_entry, 163u, 0x08ACC774u, 0x08AC759Cu)) {
|
|
#if defined(__clang__)
|
|
[[clang::musttail]] return recomp_unit_0176_entry(rt, ctx, 913u, aot_mem);
|
|
#else
|
|
recomp_unit_0176_entry(rt, ctx, 913u, aot_mem); return;
|
|
#endif
|
|
}
|
|
return;
|
|
#else
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 913u, 0x08AC759Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACC774u) goto L_08ACC774;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
#endif
|
|
L_08ACC774:
|
|
ctx.gpr[20] = (aot_gpr_29 + static_cast<std::uint32_t>(1056));
|
|
aot_gpr_31 = (0x08ACC780u);
|
|
aot_gpr_4 = (aot_gpr_17 | 0u);
|
|
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0178->0176.
|
|
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
|
|
AOT_REGCACHE_SYNC_OUT();
|
|
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0178_entry, 164u, 0x08ACC780u, 0x08AC764Cu)) {
|
|
#if defined(__clang__)
|
|
[[clang::musttail]] return recomp_unit_0176_entry(rt, ctx, 922u, aot_mem);
|
|
#else
|
|
recomp_unit_0176_entry(rt, ctx, 922u, aot_mem); return;
|
|
#endif
|
|
}
|
|
return;
|
|
#else
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 922u, 0x08AC764Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACC780u) goto L_08ACC780;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
#endif
|
|
L_08ACC780:
|
|
aot_gpr_4 = (ctx.gpr[20] | 0u);
|
|
aot_gpr_5 = (aot_gpr_2 | 0u);
|
|
aot_gpr_31 = (0x08ACC790u);
|
|
ctx.gpr[6] = (ctx.gpr[19] | 0u);
|
|
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0178->0176.
|
|
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
|
|
AOT_REGCACHE_SYNC_OUT();
|
|
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0178_entry, 165u, 0x08ACC790u, 0x08AC7434u)) {
|
|
#if defined(__clang__)
|
|
[[clang::musttail]] return recomp_unit_0176_entry(rt, ctx, 898u, aot_mem);
|
|
#else
|
|
recomp_unit_0176_entry(rt, ctx, 898u, aot_mem); return;
|
|
#endif
|
|
}
|
|
return;
|
|
#else
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 898u, 0x08AC7434u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACC790u) goto L_08ACC790;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
#endif
|
|
L_08ACC790:
|
|
aot_gpr_4 = (ctx.gpr[19] | 0u);
|
|
aot_gpr_31 = (0x08ACC79Cu);
|
|
aot_gpr_5 = (ctx.gpr[20] | 0u);
|
|
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0178->0176.
|
|
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
|
|
AOT_REGCACHE_SYNC_OUT();
|
|
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0178_entry, 166u, 0x08ACC79Cu, 0x08AC7610u)) {
|
|
#if defined(__clang__)
|
|
[[clang::musttail]] return recomp_unit_0176_entry(rt, ctx, 918u, aot_mem);
|
|
#else
|
|
recomp_unit_0176_entry(rt, ctx, 918u, aot_mem); return;
|
|
#endif
|
|
}
|
|
return;
|
|
#else
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 918u, 0x08AC7610u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACC79Cu) goto L_08ACC79C;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
#endif
|
|
L_08ACC79C:
|
|
aot_gpr_31 = (0x08ACC7A4u);
|
|
aot_gpr_4 = (ctx.gpr[18] | 0u);
|
|
if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AC7670, 176u, 924u, 0x08AC7670u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0176_entry, 176u, 924u, 0x08AC7670u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACC7A4u) goto L_08ACC7A4;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
L_08ACC7A4:
|
|
aot_gpr_4 = (aot_gpr_29 + static_cast<std::uint32_t>(1104));
|
|
aot_gpr_31 = (0x08ACC7B0u);
|
|
aot_gpr_5 = (aot_gpr_2 | 0u);
|
|
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0178->0176.
|
|
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
|
|
AOT_REGCACHE_SYNC_OUT();
|
|
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0178_entry, 168u, 0x08ACC7B0u, 0x08AC7610u)) {
|
|
#if defined(__clang__)
|
|
[[clang::musttail]] return recomp_unit_0176_entry(rt, ctx, 918u, aot_mem);
|
|
#else
|
|
recomp_unit_0176_entry(rt, ctx, 918u, aot_mem); return;
|
|
#endif
|
|
}
|
|
return;
|
|
#else
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 918u, 0x08AC7610u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACC7B0u) goto L_08ACC7B0;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
#endif
|
|
L_08ACC7B0:
|
|
aot_gpr_31 = (0x08ACC7B8u);
|
|
aot_gpr_4 = (ctx.gpr[16] | 0u);
|
|
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0178->0176.
|
|
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
|
|
AOT_REGCACHE_SYNC_OUT();
|
|
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0178_entry, 169u, 0x08ACC7B8u, 0x08AC77B4u)) {
|
|
#if defined(__clang__)
|
|
[[clang::musttail]] return recomp_unit_0176_entry(rt, ctx, 944u, aot_mem);
|
|
#else
|
|
recomp_unit_0176_entry(rt, ctx, 944u, aot_mem); return;
|
|
#endif
|
|
}
|
|
return;
|
|
#else
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 944u, 0x08AC77B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACC7B8u) goto L_08ACC7B8;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
#endif
|
|
L_08ACC7B8:
|
|
{ const bool branch_taken = aot_gpr_2 == 0u;
|
|
if (branch_taken) {
|
|
goto L_08ACC7D0;
|
|
}
|
|
goto L_08ACC7C0;
|
|
}
|
|
L_08ACC7C0:
|
|
aot_gpr_31 = (0x08ACC7C8u);
|
|
aot_gpr_4 = (ctx.gpr[16] | 0u);
|
|
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0178->0176.
|
|
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
|
|
AOT_REGCACHE_SYNC_OUT();
|
|
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0178_entry, 171u, 0x08ACC7C8u, 0x08AC77BCu)) {
|
|
#if defined(__clang__)
|
|
[[clang::musttail]] return recomp_unit_0176_entry(rt, ctx, 945u, aot_mem);
|
|
#else
|
|
recomp_unit_0176_entry(rt, ctx, 945u, aot_mem); return;
|
|
#endif
|
|
}
|
|
return;
|
|
#else
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 945u, 0x08AC77BCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACC7C8u) goto L_08ACC7C8;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
#endif
|
|
L_08ACC7C8:
|
|
{ const bool branch_taken = 0u == 0u;
|
|
ctx.fpr[22] = std::bit_cast<float>(std::bit_cast<std::uint32_t>(aot_fpr_0));
|
|
if (branch_taken) {
|
|
goto L_08ACC7D8;
|
|
}
|
|
goto L_08ACC7D0;
|
|
}
|
|
L_08ACC7D0:
|
|
aot_gpr_4 = (16320u << 16u);
|
|
ctx.fpr[22] = std::bit_cast<float>(aot_gpr_4);
|
|
goto L_08ACC7D8;
|
|
L_08ACC7D8:
|
|
ctx.gpr[16] = (aot_gpr_29 + static_cast<std::uint32_t>(1104));
|
|
ctx.gpr[18] = (aot_gpr_29 + static_cast<std::uint32_t>(1088));
|
|
aot_gpr_4 = (ctx.gpr[16] | 0u);
|
|
aot_gpr_31 = (0x08ACC7ECu);
|
|
aot_gpr_5 = (ctx.gpr[18] | 0u);
|
|
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0178->0163.
|
|
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
|
|
AOT_REGCACHE_SYNC_OUT();
|
|
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0178_entry, 174u, 0x08ACC7ECu, 0x08A931D0u)) {
|
|
#if defined(__clang__)
|
|
[[clang::musttail]] return recomp_unit_0163_entry(rt, ctx, 464u, aot_mem);
|
|
#else
|
|
recomp_unit_0163_entry(rt, ctx, 464u, aot_mem); return;
|
|
#endif
|
|
}
|
|
return;
|
|
#else
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0163_entry, 163u, 464u, 0x08A931D0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACC7ECu) goto L_08ACC7EC;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
#endif
|
|
L_08ACC7EC:
|
|
aot_gpr_31 = (0x08ACC7F4u);
|
|
aot_gpr_4 = (ctx.gpr[16] | 0u);
|
|
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0178->0176.
|
|
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
|
|
AOT_REGCACHE_SYNC_OUT();
|
|
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0178_entry, 175u, 0x08ACC7F4u, 0x08AC75C0u)) {
|
|
#if defined(__clang__)
|
|
[[clang::musttail]] return recomp_unit_0176_entry(rt, ctx, 915u, aot_mem);
|
|
#else
|
|
recomp_unit_0176_entry(rt, ctx, 915u, aot_mem); return;
|
|
#endif
|
|
}
|
|
return;
|
|
#else
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 915u, 0x08AC75C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACC7F4u) goto L_08ACC7F4;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
#endif
|
|
L_08ACC7F4:
|
|
aot_fpr_12 = ctx.fpr[22] / aot_fpr_0;
|
|
aot_gpr_31 = (0x08ACC800u);
|
|
aot_gpr_4 = (ctx.gpr[16] | 0u);
|
|
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0178->0176.
|
|
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
|
|
AOT_REGCACHE_SYNC_OUT();
|
|
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0178_entry, 176u, 0x08ACC800u, 0x08AC7620u)) {
|
|
#if defined(__clang__)
|
|
[[clang::musttail]] return recomp_unit_0176_entry(rt, ctx, 919u, aot_mem);
|
|
#else
|
|
recomp_unit_0176_entry(rt, ctx, 919u, aot_mem); return;
|
|
#endif
|
|
}
|
|
return;
|
|
#else
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 919u, 0x08AC7620u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACC800u) goto L_08ACC800;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
#endif
|
|
L_08ACC800:
|
|
aot_gpr_4 = (ctx.gpr[16] | 0u);
|
|
aot_gpr_31 = (0x08ACC80Cu);
|
|
aot_gpr_5 = (ctx.gpr[18] | 0u);
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08A931B8, 163u, 0x08A931B8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACC80Cu) goto L_08ACC80C;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
L_08ACC80C:
|
|
aot_gpr_2 = (0u | 1u);
|
|
aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast<std::uint32_t>(8072), static_cast<std::uint8_t>(aot_gpr_2));
|
|
{ const std::uint32_t aot_run_words[4]{0u, aot_gpr_2, 0u, 0u};
|
|
aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast<std::uint32_t>(0), aot_run_words); }
|
|
ctx.gpr[6] = (aot_gpr_29 + static_cast<std::uint32_t>(1120));
|
|
ctx.gpr[7] = (aot_gpr_29 + static_cast<std::uint32_t>(1072));
|
|
aot_gpr_4 = (ctx.gpr[18] | 0u);
|
|
aot_gpr_5 = (ctx.gpr[16] | 0u);
|
|
ctx.gpr[8] = (0u | 1u);
|
|
ctx.gpr[9] = (0u | 1u);
|
|
ctx.gpr[10] = (0u | 1u);
|
|
ctx.gpr[11] = (0u | 1u);
|
|
aot_gpr_31 = (0x08ACC84Cu);
|
|
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(16), 0u);
|
|
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0178->0036.
|
|
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
|
|
AOT_REGCACHE_SYNC_OUT();
|
|
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0178_entry, 178u, 0x08ACC84Cu, 0x0889786Cu)) {
|
|
#if defined(__clang__)
|
|
[[clang::musttail]] return recomp_unit_0036_entry(rt, ctx, 698u, aot_mem);
|
|
#else
|
|
recomp_unit_0036_entry(rt, ctx, 698u, aot_mem); return;
|
|
#endif
|
|
}
|
|
return;
|
|
#else
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0036_entry, 36u, 698u, 0x0889786Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACC84Cu) goto L_08ACC84C;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
#endif
|
|
L_08ACC84C:
|
|
aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast<std::uint32_t>(8072), static_cast<std::uint8_t>(0u));
|
|
ctx.gpr[16] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(1072)));
|
|
aot_gpr_31 = (0x08ACC85Cu);
|
|
aot_gpr_4 = (aot_gpr_17 | 0u);
|
|
if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AC7C58, 176u, 1021u, 0x08AC7C58u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0176_entry, 176u, 1021u, 0x08AC7C58u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACC85Cu) goto L_08ACC85C;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
L_08ACC85C:
|
|
{ const bool branch_taken = ctx.gpr[16] != aot_gpr_2;
|
|
if (branch_taken) {
|
|
goto L_08ACC964;
|
|
}
|
|
goto L_08ACC864;
|
|
}
|
|
L_08ACC864:
|
|
aot_gpr_31 = (0x08ACC86Cu);
|
|
aot_gpr_4 = (aot_gpr_17 | 0u);
|
|
if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AC79D4, 176u, 972u, 0x08AC79D4u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0176_entry, 176u, 972u, 0x08AC79D4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACC86Cu) goto L_08ACC86C;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
L_08ACC86C:
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_2 + static_cast<std::uint32_t>(0)));
|
|
aot_gpr_5 = (0u | 17u);
|
|
{ const bool branch_taken = aot_gpr_4 == aot_gpr_5;
|
|
if (branch_taken) {
|
|
goto L_08ACC904;
|
|
}
|
|
goto L_08ACC87C;
|
|
}
|
|
L_08ACC87C:
|
|
aot_gpr_4 = (aot_gpr_17 | 0u);
|
|
aot_gpr_31 = (0x08ACC888u);
|
|
aot_gpr_5 = (0u | 1u);
|
|
if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890BE50, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0065_entry, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACC888u) goto L_08ACC888;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
L_08ACC888:
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast<std::uint32_t>(92)));
|
|
aot_gpr_4 = (aot_gpr_4 + static_cast<std::uint32_t>(248));
|
|
aot_gpr_5 = (static_cast<std::uint32_t>(static_cast<std::int32_t>(static_cast<std::int16_t>(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast<std::uint32_t>(0))))));
|
|
ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast<std::uint32_t>(4)));
|
|
aot_gpr_4 = (aot_gpr_17 + aot_gpr_5);
|
|
jump_target = ctx.gpr[6];
|
|
aot_gpr_31 = (0x08ACC8A4u);
|
|
aot_gpr_5 = (0u | 0u);
|
|
ctx.pc = jump_target;
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACC8A4u) goto L_08ACC8A4;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
L_08ACC8A4:
|
|
aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast<std::uint32_t>(460)));
|
|
aot_gpr_4 = (aot_gpr_17 | 0u);
|
|
aot_gpr_5 = (aot_gpr_5 | 512u);
|
|
aot_gpr_31 = (0x08ACC8B8u);
|
|
aot_mem.aot_direct_store32(aot_gpr_17 + static_cast<std::uint32_t>(460), aot_gpr_5);
|
|
if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AC7C58, 176u, 1021u, 0x08AC7C58u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0176_entry, 176u, 1021u, 0x08AC7C58u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACC8B8u) goto L_08ACC8B8;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
L_08ACC8B8:
|
|
aot_gpr_4 = (aot_gpr_17 | 0u);
|
|
aot_gpr_31 = (0x08ACC8C4u);
|
|
aot_gpr_5 = (aot_gpr_2 | 0u);
|
|
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0178->0056.
|
|
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
|
|
AOT_REGCACHE_SYNC_OUT();
|
|
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0178_entry, 186u, 0x08ACC8C4u, 0x088E76D4u)) {
|
|
#if defined(__clang__)
|
|
[[clang::musttail]] return recomp_unit_0056_entry(rt, ctx, 716u, aot_mem);
|
|
#else
|
|
recomp_unit_0056_entry(rt, ctx, 716u, aot_mem); return;
|
|
#endif
|
|
}
|
|
return;
|
|
#else
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0056_entry, 56u, 716u, 0x088E76D4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACC8C4u) goto L_08ACC8C4;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
#endif
|
|
L_08ACC8C4:
|
|
aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast<std::uint32_t>(92)));
|
|
aot_gpr_4 = (aot_gpr_17 | 0u);
|
|
ctx.gpr[16] = (aot_gpr_5 + static_cast<std::uint32_t>(240));
|
|
aot_gpr_5 = (static_cast<std::uint32_t>(static_cast<std::int32_t>(static_cast<std::int16_t>(aot_mem.aot_direct_load16(ctx.gpr[16] + static_cast<std::uint32_t>(0))))));
|
|
aot_gpr_31 = (0x08ACC8DCu);
|
|
ctx.gpr[18] = (aot_gpr_17 + aot_gpr_5);
|
|
if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AC7C58, 176u, 1021u, 0x08AC7C58u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0176_entry, 176u, 1021u, 0x08AC7C58u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACC8DCu) goto L_08ACC8DC;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
L_08ACC8DC:
|
|
ctx.gpr[6] = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast<std::uint32_t>(4)));
|
|
aot_gpr_4 = (ctx.gpr[18] | 0u);
|
|
jump_target = ctx.gpr[6];
|
|
aot_gpr_31 = (0x08ACC8ECu);
|
|
aot_gpr_5 = (aot_gpr_2 | 0u);
|
|
ctx.pc = jump_target;
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACC8ECu) goto L_08ACC8EC;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
L_08ACC8EC:
|
|
aot_gpr_4 = (0u | 500u);
|
|
aot_gpr_31 = (0x08ACC8F8u);
|
|
aot_gpr_5 = (0u | 2000u);
|
|
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0178->0176.
|
|
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
|
|
AOT_REGCACHE_SYNC_OUT();
|
|
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0178_entry, 189u, 0x08ACC8F8u, 0x08AC7830u)) {
|
|
#if defined(__clang__)
|
|
[[clang::musttail]] return recomp_unit_0176_entry(rt, ctx, 951u, aot_mem);
|
|
#else
|
|
recomp_unit_0176_entry(rt, ctx, 951u, aot_mem); return;
|
|
#endif
|
|
}
|
|
return;
|
|
#else
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 951u, 0x08AC7830u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACC8F8u) goto L_08ACC8F8;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
#endif
|
|
L_08ACC8F8:
|
|
aot_gpr_4 = (aot_gpr_17 | 0u);
|
|
aot_gpr_31 = (0x08ACC904u);
|
|
aot_gpr_5 = (aot_gpr_2 | 0u);
|
|
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0178->0065.
|
|
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
|
|
AOT_REGCACHE_SYNC_OUT();
|
|
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0178_entry, 190u, 0x08ACC904u, 0x0890A5BCu)) {
|
|
#if defined(__clang__)
|
|
[[clang::musttail]] return recomp_unit_0065_entry(rt, ctx, 613u, aot_mem);
|
|
#else
|
|
recomp_unit_0065_entry(rt, ctx, 613u, aot_mem); return;
|
|
#endif
|
|
}
|
|
return;
|
|
#else
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 613u, 0x0890A5BCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACC904u) goto L_08ACC904;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
#endif
|
|
L_08ACC904:
|
|
aot_gpr_4 = (16672u << 16u);
|
|
aot_fpr_12 = std::bit_cast<float>(aot_gpr_4);
|
|
ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_20 <= aot_fpr_12)) ? 0x00800000u : 0u);
|
|
{ const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u);
|
|
if (branch_taken) {
|
|
goto L_08ACC94C;
|
|
}
|
|
goto L_08ACC91C;
|
|
}
|
|
L_08ACC91C:
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast<std::uint32_t>(460)));
|
|
aot_gpr_4 = (aot_gpr_4 & 512u);
|
|
{ const bool branch_taken = aot_gpr_4 != 0u;
|
|
if (branch_taken) {
|
|
goto L_08ACC94C;
|
|
}
|
|
goto L_08ACC92C;
|
|
}
|
|
L_08ACC92C:
|
|
aot_gpr_4 = (0u | 2000u);
|
|
aot_gpr_31 = (0x08ACC938u);
|
|
aot_gpr_5 = (0u | 5000u);
|
|
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0178->0176.
|
|
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
|
|
AOT_REGCACHE_SYNC_OUT();
|
|
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0178_entry, 193u, 0x08ACC938u, 0x08AC7830u)) {
|
|
#if defined(__clang__)
|
|
[[clang::musttail]] return recomp_unit_0176_entry(rt, ctx, 951u, aot_mem);
|
|
#else
|
|
recomp_unit_0176_entry(rt, ctx, 951u, aot_mem); return;
|
|
#endif
|
|
}
|
|
return;
|
|
#else
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 951u, 0x08AC7830u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACC938u) goto L_08ACC938;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
#endif
|
|
L_08ACC938:
|
|
aot_gpr_4 = (aot_gpr_17 | 0u);
|
|
aot_gpr_31 = (0x08ACC944u);
|
|
aot_gpr_5 = (aot_gpr_2 | 0u);
|
|
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0178->0065.
|
|
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
|
|
AOT_REGCACHE_SYNC_OUT();
|
|
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0178_entry, 194u, 0x08ACC944u, 0x0890A484u)) {
|
|
#if defined(__clang__)
|
|
[[clang::musttail]] return recomp_unit_0065_entry(rt, ctx, 598u, aot_mem);
|
|
#else
|
|
recomp_unit_0065_entry(rt, ctx, 598u, aot_mem); return;
|
|
#endif
|
|
}
|
|
return;
|
|
#else
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 598u, 0x0890A484u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACC944u) goto L_08ACC944;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
#endif
|
|
L_08ACC944:
|
|
{ const bool branch_taken = 0u == 0u;
|
|
if (branch_taken) {
|
|
goto L_08ACC964;
|
|
}
|
|
goto L_08ACC94C;
|
|
}
|
|
L_08ACC94C:
|
|
aot_gpr_4 = (0u | 50u);
|
|
aot_gpr_31 = (0x08ACC958u);
|
|
aot_gpr_5 = (0u | 300u);
|
|
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0178->0176.
|
|
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
|
|
AOT_REGCACHE_SYNC_OUT();
|
|
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0178_entry, 196u, 0x08ACC958u, 0x08AC7830u)) {
|
|
#if defined(__clang__)
|
|
[[clang::musttail]] return recomp_unit_0176_entry(rt, ctx, 951u, aot_mem);
|
|
#else
|
|
recomp_unit_0176_entry(rt, ctx, 951u, aot_mem); return;
|
|
#endif
|
|
}
|
|
return;
|
|
#else
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 951u, 0x08AC7830u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACC958u) goto L_08ACC958;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
#endif
|
|
L_08ACC958:
|
|
aot_gpr_4 = (aot_gpr_17 | 0u);
|
|
aot_gpr_31 = (0x08ACC964u);
|
|
aot_gpr_5 = (aot_gpr_2 | 0u);
|
|
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0178->0065.
|
|
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
|
|
AOT_REGCACHE_SYNC_OUT();
|
|
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0178_entry, 197u, 0x08ACC964u, 0x0890A484u)) {
|
|
#if defined(__clang__)
|
|
[[clang::musttail]] return recomp_unit_0065_entry(rt, ctx, 598u, aot_mem);
|
|
#else
|
|
recomp_unit_0065_entry(rt, ctx, 598u, aot_mem); return;
|
|
#endif
|
|
}
|
|
return;
|
|
#else
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 598u, 0x0890A484u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACC964u) goto L_08ACC964;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
#endif
|
|
L_08ACC964:
|
|
{ const bool branch_taken = 0u == 0u;
|
|
if (branch_taken) {
|
|
goto L_08ACCA88;
|
|
}
|
|
goto L_08ACC96C;
|
|
}
|
|
L_08ACC96C:
|
|
aot_gpr_31 = (0x08ACC974u);
|
|
aot_gpr_4 = (aot_gpr_17 | 0u);
|
|
if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AC79D4, 176u, 972u, 0x08AC79D4u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0176_entry, 176u, 972u, 0x08AC79D4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACC974u) goto L_08ACC974;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
L_08ACC974:
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_2 + static_cast<std::uint32_t>(0)));
|
|
aot_gpr_5 = (0u | 16u);
|
|
{ const bool branch_taken = aot_gpr_4 == aot_gpr_5;
|
|
if (branch_taken) {
|
|
goto L_08ACCA88;
|
|
}
|
|
goto L_08ACC984;
|
|
}
|
|
L_08ACC984:
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast<std::uint32_t>(460)));
|
|
aot_gpr_4 = (aot_gpr_4 & 512u);
|
|
{ const bool branch_taken = aot_gpr_4 != 0u;
|
|
if (branch_taken) {
|
|
goto L_08ACCA88;
|
|
}
|
|
goto L_08ACC994;
|
|
}
|
|
L_08ACC994:
|
|
aot_gpr_4 = (16544u << 16u);
|
|
aot_fpr_12 = std::bit_cast<float>(aot_gpr_4);
|
|
ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((ctx.fpr[22] <= aot_fpr_12)) ? 0x00800000u : 0u);
|
|
{ const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u);
|
|
if (branch_taken) {
|
|
goto L_08ACC9E0;
|
|
}
|
|
goto L_08ACC9AC;
|
|
}
|
|
L_08ACC9AC:
|
|
aot_gpr_31 = (0x08ACC9B4u);
|
|
aot_gpr_4 = (aot_gpr_17 | 0u);
|
|
if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AC7C58, 176u, 1021u, 0x08AC7C58u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0176_entry, 176u, 1021u, 0x08AC7C58u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACC9B4u) goto L_08ACC9B4;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
L_08ACC9B4:
|
|
aot_gpr_4 = (16000u << 16u);
|
|
aot_fpr_12 = std::bit_cast<float>(aot_gpr_4);
|
|
aot_gpr_5 = (aot_gpr_2 | 0u);
|
|
aot_gpr_4 = (aot_gpr_17 | 0u);
|
|
aot_gpr_31 = (0x08ACC9CCu);
|
|
{ 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_12 = std::bit_cast<float>(0x7FC00000u); else aot_fpr_12 = fs * ft; }
|
|
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0178->0065.
|
|
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
|
|
AOT_REGCACHE_SYNC_OUT();
|
|
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0178_entry, 204u, 0x08ACC9CCu, 0x0890AED8u)) {
|
|
#if defined(__clang__)
|
|
[[clang::musttail]] return recomp_unit_0065_entry(rt, ctx, 751u, aot_mem);
|
|
#else
|
|
recomp_unit_0065_entry(rt, ctx, 751u, aot_mem); return;
|
|
#endif
|
|
}
|
|
return;
|
|
#else
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 751u, 0x0890AED8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACC9CCu) goto L_08ACC9CC;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
#endif
|
|
L_08ACC9CC:
|
|
aot_gpr_4 = (aot_gpr_17 | 0u);
|
|
aot_gpr_31 = (0x08ACC9D8u);
|
|
aot_gpr_5 = (0u | 4u);
|
|
if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890BE50, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0065_entry, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACC9D8u) goto L_08ACC9D8;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
L_08ACC9D8:
|
|
{ const bool branch_taken = 0u == 0u;
|
|
if (branch_taken) {
|
|
goto L_08ACCA88;
|
|
}
|
|
goto L_08ACC9E0;
|
|
}
|
|
L_08ACC9E0:
|
|
aot_gpr_31 = (0x08ACC9E8u);
|
|
aot_gpr_4 = (aot_gpr_29 + static_cast<std::uint32_t>(32));
|
|
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0178->0176.
|
|
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
|
|
AOT_REGCACHE_SYNC_OUT();
|
|
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0178_entry, 207u, 0x08ACC9E8u, 0x08AC740Cu)) {
|
|
#if defined(__clang__)
|
|
[[clang::musttail]] return recomp_unit_0176_entry(rt, ctx, 895u, aot_mem);
|
|
#else
|
|
recomp_unit_0176_entry(rt, ctx, 895u, aot_mem); return;
|
|
#endif
|
|
}
|
|
return;
|
|
#else
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 895u, 0x08AC740Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACC9E8u) goto L_08ACC9E8;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
#endif
|
|
L_08ACC9E8:
|
|
ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_0 <= ctx.fpr[22])) ? 0x00800000u : 0u);
|
|
{ const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u);
|
|
if (branch_taken) {
|
|
goto L_08ACCA50;
|
|
}
|
|
goto L_08ACC9F8;
|
|
}
|
|
L_08ACC9F8:
|
|
aot_gpr_31 = (0x08ACCA00u);
|
|
aot_gpr_4 = (aot_gpr_29 + static_cast<std::uint32_t>(36));
|
|
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0178->0176.
|
|
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
|
|
AOT_REGCACHE_SYNC_OUT();
|
|
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0178_entry, 209u, 0x08ACCA00u, 0x08AC740Cu)) {
|
|
#if defined(__clang__)
|
|
[[clang::musttail]] return recomp_unit_0176_entry(rt, ctx, 895u, aot_mem);
|
|
#else
|
|
recomp_unit_0176_entry(rt, ctx, 895u, aot_mem); return;
|
|
#endif
|
|
}
|
|
return;
|
|
#else
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 895u, 0x08AC740Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACCA00u) goto L_08ACCA00;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
#endif
|
|
L_08ACCA00:
|
|
ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_0 <= ctx.fpr[22])) ? 0x00800000u : 0u);
|
|
{ const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u);
|
|
if (branch_taken) {
|
|
goto L_08ACCA50;
|
|
}
|
|
goto L_08ACCA10;
|
|
}
|
|
L_08ACCA10:
|
|
aot_fpr_12 = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(40)));
|
|
aot_gpr_4 = (49024u << 16u);
|
|
aot_fpr_13 = std::bit_cast<float>(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_08ACCA80;
|
|
}
|
|
goto L_08ACCA2C;
|
|
}
|
|
L_08ACCA2C:
|
|
aot_gpr_31 = (0x08ACCA34u);
|
|
aot_fpr_12 = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(40)));
|
|
if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B61B60, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, ctx.gpr[3], aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], aot_gpr_29, aot_gpr_31, aot_fpr_12); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 341u, 0x08B61B60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACCA34u) goto L_08ACCA34;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
L_08ACCA34:
|
|
ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(-764)));
|
|
ctx.gpr[6] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(-768)));
|
|
aot_gpr_5 = (ctx.gpr[3] | 0u);
|
|
aot_gpr_31 = (0x08ACCA48u);
|
|
aot_gpr_4 = (aot_gpr_2 | 0u);
|
|
if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B6256C, 215u, 478u, 0x08B6256Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, ctx.gpr[3], aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[16], 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, 478u, 0x08B6256Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACCA48u) goto L_08ACCA48;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
L_08ACCA48:
|
|
{ const bool branch_taken = static_cast<std::int32_t>(aot_gpr_2) >= 0;
|
|
if (branch_taken) {
|
|
goto L_08ACCA80;
|
|
}
|
|
goto L_08ACCA50;
|
|
}
|
|
L_08ACCA50:
|
|
aot_gpr_31 = (0x08ACCA58u);
|
|
aot_gpr_4 = (aot_gpr_17 | 0u);
|
|
if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AC7C58, 176u, 1021u, 0x08AC7C58u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0176_entry, 176u, 1021u, 0x08AC7C58u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACCA58u) goto L_08ACCA58;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
L_08ACCA58:
|
|
ctx.gpr[6] = (16448u << 16u);
|
|
aot_gpr_4 = (aot_gpr_17 | 0u);
|
|
aot_fpr_12 = std::bit_cast<float>(ctx.gpr[6]);
|
|
aot_gpr_31 = (0x08ACCA6Cu);
|
|
aot_gpr_5 = (aot_gpr_2 | 0u);
|
|
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0178->0065.
|
|
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
|
|
AOT_REGCACHE_SYNC_OUT();
|
|
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0178_entry, 216u, 0x08ACCA6Cu, 0x0890AED8u)) {
|
|
#if defined(__clang__)
|
|
[[clang::musttail]] return recomp_unit_0065_entry(rt, ctx, 751u, aot_mem);
|
|
#else
|
|
recomp_unit_0065_entry(rt, ctx, 751u, aot_mem); return;
|
|
#endif
|
|
}
|
|
return;
|
|
#else
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 751u, 0x0890AED8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACCA6Cu) goto L_08ACCA6C;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
#endif
|
|
L_08ACCA6C:
|
|
aot_gpr_4 = (aot_gpr_17 | 0u);
|
|
aot_gpr_31 = (0x08ACCA78u);
|
|
aot_gpr_5 = (0u | 4u);
|
|
if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890BE50, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0065_entry, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACCA78u) goto L_08ACCA78;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
L_08ACCA78:
|
|
{ const bool branch_taken = 0u == 0u;
|
|
if (branch_taken) {
|
|
goto L_08ACCA88;
|
|
}
|
|
goto L_08ACCA80;
|
|
}
|
|
L_08ACCA80:
|
|
aot_gpr_31 = (0x08ACCA88u);
|
|
aot_gpr_4 = (aot_gpr_17 | 0u);
|
|
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0178->0065.
|
|
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
|
|
AOT_REGCACHE_SYNC_OUT();
|
|
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0178_entry, 219u, 0x08ACCA88u, 0x0890905Cu)) {
|
|
#if defined(__clang__)
|
|
[[clang::musttail]] return recomp_unit_0065_entry(rt, ctx, 282u, aot_mem);
|
|
#else
|
|
recomp_unit_0065_entry(rt, ctx, 282u, aot_mem); return;
|
|
#endif
|
|
}
|
|
return;
|
|
#else
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 282u, 0x0890905Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACCA88u) goto L_08ACCA88;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
#endif
|
|
L_08ACCA88:
|
|
aot_gpr_31 = (0x08ACCA90u);
|
|
aot_gpr_4 = (aot_gpr_17 | 0u);
|
|
if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AC7C58, 176u, 1021u, 0x08AC7C58u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0176_entry, 176u, 1021u, 0x08AC7C58u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACCA90u) goto L_08ACCA90;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
L_08ACCA90:
|
|
aot_gpr_4 = (aot_gpr_17 | 0u);
|
|
aot_gpr_5 = (aot_gpr_2 | 0u);
|
|
ctx.gpr[6] = (0u | 0u);
|
|
ctx.gpr[7] = (0u | 0u);
|
|
aot_gpr_31 = (0x08ACCAA8u);
|
|
ctx.gpr[8] = (0u | 0u);
|
|
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0178->0065.
|
|
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
|
|
AOT_REGCACHE_SYNC_OUT();
|
|
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0178_entry, 221u, 0x08ACCAA8u, 0x08909A64u)) {
|
|
#if defined(__clang__)
|
|
[[clang::musttail]] return recomp_unit_0065_entry(rt, ctx, 442u, aot_mem);
|
|
#else
|
|
recomp_unit_0065_entry(rt, ctx, 442u, aot_mem); return;
|
|
#endif
|
|
}
|
|
return;
|
|
#else
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 442u, 0x08909A64u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACCAA8u) goto L_08ACCAA8;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
#endif
|
|
L_08ACCAA8:
|
|
aot_gpr_31 = (0x08ACCAB0u);
|
|
aot_gpr_4 = (aot_gpr_17 | 0u);
|
|
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0178->0065.
|
|
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
|
|
AOT_REGCACHE_SYNC_OUT();
|
|
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0178_entry, 222u, 0x08ACCAB0u, 0x0890932Cu)) {
|
|
#if defined(__clang__)
|
|
[[clang::musttail]] return recomp_unit_0065_entry(rt, ctx, 332u, aot_mem);
|
|
#else
|
|
recomp_unit_0065_entry(rt, ctx, 332u, aot_mem); return;
|
|
#endif
|
|
}
|
|
return;
|
|
#else
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 332u, 0x0890932Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACCAB0u) goto L_08ACCAB0;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
#endif
|
|
L_08ACCAB0:
|
|
{ const bool branch_taken = 0u == 0u;
|
|
if (branch_taken) {
|
|
goto L_08ACCACC;
|
|
}
|
|
goto L_08ACCAB8;
|
|
}
|
|
L_08ACCAB8:
|
|
aot_gpr_31 = (0x08ACCAC0u);
|
|
aot_gpr_4 = (aot_gpr_17 | 0u);
|
|
if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08909B60, 65u, 454u, 0x08909B60u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[16], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0065_entry, 65u, 454u, 0x08909B60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACCAC0u) goto L_08ACCAC0;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
L_08ACCAC0:
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast<std::uint32_t>(460)));
|
|
aot_gpr_4 = (aot_gpr_4 | 128u);
|
|
aot_mem.aot_direct_store32(aot_gpr_17 + static_cast<std::uint32_t>(460), aot_gpr_4);
|
|
goto L_08ACCACC;
|
|
L_08ACCACC:
|
|
{ const bool branch_taken = 0u == 0u;
|
|
if (branch_taken) {
|
|
goto L_08ACD280;
|
|
}
|
|
goto L_08ACCAD4;
|
|
}
|
|
L_08ACCAD4:
|
|
aot_gpr_31 = (0x08ACCADCu);
|
|
aot_gpr_4 = (aot_gpr_17 | 0u);
|
|
if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AC7C58, 176u, 1021u, 0x08AC7C58u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0176_entry, 176u, 1021u, 0x08AC7C58u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACCADCu) goto L_08ACCADC;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
L_08ACCADC:
|
|
{ const bool branch_taken = aot_gpr_2 != 0u;
|
|
if (branch_taken) {
|
|
goto L_08ACCC1C;
|
|
}
|
|
goto L_08ACCAE4;
|
|
}
|
|
L_08ACCAE4:
|
|
aot_gpr_5 = (16752u << 16u);
|
|
aot_gpr_4 = (aot_gpr_17 | 0u);
|
|
aot_gpr_31 = (0x08ACCAF4u);
|
|
aot_fpr_20 = std::bit_cast<float>(aot_gpr_5);
|
|
if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AC7670, 176u, 924u, 0x08AC7670u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0176_entry, 176u, 924u, 0x08AC7670u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACCAF4u) goto L_08ACCAF4;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
L_08ACCAF4:
|
|
aot_gpr_4 = (aot_gpr_29 + static_cast<std::uint32_t>(1152));
|
|
aot_gpr_31 = (0x08ACCB00u);
|
|
aot_gpr_5 = (aot_gpr_2 | 0u);
|
|
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0178->0176.
|
|
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
|
|
AOT_REGCACHE_SYNC_OUT();
|
|
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0178_entry, 230u, 0x08ACCB00u, 0x08AC75B0u)) {
|
|
#if defined(__clang__)
|
|
[[clang::musttail]] return recomp_unit_0176_entry(rt, ctx, 914u, aot_mem);
|
|
#else
|
|
recomp_unit_0176_entry(rt, ctx, 914u, aot_mem); return;
|
|
#endif
|
|
}
|
|
return;
|
|
#else
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 914u, 0x08AC75B0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACCB00u) goto L_08ACCB00;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
#endif
|
|
L_08ACCB00:
|
|
aot_gpr_4 = (aot_gpr_2 | 0u);
|
|
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(0), 0u);
|
|
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(4), 0u);
|
|
aot_gpr_2 = (16672u << 16u);
|
|
ctx.gpr[6] = (aot_gpr_29 + static_cast<std::uint32_t>(1216));
|
|
aot_fpr_12 = std::bit_cast<float>(aot_gpr_2);
|
|
ctx.gpr[8] = (aot_gpr_29 + static_cast<std::uint32_t>(1168));
|
|
aot_gpr_5 = (0u | 1u);
|
|
ctx.gpr[7] = (0u | 6u);
|
|
ctx.gpr[9] = (0u | 0u);
|
|
ctx.gpr[10] = (0u | 1u);
|
|
ctx.gpr[11] = (0u | 0u);
|
|
aot_gpr_31 = (0x08ACCB38u);
|
|
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(8), 0u);
|
|
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0178->0037.
|
|
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
|
|
AOT_REGCACHE_SYNC_OUT();
|
|
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0178_entry, 231u, 0x08ACCB38u, 0x08899758u)) {
|
|
#if defined(__clang__)
|
|
[[clang::musttail]] return recomp_unit_0037_entry(rt, ctx, 287u, aot_mem);
|
|
#else
|
|
recomp_unit_0037_entry(rt, ctx, 287u, aot_mem); return;
|
|
#endif
|
|
}
|
|
return;
|
|
#else
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0037_entry, 37u, 287u, 0x08899758u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACCB38u) goto L_08ACCB38;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
#endif
|
|
L_08ACCB38:
|
|
aot_gpr_4 = (static_cast<std::uint32_t>(static_cast<std::int32_t>(static_cast<std::int16_t>(aot_mem.aot_direct_load16(aot_gpr_29 + static_cast<std::uint32_t>(1216))))));
|
|
ctx.gpr[18] = (0u | 0u);
|
|
aot_gpr_4 = (static_cast<std::int32_t>(ctx.gpr[18]) < static_cast<std::int32_t>(aot_gpr_4) ? 1u : 0u);
|
|
{ const bool branch_taken = aot_gpr_4 == 0u;
|
|
ctx.gpr[16] = (0u | 0u);
|
|
if (branch_taken) {
|
|
goto L_08ACCC00;
|
|
}
|
|
goto L_08ACCB4C;
|
|
}
|
|
L_08ACCB4C:
|
|
aot_gpr_4 = (ctx.gpr[18] << 2u);
|
|
aot_gpr_4 = (aot_gpr_29 + aot_gpr_4);
|
|
ctx.gpr[19] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast<std::uint32_t>(1168)));
|
|
aot_gpr_31 = (0x08ACCB60u);
|
|
aot_gpr_4 = (ctx.gpr[19] | 0u);
|
|
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0178->0176.
|
|
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
|
|
AOT_REGCACHE_SYNC_OUT();
|
|
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0178_entry, 233u, 0x08ACCB60u, 0x08AC7978u)) {
|
|
#if defined(__clang__)
|
|
[[clang::musttail]] return recomp_unit_0176_entry(rt, ctx, 965u, aot_mem);
|
|
#else
|
|
recomp_unit_0176_entry(rt, ctx, 965u, aot_mem); return;
|
|
#endif
|
|
}
|
|
return;
|
|
#else
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 965u, 0x08AC7978u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACCB60u) goto L_08ACCB60;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
#endif
|
|
L_08ACCB60:
|
|
aot_gpr_4 = (0u | 3u);
|
|
{ const bool branch_taken = aot_gpr_2 != aot_gpr_4;
|
|
if (branch_taken) {
|
|
goto L_08ACCBE4;
|
|
}
|
|
goto L_08ACCB6C;
|
|
}
|
|
L_08ACCB6C:
|
|
ctx.gpr[20] = (aot_gpr_29 + static_cast<std::uint32_t>(1200));
|
|
ctx.gpr[21] = (aot_gpr_29 + static_cast<std::uint32_t>(1232));
|
|
aot_gpr_31 = (0x08ACCB7Cu);
|
|
aot_gpr_4 = (ctx.gpr[19] | 0u);
|
|
if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AC7670, 176u, 924u, 0x08AC7670u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0176_entry, 176u, 924u, 0x08AC7670u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACCB7Cu) goto L_08ACCB7C;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
L_08ACCB7C:
|
|
ctx.gpr[22] = (aot_gpr_2 | 0u);
|
|
aot_gpr_31 = (0x08ACCB88u);
|
|
aot_gpr_4 = (aot_gpr_17 | 0u);
|
|
if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AC7670, 176u, 924u, 0x08AC7670u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0176_entry, 176u, 924u, 0x08AC7670u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACCB88u) goto L_08ACCB88;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
L_08ACCB88:
|
|
aot_gpr_4 = (ctx.gpr[21] | 0u);
|
|
aot_gpr_5 = (ctx.gpr[22] | 0u);
|
|
aot_gpr_31 = (0x08ACCB98u);
|
|
ctx.gpr[6] = (aot_gpr_2 | 0u);
|
|
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0178->0176.
|
|
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
|
|
AOT_REGCACHE_SYNC_OUT();
|
|
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0178_entry, 237u, 0x08ACCB98u, 0x08AC7474u)) {
|
|
#if defined(__clang__)
|
|
[[clang::musttail]] return recomp_unit_0176_entry(rt, ctx, 900u, aot_mem);
|
|
#else
|
|
recomp_unit_0176_entry(rt, ctx, 900u, aot_mem); return;
|
|
#endif
|
|
}
|
|
return;
|
|
#else
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 900u, 0x08AC7474u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACCB98u) goto L_08ACCB98;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
#endif
|
|
L_08ACCB98:
|
|
aot_gpr_4 = (ctx.gpr[20] | 0u);
|
|
aot_gpr_31 = (0x08ACCBA4u);
|
|
aot_gpr_5 = (ctx.gpr[21] | 0u);
|
|
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0178->0176.
|
|
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
|
|
AOT_REGCACHE_SYNC_OUT();
|
|
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0178_entry, 238u, 0x08ACCBA4u, 0x08AC7610u)) {
|
|
#if defined(__clang__)
|
|
[[clang::musttail]] return recomp_unit_0176_entry(rt, ctx, 918u, aot_mem);
|
|
#else
|
|
recomp_unit_0176_entry(rt, ctx, 918u, aot_mem); return;
|
|
#endif
|
|
}
|
|
return;
|
|
#else
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 918u, 0x08AC7610u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACCBA4u) goto L_08ACCBA4;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
#endif
|
|
L_08ACCBA4:
|
|
aot_gpr_31 = (0x08ACCBACu);
|
|
aot_gpr_4 = (ctx.gpr[20] | 0u);
|
|
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0178->0176.
|
|
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
|
|
AOT_REGCACHE_SYNC_OUT();
|
|
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0178_entry, 239u, 0x08ACCBACu, 0x08AC75C0u)) {
|
|
#if defined(__clang__)
|
|
[[clang::musttail]] return recomp_unit_0176_entry(rt, ctx, 915u, aot_mem);
|
|
#else
|
|
recomp_unit_0176_entry(rt, ctx, 915u, aot_mem); return;
|
|
#endif
|
|
}
|
|
return;
|
|
#else
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 915u, 0x08AC75C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACCBACu) goto L_08ACCBAC;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
#endif
|
|
L_08ACCBAC:
|
|
ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_0 < aot_fpr_20)) ? 0x00800000u : 0u);
|
|
{ const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u);
|
|
if (branch_taken) {
|
|
goto L_08ACCBE4;
|
|
}
|
|
goto L_08ACCBBC;
|
|
}
|
|
L_08ACCBBC:
|
|
aot_gpr_31 = (0x08ACCBC4u);
|
|
aot_gpr_4 = (aot_gpr_17 | 0u);
|
|
if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AC8054, 177u, 7u, 0x08AC8054u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0177_entry, 177u, 7u, 0x08AC8054u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACCBC4u) goto L_08ACCBC4;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
L_08ACCBC4:
|
|
aot_gpr_31 = (0x08ACCBCCu);
|
|
aot_gpr_4 = (aot_gpr_2 | 0u);
|
|
if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AC7C50, 176u, 1020u, 0x08AC7C50u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0176_entry, 176u, 1020u, 0x08AC7C50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACCBCCu) goto L_08ACCBCC;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
L_08ACCBCC:
|
|
{ const bool branch_taken = aot_gpr_2 == ctx.gpr[19];
|
|
if (branch_taken) {
|
|
goto L_08ACCBE4;
|
|
}
|
|
goto L_08ACCBD4;
|
|
}
|
|
L_08ACCBD4:
|
|
ctx.gpr[16] = (ctx.gpr[19] | 0u);
|
|
aot_gpr_31 = (0x08ACCBE0u);
|
|
aot_gpr_4 = (aot_gpr_29 + static_cast<std::uint32_t>(1200));
|
|
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0178->0176.
|
|
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
|
|
AOT_REGCACHE_SYNC_OUT();
|
|
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0178_entry, 244u, 0x08ACCBE0u, 0x08AC75C0u)) {
|
|
#if defined(__clang__)
|
|
[[clang::musttail]] return recomp_unit_0176_entry(rt, ctx, 915u, aot_mem);
|
|
#else
|
|
recomp_unit_0176_entry(rt, ctx, 915u, aot_mem); return;
|
|
#endif
|
|
}
|
|
return;
|
|
#else
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 915u, 0x08AC75C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACCBE0u) goto L_08ACCBE0;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
#endif
|
|
L_08ACCBE0:
|
|
aot_fpr_20 = std::bit_cast<float>(std::bit_cast<std::uint32_t>(aot_fpr_0));
|
|
goto L_08ACCBE4;
|
|
L_08ACCBE4:
|
|
aot_gpr_4 = (ctx.gpr[18] + static_cast<std::uint32_t>(1));
|
|
ctx.gpr[18] = (aot_gpr_4 << 16u);
|
|
aot_gpr_4 = (static_cast<std::uint32_t>(static_cast<std::int32_t>(static_cast<std::int16_t>(aot_mem.aot_direct_load16(aot_gpr_29 + static_cast<std::uint32_t>(1216))))));
|
|
ctx.gpr[18] = (static_cast<std::uint32_t>(static_cast<std::int32_t>(ctx.gpr[18]) >> 16u));
|
|
aot_gpr_4 = (static_cast<std::int32_t>(ctx.gpr[18]) < static_cast<std::int32_t>(aot_gpr_4) ? 1u : 0u);
|
|
{ const bool branch_taken = aot_gpr_4 != 0u;
|
|
if (branch_taken) {
|
|
goto L_08ACCB4C;
|
|
}
|
|
goto L_08ACCC00;
|
|
}
|
|
L_08ACCC00:
|
|
{ const bool branch_taken = ctx.gpr[16] == 0u;
|
|
if (branch_taken) {
|
|
goto L_08ACCC14;
|
|
}
|
|
goto L_08ACCC08;
|
|
}
|
|
L_08ACCC08:
|
|
aot_gpr_4 = (aot_gpr_17 | 0u);
|
|
aot_gpr_31 = (0x08ACCC14u);
|
|
aot_gpr_5 = (ctx.gpr[16] | 0u);
|
|
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0178->0067.
|
|
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
|
|
AOT_REGCACHE_SYNC_OUT();
|
|
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0178_entry, 248u, 0x08ACCC14u, 0x08910AD4u)) {
|
|
#if defined(__clang__)
|
|
[[clang::musttail]] return recomp_unit_0067_entry(rt, ctx, 188u, aot_mem);
|
|
#else
|
|
recomp_unit_0067_entry(rt, ctx, 188u, aot_mem); return;
|
|
#endif
|
|
}
|
|
return;
|
|
#else
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0067_entry, 67u, 188u, 0x08910AD4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACCC14u) goto L_08ACCC14;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
#endif
|
|
L_08ACCC14:
|
|
{ const bool branch_taken = 0u == 0u;
|
|
if (branch_taken) {
|
|
goto L_08ACCC34;
|
|
}
|
|
goto L_08ACCC1C;
|
|
}
|
|
L_08ACCC1C:
|
|
aot_gpr_31 = (0x08ACCC24u);
|
|
aot_gpr_4 = (aot_gpr_17 | 0u);
|
|
if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AC7C58, 176u, 1021u, 0x08AC7C58u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0176_entry, 176u, 1021u, 0x08AC7C58u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACCC24u) goto L_08ACCC24;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
L_08ACCC24:
|
|
aot_gpr_4 = (aot_gpr_17 | 0u);
|
|
aot_gpr_5 = (0u | 17u);
|
|
aot_gpr_31 = (0x08ACCC34u);
|
|
ctx.gpr[6] = (aot_gpr_2 | 0u);
|
|
goto L_08ACD698;
|
|
L_08ACCC34:
|
|
{ const bool branch_taken = 0u == 0u;
|
|
if (branch_taken) {
|
|
goto L_08ACD280;
|
|
}
|
|
goto L_08ACCC3C;
|
|
}
|
|
L_08ACCC3C:
|
|
aot_gpr_31 = (0x08ACCC44u);
|
|
aot_gpr_4 = (aot_gpr_17 | 0u);
|
|
if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AC8054, 177u, 7u, 0x08AC8054u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0177_entry, 177u, 7u, 0x08AC8054u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACCC44u) goto L_08ACCC44;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
L_08ACCC44:
|
|
{ const bool branch_taken = aot_gpr_2 == 0u;
|
|
if (branch_taken) {
|
|
goto L_08ACCCCC;
|
|
}
|
|
goto L_08ACCC4C;
|
|
}
|
|
L_08ACCC4C:
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast<std::uint32_t>(460)));
|
|
aot_gpr_5 = (64u << 16u);
|
|
aot_gpr_4 = (aot_gpr_4 & aot_gpr_5);
|
|
{ const bool branch_taken = aot_gpr_4 != 0u;
|
|
if (branch_taken) {
|
|
goto L_08ACCC78;
|
|
}
|
|
goto L_08ACCC60;
|
|
}
|
|
L_08ACCC60:
|
|
aot_gpr_31 = (0x08ACCC68u);
|
|
aot_gpr_4 = (aot_gpr_17 | 0u);
|
|
if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AC8054, 177u, 7u, 0x08AC8054u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0177_entry, 177u, 7u, 0x08AC8054u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACCC68u) goto L_08ACCC68;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
L_08ACCC68:
|
|
aot_gpr_4 = (aot_gpr_17 | 0u);
|
|
aot_gpr_5 = (aot_gpr_2 | 0u);
|
|
aot_gpr_31 = (0x08ACCC78u);
|
|
ctx.gpr[6] = (0u | 0u);
|
|
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0178->0057.
|
|
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
|
|
AOT_REGCACHE_SYNC_OUT();
|
|
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0178_entry, 257u, 0x08ACCC78u, 0x088EB074u)) {
|
|
#if defined(__clang__)
|
|
[[clang::musttail]] return recomp_unit_0057_entry(rt, ctx, 594u, aot_mem);
|
|
#else
|
|
recomp_unit_0057_entry(rt, ctx, 594u, aot_mem); return;
|
|
#endif
|
|
}
|
|
return;
|
|
#else
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0057_entry, 57u, 594u, 0x088EB074u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACCC78u) goto L_08ACCC78;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
#endif
|
|
L_08ACCC78:
|
|
aot_gpr_31 = (0x08ACCC80u);
|
|
aot_gpr_4 = (aot_gpr_17 | 0u);
|
|
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0178->0176.
|
|
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
|
|
AOT_REGCACHE_SYNC_OUT();
|
|
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0178_entry, 258u, 0x08ACCC80u, 0x08AC7A04u)) {
|
|
#if defined(__clang__)
|
|
[[clang::musttail]] return recomp_unit_0176_entry(rt, ctx, 977u, aot_mem);
|
|
#else
|
|
recomp_unit_0176_entry(rt, ctx, 977u, aot_mem); return;
|
|
#endif
|
|
}
|
|
return;
|
|
#else
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 977u, 0x08AC7A04u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACCC80u) goto L_08ACCC80;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
#endif
|
|
L_08ACCC80:
|
|
aot_gpr_4 = (0u | 1u);
|
|
{ const bool branch_taken = aot_gpr_2 != aot_gpr_4;
|
|
if (branch_taken) {
|
|
goto L_08ACCCD4;
|
|
}
|
|
goto L_08ACCC8C;
|
|
}
|
|
L_08ACCC8C:
|
|
aot_gpr_31 = (0x08ACCC94u);
|
|
aot_gpr_4 = (aot_gpr_17 | 0u);
|
|
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0178->0064.
|
|
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
|
|
AOT_REGCACHE_SYNC_OUT();
|
|
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0178_entry, 260u, 0x08ACCC94u, 0x08906DE4u)) {
|
|
#if defined(__clang__)
|
|
[[clang::musttail]] return recomp_unit_0064_entry(rt, ctx, 620u, aot_mem);
|
|
#else
|
|
recomp_unit_0064_entry(rt, ctx, 620u, aot_mem); return;
|
|
#endif
|
|
}
|
|
return;
|
|
#else
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0064_entry, 64u, 620u, 0x08906DE4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACCC94u) goto L_08ACCC94;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
#endif
|
|
L_08ACCC94:
|
|
{ const bool branch_taken = aot_gpr_2 == 0u;
|
|
if (branch_taken) {
|
|
goto L_08ACCCD4;
|
|
}
|
|
goto L_08ACCC9C;
|
|
}
|
|
L_08ACCC9C:
|
|
aot_gpr_31 = (0x08ACCCA4u);
|
|
aot_gpr_4 = (aot_gpr_17 | 0u);
|
|
if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AC8054, 177u, 7u, 0x08AC8054u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0177_entry, 177u, 7u, 0x08AC8054u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACCCA4u) goto L_08ACCCA4;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
L_08ACCCA4:
|
|
aot_gpr_4 = (aot_gpr_17 | 0u);
|
|
aot_gpr_5 = (aot_gpr_2 | 0u);
|
|
ctx.gpr[6] = (0u | 0u);
|
|
ctx.gpr[7] = (0u | 0u);
|
|
aot_gpr_31 = (0x08ACCCBCu);
|
|
ctx.gpr[8] = (0u | 0u);
|
|
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0178->0065.
|
|
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
|
|
AOT_REGCACHE_SYNC_OUT();
|
|
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0178_entry, 263u, 0x08ACCCBCu, 0x08909A64u)) {
|
|
#if defined(__clang__)
|
|
[[clang::musttail]] return recomp_unit_0065_entry(rt, ctx, 442u, aot_mem);
|
|
#else
|
|
recomp_unit_0065_entry(rt, ctx, 442u, aot_mem); return;
|
|
#endif
|
|
}
|
|
return;
|
|
#else
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 442u, 0x08909A64u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACCCBCu) goto L_08ACCCBC;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
#endif
|
|
L_08ACCCBC:
|
|
aot_gpr_31 = (0x08ACCCC4u);
|
|
aot_gpr_4 = (aot_gpr_17 | 0u);
|
|
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0178->0065.
|
|
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
|
|
AOT_REGCACHE_SYNC_OUT();
|
|
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0178_entry, 264u, 0x08ACCCC4u, 0x0890932Cu)) {
|
|
#if defined(__clang__)
|
|
[[clang::musttail]] return recomp_unit_0065_entry(rt, ctx, 332u, aot_mem);
|
|
#else
|
|
recomp_unit_0065_entry(rt, ctx, 332u, aot_mem); return;
|
|
#endif
|
|
}
|
|
return;
|
|
#else
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 332u, 0x0890932Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACCCC4u) goto L_08ACCCC4;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
#endif
|
|
L_08ACCCC4:
|
|
{ const bool branch_taken = 0u == 0u;
|
|
if (branch_taken) {
|
|
goto L_08ACCCD4;
|
|
}
|
|
goto L_08ACCCCC;
|
|
}
|
|
L_08ACCCCC:
|
|
aot_gpr_31 = (0x08ACCCD4u);
|
|
aot_gpr_4 = (aot_gpr_17 | 0u);
|
|
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0178->0176.
|
|
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
|
|
AOT_REGCACHE_SYNC_OUT();
|
|
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0178_entry, 266u, 0x08ACCCD4u, 0x08AC7C60u)) {
|
|
#if defined(__clang__)
|
|
[[clang::musttail]] return recomp_unit_0176_entry(rt, ctx, 1022u, aot_mem);
|
|
#else
|
|
recomp_unit_0176_entry(rt, ctx, 1022u, aot_mem); return;
|
|
#endif
|
|
}
|
|
return;
|
|
#else
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 1022u, 0x08AC7C60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACCCD4u) goto L_08ACCCD4;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
#endif
|
|
L_08ACCCD4:
|
|
{ const bool branch_taken = 0u == 0u;
|
|
if (branch_taken) {
|
|
goto L_08ACD280;
|
|
}
|
|
goto L_08ACCCDC;
|
|
}
|
|
L_08ACCCDC:
|
|
aot_gpr_31 = (0x08ACCCE4u);
|
|
aot_gpr_4 = (aot_gpr_17 | 0u);
|
|
if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AC8054, 177u, 7u, 0x08AC8054u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0177_entry, 177u, 7u, 0x08AC8054u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACCCE4u) goto L_08ACCCE4;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
L_08ACCCE4:
|
|
{ const bool branch_taken = aot_gpr_2 == 0u;
|
|
if (branch_taken) {
|
|
goto L_08ACD220;
|
|
}
|
|
goto L_08ACCCEC;
|
|
}
|
|
L_08ACCCEC:
|
|
aot_gpr_31 = (0x08ACCCF4u);
|
|
aot_gpr_4 = (aot_gpr_17 | 0u);
|
|
if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AC8054, 177u, 7u, 0x08AC8054u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0177_entry, 177u, 7u, 0x08AC8054u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACCCF4u) goto L_08ACCCF4;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
L_08ACCCF4:
|
|
aot_gpr_31 = (0x08ACCCFCu);
|
|
aot_gpr_4 = (aot_gpr_2 | 0u);
|
|
if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACCCFCu) goto L_08ACCCFC;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
L_08ACCCFC:
|
|
{ const bool branch_taken = aot_gpr_2 != 0u;
|
|
if (branch_taken) {
|
|
goto L_08ACCD8C;
|
|
}
|
|
goto L_08ACCD04;
|
|
}
|
|
L_08ACCD04:
|
|
aot_gpr_31 = (0x08ACCD0Cu);
|
|
aot_gpr_4 = (aot_gpr_17 | 0u);
|
|
if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AC8054, 177u, 7u, 0x08AC8054u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0177_entry, 177u, 7u, 0x08AC8054u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACCD0Cu) goto L_08ACCD0C;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
L_08ACCD0C:
|
|
aot_gpr_31 = (0x08ACCD14u);
|
|
aot_gpr_4 = (aot_gpr_2 | 0u);
|
|
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0178->0067.
|
|
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
|
|
AOT_REGCACHE_SYNC_OUT();
|
|
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0178_entry, 274u, 0x08ACCD14u, 0x08910B38u)) {
|
|
#if defined(__clang__)
|
|
[[clang::musttail]] return recomp_unit_0067_entry(rt, ctx, 195u, aot_mem);
|
|
#else
|
|
recomp_unit_0067_entry(rt, ctx, 195u, aot_mem); return;
|
|
#endif
|
|
}
|
|
return;
|
|
#else
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0067_entry, 67u, 195u, 0x08910B38u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACCD14u) goto L_08ACCD14;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
#endif
|
|
L_08ACCD14:
|
|
{ const bool branch_taken = aot_gpr_2 != 0u;
|
|
if (branch_taken) {
|
|
goto L_08ACCD8C;
|
|
}
|
|
goto L_08ACCD1C;
|
|
}
|
|
L_08ACCD1C:
|
|
aot_gpr_31 = (0x08ACCD24u);
|
|
aot_gpr_4 = (aot_gpr_17 | 0u);
|
|
if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AC8054, 177u, 7u, 0x08AC8054u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0177_entry, 177u, 7u, 0x08AC8054u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACCD24u) goto L_08ACCD24;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
L_08ACCD24:
|
|
aot_fpr_12 = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_2 + static_cast<std::uint32_t>(1252)));
|
|
aot_fpr_13 = std::bit_cast<float>(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_08ACCD8C;
|
|
}
|
|
goto L_08ACCD3C;
|
|
}
|
|
L_08ACCD3C:
|
|
aot_gpr_31 = (0x08ACCD44u);
|
|
aot_gpr_4 = (aot_gpr_17 | 0u);
|
|
if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AC8054, 177u, 7u, 0x08AC8054u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0177_entry, 177u, 7u, 0x08AC8054u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACCD44u) goto L_08ACCD44;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
L_08ACCD44:
|
|
aot_gpr_31 = (0x08ACCD4Cu);
|
|
aot_gpr_4 = (aot_gpr_2 | 0u);
|
|
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0178->0176.
|
|
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
|
|
AOT_REGCACHE_SYNC_OUT();
|
|
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0178_entry, 279u, 0x08ACCD4Cu, 0x08AC7A04u)) {
|
|
#if defined(__clang__)
|
|
[[clang::musttail]] return recomp_unit_0176_entry(rt, ctx, 977u, aot_mem);
|
|
#else
|
|
recomp_unit_0176_entry(rt, ctx, 977u, aot_mem); return;
|
|
#endif
|
|
}
|
|
return;
|
|
#else
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 977u, 0x08AC7A04u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACCD4Cu) goto L_08ACCD4C;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
#endif
|
|
L_08ACCD4C:
|
|
aot_gpr_4 = (static_cast<std::int32_t>(aot_gpr_2) < 3 ? 1u : 0u);
|
|
{ const bool branch_taken = aot_gpr_4 == 0u;
|
|
if (branch_taken) {
|
|
goto L_08ACCD7C;
|
|
}
|
|
goto L_08ACCD58;
|
|
}
|
|
L_08ACCD58:
|
|
aot_gpr_31 = (0x08ACCD60u);
|
|
aot_gpr_4 = (aot_gpr_17 | 0u);
|
|
if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AC8054, 177u, 7u, 0x08AC8054u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0177_entry, 177u, 7u, 0x08AC8054u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACCD60u) goto L_08ACCD60;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
L_08ACCD60:
|
|
aot_gpr_31 = (0x08ACCD68u);
|
|
aot_gpr_4 = (aot_gpr_2 | 0u);
|
|
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0178->0176.
|
|
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
|
|
AOT_REGCACHE_SYNC_OUT();
|
|
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0178_entry, 282u, 0x08ACCD68u, 0x08AC7A48u)) {
|
|
#if defined(__clang__)
|
|
[[clang::musttail]] return recomp_unit_0176_entry(rt, ctx, 981u, aot_mem);
|
|
#else
|
|
recomp_unit_0176_entry(rt, ctx, 981u, aot_mem); return;
|
|
#endif
|
|
}
|
|
return;
|
|
#else
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 981u, 0x08AC7A48u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACCD68u) goto L_08ACCD68;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
#endif
|
|
L_08ACCD68:
|
|
aot_gpr_4 = (0u | 8u);
|
|
{ const bool branch_taken = aot_gpr_2 == aot_gpr_4;
|
|
if (branch_taken) {
|
|
goto L_08ACCD9C;
|
|
}
|
|
goto L_08ACCD74;
|
|
}
|
|
L_08ACCD74:
|
|
{ const bool branch_taken = 0u == 0u;
|
|
if (branch_taken) {
|
|
goto L_08ACCDB4;
|
|
}
|
|
goto L_08ACCD7C;
|
|
}
|
|
L_08ACCD7C:
|
|
aot_gpr_31 = (0x08ACCD84u);
|
|
aot_gpr_4 = (aot_gpr_17 | 0u);
|
|
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0178->0176.
|
|
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
|
|
AOT_REGCACHE_SYNC_OUT();
|
|
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0178_entry, 285u, 0x08ACCD84u, 0x08AC7C60u)) {
|
|
#if defined(__clang__)
|
|
[[clang::musttail]] return recomp_unit_0176_entry(rt, ctx, 1022u, aot_mem);
|
|
#else
|
|
recomp_unit_0176_entry(rt, ctx, 1022u, aot_mem); return;
|
|
#endif
|
|
}
|
|
return;
|
|
#else
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 1022u, 0x08AC7C60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACCD84u) goto L_08ACCD84;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
#endif
|
|
L_08ACCD84:
|
|
{ const bool branch_taken = 0u == 0u;
|
|
if (branch_taken) {
|
|
goto L_08ACD47C;
|
|
}
|
|
goto L_08ACCD8C;
|
|
}
|
|
L_08ACCD8C:
|
|
aot_gpr_31 = (0x08ACCD94u);
|
|
aot_gpr_4 = (aot_gpr_17 | 0u);
|
|
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0178->0176.
|
|
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
|
|
AOT_REGCACHE_SYNC_OUT();
|
|
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0178_entry, 287u, 0x08ACCD94u, 0x08AC7C60u)) {
|
|
#if defined(__clang__)
|
|
[[clang::musttail]] return recomp_unit_0176_entry(rt, ctx, 1022u, aot_mem);
|
|
#else
|
|
recomp_unit_0176_entry(rt, ctx, 1022u, aot_mem); return;
|
|
#endif
|
|
}
|
|
return;
|
|
#else
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 1022u, 0x08AC7C60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACCD94u) goto L_08ACCD94;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
#endif
|
|
L_08ACCD94:
|
|
{ const bool branch_taken = 0u == 0u;
|
|
if (branch_taken) {
|
|
goto L_08ACD47C;
|
|
}
|
|
goto L_08ACCD9C;
|
|
}
|
|
L_08ACCD9C:
|
|
aot_gpr_31 = (0x08ACCDA4u);
|
|
aot_gpr_4 = (aot_gpr_17 | 0u);
|
|
if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AC8054, 177u, 7u, 0x08AC8054u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0177_entry, 177u, 7u, 0x08AC8054u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACCDA4u) goto L_08ACCDA4;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
L_08ACCDA4:
|
|
aot_gpr_31 = (0x08ACCDACu);
|
|
aot_gpr_4 = (aot_gpr_2 | 0u);
|
|
if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AC8054, 177u, 7u, 0x08AC8054u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0177_entry, 177u, 7u, 0x08AC8054u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACCDACu) goto L_08ACCDAC;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
L_08ACCDAC:
|
|
{ const bool branch_taken = aot_gpr_2 == aot_gpr_17;
|
|
if (branch_taken) {
|
|
goto L_08ACCDDC;
|
|
}
|
|
goto L_08ACCDB4;
|
|
}
|
|
L_08ACCDB4:
|
|
aot_gpr_31 = (0x08ACCDBCu);
|
|
aot_gpr_4 = (aot_gpr_17 | 0u);
|
|
if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AC8054, 177u, 7u, 0x08AC8054u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0177_entry, 177u, 7u, 0x08AC8054u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACCDBCu) goto L_08ACCDBC;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
L_08ACCDBC:
|
|
aot_gpr_31 = (0x08ACCDC4u);
|
|
aot_gpr_4 = (aot_gpr_2 | 0u);
|
|
if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AC79D4, 176u, 972u, 0x08AC79D4u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0176_entry, 176u, 972u, 0x08AC79D4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACCDC4u) goto L_08ACCDC4;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
L_08ACCDC4:
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_2 + static_cast<std::uint32_t>(0)));
|
|
aot_gpr_5 = (0u | 9u);
|
|
{ const bool branch_taken = aot_gpr_4 == aot_gpr_5;
|
|
if (branch_taken) {
|
|
goto L_08ACCE08;
|
|
}
|
|
goto L_08ACCDD4;
|
|
}
|
|
L_08ACCDD4:
|
|
{ const bool branch_taken = 0u == 0u;
|
|
if (branch_taken) {
|
|
goto L_08ACCE18;
|
|
}
|
|
goto L_08ACCDDC;
|
|
}
|
|
L_08ACCDDC:
|
|
aot_gpr_31 = (0x08ACCDE4u);
|
|
aot_gpr_4 = (aot_gpr_17 | 0u);
|
|
if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AC8054, 177u, 7u, 0x08AC8054u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0177_entry, 177u, 7u, 0x08AC8054u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACCDE4u) goto L_08ACCDE4;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
L_08ACCDE4:
|
|
aot_gpr_4 = (aot_gpr_17 | 0u);
|
|
aot_gpr_5 = (0u | 10u);
|
|
aot_gpr_31 = (0x08ACCDF4u);
|
|
ctx.gpr[6] = (aot_gpr_2 | 0u);
|
|
goto L_08ACD698;
|
|
L_08ACCDF4:
|
|
aot_gpr_4 = (aot_gpr_17 | 0u);
|
|
aot_gpr_31 = (0x08ACCE00u);
|
|
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_0890BE50, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0065_entry, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACCE00u) goto L_08ACCE00;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
L_08ACCE00:
|
|
{ const bool branch_taken = 0u == 0u;
|
|
if (branch_taken) {
|
|
goto L_08ACD47C;
|
|
}
|
|
goto L_08ACCE08;
|
|
}
|
|
L_08ACCE08:
|
|
aot_gpr_31 = (0x08ACCE10u);
|
|
aot_gpr_4 = (aot_gpr_17 | 0u);
|
|
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0178->0067.
|
|
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
|
|
AOT_REGCACHE_SYNC_OUT();
|
|
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0178_entry, 300u, 0x08ACCE10u, 0x08910150u)) {
|
|
#if defined(__clang__)
|
|
[[clang::musttail]] return recomp_unit_0067_entry(rt, ctx, 20u, aot_mem);
|
|
#else
|
|
recomp_unit_0067_entry(rt, ctx, 20u, aot_mem); return;
|
|
#endif
|
|
}
|
|
return;
|
|
#else
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0067_entry, 67u, 20u, 0x08910150u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACCE10u) goto L_08ACCE10;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
#endif
|
|
L_08ACCE10:
|
|
{ const bool branch_taken = aot_gpr_2 == aot_gpr_17;
|
|
if (branch_taken) {
|
|
goto L_08ACCECC;
|
|
}
|
|
goto L_08ACCE18;
|
|
}
|
|
L_08ACCE18:
|
|
aot_gpr_31 = (0x08ACCE20u);
|
|
aot_gpr_4 = (aot_gpr_17 | 0u);
|
|
if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AC8054, 177u, 7u, 0x08AC8054u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0177_entry, 177u, 7u, 0x08AC8054u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACCE20u) goto L_08ACCE20;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
L_08ACCE20:
|
|
aot_gpr_31 = (0x08ACCE28u);
|
|
aot_gpr_4 = (aot_gpr_2 | 0u);
|
|
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0178->0176.
|
|
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
|
|
AOT_REGCACHE_SYNC_OUT();
|
|
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0178_entry, 303u, 0x08ACCE28u, 0x08AC7A48u)) {
|
|
#if defined(__clang__)
|
|
[[clang::musttail]] return recomp_unit_0176_entry(rt, ctx, 981u, aot_mem);
|
|
#else
|
|
recomp_unit_0176_entry(rt, ctx, 981u, aot_mem); return;
|
|
#endif
|
|
}
|
|
return;
|
|
#else
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 981u, 0x08AC7A48u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACCE28u) goto L_08ACCE28;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
#endif
|
|
L_08ACCE28:
|
|
aot_gpr_4 = (0u | 10u);
|
|
{ const bool branch_taken = aot_gpr_2 != aot_gpr_4;
|
|
if (branch_taken) {
|
|
goto L_08ACCE4C;
|
|
}
|
|
goto L_08ACCE34;
|
|
}
|
|
L_08ACCE34:
|
|
aot_gpr_31 = (0x08ACCE3Cu);
|
|
aot_gpr_4 = (aot_gpr_17 | 0u);
|
|
if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AC8054, 177u, 7u, 0x08AC8054u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0177_entry, 177u, 7u, 0x08AC8054u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACCE3Cu) goto L_08ACCE3C;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
L_08ACCE3C:
|
|
aot_gpr_31 = (0x08ACCE44u);
|
|
aot_gpr_4 = (aot_gpr_2 | 0u);
|
|
if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AC8054, 177u, 7u, 0x08AC8054u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0177_entry, 177u, 7u, 0x08AC8054u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACCE44u) goto L_08ACCE44;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
L_08ACCE44:
|
|
{ const bool branch_taken = aot_gpr_2 == aot_gpr_17;
|
|
if (branch_taken) {
|
|
goto L_08ACCECC;
|
|
}
|
|
goto L_08ACCE4C;
|
|
}
|
|
L_08ACCE4C:
|
|
ctx.gpr[16] = (aot_gpr_29 + static_cast<std::uint32_t>(1248));
|
|
aot_gpr_31 = (0x08ACCE58u);
|
|
aot_gpr_4 = (aot_gpr_17 | 0u);
|
|
if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AC8054, 177u, 7u, 0x08AC8054u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0177_entry, 177u, 7u, 0x08AC8054u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACCE58u) goto L_08ACCE58;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
L_08ACCE58:
|
|
aot_gpr_31 = (0x08ACCE60u);
|
|
aot_gpr_4 = (aot_gpr_2 | 0u);
|
|
if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AC7670, 176u, 924u, 0x08AC7670u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0176_entry, 176u, 924u, 0x08AC7670u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACCE60u) goto L_08ACCE60;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
L_08ACCE60:
|
|
ctx.gpr[18] = (aot_gpr_2 | 0u);
|
|
aot_gpr_31 = (0x08ACCE6Cu);
|
|
aot_gpr_4 = (aot_gpr_17 | 0u);
|
|
if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AC7670, 176u, 924u, 0x08AC7670u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0176_entry, 176u, 924u, 0x08AC7670u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACCE6Cu) goto L_08ACCE6C;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
L_08ACCE6C:
|
|
aot_gpr_4 = (ctx.gpr[16] | 0u);
|
|
aot_gpr_5 = (ctx.gpr[18] | 0u);
|
|
aot_gpr_31 = (0x08ACCE7Cu);
|
|
ctx.gpr[6] = (aot_gpr_2 | 0u);
|
|
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0178->0176.
|
|
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
|
|
AOT_REGCACHE_SYNC_OUT();
|
|
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0178_entry, 311u, 0x08ACCE7Cu, 0x08AC7474u)) {
|
|
#if defined(__clang__)
|
|
[[clang::musttail]] return recomp_unit_0176_entry(rt, ctx, 900u, aot_mem);
|
|
#else
|
|
recomp_unit_0176_entry(rt, ctx, 900u, aot_mem); return;
|
|
#endif
|
|
}
|
|
return;
|
|
#else
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 900u, 0x08AC7474u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACCE7Cu) goto L_08ACCE7C;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
#endif
|
|
L_08ACCE7C:
|
|
aot_gpr_31 = (0x08ACCE84u);
|
|
aot_gpr_4 = (ctx.gpr[16] | 0u);
|
|
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0178->0176.
|
|
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
|
|
AOT_REGCACHE_SYNC_OUT();
|
|
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0178_entry, 312u, 0x08ACCE84u, 0x08AC75F8u)) {
|
|
#if defined(__clang__)
|
|
[[clang::musttail]] return recomp_unit_0176_entry(rt, ctx, 917u, aot_mem);
|
|
#else
|
|
recomp_unit_0176_entry(rt, ctx, 917u, aot_mem); return;
|
|
#endif
|
|
}
|
|
return;
|
|
#else
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 917u, 0x08AC75F8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACCE84u) goto L_08ACCE84;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
#endif
|
|
L_08ACCE84:
|
|
aot_gpr_4 = (17096u << 16u);
|
|
aot_fpr_12 = std::bit_cast<float>(std::bit_cast<std::uint32_t>(aot_fpr_0));
|
|
aot_fpr_13 = std::bit_cast<float>(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_08ACCF18;
|
|
}
|
|
goto L_08ACCEA0;
|
|
}
|
|
L_08ACCEA0:
|
|
aot_gpr_31 = (0x08ACCEA8u);
|
|
aot_gpr_4 = (aot_gpr_17 | 0u);
|
|
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0178->0176.
|
|
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
|
|
AOT_REGCACHE_SYNC_OUT();
|
|
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0178_entry, 314u, 0x08ACCEA8u, 0x08AC7C60u)) {
|
|
#if defined(__clang__)
|
|
[[clang::musttail]] return recomp_unit_0176_entry(rt, ctx, 1022u, aot_mem);
|
|
#else
|
|
recomp_unit_0176_entry(rt, ctx, 1022u, aot_mem); return;
|
|
#endif
|
|
}
|
|
return;
|
|
#else
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 1022u, 0x08AC7C60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACCEA8u) goto L_08ACCEA8;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
#endif
|
|
L_08ACCEA8:
|
|
aot_gpr_31 = (0x08ACCEB0u);
|
|
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0178->0176.
|
|
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
|
|
AOT_REGCACHE_SYNC_OUT();
|
|
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0178_entry, 315u, 0x08ACCEB0u, 0x08AC7810u)) {
|
|
#if defined(__clang__)
|
|
[[clang::musttail]] return recomp_unit_0176_entry(rt, ctx, 949u, aot_mem);
|
|
#else
|
|
recomp_unit_0176_entry(rt, ctx, 949u, aot_mem); return;
|
|
#endif
|
|
}
|
|
return;
|
|
#else
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 949u, 0x08AC7810u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACCEB0u) goto L_08ACCEB0;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
#endif
|
|
L_08ACCEB0:
|
|
aot_gpr_4 = (aot_gpr_2 & 7u);
|
|
aot_gpr_5 = (aot_gpr_4 << 24u);
|
|
aot_gpr_5 = (static_cast<std::uint32_t>(static_cast<std::int32_t>(aot_gpr_5) >> 24u));
|
|
aot_gpr_31 = (0x08ACCEC4u);
|
|
aot_gpr_4 = (aot_gpr_17 | 0u);
|
|
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0178->0065.
|
|
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
|
|
AOT_REGCACHE_SYNC_OUT();
|
|
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0178_entry, 316u, 0x08ACCEC4u, 0x0890A728u)) {
|
|
#if defined(__clang__)
|
|
[[clang::musttail]] return recomp_unit_0065_entry(rt, ctx, 631u, aot_mem);
|
|
#else
|
|
recomp_unit_0065_entry(rt, ctx, 631u, aot_mem); return;
|
|
#endif
|
|
}
|
|
return;
|
|
#else
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 631u, 0x0890A728u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACCEC4u) goto L_08ACCEC4;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
#endif
|
|
L_08ACCEC4:
|
|
{ const bool branch_taken = 0u == 0u;
|
|
if (branch_taken) {
|
|
goto L_08ACD218;
|
|
}
|
|
goto L_08ACCECC;
|
|
}
|
|
L_08ACCECC:
|
|
aot_gpr_31 = (0x08ACCED4u);
|
|
aot_gpr_4 = (aot_gpr_17 | 0u);
|
|
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0178->0176.
|
|
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
|
|
AOT_REGCACHE_SYNC_OUT();
|
|
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0178_entry, 318u, 0x08ACCED4u, 0x08AC7C60u)) {
|
|
#if defined(__clang__)
|
|
[[clang::musttail]] return recomp_unit_0176_entry(rt, ctx, 1022u, aot_mem);
|
|
#else
|
|
recomp_unit_0176_entry(rt, ctx, 1022u, aot_mem); return;
|
|
#endif
|
|
}
|
|
return;
|
|
#else
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 1022u, 0x08AC7C60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACCED4u) goto L_08ACCED4;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
#endif
|
|
L_08ACCED4:
|
|
aot_gpr_31 = (0x08ACCEDCu);
|
|
aot_gpr_4 = (aot_gpr_17 | 0u);
|
|
if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AC8054, 177u, 7u, 0x08AC8054u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0177_entry, 177u, 7u, 0x08AC8054u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACCEDCu) goto L_08ACCEDC;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
L_08ACCEDC:
|
|
aot_gpr_4 = (aot_gpr_17 | 0u);
|
|
aot_gpr_5 = (aot_gpr_2 | 0u);
|
|
aot_gpr_31 = (0x08ACCEECu);
|
|
ctx.gpr[6] = (0u | 15000u);
|
|
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0178->0065.
|
|
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
|
|
AOT_REGCACHE_SYNC_OUT();
|
|
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0178_entry, 320u, 0x08ACCEECu, 0x0890B27Cu)) {
|
|
#if defined(__clang__)
|
|
[[clang::musttail]] return recomp_unit_0065_entry(rt, ctx, 803u, aot_mem);
|
|
#else
|
|
recomp_unit_0065_entry(rt, ctx, 803u, aot_mem); return;
|
|
#endif
|
|
}
|
|
return;
|
|
#else
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 803u, 0x0890B27Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACCEECu) goto L_08ACCEEC;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
#endif
|
|
L_08ACCEEC:
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast<std::uint32_t>(456)));
|
|
aot_gpr_5 = (16384u << 16u);
|
|
aot_gpr_4 = (aot_gpr_4 | aot_gpr_5);
|
|
aot_mem.aot_direct_store32(aot_gpr_17 + static_cast<std::uint32_t>(456), aot_gpr_4);
|
|
aot_gpr_31 = (0x08ACCF04u);
|
|
aot_gpr_4 = (aot_gpr_17 | 0u);
|
|
if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890FF64, 66u, 887u, 0x0890FF64u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 887u, 0x0890FF64u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACCF04u) goto L_08ACCF04;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
L_08ACCF04:
|
|
aot_gpr_4 = (aot_gpr_17 | 0u);
|
|
aot_gpr_31 = (0x08ACCF10u);
|
|
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_0890BE50, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0065_entry, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACCF10u) goto L_08ACCF10;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
L_08ACCF10:
|
|
{ const bool branch_taken = 0u == 0u;
|
|
if (branch_taken) {
|
|
goto L_08ACD47C;
|
|
}
|
|
goto L_08ACCF18;
|
|
}
|
|
L_08ACCF18:
|
|
aot_gpr_4 = (16378u << 16u);
|
|
aot_gpr_4 = (aot_gpr_4 | 57671u);
|
|
aot_fpr_13 = std::bit_cast<float>(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_08ACCF84;
|
|
}
|
|
goto L_08ACCF34;
|
|
}
|
|
L_08ACCF34:
|
|
aot_gpr_31 = (0x08ACCF3Cu);
|
|
aot_gpr_4 = (aot_gpr_17 | 0u);
|
|
if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AC8054, 177u, 7u, 0x08AC8054u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0177_entry, 177u, 7u, 0x08AC8054u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACCF3Cu) goto L_08ACCF3C;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
L_08ACCF3C:
|
|
ctx.gpr[6] = (16256u << 16u);
|
|
aot_gpr_4 = (aot_gpr_17 | 0u);
|
|
aot_fpr_12 = std::bit_cast<float>(ctx.gpr[6]);
|
|
aot_gpr_31 = (0x08ACCF50u);
|
|
aot_gpr_5 = (aot_gpr_2 | 0u);
|
|
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0178->0065.
|
|
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
|
|
AOT_REGCACHE_SYNC_OUT();
|
|
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0178_entry, 326u, 0x08ACCF50u, 0x0890AED8u)) {
|
|
#if defined(__clang__)
|
|
[[clang::musttail]] return recomp_unit_0065_entry(rt, ctx, 751u, aot_mem);
|
|
#else
|
|
recomp_unit_0065_entry(rt, ctx, 751u, aot_mem); return;
|
|
#endif
|
|
}
|
|
return;
|
|
#else
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 751u, 0x0890AED8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACCF50u) goto L_08ACCF50;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
#endif
|
|
L_08ACCF50:
|
|
aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast<std::uint32_t>(80)));
|
|
aot_gpr_4 = (aot_gpr_17 | 0u);
|
|
aot_gpr_31 = (0x08ACCF60u);
|
|
ctx.gpr[6] = (0u | 2u);
|
|
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0178->0065.
|
|
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
|
|
AOT_REGCACHE_SYNC_OUT();
|
|
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0178_entry, 327u, 0x08ACCF60u, 0x08908C10u)) {
|
|
#if defined(__clang__)
|
|
[[clang::musttail]] return recomp_unit_0065_entry(rt, ctx, 216u, aot_mem);
|
|
#else
|
|
recomp_unit_0065_entry(rt, ctx, 216u, aot_mem); return;
|
|
#endif
|
|
}
|
|
return;
|
|
#else
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 216u, 0x08908C10u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACCF60u) goto L_08ACCF60;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
#endif
|
|
L_08ACCF60:
|
|
aot_gpr_4 = (aot_gpr_2 | 0u);
|
|
{ const bool branch_taken = aot_gpr_4 == 0u;
|
|
if (branch_taken) {
|
|
goto L_08ACCF7C;
|
|
}
|
|
goto L_08ACCF6C;
|
|
}
|
|
L_08ACCF6C:
|
|
aot_gpr_5 = (16294u << 16u);
|
|
aot_gpr_5 = (aot_gpr_5 | 26214u);
|
|
aot_gpr_31 = (0x08ACCF7Cu);
|
|
aot_fpr_12 = std::bit_cast<float>(aot_gpr_5);
|
|
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0178->0176.
|
|
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
|
|
AOT_REGCACHE_SYNC_OUT();
|
|
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0178_entry, 329u, 0x08ACCF7Cu, 0x08AC770Cu)) {
|
|
#if defined(__clang__)
|
|
[[clang::musttail]] return recomp_unit_0176_entry(rt, ctx, 933u, aot_mem);
|
|
#else
|
|
recomp_unit_0176_entry(rt, ctx, 933u, aot_mem); return;
|
|
#endif
|
|
}
|
|
return;
|
|
#else
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 933u, 0x08AC770Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACCF7Cu) goto L_08ACCF7C;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
#endif
|
|
L_08ACCF7C:
|
|
{ const bool branch_taken = 0u == 0u;
|
|
if (branch_taken) {
|
|
goto L_08ACD218;
|
|
}
|
|
goto L_08ACCF84;
|
|
}
|
|
L_08ACCF84:
|
|
aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast<std::uint32_t>(80)));
|
|
aot_gpr_4 = (aot_gpr_17 | 0u);
|
|
aot_gpr_31 = (0x08ACCF94u);
|
|
ctx.gpr[6] = (0u | 158u);
|
|
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0178->0065.
|
|
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
|
|
AOT_REGCACHE_SYNC_OUT();
|
|
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0178_entry, 331u, 0x08ACCF94u, 0x08908C10u)) {
|
|
#if defined(__clang__)
|
|
[[clang::musttail]] return recomp_unit_0065_entry(rt, ctx, 216u, aot_mem);
|
|
#else
|
|
recomp_unit_0065_entry(rt, ctx, 216u, aot_mem); return;
|
|
#endif
|
|
}
|
|
return;
|
|
#else
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 216u, 0x08908C10u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACCF94u) goto L_08ACCF94;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
#endif
|
|
L_08ACCF94:
|
|
ctx.gpr[16] = (aot_gpr_2 | 0u);
|
|
aot_gpr_31 = (0x08ACCFA0u);
|
|
aot_gpr_4 = (aot_gpr_17 | 0u);
|
|
if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AC8054, 177u, 7u, 0x08AC8054u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0177_entry, 177u, 7u, 0x08AC8054u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACCFA0u) goto L_08ACCFA0;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
L_08ACCFA0:
|
|
aot_gpr_31 = (0x08ACCFA8u);
|
|
aot_gpr_4 = (aot_gpr_2 | 0u);
|
|
if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AC7670, 176u, 924u, 0x08AC7670u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0176_entry, 176u, 924u, 0x08AC7670u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACCFA8u) goto L_08ACCFA8;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
L_08ACCFA8:
|
|
aot_fpr_20 = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_2 + static_cast<std::uint32_t>(0)));
|
|
aot_gpr_31 = (0x08ACCFB4u);
|
|
aot_gpr_4 = (aot_gpr_17 | 0u);
|
|
if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AC8054, 177u, 7u, 0x08AC8054u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0177_entry, 177u, 7u, 0x08AC8054u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACCFB4u) goto L_08ACCFB4;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
L_08ACCFB4:
|
|
aot_gpr_31 = (0x08ACCFBCu);
|
|
aot_gpr_4 = (aot_gpr_2 | 0u);
|
|
if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AC7670, 176u, 924u, 0x08AC7670u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0176_entry, 176u, 924u, 0x08AC7670u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACCFBCu) goto L_08ACCFBC;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
L_08ACCFBC:
|
|
ctx.fpr[22] = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_2 + static_cast<std::uint32_t>(4)));
|
|
aot_gpr_31 = (0x08ACCFC8u);
|
|
aot_gpr_4 = (aot_gpr_17 | 0u);
|
|
if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AC7670, 176u, 924u, 0x08AC7670u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0176_entry, 176u, 924u, 0x08AC7670u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACCFC8u) goto L_08ACCFC8;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
L_08ACCFC8:
|
|
ctx.fpr[24] = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_2 + static_cast<std::uint32_t>(0)));
|
|
aot_gpr_31 = (0x08ACCFD4u);
|
|
aot_gpr_4 = (aot_gpr_17 | 0u);
|
|
if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AC7670, 176u, 924u, 0x08AC7670u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0176_entry, 176u, 924u, 0x08AC7670u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACCFD4u) goto L_08ACCFD4;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
L_08ACCFD4:
|
|
ctx.fpr[15] = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_2 + static_cast<std::uint32_t>(4)));
|
|
aot_fpr_12 = std::bit_cast<float>(std::bit_cast<std::uint32_t>(aot_fpr_20));
|
|
aot_fpr_13 = std::bit_cast<float>(std::bit_cast<std::uint32_t>(ctx.fpr[22]));
|
|
aot_gpr_31 = (0x08ACCFE8u);
|
|
ctx.fpr[14] = std::bit_cast<float>(std::bit_cast<std::uint32_t>(ctx.fpr[24]));
|
|
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0178->0176.
|
|
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
|
|
AOT_REGCACHE_SYNC_OUT();
|
|
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0178_entry, 338u, 0x08ACCFE8u, 0x08AC77F0u)) {
|
|
#if defined(__clang__)
|
|
[[clang::musttail]] return recomp_unit_0176_entry(rt, ctx, 947u, aot_mem);
|
|
#else
|
|
recomp_unit_0176_entry(rt, ctx, 947u, aot_mem); return;
|
|
#endif
|
|
}
|
|
return;
|
|
#else
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 947u, 0x08AC77F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACCFE8u) goto L_08ACCFE8;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
#endif
|
|
L_08ACCFE8:
|
|
aot_gpr_4 = (aot_gpr_17 | 0u);
|
|
aot_gpr_31 = (0x08ACCFF4u);
|
|
aot_fpr_12 = std::bit_cast<float>(std::bit_cast<std::uint32_t>(aot_fpr_0));
|
|
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0178->0177.
|
|
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
|
|
AOT_REGCACHE_SYNC_OUT();
|
|
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0178_entry, 339u, 0x08ACCFF4u, 0x08AC80DCu)) {
|
|
#if defined(__clang__)
|
|
[[clang::musttail]] return recomp_unit_0177_entry(rt, ctx, 21u, aot_mem);
|
|
#else
|
|
recomp_unit_0177_entry(rt, ctx, 21u, aot_mem); return;
|
|
#endif
|
|
}
|
|
return;
|
|
#else
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0177_entry, 177u, 21u, 0x08AC80DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACCFF4u) goto L_08ACCFF4;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
#endif
|
|
L_08ACCFF4:
|
|
{ const bool branch_taken = ctx.gpr[16] != 0u;
|
|
if (branch_taken) {
|
|
goto L_08ACD094;
|
|
}
|
|
goto L_08ACCFFC;
|
|
}
|
|
L_08ACCFFC:
|
|
aot_gpr_31 = (0x08ACD004u);
|
|
aot_gpr_4 = (aot_gpr_17 | 0u);
|
|
if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AC8054, 177u, 7u, 0x08AC8054u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0177_entry, 177u, 7u, 0x08AC8054u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACD004u) goto L_08ACD004;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
L_08ACD004:
|
|
aot_gpr_31 = (0x08ACD00Cu);
|
|
aot_gpr_4 = (aot_gpr_2 | 0u);
|
|
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0178->0064.
|
|
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
|
|
AOT_REGCACHE_SYNC_OUT();
|
|
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0178_entry, 342u, 0x08ACD00Cu, 0x08906E38u)) {
|
|
#if defined(__clang__)
|
|
[[clang::musttail]] return recomp_unit_0064_entry(rt, ctx, 627u, aot_mem);
|
|
#else
|
|
recomp_unit_0064_entry(rt, ctx, 627u, aot_mem); return;
|
|
#endif
|
|
}
|
|
return;
|
|
#else
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0064_entry, 64u, 627u, 0x08906E38u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACD00Cu) goto L_08ACD00C;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
#endif
|
|
L_08ACD00C:
|
|
{ const bool branch_taken = aot_gpr_2 == 0u;
|
|
if (branch_taken) {
|
|
goto L_08ACD094;
|
|
}
|
|
goto L_08ACD014;
|
|
}
|
|
L_08ACD014:
|
|
aot_gpr_31 = (0x08ACD01Cu);
|
|
aot_gpr_4 = (aot_gpr_17 | 0u);
|
|
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0178->0176.
|
|
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
|
|
AOT_REGCACHE_SYNC_OUT();
|
|
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0178_entry, 344u, 0x08ACD01Cu, 0x08AC79B0u)) {
|
|
#if defined(__clang__)
|
|
[[clang::musttail]] return recomp_unit_0176_entry(rt, ctx, 970u, aot_mem);
|
|
#else
|
|
recomp_unit_0176_entry(rt, ctx, 970u, aot_mem); return;
|
|
#endif
|
|
}
|
|
return;
|
|
#else
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 970u, 0x08AC79B0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACD01Cu) goto L_08ACD01C;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
#endif
|
|
L_08ACD01C:
|
|
aot_gpr_31 = (0x08ACD024u);
|
|
aot_gpr_4 = (aot_gpr_2 | 0u);
|
|
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0178->0176.
|
|
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
|
|
AOT_REGCACHE_SYNC_OUT();
|
|
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0178_entry, 345u, 0x08ACD024u, 0x08AC7940u)) {
|
|
#if defined(__clang__)
|
|
[[clang::musttail]] return recomp_unit_0176_entry(rt, ctx, 958u, aot_mem);
|
|
#else
|
|
recomp_unit_0176_entry(rt, ctx, 958u, aot_mem); return;
|
|
#endif
|
|
}
|
|
return;
|
|
#else
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 958u, 0x08AC7940u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACD024u) goto L_08ACD024;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
#endif
|
|
L_08ACD024:
|
|
{ const bool branch_taken = aot_gpr_2 == 0u;
|
|
if (branch_taken) {
|
|
goto L_08ACD054;
|
|
}
|
|
goto L_08ACD02C;
|
|
}
|
|
L_08ACD02C:
|
|
aot_gpr_31 = (0x08ACD034u);
|
|
aot_gpr_4 = (aot_gpr_17 | 0u);
|
|
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0178->0176.
|
|
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
|
|
AOT_REGCACHE_SYNC_OUT();
|
|
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0178_entry, 347u, 0x08ACD034u, 0x08AC79B0u)) {
|
|
#if defined(__clang__)
|
|
[[clang::musttail]] return recomp_unit_0176_entry(rt, ctx, 970u, aot_mem);
|
|
#else
|
|
recomp_unit_0176_entry(rt, ctx, 970u, aot_mem); return;
|
|
#endif
|
|
}
|
|
return;
|
|
#else
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 970u, 0x08AC79B0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACD034u) goto L_08ACD034;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
#endif
|
|
L_08ACD034:
|
|
aot_gpr_31 = (0x08ACD03Cu);
|
|
aot_gpr_4 = (aot_gpr_2 | 0u);
|
|
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0178->0176.
|
|
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
|
|
AOT_REGCACHE_SYNC_OUT();
|
|
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0178_entry, 348u, 0x08ACD03Cu, 0x08AC7940u)) {
|
|
#if defined(__clang__)
|
|
[[clang::musttail]] return recomp_unit_0176_entry(rt, ctx, 958u, aot_mem);
|
|
#else
|
|
recomp_unit_0176_entry(rt, ctx, 958u, aot_mem); return;
|
|
#endif
|
|
}
|
|
return;
|
|
#else
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 958u, 0x08AC7940u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACD03Cu) goto L_08ACD03C;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
#endif
|
|
L_08ACD03C:
|
|
aot_gpr_4 = (0u | 6u);
|
|
{ const bool branch_taken = aot_gpr_2 == aot_gpr_4;
|
|
if (branch_taken) {
|
|
goto L_08ACD054;
|
|
}
|
|
goto L_08ACD048;
|
|
}
|
|
L_08ACD048:
|
|
aot_gpr_4 = (aot_gpr_17 | 0u);
|
|
aot_gpr_31 = (0x08ACD054u);
|
|
aot_gpr_5 = (0u | 0u);
|
|
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0178->0065.
|
|
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
|
|
AOT_REGCACHE_SYNC_OUT();
|
|
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0178_entry, 350u, 0x08ACD054u, 0x0890816Cu)) {
|
|
#if defined(__clang__)
|
|
[[clang::musttail]] return recomp_unit_0065_entry(rt, ctx, 28u, aot_mem);
|
|
#else
|
|
recomp_unit_0065_entry(rt, ctx, 28u, aot_mem); return;
|
|
#endif
|
|
}
|
|
return;
|
|
#else
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 28u, 0x0890816Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACD054u) goto L_08ACD054;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
#endif
|
|
L_08ACD054:
|
|
ctx.gpr[8] = (16640u << 16u);
|
|
aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast<std::uint32_t>(80)));
|
|
aot_fpr_12 = std::bit_cast<float>(ctx.gpr[8]);
|
|
aot_gpr_4 = (aot_gpr_17 | 0u);
|
|
ctx.gpr[6] = (0u | 0u);
|
|
aot_gpr_31 = (0x08ACD070u);
|
|
ctx.gpr[7] = (0u | 158u);
|
|
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0178->0065.
|
|
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
|
|
AOT_REGCACHE_SYNC_OUT();
|
|
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0178_entry, 351u, 0x08ACD070u, 0x089088F4u)) {
|
|
#if defined(__clang__)
|
|
[[clang::musttail]] return recomp_unit_0065_entry(rt, ctx, 163u, aot_mem);
|
|
#else
|
|
recomp_unit_0065_entry(rt, ctx, 163u, aot_mem); return;
|
|
#endif
|
|
}
|
|
return;
|
|
#else
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 163u, 0x089088F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACD070u) goto L_08ACD070;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
#endif
|
|
L_08ACD070:
|
|
ctx.gpr[16] = (aot_gpr_2 | 0u);
|
|
aot_gpr_4 = (ctx.gpr[16] | 0u);
|
|
aot_gpr_31 = (0x08ACD080u);
|
|
aot_gpr_5 = (0u | 4u);
|
|
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0178->0176.
|
|
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
|
|
AOT_REGCACHE_SYNC_OUT();
|
|
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0178_entry, 352u, 0x08ACD080u, 0x08AC76ECu)) {
|
|
#if defined(__clang__)
|
|
[[clang::musttail]] return recomp_unit_0176_entry(rt, ctx, 931u, aot_mem);
|
|
#else
|
|
recomp_unit_0176_entry(rt, ctx, 931u, aot_mem); return;
|
|
#endif
|
|
}
|
|
return;
|
|
#else
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 931u, 0x08AC76ECu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACD080u) goto L_08ACD080;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
#endif
|
|
L_08ACD080:
|
|
aot_gpr_4 = (ctx.gpr[16] | 0u);
|
|
aot_gpr_31 = (0x08ACD08Cu);
|
|
aot_gpr_5 = (0u | 8u);
|
|
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0178->0176.
|
|
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
|
|
AOT_REGCACHE_SYNC_OUT();
|
|
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0178_entry, 353u, 0x08ACD08Cu, 0x08AC76ECu)) {
|
|
#if defined(__clang__)
|
|
[[clang::musttail]] return recomp_unit_0176_entry(rt, ctx, 931u, aot_mem);
|
|
#else
|
|
recomp_unit_0176_entry(rt, ctx, 931u, aot_mem); return;
|
|
#endif
|
|
}
|
|
return;
|
|
#else
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 931u, 0x08AC76ECu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACD08Cu) goto L_08ACD08C;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
#endif
|
|
L_08ACD08C:
|
|
{ const bool branch_taken = 0u == 0u;
|
|
if (branch_taken) {
|
|
goto L_08ACD218;
|
|
}
|
|
goto L_08ACD094;
|
|
}
|
|
L_08ACD094:
|
|
{ const bool branch_taken = ctx.gpr[16] == 0u;
|
|
if (branch_taken) {
|
|
goto L_08ACD218;
|
|
}
|
|
goto L_08ACD09C;
|
|
}
|
|
L_08ACD09C:
|
|
aot_gpr_4 = (ctx.gpr[16] | 0u);
|
|
aot_gpr_31 = (0x08ACD0A8u);
|
|
aot_gpr_5 = (0u | 1u);
|
|
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0178->0176.
|
|
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
|
|
AOT_REGCACHE_SYNC_OUT();
|
|
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0178_entry, 356u, 0x08ACD0A8u, 0x08AC76FCu)) {
|
|
#if defined(__clang__)
|
|
[[clang::musttail]] return recomp_unit_0176_entry(rt, ctx, 932u, aot_mem);
|
|
#else
|
|
recomp_unit_0176_entry(rt, ctx, 932u, aot_mem); return;
|
|
#endif
|
|
}
|
|
return;
|
|
#else
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 932u, 0x08AC76FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACD0A8u) goto L_08ACD0A8;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
#endif
|
|
L_08ACD0A8:
|
|
{ const bool branch_taken = aot_gpr_2 == 0u;
|
|
if (branch_taken) {
|
|
goto L_08ACD0E4;
|
|
}
|
|
goto L_08ACD0B0;
|
|
}
|
|
L_08ACD0B0:
|
|
aot_gpr_31 = (0x08ACD0B8u);
|
|
aot_gpr_4 = (ctx.gpr[16] | 0u);
|
|
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0178->0176.
|
|
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
|
|
AOT_REGCACHE_SYNC_OUT();
|
|
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0178_entry, 358u, 0x08ACD0B8u, 0x08AC7714u)) {
|
|
#if defined(__clang__)
|
|
[[clang::musttail]] return recomp_unit_0176_entry(rt, ctx, 934u, aot_mem);
|
|
#else
|
|
recomp_unit_0176_entry(rt, ctx, 934u, aot_mem); return;
|
|
#endif
|
|
}
|
|
return;
|
|
#else
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 934u, 0x08AC7714u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACD0B8u) goto L_08ACD0B8;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
#endif
|
|
L_08ACD0B8:
|
|
aot_fpr_20 = std::bit_cast<float>(std::bit_cast<std::uint32_t>(aot_fpr_0));
|
|
aot_gpr_31 = (0x08ACD0C4u);
|
|
aot_gpr_4 = (ctx.gpr[16] | 0u);
|
|
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0178->0176.
|
|
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
|
|
AOT_REGCACHE_SYNC_OUT();
|
|
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0178_entry, 359u, 0x08ACD0C4u, 0x08AC771Cu)) {
|
|
#if defined(__clang__)
|
|
[[clang::musttail]] return recomp_unit_0176_entry(rt, ctx, 935u, aot_mem);
|
|
#else
|
|
recomp_unit_0176_entry(rt, ctx, 935u, aot_mem); return;
|
|
#endif
|
|
}
|
|
return;
|
|
#else
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 935u, 0x08AC771Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACD0C4u) goto L_08ACD0C4;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
#endif
|
|
L_08ACD0C4:
|
|
aot_fpr_12 = aot_fpr_20 / aot_fpr_0;
|
|
aot_gpr_4 = (16204u << 16u);
|
|
aot_gpr_4 = (aot_gpr_4 | 52429u);
|
|
aot_fpr_13 = std::bit_cast<float>(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_08ACD218;
|
|
}
|
|
goto L_08ACD0E4;
|
|
}
|
|
L_08ACD0E4:
|
|
ctx.gpr[8] = (16640u << 16u);
|
|
aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast<std::uint32_t>(80)));
|
|
aot_fpr_12 = std::bit_cast<float>(ctx.gpr[8]);
|
|
aot_gpr_4 = (aot_gpr_17 | 0u);
|
|
ctx.gpr[6] = (0u | 7u);
|
|
aot_gpr_31 = (0x08ACD100u);
|
|
ctx.gpr[7] = (0u | 214u);
|
|
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0178->0065.
|
|
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
|
|
AOT_REGCACHE_SYNC_OUT();
|
|
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0178_entry, 361u, 0x08ACD100u, 0x089088F4u)) {
|
|
#if defined(__clang__)
|
|
[[clang::musttail]] return recomp_unit_0065_entry(rt, ctx, 163u, aot_mem);
|
|
#else
|
|
recomp_unit_0065_entry(rt, ctx, 163u, aot_mem); return;
|
|
#endif
|
|
}
|
|
return;
|
|
#else
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 163u, 0x089088F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACD100u) goto L_08ACD100;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
#endif
|
|
L_08ACD100:
|
|
ctx.gpr[16] = (aot_gpr_2 | 0u);
|
|
aot_gpr_4 = (ctx.gpr[16] | 0u);
|
|
aot_gpr_31 = (0x08ACD110u);
|
|
aot_gpr_5 = (0u | 4u);
|
|
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0178->0176.
|
|
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
|
|
AOT_REGCACHE_SYNC_OUT();
|
|
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0178_entry, 362u, 0x08ACD110u, 0x08AC76ECu)) {
|
|
#if defined(__clang__)
|
|
[[clang::musttail]] return recomp_unit_0176_entry(rt, ctx, 931u, aot_mem);
|
|
#else
|
|
recomp_unit_0176_entry(rt, ctx, 931u, aot_mem); return;
|
|
#endif
|
|
}
|
|
return;
|
|
#else
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 931u, 0x08AC76ECu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACD110u) goto L_08ACD110;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
#endif
|
|
L_08ACD110:
|
|
aot_gpr_4 = (ctx.gpr[16] | 0u);
|
|
aot_gpr_31 = (0x08ACD11Cu);
|
|
aot_gpr_5 = (0u | 8u);
|
|
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0178->0176.
|
|
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
|
|
AOT_REGCACHE_SYNC_OUT();
|
|
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0178_entry, 363u, 0x08ACD11Cu, 0x08AC76ECu)) {
|
|
#if defined(__clang__)
|
|
[[clang::musttail]] return recomp_unit_0176_entry(rt, ctx, 931u, aot_mem);
|
|
#else
|
|
recomp_unit_0176_entry(rt, ctx, 931u, aot_mem); return;
|
|
#endif
|
|
}
|
|
return;
|
|
#else
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 931u, 0x08AC76ECu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACD11Cu) goto L_08ACD11C;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
#endif
|
|
L_08ACD11C:
|
|
aot_gpr_31 = (0x08ACD124u);
|
|
aot_gpr_4 = (aot_gpr_17 | 0u);
|
|
if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AC8054, 177u, 7u, 0x08AC8054u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0177_entry, 177u, 7u, 0x08AC8054u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACD124u) goto L_08ACD124;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
L_08ACD124:
|
|
aot_gpr_4 = (aot_gpr_2 | 0u);
|
|
aot_gpr_31 = (0x08ACD130u);
|
|
aot_gpr_5 = (aot_gpr_17 | 0u);
|
|
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0178->0077.
|
|
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
|
|
AOT_REGCACHE_SYNC_OUT();
|
|
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0178_entry, 365u, 0x08ACD130u, 0x089387ACu)) {
|
|
#if defined(__clang__)
|
|
[[clang::musttail]] return recomp_unit_0077_entry(rt, ctx, 108u, aot_mem);
|
|
#else
|
|
recomp_unit_0077_entry(rt, ctx, 108u, aot_mem); return;
|
|
#endif
|
|
}
|
|
return;
|
|
#else
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0077_entry, 77u, 108u, 0x089387ACu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACD130u) goto L_08ACD130;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
#endif
|
|
L_08ACD130:
|
|
aot_gpr_31 = (0x08ACD138u);
|
|
aot_gpr_4 = (aot_gpr_17 | 0u);
|
|
if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AC8054, 177u, 7u, 0x08AC8054u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0177_entry, 177u, 7u, 0x08AC8054u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACD138u) goto L_08ACD138;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
L_08ACD138:
|
|
aot_gpr_4 = (aot_gpr_2 | 0u);
|
|
aot_gpr_31 = (0x08ACD144u);
|
|
aot_gpr_5 = (0u | 123u);
|
|
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0178->0023.
|
|
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
|
|
AOT_REGCACHE_SYNC_OUT();
|
|
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0178_entry, 367u, 0x08ACD144u, 0x08860424u)) {
|
|
#if defined(__clang__)
|
|
[[clang::musttail]] return recomp_unit_0023_entry(rt, ctx, 16u, aot_mem);
|
|
#else
|
|
recomp_unit_0023_entry(rt, ctx, 16u, aot_mem); return;
|
|
#endif
|
|
}
|
|
return;
|
|
#else
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 16u, 0x08860424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACD144u) goto L_08ACD144;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
#endif
|
|
L_08ACD144:
|
|
aot_gpr_4 = (aot_gpr_17 | 0u);
|
|
aot_gpr_31 = (0x08ACD150u);
|
|
aot_gpr_5 = (0u | 121u);
|
|
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0178->0023.
|
|
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
|
|
AOT_REGCACHE_SYNC_OUT();
|
|
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0178_entry, 368u, 0x08ACD150u, 0x08860424u)) {
|
|
#if defined(__clang__)
|
|
[[clang::musttail]] return recomp_unit_0023_entry(rt, ctx, 16u, aot_mem);
|
|
#else
|
|
recomp_unit_0023_entry(rt, ctx, 16u, aot_mem); return;
|
|
#endif
|
|
}
|
|
return;
|
|
#else
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 16u, 0x08860424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACD150u) goto L_08ACD150;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
#endif
|
|
L_08ACD150:
|
|
aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast<std::uint32_t>(464)));
|
|
aot_gpr_4 = (aot_gpr_17 | 0u);
|
|
aot_gpr_5 = (aot_gpr_5 | 64u);
|
|
aot_gpr_31 = (0x08ACD164u);
|
|
aot_mem.aot_direct_store32(aot_gpr_17 + static_cast<std::uint32_t>(464), aot_gpr_5);
|
|
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0178->0176.
|
|
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
|
|
AOT_REGCACHE_SYNC_OUT();
|
|
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0178_entry, 369u, 0x08ACD164u, 0x08AC7C60u)) {
|
|
#if defined(__clang__)
|
|
[[clang::musttail]] return recomp_unit_0176_entry(rt, ctx, 1022u, aot_mem);
|
|
#else
|
|
recomp_unit_0176_entry(rt, ctx, 1022u, aot_mem); return;
|
|
#endif
|
|
}
|
|
return;
|
|
#else
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 1022u, 0x08AC7C60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACD164u) goto L_08ACD164;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
#endif
|
|
L_08ACD164:
|
|
aot_gpr_31 = (0x08ACD16Cu);
|
|
aot_gpr_4 = (aot_gpr_17 | 0u);
|
|
if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AC8054, 177u, 7u, 0x08AC8054u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0177_entry, 177u, 7u, 0x08AC8054u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACD16Cu) goto L_08ACD16C;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
L_08ACD16C:
|
|
aot_gpr_31 = (0x08ACD174u);
|
|
aot_gpr_4 = (aot_gpr_2 | 0u);
|
|
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0178->0176.
|
|
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
|
|
AOT_REGCACHE_SYNC_OUT();
|
|
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0178_entry, 371u, 0x08ACD174u, 0x08AC7A48u)) {
|
|
#if defined(__clang__)
|
|
[[clang::musttail]] return recomp_unit_0176_entry(rt, ctx, 981u, aot_mem);
|
|
#else
|
|
recomp_unit_0176_entry(rt, ctx, 981u, aot_mem); return;
|
|
#endif
|
|
}
|
|
return;
|
|
#else
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 981u, 0x08AC7A48u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACD174u) goto L_08ACD174;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
#endif
|
|
L_08ACD174:
|
|
aot_gpr_4 = (0u | 8u);
|
|
{ const bool branch_taken = aot_gpr_2 != aot_gpr_4;
|
|
if (branch_taken) {
|
|
goto L_08ACD1D0;
|
|
}
|
|
goto L_08ACD180;
|
|
}
|
|
L_08ACD180:
|
|
aot_gpr_31 = (0x08ACD188u);
|
|
aot_gpr_4 = (aot_gpr_17 | 0u);
|
|
if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AC8054, 177u, 7u, 0x08AC8054u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0177_entry, 177u, 7u, 0x08AC8054u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACD188u) goto L_08ACD188;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
L_08ACD188:
|
|
aot_gpr_31 = (0x08ACD190u);
|
|
aot_gpr_4 = (aot_gpr_2 | 0u);
|
|
if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AC8054, 177u, 7u, 0x08AC8054u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0177_entry, 177u, 7u, 0x08AC8054u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACD190u) goto L_08ACD190;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
L_08ACD190:
|
|
{ const bool branch_taken = aot_gpr_2 != aot_gpr_17;
|
|
if (branch_taken) {
|
|
goto L_08ACD1D0;
|
|
}
|
|
goto L_08ACD198;
|
|
}
|
|
L_08ACD198:
|
|
aot_gpr_31 = (0x08ACD1A0u);
|
|
aot_gpr_4 = (aot_gpr_17 | 0u);
|
|
if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AC8054, 177u, 7u, 0x08AC8054u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0177_entry, 177u, 7u, 0x08AC8054u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACD1A0u) goto L_08ACD1A0;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
L_08ACD1A0:
|
|
aot_gpr_4 = (aot_gpr_17 | 0u);
|
|
aot_gpr_5 = (0u | 10u);
|
|
aot_gpr_31 = (0x08ACD1B0u);
|
|
ctx.gpr[6] = (aot_gpr_2 | 0u);
|
|
goto L_08ACD698;
|
|
L_08ACD1B0:
|
|
aot_gpr_4 = (aot_gpr_17 | 0u);
|
|
aot_gpr_31 = (0x08ACD1BCu);
|
|
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_0890BE50, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0065_entry, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACD1BCu) goto L_08ACD1BC;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
L_08ACD1BC:
|
|
aot_gpr_4 = (aot_gpr_17 | 0u);
|
|
aot_gpr_31 = (0x08ACD1C8u);
|
|
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_08908E78, 65u, 261u, 0x08908E78u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0065_entry, 65u, 261u, 0x08908E78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACD1C8u) goto L_08ACD1C8;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
L_08ACD1C8:
|
|
{ const bool branch_taken = 0u == 0u;
|
|
if (branch_taken) {
|
|
goto L_08ACD218;
|
|
}
|
|
goto L_08ACD1D0;
|
|
}
|
|
L_08ACD1D0:
|
|
aot_gpr_31 = (0x08ACD1D8u);
|
|
aot_gpr_4 = (aot_gpr_17 | 0u);
|
|
if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AC8054, 177u, 7u, 0x08AC8054u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0177_entry, 177u, 7u, 0x08AC8054u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACD1D8u) goto L_08ACD1D8;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
L_08ACD1D8:
|
|
aot_gpr_4 = (aot_gpr_17 | 0u);
|
|
aot_gpr_5 = (aot_gpr_2 | 0u);
|
|
aot_gpr_31 = (0x08ACD1E8u);
|
|
ctx.gpr[6] = (0u | 15000u);
|
|
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0178->0065.
|
|
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
|
|
AOT_REGCACHE_SYNC_OUT();
|
|
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0178_entry, 382u, 0x08ACD1E8u, 0x0890B27Cu)) {
|
|
#if defined(__clang__)
|
|
[[clang::musttail]] return recomp_unit_0065_entry(rt, ctx, 803u, aot_mem);
|
|
#else
|
|
recomp_unit_0065_entry(rt, ctx, 803u, aot_mem); return;
|
|
#endif
|
|
}
|
|
return;
|
|
#else
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 803u, 0x0890B27Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACD1E8u) goto L_08ACD1E8;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
#endif
|
|
L_08ACD1E8:
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast<std::uint32_t>(456)));
|
|
aot_gpr_5 = (16384u << 16u);
|
|
aot_gpr_4 = (aot_gpr_4 | aot_gpr_5);
|
|
aot_mem.aot_direct_store32(aot_gpr_17 + static_cast<std::uint32_t>(456), aot_gpr_4);
|
|
aot_gpr_31 = (0x08ACD200u);
|
|
aot_gpr_4 = (aot_gpr_17 | 0u);
|
|
if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890FF64, 66u, 887u, 0x0890FF64u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 887u, 0x0890FF64u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACD200u) goto L_08ACD200;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
L_08ACD200:
|
|
aot_gpr_4 = (aot_gpr_17 | 0u);
|
|
aot_gpr_31 = (0x08ACD20Cu);
|
|
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_0890BE50, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0065_entry, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACD20Cu) goto L_08ACD20C;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
L_08ACD20C:
|
|
aot_gpr_4 = (aot_gpr_17 | 0u);
|
|
aot_gpr_31 = (0x08ACD218u);
|
|
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_08908E78, 65u, 261u, 0x08908E78u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0065_entry, 65u, 261u, 0x08908E78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACD218u) goto L_08ACD218;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
L_08ACD218:
|
|
{ const bool branch_taken = 0u == 0u;
|
|
if (branch_taken) {
|
|
goto L_08ACD234;
|
|
}
|
|
goto L_08ACD220;
|
|
}
|
|
L_08ACD220:
|
|
aot_gpr_4 = (aot_gpr_17 | 0u);
|
|
aot_gpr_31 = (0x08ACD22Cu);
|
|
aot_gpr_5 = (0u | 0u);
|
|
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0178->0176.
|
|
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
|
|
AOT_REGCACHE_SYNC_OUT();
|
|
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0178_entry, 387u, 0x08ACD22Cu, 0x08AC7A50u)) {
|
|
#if defined(__clang__)
|
|
[[clang::musttail]] return recomp_unit_0176_entry(rt, ctx, 982u, aot_mem);
|
|
#else
|
|
recomp_unit_0176_entry(rt, ctx, 982u, aot_mem); return;
|
|
#endif
|
|
}
|
|
return;
|
|
#else
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 982u, 0x08AC7A50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACD22Cu) goto L_08ACD22C;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
#endif
|
|
L_08ACD22C:
|
|
aot_gpr_31 = (0x08ACD234u);
|
|
aot_gpr_4 = (aot_gpr_17 | 0u);
|
|
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0178->0176.
|
|
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
|
|
AOT_REGCACHE_SYNC_OUT();
|
|
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0178_entry, 388u, 0x08ACD234u, 0x08AC7C60u)) {
|
|
#if defined(__clang__)
|
|
[[clang::musttail]] return recomp_unit_0176_entry(rt, ctx, 1022u, aot_mem);
|
|
#else
|
|
recomp_unit_0176_entry(rt, ctx, 1022u, aot_mem); return;
|
|
#endif
|
|
}
|
|
return;
|
|
#else
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 1022u, 0x08AC7C60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACD234u) goto L_08ACD234;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
#endif
|
|
L_08ACD234:
|
|
aot_gpr_31 = (0x08ACD23Cu);
|
|
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0178->0176.
|
|
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
|
|
AOT_REGCACHE_SYNC_OUT();
|
|
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0178_entry, 389u, 0x08ACD23Cu, 0x08AC76DCu)) {
|
|
#if defined(__clang__)
|
|
[[clang::musttail]] return recomp_unit_0176_entry(rt, ctx, 929u, aot_mem);
|
|
#else
|
|
recomp_unit_0176_entry(rt, ctx, 929u, aot_mem); return;
|
|
#endif
|
|
}
|
|
return;
|
|
#else
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 929u, 0x08AC76DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACD23Cu) goto L_08ACD23C;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
#endif
|
|
L_08ACD23C:
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast<std::uint32_t>(1728)));
|
|
aot_gpr_4 = (aot_gpr_4 < aot_gpr_2 ? 1u : 0u);
|
|
{ const bool branch_taken = aot_gpr_4 == 0u;
|
|
if (branch_taken) {
|
|
goto L_08ACD278;
|
|
}
|
|
goto L_08ACD24C;
|
|
}
|
|
L_08ACD24C:
|
|
aot_gpr_31 = (0x08ACD254u);
|
|
aot_gpr_4 = (aot_gpr_17 | 0u);
|
|
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0178->0067.
|
|
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
|
|
AOT_REGCACHE_SYNC_OUT();
|
|
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0178_entry, 391u, 0x08ACD254u, 0x08910B38u)) {
|
|
#if defined(__clang__)
|
|
[[clang::musttail]] return recomp_unit_0067_entry(rt, ctx, 195u, aot_mem);
|
|
#else
|
|
recomp_unit_0067_entry(rt, ctx, 195u, aot_mem); return;
|
|
#endif
|
|
}
|
|
return;
|
|
#else
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0067_entry, 67u, 195u, 0x08910B38u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACD254u) goto L_08ACD254;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
#endif
|
|
L_08ACD254:
|
|
{ const bool branch_taken = aot_gpr_2 != 0u;
|
|
if (branch_taken) {
|
|
goto L_08ACD278;
|
|
}
|
|
goto L_08ACD25C;
|
|
}
|
|
L_08ACD25C:
|
|
aot_mem.aot_direct_store32(aot_gpr_17 + static_cast<std::uint32_t>(1728), 0u);
|
|
aot_gpr_4 = (aot_gpr_17 | 0u);
|
|
aot_gpr_31 = (0x08ACD26Cu);
|
|
aot_gpr_5 = (0u | 0u);
|
|
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0178->0176.
|
|
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
|
|
AOT_REGCACHE_SYNC_OUT();
|
|
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0178_entry, 393u, 0x08ACD26Cu, 0x08AC7A50u)) {
|
|
#if defined(__clang__)
|
|
[[clang::musttail]] return recomp_unit_0176_entry(rt, ctx, 982u, aot_mem);
|
|
#else
|
|
recomp_unit_0176_entry(rt, ctx, 982u, aot_mem); return;
|
|
#endif
|
|
}
|
|
return;
|
|
#else
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 982u, 0x08AC7A50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACD26Cu) goto L_08ACD26C;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
#endif
|
|
L_08ACD26C:
|
|
aot_gpr_5 = (static_cast<std::uint32_t>(static_cast<std::int32_t>(static_cast<std::int8_t>(aot_mem.aot_direct_load8(aot_gpr_17 + static_cast<std::uint32_t>(1930))))));
|
|
aot_gpr_31 = (0x08ACD278u);
|
|
aot_gpr_4 = (aot_gpr_17 | 0u);
|
|
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0178->0065.
|
|
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
|
|
AOT_REGCACHE_SYNC_OUT();
|
|
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0178_entry, 394u, 0x08ACD278u, 0x0890A728u)) {
|
|
#if defined(__clang__)
|
|
[[clang::musttail]] return recomp_unit_0065_entry(rt, ctx, 631u, aot_mem);
|
|
#else
|
|
recomp_unit_0065_entry(rt, ctx, 631u, aot_mem); return;
|
|
#endif
|
|
}
|
|
return;
|
|
#else
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 631u, 0x0890A728u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACD278u) goto L_08ACD278;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
#endif
|
|
L_08ACD278:
|
|
{ const bool branch_taken = 0u == 0u;
|
|
if (branch_taken) {
|
|
goto L_08ACD280;
|
|
}
|
|
goto L_08ACD280;
|
|
}
|
|
L_08ACD280:
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast<std::uint32_t>(460)));
|
|
aot_gpr_4 = (aot_gpr_4 & 128u);
|
|
{ const bool branch_taken = aot_gpr_4 != 0u;
|
|
if (branch_taken) {
|
|
goto L_08ACD2B4;
|
|
}
|
|
goto L_08ACD290;
|
|
}
|
|
L_08ACD290:
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast<std::uint32_t>(1756)));
|
|
{ const bool branch_taken = aot_gpr_4 == 0u;
|
|
if (branch_taken) {
|
|
goto L_08ACD47C;
|
|
}
|
|
goto L_08ACD29C;
|
|
}
|
|
L_08ACD29C:
|
|
aot_gpr_31 = (0x08ACD2A4u);
|
|
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0178->0176.
|
|
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
|
|
AOT_REGCACHE_SYNC_OUT();
|
|
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0178_entry, 398u, 0x08ACD2A4u, 0x08AC76DCu)) {
|
|
#if defined(__clang__)
|
|
[[clang::musttail]] return recomp_unit_0176_entry(rt, ctx, 929u, aot_mem);
|
|
#else
|
|
recomp_unit_0176_entry(rt, ctx, 929u, aot_mem); return;
|
|
#endif
|
|
}
|
|
return;
|
|
#else
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 929u, 0x08AC76DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACD2A4u) goto L_08ACD2A4;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
#endif
|
|
L_08ACD2A4:
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast<std::uint32_t>(1756)));
|
|
aot_gpr_4 = (aot_gpr_4 < aot_gpr_2 ? 1u : 0u);
|
|
{ const bool branch_taken = aot_gpr_4 == 0u;
|
|
if (branch_taken) {
|
|
goto L_08ACD47C;
|
|
}
|
|
goto L_08ACD2B4;
|
|
}
|
|
L_08ACD2B4:
|
|
ctx.gpr[16] = (0u | 0u);
|
|
aot_gpr_31 = (0x08ACD2C0u);
|
|
aot_gpr_4 = (aot_gpr_17 | 0u);
|
|
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0178->0177.
|
|
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
|
|
AOT_REGCACHE_SYNC_OUT();
|
|
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0178_entry, 400u, 0x08ACD2C0u, 0x08AC80FCu)) {
|
|
#if defined(__clang__)
|
|
[[clang::musttail]] return recomp_unit_0177_entry(rt, ctx, 25u, aot_mem);
|
|
#else
|
|
recomp_unit_0177_entry(rt, ctx, 25u, aot_mem); return;
|
|
#endif
|
|
}
|
|
return;
|
|
#else
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0177_entry, 177u, 25u, 0x08AC80FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACD2C0u) goto L_08ACD2C0;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
#endif
|
|
L_08ACD2C0:
|
|
aot_gpr_4 = (0u | 1u);
|
|
{ const bool branch_taken = aot_gpr_2 != aot_gpr_4;
|
|
if (branch_taken) {
|
|
goto L_08ACD2E0;
|
|
}
|
|
goto L_08ACD2CC;
|
|
}
|
|
L_08ACD2CC:
|
|
aot_gpr_31 = (0x08ACD2D4u);
|
|
aot_gpr_4 = (aot_gpr_17 | 0u);
|
|
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0178->0067.
|
|
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
|
|
AOT_REGCACHE_SYNC_OUT();
|
|
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0178_entry, 402u, 0x08ACD2D4u, 0x08910B38u)) {
|
|
#if defined(__clang__)
|
|
[[clang::musttail]] return recomp_unit_0067_entry(rt, ctx, 195u, aot_mem);
|
|
#else
|
|
recomp_unit_0067_entry(rt, ctx, 195u, aot_mem); return;
|
|
#endif
|
|
}
|
|
return;
|
|
#else
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0067_entry, 67u, 195u, 0x08910B38u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACD2D4u) goto L_08ACD2D4;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
#endif
|
|
L_08ACD2D4:
|
|
{ const bool branch_taken = aot_gpr_2 != 0u;
|
|
if (branch_taken) {
|
|
goto L_08ACD2E0;
|
|
}
|
|
goto L_08ACD2DC;
|
|
}
|
|
L_08ACD2DC:
|
|
ctx.gpr[16] = (0u | 1u);
|
|
goto L_08ACD2E0;
|
|
L_08ACD2E0:
|
|
ctx.gpr[16] = (ctx.gpr[16] & 255u);
|
|
{ const bool branch_taken = ctx.gpr[16] == 0u;
|
|
ctx.gpr[18] = (0u | 1u);
|
|
if (branch_taken) {
|
|
goto L_08ACD3C8;
|
|
}
|
|
goto L_08ACD2EC;
|
|
}
|
|
L_08ACD2EC:
|
|
aot_gpr_31 = (0x08ACD2F4u);
|
|
aot_gpr_4 = (aot_gpr_17 | 0u);
|
|
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0178->0176.
|
|
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
|
|
AOT_REGCACHE_SYNC_OUT();
|
|
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0178_entry, 406u, 0x08ACD2F4u, 0x08AC7A48u)) {
|
|
#if defined(__clang__)
|
|
[[clang::musttail]] return recomp_unit_0176_entry(rt, ctx, 981u, aot_mem);
|
|
#else
|
|
recomp_unit_0176_entry(rt, ctx, 981u, aot_mem); return;
|
|
#endif
|
|
}
|
|
return;
|
|
#else
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 981u, 0x08AC7A48u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACD2F4u) goto L_08ACD2F4;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
#endif
|
|
L_08ACD2F4:
|
|
aot_gpr_4 = (0u | 8u);
|
|
{ const bool branch_taken = aot_gpr_2 != aot_gpr_4;
|
|
if (branch_taken) {
|
|
goto L_08ACD3C8;
|
|
}
|
|
goto L_08ACD300;
|
|
}
|
|
L_08ACD300:
|
|
aot_gpr_31 = (0x08ACD308u);
|
|
aot_gpr_4 = (aot_gpr_17 | 0u);
|
|
if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08AC79D4, 176u, 972u, 0x08AC79D4u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0176_entry, 176u, 972u, 0x08AC79D4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACD308u) goto L_08ACD308;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
L_08ACD308:
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_2 + static_cast<std::uint32_t>(0)));
|
|
aot_gpr_5 = (0u | 17u);
|
|
{ const bool branch_taken = aot_gpr_4 != aot_gpr_5;
|
|
if (branch_taken) {
|
|
goto L_08ACD3C8;
|
|
}
|
|
goto L_08ACD318;
|
|
}
|
|
L_08ACD318:
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast<std::uint32_t>(92)));
|
|
aot_gpr_4 = (aot_gpr_4 + static_cast<std::uint32_t>(216));
|
|
aot_gpr_5 = (static_cast<std::uint32_t>(static_cast<std::int32_t>(static_cast<std::int16_t>(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast<std::uint32_t>(0))))));
|
|
ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast<std::uint32_t>(4)));
|
|
jump_target = ctx.gpr[6];
|
|
aot_gpr_31 = (0x08ACD330u);
|
|
aot_gpr_4 = (aot_gpr_17 + aot_gpr_5);
|
|
ctx.pc = jump_target;
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACD330u) goto L_08ACD330;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
L_08ACD330:
|
|
aot_gpr_31 = (0x08ACD338u);
|
|
aot_gpr_4 = (aot_gpr_2 | 0u);
|
|
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0178->0176.
|
|
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
|
|
AOT_REGCACHE_SYNC_OUT();
|
|
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0178_entry, 411u, 0x08ACD338u, 0x08AC79A8u)) {
|
|
#if defined(__clang__)
|
|
[[clang::musttail]] return recomp_unit_0176_entry(rt, ctx, 969u, aot_mem);
|
|
#else
|
|
recomp_unit_0176_entry(rt, ctx, 969u, aot_mem); return;
|
|
#endif
|
|
}
|
|
return;
|
|
#else
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 969u, 0x08AC79A8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACD338u) goto L_08ACD338;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
#endif
|
|
L_08ACD338:
|
|
{ const bool branch_taken = aot_gpr_2 == 0u;
|
|
if (branch_taken) {
|
|
goto L_08ACD3C8;
|
|
}
|
|
goto L_08ACD340;
|
|
}
|
|
L_08ACD340:
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast<std::uint32_t>(92)));
|
|
aot_gpr_4 = (aot_gpr_4 + static_cast<std::uint32_t>(216));
|
|
aot_gpr_5 = (static_cast<std::uint32_t>(static_cast<std::int32_t>(static_cast<std::int16_t>(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast<std::uint32_t>(0))))));
|
|
ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast<std::uint32_t>(4)));
|
|
jump_target = ctx.gpr[6];
|
|
aot_gpr_31 = (0x08ACD358u);
|
|
aot_gpr_4 = (aot_gpr_17 + aot_gpr_5);
|
|
ctx.pc = jump_target;
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACD358u) goto L_08ACD358;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
L_08ACD358:
|
|
aot_gpr_31 = (0x08ACD360u);
|
|
aot_gpr_4 = (aot_gpr_2 | 0u);
|
|
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0178->0176.
|
|
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
|
|
AOT_REGCACHE_SYNC_OUT();
|
|
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0178_entry, 414u, 0x08ACD360u, 0x08AC79A8u)) {
|
|
#if defined(__clang__)
|
|
[[clang::musttail]] return recomp_unit_0176_entry(rt, ctx, 969u, aot_mem);
|
|
#else
|
|
recomp_unit_0176_entry(rt, ctx, 969u, aot_mem); return;
|
|
#endif
|
|
}
|
|
return;
|
|
#else
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 969u, 0x08AC79A8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACD360u) goto L_08ACD360;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
#endif
|
|
L_08ACD360:
|
|
aot_gpr_31 = (0x08ACD368u);
|
|
aot_gpr_4 = (aot_gpr_2 | 0u);
|
|
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0178->0176.
|
|
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
|
|
AOT_REGCACHE_SYNC_OUT();
|
|
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0178_entry, 415u, 0x08ACD368u, 0x08AC773Cu)) {
|
|
#if defined(__clang__)
|
|
[[clang::musttail]] return recomp_unit_0176_entry(rt, ctx, 937u, aot_mem);
|
|
#else
|
|
recomp_unit_0176_entry(rt, ctx, 937u, aot_mem); return;
|
|
#endif
|
|
}
|
|
return;
|
|
#else
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 937u, 0x08AC773Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACD368u) goto L_08ACD368;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
#endif
|
|
L_08ACD368:
|
|
{ const bool branch_taken = aot_gpr_2 == 0u;
|
|
if (branch_taken) {
|
|
goto L_08ACD3C8;
|
|
}
|
|
goto L_08ACD370;
|
|
}
|
|
L_08ACD370:
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast<std::uint32_t>(92)));
|
|
aot_gpr_4 = (aot_gpr_4 + static_cast<std::uint32_t>(216));
|
|
aot_gpr_5 = (static_cast<std::uint32_t>(static_cast<std::int32_t>(static_cast<std::int16_t>(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast<std::uint32_t>(0))))));
|
|
ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast<std::uint32_t>(4)));
|
|
jump_target = ctx.gpr[6];
|
|
aot_gpr_31 = (0x08ACD388u);
|
|
aot_gpr_4 = (aot_gpr_17 + aot_gpr_5);
|
|
ctx.pc = jump_target;
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACD388u) goto L_08ACD388;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
L_08ACD388:
|
|
aot_gpr_31 = (0x08ACD390u);
|
|
aot_gpr_4 = (aot_gpr_2 | 0u);
|
|
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0178->0176.
|
|
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
|
|
AOT_REGCACHE_SYNC_OUT();
|
|
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0178_entry, 418u, 0x08ACD390u, 0x08AC79A8u)) {
|
|
#if defined(__clang__)
|
|
[[clang::musttail]] return recomp_unit_0176_entry(rt, ctx, 969u, aot_mem);
|
|
#else
|
|
recomp_unit_0176_entry(rt, ctx, 969u, aot_mem); return;
|
|
#endif
|
|
}
|
|
return;
|
|
#else
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 969u, 0x08AC79A8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACD390u) goto L_08ACD390;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
#endif
|
|
L_08ACD390:
|
|
aot_gpr_31 = (0x08ACD398u);
|
|
aot_gpr_4 = (aot_gpr_2 | 0u);
|
|
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0178->0176.
|
|
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
|
|
AOT_REGCACHE_SYNC_OUT();
|
|
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0178_entry, 419u, 0x08ACD398u, 0x08AC79DCu)) {
|
|
#if defined(__clang__)
|
|
[[clang::musttail]] return recomp_unit_0176_entry(rt, ctx, 973u, aot_mem);
|
|
#else
|
|
recomp_unit_0176_entry(rt, ctx, 973u, aot_mem); return;
|
|
#endif
|
|
}
|
|
return;
|
|
#else
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 973u, 0x08AC79DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACD398u) goto L_08ACD398;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
#endif
|
|
L_08ACD398:
|
|
{ const bool branch_taken = aot_gpr_2 != 0u;
|
|
if (branch_taken) {
|
|
goto L_08ACD3C8;
|
|
}
|
|
goto L_08ACD3A0;
|
|
}
|
|
L_08ACD3A0:
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast<std::uint32_t>(1756)));
|
|
{ const bool branch_taken = aot_gpr_4 == 0u;
|
|
ctx.gpr[18] = (0u | 0u);
|
|
if (branch_taken) {
|
|
goto L_08ACD3C8;
|
|
}
|
|
goto L_08ACD3AC;
|
|
}
|
|
L_08ACD3AC:
|
|
aot_gpr_31 = (0x08ACD3B4u);
|
|
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0178->0176.
|
|
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
|
|
AOT_REGCACHE_SYNC_OUT();
|
|
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0178_entry, 422u, 0x08ACD3B4u, 0x08AC76DCu)) {
|
|
#if defined(__clang__)
|
|
[[clang::musttail]] return recomp_unit_0176_entry(rt, ctx, 929u, aot_mem);
|
|
#else
|
|
recomp_unit_0176_entry(rt, ctx, 929u, aot_mem); return;
|
|
#endif
|
|
}
|
|
return;
|
|
#else
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 929u, 0x08AC76DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACD3B4u) goto L_08ACD3B4;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
#endif
|
|
L_08ACD3B4:
|
|
aot_gpr_4 = (aot_gpr_2 + static_cast<std::uint32_t>(-1));
|
|
aot_mem.aot_direct_store32(aot_gpr_17 + static_cast<std::uint32_t>(1756), aot_gpr_4);
|
|
aot_gpr_4 = (aot_gpr_17 | 0u);
|
|
aot_gpr_31 = (0x08ACD3C8u);
|
|
aot_gpr_5 = (0u | 2000u);
|
|
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0178->0176.
|
|
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
|
|
AOT_REGCACHE_SYNC_OUT();
|
|
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0178_entry, 423u, 0x08ACD3C8u, 0x08AC7F30u)) {
|
|
#if defined(__clang__)
|
|
[[clang::musttail]] return recomp_unit_0176_entry(rt, ctx, 1084u, aot_mem);
|
|
#else
|
|
recomp_unit_0176_entry(rt, ctx, 1084u, aot_mem); return;
|
|
#endif
|
|
}
|
|
return;
|
|
#else
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 1084u, 0x08AC7F30u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACD3C8u) goto L_08ACD3C8;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
#endif
|
|
L_08ACD3C8:
|
|
{ const bool branch_taken = ctx.gpr[18] == 0u;
|
|
if (branch_taken) {
|
|
goto L_08ACD47C;
|
|
}
|
|
goto L_08ACD3D0;
|
|
}
|
|
L_08ACD3D0:
|
|
aot_gpr_31 = (0x08ACD3D8u);
|
|
aot_gpr_4 = (aot_gpr_17 | 0u);
|
|
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0178->0176.
|
|
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
|
|
AOT_REGCACHE_SYNC_OUT();
|
|
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0178_entry, 425u, 0x08ACD3D8u, 0x08AC7F64u)) {
|
|
#if defined(__clang__)
|
|
[[clang::musttail]] return recomp_unit_0176_entry(rt, ctx, 1089u, aot_mem);
|
|
#else
|
|
recomp_unit_0176_entry(rt, ctx, 1089u, aot_mem); return;
|
|
#endif
|
|
}
|
|
return;
|
|
#else
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 1089u, 0x08AC7F64u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACD3D8u) goto L_08ACD3D8;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
#endif
|
|
L_08ACD3D8:
|
|
aot_gpr_31 = (0x08ACD3E0u);
|
|
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0178->0176.
|
|
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
|
|
AOT_REGCACHE_SYNC_OUT();
|
|
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0178_entry, 426u, 0x08ACD3E0u, 0x08AC76DCu)) {
|
|
#if defined(__clang__)
|
|
[[clang::musttail]] return recomp_unit_0176_entry(rt, ctx, 929u, aot_mem);
|
|
#else
|
|
recomp_unit_0176_entry(rt, ctx, 929u, aot_mem); return;
|
|
#endif
|
|
}
|
|
return;
|
|
#else
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 929u, 0x08AC76DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACD3E0u) goto L_08ACD3E0;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
#endif
|
|
L_08ACD3E0:
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast<std::uint32_t>(1756)));
|
|
aot_gpr_4 = (aot_gpr_2 < aot_gpr_4 ? 1u : 0u);
|
|
{ const bool branch_taken = aot_gpr_4 != 0u;
|
|
if (branch_taken) {
|
|
goto L_08ACD3FC;
|
|
}
|
|
goto L_08ACD3F0;
|
|
}
|
|
L_08ACD3F0:
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast<std::uint32_t>(1756)));
|
|
{ const bool branch_taken = aot_gpr_4 != 0u;
|
|
if (branch_taken) {
|
|
goto L_08ACD40C;
|
|
}
|
|
goto L_08ACD3FC;
|
|
}
|
|
L_08ACD3FC:
|
|
aot_gpr_31 = (0x08ACD404u);
|
|
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0178->0176.
|
|
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
|
|
AOT_REGCACHE_SYNC_OUT();
|
|
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0178_entry, 429u, 0x08ACD404u, 0x08AC76DCu)) {
|
|
#if defined(__clang__)
|
|
[[clang::musttail]] return recomp_unit_0176_entry(rt, ctx, 929u, aot_mem);
|
|
#else
|
|
recomp_unit_0176_entry(rt, ctx, 929u, aot_mem); return;
|
|
#endif
|
|
}
|
|
return;
|
|
#else
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 929u, 0x08AC76DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACD404u) goto L_08ACD404;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
#endif
|
|
L_08ACD404:
|
|
aot_gpr_4 = (aot_gpr_2 + static_cast<std::uint32_t>(-1));
|
|
aot_mem.aot_direct_store32(aot_gpr_17 + static_cast<std::uint32_t>(1756), aot_gpr_4);
|
|
goto L_08ACD40C;
|
|
L_08ACD40C:
|
|
{ const bool branch_taken = ctx.gpr[16] == 0u;
|
|
if (branch_taken) {
|
|
goto L_08ACD454;
|
|
}
|
|
goto L_08ACD414;
|
|
}
|
|
L_08ACD414:
|
|
aot_gpr_4 = (0u | 1u);
|
|
aot_gpr_31 = (0x08ACD420u);
|
|
aot_mem.aot_direct_store32(aot_gpr_17 + static_cast<std::uint32_t>(2228), aot_gpr_4);
|
|
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0178->0176.
|
|
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
|
|
AOT_REGCACHE_SYNC_OUT();
|
|
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0178_entry, 432u, 0x08ACD420u, 0x08AC7810u)) {
|
|
#if defined(__clang__)
|
|
[[clang::musttail]] return recomp_unit_0176_entry(rt, ctx, 949u, aot_mem);
|
|
#else
|
|
recomp_unit_0176_entry(rt, ctx, 949u, aot_mem); return;
|
|
#endif
|
|
}
|
|
return;
|
|
#else
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 949u, 0x08AC7810u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACD420u) goto L_08ACD420;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
#endif
|
|
L_08ACD420:
|
|
aot_gpr_4 = (aot_gpr_2 | 0u);
|
|
if (static_cast<std::int32_t>(aot_gpr_4) >= 0) {
|
|
aot_gpr_4 = (aot_gpr_4 & 7u);
|
|
goto L_08ACD43C;
|
|
}
|
|
goto L_08ACD42C;
|
|
L_08ACD42C:
|
|
aot_gpr_4 = (0u - aot_gpr_4);
|
|
aot_gpr_4 = (aot_gpr_4 & 7u);
|
|
{ const bool branch_taken = 0u == 0u;
|
|
aot_gpr_4 = (0u - aot_gpr_4);
|
|
if (branch_taken) {
|
|
goto L_08ACD43C;
|
|
}
|
|
goto L_08ACD43C;
|
|
}
|
|
L_08ACD43C:
|
|
aot_gpr_5 = (aot_gpr_4 << 24u);
|
|
aot_gpr_5 = (static_cast<std::uint32_t>(static_cast<std::int32_t>(aot_gpr_5) >> 24u));
|
|
aot_gpr_31 = (0x08ACD44Cu);
|
|
aot_gpr_4 = (aot_gpr_17 | 0u);
|
|
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0178->0065.
|
|
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
|
|
AOT_REGCACHE_SYNC_OUT();
|
|
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0178_entry, 435u, 0x08ACD44Cu, 0x0890A728u)) {
|
|
#if defined(__clang__)
|
|
[[clang::musttail]] return recomp_unit_0065_entry(rt, ctx, 631u, aot_mem);
|
|
#else
|
|
recomp_unit_0065_entry(rt, ctx, 631u, aot_mem); return;
|
|
#endif
|
|
}
|
|
return;
|
|
#else
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 631u, 0x0890A728u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACD44Cu) goto L_08ACD44C;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
#endif
|
|
L_08ACD44C:
|
|
{ const bool branch_taken = 0u == 0u;
|
|
if (branch_taken) {
|
|
goto L_08ACD46C;
|
|
}
|
|
goto L_08ACD454;
|
|
}
|
|
L_08ACD454:
|
|
aot_gpr_31 = (0x08ACD45Cu);
|
|
aot_gpr_4 = (aot_gpr_17 | 0u);
|
|
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0178->0064.
|
|
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
|
|
AOT_REGCACHE_SYNC_OUT();
|
|
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0178_entry, 437u, 0x08ACD45Cu, 0x08906DE4u)) {
|
|
#if defined(__clang__)
|
|
[[clang::musttail]] return recomp_unit_0064_entry(rt, ctx, 620u, aot_mem);
|
|
#else
|
|
recomp_unit_0064_entry(rt, ctx, 620u, aot_mem); return;
|
|
#endif
|
|
}
|
|
return;
|
|
#else
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0064_entry, 64u, 620u, 0x08906DE4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACD45Cu) goto L_08ACD45C;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
#endif
|
|
L_08ACD45C:
|
|
{ const bool branch_taken = aot_gpr_2 == 0u;
|
|
if (branch_taken) {
|
|
goto L_08ACD46C;
|
|
}
|
|
goto L_08ACD464;
|
|
}
|
|
L_08ACD464:
|
|
aot_gpr_31 = (0x08ACD46Cu);
|
|
aot_gpr_4 = (aot_gpr_17 | 0u);
|
|
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0178->0129.
|
|
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
|
|
AOT_REGCACHE_SYNC_OUT();
|
|
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0178_entry, 439u, 0x08ACD46Cu, 0x08A08AE0u)) {
|
|
#if defined(__clang__)
|
|
[[clang::musttail]] return recomp_unit_0129_entry(rt, ctx, 78u, aot_mem);
|
|
#else
|
|
recomp_unit_0129_entry(rt, ctx, 78u, aot_mem); return;
|
|
#endif
|
|
}
|
|
return;
|
|
#else
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0129_entry, 129u, 78u, 0x08A08AE0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACD46Cu) goto L_08ACD46C;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
#endif
|
|
L_08ACD46C:
|
|
aot_gpr_31 = (0x08ACD474u);
|
|
aot_gpr_4 = (aot_gpr_17 | 0u);
|
|
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0178->0065.
|
|
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
|
|
AOT_REGCACHE_SYNC_OUT();
|
|
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0178_entry, 440u, 0x08ACD474u, 0x08909880u)) {
|
|
#if defined(__clang__)
|
|
[[clang::musttail]] return recomp_unit_0065_entry(rt, ctx, 410u, aot_mem);
|
|
#else
|
|
recomp_unit_0065_entry(rt, ctx, 410u, aot_mem); return;
|
|
#endif
|
|
}
|
|
return;
|
|
#else
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 410u, 0x08909880u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACD474u) goto L_08ACD474;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
#endif
|
|
L_08ACD474:
|
|
aot_gpr_31 = (0x08ACD47Cu);
|
|
aot_gpr_4 = (aot_gpr_17 | 0u);
|
|
if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08909B60, 65u, 454u, 0x08909B60u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[16], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0065_entry, 65u, 454u, 0x08909B60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACD47Cu) goto L_08ACD47C;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
L_08ACD47C:
|
|
{ std::uint32_t aot_run_words[14]{};
|
|
aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast<std::uint32_t>(1280), aot_run_words);
|
|
aot_fpr_20 = std::bit_cast<float>(aot_run_words[0]);
|
|
ctx.fpr[22] = std::bit_cast<float>(aot_run_words[1]);
|
|
ctx.fpr[24] = std::bit_cast<float>(aot_run_words[2]);
|
|
ctx.fpr[26] = std::bit_cast<float>(aot_run_words[3]);
|
|
ctx.gpr[16] = aot_run_words[4];
|
|
aot_gpr_17 = aot_run_words[5];
|
|
ctx.gpr[18] = aot_run_words[6];
|
|
ctx.gpr[19] = aot_run_words[7];
|
|
ctx.gpr[20] = aot_run_words[8];
|
|
ctx.gpr[21] = aot_run_words[9];
|
|
ctx.gpr[22] = aot_run_words[10];
|
|
ctx.gpr[23] = aot_run_words[11];
|
|
ctx.gpr[30] = aot_run_words[12];
|
|
aot_gpr_31 = aot_run_words[13];
|
|
}
|
|
jump_target = aot_gpr_31;
|
|
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(1344));
|
|
// PSPRECOMP_V813_JR_FAST_EXIT: preserve the exact 256-transfer boundary; common JR path is shared.
|
|
if (++local_transfers < 256u) goto LOCAL_JR_DISPATCH;
|
|
// PSPRECOMP_V812_SHARED_SCHED_JUMP
|
|
goto LOCAL_SCHED_BOUNDARY;
|
|
L_08ACD4BC:
|
|
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(-16));
|
|
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(4), aot_gpr_17);
|
|
aot_gpr_17 = (aot_gpr_4 | 0u);
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast<std::uint32_t>(1156)));
|
|
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(0), ctx.gpr[16]);
|
|
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(8), ctx.gpr[18]);
|
|
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(12), aot_gpr_31);
|
|
{ const bool branch_taken = aot_gpr_4 == 0u;
|
|
ctx.gpr[16] = (aot_gpr_5 | 0u);
|
|
if (branch_taken) {
|
|
goto L_08ACD4F4;
|
|
}
|
|
goto L_08ACD4E0;
|
|
}
|
|
L_08ACD4E0:
|
|
aot_gpr_4 = (aot_gpr_4 + static_cast<std::uint32_t>(616));
|
|
aot_gpr_5 = (static_cast<std::uint32_t>(static_cast<std::int32_t>(static_cast<std::int8_t>(aot_mem.aot_direct_load8(aot_gpr_4 + static_cast<std::uint32_t>(0))))));
|
|
ctx.gpr[6] = (0u + static_cast<std::uint32_t>(-3));
|
|
aot_gpr_5 = (aot_gpr_5 & ctx.gpr[6]);
|
|
aot_mem.aot_direct_store8(aot_gpr_4 + static_cast<std::uint32_t>(0), static_cast<std::uint8_t>(aot_gpr_5));
|
|
goto L_08ACD4F4;
|
|
L_08ACD4F4:
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast<std::uint32_t>(2228)));
|
|
aot_gpr_5 = (0u | 57u);
|
|
{ const bool branch_taken = aot_gpr_4 == aot_gpr_5;
|
|
aot_gpr_5 = (0u | 58u);
|
|
if (branch_taken) {
|
|
goto L_08ACD530;
|
|
}
|
|
goto L_08ACD504;
|
|
}
|
|
L_08ACD504:
|
|
{ const bool branch_taken = aot_gpr_4 == aot_gpr_5;
|
|
if (branch_taken) {
|
|
goto L_08ACD530;
|
|
}
|
|
goto L_08ACD50C;
|
|
}
|
|
L_08ACD50C:
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast<std::uint32_t>(2120)));
|
|
{ const bool branch_taken = aot_gpr_4 != 0u;
|
|
if (branch_taken) {
|
|
goto L_08ACD528;
|
|
}
|
|
goto L_08ACD518;
|
|
}
|
|
L_08ACD518:
|
|
{ const bool branch_taken = ctx.gpr[16] == 0u;
|
|
if (branch_taken) {
|
|
goto L_08ACD538;
|
|
}
|
|
goto L_08ACD520;
|
|
}
|
|
L_08ACD520:
|
|
{ const bool branch_taken = 0u == 0u;
|
|
if (branch_taken) {
|
|
goto L_08ACD5AC;
|
|
}
|
|
goto L_08ACD528;
|
|
}
|
|
L_08ACD528:
|
|
{ const bool branch_taken = 0u == 0u;
|
|
if (branch_taken) {
|
|
goto L_08ACD680;
|
|
}
|
|
goto L_08ACD530;
|
|
}
|
|
L_08ACD530:
|
|
{ const bool branch_taken = 0u == 0u;
|
|
if (branch_taken) {
|
|
goto L_08ACD680;
|
|
}
|
|
goto L_08ACD538;
|
|
}
|
|
L_08ACD538:
|
|
ctx.gpr[18] = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast<std::uint32_t>(2196)));
|
|
aot_gpr_4 = (static_cast<std::int32_t>(ctx.gpr[18]) < 19 ? 1u : 0u);
|
|
{ const bool branch_taken = aot_gpr_4 == 0u;
|
|
aot_gpr_4 = (0u | 38u);
|
|
if (branch_taken) {
|
|
goto L_08ACD56C;
|
|
}
|
|
goto L_08ACD548;
|
|
}
|
|
L_08ACD548:
|
|
aot_gpr_4 = (static_cast<std::int32_t>(ctx.gpr[18]) < 16 ? 1u : 0u);
|
|
{ const bool branch_taken = aot_gpr_4 != 0u;
|
|
if (branch_taken) {
|
|
goto L_08ACD574;
|
|
}
|
|
goto L_08ACD554;
|
|
}
|
|
L_08ACD554:
|
|
aot_gpr_31 = (0x08ACD55Cu);
|
|
aot_gpr_4 = (aot_gpr_17 | 0u);
|
|
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0178->0064.
|
|
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
|
|
AOT_REGCACHE_SYNC_OUT();
|
|
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0178_entry, 454u, 0x08ACD55Cu, 0x08906DE4u)) {
|
|
#if defined(__clang__)
|
|
[[clang::musttail]] return recomp_unit_0064_entry(rt, ctx, 620u, aot_mem);
|
|
#else
|
|
recomp_unit_0064_entry(rt, ctx, 620u, aot_mem); return;
|
|
#endif
|
|
}
|
|
return;
|
|
#else
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0064_entry, 64u, 620u, 0x08906DE4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACD55Cu) goto L_08ACD55C;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
#endif
|
|
L_08ACD55C:
|
|
{ const bool branch_taken = aot_gpr_2 == 0u;
|
|
if (branch_taken) {
|
|
goto L_08ACD580;
|
|
}
|
|
goto L_08ACD564;
|
|
}
|
|
L_08ACD564:
|
|
{ const bool branch_taken = 0u == 0u;
|
|
if (branch_taken) {
|
|
goto L_08ACD590;
|
|
}
|
|
goto L_08ACD56C;
|
|
}
|
|
L_08ACD56C:
|
|
{ const bool branch_taken = ctx.gpr[18] == aot_gpr_4;
|
|
if (branch_taken) {
|
|
goto L_08ACD554;
|
|
}
|
|
goto L_08ACD574;
|
|
}
|
|
L_08ACD574:
|
|
aot_mem.aot_direct_store32(aot_gpr_17 + static_cast<std::uint32_t>(2196), ctx.gpr[16]);
|
|
{ const bool branch_taken = 0u == 0u;
|
|
aot_mem.aot_direct_store32(aot_gpr_17 + static_cast<std::uint32_t>(640), 0u);
|
|
if (branch_taken) {
|
|
goto L_08ACD680;
|
|
}
|
|
goto L_08ACD580;
|
|
}
|
|
L_08ACD580:
|
|
aot_gpr_31 = (0x08ACD588u);
|
|
aot_gpr_4 = (aot_gpr_17 | 0u);
|
|
if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACD588u) goto L_08ACD588;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
L_08ACD588:
|
|
{ const bool branch_taken = aot_gpr_2 == 0u;
|
|
if (branch_taken) {
|
|
goto L_08ACD598;
|
|
}
|
|
goto L_08ACD590;
|
|
}
|
|
L_08ACD590:
|
|
{ const bool branch_taken = 0u == 0u;
|
|
if (branch_taken) {
|
|
goto L_08ACD574;
|
|
}
|
|
goto L_08ACD598;
|
|
}
|
|
L_08ACD598:
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast<std::uint32_t>(460)));
|
|
aot_gpr_5 = (2048u << 16u);
|
|
aot_gpr_4 = (aot_gpr_4 | aot_gpr_5);
|
|
{ const bool branch_taken = 0u == 0u;
|
|
aot_mem.aot_direct_store32(aot_gpr_17 + static_cast<std::uint32_t>(460), aot_gpr_4);
|
|
if (branch_taken) {
|
|
goto L_08ACD680;
|
|
}
|
|
goto L_08ACD5AC;
|
|
}
|
|
L_08ACD5AC:
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast<std::uint32_t>(640)));
|
|
{ const bool branch_taken = aot_gpr_4 != ctx.gpr[16];
|
|
if (branch_taken) {
|
|
goto L_08ACD5C0;
|
|
}
|
|
goto L_08ACD5B8;
|
|
}
|
|
L_08ACD5B8:
|
|
{ const bool branch_taken = aot_gpr_4 != 0u;
|
|
if (branch_taken) {
|
|
goto L_08ACD5E0;
|
|
}
|
|
goto L_08ACD5C0;
|
|
}
|
|
L_08ACD5C0:
|
|
aot_gpr_4 = (aot_gpr_17 | 0u);
|
|
aot_gpr_31 = (0x08ACD5CCu);
|
|
aot_gpr_5 = (0u | 0u);
|
|
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0178->0176.
|
|
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
|
|
AOT_REGCACHE_SYNC_OUT();
|
|
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0178_entry, 465u, 0x08ACD5CCu, 0x08AC7F30u)) {
|
|
#if defined(__clang__)
|
|
[[clang::musttail]] return recomp_unit_0176_entry(rt, ctx, 1084u, aot_mem);
|
|
#else
|
|
recomp_unit_0176_entry(rt, ctx, 1084u, aot_mem); return;
|
|
#endif
|
|
}
|
|
return;
|
|
#else
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 1084u, 0x08AC7F30u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACD5CCu) goto L_08ACD5CC;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
#endif
|
|
L_08ACD5CC:
|
|
ctx.gpr[18] = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast<std::uint32_t>(2196)));
|
|
{ const bool branch_taken = ctx.gpr[18] != ctx.gpr[16];
|
|
if (branch_taken) {
|
|
goto L_08ACD5E8;
|
|
}
|
|
goto L_08ACD5D8;
|
|
}
|
|
L_08ACD5D8:
|
|
{ const bool branch_taken = 0u == 0u;
|
|
if (branch_taken) {
|
|
goto L_08ACD680;
|
|
}
|
|
goto L_08ACD5E0;
|
|
}
|
|
L_08ACD5E0:
|
|
{ const bool branch_taken = 0u == 0u;
|
|
if (branch_taken) {
|
|
goto L_08ACD680;
|
|
}
|
|
goto L_08ACD5E8;
|
|
}
|
|
L_08ACD5E8:
|
|
aot_gpr_4 = (aot_gpr_17 | 0u);
|
|
aot_gpr_31 = (0x08ACD5F4u);
|
|
aot_gpr_5 = (ctx.gpr[18] | 0u);
|
|
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0178->0176.
|
|
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
|
|
AOT_REGCACHE_SYNC_OUT();
|
|
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0178_entry, 469u, 0x08ACD5F4u, 0x08AC7EF0u)) {
|
|
#if defined(__clang__)
|
|
[[clang::musttail]] return recomp_unit_0176_entry(rt, ctx, 1076u, aot_mem);
|
|
#else
|
|
recomp_unit_0176_entry(rt, ctx, 1076u, aot_mem); return;
|
|
#endif
|
|
}
|
|
return;
|
|
#else
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 1076u, 0x08AC7EF0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACD5F4u) goto L_08ACD5F4;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
#endif
|
|
L_08ACD5F4:
|
|
{ const bool branch_taken = aot_gpr_2 == 0u;
|
|
ctx.gpr[18] = (0u + static_cast<std::uint32_t>(-129));
|
|
if (branch_taken) {
|
|
goto L_08ACD60C;
|
|
}
|
|
goto L_08ACD5FC;
|
|
}
|
|
L_08ACD5FC:
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast<std::uint32_t>(460)));
|
|
aot_mem.aot_direct_store32(aot_gpr_17 + static_cast<std::uint32_t>(640), ctx.gpr[16]);
|
|
{ const bool branch_taken = 0u == 0u;
|
|
ctx.gpr[18] = (aot_gpr_4 & ctx.gpr[18]);
|
|
if (branch_taken) {
|
|
goto L_08ACD62C;
|
|
}
|
|
goto L_08ACD60C;
|
|
}
|
|
L_08ACD60C:
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast<std::uint32_t>(2196)));
|
|
{ const bool branch_taken = aot_gpr_4 == ctx.gpr[16];
|
|
if (branch_taken) {
|
|
goto L_08ACD620;
|
|
}
|
|
goto L_08ACD618;
|
|
}
|
|
L_08ACD618:
|
|
aot_gpr_31 = (0x08ACD620u);
|
|
aot_gpr_4 = (aot_gpr_17 | 0u);
|
|
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0178->0176.
|
|
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
|
|
AOT_REGCACHE_SYNC_OUT();
|
|
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0178_entry, 473u, 0x08ACD620u, 0x08AC7DFCu)) {
|
|
#if defined(__clang__)
|
|
[[clang::musttail]] return recomp_unit_0176_entry(rt, ctx, 1053u, aot_mem);
|
|
#else
|
|
recomp_unit_0176_entry(rt, ctx, 1053u, aot_mem); return;
|
|
#endif
|
|
}
|
|
return;
|
|
#else
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 1053u, 0x08AC7DFCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACD620u) goto L_08ACD620;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
#endif
|
|
L_08ACD620:
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast<std::uint32_t>(460)));
|
|
aot_mem.aot_direct_store32(aot_gpr_17 + static_cast<std::uint32_t>(2196), ctx.gpr[16]);
|
|
ctx.gpr[18] = (aot_gpr_4 & ctx.gpr[18]);
|
|
goto L_08ACD62C;
|
|
L_08ACD62C:
|
|
{ const bool branch_taken = static_cast<std::int32_t>(ctx.gpr[16]) < 0;
|
|
aot_mem.aot_direct_store32(aot_gpr_17 + static_cast<std::uint32_t>(460), ctx.gpr[18]);
|
|
if (branch_taken) {
|
|
goto L_08ACD680;
|
|
}
|
|
goto L_08ACD634;
|
|
}
|
|
L_08ACD634:
|
|
aot_gpr_4 = (static_cast<std::int32_t>(ctx.gpr[16]) < 55 ? 1u : 0u);
|
|
{ const bool branch_taken = aot_gpr_4 == 0u;
|
|
if (branch_taken) {
|
|
goto L_08ACD680;
|
|
}
|
|
goto L_08ACD640;
|
|
}
|
|
L_08ACD640:
|
|
ctx.gpr[16] = (ctx.gpr[16] << 2u);
|
|
ctx.gpr[1] = (2232u << 16u);
|
|
ctx.gpr[1] = (ctx.gpr[1] + ctx.gpr[16]);
|
|
ctx.gpr[1] = (aot_mem.aot_direct_load32(ctx.gpr[1] + static_cast<std::uint32_t>(14824)));
|
|
jump_target = ctx.gpr[1];
|
|
// PSPRECOMP_V813_JR_FAST_EXIT: preserve the exact 256-transfer boundary; common JR path is shared.
|
|
if (++local_transfers < 256u) goto LOCAL_JR_DISPATCH;
|
|
// PSPRECOMP_V812_SHARED_SCHED_JUMP
|
|
goto LOCAL_SCHED_BOUNDARY;
|
|
L_08ACD658:
|
|
aot_mem.aot_direct_store32(aot_gpr_17 + static_cast<std::uint32_t>(2240), 0u);
|
|
aot_gpr_31 = (0x08ACD664u);
|
|
aot_gpr_4 = (aot_gpr_17 | 0u);
|
|
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0178->0065.
|
|
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
|
|
AOT_REGCACHE_SYNC_OUT();
|
|
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0178_entry, 478u, 0x08ACD664u, 0x0890905Cu)) {
|
|
#if defined(__clang__)
|
|
[[clang::musttail]] return recomp_unit_0065_entry(rt, ctx, 282u, aot_mem);
|
|
#else
|
|
recomp_unit_0065_entry(rt, ctx, 282u, aot_mem); return;
|
|
#endif
|
|
}
|
|
return;
|
|
#else
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 282u, 0x0890905Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACD664u) goto L_08ACD664;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
#endif
|
|
L_08ACD664:
|
|
aot_gpr_4 = (aot_gpr_17 | 0u);
|
|
aot_gpr_31 = (0x08ACD670u);
|
|
aot_gpr_5 = (0u | 1u);
|
|
if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890BE50, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0065_entry, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACD670u) goto L_08ACD670;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
L_08ACD670:
|
|
{ const bool branch_taken = 0u == 0u;
|
|
if (branch_taken) {
|
|
goto L_08ACD680;
|
|
}
|
|
goto L_08ACD678;
|
|
}
|
|
L_08ACD678:
|
|
{ const bool branch_taken = 0u == 0u;
|
|
aot_mem.aot_direct_store32(aot_gpr_17 + static_cast<std::uint32_t>(640), 0u);
|
|
if (branch_taken) {
|
|
goto L_08ACD680;
|
|
}
|
|
goto L_08ACD680;
|
|
}
|
|
L_08ACD680:
|
|
{ std::uint32_t aot_run_words[4]{};
|
|
aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast<std::uint32_t>(0), aot_run_words);
|
|
ctx.gpr[16] = aot_run_words[0];
|
|
aot_gpr_17 = aot_run_words[1];
|
|
ctx.gpr[18] = aot_run_words[2];
|
|
aot_gpr_31 = aot_run_words[3];
|
|
}
|
|
jump_target = aot_gpr_31;
|
|
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(16));
|
|
// PSPRECOMP_V813_JR_FAST_EXIT: preserve the exact 256-transfer boundary; common JR path is shared.
|
|
if (++local_transfers < 256u) goto LOCAL_JR_DISPATCH;
|
|
// PSPRECOMP_V812_SHARED_SCHED_JUMP
|
|
goto LOCAL_SCHED_BOUNDARY;
|
|
L_08ACD698:
|
|
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(-32));
|
|
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(16), ctx.gpr[16]);
|
|
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(24), ctx.gpr[18]);
|
|
ctx.gpr[16] = (aot_gpr_4 | 0u);
|
|
ctx.gpr[18] = (aot_gpr_5 | 0u);
|
|
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(20), aot_gpr_17);
|
|
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(28), aot_gpr_31);
|
|
{ const bool branch_taken = ctx.gpr[6] == 0u;
|
|
aot_gpr_17 = (ctx.gpr[6] | 0u);
|
|
if (branch_taken) {
|
|
goto L_08ACD740;
|
|
}
|
|
goto L_08ACD6BC;
|
|
}
|
|
L_08ACD6BC:
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast<std::uint32_t>(2228)));
|
|
aot_gpr_5 = (0u | 57u);
|
|
{ const bool branch_taken = aot_gpr_4 == aot_gpr_5;
|
|
if (branch_taken) {
|
|
goto L_08ACD738;
|
|
}
|
|
goto L_08ACD6CC;
|
|
}
|
|
L_08ACD6CC:
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast<std::uint32_t>(2228)));
|
|
aot_gpr_5 = (0u | 58u);
|
|
{ const bool branch_taken = aot_gpr_4 == aot_gpr_5;
|
|
if (branch_taken) {
|
|
goto L_08ACD738;
|
|
}
|
|
goto L_08ACD6DC;
|
|
}
|
|
L_08ACD6DC:
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast<std::uint32_t>(2228)));
|
|
aot_gpr_5 = (0u | 32u);
|
|
{ const bool branch_taken = aot_gpr_4 == aot_gpr_5;
|
|
if (branch_taken) {
|
|
goto L_08ACD738;
|
|
}
|
|
goto L_08ACD6EC;
|
|
}
|
|
L_08ACD6EC:
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast<std::uint32_t>(92)));
|
|
aot_gpr_4 = (aot_gpr_4 + static_cast<std::uint32_t>(216));
|
|
aot_gpr_5 = (static_cast<std::uint32_t>(static_cast<std::int32_t>(static_cast<std::int16_t>(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast<std::uint32_t>(0))))));
|
|
ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast<std::uint32_t>(4)));
|
|
jump_target = ctx.gpr[6];
|
|
aot_gpr_31 = (0x08ACD704u);
|
|
aot_gpr_4 = (ctx.gpr[16] + aot_gpr_5);
|
|
ctx.pc = jump_target;
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACD704u) goto L_08ACD704;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
L_08ACD704:
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_2 + static_cast<std::uint32_t>(8)));
|
|
aot_gpr_4 = (aot_gpr_4 & 512u);
|
|
aot_gpr_4 = (0u < aot_gpr_4 ? 1u : 0u);
|
|
aot_gpr_4 = (aot_gpr_4 & 255u);
|
|
{ const bool branch_taken = aot_gpr_4 != 0u;
|
|
if (branch_taken) {
|
|
goto L_08ACD730;
|
|
}
|
|
goto L_08ACD71C;
|
|
}
|
|
L_08ACD71C:
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast<std::uint32_t>(640)));
|
|
if (aot_gpr_4 == ctx.gpr[18]) {
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast<std::uint32_t>(640)));
|
|
goto L_08ACD748;
|
|
}
|
|
goto L_08ACD728;
|
|
L_08ACD728:
|
|
{ const bool branch_taken = 0u == 0u;
|
|
if (branch_taken) {
|
|
goto L_08ACD750;
|
|
}
|
|
goto L_08ACD730;
|
|
}
|
|
L_08ACD730:
|
|
{ const bool branch_taken = 0u == 0u;
|
|
if (branch_taken) {
|
|
goto L_08ACDF40;
|
|
}
|
|
goto L_08ACD738;
|
|
}
|
|
L_08ACD738:
|
|
{ const bool branch_taken = 0u == 0u;
|
|
if (branch_taken) {
|
|
goto L_08ACDF40;
|
|
}
|
|
goto L_08ACD740;
|
|
}
|
|
L_08ACD740:
|
|
{ const bool branch_taken = 0u == 0u;
|
|
if (branch_taken) {
|
|
goto L_08ACDF40;
|
|
}
|
|
goto L_08ACD748;
|
|
}
|
|
L_08ACD748:
|
|
{ const bool branch_taken = aot_gpr_4 != 0u;
|
|
if (branch_taken) {
|
|
goto L_08ACD774;
|
|
}
|
|
goto L_08ACD750;
|
|
}
|
|
L_08ACD750:
|
|
{ const bool branch_taken = aot_gpr_17 == ctx.gpr[16];
|
|
if (branch_taken) {
|
|
goto L_08ACD76C;
|
|
}
|
|
goto L_08ACD758;
|
|
}
|
|
L_08ACD758:
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast<std::uint32_t>(2120)));
|
|
{ const bool branch_taken = aot_gpr_4 != 0u;
|
|
aot_gpr_4 = (0u | 8u);
|
|
if (branch_taken) {
|
|
goto L_08ACD77C;
|
|
}
|
|
goto L_08ACD764;
|
|
}
|
|
L_08ACD764:
|
|
{ const bool branch_taken = 0u == 0u;
|
|
if (branch_taken) {
|
|
goto L_08ACD79C;
|
|
}
|
|
goto L_08ACD76C;
|
|
}
|
|
L_08ACD76C:
|
|
{ const bool branch_taken = 0u == 0u;
|
|
if (branch_taken) {
|
|
goto L_08ACDF40;
|
|
}
|
|
goto L_08ACD774;
|
|
}
|
|
L_08ACD774:
|
|
{ const bool branch_taken = 0u == 0u;
|
|
if (branch_taken) {
|
|
goto L_08ACDF40;
|
|
}
|
|
goto L_08ACD77C;
|
|
}
|
|
L_08ACD77C:
|
|
{ const bool branch_taken = ctx.gpr[18] == aot_gpr_4;
|
|
aot_gpr_4 = (0u | 9u);
|
|
if (branch_taken) {
|
|
goto L_08ACD79C;
|
|
}
|
|
goto L_08ACD784;
|
|
}
|
|
L_08ACD784:
|
|
{ const bool branch_taken = ctx.gpr[18] == aot_gpr_4;
|
|
aot_gpr_4 = (0u | 21u);
|
|
if (branch_taken) {
|
|
goto L_08ACD79C;
|
|
}
|
|
goto L_08ACD78C;
|
|
}
|
|
L_08ACD78C:
|
|
{ const bool branch_taken = ctx.gpr[18] == aot_gpr_4;
|
|
aot_gpr_4 = (0u | 22u);
|
|
if (branch_taken) {
|
|
goto L_08ACD79C;
|
|
}
|
|
goto L_08ACD794;
|
|
}
|
|
L_08ACD794:
|
|
{ const bool branch_taken = ctx.gpr[18] != aot_gpr_4;
|
|
if (branch_taken) {
|
|
goto L_08ACD7B0;
|
|
}
|
|
goto L_08ACD79C;
|
|
}
|
|
L_08ACD79C:
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast<std::uint32_t>(2196)));
|
|
{ const bool branch_taken = aot_gpr_4 == ctx.gpr[18];
|
|
if (branch_taken) {
|
|
goto L_08ACD7B8;
|
|
}
|
|
goto L_08ACD7A8;
|
|
}
|
|
L_08ACD7A8:
|
|
{ const bool branch_taken = 0u == 0u;
|
|
if (branch_taken) {
|
|
goto L_08ACD964;
|
|
}
|
|
goto L_08ACD7B0;
|
|
}
|
|
L_08ACD7B0:
|
|
{ const bool branch_taken = 0u == 0u;
|
|
if (branch_taken) {
|
|
goto L_08ACDF40;
|
|
}
|
|
goto L_08ACD7B8;
|
|
}
|
|
L_08ACD7B8:
|
|
aot_gpr_4 = (ctx.gpr[18] + static_cast<std::uint32_t>(-7));
|
|
aot_gpr_4 = (aot_gpr_4 < static_cast<std::uint32_t>(45) ? 1u : 0u);
|
|
{ const bool branch_taken = aot_gpr_4 == 0u;
|
|
aot_gpr_4 = (ctx.gpr[18] + static_cast<std::uint32_t>(-7));
|
|
if (branch_taken) {
|
|
goto L_08ACD914;
|
|
}
|
|
goto L_08ACD7C8;
|
|
}
|
|
L_08ACD7C8:
|
|
aot_gpr_4 = (aot_gpr_4 << 2u);
|
|
ctx.gpr[1] = (2232u << 16u);
|
|
ctx.gpr[1] = (ctx.gpr[1] + aot_gpr_4);
|
|
ctx.gpr[1] = (aot_mem.aot_direct_load32(ctx.gpr[1] + static_cast<std::uint32_t>(15048)));
|
|
jump_target = ctx.gpr[1];
|
|
// PSPRECOMP_V813_JR_FAST_EXIT: preserve the exact 256-transfer boundary; common JR path is shared.
|
|
if (++local_transfers < 256u) goto LOCAL_JR_DISPATCH;
|
|
// PSPRECOMP_V812_SHARED_SCHED_JUMP
|
|
goto LOCAL_SCHED_BOUNDARY;
|
|
L_08ACD7E0:
|
|
{ const bool branch_taken = 0u == 0u;
|
|
if (branch_taken) {
|
|
goto L_08ACDF40;
|
|
}
|
|
goto L_08ACD7E8;
|
|
}
|
|
L_08ACD7E8:
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast<std::uint32_t>(1156)));
|
|
{ const bool branch_taken = aot_gpr_4 == aot_gpr_17;
|
|
if (branch_taken) {
|
|
goto L_08ACD808;
|
|
}
|
|
goto L_08ACD7F4;
|
|
}
|
|
L_08ACD7F4:
|
|
aot_gpr_4 = (0u | 34u);
|
|
if (ctx.gpr[18] == aot_gpr_4) {
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast<std::uint32_t>(468)));
|
|
goto L_08ACD810;
|
|
}
|
|
goto L_08ACD800;
|
|
L_08ACD800:
|
|
{ const bool branch_taken = 0u == 0u;
|
|
if (branch_taken) {
|
|
goto L_08ACD914;
|
|
}
|
|
goto L_08ACD808;
|
|
}
|
|
L_08ACD808:
|
|
{ const bool branch_taken = 0u == 0u;
|
|
if (branch_taken) {
|
|
goto L_08ACDF40;
|
|
}
|
|
goto L_08ACD810;
|
|
}
|
|
L_08ACD810:
|
|
aot_gpr_4 = (aot_gpr_4 & 8192u);
|
|
{ const bool branch_taken = aot_gpr_4 == 0u;
|
|
if (branch_taken) {
|
|
goto L_08ACD800;
|
|
}
|
|
goto L_08ACD81C;
|
|
}
|
|
L_08ACD81C:
|
|
{ const bool branch_taken = 0u == 0u;
|
|
if (branch_taken) {
|
|
goto L_08ACDF40;
|
|
}
|
|
goto L_08ACD824;
|
|
}
|
|
L_08ACD824:
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast<std::uint32_t>(2192)));
|
|
{ const bool branch_taken = aot_gpr_4 == aot_gpr_17;
|
|
if (branch_taken) {
|
|
goto L_08ACD84C;
|
|
}
|
|
goto L_08ACD830;
|
|
}
|
|
L_08ACD830:
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast<std::uint32_t>(1748)));
|
|
aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(7660)));
|
|
aot_gpr_4 = (aot_gpr_5 < aot_gpr_4 ? 1u : 0u);
|
|
{ const bool branch_taken = aot_gpr_4 != 0u;
|
|
if (branch_taken) {
|
|
goto L_08ACD854;
|
|
}
|
|
goto L_08ACD844;
|
|
}
|
|
L_08ACD844:
|
|
{ const bool branch_taken = 0u == 0u;
|
|
if (branch_taken) {
|
|
goto L_08ACD884;
|
|
}
|
|
goto L_08ACD84C;
|
|
}
|
|
L_08ACD84C:
|
|
{ const bool branch_taken = 0u == 0u;
|
|
if (branch_taken) {
|
|
goto L_08ACDF40;
|
|
}
|
|
goto L_08ACD854;
|
|
}
|
|
L_08ACD854:
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast<std::uint32_t>(2192)));
|
|
{ const bool branch_taken = aot_gpr_4 == 0u;
|
|
aot_gpr_5 = (aot_gpr_4 | 0u);
|
|
if (branch_taken) {
|
|
goto L_08ACD884;
|
|
}
|
|
goto L_08ACD860;
|
|
}
|
|
L_08ACD860:
|
|
aot_gpr_4 = (16262u << 16u);
|
|
aot_gpr_4 = (aot_gpr_4 | 2706u);
|
|
aot_fpr_12 = std::bit_cast<float>(aot_gpr_4);
|
|
aot_gpr_31 = (0x08ACD874u);
|
|
aot_gpr_4 = (ctx.gpr[16] | 0u);
|
|
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0178->0105.
|
|
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
|
|
AOT_REGCACHE_SYNC_OUT();
|
|
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0178_entry, 521u, 0x08ACD874u, 0x089AB048u)) {
|
|
#if defined(__clang__)
|
|
[[clang::musttail]] return recomp_unit_0105_entry(rt, ctx, 627u, aot_mem);
|
|
#else
|
|
recomp_unit_0105_entry(rt, ctx, 627u, aot_mem); return;
|
|
#endif
|
|
}
|
|
return;
|
|
#else
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0105_entry, 105u, 627u, 0x089AB048u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACD874u) goto L_08ACD874;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
#endif
|
|
L_08ACD874:
|
|
{ const bool branch_taken = aot_gpr_2 == 0u;
|
|
if (branch_taken) {
|
|
goto L_08ACD884;
|
|
}
|
|
goto L_08ACD87C;
|
|
}
|
|
L_08ACD87C:
|
|
{ const bool branch_taken = 0u == 0u;
|
|
if (branch_taken) {
|
|
goto L_08ACDF40;
|
|
}
|
|
goto L_08ACD884;
|
|
}
|
|
L_08ACD884:
|
|
{ const bool branch_taken = 0u == 0u;
|
|
if (branch_taken) {
|
|
goto L_08ACD914;
|
|
}
|
|
goto L_08ACD88C;
|
|
}
|
|
L_08ACD88C:
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast<std::uint32_t>(2192)));
|
|
{ const bool branch_taken = aot_gpr_4 == aot_gpr_17;
|
|
if (branch_taken) {
|
|
goto L_08ACD8B0;
|
|
}
|
|
goto L_08ACD898;
|
|
}
|
|
L_08ACD898:
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast<std::uint32_t>(460)));
|
|
aot_gpr_4 = (aot_gpr_4 & 32u);
|
|
{ const bool branch_taken = aot_gpr_4 != 0u;
|
|
if (branch_taken) {
|
|
goto L_08ACD8B8;
|
|
}
|
|
goto L_08ACD8A8;
|
|
}
|
|
L_08ACD8A8:
|
|
{ const bool branch_taken = 0u == 0u;
|
|
if (branch_taken) {
|
|
goto L_08ACD8C0;
|
|
}
|
|
goto L_08ACD8B0;
|
|
}
|
|
L_08ACD8B0:
|
|
{ const bool branch_taken = 0u == 0u;
|
|
if (branch_taken) {
|
|
goto L_08ACDF40;
|
|
}
|
|
goto L_08ACD8B8;
|
|
}
|
|
L_08ACD8B8:
|
|
aot_gpr_31 = (0x08ACD8C0u);
|
|
aot_gpr_4 = (ctx.gpr[16] | 0u);
|
|
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0178->0065.
|
|
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
|
|
AOT_REGCACHE_SYNC_OUT();
|
|
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0178_entry, 529u, 0x08ACD8C0u, 0x0890B488u)) {
|
|
#if defined(__clang__)
|
|
[[clang::musttail]] return recomp_unit_0065_entry(rt, ctx, 829u, aot_mem);
|
|
#else
|
|
recomp_unit_0065_entry(rt, ctx, 829u, aot_mem); return;
|
|
#endif
|
|
}
|
|
return;
|
|
#else
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 829u, 0x0890B488u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACD8C0u) goto L_08ACD8C0;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
#endif
|
|
L_08ACD8C0:
|
|
{ const bool branch_taken = 0u == 0u;
|
|
if (branch_taken) {
|
|
goto L_08ACD914;
|
|
}
|
|
goto L_08ACD8C8;
|
|
}
|
|
L_08ACD8C8:
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast<std::uint32_t>(676)));
|
|
{ const bool branch_taken = aot_gpr_4 == aot_gpr_17;
|
|
if (branch_taken) {
|
|
goto L_08ACD8DC;
|
|
}
|
|
goto L_08ACD8D4;
|
|
}
|
|
L_08ACD8D4:
|
|
{ const bool branch_taken = 0u == 0u;
|
|
if (branch_taken) {
|
|
goto L_08ACD914;
|
|
}
|
|
goto L_08ACD8DC;
|
|
}
|
|
L_08ACD8DC:
|
|
{ const bool branch_taken = 0u == 0u;
|
|
if (branch_taken) {
|
|
goto L_08ACDF40;
|
|
}
|
|
goto L_08ACD8E4;
|
|
}
|
|
L_08ACD8E4:
|
|
{ const bool branch_taken = 0u == 0u;
|
|
if (branch_taken) {
|
|
goto L_08ACD914;
|
|
}
|
|
goto L_08ACD8EC;
|
|
}
|
|
L_08ACD8EC:
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast<std::uint32_t>(2192)));
|
|
{ const bool branch_taken = aot_gpr_4 == aot_gpr_17;
|
|
if (branch_taken) {
|
|
goto L_08ACD900;
|
|
}
|
|
goto L_08ACD8F8;
|
|
}
|
|
L_08ACD8F8:
|
|
{ const bool branch_taken = 0u == 0u;
|
|
if (branch_taken) {
|
|
goto L_08ACD914;
|
|
}
|
|
goto L_08ACD900;
|
|
}
|
|
L_08ACD900:
|
|
{ const bool branch_taken = 0u == 0u;
|
|
if (branch_taken) {
|
|
goto L_08ACDF40;
|
|
}
|
|
goto L_08ACD908;
|
|
}
|
|
L_08ACD908:
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast<std::uint32_t>(2076)));
|
|
{ const bool branch_taken = aot_gpr_4 == aot_gpr_17;
|
|
if (branch_taken) {
|
|
goto L_08ACD954;
|
|
}
|
|
goto L_08ACD914;
|
|
}
|
|
L_08ACD914:
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast<std::uint32_t>(460)));
|
|
aot_gpr_5 = (0u + static_cast<std::uint32_t>(-129));
|
|
aot_gpr_4 = (aot_gpr_4 & aot_gpr_5);
|
|
aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast<std::uint32_t>(460), aot_gpr_4);
|
|
aot_gpr_31 = (0x08ACD92Cu);
|
|
aot_gpr_4 = (ctx.gpr[16] | 0u);
|
|
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0178->0055.
|
|
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
|
|
AOT_REGCACHE_SYNC_OUT();
|
|
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0178_entry, 539u, 0x08ACD92Cu, 0x088E34ECu)) {
|
|
#if defined(__clang__)
|
|
[[clang::musttail]] return recomp_unit_0055_entry(rt, ctx, 438u, aot_mem);
|
|
#else
|
|
recomp_unit_0055_entry(rt, ctx, 438u, aot_mem); return;
|
|
#endif
|
|
}
|
|
return;
|
|
#else
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0055_entry, 55u, 438u, 0x088E34ECu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACD92Cu) goto L_08ACD92C;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
#endif
|
|
L_08ACD92C:
|
|
aot_gpr_4 = (ctx.gpr[16] | 0u);
|
|
aot_gpr_31 = (0x08ACD938u);
|
|
aot_gpr_5 = (0u | 0u);
|
|
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0178->0176.
|
|
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
|
|
AOT_REGCACHE_SYNC_OUT();
|
|
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0178_entry, 540u, 0x08ACD938u, 0x08AC7F30u)) {
|
|
#if defined(__clang__)
|
|
[[clang::musttail]] return recomp_unit_0176_entry(rt, ctx, 1084u, aot_mem);
|
|
#else
|
|
recomp_unit_0176_entry(rt, ctx, 1084u, aot_mem); return;
|
|
#endif
|
|
}
|
|
return;
|
|
#else
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 1084u, 0x08AC7F30u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACD938u) goto L_08ACD938;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
#endif
|
|
L_08ACD938:
|
|
aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast<std::uint32_t>(2196)));
|
|
aot_gpr_31 = (0x08ACD944u);
|
|
aot_gpr_4 = (ctx.gpr[16] | 0u);
|
|
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0178->0176.
|
|
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
|
|
AOT_REGCACHE_SYNC_OUT();
|
|
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0178_entry, 541u, 0x08ACD944u, 0x08AC7EF0u)) {
|
|
#if defined(__clang__)
|
|
[[clang::musttail]] return recomp_unit_0176_entry(rt, ctx, 1076u, aot_mem);
|
|
#else
|
|
recomp_unit_0176_entry(rt, ctx, 1076u, aot_mem); return;
|
|
#endif
|
|
}
|
|
return;
|
|
#else
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 1076u, 0x08AC7EF0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACD944u) goto L_08ACD944;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
#endif
|
|
L_08ACD944:
|
|
{ const bool branch_taken = aot_gpr_2 != 0u;
|
|
aot_gpr_4 = (ctx.gpr[16] | 0u);
|
|
if (branch_taken) {
|
|
goto L_08ACD9AC;
|
|
}
|
|
goto L_08ACD94C;
|
|
}
|
|
L_08ACD94C:
|
|
{ const bool branch_taken = 0u == 0u;
|
|
if (branch_taken) {
|
|
goto L_08ACD9C4;
|
|
}
|
|
goto L_08ACD954;
|
|
}
|
|
L_08ACD954:
|
|
{ const bool branch_taken = 0u == 0u;
|
|
if (branch_taken) {
|
|
goto L_08ACDF40;
|
|
}
|
|
goto L_08ACD95C;
|
|
}
|
|
L_08ACD95C:
|
|
{ const bool branch_taken = 0u == 0u;
|
|
if (branch_taken) {
|
|
goto L_08ACD914;
|
|
}
|
|
goto L_08ACD964;
|
|
}
|
|
L_08ACD964:
|
|
aot_gpr_4 = (ctx.gpr[18] | 0u);
|
|
aot_gpr_5 = (0u | 38u);
|
|
{ const bool branch_taken = aot_gpr_4 == aot_gpr_5;
|
|
aot_gpr_5 = (0u | 16u);
|
|
if (branch_taken) {
|
|
goto L_08ACD98C;
|
|
}
|
|
goto L_08ACD974;
|
|
}
|
|
L_08ACD974:
|
|
{ const bool branch_taken = aot_gpr_4 == aot_gpr_5;
|
|
aot_gpr_5 = (0u | 7u);
|
|
if (branch_taken) {
|
|
goto L_08ACD98C;
|
|
}
|
|
goto L_08ACD97C;
|
|
}
|
|
L_08ACD97C:
|
|
{ const bool branch_taken = aot_gpr_4 != aot_gpr_5;
|
|
if (branch_taken) {
|
|
goto L_08ACD914;
|
|
}
|
|
goto L_08ACD984;
|
|
}
|
|
L_08ACD984:
|
|
{ const bool branch_taken = 0u == 0u;
|
|
if (branch_taken) {
|
|
goto L_08ACD914;
|
|
}
|
|
goto L_08ACD98C;
|
|
}
|
|
L_08ACD98C:
|
|
aot_gpr_31 = (0x08ACD994u);
|
|
aot_gpr_4 = (ctx.gpr[16] | 0u);
|
|
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0178->0067.
|
|
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
|
|
AOT_REGCACHE_SYNC_OUT();
|
|
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0178_entry, 550u, 0x08ACD994u, 0x08910B38u)) {
|
|
#if defined(__clang__)
|
|
[[clang::musttail]] return recomp_unit_0067_entry(rt, ctx, 195u, aot_mem);
|
|
#else
|
|
recomp_unit_0067_entry(rt, ctx, 195u, aot_mem); return;
|
|
#endif
|
|
}
|
|
return;
|
|
#else
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0067_entry, 67u, 195u, 0x08910B38u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACD994u) goto L_08ACD994;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
#endif
|
|
L_08ACD994:
|
|
{ const bool branch_taken = aot_gpr_2 == 0u;
|
|
if (branch_taken) {
|
|
goto L_08ACD9A4;
|
|
}
|
|
goto L_08ACD99C;
|
|
}
|
|
L_08ACD99C:
|
|
{ const bool branch_taken = 0u == 0u;
|
|
if (branch_taken) {
|
|
goto L_08ACD914;
|
|
}
|
|
goto L_08ACD9A4;
|
|
}
|
|
L_08ACD9A4:
|
|
{ const bool branch_taken = 0u == 0u;
|
|
if (branch_taken) {
|
|
goto L_08ACDF40;
|
|
}
|
|
goto L_08ACD9AC;
|
|
}
|
|
L_08ACD9AC:
|
|
aot_gpr_31 = (0x08ACD9B4u);
|
|
aot_gpr_5 = (ctx.gpr[18] | 0u);
|
|
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0178->0176.
|
|
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
|
|
AOT_REGCACHE_SYNC_OUT();
|
|
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0178_entry, 554u, 0x08ACD9B4u, 0x08AC7EF0u)) {
|
|
#if defined(__clang__)
|
|
[[clang::musttail]] return recomp_unit_0176_entry(rt, ctx, 1076u, aot_mem);
|
|
#else
|
|
recomp_unit_0176_entry(rt, ctx, 1076u, aot_mem); return;
|
|
#endif
|
|
}
|
|
return;
|
|
#else
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 1076u, 0x08AC7EF0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACD9B4u) goto L_08ACD9B4;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
#endif
|
|
L_08ACD9B4:
|
|
{ const bool branch_taken = aot_gpr_2 != 0u;
|
|
if (branch_taken) {
|
|
goto L_08ACD9C4;
|
|
}
|
|
goto L_08ACD9BC;
|
|
}
|
|
L_08ACD9BC:
|
|
{ const bool branch_taken = 0u == 0u;
|
|
aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast<std::uint32_t>(640), ctx.gpr[18]);
|
|
if (branch_taken) {
|
|
goto L_08ACDA04;
|
|
}
|
|
goto L_08ACD9C4;
|
|
}
|
|
L_08ACD9C4:
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast<std::uint32_t>(2196)));
|
|
{ const bool branch_taken = aot_gpr_4 == ctx.gpr[18];
|
|
if (branch_taken) {
|
|
goto L_08ACDA00;
|
|
}
|
|
goto L_08ACD9D0;
|
|
}
|
|
L_08ACD9D0:
|
|
aot_gpr_4 = (ctx.gpr[16] | 0u);
|
|
aot_gpr_31 = (0x08ACD9DCu);
|
|
aot_gpr_5 = (ctx.gpr[18] | 0u);
|
|
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0178->0176.
|
|
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
|
|
AOT_REGCACHE_SYNC_OUT();
|
|
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0178_entry, 558u, 0x08ACD9DCu, 0x08AC7EF0u)) {
|
|
#if defined(__clang__)
|
|
[[clang::musttail]] return recomp_unit_0176_entry(rt, ctx, 1076u, aot_mem);
|
|
#else
|
|
recomp_unit_0176_entry(rt, ctx, 1076u, aot_mem); return;
|
|
#endif
|
|
}
|
|
return;
|
|
#else
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 1076u, 0x08AC7EF0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACD9DCu) goto L_08ACD9DC;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
#endif
|
|
L_08ACD9DC:
|
|
{ const bool branch_taken = aot_gpr_2 == 0u;
|
|
if (branch_taken) {
|
|
goto L_08ACD9F8;
|
|
}
|
|
goto L_08ACD9E4;
|
|
}
|
|
L_08ACD9E4:
|
|
aot_gpr_4 = (ctx.gpr[16] | 0u);
|
|
aot_gpr_31 = (0x08ACD9F0u);
|
|
aot_gpr_5 = (ctx.gpr[18] | 0u);
|
|
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0178->0176.
|
|
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
|
|
AOT_REGCACHE_SYNC_OUT();
|
|
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0178_entry, 560u, 0x08ACD9F0u, 0x08AC7E98u)) {
|
|
#if defined(__clang__)
|
|
[[clang::musttail]] return recomp_unit_0176_entry(rt, ctx, 1068u, aot_mem);
|
|
#else
|
|
recomp_unit_0176_entry(rt, ctx, 1068u, aot_mem); return;
|
|
#endif
|
|
}
|
|
return;
|
|
#else
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 1068u, 0x08AC7E98u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACD9F0u) goto L_08ACD9F0;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
#endif
|
|
L_08ACD9F0:
|
|
{ const bool branch_taken = 0u == 0u;
|
|
if (branch_taken) {
|
|
goto L_08ACDA00;
|
|
}
|
|
goto L_08ACD9F8;
|
|
}
|
|
L_08ACD9F8:
|
|
aot_gpr_31 = (0x08ACDA00u);
|
|
aot_gpr_4 = (ctx.gpr[16] | 0u);
|
|
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0178->0176.
|
|
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
|
|
AOT_REGCACHE_SYNC_OUT();
|
|
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0178_entry, 562u, 0x08ACDA00u, 0x08AC7DFCu)) {
|
|
#if defined(__clang__)
|
|
[[clang::musttail]] return recomp_unit_0176_entry(rt, ctx, 1053u, aot_mem);
|
|
#else
|
|
recomp_unit_0176_entry(rt, ctx, 1053u, aot_mem); return;
|
|
#endif
|
|
}
|
|
return;
|
|
#else
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 1053u, 0x08AC7DFCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACDA00u) goto L_08ACDA00;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
#endif
|
|
L_08ACDA00:
|
|
aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast<std::uint32_t>(2196), ctx.gpr[18]);
|
|
goto L_08ACDA04;
|
|
L_08ACDA04:
|
|
aot_gpr_4 = (ctx.gpr[18] + static_cast<std::uint32_t>(-2));
|
|
aot_gpr_4 = (aot_gpr_4 < static_cast<std::uint32_t>(50) ? 1u : 0u);
|
|
{ const bool branch_taken = aot_gpr_4 == 0u;
|
|
aot_gpr_4 = (ctx.gpr[18] + static_cast<std::uint32_t>(-2));
|
|
if (branch_taken) {
|
|
goto L_08ACDF38;
|
|
}
|
|
goto L_08ACDA14;
|
|
}
|
|
L_08ACDA14:
|
|
aot_gpr_4 = (aot_gpr_4 << 2u);
|
|
ctx.gpr[1] = (2232u << 16u);
|
|
ctx.gpr[1] = (ctx.gpr[1] + aot_gpr_4);
|
|
ctx.gpr[1] = (aot_mem.aot_direct_load32(ctx.gpr[1] + static_cast<std::uint32_t>(15232)));
|
|
jump_target = ctx.gpr[1];
|
|
// PSPRECOMP_V813_JR_FAST_EXIT: preserve the exact 256-transfer boundary; common JR path is shared.
|
|
if (++local_transfers < 256u) goto LOCAL_JR_DISPATCH;
|
|
// PSPRECOMP_V812_SHARED_SCHED_JUMP
|
|
goto LOCAL_SCHED_BOUNDARY;
|
|
L_08ACDA2C:
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast<std::uint32_t>(92)));
|
|
aot_gpr_5 = (aot_gpr_17 | 0u);
|
|
aot_gpr_4 = (aot_gpr_4 + static_cast<std::uint32_t>(240));
|
|
ctx.gpr[6] = (static_cast<std::uint32_t>(static_cast<std::int32_t>(static_cast<std::int16_t>(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast<std::uint32_t>(0))))));
|
|
ctx.gpr[7] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast<std::uint32_t>(4)));
|
|
jump_target = ctx.gpr[7];
|
|
aot_gpr_31 = (0x08ACDA48u);
|
|
aot_gpr_4 = (ctx.gpr[16] + ctx.gpr[6]);
|
|
ctx.pc = jump_target;
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACDA48u) goto L_08ACDA48;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
L_08ACDA48:
|
|
{ const bool branch_taken = 0u == 0u;
|
|
if (branch_taken) {
|
|
goto L_08ACDF40;
|
|
}
|
|
goto L_08ACDA50;
|
|
}
|
|
L_08ACDA50:
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast<std::uint32_t>(2244)));
|
|
aot_gpr_5 = (0u | 1u);
|
|
{ const bool branch_taken = aot_gpr_4 != aot_gpr_5;
|
|
if (branch_taken) {
|
|
goto L_08ACDA6C;
|
|
}
|
|
goto L_08ACDA60;
|
|
}
|
|
L_08ACDA60:
|
|
aot_gpr_4 = (ctx.gpr[16] | 0u);
|
|
aot_gpr_31 = (0x08ACDA6Cu);
|
|
aot_gpr_5 = (0u | 4u);
|
|
if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890BE50, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0065_entry, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACDA6Cu) goto L_08ACDA6C;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
L_08ACDA6C:
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast<std::uint32_t>(852)));
|
|
aot_gpr_5 = (0u | 1u);
|
|
if (aot_gpr_4 == aot_gpr_5) {
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast<std::uint32_t>(1300)));
|
|
goto L_08ACDA90;
|
|
}
|
|
goto L_08ACDA7C;
|
|
L_08ACDA7C:
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast<std::uint32_t>(852)));
|
|
aot_gpr_5 = (0u | 2u);
|
|
{ const bool branch_taken = aot_gpr_4 != aot_gpr_5;
|
|
if (branch_taken) {
|
|
goto L_08ACDAA8;
|
|
}
|
|
goto L_08ACDA8C;
|
|
}
|
|
L_08ACDA8C:
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast<std::uint32_t>(1300)));
|
|
goto L_08ACDA90;
|
|
L_08ACDA90:
|
|
{ const bool branch_taken = aot_gpr_4 == aot_gpr_17;
|
|
if (branch_taken) {
|
|
goto L_08ACDAA8;
|
|
}
|
|
goto L_08ACDA98;
|
|
}
|
|
L_08ACDA98:
|
|
aot_gpr_31 = (0x08ACDAA0u);
|
|
aot_gpr_4 = (ctx.gpr[16] | 0u);
|
|
if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACDAA0u) goto L_08ACDAA0;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
L_08ACDAA0:
|
|
{ const bool branch_taken = aot_gpr_2 == 0u;
|
|
if (branch_taken) {
|
|
goto L_08ACDAB0;
|
|
}
|
|
goto L_08ACDAA8;
|
|
}
|
|
L_08ACDAA8:
|
|
{ const bool branch_taken = 0u == 0u;
|
|
if (branch_taken) {
|
|
goto L_08ACDAC0;
|
|
}
|
|
goto L_08ACDAB0;
|
|
}
|
|
L_08ACDAB0:
|
|
aot_gpr_31 = (0x08ACDAB8u);
|
|
aot_gpr_4 = (ctx.gpr[16] | 0u);
|
|
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0178->0176.
|
|
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
|
|
AOT_REGCACHE_SYNC_OUT();
|
|
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0178_entry, 577u, 0x08ACDAB8u, 0x08AC7F64u)) {
|
|
#if defined(__clang__)
|
|
[[clang::musttail]] return recomp_unit_0176_entry(rt, ctx, 1089u, aot_mem);
|
|
#else
|
|
recomp_unit_0176_entry(rt, ctx, 1089u, aot_mem); return;
|
|
#endif
|
|
}
|
|
return;
|
|
#else
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 1089u, 0x08AC7F64u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACDAB8u) goto L_08ACDAB8;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
#endif
|
|
L_08ACDAB8:
|
|
{ const bool branch_taken = 0u == 0u;
|
|
if (branch_taken) {
|
|
goto L_08ACDF40;
|
|
}
|
|
goto L_08ACDAC0;
|
|
}
|
|
L_08ACDAC0:
|
|
aot_gpr_4 = (ctx.gpr[16] | 0u);
|
|
aot_gpr_31 = (0x08ACDACCu);
|
|
aot_gpr_5 = (aot_gpr_17 | 0u);
|
|
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0178->0067.
|
|
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
|
|
AOT_REGCACHE_SYNC_OUT();
|
|
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0178_entry, 579u, 0x08ACDACCu, 0x08910AD4u)) {
|
|
#if defined(__clang__)
|
|
[[clang::musttail]] return recomp_unit_0067_entry(rt, ctx, 188u, aot_mem);
|
|
#else
|
|
recomp_unit_0067_entry(rt, ctx, 188u, aot_mem); return;
|
|
#endif
|
|
}
|
|
return;
|
|
#else
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0067_entry, 67u, 188u, 0x08910AD4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACDACCu) goto L_08ACDACC;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
#endif
|
|
L_08ACDACC:
|
|
aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast<std::uint32_t>(1156)));
|
|
aot_gpr_31 = (0x08ACDAD8u);
|
|
aot_gpr_4 = (ctx.gpr[16] | 0u);
|
|
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0178->0067.
|
|
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
|
|
AOT_REGCACHE_SYNC_OUT();
|
|
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0178_entry, 580u, 0x08ACDAD8u, 0x0891034Cu)) {
|
|
#if defined(__clang__)
|
|
[[clang::musttail]] return recomp_unit_0067_entry(rt, ctx, 50u, aot_mem);
|
|
#else
|
|
recomp_unit_0067_entry(rt, ctx, 50u, aot_mem); return;
|
|
#endif
|
|
}
|
|
return;
|
|
#else
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0067_entry, 67u, 50u, 0x0891034Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACDAD8u) goto L_08ACDAD8;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
#endif
|
|
L_08ACDAD8:
|
|
aot_fpr_12 = std::bit_cast<float>(0u);
|
|
aot_gpr_4 = (ctx.gpr[16] | 0u);
|
|
{ const std::uint32_t aot_run_words[3]{std::bit_cast<std::uint32_t>(aot_fpr_12), std::bit_cast<std::uint32_t>(aot_fpr_12), std::bit_cast<std::uint32_t>(aot_fpr_12)};
|
|
aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast<std::uint32_t>(0), aot_run_words); }
|
|
aot_gpr_31 = (0x08ACDAF4u);
|
|
aot_gpr_5 = (aot_gpr_29 | 0u);
|
|
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0178->0067.
|
|
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
|
|
AOT_REGCACHE_SYNC_OUT();
|
|
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0178_entry, 581u, 0x08ACDAF4u, 0x08910218u)) {
|
|
#if defined(__clang__)
|
|
[[clang::musttail]] return recomp_unit_0067_entry(rt, ctx, 34u, aot_mem);
|
|
#else
|
|
recomp_unit_0067_entry(rt, ctx, 34u, aot_mem); return;
|
|
#endif
|
|
}
|
|
return;
|
|
#else
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0067_entry, 67u, 34u, 0x08910218u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACDAF4u) goto L_08ACDAF4;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
#endif
|
|
L_08ACDAF4:
|
|
aot_gpr_4 = (0u | 31u);
|
|
{ const bool branch_taken = ctx.gpr[18] != aot_gpr_4;
|
|
if (branch_taken) {
|
|
goto L_08ACDB10;
|
|
}
|
|
goto L_08ACDB00;
|
|
}
|
|
L_08ACDB00:
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(7660)));
|
|
aot_gpr_4 = (aot_gpr_4 + static_cast<std::uint32_t>(10000));
|
|
{ const bool branch_taken = 0u == 0u;
|
|
aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast<std::uint32_t>(1756), aot_gpr_4);
|
|
if (branch_taken) {
|
|
goto L_08ACDB78;
|
|
}
|
|
goto L_08ACDB10;
|
|
}
|
|
L_08ACDB10:
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast<std::uint32_t>(2196)));
|
|
aot_gpr_5 = (0u | 17u);
|
|
{ const bool branch_taken = aot_gpr_4 != aot_gpr_5;
|
|
if (branch_taken) {
|
|
goto L_08ACDB74;
|
|
}
|
|
goto L_08ACDB20;
|
|
}
|
|
L_08ACDB20:
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast<std::uint32_t>(2276)));
|
|
aot_gpr_5 = (0u | 2u);
|
|
{ const bool branch_taken = aot_gpr_4 != aot_gpr_5;
|
|
if (branch_taken) {
|
|
goto L_08ACDB74;
|
|
}
|
|
goto L_08ACDB30;
|
|
}
|
|
L_08ACDB30:
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast<std::uint32_t>(1156)));
|
|
aot_gpr_5 = (0u | 13u);
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast<std::uint32_t>(72)));
|
|
aot_gpr_4 = (aot_gpr_4 & 496u);
|
|
aot_gpr_4 = (aot_gpr_4 >> 4u);
|
|
{ const bool branch_taken = aot_gpr_4 == aot_gpr_5;
|
|
if (branch_taken) {
|
|
goto L_08ACDB60;
|
|
}
|
|
goto L_08ACDB4C;
|
|
}
|
|
L_08ACDB4C:
|
|
aot_gpr_31 = (0x08ACDB54u);
|
|
aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast<std::uint32_t>(7800)));
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_0898B428, 97u, 0x0898B428u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACDB54u) goto L_08ACDB54;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
L_08ACDB54:
|
|
aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_2 + static_cast<std::uint32_t>(154)));
|
|
{ const bool branch_taken = aot_gpr_4 == 0u;
|
|
if (branch_taken) {
|
|
goto L_08ACDB74;
|
|
}
|
|
goto L_08ACDB60;
|
|
}
|
|
L_08ACDB60:
|
|
aot_gpr_4 = (ctx.gpr[16] | 0u);
|
|
aot_gpr_31 = (0x08ACDB6Cu);
|
|
aot_gpr_5 = (0u | 14000u);
|
|
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0178->0176.
|
|
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
|
|
AOT_REGCACHE_SYNC_OUT();
|
|
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0178_entry, 589u, 0x08ACDB6Cu, 0x08AC7F30u)) {
|
|
#if defined(__clang__)
|
|
[[clang::musttail]] return recomp_unit_0176_entry(rt, ctx, 1084u, aot_mem);
|
|
#else
|
|
recomp_unit_0176_entry(rt, ctx, 1084u, aot_mem); return;
|
|
#endif
|
|
}
|
|
return;
|
|
#else
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 1084u, 0x08AC7F30u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACDB6Cu) goto L_08ACDB6C;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
#endif
|
|
L_08ACDB6C:
|
|
{ const bool branch_taken = 0u == 0u;
|
|
if (branch_taken) {
|
|
goto L_08ACDB78;
|
|
}
|
|
goto L_08ACDB74;
|
|
}
|
|
L_08ACDB74:
|
|
aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast<std::uint32_t>(1756), 0u);
|
|
goto L_08ACDB78;
|
|
L_08ACDB78:
|
|
{ const bool branch_taken = 0u == 0u;
|
|
if (branch_taken) {
|
|
goto L_08ACDA48;
|
|
}
|
|
goto L_08ACDB80;
|
|
}
|
|
L_08ACDB80:
|
|
aot_gpr_4 = (ctx.gpr[16] | 0u);
|
|
aot_gpr_31 = (0x08ACDB8Cu);
|
|
aot_gpr_5 = (aot_gpr_17 | 0u);
|
|
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0178->0066.
|
|
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
|
|
AOT_REGCACHE_SYNC_OUT();
|
|
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0178_entry, 593u, 0x08ACDB8Cu, 0x0890FC94u)) {
|
|
#if defined(__clang__)
|
|
[[clang::musttail]] return recomp_unit_0066_entry(rt, ctx, 840u, aot_mem);
|
|
#else
|
|
recomp_unit_0066_entry(rt, ctx, 840u, aot_mem); return;
|
|
#endif
|
|
}
|
|
return;
|
|
#else
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 840u, 0x0890FC94u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACDB8Cu) goto L_08ACDB8C;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
#endif
|
|
L_08ACDB8C:
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast<std::uint32_t>(2192)));
|
|
{ const bool branch_taken = aot_gpr_4 == 0u;
|
|
if (branch_taken) {
|
|
goto L_08ACDBA4;
|
|
}
|
|
goto L_08ACDB98;
|
|
}
|
|
L_08ACDB98:
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast<std::uint32_t>(2192)));
|
|
aot_gpr_31 = (0x08ACDBA4u);
|
|
aot_gpr_5 = (ctx.gpr[16] + static_cast<std::uint32_t>(2192));
|
|
if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A92F78, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0163_entry, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACDBA4u) goto L_08ACDBA4;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
L_08ACDBA4:
|
|
{ const bool branch_taken = 0u == 0u;
|
|
if (branch_taken) {
|
|
goto L_08ACDA48;
|
|
}
|
|
goto L_08ACDBAC;
|
|
}
|
|
L_08ACDBAC:
|
|
aot_gpr_4 = (ctx.gpr[16] | 0u);
|
|
aot_gpr_31 = (0x08ACDBB8u);
|
|
aot_gpr_5 = (aot_gpr_17 | 0u);
|
|
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0178->0066.
|
|
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
|
|
AOT_REGCACHE_SYNC_OUT();
|
|
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0178_entry, 597u, 0x08ACDBB8u, 0x0890FC94u)) {
|
|
#if defined(__clang__)
|
|
[[clang::musttail]] return recomp_unit_0066_entry(rt, ctx, 840u, aot_mem);
|
|
#else
|
|
recomp_unit_0066_entry(rt, ctx, 840u, aot_mem); return;
|
|
#endif
|
|
}
|
|
return;
|
|
#else
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 840u, 0x0890FC94u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACDBB8u) goto L_08ACDBB8;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
#endif
|
|
L_08ACDBB8:
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast<std::uint32_t>(2192)));
|
|
{ const bool branch_taken = aot_gpr_4 == 0u;
|
|
if (branch_taken) {
|
|
goto L_08ACDBD0;
|
|
}
|
|
goto L_08ACDBC4;
|
|
}
|
|
L_08ACDBC4:
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast<std::uint32_t>(2192)));
|
|
aot_gpr_31 = (0x08ACDBD0u);
|
|
aot_gpr_5 = (ctx.gpr[16] + static_cast<std::uint32_t>(2192));
|
|
if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A92F78, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0163_entry, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACDBD0u) goto L_08ACDBD0;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
L_08ACDBD0:
|
|
aot_gpr_4 = (0u | 1u);
|
|
{ const bool branch_taken = 0u == 0u;
|
|
aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast<std::uint32_t>(680), aot_gpr_4);
|
|
if (branch_taken) {
|
|
goto L_08ACDA48;
|
|
}
|
|
goto L_08ACDBDC;
|
|
}
|
|
L_08ACDBDC:
|
|
aot_gpr_4 = (ctx.gpr[16] | 0u);
|
|
aot_gpr_31 = (0x08ACDBE8u);
|
|
aot_gpr_5 = (aot_gpr_17 | 0u);
|
|
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0178->0176.
|
|
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
|
|
AOT_REGCACHE_SYNC_OUT();
|
|
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0178_entry, 601u, 0x08ACDBE8u, 0x08AC7F30u)) {
|
|
#if defined(__clang__)
|
|
[[clang::musttail]] return recomp_unit_0176_entry(rt, ctx, 1084u, aot_mem);
|
|
#else
|
|
recomp_unit_0176_entry(rt, ctx, 1084u, aot_mem); return;
|
|
#endif
|
|
}
|
|
return;
|
|
#else
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 1084u, 0x08AC7F30u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACDBE8u) goto L_08ACDBE8;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
#endif
|
|
L_08ACDBE8:
|
|
{ const bool branch_taken = 0u == 0u;
|
|
if (branch_taken) {
|
|
goto L_08ACDA48;
|
|
}
|
|
goto L_08ACDBF0;
|
|
}
|
|
L_08ACDBF0:
|
|
aot_gpr_4 = (ctx.gpr[16] | 0u);
|
|
aot_gpr_31 = (0x08ACDBFCu);
|
|
aot_gpr_5 = (aot_gpr_17 | 0u);
|
|
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0178->0066.
|
|
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
|
|
AOT_REGCACHE_SYNC_OUT();
|
|
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0178_entry, 603u, 0x08ACDBFCu, 0x0890DF20u)) {
|
|
#if defined(__clang__)
|
|
[[clang::musttail]] return recomp_unit_0066_entry(rt, ctx, 475u, aot_mem);
|
|
#else
|
|
recomp_unit_0066_entry(rt, ctx, 475u, aot_mem); return;
|
|
#endif
|
|
}
|
|
return;
|
|
#else
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 475u, 0x0890DF20u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACDBFCu) goto L_08ACDBFC;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
#endif
|
|
L_08ACDBFC:
|
|
aot_gpr_31 = (0x08ACDC04u);
|
|
aot_gpr_4 = (ctx.gpr[16] | 0u);
|
|
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0178->0176.
|
|
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
|
|
AOT_REGCACHE_SYNC_OUT();
|
|
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0178_entry, 604u, 0x08ACDC04u, 0x08AC7F64u)) {
|
|
#if defined(__clang__)
|
|
[[clang::musttail]] return recomp_unit_0176_entry(rt, ctx, 1089u, aot_mem);
|
|
#else
|
|
recomp_unit_0176_entry(rt, ctx, 1089u, aot_mem); return;
|
|
#endif
|
|
}
|
|
return;
|
|
#else
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 1089u, 0x08AC7F64u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACDC04u) goto L_08ACDC04;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
#endif
|
|
L_08ACDC04:
|
|
{ const bool branch_taken = 0u == 0u;
|
|
if (branch_taken) {
|
|
goto L_08ACDA48;
|
|
}
|
|
goto L_08ACDC0C;
|
|
}
|
|
L_08ACDC0C:
|
|
aot_gpr_4 = (ctx.gpr[16] | 0u);
|
|
aot_gpr_31 = (0x08ACDC18u);
|
|
aot_gpr_5 = (aot_gpr_17 | 0u);
|
|
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0178->0067.
|
|
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
|
|
AOT_REGCACHE_SYNC_OUT();
|
|
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0178_entry, 606u, 0x08ACDC18u, 0x08910AD4u)) {
|
|
#if defined(__clang__)
|
|
[[clang::musttail]] return recomp_unit_0067_entry(rt, ctx, 188u, aot_mem);
|
|
#else
|
|
recomp_unit_0067_entry(rt, ctx, 188u, aot_mem); return;
|
|
#endif
|
|
}
|
|
return;
|
|
#else
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0067_entry, 67u, 188u, 0x08910AD4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACDC18u) goto L_08ACDC18;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
#endif
|
|
L_08ACDC18:
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast<std::uint32_t>(1156)));
|
|
aot_gpr_4 = (static_cast<std::uint32_t>(static_cast<std::int32_t>(static_cast<std::int8_t>(aot_mem.aot_direct_load8(aot_gpr_4 + static_cast<std::uint32_t>(614))))));
|
|
aot_gpr_4 = (aot_gpr_4 & 2u);
|
|
{ const bool branch_taken = aot_gpr_4 == 0u;
|
|
if (branch_taken) {
|
|
goto L_08ACDC94;
|
|
}
|
|
goto L_08ACDC2C;
|
|
}
|
|
L_08ACDC2C:
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast<std::uint32_t>(1728)));
|
|
{ const bool branch_taken = aot_gpr_4 != 0u;
|
|
if (branch_taken) {
|
|
goto L_08ACDC94;
|
|
}
|
|
goto L_08ACDC38;
|
|
}
|
|
L_08ACDC38:
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast<std::uint32_t>(1156)));
|
|
aot_gpr_17 = (0u | 0u);
|
|
aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast<std::uint32_t>(565)));
|
|
aot_gpr_4 = (static_cast<std::int32_t>(aot_gpr_17) < static_cast<std::int32_t>(aot_gpr_4) ? 1u : 0u);
|
|
{ const bool branch_taken = aot_gpr_4 == 0u;
|
|
if (branch_taken) {
|
|
goto L_08ACDC94;
|
|
}
|
|
goto L_08ACDC50;
|
|
}
|
|
L_08ACDC50:
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast<std::uint32_t>(1156)));
|
|
aot_gpr_31 = (0x08ACDC5Cu);
|
|
aot_gpr_5 = (aot_gpr_17 | 0u);
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_08AFEF7C, 190u, 0x08AFEF7Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACDC5Cu) goto L_08ACDC5C;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
L_08ACDC5C:
|
|
{ const bool branch_taken = aot_gpr_2 != ctx.gpr[16];
|
|
aot_gpr_4 = (0u + static_cast<std::uint32_t>(1200));
|
|
if (branch_taken) {
|
|
goto L_08ACDC7C;
|
|
}
|
|
goto L_08ACDC64;
|
|
}
|
|
L_08ACDC64:
|
|
{ const std::int64_t product = static_cast<std::int64_t>(static_cast<std::int32_t>(aot_gpr_17)) * static_cast<std::int64_t>(static_cast<std::int32_t>(aot_gpr_4)); ctx.lo = static_cast<std::uint32_t>(product); ctx.hi = static_cast<std::uint32_t>(static_cast<std::uint64_t>(product) >> 32u); }
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(7660)));
|
|
aot_gpr_5 = (ctx.lo);
|
|
aot_gpr_4 = (aot_gpr_4 + aot_gpr_5);
|
|
{ const bool branch_taken = 0u == 0u;
|
|
aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast<std::uint32_t>(1728), aot_gpr_4);
|
|
if (branch_taken) {
|
|
goto L_08ACDC94;
|
|
}
|
|
goto L_08ACDC7C;
|
|
}
|
|
L_08ACDC7C:
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast<std::uint32_t>(1156)));
|
|
aot_gpr_17 = (aot_gpr_17 + static_cast<std::uint32_t>(1));
|
|
aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast<std::uint32_t>(565)));
|
|
aot_gpr_4 = (static_cast<std::int32_t>(aot_gpr_17) < static_cast<std::int32_t>(aot_gpr_4) ? 1u : 0u);
|
|
{ const bool branch_taken = aot_gpr_4 != 0u;
|
|
if (branch_taken) {
|
|
goto L_08ACDC50;
|
|
}
|
|
goto L_08ACDC94;
|
|
}
|
|
L_08ACDC94:
|
|
{ const bool branch_taken = 0u == 0u;
|
|
if (branch_taken) {
|
|
goto L_08ACDA48;
|
|
}
|
|
goto L_08ACDC9C;
|
|
}
|
|
L_08ACDC9C:
|
|
aot_gpr_31 = (0x08ACDCA4u);
|
|
aot_gpr_4 = (ctx.gpr[16] | 0u);
|
|
if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890FF64, 66u, 887u, 0x0890FF64u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 887u, 0x0890FF64u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACDCA4u) goto L_08ACDCA4;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
L_08ACDCA4:
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast<std::uint32_t>(456)));
|
|
aot_gpr_5 = (49152u << 16u);
|
|
aot_gpr_5 = (aot_gpr_5 + static_cast<std::uint32_t>(-1));
|
|
aot_gpr_4 = (aot_gpr_4 & aot_gpr_5);
|
|
aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast<std::uint32_t>(456), aot_gpr_4);
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast<std::uint32_t>(2192)));
|
|
{ const bool branch_taken = aot_gpr_4 == 0u;
|
|
if (branch_taken) {
|
|
goto L_08ACDCD0;
|
|
}
|
|
goto L_08ACDCC4;
|
|
}
|
|
L_08ACDCC4:
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast<std::uint32_t>(2192)));
|
|
aot_gpr_31 = (0x08ACDCD0u);
|
|
aot_gpr_5 = (ctx.gpr[16] + static_cast<std::uint32_t>(2192));
|
|
if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A93004, 163u, 430u, 0x08A93004u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[8], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0163_entry, 163u, 430u, 0x08A93004u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACDCD0u) goto L_08ACDCD0;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
L_08ACDCD0:
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast<std::uint32_t>(1716)));
|
|
{ const bool branch_taken = aot_gpr_4 == 0u;
|
|
if (branch_taken) {
|
|
goto L_08ACDCE8;
|
|
}
|
|
goto L_08ACDCDC;
|
|
}
|
|
L_08ACDCDC:
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast<std::uint32_t>(1716)));
|
|
aot_gpr_31 = (0x08ACDCE8u);
|
|
aot_gpr_5 = (ctx.gpr[16] + static_cast<std::uint32_t>(1716));
|
|
if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A93004, 163u, 430u, 0x08A93004u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[8], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0163_entry, 163u, 430u, 0x08A93004u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACDCE8u) goto L_08ACDCE8;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
L_08ACDCE8:
|
|
aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast<std::uint32_t>(1716), aot_gpr_17);
|
|
aot_gpr_4 = (ctx.gpr[16] | 0u);
|
|
aot_gpr_31 = (0x08ACDCF8u);
|
|
aot_gpr_5 = (aot_gpr_17 | 0u);
|
|
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0178->0066.
|
|
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
|
|
AOT_REGCACHE_SYNC_OUT();
|
|
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0178_entry, 620u, 0x08ACDCF8u, 0x0890FC94u)) {
|
|
#if defined(__clang__)
|
|
[[clang::musttail]] return recomp_unit_0066_entry(rt, ctx, 840u, aot_mem);
|
|
#else
|
|
recomp_unit_0066_entry(rt, ctx, 840u, aot_mem); return;
|
|
#endif
|
|
}
|
|
return;
|
|
#else
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 840u, 0x0890FC94u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACDCF8u) goto L_08ACDCF8;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
#endif
|
|
L_08ACDCF8:
|
|
aot_fpr_12 = std::bit_cast<float>(0u);
|
|
aot_gpr_4 = (ctx.gpr[16] | 0u);
|
|
{ const std::uint32_t aot_run_words[3]{std::bit_cast<std::uint32_t>(aot_fpr_12), std::bit_cast<std::uint32_t>(aot_fpr_12), std::bit_cast<std::uint32_t>(aot_fpr_12)};
|
|
aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast<std::uint32_t>(0), aot_run_words); }
|
|
aot_gpr_31 = (0x08ACDD14u);
|
|
aot_gpr_5 = (aot_gpr_29 | 0u);
|
|
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0178->0067.
|
|
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
|
|
AOT_REGCACHE_SYNC_OUT();
|
|
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0178_entry, 621u, 0x08ACDD14u, 0x08910218u)) {
|
|
#if defined(__clang__)
|
|
[[clang::musttail]] return recomp_unit_0067_entry(rt, ctx, 34u, aot_mem);
|
|
#else
|
|
recomp_unit_0067_entry(rt, ctx, 34u, aot_mem); return;
|
|
#endif
|
|
}
|
|
return;
|
|
#else
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0067_entry, 67u, 34u, 0x08910218u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACDD14u) goto L_08ACDD14;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
#endif
|
|
L_08ACDD14:
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast<std::uint32_t>(2192)));
|
|
{ const bool branch_taken = aot_gpr_4 == 0u;
|
|
if (branch_taken) {
|
|
goto L_08ACDD2C;
|
|
}
|
|
goto L_08ACDD20;
|
|
}
|
|
L_08ACDD20:
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast<std::uint32_t>(2192)));
|
|
aot_gpr_31 = (0x08ACDD2Cu);
|
|
aot_gpr_5 = (ctx.gpr[16] + static_cast<std::uint32_t>(2192));
|
|
if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A92F78, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0163_entry, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACDD2Cu) goto L_08ACDD2C;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
L_08ACDD2C:
|
|
{ const bool branch_taken = aot_gpr_17 == 0u;
|
|
aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast<std::uint32_t>(1716), aot_gpr_17);
|
|
if (branch_taken) {
|
|
goto L_08ACDD40;
|
|
}
|
|
goto L_08ACDD34;
|
|
}
|
|
L_08ACDD34:
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast<std::uint32_t>(1716)));
|
|
aot_gpr_31 = (0x08ACDD40u);
|
|
aot_gpr_5 = (ctx.gpr[16] + static_cast<std::uint32_t>(1716));
|
|
if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A92F78, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0163_entry, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACDD40u) goto L_08ACDD40;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
L_08ACDD40:
|
|
aot_gpr_31 = (0x08ACDD48u);
|
|
aot_gpr_4 = (ctx.gpr[16] | 0u);
|
|
if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890D44C, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 315u, 0x0890D44Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACDD48u) goto L_08ACDD48;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
L_08ACDD48:
|
|
{ const bool branch_taken = aot_gpr_2 != 0u;
|
|
if (branch_taken) {
|
|
goto L_08ACDE34;
|
|
}
|
|
goto L_08ACDD50;
|
|
}
|
|
L_08ACDD50:
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast<std::uint32_t>(92)));
|
|
aot_gpr_4 = (aot_gpr_4 + static_cast<std::uint32_t>(216));
|
|
aot_gpr_5 = (static_cast<std::uint32_t>(static_cast<std::int32_t>(static_cast<std::int16_t>(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast<std::uint32_t>(0))))));
|
|
ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast<std::uint32_t>(4)));
|
|
jump_target = ctx.gpr[6];
|
|
aot_gpr_31 = (0x08ACDD68u);
|
|
aot_gpr_4 = (ctx.gpr[16] + aot_gpr_5);
|
|
ctx.pc = jump_target;
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACDD68u) goto L_08ACDD68;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
L_08ACDD68:
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_2 + static_cast<std::uint32_t>(12)));
|
|
{ const bool branch_taken = aot_gpr_4 == 0u;
|
|
if (branch_taken) {
|
|
goto L_08ACDE34;
|
|
}
|
|
goto L_08ACDD74;
|
|
}
|
|
L_08ACDD74:
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast<std::uint32_t>(92)));
|
|
aot_gpr_4 = (aot_gpr_4 + static_cast<std::uint32_t>(216));
|
|
aot_gpr_5 = (static_cast<std::uint32_t>(static_cast<std::int32_t>(static_cast<std::int16_t>(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast<std::uint32_t>(0))))));
|
|
ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast<std::uint32_t>(4)));
|
|
jump_target = ctx.gpr[6];
|
|
aot_gpr_31 = (0x08ACDD8Cu);
|
|
aot_gpr_4 = (ctx.gpr[16] + aot_gpr_5);
|
|
ctx.pc = jump_target;
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACDD8Cu) goto L_08ACDD8C;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
L_08ACDD8C:
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_2 + static_cast<std::uint32_t>(12)));
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast<std::uint32_t>(72)));
|
|
aot_gpr_4 = (aot_gpr_4 & 14u);
|
|
aot_gpr_4 = (aot_gpr_4 ^ 6u);
|
|
aot_gpr_4 = (aot_gpr_4 < static_cast<std::uint32_t>(1) ? 1u : 0u);
|
|
aot_gpr_4 = (aot_gpr_4 & 255u);
|
|
{ const bool branch_taken = aot_gpr_4 == 0u;
|
|
if (branch_taken) {
|
|
goto L_08ACDE34;
|
|
}
|
|
goto L_08ACDDAC;
|
|
}
|
|
L_08ACDDAC:
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast<std::uint32_t>(92)));
|
|
aot_gpr_4 = (aot_gpr_4 + static_cast<std::uint32_t>(216));
|
|
aot_gpr_5 = (static_cast<std::uint32_t>(static_cast<std::int32_t>(static_cast<std::int16_t>(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast<std::uint32_t>(0))))));
|
|
ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast<std::uint32_t>(4)));
|
|
jump_target = ctx.gpr[6];
|
|
aot_gpr_31 = (0x08ACDDC4u);
|
|
aot_gpr_4 = (ctx.gpr[16] + aot_gpr_5);
|
|
ctx.pc = jump_target;
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACDDC4u) goto L_08ACDDC4;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
L_08ACDDC4:
|
|
aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_2 + static_cast<std::uint32_t>(12)));
|
|
ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast<std::uint32_t>(2228)));
|
|
ctx.gpr[7] = (0u | 58u);
|
|
{ const bool branch_taken = ctx.gpr[6] == ctx.gpr[7];
|
|
aot_gpr_4 = (0u | 0u);
|
|
if (branch_taken) {
|
|
goto L_08ACDDE8;
|
|
}
|
|
goto L_08ACDDD8;
|
|
}
|
|
L_08ACDDD8:
|
|
aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast<std::uint32_t>(2228)));
|
|
ctx.gpr[6] = (0u | 57u);
|
|
{ const bool branch_taken = aot_gpr_5 != ctx.gpr[6];
|
|
aot_gpr_4 = (aot_gpr_4 & 255u);
|
|
if (branch_taken) {
|
|
goto L_08ACDDF0;
|
|
}
|
|
goto L_08ACDDE8;
|
|
}
|
|
L_08ACDDE8:
|
|
aot_gpr_4 = (0u | 1u);
|
|
aot_gpr_4 = (aot_gpr_4 & 255u);
|
|
goto L_08ACDDF0;
|
|
L_08ACDDF0:
|
|
{ const bool branch_taken = aot_gpr_4 == 0u;
|
|
if (branch_taken) {
|
|
goto L_08ACDE34;
|
|
}
|
|
goto L_08ACDDF8;
|
|
}
|
|
L_08ACDDF8:
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast<std::uint32_t>(92)));
|
|
aot_gpr_4 = (aot_gpr_4 + static_cast<std::uint32_t>(216));
|
|
aot_gpr_5 = (static_cast<std::uint32_t>(static_cast<std::int32_t>(static_cast<std::int16_t>(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast<std::uint32_t>(0))))));
|
|
ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast<std::uint32_t>(4)));
|
|
jump_target = ctx.gpr[6];
|
|
aot_gpr_31 = (0x08ACDE10u);
|
|
aot_gpr_4 = (ctx.gpr[16] + aot_gpr_5);
|
|
ctx.pc = jump_target;
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACDE10u) goto L_08ACDE10;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
L_08ACDE10:
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_2 + static_cast<std::uint32_t>(36)));
|
|
aot_gpr_5 = (ctx.gpr[16] | 0u);
|
|
aot_gpr_4 = (aot_gpr_4 + static_cast<std::uint32_t>(40));
|
|
ctx.gpr[6] = (static_cast<std::uint32_t>(static_cast<std::int32_t>(static_cast<std::int16_t>(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast<std::uint32_t>(0))))));
|
|
ctx.gpr[8] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast<std::uint32_t>(4)));
|
|
aot_gpr_4 = (aot_gpr_2 + ctx.gpr[6]);
|
|
ctx.gpr[6] = (0u | 0u);
|
|
jump_target = ctx.gpr[8];
|
|
aot_gpr_31 = (0x08ACDE34u);
|
|
ctx.gpr[7] = (0u | 0u);
|
|
ctx.pc = jump_target;
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACDE34u) goto L_08ACDE34;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
L_08ACDE34:
|
|
aot_gpr_4 = (static_cast<std::uint32_t>(static_cast<std::int32_t>(static_cast<std::int8_t>(aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast<std::uint32_t>(1929))))));
|
|
aot_gpr_5 = (aot_gpr_4 << 5u);
|
|
aot_gpr_4 = (aot_gpr_4 << 2u);
|
|
aot_gpr_4 = (aot_gpr_5 - aot_gpr_4);
|
|
aot_gpr_4 = (ctx.gpr[16] + aot_gpr_4);
|
|
aot_gpr_31 = (0x08ACDE50u);
|
|
aot_gpr_4 = (aot_gpr_4 + static_cast<std::uint32_t>(1396));
|
|
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0178->0143.
|
|
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
|
|
AOT_REGCACHE_SYNC_OUT();
|
|
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0178_entry, 639u, 0x08ACDE50u, 0x08A420BCu)) {
|
|
#if defined(__clang__)
|
|
[[clang::musttail]] return recomp_unit_0143_entry(rt, ctx, 378u, aot_mem);
|
|
#else
|
|
recomp_unit_0143_entry(rt, ctx, 378u, aot_mem); return;
|
|
#endif
|
|
}
|
|
return;
|
|
#else
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0143_entry, 143u, 378u, 0x08A420BCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACDE50u) goto L_08ACDE50;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
#endif
|
|
L_08ACDE50:
|
|
{ const bool branch_taken = aot_gpr_2 == 0u;
|
|
if (branch_taken) {
|
|
goto L_08ACDE64;
|
|
}
|
|
goto L_08ACDE58;
|
|
}
|
|
L_08ACDE58:
|
|
aot_gpr_4 = (ctx.gpr[16] | 0u);
|
|
aot_gpr_31 = (0x08ACDE64u);
|
|
aot_gpr_5 = (0u | 1u);
|
|
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0178->0039.
|
|
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
|
|
AOT_REGCACHE_SYNC_OUT();
|
|
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0178_entry, 641u, 0x08ACDE64u, 0x088A1AF4u)) {
|
|
#if defined(__clang__)
|
|
[[clang::musttail]] return recomp_unit_0039_entry(rt, ctx, 377u, aot_mem);
|
|
#else
|
|
recomp_unit_0039_entry(rt, ctx, 377u, aot_mem); return;
|
|
#endif
|
|
}
|
|
return;
|
|
#else
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0039_entry, 39u, 377u, 0x088A1AF4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACDE64u) goto L_08ACDE64;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
#endif
|
|
L_08ACDE64:
|
|
{ const bool branch_taken = 0u == 0u;
|
|
if (branch_taken) {
|
|
goto L_08ACDA48;
|
|
}
|
|
goto L_08ACDE6C;
|
|
}
|
|
L_08ACDE6C:
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast<std::uint32_t>(2192)));
|
|
{ const bool branch_taken = aot_gpr_4 == 0u;
|
|
if (branch_taken) {
|
|
goto L_08ACDE84;
|
|
}
|
|
goto L_08ACDE78;
|
|
}
|
|
L_08ACDE78:
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast<std::uint32_t>(2192)));
|
|
aot_gpr_31 = (0x08ACDE84u);
|
|
aot_gpr_5 = (ctx.gpr[16] + static_cast<std::uint32_t>(2192));
|
|
if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A93004, 163u, 430u, 0x08A93004u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[8], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0163_entry, 163u, 430u, 0x08A93004u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACDE84u) goto L_08ACDE84;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
L_08ACDE84:
|
|
aot_gpr_4 = (ctx.gpr[16] | 0u);
|
|
aot_gpr_31 = (0x08ACDE90u);
|
|
aot_gpr_5 = (aot_gpr_17 | 0u);
|
|
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0178->0066.
|
|
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
|
|
AOT_REGCACHE_SYNC_OUT();
|
|
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0178_entry, 645u, 0x08ACDE90u, 0x0890FC94u)) {
|
|
#if defined(__clang__)
|
|
[[clang::musttail]] return recomp_unit_0066_entry(rt, ctx, 840u, aot_mem);
|
|
#else
|
|
recomp_unit_0066_entry(rt, ctx, 840u, aot_mem); return;
|
|
#endif
|
|
}
|
|
return;
|
|
#else
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 840u, 0x0890FC94u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACDE90u) goto L_08ACDE90;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
#endif
|
|
L_08ACDE90:
|
|
aot_fpr_12 = std::bit_cast<float>(0u);
|
|
aot_gpr_4 = (ctx.gpr[16] | 0u);
|
|
{ const std::uint32_t aot_run_words[3]{std::bit_cast<std::uint32_t>(aot_fpr_12), std::bit_cast<std::uint32_t>(aot_fpr_12), std::bit_cast<std::uint32_t>(aot_fpr_12)};
|
|
aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast<std::uint32_t>(0), aot_run_words); }
|
|
aot_gpr_31 = (0x08ACDEACu);
|
|
aot_gpr_5 = (aot_gpr_29 | 0u);
|
|
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0178->0067.
|
|
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
|
|
AOT_REGCACHE_SYNC_OUT();
|
|
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0178_entry, 646u, 0x08ACDEACu, 0x08910218u)) {
|
|
#if defined(__clang__)
|
|
[[clang::musttail]] return recomp_unit_0067_entry(rt, ctx, 34u, aot_mem);
|
|
#else
|
|
recomp_unit_0067_entry(rt, ctx, 34u, aot_mem); return;
|
|
#endif
|
|
}
|
|
return;
|
|
#else
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0067_entry, 67u, 34u, 0x08910218u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACDEACu) goto L_08ACDEAC;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
#endif
|
|
L_08ACDEAC:
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast<std::uint32_t>(2192)));
|
|
{ const bool branch_taken = aot_gpr_4 == 0u;
|
|
if (branch_taken) {
|
|
goto L_08ACDEC4;
|
|
}
|
|
goto L_08ACDEB8;
|
|
}
|
|
L_08ACDEB8:
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast<std::uint32_t>(2192)));
|
|
aot_gpr_31 = (0x08ACDEC4u);
|
|
aot_gpr_5 = (ctx.gpr[16] + static_cast<std::uint32_t>(2192));
|
|
if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A92F78, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0163_entry, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACDEC4u) goto L_08ACDEC4;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
L_08ACDEC4:
|
|
{ const bool branch_taken = 0u == 0u;
|
|
if (branch_taken) {
|
|
goto L_08ACDA48;
|
|
}
|
|
goto L_08ACDECC;
|
|
}
|
|
L_08ACDECC:
|
|
aot_gpr_4 = (ctx.gpr[16] | 0u);
|
|
aot_gpr_31 = (0x08ACDED8u);
|
|
aot_gpr_5 = (aot_gpr_17 | 0u);
|
|
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0178->0066.
|
|
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
|
|
AOT_REGCACHE_SYNC_OUT();
|
|
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0178_entry, 650u, 0x08ACDED8u, 0x0890FC94u)) {
|
|
#if defined(__clang__)
|
|
[[clang::musttail]] return recomp_unit_0066_entry(rt, ctx, 840u, aot_mem);
|
|
#else
|
|
recomp_unit_0066_entry(rt, ctx, 840u, aot_mem); return;
|
|
#endif
|
|
}
|
|
return;
|
|
#else
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 840u, 0x0890FC94u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACDED8u) goto L_08ACDED8;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
#endif
|
|
L_08ACDED8:
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast<std::uint32_t>(2192)));
|
|
{ const bool branch_taken = aot_gpr_4 == 0u;
|
|
if (branch_taken) {
|
|
goto L_08ACDEF0;
|
|
}
|
|
goto L_08ACDEE4;
|
|
}
|
|
L_08ACDEE4:
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast<std::uint32_t>(2192)));
|
|
aot_gpr_31 = (0x08ACDEF0u);
|
|
aot_gpr_5 = (ctx.gpr[16] + static_cast<std::uint32_t>(2192));
|
|
if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A92F78, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0163_entry, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACDEF0u) goto L_08ACDEF0;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
L_08ACDEF0:
|
|
{ const bool branch_taken = 0u == 0u;
|
|
if (branch_taken) {
|
|
goto L_08ACDA48;
|
|
}
|
|
goto L_08ACDEF8;
|
|
}
|
|
L_08ACDEF8:
|
|
aot_gpr_4 = (ctx.gpr[16] | 0u);
|
|
aot_gpr_31 = (0x08ACDF04u);
|
|
aot_gpr_5 = (aot_gpr_17 | 0u);
|
|
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0178->0066.
|
|
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
|
|
AOT_REGCACHE_SYNC_OUT();
|
|
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0178_entry, 654u, 0x08ACDF04u, 0x0890FC94u)) {
|
|
#if defined(__clang__)
|
|
[[clang::musttail]] return recomp_unit_0066_entry(rt, ctx, 840u, aot_mem);
|
|
#else
|
|
recomp_unit_0066_entry(rt, ctx, 840u, aot_mem); return;
|
|
#endif
|
|
}
|
|
return;
|
|
#else
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0066_entry, 66u, 840u, 0x0890FC94u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACDF04u) goto L_08ACDF04;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
#endif
|
|
L_08ACDF04:
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast<std::uint32_t>(2192)));
|
|
{ const bool branch_taken = aot_gpr_4 == 0u;
|
|
if (branch_taken) {
|
|
goto L_08ACDF1C;
|
|
}
|
|
goto L_08ACDF10;
|
|
}
|
|
L_08ACDF10:
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast<std::uint32_t>(2192)));
|
|
aot_gpr_31 = (0x08ACDF1Cu);
|
|
aot_gpr_5 = (ctx.gpr[16] + static_cast<std::uint32_t>(2192));
|
|
if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08A92F78, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0163_entry, 163u, 419u, 0x08A92F78u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACDF1Cu) goto L_08ACDF1C;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
L_08ACDF1C:
|
|
aot_gpr_31 = (0x08ACDF24u);
|
|
aot_gpr_4 = (ctx.gpr[16] | 0u);
|
|
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0178->0065.
|
|
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
|
|
AOT_REGCACHE_SYNC_OUT();
|
|
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0178_entry, 657u, 0x08ACDF24u, 0x0890905Cu)) {
|
|
#if defined(__clang__)
|
|
[[clang::musttail]] return recomp_unit_0065_entry(rt, ctx, 282u, aot_mem);
|
|
#else
|
|
recomp_unit_0065_entry(rt, ctx, 282u, aot_mem); return;
|
|
#endif
|
|
}
|
|
return;
|
|
#else
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 282u, 0x0890905Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACDF24u) goto L_08ACDF24;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
#endif
|
|
L_08ACDF24:
|
|
aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast<std::uint32_t>(2192)));
|
|
aot_gpr_31 = (0x08ACDF30u);
|
|
aot_gpr_4 = (ctx.gpr[16] | 0u);
|
|
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0178->0065.
|
|
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
|
|
AOT_REGCACHE_SYNC_OUT();
|
|
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0178_entry, 658u, 0x08ACDF30u, 0x08909270u)) {
|
|
#if defined(__clang__)
|
|
[[clang::musttail]] return recomp_unit_0065_entry(rt, ctx, 319u, aot_mem);
|
|
#else
|
|
recomp_unit_0065_entry(rt, ctx, 319u, aot_mem); return;
|
|
#endif
|
|
}
|
|
return;
|
|
#else
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 319u, 0x08909270u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACDF30u) goto L_08ACDF30;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
#endif
|
|
L_08ACDF30:
|
|
{ const bool branch_taken = 0u == 0u;
|
|
if (branch_taken) {
|
|
goto L_08ACDA48;
|
|
}
|
|
goto L_08ACDF38;
|
|
}
|
|
L_08ACDF38:
|
|
{ const bool branch_taken = 0u == 0u;
|
|
if (branch_taken) {
|
|
goto L_08ACDA48;
|
|
}
|
|
goto L_08ACDF40;
|
|
}
|
|
L_08ACDF40:
|
|
{ std::uint32_t aot_run_words[4]{};
|
|
aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast<std::uint32_t>(16), aot_run_words);
|
|
ctx.gpr[16] = aot_run_words[0];
|
|
aot_gpr_17 = aot_run_words[1];
|
|
ctx.gpr[18] = aot_run_words[2];
|
|
aot_gpr_31 = aot_run_words[3];
|
|
}
|
|
jump_target = aot_gpr_31;
|
|
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(32));
|
|
// PSPRECOMP_V813_JR_FAST_EXIT: preserve the exact 256-transfer boundary; common JR path is shared.
|
|
if (++local_transfers < 256u) goto LOCAL_JR_DISPATCH;
|
|
// PSPRECOMP_V812_SHARED_SCHED_JUMP
|
|
goto LOCAL_SCHED_BOUNDARY;
|
|
L_08ACDF58:
|
|
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(-112));
|
|
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(92), ctx.gpr[18]);
|
|
ctx.gpr[18] = (ctx.gpr[6] | 0u);
|
|
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(88), aot_gpr_17);
|
|
ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast<std::uint32_t>(2228)));
|
|
aot_gpr_17 = (aot_gpr_4 | 0u);
|
|
aot_gpr_4 = (16544u << 16u);
|
|
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(80), std::bit_cast<std::uint32_t>(aot_fpr_20));
|
|
ctx.gpr[7] = (0u | 57u);
|
|
aot_fpr_20 = std::bit_cast<float>(aot_gpr_4);
|
|
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(84), ctx.gpr[16]);
|
|
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(96), aot_gpr_31);
|
|
{ const bool branch_taken = ctx.gpr[6] == ctx.gpr[7];
|
|
ctx.gpr[16] = (aot_gpr_5 | 0u);
|
|
if (branch_taken) {
|
|
goto L_08ACDFB4;
|
|
}
|
|
goto L_08ACDF90;
|
|
}
|
|
L_08ACDF90:
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast<std::uint32_t>(2228)));
|
|
aot_gpr_5 = (0u | 58u);
|
|
{ const bool branch_taken = aot_gpr_4 == aot_gpr_5;
|
|
if (branch_taken) {
|
|
goto L_08ACDFB4;
|
|
}
|
|
goto L_08ACDFA0;
|
|
}
|
|
L_08ACDFA0:
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast<std::uint32_t>(640)));
|
|
if (aot_gpr_4 == ctx.gpr[16]) {
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast<std::uint32_t>(640)));
|
|
goto L_08ACDFBC;
|
|
}
|
|
goto L_08ACDFAC;
|
|
L_08ACDFAC:
|
|
{ const bool branch_taken = 0u == 0u;
|
|
if (branch_taken) {
|
|
goto L_08ACDFC4;
|
|
}
|
|
goto L_08ACDFB4;
|
|
}
|
|
L_08ACDFB4:
|
|
{ const bool branch_taken = 0u == 0u;
|
|
if (branch_taken) {
|
|
goto L_08ACE3FC;
|
|
}
|
|
goto L_08ACDFBC;
|
|
}
|
|
L_08ACDFBC:
|
|
{ const bool branch_taken = aot_gpr_4 != 0u;
|
|
if (branch_taken) {
|
|
goto L_08ACDFD8;
|
|
}
|
|
goto L_08ACDFC4;
|
|
}
|
|
L_08ACDFC4:
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast<std::uint32_t>(2196)));
|
|
{ const bool branch_taken = aot_gpr_4 == ctx.gpr[16];
|
|
if (branch_taken) {
|
|
goto L_08ACDFE0;
|
|
}
|
|
goto L_08ACDFD0;
|
|
}
|
|
L_08ACDFD0:
|
|
{ const bool branch_taken = 0u == 0u;
|
|
if (branch_taken) {
|
|
goto L_08ACE070;
|
|
}
|
|
goto L_08ACDFD8;
|
|
}
|
|
L_08ACDFD8:
|
|
{ const bool branch_taken = 0u == 0u;
|
|
if (branch_taken) {
|
|
goto L_08ACE3FC;
|
|
}
|
|
goto L_08ACDFE0;
|
|
}
|
|
L_08ACDFE0:
|
|
aot_gpr_4 = (ctx.gpr[16] + static_cast<std::uint32_t>(-4));
|
|
aot_gpr_4 = (aot_gpr_4 < static_cast<std::uint32_t>(46) ? 1u : 0u);
|
|
{ const bool branch_taken = aot_gpr_4 == 0u;
|
|
aot_gpr_4 = (ctx.gpr[16] + static_cast<std::uint32_t>(-4));
|
|
if (branch_taken) {
|
|
goto L_08ACE070;
|
|
}
|
|
goto L_08ACDFF0;
|
|
}
|
|
L_08ACDFF0:
|
|
aot_gpr_4 = (aot_gpr_4 << 2u);
|
|
ctx.gpr[1] = (2232u << 16u);
|
|
ctx.gpr[1] = (ctx.gpr[1] + aot_gpr_4);
|
|
ctx.gpr[1] = (aot_mem.aot_direct_load32(ctx.gpr[1] + static_cast<std::uint32_t>(15432)));
|
|
jump_target = ctx.gpr[1];
|
|
// PSPRECOMP_V813_JR_FAST_EXIT: preserve the exact 256-transfer boundary; common JR path is shared.
|
|
if (++local_transfers < 256u) goto LOCAL_JR_DISPATCH;
|
|
// PSPRECOMP_V812_SHARED_SCHED_JUMP
|
|
goto LOCAL_SCHED_BOUNDARY;
|
|
L_08ACE008:
|
|
aot_gpr_4 = (aot_gpr_17 + static_cast<std::uint32_t>(656));
|
|
aot_gpr_31 = (0x08ACE014u);
|
|
aot_gpr_5 = (ctx.gpr[18] | 0u);
|
|
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0178->0163.
|
|
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
|
|
AOT_REGCACHE_SYNC_OUT();
|
|
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0178_entry, 673u, 0x08ACE014u, 0x08A93144u)) {
|
|
#if defined(__clang__)
|
|
[[clang::musttail]] return recomp_unit_0163_entry(rt, ctx, 456u, aot_mem);
|
|
#else
|
|
recomp_unit_0163_entry(rt, ctx, 456u, aot_mem); return;
|
|
#endif
|
|
}
|
|
return;
|
|
#else
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0163_entry, 163u, 456u, 0x08A93144u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACE014u) goto L_08ACE014;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
#endif
|
|
L_08ACE014:
|
|
{ const bool branch_taken = aot_gpr_2 != 0u;
|
|
if (branch_taken) {
|
|
goto L_08ACE034;
|
|
}
|
|
goto L_08ACE01C;
|
|
}
|
|
L_08ACE01C:
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast<std::uint32_t>(460)));
|
|
aot_gpr_4 = (aot_gpr_4 & 32u);
|
|
{ const bool branch_taken = aot_gpr_4 != 0u;
|
|
if (branch_taken) {
|
|
goto L_08ACE03C;
|
|
}
|
|
goto L_08ACE02C;
|
|
}
|
|
L_08ACE02C:
|
|
{ const bool branch_taken = 0u == 0u;
|
|
if (branch_taken) {
|
|
goto L_08ACE044;
|
|
}
|
|
goto L_08ACE034;
|
|
}
|
|
L_08ACE034:
|
|
{ const bool branch_taken = 0u == 0u;
|
|
if (branch_taken) {
|
|
goto L_08ACE3FC;
|
|
}
|
|
goto L_08ACE03C;
|
|
}
|
|
L_08ACE03C:
|
|
aot_gpr_31 = (0x08ACE044u);
|
|
aot_gpr_4 = (aot_gpr_17 | 0u);
|
|
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0178->0065.
|
|
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
|
|
AOT_REGCACHE_SYNC_OUT();
|
|
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0178_entry, 678u, 0x08ACE044u, 0x0890B488u)) {
|
|
#if defined(__clang__)
|
|
[[clang::musttail]] return recomp_unit_0065_entry(rt, ctx, 829u, aot_mem);
|
|
#else
|
|
recomp_unit_0065_entry(rt, ctx, 829u, aot_mem); return;
|
|
#endif
|
|
}
|
|
return;
|
|
#else
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 829u, 0x0890B488u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACE044u) goto L_08ACE044;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
#endif
|
|
L_08ACE044:
|
|
{ const bool branch_taken = 0u == 0u;
|
|
if (branch_taken) {
|
|
goto L_08ACE070;
|
|
}
|
|
goto L_08ACE04C;
|
|
}
|
|
L_08ACE04C:
|
|
aot_gpr_4 = (aot_gpr_17 + static_cast<std::uint32_t>(2096));
|
|
aot_gpr_31 = (0x08ACE058u);
|
|
aot_gpr_5 = (ctx.gpr[18] | 0u);
|
|
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0178->0163.
|
|
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
|
|
AOT_REGCACHE_SYNC_OUT();
|
|
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0178_entry, 680u, 0x08ACE058u, 0x08A93144u)) {
|
|
#if defined(__clang__)
|
|
[[clang::musttail]] return recomp_unit_0163_entry(rt, ctx, 456u, aot_mem);
|
|
#else
|
|
recomp_unit_0163_entry(rt, ctx, 456u, aot_mem); return;
|
|
#endif
|
|
}
|
|
return;
|
|
#else
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0163_entry, 163u, 456u, 0x08A93144u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACE058u) goto L_08ACE058;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
#endif
|
|
L_08ACE058:
|
|
{ const bool branch_taken = aot_gpr_2 != 0u;
|
|
if (branch_taken) {
|
|
goto L_08ACE068;
|
|
}
|
|
goto L_08ACE060;
|
|
}
|
|
L_08ACE060:
|
|
{ const bool branch_taken = 0u == 0u;
|
|
if (branch_taken) {
|
|
goto L_08ACE070;
|
|
}
|
|
goto L_08ACE068;
|
|
}
|
|
L_08ACE068:
|
|
{ const bool branch_taken = 0u == 0u;
|
|
if (branch_taken) {
|
|
goto L_08ACE3FC;
|
|
}
|
|
goto L_08ACE070;
|
|
}
|
|
L_08ACE070:
|
|
aot_gpr_31 = (0x08ACE078u);
|
|
aot_gpr_4 = (aot_gpr_17 | 0u);
|
|
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0178->0055.
|
|
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
|
|
AOT_REGCACHE_SYNC_OUT();
|
|
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0178_entry, 684u, 0x08ACE078u, 0x088E34ECu)) {
|
|
#if defined(__clang__)
|
|
[[clang::musttail]] return recomp_unit_0055_entry(rt, ctx, 438u, aot_mem);
|
|
#else
|
|
recomp_unit_0055_entry(rt, ctx, 438u, aot_mem); return;
|
|
#endif
|
|
}
|
|
return;
|
|
#else
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0055_entry, 55u, 438u, 0x088E34ECu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACE078u) goto L_08ACE078;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
#endif
|
|
L_08ACE078:
|
|
aot_gpr_4 = (aot_gpr_17 | 0u);
|
|
aot_gpr_31 = (0x08ACE084u);
|
|
aot_gpr_5 = (0u | 0u);
|
|
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0178->0176.
|
|
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
|
|
AOT_REGCACHE_SYNC_OUT();
|
|
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0178_entry, 685u, 0x08ACE084u, 0x08AC7F30u)) {
|
|
#if defined(__clang__)
|
|
[[clang::musttail]] return recomp_unit_0176_entry(rt, ctx, 1084u, aot_mem);
|
|
#else
|
|
recomp_unit_0176_entry(rt, ctx, 1084u, aot_mem); return;
|
|
#endif
|
|
}
|
|
return;
|
|
#else
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 1084u, 0x08AC7F30u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACE084u) goto L_08ACE084;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
#endif
|
|
L_08ACE084:
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast<std::uint32_t>(460)));
|
|
aot_gpr_5 = (0u + static_cast<std::uint32_t>(-129));
|
|
aot_gpr_4 = (aot_gpr_4 & aot_gpr_5);
|
|
aot_mem.aot_direct_store32(aot_gpr_17 + static_cast<std::uint32_t>(460), aot_gpr_4);
|
|
aot_gpr_4 = (ctx.gpr[16] + static_cast<std::uint32_t>(-4));
|
|
aot_gpr_4 = (aot_gpr_4 < static_cast<std::uint32_t>(50) ? 1u : 0u);
|
|
{ const bool branch_taken = aot_gpr_4 == 0u;
|
|
aot_gpr_4 = (ctx.gpr[16] + static_cast<std::uint32_t>(-4));
|
|
if (branch_taken) {
|
|
goto L_08ACE3C8;
|
|
}
|
|
goto L_08ACE0A4;
|
|
}
|
|
L_08ACE0A4:
|
|
aot_gpr_4 = (aot_gpr_4 << 2u);
|
|
ctx.gpr[1] = (2232u << 16u);
|
|
ctx.gpr[1] = (ctx.gpr[1] + aot_gpr_4);
|
|
ctx.gpr[1] = (aot_mem.aot_direct_load32(ctx.gpr[1] + static_cast<std::uint32_t>(15616)));
|
|
jump_target = ctx.gpr[1];
|
|
// PSPRECOMP_V813_JR_FAST_EXIT: preserve the exact 256-transfer boundary; common JR path is shared.
|
|
if (++local_transfers < 256u) goto LOCAL_JR_DISPATCH;
|
|
// PSPRECOMP_V812_SHARED_SCHED_JUMP
|
|
goto LOCAL_SCHED_BOUNDARY;
|
|
L_08ACE0BC:
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast<std::uint32_t>(456)));
|
|
aot_gpr_4 = (aot_gpr_4 | 16384u);
|
|
aot_mem.aot_direct_store32(aot_gpr_17 + static_cast<std::uint32_t>(456), aot_gpr_4);
|
|
aot_gpr_31 = (0x08ACE0D0u);
|
|
aot_gpr_4 = (aot_gpr_17 | 0u);
|
|
if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890FF64, 66u, 887u, 0x0890FF64u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 887u, 0x0890FF64u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACE0D0u) goto L_08ACE0D0;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
L_08ACE0D0:
|
|
{ const std::uint32_t vfpu_address = ctx.gpr[18] + static_cast<std::uint32_t>(0);
|
|
std::uint32_t vfpu_words[4]{};
|
|
aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words);
|
|
float vfpu_value[4]{
|
|
std::bit_cast<float>(vfpu_words[0]),
|
|
std::bit_cast<float>(vfpu_words[1]),
|
|
std::bit_cast<float>(vfpu_words[2]),
|
|
std::bit_cast<float>(vfpu_words[3])};
|
|
ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); }
|
|
ctx.gpr[18] = (aot_gpr_17 + static_cast<std::uint32_t>(656));
|
|
{ float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value);
|
|
const std::uint32_t vfpu_address = ctx.gpr[18] + static_cast<std::uint32_t>(0);
|
|
const std::uint32_t vfpu_words[4]{std::bit_cast<std::uint32_t>(vfpu_value[0]), std::bit_cast<std::uint32_t>(vfpu_value[1]), std::bit_cast<std::uint32_t>(vfpu_value[2]), std::bit_cast<std::uint32_t>(vfpu_value[3])};
|
|
aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); }
|
|
aot_gpr_4 = (aot_gpr_17 | 0u);
|
|
aot_gpr_31 = (0x08ACE0E8u);
|
|
aot_gpr_5 = (ctx.gpr[18] | 0u);
|
|
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0178->0067.
|
|
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
|
|
AOT_REGCACHE_SYNC_OUT();
|
|
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0178_entry, 689u, 0x08ACE0E8u, 0x08910218u)) {
|
|
#if defined(__clang__)
|
|
[[clang::musttail]] return recomp_unit_0067_entry(rt, ctx, 34u, aot_mem);
|
|
#else
|
|
recomp_unit_0067_entry(rt, ctx, 34u, aot_mem); return;
|
|
#endif
|
|
}
|
|
return;
|
|
#else
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0067_entry, 67u, 34u, 0x08910218u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACE0E8u) goto L_08ACE0E8;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
#endif
|
|
L_08ACE0E8:
|
|
aot_gpr_4 = (16128u << 16u);
|
|
aot_fpr_12 = std::bit_cast<float>(aot_gpr_4);
|
|
aot_gpr_31 = (0x08ACE0F8u);
|
|
aot_gpr_4 = (aot_gpr_17 | 0u);
|
|
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0178->0067.
|
|
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
|
|
AOT_REGCACHE_SYNC_OUT();
|
|
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0178_entry, 690u, 0x08ACE0F8u, 0x089110BCu)) {
|
|
#if defined(__clang__)
|
|
[[clang::musttail]] return recomp_unit_0067_entry(rt, ctx, 298u, aot_mem);
|
|
#else
|
|
recomp_unit_0067_entry(rt, ctx, 298u, aot_mem); return;
|
|
#endif
|
|
}
|
|
return;
|
|
#else
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0067_entry, 67u, 298u, 0x089110BCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACE0F8u) goto L_08ACE0F8;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
#endif
|
|
L_08ACE0F8:
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast<std::uint32_t>(456)));
|
|
aot_gpr_5 = (16384u << 16u);
|
|
aot_gpr_4 = (aot_gpr_4 | aot_gpr_5);
|
|
aot_mem.aot_direct_store32(aot_gpr_17 + static_cast<std::uint32_t>(456), aot_gpr_4);
|
|
{ const std::uint32_t vfpu_address = ctx.gpr[18] + static_cast<std::uint32_t>(0);
|
|
std::uint32_t vfpu_words[4]{};
|
|
aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words);
|
|
float vfpu_value[4]{
|
|
std::bit_cast<float>(vfpu_words[0]),
|
|
std::bit_cast<float>(vfpu_words[1]),
|
|
std::bit_cast<float>(vfpu_words[2]),
|
|
std::bit_cast<float>(vfpu_words[3])};
|
|
ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); }
|
|
aot_gpr_4 = (aot_gpr_17 + static_cast<std::uint32_t>(48));
|
|
{ const std::uint32_t vfpu_address = aot_gpr_4 + static_cast<std::uint32_t>(0);
|
|
std::uint32_t vfpu_words[4]{};
|
|
aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words);
|
|
float vfpu_value[4]{
|
|
std::bit_cast<float>(vfpu_words[0]),
|
|
std::bit_cast<float>(vfpu_words[1]),
|
|
std::bit_cast<float>(vfpu_words[2]),
|
|
std::bit_cast<float>(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<std::uint32_t>(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<std::uint32_t>(0);
|
|
const std::uint32_t vfpu_words[4]{std::bit_cast<std::uint32_t>(vfpu_value[0]), std::bit_cast<std::uint32_t>(vfpu_value[1]), std::bit_cast<std::uint32_t>(vfpu_value[2]), std::bit_cast<std::uint32_t>(vfpu_value[3])};
|
|
aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); }
|
|
{ const std::uint32_t vfpu_address = aot_gpr_4 + static_cast<std::uint32_t>(0);
|
|
std::uint32_t vfpu_words[4]{};
|
|
aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words);
|
|
float vfpu_value[4]{
|
|
std::bit_cast<float>(vfpu_words[0]),
|
|
std::bit_cast<float>(vfpu_words[1]),
|
|
std::bit_cast<float>(vfpu_words[2]),
|
|
std::bit_cast<float>(vfpu_words[3])};
|
|
ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); }
|
|
aot_gpr_4 = (aot_gpr_29 + static_cast<std::uint32_t>(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<std::uint32_t>(0);
|
|
const std::uint32_t vfpu_words[4]{std::bit_cast<std::uint32_t>(vfpu_value[0]), std::bit_cast<std::uint32_t>(vfpu_value[1]), std::bit_cast<std::uint32_t>(vfpu_value[2]), std::bit_cast<std::uint32_t>(vfpu_value[3])};
|
|
aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); }
|
|
aot_fpr_12 = std::bit_cast<float>(0u);
|
|
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(24), std::bit_cast<std::uint32_t>(aot_fpr_12));
|
|
{ const std::uint32_t vfpu_address = aot_gpr_4 + static_cast<std::uint32_t>(0);
|
|
std::uint32_t vfpu_words[4]{};
|
|
aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words);
|
|
float vfpu_value[4]{
|
|
std::bit_cast<float>(vfpu_words[0]),
|
|
std::bit_cast<float>(vfpu_words[1]),
|
|
std::bit_cast<float>(vfpu_words[2]),
|
|
std::bit_cast<float>(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<float>(aot_gpr_4);
|
|
aot_fpr_13 = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast<std::uint32_t>(2060)));
|
|
{ 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<float>(0x7FC00000u); else aot_fpr_13 = fs * ft; }
|
|
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_08ACE164;
|
|
}
|
|
goto L_08ACE15C;
|
|
}
|
|
L_08ACE15C:
|
|
{ const bool branch_taken = 0u == 0u;
|
|
if (branch_taken) {
|
|
goto L_08ACE3C8;
|
|
}
|
|
goto L_08ACE164;
|
|
}
|
|
L_08ACE164:
|
|
{ const bool branch_taken = 0u == 0u;
|
|
if (branch_taken) {
|
|
goto L_08ACE3FC;
|
|
}
|
|
goto L_08ACE16C;
|
|
}
|
|
L_08ACE16C:
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast<std::uint32_t>(456)));
|
|
aot_gpr_5 = (0u + static_cast<std::uint32_t>(-16385));
|
|
aot_gpr_4 = (aot_gpr_4 & aot_gpr_5);
|
|
aot_mem.aot_direct_store32(aot_gpr_17 + static_cast<std::uint32_t>(456), aot_gpr_4);
|
|
aot_gpr_31 = (0x08ACE184u);
|
|
aot_gpr_4 = (aot_gpr_17 | 0u);
|
|
if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890FF64, 66u, 887u, 0x0890FF64u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 887u, 0x0890FF64u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACE184u) goto L_08ACE184;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
L_08ACE184:
|
|
{ const std::uint32_t vfpu_address = ctx.gpr[18] + static_cast<std::uint32_t>(0);
|
|
std::uint32_t vfpu_words[4]{};
|
|
aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words);
|
|
float vfpu_value[4]{
|
|
std::bit_cast<float>(vfpu_words[0]),
|
|
std::bit_cast<float>(vfpu_words[1]),
|
|
std::bit_cast<float>(vfpu_words[2]),
|
|
std::bit_cast<float>(vfpu_words[3])};
|
|
ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); }
|
|
aot_gpr_5 = (aot_gpr_17 + static_cast<std::uint32_t>(656));
|
|
{ float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value);
|
|
const std::uint32_t vfpu_address = aot_gpr_5 + static_cast<std::uint32_t>(0);
|
|
const std::uint32_t vfpu_words[4]{std::bit_cast<std::uint32_t>(vfpu_value[0]), std::bit_cast<std::uint32_t>(vfpu_value[1]), std::bit_cast<std::uint32_t>(vfpu_value[2]), std::bit_cast<std::uint32_t>(vfpu_value[3])};
|
|
aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); }
|
|
aot_gpr_31 = (0x08ACE198u);
|
|
aot_gpr_4 = (aot_gpr_17 | 0u);
|
|
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0178->0067.
|
|
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
|
|
AOT_REGCACHE_SYNC_OUT();
|
|
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0178_entry, 695u, 0x08ACE198u, 0x08910218u)) {
|
|
#if defined(__clang__)
|
|
[[clang::musttail]] return recomp_unit_0067_entry(rt, ctx, 34u, aot_mem);
|
|
#else
|
|
recomp_unit_0067_entry(rt, ctx, 34u, aot_mem); return;
|
|
#endif
|
|
}
|
|
return;
|
|
#else
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0067_entry, 67u, 34u, 0x08910218u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACE198u) goto L_08ACE198;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
#endif
|
|
L_08ACE198:
|
|
aot_gpr_4 = (16128u << 16u);
|
|
aot_fpr_12 = std::bit_cast<float>(aot_gpr_4);
|
|
aot_gpr_31 = (0x08ACE1A8u);
|
|
aot_gpr_4 = (aot_gpr_17 | 0u);
|
|
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0178->0067.
|
|
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
|
|
AOT_REGCACHE_SYNC_OUT();
|
|
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0178_entry, 696u, 0x08ACE1A8u, 0x089110BCu)) {
|
|
#if defined(__clang__)
|
|
[[clang::musttail]] return recomp_unit_0067_entry(rt, ctx, 298u, aot_mem);
|
|
#else
|
|
recomp_unit_0067_entry(rt, ctx, 298u, aot_mem); return;
|
|
#endif
|
|
}
|
|
return;
|
|
#else
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0067_entry, 67u, 298u, 0x089110BCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACE1A8u) goto L_08ACE1A8;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
#endif
|
|
L_08ACE1A8:
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast<std::uint32_t>(460)));
|
|
aot_gpr_4 = (aot_gpr_4 & 32u);
|
|
{ const bool branch_taken = aot_gpr_4 == 0u;
|
|
if (branch_taken) {
|
|
goto L_08ACE1C0;
|
|
}
|
|
goto L_08ACE1B8;
|
|
}
|
|
L_08ACE1B8:
|
|
aot_gpr_31 = (0x08ACE1C0u);
|
|
aot_gpr_4 = (aot_gpr_17 | 0u);
|
|
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0178->0065.
|
|
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
|
|
AOT_REGCACHE_SYNC_OUT();
|
|
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0178_entry, 698u, 0x08ACE1C0u, 0x0890B488u)) {
|
|
#if defined(__clang__)
|
|
[[clang::musttail]] return recomp_unit_0065_entry(rt, ctx, 829u, aot_mem);
|
|
#else
|
|
recomp_unit_0065_entry(rt, ctx, 829u, aot_mem); return;
|
|
#endif
|
|
}
|
|
return;
|
|
#else
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 829u, 0x0890B488u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACE1C0u) goto L_08ACE1C0;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
#endif
|
|
L_08ACE1C0:
|
|
aot_gpr_4 = (0u | 39u);
|
|
{ const bool branch_taken = ctx.gpr[16] != aot_gpr_4;
|
|
if (branch_taken) {
|
|
goto L_08ACE1E8;
|
|
}
|
|
goto L_08ACE1CC;
|
|
}
|
|
L_08ACE1CC:
|
|
aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast<std::uint32_t>(1340)));
|
|
aot_gpr_4 = (aot_gpr_17 | 0u);
|
|
aot_gpr_31 = (0x08ACE1DCu);
|
|
aot_fpr_12 = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast<std::uint32_t>(44)));
|
|
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0178->0067.
|
|
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
|
|
AOT_REGCACHE_SYNC_OUT();
|
|
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0178_entry, 700u, 0x08ACE1DCu, 0x089110BCu)) {
|
|
#if defined(__clang__)
|
|
[[clang::musttail]] return recomp_unit_0067_entry(rt, ctx, 298u, aot_mem);
|
|
#else
|
|
recomp_unit_0067_entry(rt, ctx, 298u, aot_mem); return;
|
|
#endif
|
|
}
|
|
return;
|
|
#else
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0067_entry, 67u, 298u, 0x089110BCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACE1DCu) goto L_08ACE1DC;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
#endif
|
|
L_08ACE1DC:
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast<std::uint32_t>(1340)));
|
|
aot_fpr_12 = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast<std::uint32_t>(48)));
|
|
aot_mem.aot_direct_store32(aot_gpr_17 + static_cast<std::uint32_t>(1332), std::bit_cast<std::uint32_t>(aot_fpr_12));
|
|
goto L_08ACE1E8;
|
|
L_08ACE1E8:
|
|
aot_gpr_4 = (0u | 40u);
|
|
{ const bool branch_taken = ctx.gpr[16] != aot_gpr_4;
|
|
if (branch_taken) {
|
|
goto L_08ACE210;
|
|
}
|
|
goto L_08ACE1F4;
|
|
}
|
|
L_08ACE1F4:
|
|
aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast<std::uint32_t>(1340)));
|
|
aot_gpr_4 = (aot_gpr_17 | 0u);
|
|
aot_gpr_31 = (0x08ACE204u);
|
|
aot_fpr_12 = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast<std::uint32_t>(44)));
|
|
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0178->0067.
|
|
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
|
|
AOT_REGCACHE_SYNC_OUT();
|
|
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0178_entry, 703u, 0x08ACE204u, 0x089110BCu)) {
|
|
#if defined(__clang__)
|
|
[[clang::musttail]] return recomp_unit_0067_entry(rt, ctx, 298u, aot_mem);
|
|
#else
|
|
recomp_unit_0067_entry(rt, ctx, 298u, aot_mem); return;
|
|
#endif
|
|
}
|
|
return;
|
|
#else
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0067_entry, 67u, 298u, 0x089110BCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACE204u) goto L_08ACE204;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
#endif
|
|
L_08ACE204:
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast<std::uint32_t>(1340)));
|
|
aot_fpr_12 = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast<std::uint32_t>(48)));
|
|
aot_mem.aot_direct_store32(aot_gpr_17 + static_cast<std::uint32_t>(1332), std::bit_cast<std::uint32_t>(aot_fpr_12));
|
|
goto L_08ACE210;
|
|
L_08ACE210:
|
|
aot_gpr_4 = (0u | 43u);
|
|
{ const bool branch_taken = ctx.gpr[16] != aot_gpr_4;
|
|
if (branch_taken) {
|
|
goto L_08ACE238;
|
|
}
|
|
goto L_08ACE21C;
|
|
}
|
|
L_08ACE21C:
|
|
aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast<std::uint32_t>(1340)));
|
|
aot_gpr_4 = (aot_gpr_17 | 0u);
|
|
aot_gpr_31 = (0x08ACE22Cu);
|
|
aot_fpr_12 = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast<std::uint32_t>(44)));
|
|
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0178->0067.
|
|
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
|
|
AOT_REGCACHE_SYNC_OUT();
|
|
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0178_entry, 706u, 0x08ACE22Cu, 0x089110BCu)) {
|
|
#if defined(__clang__)
|
|
[[clang::musttail]] return recomp_unit_0067_entry(rt, ctx, 298u, aot_mem);
|
|
#else
|
|
recomp_unit_0067_entry(rt, ctx, 298u, aot_mem); return;
|
|
#endif
|
|
}
|
|
return;
|
|
#else
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0067_entry, 67u, 298u, 0x089110BCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACE22Cu) goto L_08ACE22C;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
#endif
|
|
L_08ACE22C:
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast<std::uint32_t>(1340)));
|
|
aot_fpr_12 = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast<std::uint32_t>(48)));
|
|
aot_mem.aot_direct_store32(aot_gpr_17 + static_cast<std::uint32_t>(1332), std::bit_cast<std::uint32_t>(aot_fpr_12));
|
|
goto L_08ACE238;
|
|
L_08ACE238:
|
|
aot_gpr_4 = (0u | 44u);
|
|
{ const bool branch_taken = ctx.gpr[16] != aot_gpr_4;
|
|
if (branch_taken) {
|
|
goto L_08ACE260;
|
|
}
|
|
goto L_08ACE244;
|
|
}
|
|
L_08ACE244:
|
|
aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast<std::uint32_t>(1340)));
|
|
aot_gpr_4 = (aot_gpr_17 | 0u);
|
|
aot_gpr_31 = (0x08ACE254u);
|
|
aot_fpr_12 = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast<std::uint32_t>(44)));
|
|
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0178->0067.
|
|
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
|
|
AOT_REGCACHE_SYNC_OUT();
|
|
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0178_entry, 709u, 0x08ACE254u, 0x089110BCu)) {
|
|
#if defined(__clang__)
|
|
[[clang::musttail]] return recomp_unit_0067_entry(rt, ctx, 298u, aot_mem);
|
|
#else
|
|
recomp_unit_0067_entry(rt, ctx, 298u, aot_mem); return;
|
|
#endif
|
|
}
|
|
return;
|
|
#else
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0067_entry, 67u, 298u, 0x089110BCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACE254u) goto L_08ACE254;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
#endif
|
|
L_08ACE254:
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast<std::uint32_t>(1340)));
|
|
aot_fpr_12 = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast<std::uint32_t>(48)));
|
|
aot_mem.aot_direct_store32(aot_gpr_17 + static_cast<std::uint32_t>(1332), std::bit_cast<std::uint32_t>(aot_fpr_12));
|
|
goto L_08ACE260;
|
|
L_08ACE260:
|
|
aot_gpr_4 = (0u | 45u);
|
|
{ const bool branch_taken = ctx.gpr[16] != aot_gpr_4;
|
|
if (branch_taken) {
|
|
goto L_08ACE294;
|
|
}
|
|
goto L_08ACE26C;
|
|
}
|
|
L_08ACE26C:
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast<std::uint32_t>(456)));
|
|
aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast<std::uint32_t>(1340)));
|
|
aot_gpr_4 = (aot_gpr_4 | 16384u);
|
|
aot_mem.aot_direct_store32(aot_gpr_17 + static_cast<std::uint32_t>(456), aot_gpr_4);
|
|
aot_fpr_12 = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast<std::uint32_t>(44)));
|
|
aot_gpr_31 = (0x08ACE288u);
|
|
aot_gpr_4 = (aot_gpr_17 | 0u);
|
|
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0178->0067.
|
|
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
|
|
AOT_REGCACHE_SYNC_OUT();
|
|
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0178_entry, 712u, 0x08ACE288u, 0x089110BCu)) {
|
|
#if defined(__clang__)
|
|
[[clang::musttail]] return recomp_unit_0067_entry(rt, ctx, 298u, aot_mem);
|
|
#else
|
|
recomp_unit_0067_entry(rt, ctx, 298u, aot_mem); return;
|
|
#endif
|
|
}
|
|
return;
|
|
#else
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0067_entry, 67u, 298u, 0x089110BCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACE288u) goto L_08ACE288;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
#endif
|
|
L_08ACE288:
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast<std::uint32_t>(1340)));
|
|
aot_fpr_12 = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast<std::uint32_t>(48)));
|
|
aot_mem.aot_direct_store32(aot_gpr_17 + static_cast<std::uint32_t>(1332), std::bit_cast<std::uint32_t>(aot_fpr_12));
|
|
goto L_08ACE294;
|
|
L_08ACE294:
|
|
aot_gpr_4 = (0u | 53u);
|
|
{ const bool branch_taken = ctx.gpr[16] != aot_gpr_4;
|
|
if (branch_taken) {
|
|
goto L_08ACE2C8;
|
|
}
|
|
goto L_08ACE2A0;
|
|
}
|
|
L_08ACE2A0:
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast<std::uint32_t>(456)));
|
|
aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast<std::uint32_t>(1340)));
|
|
aot_gpr_4 = (aot_gpr_4 | 16384u);
|
|
aot_mem.aot_direct_store32(aot_gpr_17 + static_cast<std::uint32_t>(456), aot_gpr_4);
|
|
aot_fpr_12 = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast<std::uint32_t>(44)));
|
|
aot_gpr_31 = (0x08ACE2BCu);
|
|
aot_gpr_4 = (aot_gpr_17 | 0u);
|
|
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0178->0067.
|
|
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
|
|
AOT_REGCACHE_SYNC_OUT();
|
|
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0178_entry, 715u, 0x08ACE2BCu, 0x089110BCu)) {
|
|
#if defined(__clang__)
|
|
[[clang::musttail]] return recomp_unit_0067_entry(rt, ctx, 298u, aot_mem);
|
|
#else
|
|
recomp_unit_0067_entry(rt, ctx, 298u, aot_mem); return;
|
|
#endif
|
|
}
|
|
return;
|
|
#else
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0067_entry, 67u, 298u, 0x089110BCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACE2BCu) goto L_08ACE2BC;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
#endif
|
|
L_08ACE2BC:
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast<std::uint32_t>(1340)));
|
|
aot_fpr_12 = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast<std::uint32_t>(48)));
|
|
aot_mem.aot_direct_store32(aot_gpr_17 + static_cast<std::uint32_t>(1332), std::bit_cast<std::uint32_t>(aot_fpr_12));
|
|
goto L_08ACE2C8;
|
|
L_08ACE2C8:
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast<std::uint32_t>(456)));
|
|
aot_gpr_5 = (49152u << 16u);
|
|
aot_gpr_5 = (aot_gpr_5 + static_cast<std::uint32_t>(-1));
|
|
aot_gpr_4 = (aot_gpr_4 & aot_gpr_5);
|
|
aot_mem.aot_direct_store32(aot_gpr_17 + static_cast<std::uint32_t>(456), aot_gpr_4);
|
|
aot_gpr_4 = (aot_gpr_17 + static_cast<std::uint32_t>(656));
|
|
{ const std::uint32_t vfpu_address = aot_gpr_4 + static_cast<std::uint32_t>(0);
|
|
std::uint32_t vfpu_words[4]{};
|
|
aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words);
|
|
float vfpu_value[4]{
|
|
std::bit_cast<float>(vfpu_words[0]),
|
|
std::bit_cast<float>(vfpu_words[1]),
|
|
std::bit_cast<float>(vfpu_words[2]),
|
|
std::bit_cast<float>(vfpu_words[3])};
|
|
ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); }
|
|
aot_gpr_4 = (aot_gpr_17 + static_cast<std::uint32_t>(48));
|
|
{ const std::uint32_t vfpu_address = aot_gpr_4 + static_cast<std::uint32_t>(0);
|
|
std::uint32_t vfpu_words[4]{};
|
|
aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words);
|
|
float vfpu_value[4]{
|
|
std::bit_cast<float>(vfpu_words[0]),
|
|
std::bit_cast<float>(vfpu_words[1]),
|
|
std::bit_cast<float>(vfpu_words[2]),
|
|
std::bit_cast<float>(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<std::uint32_t>(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<std::uint32_t>(0);
|
|
const std::uint32_t vfpu_words[4]{std::bit_cast<std::uint32_t>(vfpu_value[0]), std::bit_cast<std::uint32_t>(vfpu_value[1]), std::bit_cast<std::uint32_t>(vfpu_value[2]), std::bit_cast<std::uint32_t>(vfpu_value[3])};
|
|
aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); }
|
|
{ const std::uint32_t vfpu_address = aot_gpr_4 + static_cast<std::uint32_t>(0);
|
|
std::uint32_t vfpu_words[4]{};
|
|
aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words);
|
|
float vfpu_value[4]{
|
|
std::bit_cast<float>(vfpu_words[0]),
|
|
std::bit_cast<float>(vfpu_words[1]),
|
|
std::bit_cast<float>(vfpu_words[2]),
|
|
std::bit_cast<float>(vfpu_words[3])};
|
|
ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); }
|
|
aot_gpr_4 = (aot_gpr_29 + static_cast<std::uint32_t>(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<std::uint32_t>(0);
|
|
const std::uint32_t vfpu_words[4]{std::bit_cast<std::uint32_t>(vfpu_value[0]), std::bit_cast<std::uint32_t>(vfpu_value[1]), std::bit_cast<std::uint32_t>(vfpu_value[2]), std::bit_cast<std::uint32_t>(vfpu_value[3])};
|
|
aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); }
|
|
aot_fpr_12 = std::bit_cast<float>(0u);
|
|
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(24), std::bit_cast<std::uint32_t>(aot_fpr_12));
|
|
{ const std::uint32_t vfpu_address = aot_gpr_4 + static_cast<std::uint32_t>(0);
|
|
std::uint32_t vfpu_words[4]{};
|
|
aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words);
|
|
float vfpu_value[4]{
|
|
std::bit_cast<float>(vfpu_words[0]),
|
|
std::bit_cast<float>(vfpu_words[1]),
|
|
std::bit_cast<float>(vfpu_words[2]),
|
|
std::bit_cast<float>(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<float>(aot_gpr_4);
|
|
aot_fpr_13 = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast<std::uint32_t>(2060)));
|
|
{ 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<float>(0x7FC00000u); else aot_fpr_13 = fs * ft; }
|
|
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_08ACE38C;
|
|
}
|
|
goto L_08ACE334;
|
|
}
|
|
L_08ACE334:
|
|
aot_gpr_4 = (0u | 39u);
|
|
{ const bool branch_taken = ctx.gpr[16] == aot_gpr_4;
|
|
aot_gpr_4 = (0u | 40u);
|
|
if (branch_taken) {
|
|
goto L_08ACE368;
|
|
}
|
|
goto L_08ACE340;
|
|
}
|
|
L_08ACE340:
|
|
{ const bool branch_taken = ctx.gpr[16] == aot_gpr_4;
|
|
aot_gpr_4 = (0u | 43u);
|
|
if (branch_taken) {
|
|
goto L_08ACE368;
|
|
}
|
|
goto L_08ACE348;
|
|
}
|
|
L_08ACE348:
|
|
{ const bool branch_taken = ctx.gpr[16] == aot_gpr_4;
|
|
aot_gpr_4 = (0u | 44u);
|
|
if (branch_taken) {
|
|
goto L_08ACE368;
|
|
}
|
|
goto L_08ACE350;
|
|
}
|
|
L_08ACE350:
|
|
{ const bool branch_taken = ctx.gpr[16] == aot_gpr_4;
|
|
aot_gpr_4 = (0u | 45u);
|
|
if (branch_taken) {
|
|
goto L_08ACE368;
|
|
}
|
|
goto L_08ACE358;
|
|
}
|
|
L_08ACE358:
|
|
{ const bool branch_taken = ctx.gpr[16] == aot_gpr_4;
|
|
aot_gpr_4 = (0u | 53u);
|
|
if (branch_taken) {
|
|
goto L_08ACE368;
|
|
}
|
|
goto L_08ACE360;
|
|
}
|
|
L_08ACE360:
|
|
{ const bool branch_taken = ctx.gpr[16] != aot_gpr_4;
|
|
if (branch_taken) {
|
|
goto L_08ACE39C;
|
|
}
|
|
goto L_08ACE368;
|
|
}
|
|
L_08ACE368:
|
|
aot_fpr_12 = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast<std::uint32_t>(2256)));
|
|
aot_fpr_13 = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast<std::uint32_t>(672)));
|
|
aot_fpr_12 = aot_fpr_12 - aot_fpr_13;
|
|
aot_fpr_12 = std::bit_cast<float>(std::bit_cast<std::uint32_t>(aot_fpr_12) & 0x7FFFFFFFu);
|
|
ctx.fpr[14] = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast<std::uint32_t>(1332)));
|
|
ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < ctx.fpr[14])) ? 0x00800000u : 0u);
|
|
{ const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u);
|
|
if (branch_taken) {
|
|
goto L_08ACE394;
|
|
}
|
|
goto L_08ACE38C;
|
|
}
|
|
L_08ACE38C:
|
|
{ const bool branch_taken = 0u == 0u;
|
|
if (branch_taken) {
|
|
goto L_08ACE3C8;
|
|
}
|
|
goto L_08ACE394;
|
|
}
|
|
L_08ACE394:
|
|
{ const bool branch_taken = 0u == 0u;
|
|
if (branch_taken) {
|
|
goto L_08ACE3FC;
|
|
}
|
|
goto L_08ACE39C;
|
|
}
|
|
L_08ACE39C:
|
|
{ const bool branch_taken = 0u == 0u;
|
|
if (branch_taken) {
|
|
goto L_08ACE3FC;
|
|
}
|
|
goto L_08ACE3A4;
|
|
}
|
|
L_08ACE3A4:
|
|
{ const std::uint32_t vfpu_address = ctx.gpr[18] + static_cast<std::uint32_t>(0);
|
|
std::uint32_t vfpu_words[4]{};
|
|
aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words);
|
|
float vfpu_value[4]{
|
|
std::bit_cast<float>(vfpu_words[0]),
|
|
std::bit_cast<float>(vfpu_words[1]),
|
|
std::bit_cast<float>(vfpu_words[2]),
|
|
std::bit_cast<float>(vfpu_words[3])};
|
|
ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); }
|
|
aot_gpr_4 = (aot_gpr_17 + static_cast<std::uint32_t>(2096));
|
|
{ float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value);
|
|
const std::uint32_t vfpu_address = aot_gpr_4 + static_cast<std::uint32_t>(0);
|
|
const std::uint32_t vfpu_words[4]{std::bit_cast<std::uint32_t>(vfpu_value[0]), std::bit_cast<std::uint32_t>(vfpu_value[1]), std::bit_cast<std::uint32_t>(vfpu_value[2]), std::bit_cast<std::uint32_t>(vfpu_value[3])};
|
|
aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); }
|
|
aot_mem.aot_direct_store32(aot_gpr_17 + static_cast<std::uint32_t>(2112), std::bit_cast<std::uint32_t>(aot_fpr_20));
|
|
aot_gpr_4 = (aot_gpr_17 | 0u);
|
|
aot_gpr_31 = (0x08ACE3C0u);
|
|
aot_gpr_5 = (0u | 1u);
|
|
if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890BE50, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0065_entry, 65u, 982u, 0x0890BE50u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACE3C0u) goto L_08ACE3C0;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
L_08ACE3C0:
|
|
{ const bool branch_taken = 0u == 0u;
|
|
if (branch_taken) {
|
|
goto L_08ACE3C8;
|
|
}
|
|
goto L_08ACE3C8;
|
|
}
|
|
L_08ACE3C8:
|
|
aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast<std::uint32_t>(2196)));
|
|
aot_gpr_31 = (0x08ACE3D4u);
|
|
aot_gpr_4 = (aot_gpr_17 | 0u);
|
|
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0178->0176.
|
|
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
|
|
AOT_REGCACHE_SYNC_OUT();
|
|
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0178_entry, 730u, 0x08ACE3D4u, 0x08AC7EF0u)) {
|
|
#if defined(__clang__)
|
|
[[clang::musttail]] return recomp_unit_0176_entry(rt, ctx, 1076u, aot_mem);
|
|
#else
|
|
recomp_unit_0176_entry(rt, ctx, 1076u, aot_mem); return;
|
|
#endif
|
|
}
|
|
return;
|
|
#else
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 1076u, 0x08AC7EF0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACE3D4u) goto L_08ACE3D4;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
#endif
|
|
L_08ACE3D4:
|
|
{ const bool branch_taken = aot_gpr_2 == 0u;
|
|
if (branch_taken) {
|
|
goto L_08ACE3E4;
|
|
}
|
|
goto L_08ACE3DC;
|
|
}
|
|
L_08ACE3DC:
|
|
{ const bool branch_taken = 0u == 0u;
|
|
aot_mem.aot_direct_store32(aot_gpr_17 + static_cast<std::uint32_t>(640), ctx.gpr[16]);
|
|
if (branch_taken) {
|
|
goto L_08ACE3FC;
|
|
}
|
|
goto L_08ACE3E4;
|
|
}
|
|
L_08ACE3E4:
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast<std::uint32_t>(2196)));
|
|
{ const bool branch_taken = aot_gpr_4 == ctx.gpr[16];
|
|
if (branch_taken) {
|
|
goto L_08ACE3F8;
|
|
}
|
|
goto L_08ACE3F0;
|
|
}
|
|
L_08ACE3F0:
|
|
aot_gpr_31 = (0x08ACE3F8u);
|
|
aot_gpr_4 = (aot_gpr_17 | 0u);
|
|
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0178->0176.
|
|
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
|
|
AOT_REGCACHE_SYNC_OUT();
|
|
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0178_entry, 734u, 0x08ACE3F8u, 0x08AC7DFCu)) {
|
|
#if defined(__clang__)
|
|
[[clang::musttail]] return recomp_unit_0176_entry(rt, ctx, 1053u, aot_mem);
|
|
#else
|
|
recomp_unit_0176_entry(rt, ctx, 1053u, aot_mem); return;
|
|
#endif
|
|
}
|
|
return;
|
|
#else
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 1053u, 0x08AC7DFCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACE3F8u) goto L_08ACE3F8;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
#endif
|
|
L_08ACE3F8:
|
|
aot_mem.aot_direct_store32(aot_gpr_17 + static_cast<std::uint32_t>(2196), ctx.gpr[16]);
|
|
goto L_08ACE3FC;
|
|
L_08ACE3FC:
|
|
{ std::uint32_t aot_run_words[5]{};
|
|
aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast<std::uint32_t>(80), aot_run_words);
|
|
aot_fpr_20 = std::bit_cast<float>(aot_run_words[0]);
|
|
ctx.gpr[16] = aot_run_words[1];
|
|
aot_gpr_17 = aot_run_words[2];
|
|
ctx.gpr[18] = aot_run_words[3];
|
|
aot_gpr_31 = aot_run_words[4];
|
|
}
|
|
jump_target = aot_gpr_31;
|
|
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(112));
|
|
// PSPRECOMP_V813_JR_FAST_EXIT: preserve the exact 256-transfer boundary; common JR path is shared.
|
|
if (++local_transfers < 256u) goto LOCAL_JR_DISPATCH;
|
|
// PSPRECOMP_V812_SHARED_SCHED_JUMP
|
|
goto LOCAL_SCHED_BOUNDARY;
|
|
L_08ACE418:
|
|
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(-32));
|
|
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(24), ctx.gpr[20]);
|
|
ctx.gpr[20] = (ctx.gpr[6] | 0u);
|
|
ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast<std::uint32_t>(2228)));
|
|
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(4), std::bit_cast<std::uint32_t>(aot_fpr_20));
|
|
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(12), aot_gpr_17);
|
|
aot_fpr_20 = std::bit_cast<float>(std::bit_cast<std::uint32_t>(aot_fpr_12));
|
|
ctx.gpr[7] = (0u | 57u);
|
|
aot_gpr_17 = (aot_gpr_4 | 0u);
|
|
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(8), ctx.gpr[16]);
|
|
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(16), ctx.gpr[18]);
|
|
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(20), ctx.gpr[19]);
|
|
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(28), aot_gpr_31);
|
|
{ const bool branch_taken = ctx.gpr[6] == ctx.gpr[7];
|
|
ctx.gpr[16] = (aot_gpr_5 | 0u);
|
|
if (branch_taken) {
|
|
goto L_08ACE478;
|
|
}
|
|
goto L_08ACE454;
|
|
}
|
|
L_08ACE454:
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast<std::uint32_t>(2228)));
|
|
aot_gpr_5 = (0u | 58u);
|
|
{ const bool branch_taken = aot_gpr_4 == aot_gpr_5;
|
|
if (branch_taken) {
|
|
goto L_08ACE478;
|
|
}
|
|
goto L_08ACE464;
|
|
}
|
|
L_08ACE464:
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast<std::uint32_t>(640)));
|
|
if (aot_gpr_4 == ctx.gpr[16]) {
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast<std::uint32_t>(640)));
|
|
goto L_08ACE480;
|
|
}
|
|
goto L_08ACE470;
|
|
L_08ACE470:
|
|
{ const bool branch_taken = 0u == 0u;
|
|
if (branch_taken) {
|
|
goto L_08ACE488;
|
|
}
|
|
goto L_08ACE478;
|
|
}
|
|
L_08ACE478:
|
|
{ const bool branch_taken = 0u == 0u;
|
|
if (branch_taken) {
|
|
goto L_08ACE634;
|
|
}
|
|
goto L_08ACE480;
|
|
}
|
|
L_08ACE480:
|
|
{ const bool branch_taken = aot_gpr_4 != 0u;
|
|
if (branch_taken) {
|
|
goto L_08ACE4A0;
|
|
}
|
|
goto L_08ACE488;
|
|
}
|
|
L_08ACE488:
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast<std::uint32_t>(2196)));
|
|
ctx.gpr[19] = (ctx.gpr[16] + static_cast<std::uint32_t>(-4));
|
|
{ const bool branch_taken = aot_gpr_4 == ctx.gpr[16];
|
|
ctx.gpr[18] = (ctx.gpr[19] < static_cast<std::uint32_t>(46) ? 1u : 0u);
|
|
if (branch_taken) {
|
|
goto L_08ACE4A8;
|
|
}
|
|
goto L_08ACE498;
|
|
}
|
|
L_08ACE498:
|
|
{ const bool branch_taken = 0u == 0u;
|
|
if (branch_taken) {
|
|
goto L_08ACE558;
|
|
}
|
|
goto L_08ACE4A0;
|
|
}
|
|
L_08ACE4A0:
|
|
{ const bool branch_taken = 0u == 0u;
|
|
if (branch_taken) {
|
|
goto L_08ACE634;
|
|
}
|
|
goto L_08ACE4A8;
|
|
}
|
|
L_08ACE4A8:
|
|
{ const bool branch_taken = ctx.gpr[18] == 0u;
|
|
if (branch_taken) {
|
|
goto L_08ACE558;
|
|
}
|
|
goto L_08ACE4B0;
|
|
}
|
|
L_08ACE4B0:
|
|
ctx.gpr[19] = (ctx.gpr[19] << 2u);
|
|
ctx.gpr[1] = (2232u << 16u);
|
|
ctx.gpr[1] = (ctx.gpr[1] + ctx.gpr[19]);
|
|
ctx.gpr[1] = (aot_mem.aot_direct_load32(ctx.gpr[1] + static_cast<std::uint32_t>(15816)));
|
|
jump_target = ctx.gpr[1];
|
|
ctx.gpr[19] = (static_cast<std::uint32_t>(static_cast<std::int32_t>(ctx.gpr[19]) >> 2u));
|
|
// PSPRECOMP_V813_JR_FAST_EXIT: preserve the exact 256-transfer boundary; common JR path is shared.
|
|
if (++local_transfers < 256u) goto LOCAL_JR_DISPATCH;
|
|
// PSPRECOMP_V812_SHARED_SCHED_JUMP
|
|
goto LOCAL_SCHED_BOUNDARY;
|
|
L_08ACE4C8:
|
|
aot_gpr_4 = (aot_gpr_17 + static_cast<std::uint32_t>(656));
|
|
aot_gpr_31 = (0x08ACE4D4u);
|
|
aot_gpr_5 = (ctx.gpr[20] | 0u);
|
|
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0178->0163.
|
|
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
|
|
AOT_REGCACHE_SYNC_OUT();
|
|
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0178_entry, 748u, 0x08ACE4D4u, 0x08A93144u)) {
|
|
#if defined(__clang__)
|
|
[[clang::musttail]] return recomp_unit_0163_entry(rt, ctx, 456u, aot_mem);
|
|
#else
|
|
recomp_unit_0163_entry(rt, ctx, 456u, aot_mem); return;
|
|
#endif
|
|
}
|
|
return;
|
|
#else
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0163_entry, 163u, 456u, 0x08A93144u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACE4D4u) goto L_08ACE4D4;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
#endif
|
|
L_08ACE4D4:
|
|
{ const bool branch_taken = aot_gpr_2 == 0u;
|
|
if (branch_taken) {
|
|
goto L_08ACE4F0;
|
|
}
|
|
goto L_08ACE4DC;
|
|
}
|
|
L_08ACE4DC:
|
|
aot_fpr_12 = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast<std::uint32_t>(2060)));
|
|
ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((!(std::isnan(aot_fpr_12) || std::isnan(aot_fpr_20)) && aot_fpr_12 == aot_fpr_20)) ? 0x00800000u : 0u);
|
|
{ const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u);
|
|
if (branch_taken) {
|
|
goto L_08ACE508;
|
|
}
|
|
goto L_08ACE4F0;
|
|
}
|
|
L_08ACE4F0:
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast<std::uint32_t>(460)));
|
|
aot_gpr_4 = (aot_gpr_4 & 32u);
|
|
{ const bool branch_taken = aot_gpr_4 != 0u;
|
|
if (branch_taken) {
|
|
goto L_08ACE510;
|
|
}
|
|
goto L_08ACE500;
|
|
}
|
|
L_08ACE500:
|
|
{ const bool branch_taken = 0u == 0u;
|
|
if (branch_taken) {
|
|
goto L_08ACE518;
|
|
}
|
|
goto L_08ACE508;
|
|
}
|
|
L_08ACE508:
|
|
{ const bool branch_taken = 0u == 0u;
|
|
if (branch_taken) {
|
|
goto L_08ACE634;
|
|
}
|
|
goto L_08ACE510;
|
|
}
|
|
L_08ACE510:
|
|
aot_gpr_31 = (0x08ACE518u);
|
|
aot_gpr_4 = (aot_gpr_17 | 0u);
|
|
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0178->0065.
|
|
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
|
|
AOT_REGCACHE_SYNC_OUT();
|
|
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0178_entry, 754u, 0x08ACE518u, 0x0890B488u)) {
|
|
#if defined(__clang__)
|
|
[[clang::musttail]] return recomp_unit_0065_entry(rt, ctx, 829u, aot_mem);
|
|
#else
|
|
recomp_unit_0065_entry(rt, ctx, 829u, aot_mem); return;
|
|
#endif
|
|
}
|
|
return;
|
|
#else
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 829u, 0x0890B488u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACE518u) goto L_08ACE518;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
#endif
|
|
L_08ACE518:
|
|
{ const bool branch_taken = 0u == 0u;
|
|
if (branch_taken) {
|
|
goto L_08ACE558;
|
|
}
|
|
goto L_08ACE520;
|
|
}
|
|
L_08ACE520:
|
|
aot_gpr_4 = (aot_gpr_17 + static_cast<std::uint32_t>(2096));
|
|
aot_gpr_31 = (0x08ACE52Cu);
|
|
aot_gpr_5 = (ctx.gpr[20] | 0u);
|
|
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0178->0163.
|
|
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
|
|
AOT_REGCACHE_SYNC_OUT();
|
|
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0178_entry, 756u, 0x08ACE52Cu, 0x08A93144u)) {
|
|
#if defined(__clang__)
|
|
[[clang::musttail]] return recomp_unit_0163_entry(rt, ctx, 456u, aot_mem);
|
|
#else
|
|
recomp_unit_0163_entry(rt, ctx, 456u, aot_mem); return;
|
|
#endif
|
|
}
|
|
return;
|
|
#else
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0163_entry, 163u, 456u, 0x08A93144u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACE52Cu) goto L_08ACE52C;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
#endif
|
|
L_08ACE52C:
|
|
{ const bool branch_taken = aot_gpr_2 == 0u;
|
|
if (branch_taken) {
|
|
goto L_08ACE548;
|
|
}
|
|
goto L_08ACE534;
|
|
}
|
|
L_08ACE534:
|
|
aot_fpr_12 = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast<std::uint32_t>(2112)));
|
|
ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((!(std::isnan(aot_fpr_12) || std::isnan(aot_fpr_20)) && aot_fpr_12 == aot_fpr_20)) ? 0x00800000u : 0u);
|
|
{ const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u);
|
|
if (branch_taken) {
|
|
goto L_08ACE550;
|
|
}
|
|
goto L_08ACE548;
|
|
}
|
|
L_08ACE548:
|
|
{ const bool branch_taken = 0u == 0u;
|
|
if (branch_taken) {
|
|
goto L_08ACE558;
|
|
}
|
|
goto L_08ACE550;
|
|
}
|
|
L_08ACE550:
|
|
{ const bool branch_taken = 0u == 0u;
|
|
if (branch_taken) {
|
|
goto L_08ACE634;
|
|
}
|
|
goto L_08ACE558;
|
|
}
|
|
L_08ACE558:
|
|
aot_gpr_31 = (0x08ACE560u);
|
|
aot_gpr_4 = (aot_gpr_17 | 0u);
|
|
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0178->0055.
|
|
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
|
|
AOT_REGCACHE_SYNC_OUT();
|
|
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0178_entry, 761u, 0x08ACE560u, 0x088E34ECu)) {
|
|
#if defined(__clang__)
|
|
[[clang::musttail]] return recomp_unit_0055_entry(rt, ctx, 438u, aot_mem);
|
|
#else
|
|
recomp_unit_0055_entry(rt, ctx, 438u, aot_mem); return;
|
|
#endif
|
|
}
|
|
return;
|
|
#else
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0055_entry, 55u, 438u, 0x088E34ECu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACE560u) goto L_08ACE560;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
#endif
|
|
L_08ACE560:
|
|
aot_gpr_4 = (aot_gpr_17 | 0u);
|
|
aot_gpr_31 = (0x08ACE56Cu);
|
|
aot_gpr_5 = (0u | 0u);
|
|
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0178->0176.
|
|
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
|
|
AOT_REGCACHE_SYNC_OUT();
|
|
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0178_entry, 762u, 0x08ACE56Cu, 0x08AC7F30u)) {
|
|
#if defined(__clang__)
|
|
[[clang::musttail]] return recomp_unit_0176_entry(rt, ctx, 1084u, aot_mem);
|
|
#else
|
|
recomp_unit_0176_entry(rt, ctx, 1084u, aot_mem); return;
|
|
#endif
|
|
}
|
|
return;
|
|
#else
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 1084u, 0x08AC7F30u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACE56Cu) goto L_08ACE56C;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
#endif
|
|
L_08ACE56C:
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast<std::uint32_t>(460)));
|
|
aot_gpr_5 = (0u + static_cast<std::uint32_t>(-129));
|
|
aot_gpr_4 = (aot_gpr_4 & aot_gpr_5);
|
|
aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast<std::uint32_t>(2196)));
|
|
aot_mem.aot_direct_store32(aot_gpr_17 + static_cast<std::uint32_t>(460), aot_gpr_4);
|
|
aot_gpr_31 = (0x08ACE588u);
|
|
aot_gpr_4 = (aot_gpr_17 | 0u);
|
|
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0178->0176.
|
|
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
|
|
AOT_REGCACHE_SYNC_OUT();
|
|
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0178_entry, 763u, 0x08ACE588u, 0x08AC7EF0u)) {
|
|
#if defined(__clang__)
|
|
[[clang::musttail]] return recomp_unit_0176_entry(rt, ctx, 1076u, aot_mem);
|
|
#else
|
|
recomp_unit_0176_entry(rt, ctx, 1076u, aot_mem); return;
|
|
#endif
|
|
}
|
|
return;
|
|
#else
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 1076u, 0x08AC7EF0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACE588u) goto L_08ACE588;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
#endif
|
|
L_08ACE588:
|
|
{ const bool branch_taken = aot_gpr_2 == 0u;
|
|
if (branch_taken) {
|
|
goto L_08ACE598;
|
|
}
|
|
goto L_08ACE590;
|
|
}
|
|
L_08ACE590:
|
|
{ const bool branch_taken = 0u == 0u;
|
|
aot_mem.aot_direct_store32(aot_gpr_17 + static_cast<std::uint32_t>(640), ctx.gpr[16]);
|
|
if (branch_taken) {
|
|
goto L_08ACE5B0;
|
|
}
|
|
goto L_08ACE598;
|
|
}
|
|
L_08ACE598:
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast<std::uint32_t>(2196)));
|
|
{ const bool branch_taken = aot_gpr_4 == ctx.gpr[16];
|
|
if (branch_taken) {
|
|
goto L_08ACE5AC;
|
|
}
|
|
goto L_08ACE5A4;
|
|
}
|
|
L_08ACE5A4:
|
|
aot_gpr_31 = (0x08ACE5ACu);
|
|
aot_gpr_4 = (aot_gpr_17 | 0u);
|
|
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0178->0176.
|
|
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
|
|
AOT_REGCACHE_SYNC_OUT();
|
|
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0178_entry, 767u, 0x08ACE5ACu, 0x08AC7DFCu)) {
|
|
#if defined(__clang__)
|
|
[[clang::musttail]] return recomp_unit_0176_entry(rt, ctx, 1053u, aot_mem);
|
|
#else
|
|
recomp_unit_0176_entry(rt, ctx, 1053u, aot_mem); return;
|
|
#endif
|
|
}
|
|
return;
|
|
#else
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0176_entry, 176u, 1053u, 0x08AC7DFCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACE5ACu) goto L_08ACE5AC;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
#endif
|
|
L_08ACE5AC:
|
|
aot_mem.aot_direct_store32(aot_gpr_17 + static_cast<std::uint32_t>(2196), ctx.gpr[16]);
|
|
goto L_08ACE5B0;
|
|
L_08ACE5B0:
|
|
{ const bool branch_taken = ctx.gpr[18] == 0u;
|
|
if (branch_taken) {
|
|
goto L_08ACE634;
|
|
}
|
|
goto L_08ACE5B8;
|
|
}
|
|
L_08ACE5B8:
|
|
ctx.gpr[19] = (ctx.gpr[19] << 2u);
|
|
ctx.gpr[1] = (2232u << 16u);
|
|
ctx.gpr[1] = (ctx.gpr[1] + ctx.gpr[19]);
|
|
ctx.gpr[1] = (aot_mem.aot_direct_load32(ctx.gpr[1] + static_cast<std::uint32_t>(16000)));
|
|
jump_target = ctx.gpr[1];
|
|
// PSPRECOMP_V813_JR_FAST_EXIT: preserve the exact 256-transfer boundary; common JR path is shared.
|
|
if (++local_transfers < 256u) goto LOCAL_JR_DISPATCH;
|
|
// PSPRECOMP_V812_SHARED_SCHED_JUMP
|
|
goto LOCAL_SCHED_BOUNDARY;
|
|
L_08ACE5D0:
|
|
aot_gpr_31 = (0x08ACE5D8u);
|
|
aot_gpr_4 = (aot_gpr_17 | 0u);
|
|
if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0890FF64, 66u, 887u, 0x0890FF64u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0066_entry, 66u, 887u, 0x0890FF64u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACE5D8u) goto L_08ACE5D8;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
L_08ACE5D8:
|
|
{ const std::uint32_t vfpu_address = ctx.gpr[20] + static_cast<std::uint32_t>(0);
|
|
std::uint32_t vfpu_words[4]{};
|
|
aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words);
|
|
float vfpu_value[4]{
|
|
std::bit_cast<float>(vfpu_words[0]),
|
|
std::bit_cast<float>(vfpu_words[1]),
|
|
std::bit_cast<float>(vfpu_words[2]),
|
|
std::bit_cast<float>(vfpu_words[3])};
|
|
ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); }
|
|
aot_gpr_5 = (aot_gpr_17 + static_cast<std::uint32_t>(656));
|
|
{ float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value);
|
|
const std::uint32_t vfpu_address = aot_gpr_5 + static_cast<std::uint32_t>(0);
|
|
const std::uint32_t vfpu_words[4]{std::bit_cast<std::uint32_t>(vfpu_value[0]), std::bit_cast<std::uint32_t>(vfpu_value[1]), std::bit_cast<std::uint32_t>(vfpu_value[2]), std::bit_cast<std::uint32_t>(vfpu_value[3])};
|
|
aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); }
|
|
aot_gpr_31 = (0x08ACE5ECu);
|
|
aot_gpr_4 = (aot_gpr_17 | 0u);
|
|
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0178->0067.
|
|
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
|
|
AOT_REGCACHE_SYNC_OUT();
|
|
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0178_entry, 772u, 0x08ACE5ECu, 0x08910218u)) {
|
|
#if defined(__clang__)
|
|
[[clang::musttail]] return recomp_unit_0067_entry(rt, ctx, 34u, aot_mem);
|
|
#else
|
|
recomp_unit_0067_entry(rt, ctx, 34u, aot_mem); return;
|
|
#endif
|
|
}
|
|
return;
|
|
#else
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0067_entry, 67u, 34u, 0x08910218u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACE5ECu) goto L_08ACE5EC;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
#endif
|
|
L_08ACE5EC:
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast<std::uint32_t>(456)));
|
|
aot_gpr_5 = (16384u << 16u);
|
|
aot_gpr_4 = (aot_gpr_4 | aot_gpr_5);
|
|
aot_mem.aot_direct_store32(aot_gpr_17 + static_cast<std::uint32_t>(456), aot_gpr_4);
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast<std::uint32_t>(460)));
|
|
aot_gpr_4 = (aot_gpr_4 & 32u);
|
|
{ const bool branch_taken = aot_gpr_4 == 0u;
|
|
if (branch_taken) {
|
|
goto L_08ACE614;
|
|
}
|
|
goto L_08ACE60C;
|
|
}
|
|
L_08ACE60C:
|
|
aot_gpr_31 = (0x08ACE614u);
|
|
aot_gpr_4 = (aot_gpr_17 | 0u);
|
|
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0178->0065.
|
|
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
|
|
AOT_REGCACHE_SYNC_OUT();
|
|
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0178_entry, 774u, 0x08ACE614u, 0x0890B488u)) {
|
|
#if defined(__clang__)
|
|
[[clang::musttail]] return recomp_unit_0065_entry(rt, ctx, 829u, aot_mem);
|
|
#else
|
|
recomp_unit_0065_entry(rt, ctx, 829u, aot_mem); return;
|
|
#endif
|
|
}
|
|
return;
|
|
#else
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 829u, 0x0890B488u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACE614u) goto L_08ACE614;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
#endif
|
|
L_08ACE614:
|
|
{ const bool branch_taken = 0u == 0u;
|
|
if (branch_taken) {
|
|
goto L_08ACE634;
|
|
}
|
|
goto L_08ACE61C;
|
|
}
|
|
L_08ACE61C:
|
|
{ const std::uint32_t vfpu_address = ctx.gpr[20] + static_cast<std::uint32_t>(0);
|
|
std::uint32_t vfpu_words[4]{};
|
|
aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words);
|
|
float vfpu_value[4]{
|
|
std::bit_cast<float>(vfpu_words[0]),
|
|
std::bit_cast<float>(vfpu_words[1]),
|
|
std::bit_cast<float>(vfpu_words[2]),
|
|
std::bit_cast<float>(vfpu_words[3])};
|
|
ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); }
|
|
aot_gpr_4 = (aot_gpr_17 + static_cast<std::uint32_t>(2096));
|
|
{ float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value);
|
|
const std::uint32_t vfpu_address = aot_gpr_4 + static_cast<std::uint32_t>(0);
|
|
const std::uint32_t vfpu_words[4]{std::bit_cast<std::uint32_t>(vfpu_value[0]), std::bit_cast<std::uint32_t>(vfpu_value[1]), std::bit_cast<std::uint32_t>(vfpu_value[2]), std::bit_cast<std::uint32_t>(vfpu_value[3])};
|
|
aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); }
|
|
aot_mem.aot_direct_store32(aot_gpr_17 + static_cast<std::uint32_t>(2112), std::bit_cast<std::uint32_t>(aot_fpr_20));
|
|
{ const bool branch_taken = 0u == 0u;
|
|
if (branch_taken) {
|
|
goto L_08ACE634;
|
|
}
|
|
goto L_08ACE634;
|
|
}
|
|
L_08ACE634:
|
|
{ std::uint32_t aot_run_words[7]{};
|
|
aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast<std::uint32_t>(4), aot_run_words);
|
|
aot_fpr_20 = std::bit_cast<float>(aot_run_words[0]);
|
|
ctx.gpr[16] = aot_run_words[1];
|
|
aot_gpr_17 = aot_run_words[2];
|
|
ctx.gpr[18] = aot_run_words[3];
|
|
ctx.gpr[19] = aot_run_words[4];
|
|
ctx.gpr[20] = aot_run_words[5];
|
|
aot_gpr_31 = aot_run_words[6];
|
|
}
|
|
jump_target = aot_gpr_31;
|
|
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(32));
|
|
// PSPRECOMP_V813_JR_FAST_EXIT: preserve the exact 256-transfer boundary; common JR path is shared.
|
|
if (++local_transfers < 256u) goto LOCAL_JR_DISPATCH;
|
|
// PSPRECOMP_V812_SHARED_SCHED_JUMP
|
|
goto LOCAL_SCHED_BOUNDARY;
|
|
L_08ACE658:
|
|
aot_gpr_5 = (2236u << 16u);
|
|
aot_fpr_12 = std::bit_cast<float>(0u);
|
|
ctx.gpr[6] = (0u | 0u);
|
|
aot_gpr_4 = (0u | 19u);
|
|
aot_gpr_5 = (aot_gpr_5 + static_cast<std::uint32_t>(6160));
|
|
goto L_08ACE66C;
|
|
L_08ACE66C:
|
|
aot_mem.aot_direct_store8(aot_gpr_5 + static_cast<std::uint32_t>(12), static_cast<std::uint8_t>(0u));
|
|
aot_mem.aot_direct_store32(aot_gpr_5 + static_cast<std::uint32_t>(0), aot_gpr_4);
|
|
aot_mem.aot_direct_store32(aot_gpr_5 + static_cast<std::uint32_t>(8), std::bit_cast<std::uint32_t>(aot_fpr_12));
|
|
aot_mem.aot_direct_store32(aot_gpr_5 + static_cast<std::uint32_t>(4), 0u);
|
|
ctx.gpr[6] = (ctx.gpr[6] + static_cast<std::uint32_t>(1));
|
|
ctx.gpr[7] = (static_cast<std::int32_t>(ctx.gpr[6]) < 100 ? 1u : 0u);
|
|
{ const bool branch_taken = ctx.gpr[7] != 0u;
|
|
aot_gpr_5 = (aot_gpr_5 + static_cast<std::uint32_t>(64));
|
|
if (branch_taken) {
|
|
goto L_08ACE66C;
|
|
}
|
|
goto L_08ACE68C;
|
|
}
|
|
L_08ACE68C:
|
|
jump_target = aot_gpr_31;
|
|
// PSPRECOMP_V813_JR_FAST_EXIT: preserve the exact 256-transfer boundary; common JR path is shared.
|
|
if (++local_transfers < 256u) goto LOCAL_JR_DISPATCH;
|
|
// PSPRECOMP_V812_SHARED_SCHED_JUMP
|
|
goto LOCAL_SCHED_BOUNDARY;
|
|
L_08ACE694:
|
|
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(-32));
|
|
{ const std::uint32_t aot_run_words[4]{ctx.gpr[16], aot_gpr_17, ctx.gpr[18], ctx.gpr[19]};
|
|
aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast<std::uint32_t>(8), aot_run_words); }
|
|
ctx.gpr[16] = (ctx.gpr[8] & 255u);
|
|
aot_gpr_17 = (ctx.gpr[6] | 0u);
|
|
ctx.gpr[18] = (ctx.gpr[7] | 0u);
|
|
ctx.gpr[19] = (0u | 0u);
|
|
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(24), aot_gpr_31);
|
|
goto L_08ACE6BC;
|
|
L_08ACE6BC:
|
|
ctx.gpr[7] = (2236u << 16u);
|
|
ctx.gpr[6] = (ctx.gpr[19] << 6u);
|
|
ctx.gpr[7] = (ctx.gpr[7] + static_cast<std::uint32_t>(6160));
|
|
ctx.gpr[6] = (ctx.gpr[6] + ctx.gpr[7]);
|
|
ctx.gpr[6] = (aot_mem.aot_direct_load8(ctx.gpr[6] + static_cast<std::uint32_t>(12)));
|
|
{ const bool branch_taken = ctx.gpr[6] == 0u;
|
|
ctx.gpr[6] = (static_cast<std::int32_t>(ctx.gpr[19]) < 100 ? 1u : 0u);
|
|
if (branch_taken) {
|
|
goto L_08ACE6E8;
|
|
}
|
|
goto L_08ACE6D8;
|
|
}
|
|
L_08ACE6D8:
|
|
{ const bool branch_taken = ctx.gpr[6] == 0u;
|
|
if (branch_taken) {
|
|
goto L_08ACE6E8;
|
|
}
|
|
goto L_08ACE6E0;
|
|
}
|
|
L_08ACE6E0:
|
|
{ const bool branch_taken = 0u == 0u;
|
|
ctx.gpr[19] = (ctx.gpr[19] + static_cast<std::uint32_t>(1));
|
|
if (branch_taken) {
|
|
goto L_08ACE6BC;
|
|
}
|
|
goto L_08ACE6E8;
|
|
}
|
|
L_08ACE6E8:
|
|
ctx.gpr[6] = (0u | 100u);
|
|
{ const bool branch_taken = ctx.gpr[19] == ctx.gpr[6];
|
|
if (branch_taken) {
|
|
goto L_08ACE77C;
|
|
}
|
|
goto L_08ACE6F4;
|
|
}
|
|
L_08ACE6F4:
|
|
ctx.gpr[7] = (2236u << 16u);
|
|
ctx.gpr[6] = (ctx.gpr[19] << 6u);
|
|
ctx.gpr[7] = (ctx.gpr[7] + static_cast<std::uint32_t>(6160));
|
|
ctx.gpr[6] = (ctx.gpr[6] + ctx.gpr[7]);
|
|
aot_mem.aot_direct_store32(ctx.gpr[6] + static_cast<std::uint32_t>(4), aot_gpr_4);
|
|
aot_mem.aot_direct_store32(ctx.gpr[6] + static_cast<std::uint32_t>(0), aot_gpr_5);
|
|
aot_gpr_31 = (0x08ACE714u);
|
|
aot_gpr_4 = (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_08B1FD70, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem, ctx.pc, aot_gpr_2, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0198_entry, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACE714u) goto L_08ACE714;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
L_08ACE714:
|
|
aot_gpr_5 = (ctx.gpr[16] & 255u);
|
|
{ const bool branch_taken = aot_gpr_5 != 0u;
|
|
aot_gpr_4 = (aot_gpr_2 | 0u);
|
|
if (branch_taken) {
|
|
goto L_08ACE784;
|
|
}
|
|
goto L_08ACE720;
|
|
}
|
|
L_08ACE720:
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast<std::uint32_t>(24)));
|
|
aot_gpr_5 = (ctx.gpr[19] << 6u);
|
|
goto L_08ACE728;
|
|
L_08ACE728:
|
|
ctx.gpr[6] = (2236u << 16u);
|
|
ctx.gpr[6] = (ctx.gpr[6] + static_cast<std::uint32_t>(6160));
|
|
ctx.gpr[7] = (aot_gpr_5 + ctx.gpr[6]);
|
|
aot_mem.aot_direct_store16(ctx.gpr[7] + static_cast<std::uint32_t>(48), static_cast<std::uint16_t>(aot_gpr_4));
|
|
aot_gpr_4 = (ctx.gpr[6] + static_cast<std::uint32_t>(16));
|
|
aot_gpr_4 = (aot_gpr_5 + aot_gpr_4);
|
|
{ const std::uint32_t vfpu_address = aot_gpr_17 + static_cast<std::uint32_t>(0);
|
|
std::uint32_t vfpu_words[4]{};
|
|
aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words);
|
|
float vfpu_value[4]{
|
|
std::bit_cast<float>(vfpu_words[0]),
|
|
std::bit_cast<float>(vfpu_words[1]),
|
|
std::bit_cast<float>(vfpu_words[2]),
|
|
std::bit_cast<float>(vfpu_words[3])};
|
|
ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); }
|
|
{ float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value);
|
|
const std::uint32_t vfpu_address = aot_gpr_4 + static_cast<std::uint32_t>(0);
|
|
const std::uint32_t vfpu_words[4]{std::bit_cast<std::uint32_t>(vfpu_value[0]), std::bit_cast<std::uint32_t>(vfpu_value[1]), std::bit_cast<std::uint32_t>(vfpu_value[2]), std::bit_cast<std::uint32_t>(vfpu_value[3])};
|
|
aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); }
|
|
aot_gpr_4 = (ctx.gpr[6] + static_cast<std::uint32_t>(32));
|
|
aot_gpr_4 = (aot_gpr_5 + aot_gpr_4);
|
|
{ const std::uint32_t vfpu_address = ctx.gpr[18] + static_cast<std::uint32_t>(0);
|
|
std::uint32_t vfpu_words[4]{};
|
|
aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words);
|
|
float vfpu_value[4]{
|
|
std::bit_cast<float>(vfpu_words[0]),
|
|
std::bit_cast<float>(vfpu_words[1]),
|
|
std::bit_cast<float>(vfpu_words[2]),
|
|
std::bit_cast<float>(vfpu_words[3])};
|
|
ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); }
|
|
{ float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value);
|
|
const std::uint32_t vfpu_address = aot_gpr_4 + static_cast<std::uint32_t>(0);
|
|
const std::uint32_t vfpu_words[4]{std::bit_cast<std::uint32_t>(vfpu_value[0]), std::bit_cast<std::uint32_t>(vfpu_value[1]), std::bit_cast<std::uint32_t>(vfpu_value[2]), std::bit_cast<std::uint32_t>(vfpu_value[3])};
|
|
aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); }
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(7660)));
|
|
aot_gpr_4 = (aot_gpr_4 + static_cast<std::uint32_t>(1000));
|
|
aot_fpr_12 = std::bit_cast<float>(aot_gpr_4);
|
|
aot_fpr_12 = static_cast<float>(static_cast<std::int32_t>(std::bit_cast<std::uint32_t>(aot_fpr_12)));
|
|
aot_mem.aot_direct_store32(ctx.gpr[7] + static_cast<std::uint32_t>(8), std::bit_cast<std::uint32_t>(aot_fpr_12));
|
|
aot_gpr_2 = (0u | 1u);
|
|
aot_mem.aot_direct_store8(ctx.gpr[7] + static_cast<std::uint32_t>(12), static_cast<std::uint8_t>(aot_gpr_2));
|
|
{ const bool branch_taken = 0u == 0u;
|
|
if (branch_taken) {
|
|
goto L_08ACE7A4;
|
|
}
|
|
goto L_08ACE77C;
|
|
}
|
|
L_08ACE77C:
|
|
{ const bool branch_taken = 0u == 0u;
|
|
aot_gpr_2 = (0u | 0u);
|
|
if (branch_taken) {
|
|
goto L_08ACE7A4;
|
|
}
|
|
goto L_08ACE784;
|
|
}
|
|
L_08ACE784:
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast<std::uint32_t>(24)));
|
|
aot_gpr_5 = (0u | 255u);
|
|
aot_gpr_4 = (aot_gpr_4 << 2u);
|
|
ctx.gpr[6] = (static_cast<std::int32_t>(aot_gpr_5) < static_cast<std::int32_t>(aot_gpr_4) ? 1u : 0u);
|
|
if (ctx.gpr[6] != 0u) {
|
|
aot_gpr_4 = (aot_gpr_5 | 0u);
|
|
goto L_08ACE79C;
|
|
}
|
|
goto L_08ACE79C;
|
|
L_08ACE79C:
|
|
{ const bool branch_taken = 0u == 0u;
|
|
aot_gpr_5 = (ctx.gpr[19] << 6u);
|
|
if (branch_taken) {
|
|
goto L_08ACE728;
|
|
}
|
|
goto L_08ACE7A4;
|
|
}
|
|
L_08ACE7A4:
|
|
{ std::uint32_t aot_run_words[5]{};
|
|
aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast<std::uint32_t>(8), aot_run_words);
|
|
ctx.gpr[16] = aot_run_words[0];
|
|
aot_gpr_17 = aot_run_words[1];
|
|
ctx.gpr[18] = aot_run_words[2];
|
|
ctx.gpr[19] = aot_run_words[3];
|
|
aot_gpr_31 = aot_run_words[4];
|
|
}
|
|
jump_target = aot_gpr_31;
|
|
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(32));
|
|
// PSPRECOMP_V813_JR_FAST_EXIT: preserve the exact 256-transfer boundary; common JR path is shared.
|
|
if (++local_transfers < 256u) goto LOCAL_JR_DISPATCH;
|
|
// PSPRECOMP_V812_SHARED_SCHED_JUMP
|
|
goto LOCAL_SCHED_BOUNDARY;
|
|
L_08ACE7C0:
|
|
aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast<std::uint32_t>(-760)));
|
|
{ const bool branch_taken = aot_gpr_4 == 0u;
|
|
if (branch_taken) {
|
|
goto L_08ACEA10;
|
|
}
|
|
goto L_08ACE7CC;
|
|
}
|
|
L_08ACE7CC:
|
|
aot_fpr_0 = std::bit_cast<float>(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(10304)));
|
|
ctx.fpr[19] = std::bit_cast<float>(0u);
|
|
ctx.fpr[4] = std::bit_cast<float>(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(10320)));
|
|
aot_gpr_4 = (16256u << 16u);
|
|
ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_0 < ctx.fpr[4])) ? 0x00800000u : 0u);
|
|
{ const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u);
|
|
ctx.fpr[18] = std::bit_cast<float>(aot_gpr_4);
|
|
if (branch_taken) {
|
|
goto L_08ACE7F4;
|
|
}
|
|
goto L_08ACE7EC;
|
|
}
|
|
L_08ACE7EC:
|
|
{ const bool branch_taken = 0u == 0u;
|
|
ctx.fpr[5] = std::bit_cast<float>(std::bit_cast<std::uint32_t>(aot_fpr_0));
|
|
if (branch_taken) {
|
|
goto L_08ACE7F8;
|
|
}
|
|
goto L_08ACE7F4;
|
|
}
|
|
L_08ACE7F4:
|
|
ctx.fpr[5] = std::bit_cast<float>(std::bit_cast<std::uint32_t>(ctx.fpr[4]));
|
|
goto L_08ACE7F8;
|
|
L_08ACE7F8:
|
|
ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_0 <= ctx.fpr[4])) ? 0x00800000u : 0u);
|
|
{ const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u);
|
|
if (branch_taken) {
|
|
goto L_08ACE810;
|
|
}
|
|
goto L_08ACE808;
|
|
}
|
|
L_08ACE808:
|
|
{ const bool branch_taken = 0u == 0u;
|
|
ctx.fpr[4] = std::bit_cast<float>(std::bit_cast<std::uint32_t>(aot_fpr_0));
|
|
if (branch_taken) {
|
|
goto L_08ACE810;
|
|
}
|
|
goto L_08ACE810;
|
|
}
|
|
L_08ACE810:
|
|
ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((ctx.fpr[5] < aot_fpr_13)) ? 0x00800000u : 0u);
|
|
{ const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u);
|
|
if (branch_taken) {
|
|
goto L_08ACE830;
|
|
}
|
|
goto L_08ACE820;
|
|
}
|
|
L_08ACE820:
|
|
ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((ctx.fpr[4] <= aot_fpr_12)) ? 0x00800000u : 0u);
|
|
{ const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u);
|
|
if (branch_taken) {
|
|
goto L_08ACEA10;
|
|
}
|
|
goto L_08ACE830;
|
|
}
|
|
L_08ACE830:
|
|
ctx.fpr[3] = std::bit_cast<float>(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(10308)));
|
|
ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((ctx.fpr[5] < aot_fpr_12)) ? 0x00800000u : 0u);
|
|
ctx.fpr[1] = std::bit_cast<float>(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(10324)));
|
|
ctx.fpr[2] = std::bit_cast<float>(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(10312)));
|
|
{ const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u);
|
|
aot_fpr_0 = std::bit_cast<float>(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(10328)));
|
|
if (branch_taken) {
|
|
goto L_08ACE868;
|
|
}
|
|
goto L_08ACE848;
|
|
}
|
|
L_08ACE848:
|
|
aot_fpr_12 = aot_fpr_12 - ctx.fpr[5];
|
|
ctx.fpr[6] = ctx.fpr[4] - ctx.fpr[5];
|
|
aot_fpr_12 = aot_fpr_12 / ctx.fpr[6];
|
|
ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < ctx.fpr[19])) ? 0x00800000u : 0u);
|
|
if (((ctx.fcr31 & 0x00800000u) != 0u)) {
|
|
aot_fpr_12 = std::bit_cast<float>(std::bit_cast<std::uint32_t>(ctx.fpr[19]));
|
|
goto L_08ACE864;
|
|
}
|
|
goto L_08ACE864;
|
|
L_08ACE864:
|
|
ctx.fpr[19] = std::bit_cast<float>(std::bit_cast<std::uint32_t>(aot_fpr_12));
|
|
goto L_08ACE868;
|
|
L_08ACE868:
|
|
ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((ctx.fpr[4] <= aot_fpr_13)) ? 0x00800000u : 0u);
|
|
{ const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u);
|
|
if (branch_taken) {
|
|
goto L_08ACE898;
|
|
}
|
|
goto L_08ACE878;
|
|
}
|
|
L_08ACE878:
|
|
aot_fpr_12 = ctx.fpr[4] - aot_fpr_13;
|
|
ctx.fpr[4] = ctx.fpr[4] - ctx.fpr[5];
|
|
aot_fpr_12 = aot_fpr_12 / ctx.fpr[4];
|
|
ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= ctx.fpr[18])) ? 0x00800000u : 0u);
|
|
if (!((ctx.fcr31 & 0x00800000u) != 0u)) {
|
|
aot_fpr_12 = std::bit_cast<float>(std::bit_cast<std::uint32_t>(ctx.fpr[18]));
|
|
goto L_08ACE894;
|
|
}
|
|
goto L_08ACE894;
|
|
L_08ACE894:
|
|
ctx.fpr[18] = std::bit_cast<float>(std::bit_cast<std::uint32_t>(aot_fpr_12));
|
|
goto L_08ACE898;
|
|
L_08ACE898:
|
|
ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((ctx.fpr[3] < ctx.fpr[1])) ? 0x00800000u : 0u);
|
|
if (!((ctx.fcr31 & 0x00800000u) != 0u)) {
|
|
aot_fpr_12 = std::bit_cast<float>(std::bit_cast<std::uint32_t>(ctx.fpr[1]));
|
|
goto L_08ACE8B0;
|
|
}
|
|
goto L_08ACE8A8;
|
|
L_08ACE8A8:
|
|
{ const bool branch_taken = 0u == 0u;
|
|
aot_fpr_12 = std::bit_cast<float>(std::bit_cast<std::uint32_t>(ctx.fpr[3]));
|
|
if (branch_taken) {
|
|
goto L_08ACE8B0;
|
|
}
|
|
goto L_08ACE8B0;
|
|
}
|
|
L_08ACE8B0:
|
|
ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((ctx.fpr[3] <= ctx.fpr[1])) ? 0x00800000u : 0u);
|
|
{ const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u);
|
|
if (branch_taken) {
|
|
goto L_08ACE8C8;
|
|
}
|
|
goto L_08ACE8C0;
|
|
}
|
|
L_08ACE8C0:
|
|
{ const bool branch_taken = 0u == 0u;
|
|
ctx.fpr[1] = std::bit_cast<float>(std::bit_cast<std::uint32_t>(ctx.fpr[3]));
|
|
if (branch_taken) {
|
|
goto L_08ACE8C8;
|
|
}
|
|
goto L_08ACE8C8;
|
|
}
|
|
L_08ACE8C8:
|
|
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_08ACE8E8;
|
|
}
|
|
goto L_08ACE8D8;
|
|
}
|
|
L_08ACE8D8:
|
|
ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((ctx.fpr[1] <= ctx.fpr[14])) ? 0x00800000u : 0u);
|
|
{ const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u);
|
|
if (branch_taken) {
|
|
goto L_08ACE948;
|
|
}
|
|
goto L_08ACE8E8;
|
|
}
|
|
L_08ACE8E8:
|
|
ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < ctx.fpr[14])) ? 0x00800000u : 0u);
|
|
{ const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u);
|
|
if (branch_taken) {
|
|
goto L_08ACE918;
|
|
}
|
|
goto L_08ACE8F8;
|
|
}
|
|
L_08ACE8F8:
|
|
aot_fpr_13 = ctx.fpr[14] - aot_fpr_12;
|
|
ctx.fpr[3] = ctx.fpr[1] - aot_fpr_12;
|
|
aot_fpr_13 = aot_fpr_13 / ctx.fpr[3];
|
|
ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_13 < ctx.fpr[19])) ? 0x00800000u : 0u);
|
|
if (((ctx.fcr31 & 0x00800000u) != 0u)) {
|
|
aot_fpr_13 = std::bit_cast<float>(std::bit_cast<std::uint32_t>(ctx.fpr[19]));
|
|
goto L_08ACE914;
|
|
}
|
|
goto L_08ACE914;
|
|
L_08ACE914:
|
|
ctx.fpr[19] = std::bit_cast<float>(std::bit_cast<std::uint32_t>(aot_fpr_13));
|
|
goto L_08ACE918;
|
|
L_08ACE918:
|
|
ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((ctx.fpr[1] <= ctx.fpr[15])) ? 0x00800000u : 0u);
|
|
{ const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u);
|
|
if (branch_taken) {
|
|
goto L_08ACE948;
|
|
}
|
|
goto L_08ACE928;
|
|
}
|
|
L_08ACE928:
|
|
aot_fpr_13 = ctx.fpr[1] - ctx.fpr[15];
|
|
aot_fpr_12 = ctx.fpr[1] - aot_fpr_12;
|
|
aot_fpr_12 = aot_fpr_13 / aot_fpr_12;
|
|
ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= ctx.fpr[18])) ? 0x00800000u : 0u);
|
|
if (!((ctx.fcr31 & 0x00800000u) != 0u)) {
|
|
aot_fpr_12 = std::bit_cast<float>(std::bit_cast<std::uint32_t>(ctx.fpr[18]));
|
|
goto L_08ACE944;
|
|
}
|
|
goto L_08ACE944;
|
|
L_08ACE944:
|
|
ctx.fpr[18] = std::bit_cast<float>(std::bit_cast<std::uint32_t>(aot_fpr_12));
|
|
goto L_08ACE948;
|
|
L_08ACE948:
|
|
ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((ctx.fpr[2] < aot_fpr_0)) ? 0x00800000u : 0u);
|
|
if (!((ctx.fcr31 & 0x00800000u) != 0u)) {
|
|
aot_fpr_12 = std::bit_cast<float>(std::bit_cast<std::uint32_t>(aot_fpr_0));
|
|
goto L_08ACE960;
|
|
}
|
|
goto L_08ACE958;
|
|
L_08ACE958:
|
|
{ const bool branch_taken = 0u == 0u;
|
|
aot_fpr_12 = std::bit_cast<float>(std::bit_cast<std::uint32_t>(ctx.fpr[2]));
|
|
if (branch_taken) {
|
|
goto L_08ACE960;
|
|
}
|
|
goto L_08ACE960;
|
|
}
|
|
L_08ACE960:
|
|
ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((ctx.fpr[2] <= aot_fpr_0)) ? 0x00800000u : 0u);
|
|
{ const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u);
|
|
if (branch_taken) {
|
|
goto L_08ACE978;
|
|
}
|
|
goto L_08ACE970;
|
|
}
|
|
L_08ACE970:
|
|
{ const bool branch_taken = 0u == 0u;
|
|
aot_fpr_0 = std::bit_cast<float>(std::bit_cast<std::uint32_t>(ctx.fpr[2]));
|
|
if (branch_taken) {
|
|
goto L_08ACE978;
|
|
}
|
|
goto L_08ACE978;
|
|
}
|
|
L_08ACE978:
|
|
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_08ACE998;
|
|
}
|
|
goto L_08ACE988;
|
|
}
|
|
L_08ACE988:
|
|
ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_0 <= ctx.fpr[16])) ? 0x00800000u : 0u);
|
|
{ const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u);
|
|
if (branch_taken) {
|
|
goto L_08ACEA10;
|
|
}
|
|
goto L_08ACE998;
|
|
}
|
|
L_08ACE998:
|
|
ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < ctx.fpr[16])) ? 0x00800000u : 0u);
|
|
{ const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u);
|
|
if (branch_taken) {
|
|
goto L_08ACE9C8;
|
|
}
|
|
goto L_08ACE9A8;
|
|
}
|
|
L_08ACE9A8:
|
|
aot_fpr_13 = ctx.fpr[16] - aot_fpr_12;
|
|
ctx.fpr[14] = aot_fpr_0 - aot_fpr_12;
|
|
aot_fpr_13 = aot_fpr_13 / ctx.fpr[14];
|
|
ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_13 < ctx.fpr[19])) ? 0x00800000u : 0u);
|
|
if (((ctx.fcr31 & 0x00800000u) != 0u)) {
|
|
aot_fpr_13 = std::bit_cast<float>(std::bit_cast<std::uint32_t>(ctx.fpr[19]));
|
|
goto L_08ACE9C4;
|
|
}
|
|
goto L_08ACE9C4;
|
|
L_08ACE9C4:
|
|
ctx.fpr[19] = std::bit_cast<float>(std::bit_cast<std::uint32_t>(aot_fpr_13));
|
|
goto L_08ACE9C8;
|
|
L_08ACE9C8:
|
|
ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_0 <= ctx.fpr[17])) ? 0x00800000u : 0u);
|
|
{ const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u);
|
|
if (branch_taken) {
|
|
goto L_08ACE9F8;
|
|
}
|
|
goto L_08ACE9D8;
|
|
}
|
|
L_08ACE9D8:
|
|
aot_fpr_13 = aot_fpr_0 - ctx.fpr[17];
|
|
aot_fpr_12 = aot_fpr_0 - aot_fpr_12;
|
|
aot_fpr_12 = aot_fpr_13 / aot_fpr_12;
|
|
ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= ctx.fpr[18])) ? 0x00800000u : 0u);
|
|
if (!((ctx.fcr31 & 0x00800000u) != 0u)) {
|
|
aot_fpr_12 = std::bit_cast<float>(std::bit_cast<std::uint32_t>(ctx.fpr[18]));
|
|
goto L_08ACE9F4;
|
|
}
|
|
goto L_08ACE9F4;
|
|
L_08ACE9F4:
|
|
ctx.fpr[18] = std::bit_cast<float>(std::bit_cast<std::uint32_t>(aot_fpr_12));
|
|
goto L_08ACE9F8;
|
|
L_08ACE9F8:
|
|
ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((ctx.fpr[18] < ctx.fpr[19])) ? 0x00800000u : 0u);
|
|
{ const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u);
|
|
if (branch_taken) {
|
|
goto L_08ACEA10;
|
|
}
|
|
goto L_08ACEA08;
|
|
}
|
|
L_08ACEA08:
|
|
{ const bool branch_taken = 0u == 0u;
|
|
aot_gpr_2 = (0u | 1u);
|
|
if (branch_taken) {
|
|
goto L_08ACEA14;
|
|
}
|
|
goto L_08ACEA10;
|
|
}
|
|
L_08ACEA10:
|
|
aot_gpr_2 = (0u | 0u);
|
|
goto L_08ACEA14;
|
|
L_08ACEA14:
|
|
jump_target = aot_gpr_31;
|
|
// PSPRECOMP_V813_JR_FAST_EXIT: preserve the exact 256-transfer boundary; common JR path is shared.
|
|
if (++local_transfers < 256u) goto LOCAL_JR_DISPATCH;
|
|
// PSPRECOMP_V812_SHARED_SCHED_JUMP
|
|
goto LOCAL_SCHED_BOUNDARY;
|
|
L_08ACEA1C:
|
|
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(-688));
|
|
{ const std::uint32_t aot_run_words[6]{ctx.gpr[16], aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_31};
|
|
aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast<std::uint32_t>(664), aot_run_words); }
|
|
aot_gpr_17 = (0u | 0u);
|
|
ctx.gpr[16] = (0u | 1u);
|
|
aot_gpr_4 = (static_cast<std::int32_t>(aot_gpr_17) < 100 ? 1u : 0u);
|
|
{ const bool branch_taken = aot_gpr_4 == 0u;
|
|
aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast<std::uint32_t>(-760), static_cast<std::uint8_t>(0u));
|
|
if (branch_taken) {
|
|
goto L_08ACF83C;
|
|
}
|
|
goto L_08ACEA4C;
|
|
}
|
|
L_08ACEA4C:
|
|
aot_gpr_4 = (2236u << 16u);
|
|
ctx.gpr[18] = (aot_gpr_17 << 6u);
|
|
aot_gpr_4 = (aot_gpr_4 + static_cast<std::uint32_t>(6160));
|
|
ctx.gpr[18] = (ctx.gpr[18] + aot_gpr_4);
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast<std::uint32_t>(4)));
|
|
{ const bool branch_taken = aot_gpr_4 == 0u;
|
|
if (branch_taken) {
|
|
goto L_08ACEA98;
|
|
}
|
|
goto L_08ACEA68;
|
|
}
|
|
L_08ACEA68:
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast<std::uint32_t>(4)));
|
|
aot_gpr_5 = (0u | 3u);
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast<std::uint32_t>(72)));
|
|
aot_gpr_4 = (aot_gpr_4 & 14u);
|
|
aot_gpr_4 = (aot_gpr_4 >> 1u);
|
|
{ const bool branch_taken = aot_gpr_4 != aot_gpr_5;
|
|
if (branch_taken) {
|
|
goto L_08ACEA98;
|
|
}
|
|
goto L_08ACEA84;
|
|
}
|
|
L_08ACEA84:
|
|
aot_gpr_31 = (0x08ACEA8Cu);
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast<std::uint32_t>(4)));
|
|
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0178->0064.
|
|
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
|
|
AOT_REGCACHE_SYNC_OUT();
|
|
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0178_entry, 839u, 0x08ACEA8Cu, 0x08906858u)) {
|
|
#if defined(__clang__)
|
|
[[clang::musttail]] return recomp_unit_0064_entry(rt, ctx, 561u, aot_mem);
|
|
#else
|
|
recomp_unit_0064_entry(rt, ctx, 561u, aot_mem); return;
|
|
#endif
|
|
}
|
|
return;
|
|
#else
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0064_entry, 64u, 561u, 0x08906858u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACEA8Cu) goto L_08ACEA8C;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
#endif
|
|
L_08ACEA8C:
|
|
{ const bool branch_taken = aot_gpr_2 != 0u;
|
|
if (branch_taken) {
|
|
goto L_08ACEA98;
|
|
}
|
|
goto L_08ACEA94;
|
|
}
|
|
L_08ACEA94:
|
|
aot_mem.aot_direct_store32(ctx.gpr[18] + static_cast<std::uint32_t>(4), 0u);
|
|
goto L_08ACEA98;
|
|
L_08ACEA98:
|
|
aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[18] + static_cast<std::uint32_t>(12)));
|
|
{ const bool branch_taken = aot_gpr_4 == 0u;
|
|
if (branch_taken) {
|
|
goto L_08ACF82C;
|
|
}
|
|
goto L_08ACEAA4;
|
|
}
|
|
L_08ACEAA4:
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(7660)));
|
|
aot_fpr_12 = std::bit_cast<float>(aot_gpr_4);
|
|
{ const bool branch_taken = static_cast<std::int32_t>(aot_gpr_4) >= 0;
|
|
aot_fpr_12 = static_cast<float>(static_cast<std::int32_t>(std::bit_cast<std::uint32_t>(aot_fpr_12)));
|
|
if (branch_taken) {
|
|
goto L_08ACEAC0;
|
|
}
|
|
goto L_08ACEAB4;
|
|
}
|
|
L_08ACEAB4:
|
|
aot_gpr_4 = (20352u << 16u);
|
|
aot_fpr_13 = std::bit_cast<float>(aot_gpr_4);
|
|
aot_fpr_12 = aot_fpr_12 + aot_fpr_13;
|
|
goto L_08ACEAC0;
|
|
L_08ACEAC0:
|
|
aot_fpr_13 = std::bit_cast<float>(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast<std::uint32_t>(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_08ACEAD8;
|
|
}
|
|
goto L_08ACEAD4;
|
|
}
|
|
L_08ACEAD4:
|
|
aot_mem.aot_direct_store8(ctx.gpr[18] + static_cast<std::uint32_t>(12), static_cast<std::uint8_t>(0u));
|
|
goto L_08ACEAD8;
|
|
L_08ACEAD8:
|
|
aot_gpr_4 = (ctx.gpr[18] + static_cast<std::uint32_t>(16));
|
|
{ const std::uint32_t vfpu_address = aot_gpr_4 + static_cast<std::uint32_t>(0);
|
|
std::uint32_t vfpu_words[4]{};
|
|
aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words);
|
|
float vfpu_value[4]{
|
|
std::bit_cast<float>(vfpu_words[0]),
|
|
std::bit_cast<float>(vfpu_words[1]),
|
|
std::bit_cast<float>(vfpu_words[2]),
|
|
std::bit_cast<float>(vfpu_words[3])};
|
|
ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); }
|
|
aot_gpr_5 = (aot_gpr_29 + static_cast<std::uint32_t>(80));
|
|
{ float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value);
|
|
const std::uint32_t vfpu_address = aot_gpr_5 + static_cast<std::uint32_t>(0);
|
|
const std::uint32_t vfpu_words[4]{std::bit_cast<std::uint32_t>(vfpu_value[0]), std::bit_cast<std::uint32_t>(vfpu_value[1]), std::bit_cast<std::uint32_t>(vfpu_value[2]), std::bit_cast<std::uint32_t>(vfpu_value[3])};
|
|
aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); }
|
|
aot_fpr_12 = std::bit_cast<float>(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(7676)));
|
|
aot_gpr_5 = (16128u << 16u);
|
|
aot_fpr_13 = std::bit_cast<float>(aot_gpr_5);
|
|
{ const float fs = aot_fpr_12; const float ft = aot_fpr_13; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast<float>(0x7FC00000u); else aot_fpr_12 = fs * ft; }
|
|
aot_gpr_5 = (std::bit_cast<std::uint32_t>(aot_fpr_12));
|
|
ctx.set_vfpu_scalar_bits_ct<28u>(aot_gpr_5);
|
|
aot_gpr_5 = (ctx.gpr[18] + static_cast<std::uint32_t>(32));
|
|
{ const std::uint32_t vfpu_address = aot_gpr_5 + static_cast<std::uint32_t>(0);
|
|
std::uint32_t vfpu_words[4]{};
|
|
aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words);
|
|
float vfpu_value[4]{
|
|
std::bit_cast<float>(vfpu_words[0]),
|
|
std::bit_cast<float>(vfpu_words[1]),
|
|
std::bit_cast<float>(vfpu_words[2]),
|
|
std::bit_cast<float>(vfpu_words[3])};
|
|
ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); }
|
|
ctx.execute_vfpu_vscl_ct<0u, 0u, 28u, 3u>();
|
|
aot_gpr_5 = (aot_gpr_29 + static_cast<std::uint32_t>(128));
|
|
{ float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value);
|
|
const std::uint32_t vfpu_address = aot_gpr_5 + static_cast<std::uint32_t>(0);
|
|
const std::uint32_t vfpu_words[4]{std::bit_cast<std::uint32_t>(vfpu_value[0]), std::bit_cast<std::uint32_t>(vfpu_value[1]), std::bit_cast<std::uint32_t>(vfpu_value[2]), std::bit_cast<std::uint32_t>(vfpu_value[3])};
|
|
aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); }
|
|
{ const std::uint32_t vfpu_address = aot_gpr_4 + static_cast<std::uint32_t>(0);
|
|
std::uint32_t vfpu_words[4]{};
|
|
aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words);
|
|
float vfpu_value[4]{
|
|
std::bit_cast<float>(vfpu_words[0]),
|
|
std::bit_cast<float>(vfpu_words[1]),
|
|
std::bit_cast<float>(vfpu_words[2]),
|
|
std::bit_cast<float>(vfpu_words[3])};
|
|
ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); }
|
|
{ const std::uint32_t vfpu_address = aot_gpr_5 + static_cast<std::uint32_t>(0);
|
|
std::uint32_t vfpu_words[4]{};
|
|
aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words);
|
|
float vfpu_value[4]{
|
|
std::bit_cast<float>(vfpu_words[0]),
|
|
std::bit_cast<float>(vfpu_words[1]),
|
|
std::bit_cast<float>(vfpu_words[2]),
|
|
std::bit_cast<float>(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<std::uint32_t>(112));
|
|
{ float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value);
|
|
const std::uint32_t vfpu_address = aot_gpr_4 + static_cast<std::uint32_t>(0);
|
|
const std::uint32_t vfpu_words[4]{std::bit_cast<std::uint32_t>(vfpu_value[0]), std::bit_cast<std::uint32_t>(vfpu_value[1]), std::bit_cast<std::uint32_t>(vfpu_value[2]), std::bit_cast<std::uint32_t>(vfpu_value[3])};
|
|
aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); }
|
|
{ const std::uint32_t vfpu_address = aot_gpr_4 + static_cast<std::uint32_t>(0);
|
|
std::uint32_t vfpu_words[4]{};
|
|
aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words);
|
|
float vfpu_value[4]{
|
|
std::bit_cast<float>(vfpu_words[0]),
|
|
std::bit_cast<float>(vfpu_words[1]),
|
|
std::bit_cast<float>(vfpu_words[2]),
|
|
std::bit_cast<float>(vfpu_words[3])};
|
|
ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); }
|
|
aot_gpr_4 = (aot_gpr_29 + static_cast<std::uint32_t>(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<std::uint32_t>(0);
|
|
const std::uint32_t vfpu_words[4]{std::bit_cast<std::uint32_t>(vfpu_value[0]), std::bit_cast<std::uint32_t>(vfpu_value[1]), std::bit_cast<std::uint32_t>(vfpu_value[2]), std::bit_cast<std::uint32_t>(vfpu_value[3])};
|
|
aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); }
|
|
aot_fpr_12 = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(96)));
|
|
aot_gpr_4 = (50454u << 16u);
|
|
aot_fpr_13 = std::bit_cast<float>(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_08ACEBA4;
|
|
}
|
|
goto L_08ACEB50;
|
|
}
|
|
L_08ACEB50:
|
|
aot_fpr_12 = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(96)));
|
|
aot_gpr_4 = (17608u << 16u);
|
|
aot_fpr_13 = std::bit_cast<float>(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_08ACEBA4;
|
|
}
|
|
goto L_08ACEB6C;
|
|
}
|
|
L_08ACEB6C:
|
|
aot_fpr_12 = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(100)));
|
|
aot_gpr_4 = (50426u << 16u);
|
|
aot_fpr_13 = std::bit_cast<float>(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_08ACEBA4;
|
|
}
|
|
goto L_08ACEB88;
|
|
}
|
|
L_08ACEB88:
|
|
aot_fpr_12 = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(100)));
|
|
aot_gpr_4 = (17658u << 16u);
|
|
aot_fpr_13 = std::bit_cast<float>(aot_gpr_4);
|
|
ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < aot_fpr_13)) ? 0x00800000u : 0u);
|
|
{ const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u);
|
|
aot_gpr_2 = (0u | 1u);
|
|
if (branch_taken) {
|
|
goto L_08ACEBAC;
|
|
}
|
|
goto L_08ACEBA4;
|
|
}
|
|
L_08ACEBA4:
|
|
{ const bool branch_taken = 0u == 0u;
|
|
aot_mem.aot_direct_store8(ctx.gpr[18] + static_cast<std::uint32_t>(12), static_cast<std::uint8_t>(0u));
|
|
if (branch_taken) {
|
|
goto L_08ACF82C;
|
|
}
|
|
goto L_08ACEBAC;
|
|
}
|
|
L_08ACEBAC:
|
|
aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast<std::uint32_t>(8072), static_cast<std::uint8_t>(aot_gpr_2));
|
|
aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast<std::uint32_t>(8422), static_cast<std::uint8_t>(aot_gpr_2));
|
|
aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast<std::uint32_t>(8423), static_cast<std::uint8_t>(aot_gpr_2));
|
|
aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast<std::uint32_t>(4)));
|
|
aot_gpr_4 = (aot_gpr_29 + static_cast<std::uint32_t>(80));
|
|
aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast<std::uint32_t>(8068), aot_gpr_5);
|
|
{ const std::uint32_t aot_run_words[4]{aot_gpr_2, 0u, 0u, aot_gpr_2};
|
|
aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast<std::uint32_t>(0), aot_run_words); }
|
|
aot_gpr_5 = (aot_gpr_29 + static_cast<std::uint32_t>(96));
|
|
ctx.gpr[6] = (aot_gpr_29 + static_cast<std::uint32_t>(32));
|
|
ctx.gpr[7] = (aot_gpr_29 + static_cast<std::uint32_t>(64));
|
|
ctx.gpr[8] = (0u | 1u);
|
|
ctx.gpr[9] = (0u | 1u);
|
|
ctx.gpr[10] = (0u | 1u);
|
|
ctx.gpr[11] = (0u | 1u);
|
|
aot_gpr_31 = (0x08ACEBF8u);
|
|
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(16), 0u);
|
|
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0178->0036.
|
|
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
|
|
AOT_REGCACHE_SYNC_OUT();
|
|
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0178_entry, 852u, 0x08ACEBF8u, 0x0889786Cu)) {
|
|
#if defined(__clang__)
|
|
[[clang::musttail]] return recomp_unit_0036_entry(rt, ctx, 698u, aot_mem);
|
|
#else
|
|
recomp_unit_0036_entry(rt, ctx, 698u, aot_mem); return;
|
|
#endif
|
|
}
|
|
return;
|
|
#else
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0036_entry, 36u, 698u, 0x0889786Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACEBF8u) goto L_08ACEBF8;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
#endif
|
|
L_08ACEBF8:
|
|
{ const bool branch_taken = aot_gpr_2 == 0u;
|
|
if (branch_taken) {
|
|
goto L_08ACF7BC;
|
|
}
|
|
goto L_08ACEC00;
|
|
}
|
|
L_08ACEC00:
|
|
ctx.gpr[6] = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast<std::uint32_t>(0)));
|
|
aot_gpr_4 = (aot_gpr_29 + static_cast<std::uint32_t>(64));
|
|
aot_gpr_5 = (aot_gpr_29 + static_cast<std::uint32_t>(32));
|
|
ctx.gpr[7] = (aot_gpr_29 + static_cast<std::uint32_t>(80));
|
|
aot_gpr_31 = (0x08ACEC18u);
|
|
ctx.gpr[8] = (aot_gpr_29 + static_cast<std::uint32_t>(96));
|
|
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0178->0147.
|
|
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
|
|
AOT_REGCACHE_SYNC_OUT();
|
|
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0178_entry, 854u, 0x08ACEC18u, 0x08A51450u)) {
|
|
#if defined(__clang__)
|
|
[[clang::musttail]] return recomp_unit_0147_entry(rt, ctx, 169u, aot_mem);
|
|
#else
|
|
recomp_unit_0147_entry(rt, ctx, 169u, aot_mem); return;
|
|
#endif
|
|
}
|
|
return;
|
|
#else
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0147_entry, 147u, 169u, 0x08A51450u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACEC18u) goto L_08ACEC18;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
#endif
|
|
L_08ACEC18:
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(64)));
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast<std::uint32_t>(72)));
|
|
aot_gpr_4 = (aot_gpr_4 & 14u);
|
|
aot_gpr_4 = (aot_gpr_4 ^ 6u);
|
|
aot_gpr_4 = (aot_gpr_4 < static_cast<std::uint32_t>(1) ? 1u : 0u);
|
|
aot_gpr_4 = (aot_gpr_4 & 255u);
|
|
if (aot_gpr_4 == 0u) {
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(64)));
|
|
goto L_08ACEFE4;
|
|
}
|
|
goto L_08ACEC38;
|
|
L_08ACEC38:
|
|
ctx.gpr[19] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(64)));
|
|
aot_gpr_4 = (0u | 57u);
|
|
aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast<std::uint32_t>(2228)));
|
|
{ const bool branch_taken = aot_gpr_5 == aot_gpr_4;
|
|
if (branch_taken) {
|
|
goto L_08ACEDF4;
|
|
}
|
|
goto L_08ACEC4C;
|
|
}
|
|
L_08ACEC4C:
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast<std::uint32_t>(2228)));
|
|
aot_gpr_5 = (0u | 58u);
|
|
{ const bool branch_taken = aot_gpr_4 == aot_gpr_5;
|
|
if (branch_taken) {
|
|
goto L_08ACEDF4;
|
|
}
|
|
goto L_08ACEC5C;
|
|
}
|
|
L_08ACEC5C:
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast<std::uint32_t>(4)));
|
|
{ const bool branch_taken = ctx.gpr[19] == aot_gpr_4;
|
|
if (branch_taken) {
|
|
goto L_08ACEDF4;
|
|
}
|
|
goto L_08ACEC68;
|
|
}
|
|
L_08ACEC68:
|
|
aot_gpr_31 = (0x08ACEC70u);
|
|
aot_gpr_4 = (ctx.gpr[19] | 0u);
|
|
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0178->0064.
|
|
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
|
|
AOT_REGCACHE_SYNC_OUT();
|
|
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0178_entry, 859u, 0x08ACEC70u, 0x08906DE4u)) {
|
|
#if defined(__clang__)
|
|
[[clang::musttail]] return recomp_unit_0064_entry(rt, ctx, 620u, aot_mem);
|
|
#else
|
|
recomp_unit_0064_entry(rt, ctx, 620u, aot_mem); return;
|
|
#endif
|
|
}
|
|
return;
|
|
#else
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0064_entry, 64u, 620u, 0x08906DE4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACEC70u) goto L_08ACEC70;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
#endif
|
|
L_08ACEC70:
|
|
{ const bool branch_taken = aot_gpr_2 == 0u;
|
|
if (branch_taken) {
|
|
goto L_08ACED08;
|
|
}
|
|
goto L_08ACEC78;
|
|
}
|
|
L_08ACEC78:
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast<std::uint32_t>(460)));
|
|
aot_gpr_4 = (aot_gpr_4 & 8192u);
|
|
{ const bool branch_taken = aot_gpr_4 != 0u;
|
|
if (branch_taken) {
|
|
goto L_08ACED08;
|
|
}
|
|
goto L_08ACEC88;
|
|
}
|
|
L_08ACEC88:
|
|
aot_gpr_31 = (0x08ACEC90u);
|
|
aot_gpr_4 = (ctx.gpr[19] | 0u);
|
|
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0178->0067.
|
|
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
|
|
AOT_REGCACHE_SYNC_OUT();
|
|
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0178_entry, 862u, 0x08ACEC90u, 0x08911284u)) {
|
|
#if defined(__clang__)
|
|
[[clang::musttail]] return recomp_unit_0067_entry(rt, ctx, 327u, aot_mem);
|
|
#else
|
|
recomp_unit_0067_entry(rt, ctx, 327u, aot_mem); return;
|
|
#endif
|
|
}
|
|
return;
|
|
#else
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0067_entry, 67u, 327u, 0x08911284u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACEC90u) goto L_08ACEC90;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
#endif
|
|
L_08ACEC90:
|
|
{ const bool branch_taken = aot_gpr_2 == 0u;
|
|
if (branch_taken) {
|
|
goto L_08ACED08;
|
|
}
|
|
goto L_08ACEC98;
|
|
}
|
|
L_08ACEC98:
|
|
aot_gpr_31 = (0x08ACECA0u);
|
|
aot_gpr_4 = (ctx.gpr[19] | 0u);
|
|
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0178->0055.
|
|
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
|
|
AOT_REGCACHE_SYNC_OUT();
|
|
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0178_entry, 864u, 0x08ACECA0u, 0x088E2A9Cu)) {
|
|
#if defined(__clang__)
|
|
[[clang::musttail]] return recomp_unit_0055_entry(rt, ctx, 281u, aot_mem);
|
|
#else
|
|
recomp_unit_0055_entry(rt, ctx, 281u, aot_mem); return;
|
|
#endif
|
|
}
|
|
return;
|
|
#else
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0055_entry, 55u, 281u, 0x088E2A9Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACECA0u) goto L_08ACECA0;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
#endif
|
|
L_08ACECA0:
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(5836)));
|
|
if (aot_gpr_4 != 0u) {
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(5836)));
|
|
goto L_08ACECB8;
|
|
}
|
|
goto L_08ACECAC;
|
|
L_08ACECAC:
|
|
aot_gpr_31 = (0x08ACECB4u);
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 313u, 0x08B65564u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACECB4u) goto L_08ACECB4;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
L_08ACECB4:
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(5836)));
|
|
goto L_08ACECB8;
|
|
L_08ACECB8:
|
|
aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast<std::uint32_t>(80)));
|
|
aot_gpr_31 = (0x08ACECC4u);
|
|
ctx.gpr[6] = (0u | 32u);
|
|
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0178->0078.
|
|
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
|
|
AOT_REGCACHE_SYNC_OUT();
|
|
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0178_entry, 868u, 0x08ACECC4u, 0x0893E5E0u)) {
|
|
#if defined(__clang__)
|
|
[[clang::musttail]] return recomp_unit_0078_entry(rt, ctx, 600u, aot_mem);
|
|
#else
|
|
recomp_unit_0078_entry(rt, ctx, 600u, aot_mem); return;
|
|
#endif
|
|
}
|
|
return;
|
|
#else
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0078_entry, 78u, 600u, 0x0893E5E0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACECC4u) goto L_08ACECC4;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
#endif
|
|
L_08ACECC4:
|
|
{ const bool branch_taken = aot_gpr_2 != 0u;
|
|
if (branch_taken) {
|
|
goto L_08ACED08;
|
|
}
|
|
goto L_08ACECCC;
|
|
}
|
|
L_08ACECCC:
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(5836)));
|
|
if (aot_gpr_4 != 0u) {
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(5836)));
|
|
goto L_08ACECE4;
|
|
}
|
|
goto L_08ACECD8;
|
|
L_08ACECD8:
|
|
aot_gpr_31 = (0x08ACECE0u);
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 313u, 0x08B65564u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACECE0u) goto L_08ACECE0;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
L_08ACECE0:
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(5836)));
|
|
goto L_08ACECE4;
|
|
L_08ACECE4:
|
|
aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast<std::uint32_t>(80)));
|
|
ctx.gpr[6] = (0u | 0u);
|
|
aot_gpr_31 = (0x08ACECF4u);
|
|
ctx.gpr[7] = (0u | 32u);
|
|
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0178->0078.
|
|
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
|
|
AOT_REGCACHE_SYNC_OUT();
|
|
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0178_entry, 873u, 0x08ACECF4u, 0x0893E914u)) {
|
|
#if defined(__clang__)
|
|
[[clang::musttail]] return recomp_unit_0078_entry(rt, ctx, 635u, aot_mem);
|
|
#else
|
|
recomp_unit_0078_entry(rt, ctx, 635u, aot_mem); return;
|
|
#endif
|
|
}
|
|
return;
|
|
#else
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0078_entry, 78u, 635u, 0x0893E914u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACECF4u) goto L_08ACECF4;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
#endif
|
|
L_08ACECF4:
|
|
aot_fpr_12 = std::bit_cast<float>(0u);
|
|
aot_gpr_4 = (16640u << 16u);
|
|
aot_mem.aot_direct_store32(aot_gpr_2 + static_cast<std::uint32_t>(16), std::bit_cast<std::uint32_t>(aot_fpr_12));
|
|
aot_fpr_12 = std::bit_cast<float>(aot_gpr_4);
|
|
aot_mem.aot_direct_store32(aot_gpr_2 + static_cast<std::uint32_t>(36), std::bit_cast<std::uint32_t>(aot_fpr_12));
|
|
goto L_08ACED08;
|
|
L_08ACED08:
|
|
aot_fpr_12 = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(32)));
|
|
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(192), std::bit_cast<std::uint32_t>(aot_fpr_12));
|
|
aot_fpr_12 = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(36)));
|
|
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(196), std::bit_cast<std::uint32_t>(aot_fpr_12));
|
|
aot_fpr_12 = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(40)));
|
|
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(200), std::bit_cast<std::uint32_t>(aot_fpr_12));
|
|
aot_gpr_4 = (ctx.gpr[19] + static_cast<std::uint32_t>(48));
|
|
{ const std::uint32_t vfpu_address = aot_gpr_4 + static_cast<std::uint32_t>(0);
|
|
std::uint32_t vfpu_words[4]{};
|
|
aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words);
|
|
float vfpu_value[4]{
|
|
std::bit_cast<float>(vfpu_words[0]),
|
|
std::bit_cast<float>(vfpu_words[1]),
|
|
std::bit_cast<float>(vfpu_words[2]),
|
|
std::bit_cast<float>(vfpu_words[3])};
|
|
ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); }
|
|
aot_gpr_4 = (aot_gpr_29 + static_cast<std::uint32_t>(192));
|
|
{ const std::uint32_t vfpu_address = aot_gpr_4 + static_cast<std::uint32_t>(0);
|
|
std::uint32_t vfpu_words[4]{};
|
|
aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words);
|
|
float vfpu_value[4]{
|
|
std::bit_cast<float>(vfpu_words[0]),
|
|
std::bit_cast<float>(vfpu_words[1]),
|
|
std::bit_cast<float>(vfpu_words[2]),
|
|
std::bit_cast<float>(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<std::uint32_t>(176));
|
|
{ float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value);
|
|
const std::uint32_t vfpu_address = aot_gpr_4 + static_cast<std::uint32_t>(0);
|
|
const std::uint32_t vfpu_words[4]{std::bit_cast<std::uint32_t>(vfpu_value[0]), std::bit_cast<std::uint32_t>(vfpu_value[1]), std::bit_cast<std::uint32_t>(vfpu_value[2]), std::bit_cast<std::uint32_t>(vfpu_value[3])};
|
|
aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); }
|
|
aot_fpr_12 = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(176)));
|
|
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(208), std::bit_cast<std::uint32_t>(aot_fpr_12));
|
|
aot_fpr_12 = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(180)));
|
|
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(212), std::bit_cast<std::uint32_t>(aot_fpr_12));
|
|
aot_gpr_5 = (aot_gpr_29 + static_cast<std::uint32_t>(208));
|
|
aot_gpr_31 = (0x08ACED58u);
|
|
aot_gpr_4 = (ctx.gpr[19] | 0u);
|
|
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0178->0064.
|
|
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
|
|
AOT_REGCACHE_SYNC_OUT();
|
|
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0178_entry, 875u, 0x08ACED58u, 0x08906DC4u)) {
|
|
#if defined(__clang__)
|
|
[[clang::musttail]] return recomp_unit_0064_entry(rt, ctx, 618u, aot_mem);
|
|
#else
|
|
recomp_unit_0064_entry(rt, ctx, 618u, aot_mem); return;
|
|
#endif
|
|
}
|
|
return;
|
|
#else
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0064_entry, 64u, 618u, 0x08906DC4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACED58u) goto L_08ACED58;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
#endif
|
|
L_08ACED58:
|
|
aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast<std::uint32_t>(4)));
|
|
ctx.gpr[6] = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast<std::uint32_t>(0)));
|
|
aot_gpr_4 = (static_cast<std::uint32_t>(static_cast<std::int32_t>(static_cast<std::int16_t>(aot_mem.aot_direct_load16(ctx.gpr[18] + static_cast<std::uint32_t>(48))))));
|
|
aot_fpr_12 = std::bit_cast<float>(aot_gpr_4);
|
|
aot_fpr_12 = static_cast<float>(static_cast<std::int32_t>(std::bit_cast<std::uint32_t>(aot_fpr_12)));
|
|
ctx.gpr[7] = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast<std::uint32_t>(63)));
|
|
aot_gpr_4 = (ctx.gpr[19] | 0u);
|
|
ctx.gpr[8] = (aot_gpr_2 | 0u);
|
|
aot_gpr_31 = (0x08ACED80u);
|
|
ctx.gpr[9] = (0u | 0u);
|
|
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0178->0057.
|
|
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
|
|
AOT_REGCACHE_SYNC_OUT();
|
|
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0178_entry, 876u, 0x08ACED80u, 0x088EB674u)) {
|
|
#if defined(__clang__)
|
|
[[clang::musttail]] return recomp_unit_0057_entry(rt, ctx, 692u, aot_mem);
|
|
#else
|
|
recomp_unit_0057_entry(rt, ctx, 692u, aot_mem); return;
|
|
#endif
|
|
}
|
|
return;
|
|
#else
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0057_entry, 57u, 692u, 0x088EB674u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACED80u) goto L_08ACED80;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
#endif
|
|
L_08ACED80:
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast<std::uint32_t>(1360)));
|
|
aot_gpr_5 = (0u | 6u);
|
|
{ const bool branch_taken = aot_gpr_4 != aot_gpr_5;
|
|
if (branch_taken) {
|
|
goto L_08ACEDB0;
|
|
}
|
|
goto L_08ACED90;
|
|
}
|
|
L_08ACED90:
|
|
ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(64)));
|
|
ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast<std::uint32_t>(4)));
|
|
aot_gpr_4 = (0u | 12u);
|
|
aot_gpr_5 = (0u | 1u);
|
|
aot_gpr_31 = (0x08ACEDA8u);
|
|
ctx.gpr[8] = (0u | 1000u);
|
|
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0178->0095.
|
|
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
|
|
AOT_REGCACHE_SYNC_OUT();
|
|
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0178_entry, 878u, 0x08ACEDA8u, 0x0898019Cu)) {
|
|
#if defined(__clang__)
|
|
[[clang::musttail]] return recomp_unit_0095_entry(rt, ctx, 24u, aot_mem);
|
|
#else
|
|
recomp_unit_0095_entry(rt, ctx, 24u, aot_mem); return;
|
|
#endif
|
|
}
|
|
return;
|
|
#else
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0095_entry, 95u, 24u, 0x0898019Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACEDA8u) goto L_08ACEDA8;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
#endif
|
|
L_08ACEDA8:
|
|
{ const bool branch_taken = 0u == 0u;
|
|
if (branch_taken) {
|
|
goto L_08ACEDC8;
|
|
}
|
|
goto L_08ACEDB0;
|
|
}
|
|
L_08ACEDB0:
|
|
ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(64)));
|
|
ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast<std::uint32_t>(4)));
|
|
aot_gpr_4 = (0u | 11u);
|
|
aot_gpr_5 = (0u | 1u);
|
|
aot_gpr_31 = (0x08ACEDC8u);
|
|
ctx.gpr[8] = (0u | 1000u);
|
|
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0178->0095.
|
|
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
|
|
AOT_REGCACHE_SYNC_OUT();
|
|
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0178_entry, 880u, 0x08ACEDC8u, 0x0898019Cu)) {
|
|
#if defined(__clang__)
|
|
[[clang::musttail]] return recomp_unit_0095_entry(rt, ctx, 24u, aot_mem);
|
|
#else
|
|
recomp_unit_0095_entry(rt, ctx, 24u, aot_mem); return;
|
|
#endif
|
|
}
|
|
return;
|
|
#else
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0095_entry, 95u, 24u, 0x0898019Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACEDC8u) goto L_08ACEDC8;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
#endif
|
|
L_08ACEDC8:
|
|
aot_mem.aot_direct_store8(ctx.gpr[18] + static_cast<std::uint32_t>(12), static_cast<std::uint8_t>(0u));
|
|
aot_fpr_12 = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(32)));
|
|
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(192), std::bit_cast<std::uint32_t>(aot_fpr_12));
|
|
aot_fpr_12 = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(36)));
|
|
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(196), std::bit_cast<std::uint32_t>(aot_fpr_12));
|
|
aot_fpr_12 = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(40)));
|
|
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(200), std::bit_cast<std::uint32_t>(aot_fpr_12));
|
|
aot_gpr_4 = (aot_gpr_29 + static_cast<std::uint32_t>(192));
|
|
{ const std::uint32_t vfpu_address = aot_gpr_4 + static_cast<std::uint32_t>(0);
|
|
std::uint32_t vfpu_words[4]{};
|
|
aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words);
|
|
float vfpu_value[4]{
|
|
std::bit_cast<float>(vfpu_words[0]),
|
|
std::bit_cast<float>(vfpu_words[1]),
|
|
std::bit_cast<float>(vfpu_words[2]),
|
|
std::bit_cast<float>(vfpu_words[3])};
|
|
ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); }
|
|
aot_gpr_4 = (aot_gpr_29 + static_cast<std::uint32_t>(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<std::uint32_t>(0);
|
|
const std::uint32_t vfpu_words[4]{std::bit_cast<std::uint32_t>(vfpu_value[0]), std::bit_cast<std::uint32_t>(vfpu_value[1]), std::bit_cast<std::uint32_t>(vfpu_value[2]), std::bit_cast<std::uint32_t>(vfpu_value[3])};
|
|
aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); }
|
|
goto L_08ACEDF4;
|
|
L_08ACEDF4:
|
|
aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast<std::uint32_t>(-1040)));
|
|
{ const bool branch_taken = aot_gpr_4 == 0u;
|
|
if (branch_taken) {
|
|
goto L_08ACF564;
|
|
}
|
|
goto L_08ACEE00;
|
|
}
|
|
L_08ACEE00:
|
|
aot_fpr_12 = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(32)));
|
|
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(240), std::bit_cast<std::uint32_t>(aot_fpr_12));
|
|
aot_fpr_12 = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(36)));
|
|
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(244), std::bit_cast<std::uint32_t>(aot_fpr_12));
|
|
aot_fpr_12 = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(40)));
|
|
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(248), std::bit_cast<std::uint32_t>(aot_fpr_12));
|
|
aot_gpr_4 = (aot_gpr_29 + static_cast<std::uint32_t>(240));
|
|
{ const std::uint32_t vfpu_address = aot_gpr_4 + static_cast<std::uint32_t>(0);
|
|
std::uint32_t vfpu_words[4]{};
|
|
aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words);
|
|
float vfpu_value[4]{
|
|
std::bit_cast<float>(vfpu_words[0]),
|
|
std::bit_cast<float>(vfpu_words[1]),
|
|
std::bit_cast<float>(vfpu_words[2]),
|
|
std::bit_cast<float>(vfpu_words[3])};
|
|
ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); }
|
|
aot_gpr_4 = (ctx.gpr[19] + static_cast<std::uint32_t>(48));
|
|
{ const std::uint32_t vfpu_address = aot_gpr_4 + static_cast<std::uint32_t>(0);
|
|
std::uint32_t vfpu_words[4]{};
|
|
aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words);
|
|
float vfpu_value[4]{
|
|
std::bit_cast<float>(vfpu_words[0]),
|
|
std::bit_cast<float>(vfpu_words[1]),
|
|
std::bit_cast<float>(vfpu_words[2]),
|
|
std::bit_cast<float>(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<std::uint32_t>(224));
|
|
{ float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value);
|
|
const std::uint32_t vfpu_address = aot_gpr_4 + static_cast<std::uint32_t>(0);
|
|
const std::uint32_t vfpu_words[4]{std::bit_cast<std::uint32_t>(vfpu_value[0]), std::bit_cast<std::uint32_t>(vfpu_value[1]), std::bit_cast<std::uint32_t>(vfpu_value[2]), std::bit_cast<std::uint32_t>(vfpu_value[3])};
|
|
aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); }
|
|
aot_gpr_5 = (15395u << 16u);
|
|
aot_gpr_5 = (aot_gpr_5 | 55050u);
|
|
aot_fpr_12 = std::bit_cast<float>(aot_gpr_5);
|
|
aot_gpr_5 = (std::bit_cast<std::uint32_t>(aot_fpr_12));
|
|
ctx.set_vfpu_scalar_bits_ct<28u>(aot_gpr_5);
|
|
{ const std::uint32_t vfpu_address = aot_gpr_4 + static_cast<std::uint32_t>(0);
|
|
std::uint32_t vfpu_words[4]{};
|
|
aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words);
|
|
float vfpu_value[4]{
|
|
std::bit_cast<float>(vfpu_words[0]),
|
|
std::bit_cast<float>(vfpu_words[1]),
|
|
std::bit_cast<float>(vfpu_words[2]),
|
|
std::bit_cast<float>(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<std::uint32_t>(256));
|
|
{ float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value);
|
|
const std::uint32_t vfpu_address = aot_gpr_4 + static_cast<std::uint32_t>(0);
|
|
const std::uint32_t vfpu_words[4]{std::bit_cast<std::uint32_t>(vfpu_value[0]), std::bit_cast<std::uint32_t>(vfpu_value[1]), std::bit_cast<std::uint32_t>(vfpu_value[2]), std::bit_cast<std::uint32_t>(vfpu_value[3])};
|
|
aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); }
|
|
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(264), std::bit_cast<std::uint32_t>(aot_fpr_12));
|
|
aot_gpr_31 = (0x08ACEE64u);
|
|
aot_gpr_4 = (ctx.gpr[19] | 0u);
|
|
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0178->0179.
|
|
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
|
|
AOT_REGCACHE_SYNC_OUT();
|
|
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0178_entry, 883u, 0x08ACEE64u, 0x08AD0530u)) {
|
|
#if defined(__clang__)
|
|
[[clang::musttail]] return recomp_unit_0179_entry(rt, ctx, 50u, aot_mem);
|
|
#else
|
|
recomp_unit_0179_entry(rt, ctx, 50u, aot_mem); return;
|
|
#endif
|
|
}
|
|
return;
|
|
#else
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0179_entry, 179u, 50u, 0x08AD0530u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACEE64u) goto L_08ACEE64;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
#endif
|
|
L_08ACEE64:
|
|
{ const bool branch_taken = aot_gpr_2 == 0u;
|
|
if (branch_taken) {
|
|
goto L_08ACEEF4;
|
|
}
|
|
goto L_08ACEE6C;
|
|
}
|
|
L_08ACEE6C:
|
|
ctx.gpr[20] = (0u | 0u);
|
|
aot_gpr_4 = (static_cast<std::int32_t>(ctx.gpr[20]) < 8 ? 1u : 0u);
|
|
{ const bool branch_taken = aot_gpr_4 == 0u;
|
|
if (branch_taken) {
|
|
goto L_08ACEEF4;
|
|
}
|
|
goto L_08ACEE7C;
|
|
}
|
|
L_08ACEE7C:
|
|
aot_fpr_12 = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(32)));
|
|
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(288), std::bit_cast<std::uint32_t>(aot_fpr_12));
|
|
aot_fpr_12 = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(36)));
|
|
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(292), std::bit_cast<std::uint32_t>(aot_fpr_12));
|
|
aot_fpr_12 = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(40)));
|
|
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(296), std::bit_cast<std::uint32_t>(aot_fpr_12));
|
|
aot_fpr_12 = std::bit_cast<float>(0u);
|
|
{ const std::uint32_t aot_run_words[3]{std::bit_cast<std::uint32_t>(aot_fpr_12), std::bit_cast<std::uint32_t>(aot_fpr_12), std::bit_cast<std::uint32_t>(aot_fpr_12)};
|
|
aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast<std::uint32_t>(304), aot_run_words); }
|
|
aot_gpr_4 = (aot_gpr_29 + static_cast<std::uint32_t>(288));
|
|
{ const std::uint32_t vfpu_address = aot_gpr_4 + static_cast<std::uint32_t>(0);
|
|
std::uint32_t vfpu_words[4]{};
|
|
aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words);
|
|
float vfpu_value[4]{
|
|
std::bit_cast<float>(vfpu_words[0]),
|
|
std::bit_cast<float>(vfpu_words[1]),
|
|
std::bit_cast<float>(vfpu_words[2]),
|
|
std::bit_cast<float>(vfpu_words[3])};
|
|
ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); }
|
|
aot_gpr_4 = (aot_gpr_29 + static_cast<std::uint32_t>(304));
|
|
{ const std::uint32_t vfpu_address = aot_gpr_4 + static_cast<std::uint32_t>(0);
|
|
std::uint32_t vfpu_words[4]{};
|
|
aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words);
|
|
float vfpu_value[4]{
|
|
std::bit_cast<float>(vfpu_words[0]),
|
|
std::bit_cast<float>(vfpu_words[1]),
|
|
std::bit_cast<float>(vfpu_words[2]),
|
|
std::bit_cast<float>(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<std::uint32_t>(272));
|
|
{ float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value);
|
|
const std::uint32_t vfpu_address = aot_gpr_5 + static_cast<std::uint32_t>(0);
|
|
const std::uint32_t vfpu_words[4]{std::bit_cast<std::uint32_t>(vfpu_value[0]), std::bit_cast<std::uint32_t>(vfpu_value[1]), std::bit_cast<std::uint32_t>(vfpu_value[2]), std::bit_cast<std::uint32_t>(vfpu_value[3])};
|
|
aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); }
|
|
ctx.gpr[6] = (aot_gpr_29 + static_cast<std::uint32_t>(256));
|
|
aot_gpr_4 = (0u | 7u);
|
|
ctx.gpr[7] = (0u | 0u);
|
|
ctx.gpr[8] = (0u | 0u);
|
|
ctx.gpr[9] = (0u | 0u);
|
|
ctx.gpr[10] = (0u | 0u);
|
|
aot_gpr_31 = (0x08ACEEE0u);
|
|
ctx.gpr[11] = (0u | 0u);
|
|
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0178->0062.
|
|
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
|
|
AOT_REGCACHE_SYNC_OUT();
|
|
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0178_entry, 886u, 0x08ACEEE0u, 0x088FF060u)) {
|
|
#if defined(__clang__)
|
|
[[clang::musttail]] return recomp_unit_0062_entry(rt, ctx, 716u, aot_mem);
|
|
#else
|
|
recomp_unit_0062_entry(rt, ctx, 716u, aot_mem); return;
|
|
#endif
|
|
}
|
|
return;
|
|
#else
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0062_entry, 62u, 716u, 0x088FF060u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACEEE0u) goto L_08ACEEE0;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
#endif
|
|
L_08ACEEE0:
|
|
ctx.gpr[20] = (ctx.gpr[20] + static_cast<std::uint32_t>(1));
|
|
ctx.gpr[20] = (ctx.gpr[20] & 255u);
|
|
aot_gpr_4 = (static_cast<std::int32_t>(ctx.gpr[20]) < 8 ? 1u : 0u);
|
|
{ const bool branch_taken = aot_gpr_4 != 0u;
|
|
if (branch_taken) {
|
|
goto L_08ACEE7C;
|
|
}
|
|
goto L_08ACEEF4;
|
|
}
|
|
L_08ACEEF4:
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast<std::uint32_t>(2228)));
|
|
aot_gpr_5 = (0u | 58u);
|
|
{ const bool branch_taken = aot_gpr_4 != aot_gpr_5;
|
|
if (branch_taken) {
|
|
goto L_08ACEFB0;
|
|
}
|
|
goto L_08ACEF04;
|
|
}
|
|
L_08ACEF04:
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast<std::uint32_t>(80)));
|
|
aot_gpr_31 = (0x08ACEF10u);
|
|
aot_gpr_5 = (0u | 4096u);
|
|
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0178->0026.
|
|
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
|
|
AOT_REGCACHE_SYNC_OUT();
|
|
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0178_entry, 889u, 0x08ACEF10u, 0x0886D4F4u)) {
|
|
#if defined(__clang__)
|
|
[[clang::musttail]] return recomp_unit_0026_entry(rt, ctx, 211u, aot_mem);
|
|
#else
|
|
recomp_unit_0026_entry(rt, ctx, 211u, aot_mem); return;
|
|
#endif
|
|
}
|
|
return;
|
|
#else
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0026_entry, 26u, 211u, 0x0886D4F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACEF10u) goto L_08ACEF10;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
#endif
|
|
L_08ACEF10:
|
|
{ const bool branch_taken = aot_gpr_2 == 0u;
|
|
if (branch_taken) {
|
|
goto L_08ACEF50;
|
|
}
|
|
goto L_08ACEF18;
|
|
}
|
|
L_08ACEF18:
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(5836)));
|
|
if (aot_gpr_4 != 0u) {
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(5836)));
|
|
goto L_08ACEF30;
|
|
}
|
|
goto L_08ACEF24;
|
|
L_08ACEF24:
|
|
aot_gpr_31 = (0x08ACEF2Cu);
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 313u, 0x08B65564u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACEF2Cu) goto L_08ACEF2C;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
L_08ACEF2C:
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(5836)));
|
|
goto L_08ACEF30;
|
|
L_08ACEF30:
|
|
ctx.gpr[8] = (16640u << 16u);
|
|
aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast<std::uint32_t>(80)));
|
|
aot_fpr_12 = std::bit_cast<float>(ctx.gpr[8]);
|
|
ctx.gpr[6] = (0u | 0u);
|
|
aot_gpr_31 = (0x08ACEF48u);
|
|
ctx.gpr[7] = (0u | 42u);
|
|
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0178->0078.
|
|
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
|
|
AOT_REGCACHE_SYNC_OUT();
|
|
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0178_entry, 894u, 0x08ACEF48u, 0x0893EA14u)) {
|
|
#if defined(__clang__)
|
|
[[clang::musttail]] return recomp_unit_0078_entry(rt, ctx, 650u, aot_mem);
|
|
#else
|
|
recomp_unit_0078_entry(rt, ctx, 650u, aot_mem); return;
|
|
#endif
|
|
}
|
|
return;
|
|
#else
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0078_entry, 78u, 650u, 0x0893EA14u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACEF48u) goto L_08ACEF48;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
#endif
|
|
L_08ACEF48:
|
|
{ const bool branch_taken = 0u == 0u;
|
|
ctx.gpr[19] = (aot_gpr_2 | 0u);
|
|
if (branch_taken) {
|
|
goto L_08ACEF84;
|
|
}
|
|
goto L_08ACEF50;
|
|
}
|
|
L_08ACEF50:
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(5836)));
|
|
if (aot_gpr_4 != 0u) {
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(5836)));
|
|
goto L_08ACEF68;
|
|
}
|
|
goto L_08ACEF5C;
|
|
L_08ACEF5C:
|
|
aot_gpr_31 = (0x08ACEF64u);
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 313u, 0x08B65564u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACEF64u) goto L_08ACEF64;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
L_08ACEF64:
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(5836)));
|
|
goto L_08ACEF68;
|
|
L_08ACEF68:
|
|
ctx.gpr[8] = (16640u << 16u);
|
|
aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast<std::uint32_t>(80)));
|
|
aot_fpr_12 = std::bit_cast<float>(ctx.gpr[8]);
|
|
ctx.gpr[6] = (0u | 0u);
|
|
aot_gpr_31 = (0x08ACEF80u);
|
|
ctx.gpr[7] = (0u | 40u);
|
|
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0178->0078.
|
|
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
|
|
AOT_REGCACHE_SYNC_OUT();
|
|
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0178_entry, 899u, 0x08ACEF80u, 0x0893EA14u)) {
|
|
#if defined(__clang__)
|
|
[[clang::musttail]] return recomp_unit_0078_entry(rt, ctx, 650u, aot_mem);
|
|
#else
|
|
recomp_unit_0078_entry(rt, ctx, 650u, aot_mem); return;
|
|
#endif
|
|
}
|
|
return;
|
|
#else
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0078_entry, 78u, 650u, 0x0893EA14u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACEF80u) goto L_08ACEF80;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
#endif
|
|
L_08ACEF80:
|
|
ctx.gpr[19] = (aot_gpr_2 | 0u);
|
|
goto L_08ACEF84;
|
|
L_08ACEF84:
|
|
{ const bool branch_taken = ctx.gpr[19] == 0u;
|
|
if (branch_taken) {
|
|
goto L_08ACEFB0;
|
|
}
|
|
goto L_08ACEF8C;
|
|
}
|
|
L_08ACEF8C:
|
|
aot_fpr_12 = std::bit_cast<float>(0u);
|
|
aot_gpr_31 = (0x08ACEF98u);
|
|
aot_gpr_4 = (ctx.gpr[19] | 0u);
|
|
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0178->0035.
|
|
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
|
|
AOT_REGCACHE_SYNC_OUT();
|
|
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0178_entry, 902u, 0x08ACEF98u, 0x08890474u)) {
|
|
#if defined(__clang__)
|
|
[[clang::musttail]] return recomp_unit_0035_entry(rt, ctx, 73u, aot_mem);
|
|
#else
|
|
recomp_unit_0035_entry(rt, ctx, 73u, aot_mem); return;
|
|
#endif
|
|
}
|
|
return;
|
|
#else
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0035_entry, 35u, 73u, 0x08890474u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACEF98u) goto L_08ACEF98;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
#endif
|
|
L_08ACEF98:
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast<std::uint32_t>(8)));
|
|
aot_gpr_5 = (0u + static_cast<std::uint32_t>(-9));
|
|
aot_gpr_4 = (aot_gpr_4 | 1u);
|
|
aot_mem.aot_direct_store32(ctx.gpr[19] + static_cast<std::uint32_t>(8), aot_gpr_4);
|
|
aot_gpr_4 = (aot_gpr_4 & aot_gpr_5);
|
|
aot_mem.aot_direct_store32(ctx.gpr[19] + static_cast<std::uint32_t>(8), aot_gpr_4);
|
|
goto L_08ACEFB0;
|
|
L_08ACEFB0:
|
|
aot_mem.aot_direct_store8(ctx.gpr[18] + static_cast<std::uint32_t>(12), static_cast<std::uint8_t>(0u));
|
|
aot_fpr_12 = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(32)));
|
|
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(240), std::bit_cast<std::uint32_t>(aot_fpr_12));
|
|
aot_fpr_12 = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(36)));
|
|
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(244), std::bit_cast<std::uint32_t>(aot_fpr_12));
|
|
aot_fpr_12 = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(40)));
|
|
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(248), std::bit_cast<std::uint32_t>(aot_fpr_12));
|
|
aot_gpr_4 = (aot_gpr_29 + static_cast<std::uint32_t>(240));
|
|
{ const std::uint32_t vfpu_address = aot_gpr_4 + static_cast<std::uint32_t>(0);
|
|
std::uint32_t vfpu_words[4]{};
|
|
aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words);
|
|
float vfpu_value[4]{
|
|
std::bit_cast<float>(vfpu_words[0]),
|
|
std::bit_cast<float>(vfpu_words[1]),
|
|
std::bit_cast<float>(vfpu_words[2]),
|
|
std::bit_cast<float>(vfpu_words[3])};
|
|
ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); }
|
|
aot_gpr_4 = (aot_gpr_29 + static_cast<std::uint32_t>(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<std::uint32_t>(0);
|
|
const std::uint32_t vfpu_words[4]{std::bit_cast<std::uint32_t>(vfpu_value[0]), std::bit_cast<std::uint32_t>(vfpu_value[1]), std::bit_cast<std::uint32_t>(vfpu_value[2]), std::bit_cast<std::uint32_t>(vfpu_value[3])};
|
|
aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); }
|
|
{ const bool branch_taken = 0u == 0u;
|
|
if (branch_taken) {
|
|
goto L_08ACF564;
|
|
}
|
|
goto L_08ACEFE4;
|
|
}
|
|
L_08ACEFE4:
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast<std::uint32_t>(72)));
|
|
aot_gpr_4 = (aot_gpr_4 & 14u);
|
|
aot_gpr_4 = (aot_gpr_4 ^ 4u);
|
|
aot_gpr_4 = (aot_gpr_4 < static_cast<std::uint32_t>(1) ? 1u : 0u);
|
|
aot_gpr_4 = (aot_gpr_4 & 255u);
|
|
{ const bool branch_taken = aot_gpr_4 == 0u;
|
|
if (branch_taken) {
|
|
goto L_08ACF288;
|
|
}
|
|
goto L_08ACF000;
|
|
}
|
|
L_08ACF000:
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast<std::uint32_t>(4)));
|
|
{ const bool branch_taken = aot_gpr_4 == 0u;
|
|
if (branch_taken) {
|
|
goto L_08ACF040;
|
|
}
|
|
goto L_08ACF00C;
|
|
}
|
|
L_08ACF00C:
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast<std::uint32_t>(4)));
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast<std::uint32_t>(72)));
|
|
aot_gpr_4 = (aot_gpr_4 & 14u);
|
|
aot_gpr_4 = (aot_gpr_4 ^ 6u);
|
|
aot_gpr_4 = (aot_gpr_4 < static_cast<std::uint32_t>(1) ? 1u : 0u);
|
|
aot_gpr_4 = (aot_gpr_4 & 255u);
|
|
{ const bool branch_taken = aot_gpr_4 == 0u;
|
|
if (branch_taken) {
|
|
goto L_08ACF040;
|
|
}
|
|
goto L_08ACF02C;
|
|
}
|
|
L_08ACF02C:
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast<std::uint32_t>(4)));
|
|
aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(64)));
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast<std::uint32_t>(2120)));
|
|
{ const bool branch_taken = aot_gpr_4 == aot_gpr_5;
|
|
if (branch_taken) {
|
|
goto L_08ACF564;
|
|
}
|
|
goto L_08ACF040;
|
|
}
|
|
L_08ACF040:
|
|
aot_gpr_31 = (0x08ACF048u);
|
|
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, ctx.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 == 0x08ACF048u) goto L_08ACF048;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
L_08ACF048:
|
|
ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(-692)));
|
|
ctx.gpr[6] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(-696)));
|
|
aot_gpr_4 = (aot_gpr_2 | 0u);
|
|
aot_gpr_31 = (0x08ACF05Cu);
|
|
aot_gpr_5 = (0u | 0u);
|
|
if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60E5C, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, aot_gpr_2, ctx.gpr[3], aot_gpr_4, aot_gpr_5, ctx.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 == 0x08ACF05Cu) goto L_08ACF05C;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
L_08ACF05C:
|
|
ctx.gpr[1] = (ctx.gpr[3] << 1u);
|
|
aot_gpr_4 = (aot_gpr_2 >> 31u);
|
|
aot_gpr_5 = (static_cast<std::uint32_t>(static_cast<std::int32_t>(ctx.gpr[3]) >> 31u));
|
|
aot_gpr_4 = (ctx.gpr[1] | aot_gpr_4);
|
|
aot_gpr_4 = (aot_gpr_4 | 0u);
|
|
{ const bool branch_taken = aot_gpr_4 != 0u;
|
|
aot_gpr_4 = (0u | 0u);
|
|
if (branch_taken) {
|
|
goto L_08ACF080;
|
|
}
|
|
goto L_08ACF078;
|
|
}
|
|
L_08ACF078:
|
|
{ const bool branch_taken = 0u == 0u;
|
|
aot_gpr_4 = (0u | 1u);
|
|
if (branch_taken) {
|
|
goto L_08ACF080;
|
|
}
|
|
goto L_08ACF080;
|
|
}
|
|
L_08ACF080:
|
|
if (aot_gpr_4 == 0u) {
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(64)));
|
|
goto L_08ACF174;
|
|
}
|
|
goto L_08ACF088;
|
|
L_08ACF088:
|
|
aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast<std::uint32_t>(63)));
|
|
aot_gpr_4 = (static_cast<std::int32_t>(aot_gpr_4) < 13 ? 1u : 0u);
|
|
if (aot_gpr_4 != 0u) {
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(64)));
|
|
goto L_08ACF174;
|
|
}
|
|
goto L_08ACF098;
|
|
L_08ACF098:
|
|
aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast<std::uint32_t>(63)));
|
|
aot_gpr_4 = (static_cast<std::int32_t>(aot_gpr_4) < 17 ? 1u : 0u);
|
|
if (aot_gpr_4 == 0u) {
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(64)));
|
|
goto L_08ACF174;
|
|
}
|
|
goto L_08ACF0A8;
|
|
L_08ACF0A8:
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(64)));
|
|
aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast<std::uint32_t>(63)));
|
|
ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast<std::uint32_t>(92)));
|
|
ctx.gpr[6] = (ctx.gpr[6] + static_cast<std::uint32_t>(344));
|
|
ctx.gpr[7] = (static_cast<std::uint32_t>(static_cast<std::int32_t>(static_cast<std::int16_t>(aot_mem.aot_direct_load16(ctx.gpr[6] + static_cast<std::uint32_t>(0))))));
|
|
ctx.gpr[8] = (aot_mem.aot_direct_load32(ctx.gpr[6] + static_cast<std::uint32_t>(4)));
|
|
aot_gpr_4 = (aot_gpr_4 + ctx.gpr[7]);
|
|
jump_target = ctx.gpr[8];
|
|
aot_gpr_31 = (0x08ACF0CCu);
|
|
ctx.gpr[6] = (0u | 1u);
|
|
ctx.pc = jump_target;
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACF0CCu) goto L_08ACF0CC;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
L_08ACF0CC:
|
|
ctx.gpr[19] = (0u | 0u);
|
|
aot_gpr_4 = (static_cast<std::int32_t>(ctx.gpr[19]) < 4 ? 1u : 0u);
|
|
{ const bool branch_taken = aot_gpr_4 == 0u;
|
|
if (branch_taken) {
|
|
goto L_08ACF16C;
|
|
}
|
|
goto L_08ACF0DC;
|
|
}
|
|
L_08ACF0DC:
|
|
aot_fpr_12 = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(32)));
|
|
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(320), std::bit_cast<std::uint32_t>(aot_fpr_12));
|
|
aot_fpr_12 = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(36)));
|
|
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(324), std::bit_cast<std::uint32_t>(aot_fpr_12));
|
|
aot_fpr_12 = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(40)));
|
|
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(328), std::bit_cast<std::uint32_t>(aot_fpr_12));
|
|
aot_gpr_5 = (aot_gpr_29 + static_cast<std::uint32_t>(320));
|
|
aot_fpr_12 = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(48)));
|
|
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(352), std::bit_cast<std::uint32_t>(aot_fpr_12));
|
|
aot_fpr_12 = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(52)));
|
|
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(356), std::bit_cast<std::uint32_t>(aot_fpr_12));
|
|
aot_fpr_12 = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(56)));
|
|
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(360), std::bit_cast<std::uint32_t>(aot_fpr_12));
|
|
aot_gpr_4 = (15692u << 16u);
|
|
aot_gpr_4 = (aot_gpr_4 | 52429u);
|
|
aot_fpr_12 = std::bit_cast<float>(aot_gpr_4);
|
|
aot_gpr_4 = (std::bit_cast<std::uint32_t>(aot_fpr_12));
|
|
ctx.set_vfpu_scalar_bits_ct<28u>(aot_gpr_4);
|
|
aot_gpr_4 = (aot_gpr_29 + static_cast<std::uint32_t>(352));
|
|
{ const std::uint32_t vfpu_address = aot_gpr_4 + static_cast<std::uint32_t>(0);
|
|
std::uint32_t vfpu_words[4]{};
|
|
aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words);
|
|
float vfpu_value[4]{
|
|
std::bit_cast<float>(vfpu_words[0]),
|
|
std::bit_cast<float>(vfpu_words[1]),
|
|
std::bit_cast<float>(vfpu_words[2]),
|
|
std::bit_cast<float>(vfpu_words[3])};
|
|
ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); }
|
|
ctx.execute_vfpu_vscl_ct<0u, 0u, 28u, 3u>();
|
|
ctx.gpr[6] = (aot_gpr_29 + static_cast<std::uint32_t>(336));
|
|
{ float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value);
|
|
const std::uint32_t vfpu_address = ctx.gpr[6] + static_cast<std::uint32_t>(0);
|
|
const std::uint32_t vfpu_words[4]{std::bit_cast<std::uint32_t>(vfpu_value[0]), std::bit_cast<std::uint32_t>(vfpu_value[1]), std::bit_cast<std::uint32_t>(vfpu_value[2]), std::bit_cast<std::uint32_t>(vfpu_value[3])};
|
|
aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); }
|
|
aot_fpr_12 = std::bit_cast<float>(0u);
|
|
aot_gpr_4 = (0u | 68u);
|
|
ctx.gpr[7] = (0u | 0u);
|
|
ctx.gpr[8] = (0u | 0u);
|
|
ctx.gpr[9] = (0u | 0u);
|
|
ctx.gpr[10] = (0u | 0u);
|
|
aot_gpr_31 = (0x08ACF158u);
|
|
ctx.gpr[11] = (0u | 0u);
|
|
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0178->0062.
|
|
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
|
|
AOT_REGCACHE_SYNC_OUT();
|
|
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0178_entry, 918u, 0x08ACF158u, 0x088FF060u)) {
|
|
#if defined(__clang__)
|
|
[[clang::musttail]] return recomp_unit_0062_entry(rt, ctx, 716u, aot_mem);
|
|
#else
|
|
recomp_unit_0062_entry(rt, ctx, 716u, aot_mem); return;
|
|
#endif
|
|
}
|
|
return;
|
|
#else
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0062_entry, 62u, 716u, 0x088FF060u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACF158u) goto L_08ACF158;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
#endif
|
|
L_08ACF158:
|
|
ctx.gpr[19] = (ctx.gpr[19] + static_cast<std::uint32_t>(1));
|
|
ctx.gpr[19] = (ctx.gpr[19] & 255u);
|
|
aot_gpr_4 = (static_cast<std::int32_t>(ctx.gpr[19]) < 4 ? 1u : 0u);
|
|
{ const bool branch_taken = aot_gpr_4 != 0u;
|
|
if (branch_taken) {
|
|
goto L_08ACF0DC;
|
|
}
|
|
goto L_08ACF16C;
|
|
}
|
|
L_08ACF16C:
|
|
{ const bool branch_taken = 0u == 0u;
|
|
if (branch_taken) {
|
|
goto L_08ACF564;
|
|
}
|
|
goto L_08ACF174;
|
|
}
|
|
L_08ACF174:
|
|
aot_fpr_13 = std::bit_cast<float>(0u);
|
|
aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast<std::uint32_t>(4)));
|
|
ctx.gpr[6] = (static_cast<std::uint32_t>(static_cast<std::int32_t>(static_cast<std::int16_t>(aot_mem.aot_direct_load16(ctx.gpr[18] + static_cast<std::uint32_t>(48))))));
|
|
ctx.gpr[7] = (aot_gpr_29 + static_cast<std::uint32_t>(144));
|
|
aot_fpr_12 = std::bit_cast<float>(ctx.gpr[6]);
|
|
ctx.gpr[6] = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast<std::uint32_t>(0)));
|
|
aot_fpr_12 = static_cast<float>(static_cast<std::int32_t>(std::bit_cast<std::uint32_t>(aot_fpr_12)));
|
|
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(144), std::bit_cast<std::uint32_t>(aot_fpr_13));
|
|
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(148), std::bit_cast<std::uint32_t>(aot_fpr_13));
|
|
aot_gpr_31 = (0x08ACF1A0u);
|
|
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(152), std::bit_cast<std::uint32_t>(aot_fpr_13));
|
|
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0178->0192.
|
|
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
|
|
AOT_REGCACHE_SYNC_OUT();
|
|
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0178_entry, 921u, 0x08ACF1A0u, 0x08B0452Cu)) {
|
|
#if defined(__clang__)
|
|
[[clang::musttail]] return recomp_unit_0192_entry(rt, ctx, 71u, aot_mem);
|
|
#else
|
|
recomp_unit_0192_entry(rt, ctx, 71u, aot_mem); return;
|
|
#endif
|
|
}
|
|
return;
|
|
#else
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0192_entry, 192u, 71u, 0x08B0452Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACF1A0u) goto L_08ACF1A0;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
#endif
|
|
L_08ACF1A0:
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast<std::uint32_t>(0)));
|
|
aot_gpr_5 = (0u | 33u);
|
|
{ const bool branch_taken = aot_gpr_4 != aot_gpr_5;
|
|
if (branch_taken) {
|
|
goto L_08ACF1E0;
|
|
}
|
|
goto L_08ACF1B0;
|
|
}
|
|
L_08ACF1B0:
|
|
aot_gpr_4 = (16204u << 16u);
|
|
aot_gpr_4 = (aot_gpr_4 | 52429u);
|
|
aot_fpr_12 = std::bit_cast<float>(aot_gpr_4);
|
|
aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(64)));
|
|
aot_gpr_4 = (2238u << 16u);
|
|
ctx.gpr[6] = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast<std::uint32_t>(4)));
|
|
ctx.gpr[7] = (0u | 1u);
|
|
ctx.gpr[8] = (0u | 1u);
|
|
aot_gpr_31 = (0x08ACF1D8u);
|
|
aot_gpr_4 = (aot_gpr_4 + static_cast<std::uint32_t>(14864));
|
|
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0178->0115.
|
|
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
|
|
AOT_REGCACHE_SYNC_OUT();
|
|
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0178_entry, 923u, 0x08ACF1D8u, 0x089D1074u)) {
|
|
#if defined(__clang__)
|
|
[[clang::musttail]] return recomp_unit_0115_entry(rt, ctx, 167u, aot_mem);
|
|
#else
|
|
recomp_unit_0115_entry(rt, ctx, 167u, aot_mem); return;
|
|
#endif
|
|
}
|
|
return;
|
|
#else
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0115_entry, 115u, 167u, 0x089D1074u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACF1D8u) goto L_08ACF1D8;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
#endif
|
|
L_08ACF1D8:
|
|
{ const bool branch_taken = 0u == 0u;
|
|
if (branch_taken) {
|
|
goto L_08ACF564;
|
|
}
|
|
goto L_08ACF1E0;
|
|
}
|
|
L_08ACF1E0:
|
|
ctx.gpr[19] = (0u | 0u);
|
|
aot_gpr_4 = (static_cast<std::int32_t>(ctx.gpr[19]) < 16 ? 1u : 0u);
|
|
{ const bool branch_taken = aot_gpr_4 == 0u;
|
|
if (branch_taken) {
|
|
goto L_08ACF280;
|
|
}
|
|
goto L_08ACF1F0;
|
|
}
|
|
L_08ACF1F0:
|
|
aot_fpr_12 = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(32)));
|
|
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(368), std::bit_cast<std::uint32_t>(aot_fpr_12));
|
|
aot_fpr_12 = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(36)));
|
|
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(372), std::bit_cast<std::uint32_t>(aot_fpr_12));
|
|
aot_fpr_12 = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(40)));
|
|
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(376), std::bit_cast<std::uint32_t>(aot_fpr_12));
|
|
aot_gpr_5 = (aot_gpr_29 + static_cast<std::uint32_t>(368));
|
|
aot_fpr_12 = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(48)));
|
|
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(400), std::bit_cast<std::uint32_t>(aot_fpr_12));
|
|
aot_fpr_12 = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(52)));
|
|
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(404), std::bit_cast<std::uint32_t>(aot_fpr_12));
|
|
aot_fpr_12 = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(56)));
|
|
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(408), std::bit_cast<std::uint32_t>(aot_fpr_12));
|
|
aot_gpr_4 = (15692u << 16u);
|
|
aot_gpr_4 = (aot_gpr_4 | 52429u);
|
|
aot_fpr_12 = std::bit_cast<float>(aot_gpr_4);
|
|
aot_gpr_4 = (std::bit_cast<std::uint32_t>(aot_fpr_12));
|
|
ctx.set_vfpu_scalar_bits_ct<28u>(aot_gpr_4);
|
|
aot_gpr_4 = (aot_gpr_29 + static_cast<std::uint32_t>(400));
|
|
{ const std::uint32_t vfpu_address = aot_gpr_4 + static_cast<std::uint32_t>(0);
|
|
std::uint32_t vfpu_words[4]{};
|
|
aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words);
|
|
float vfpu_value[4]{
|
|
std::bit_cast<float>(vfpu_words[0]),
|
|
std::bit_cast<float>(vfpu_words[1]),
|
|
std::bit_cast<float>(vfpu_words[2]),
|
|
std::bit_cast<float>(vfpu_words[3])};
|
|
ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); }
|
|
ctx.execute_vfpu_vscl_ct<0u, 0u, 28u, 3u>();
|
|
ctx.gpr[6] = (aot_gpr_29 + static_cast<std::uint32_t>(384));
|
|
{ float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value);
|
|
const std::uint32_t vfpu_address = ctx.gpr[6] + static_cast<std::uint32_t>(0);
|
|
const std::uint32_t vfpu_words[4]{std::bit_cast<std::uint32_t>(vfpu_value[0]), std::bit_cast<std::uint32_t>(vfpu_value[1]), std::bit_cast<std::uint32_t>(vfpu_value[2]), std::bit_cast<std::uint32_t>(vfpu_value[3])};
|
|
aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); }
|
|
aot_fpr_12 = std::bit_cast<float>(0u);
|
|
aot_gpr_4 = (0u | 0u);
|
|
ctx.gpr[7] = (0u | 0u);
|
|
ctx.gpr[8] = (0u | 0u);
|
|
ctx.gpr[9] = (0u | 0u);
|
|
ctx.gpr[10] = (0u | 0u);
|
|
aot_gpr_31 = (0x08ACF26Cu);
|
|
ctx.gpr[11] = (0u | 0u);
|
|
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0178->0062.
|
|
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
|
|
AOT_REGCACHE_SYNC_OUT();
|
|
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0178_entry, 926u, 0x08ACF26Cu, 0x088FF060u)) {
|
|
#if defined(__clang__)
|
|
[[clang::musttail]] return recomp_unit_0062_entry(rt, ctx, 716u, aot_mem);
|
|
#else
|
|
recomp_unit_0062_entry(rt, ctx, 716u, aot_mem); return;
|
|
#endif
|
|
}
|
|
return;
|
|
#else
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0062_entry, 62u, 716u, 0x088FF060u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACF26Cu) goto L_08ACF26C;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
#endif
|
|
L_08ACF26C:
|
|
ctx.gpr[19] = (ctx.gpr[19] + static_cast<std::uint32_t>(1));
|
|
ctx.gpr[19] = (ctx.gpr[19] & 255u);
|
|
aot_gpr_4 = (static_cast<std::int32_t>(ctx.gpr[19]) < 16 ? 1u : 0u);
|
|
{ const bool branch_taken = aot_gpr_4 != 0u;
|
|
if (branch_taken) {
|
|
goto L_08ACF1F0;
|
|
}
|
|
goto L_08ACF280;
|
|
}
|
|
L_08ACF280:
|
|
{ const bool branch_taken = 0u == 0u;
|
|
if (branch_taken) {
|
|
goto L_08ACF564;
|
|
}
|
|
goto L_08ACF288;
|
|
}
|
|
L_08ACF288:
|
|
ctx.gpr[19] = (0u | 0u);
|
|
aot_gpr_4 = (ctx.gpr[19] < static_cast<std::uint32_t>(8) ? 1u : 0u);
|
|
{ const bool branch_taken = aot_gpr_4 == 0u;
|
|
if (branch_taken) {
|
|
goto L_08ACF324;
|
|
}
|
|
goto L_08ACF298;
|
|
}
|
|
L_08ACF298:
|
|
aot_fpr_12 = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(32)));
|
|
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(416), std::bit_cast<std::uint32_t>(aot_fpr_12));
|
|
aot_fpr_12 = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(36)));
|
|
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(420), std::bit_cast<std::uint32_t>(aot_fpr_12));
|
|
aot_fpr_12 = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(40)));
|
|
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(424), std::bit_cast<std::uint32_t>(aot_fpr_12));
|
|
aot_gpr_5 = (aot_gpr_29 + static_cast<std::uint32_t>(416));
|
|
aot_fpr_12 = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(48)));
|
|
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(448), std::bit_cast<std::uint32_t>(aot_fpr_12));
|
|
aot_fpr_12 = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(52)));
|
|
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(452), std::bit_cast<std::uint32_t>(aot_fpr_12));
|
|
aot_fpr_12 = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(56)));
|
|
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(456), std::bit_cast<std::uint32_t>(aot_fpr_12));
|
|
aot_gpr_4 = (15692u << 16u);
|
|
aot_gpr_4 = (aot_gpr_4 | 52429u);
|
|
aot_fpr_12 = std::bit_cast<float>(aot_gpr_4);
|
|
aot_gpr_4 = (std::bit_cast<std::uint32_t>(aot_fpr_12));
|
|
ctx.set_vfpu_scalar_bits_ct<28u>(aot_gpr_4);
|
|
aot_gpr_4 = (aot_gpr_29 + static_cast<std::uint32_t>(448));
|
|
{ const std::uint32_t vfpu_address = aot_gpr_4 + static_cast<std::uint32_t>(0);
|
|
std::uint32_t vfpu_words[4]{};
|
|
aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words);
|
|
float vfpu_value[4]{
|
|
std::bit_cast<float>(vfpu_words[0]),
|
|
std::bit_cast<float>(vfpu_words[1]),
|
|
std::bit_cast<float>(vfpu_words[2]),
|
|
std::bit_cast<float>(vfpu_words[3])};
|
|
ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); }
|
|
ctx.execute_vfpu_vscl_ct<0u, 0u, 28u, 3u>();
|
|
ctx.gpr[6] = (aot_gpr_29 + static_cast<std::uint32_t>(432));
|
|
{ float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value);
|
|
const std::uint32_t vfpu_address = ctx.gpr[6] + static_cast<std::uint32_t>(0);
|
|
const std::uint32_t vfpu_words[4]{std::bit_cast<std::uint32_t>(vfpu_value[0]), std::bit_cast<std::uint32_t>(vfpu_value[1]), std::bit_cast<std::uint32_t>(vfpu_value[2]), std::bit_cast<std::uint32_t>(vfpu_value[3])};
|
|
aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); }
|
|
aot_fpr_12 = std::bit_cast<float>(0u);
|
|
aot_gpr_4 = (0u | 0u);
|
|
ctx.gpr[7] = (0u | 0u);
|
|
ctx.gpr[8] = (0u | 0u);
|
|
ctx.gpr[9] = (0u | 0u);
|
|
ctx.gpr[10] = (0u | 0u);
|
|
aot_gpr_31 = (0x08ACF314u);
|
|
ctx.gpr[11] = (0u | 0u);
|
|
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0178->0062.
|
|
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
|
|
AOT_REGCACHE_SYNC_OUT();
|
|
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0178_entry, 930u, 0x08ACF314u, 0x088FF060u)) {
|
|
#if defined(__clang__)
|
|
[[clang::musttail]] return recomp_unit_0062_entry(rt, ctx, 716u, aot_mem);
|
|
#else
|
|
recomp_unit_0062_entry(rt, ctx, 716u, aot_mem); return;
|
|
#endif
|
|
}
|
|
return;
|
|
#else
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0062_entry, 62u, 716u, 0x088FF060u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACF314u) goto L_08ACF314;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
#endif
|
|
L_08ACF314:
|
|
ctx.gpr[19] = (ctx.gpr[19] + static_cast<std::uint32_t>(1));
|
|
aot_gpr_4 = (ctx.gpr[19] < static_cast<std::uint32_t>(8) ? 1u : 0u);
|
|
{ const bool branch_taken = aot_gpr_4 != 0u;
|
|
if (branch_taken) {
|
|
goto L_08ACF298;
|
|
}
|
|
goto L_08ACF324;
|
|
}
|
|
L_08ACF324:
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast<std::uint32_t>(4)));
|
|
if (aot_gpr_4 == 0u) {
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(64)));
|
|
goto L_08ACF368;
|
|
}
|
|
goto L_08ACF330;
|
|
L_08ACF330:
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast<std::uint32_t>(4)));
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast<std::uint32_t>(72)));
|
|
aot_gpr_4 = (aot_gpr_4 & 14u);
|
|
aot_gpr_4 = (aot_gpr_4 ^ 6u);
|
|
aot_gpr_4 = (aot_gpr_4 < static_cast<std::uint32_t>(1) ? 1u : 0u);
|
|
aot_gpr_4 = (aot_gpr_4 & 255u);
|
|
if (aot_gpr_4 == 0u) {
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(64)));
|
|
goto L_08ACF368;
|
|
}
|
|
goto L_08ACF350;
|
|
L_08ACF350:
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast<std::uint32_t>(4)));
|
|
aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(64)));
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast<std::uint32_t>(2120)));
|
|
if (aot_gpr_4 == aot_gpr_5) {
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(64)));
|
|
goto L_08ACF510;
|
|
}
|
|
goto L_08ACF364;
|
|
L_08ACF364:
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(64)));
|
|
goto L_08ACF368;
|
|
L_08ACF368:
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast<std::uint32_t>(72)));
|
|
aot_gpr_4 = (aot_gpr_4 & 14u);
|
|
aot_gpr_4 = (aot_gpr_4 ^ 8u);
|
|
aot_gpr_4 = (aot_gpr_4 < static_cast<std::uint32_t>(1) ? 1u : 0u);
|
|
aot_gpr_4 = (aot_gpr_4 & 255u);
|
|
if (aot_gpr_4 == 0u) {
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(64)));
|
|
goto L_08ACF510;
|
|
}
|
|
goto L_08ACF384;
|
|
L_08ACF384:
|
|
ctx.gpr[19] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(64)));
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast<std::uint32_t>(236)));
|
|
aot_gpr_4 = (aot_gpr_4 & 4u);
|
|
{ const bool branch_taken = aot_gpr_4 != 0u;
|
|
aot_gpr_4 = (17095u << 16u);
|
|
if (branch_taken) {
|
|
goto L_08ACF4B8;
|
|
}
|
|
goto L_08ACF398;
|
|
}
|
|
L_08ACF398:
|
|
aot_fpr_12 = std::bit_cast<float>(aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast<std::uint32_t>(460)));
|
|
aot_gpr_4 = (aot_gpr_4 | 52429u);
|
|
aot_fpr_13 = std::bit_cast<float>(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_08ACF4B8;
|
|
}
|
|
goto L_08ACF3B4;
|
|
}
|
|
L_08ACF3B4:
|
|
aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast<std::uint32_t>(72)));
|
|
aot_gpr_5 = (aot_gpr_5 & 2048u);
|
|
{ const bool branch_taken = aot_gpr_5 != 0u;
|
|
aot_gpr_4 = (0u | 0u);
|
|
if (branch_taken) {
|
|
goto L_08ACF3D4;
|
|
}
|
|
goto L_08ACF3C4;
|
|
}
|
|
L_08ACF3C4:
|
|
aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast<std::uint32_t>(76)));
|
|
aot_gpr_5 = (aot_gpr_5 & 2048u);
|
|
{ const bool branch_taken = aot_gpr_5 == 0u;
|
|
aot_gpr_4 = (aot_gpr_4 & 255u);
|
|
if (branch_taken) {
|
|
goto L_08ACF3DC;
|
|
}
|
|
goto L_08ACF3D4;
|
|
}
|
|
L_08ACF3D4:
|
|
aot_gpr_4 = (0u | 1u);
|
|
aot_gpr_4 = (aot_gpr_4 & 255u);
|
|
goto L_08ACF3DC;
|
|
L_08ACF3DC:
|
|
{ const bool branch_taken = aot_gpr_4 == 0u;
|
|
if (branch_taken) {
|
|
goto L_08ACF424;
|
|
}
|
|
goto L_08ACF3E4;
|
|
}
|
|
L_08ACF3E4:
|
|
aot_fpr_12 = std::bit_cast<float>(aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast<std::uint32_t>(456)));
|
|
aot_fpr_13 = std::bit_cast<float>(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_08ACF424;
|
|
}
|
|
goto L_08ACF3FC;
|
|
}
|
|
L_08ACF3FC:
|
|
aot_gpr_4 = (0u | 0u);
|
|
aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast<std::uint32_t>(72)));
|
|
aot_gpr_4 = (aot_gpr_4 & 1u);
|
|
ctx.gpr[6] = (0u + static_cast<std::uint32_t>(-2049));
|
|
aot_gpr_5 = (aot_gpr_5 & ctx.gpr[6]);
|
|
aot_gpr_4 = (aot_gpr_4 << 11u);
|
|
aot_gpr_4 = (aot_gpr_5 | aot_gpr_4);
|
|
aot_mem.aot_direct_store32(ctx.gpr[19] + static_cast<std::uint32_t>(72), aot_gpr_4);
|
|
aot_gpr_31 = (0x08ACF424u);
|
|
aot_gpr_4 = (ctx.gpr[19] | 0u);
|
|
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0178->0152.
|
|
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
|
|
AOT_REGCACHE_SYNC_OUT();
|
|
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0178_entry, 944u, 0x08ACF424u, 0x08A66048u)) {
|
|
#if defined(__clang__)
|
|
[[clang::musttail]] return recomp_unit_0152_entry(rt, ctx, 463u, aot_mem);
|
|
#else
|
|
recomp_unit_0152_entry(rt, ctx, 463u, aot_mem); return;
|
|
#endif
|
|
}
|
|
return;
|
|
#else
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0152_entry, 152u, 463u, 0x08A66048u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACF424u) goto L_08ACF424;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
#endif
|
|
L_08ACF424:
|
|
aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast<std::uint32_t>(72)));
|
|
aot_gpr_5 = (aot_gpr_5 & 2048u);
|
|
{ const bool branch_taken = aot_gpr_5 != 0u;
|
|
aot_gpr_4 = (0u | 0u);
|
|
if (branch_taken) {
|
|
goto L_08ACF444;
|
|
}
|
|
goto L_08ACF434;
|
|
}
|
|
L_08ACF434:
|
|
aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast<std::uint32_t>(76)));
|
|
aot_gpr_5 = (aot_gpr_5 & 2048u);
|
|
{ const bool branch_taken = aot_gpr_5 == 0u;
|
|
aot_gpr_4 = (aot_gpr_4 & 255u);
|
|
if (branch_taken) {
|
|
goto L_08ACF44C;
|
|
}
|
|
goto L_08ACF444;
|
|
}
|
|
L_08ACF444:
|
|
aot_gpr_4 = (0u | 1u);
|
|
aot_gpr_4 = (aot_gpr_4 & 255u);
|
|
goto L_08ACF44C;
|
|
L_08ACF44C:
|
|
{ const bool branch_taken = aot_gpr_4 != 0u;
|
|
if (branch_taken) {
|
|
goto L_08ACF4A4;
|
|
}
|
|
goto L_08ACF454;
|
|
}
|
|
L_08ACF454:
|
|
aot_fpr_12 = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(48)));
|
|
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(480), std::bit_cast<std::uint32_t>(aot_fpr_12));
|
|
aot_fpr_12 = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(52)));
|
|
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(484), std::bit_cast<std::uint32_t>(aot_fpr_12));
|
|
aot_fpr_12 = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(56)));
|
|
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(488), std::bit_cast<std::uint32_t>(aot_fpr_12));
|
|
aot_gpr_4 = (49392u << 16u);
|
|
aot_fpr_12 = std::bit_cast<float>(aot_gpr_4);
|
|
aot_gpr_4 = (std::bit_cast<std::uint32_t>(aot_fpr_12));
|
|
ctx.set_vfpu_scalar_bits_ct<28u>(aot_gpr_4);
|
|
aot_gpr_4 = (aot_gpr_29 + static_cast<std::uint32_t>(480));
|
|
{ const std::uint32_t vfpu_address = aot_gpr_4 + static_cast<std::uint32_t>(0);
|
|
std::uint32_t vfpu_words[4]{};
|
|
aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words);
|
|
float vfpu_value[4]{
|
|
std::bit_cast<float>(vfpu_words[0]),
|
|
std::bit_cast<float>(vfpu_words[1]),
|
|
std::bit_cast<float>(vfpu_words[2]),
|
|
std::bit_cast<float>(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<std::uint32_t>(464));
|
|
{ float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value);
|
|
const std::uint32_t vfpu_address = aot_gpr_4 + static_cast<std::uint32_t>(0);
|
|
const std::uint32_t vfpu_words[4]{std::bit_cast<std::uint32_t>(vfpu_value[0]), std::bit_cast<std::uint32_t>(vfpu_value[1]), std::bit_cast<std::uint32_t>(vfpu_value[2]), std::bit_cast<std::uint32_t>(vfpu_value[3])};
|
|
aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); }
|
|
{ std::uint32_t aot_run_words[3]{};
|
|
aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast<std::uint32_t>(464), aot_run_words);
|
|
aot_fpr_12 = std::bit_cast<float>(aot_run_words[0]);
|
|
aot_fpr_13 = std::bit_cast<float>(aot_run_words[1]);
|
|
ctx.fpr[14] = std::bit_cast<float>(aot_run_words[2]);
|
|
}
|
|
aot_gpr_31 = (0x08ACF4A4u);
|
|
aot_gpr_4 = (ctx.gpr[19] | 0u);
|
|
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0178->0152.
|
|
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
|
|
AOT_REGCACHE_SYNC_OUT();
|
|
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0178_entry, 949u, 0x08ACF4A4u, 0x08A66CD8u)) {
|
|
#if defined(__clang__)
|
|
[[clang::musttail]] return recomp_unit_0152_entry(rt, ctx, 600u, aot_mem);
|
|
#else
|
|
recomp_unit_0152_entry(rt, ctx, 600u, aot_mem); return;
|
|
#endif
|
|
}
|
|
return;
|
|
#else
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0152_entry, 152u, 600u, 0x08A66CD8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACF4A4u) goto L_08ACF4A4;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
#endif
|
|
L_08ACF4A4:
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast<std::uint32_t>(0)));
|
|
aot_gpr_4 = (aot_gpr_4 << 24u);
|
|
aot_gpr_4 = (static_cast<std::uint32_t>(static_cast<std::int32_t>(aot_gpr_4) >> 24u));
|
|
{ const bool branch_taken = 0u == 0u;
|
|
aot_mem.aot_direct_store8(ctx.gpr[19] + static_cast<std::uint32_t>(91), static_cast<std::uint8_t>(aot_gpr_4));
|
|
if (branch_taken) {
|
|
goto L_08ACF50C;
|
|
}
|
|
goto L_08ACF4B8;
|
|
}
|
|
L_08ACF4B8:
|
|
aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[19] + static_cast<std::uint32_t>(473)));
|
|
aot_gpr_4 = (static_cast<std::int32_t>(aot_gpr_4) < 3 ? 1u : 0u);
|
|
if (aot_gpr_4 == 0u) {
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast<std::uint32_t>(72)));
|
|
goto L_08ACF4D8;
|
|
}
|
|
goto L_08ACF4C8;
|
|
L_08ACF4C8:
|
|
aot_gpr_4 = (static_cast<std::uint32_t>(static_cast<std::int32_t>(static_cast<std::int8_t>(aot_mem.aot_direct_load8(ctx.gpr[19] + static_cast<std::uint32_t>(478))))));
|
|
{ const bool branch_taken = aot_gpr_4 == 0u;
|
|
if (branch_taken) {
|
|
goto L_08ACF50C;
|
|
}
|
|
goto L_08ACF4D4;
|
|
}
|
|
L_08ACF4D4:
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast<std::uint32_t>(72)));
|
|
goto L_08ACF4D8;
|
|
L_08ACF4D8:
|
|
aot_gpr_5 = (1024u << 16u);
|
|
aot_gpr_4 = (aot_gpr_4 & aot_gpr_5);
|
|
{ const bool branch_taken = aot_gpr_4 != 0u;
|
|
if (branch_taken) {
|
|
goto L_08ACF50C;
|
|
}
|
|
goto L_08ACF4E8;
|
|
}
|
|
L_08ACF4E8:
|
|
ctx.gpr[6] = (16968u << 16u);
|
|
aot_gpr_4 = (ctx.gpr[19] | 0u);
|
|
aot_fpr_12 = std::bit_cast<float>(ctx.gpr[6]);
|
|
aot_gpr_31 = (0x08ACF4FCu);
|
|
aot_gpr_5 = (0u | 0u);
|
|
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0178->0009.
|
|
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
|
|
AOT_REGCACHE_SYNC_OUT();
|
|
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0178_entry, 955u, 0x08ACF4FCu, 0x0882BFC8u)) {
|
|
#if defined(__clang__)
|
|
[[clang::musttail]] return recomp_unit_0009_entry(rt, ctx, 482u, aot_mem);
|
|
#else
|
|
recomp_unit_0009_entry(rt, ctx, 482u, aot_mem); return;
|
|
#endif
|
|
}
|
|
return;
|
|
#else
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0009_entry, 9u, 482u, 0x0882BFC8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACF4FCu) goto L_08ACF4FC;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
#endif
|
|
L_08ACF4FC:
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast<std::uint32_t>(0)));
|
|
aot_gpr_4 = (aot_gpr_4 << 24u);
|
|
aot_gpr_4 = (static_cast<std::uint32_t>(static_cast<std::int32_t>(aot_gpr_4) >> 24u));
|
|
aot_mem.aot_direct_store8(ctx.gpr[19] + static_cast<std::uint32_t>(91), static_cast<std::uint8_t>(aot_gpr_4));
|
|
goto L_08ACF50C;
|
|
L_08ACF50C:
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(64)));
|
|
goto L_08ACF510;
|
|
L_08ACF510:
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast<std::uint32_t>(72)));
|
|
aot_gpr_4 = (aot_gpr_4 & 14u);
|
|
aot_gpr_4 = (aot_gpr_4 ^ 2u);
|
|
aot_gpr_4 = (aot_gpr_4 < static_cast<std::uint32_t>(1) ? 1u : 0u);
|
|
aot_gpr_4 = (aot_gpr_4 & 255u);
|
|
{ const bool branch_taken = aot_gpr_4 == 0u;
|
|
if (branch_taken) {
|
|
goto L_08ACF564;
|
|
}
|
|
goto L_08ACF52C;
|
|
}
|
|
L_08ACF52C:
|
|
aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast<std::uint32_t>(8432)));
|
|
{ const bool branch_taken = aot_gpr_4 == 0u;
|
|
aot_gpr_4 = (0u | 1u);
|
|
if (branch_taken) {
|
|
goto L_08ACF564;
|
|
}
|
|
goto L_08ACF538;
|
|
}
|
|
L_08ACF538:
|
|
{ const bool branch_taken = ctx.gpr[16] != aot_gpr_4;
|
|
if (branch_taken) {
|
|
goto L_08ACF564;
|
|
}
|
|
goto L_08ACF540;
|
|
}
|
|
L_08ACF540:
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast<std::uint32_t>(0)));
|
|
aot_gpr_5 = (0u | 30u);
|
|
{ const bool branch_taken = aot_gpr_4 == aot_gpr_5;
|
|
if (branch_taken) {
|
|
goto L_08ACF560;
|
|
}
|
|
goto L_08ACF550;
|
|
}
|
|
L_08ACF550:
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast<std::uint32_t>(0)));
|
|
aot_gpr_5 = (0u | 31u);
|
|
{ const bool branch_taken = aot_gpr_4 != aot_gpr_5;
|
|
if (branch_taken) {
|
|
goto L_08ACF564;
|
|
}
|
|
goto L_08ACF560;
|
|
}
|
|
L_08ACF560:
|
|
aot_mem.aot_direct_store8(ctx.gpr[18] + static_cast<std::uint32_t>(12), static_cast<std::uint8_t>(0u));
|
|
goto L_08ACF564;
|
|
L_08ACF564:
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast<std::uint32_t>(0)));
|
|
aot_gpr_5 = (0u | 30u);
|
|
{ const bool branch_taken = aot_gpr_4 == aot_gpr_5;
|
|
aot_gpr_4 = (0u | 1u);
|
|
if (branch_taken) {
|
|
goto L_08ACF588;
|
|
}
|
|
goto L_08ACF574;
|
|
}
|
|
L_08ACF574:
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast<std::uint32_t>(0)));
|
|
aot_gpr_5 = (0u | 31u);
|
|
{ const bool branch_taken = aot_gpr_4 != aot_gpr_5;
|
|
if (branch_taken) {
|
|
goto L_08ACF790;
|
|
}
|
|
goto L_08ACF584;
|
|
}
|
|
L_08ACF584:
|
|
aot_gpr_4 = (0u | 1u);
|
|
goto L_08ACF588;
|
|
L_08ACF588:
|
|
{ const bool branch_taken = ctx.gpr[16] != aot_gpr_4;
|
|
if (branch_taken) {
|
|
goto L_08ACF790;
|
|
}
|
|
goto L_08ACF590;
|
|
}
|
|
L_08ACF590:
|
|
aot_gpr_31 = (0x08ACF598u);
|
|
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 == 0x08ACF598u) goto L_08ACF598;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
L_08ACF598:
|
|
aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(64)));
|
|
aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast<std::uint32_t>(72)));
|
|
aot_gpr_5 = (aot_gpr_5 & 14u);
|
|
aot_gpr_5 = (aot_gpr_5 >> 1u);
|
|
ctx.gpr[6] = (aot_gpr_5 + static_cast<std::uint32_t>(-1));
|
|
ctx.gpr[6] = (ctx.gpr[6] < static_cast<std::uint32_t>(6) ? 1u : 0u);
|
|
{ const bool branch_taken = ctx.gpr[6] == 0u;
|
|
aot_gpr_4 = (aot_gpr_2 | 0u);
|
|
if (branch_taken) {
|
|
goto L_08ACF790;
|
|
}
|
|
goto L_08ACF5B8;
|
|
}
|
|
L_08ACF5B8:
|
|
aot_gpr_5 = (aot_gpr_5 + static_cast<std::uint32_t>(-1));
|
|
ctx.gpr[1] = (0u + static_cast<std::uint32_t>(1));
|
|
{ const bool branch_taken = aot_gpr_5 == ctx.gpr[1];
|
|
ctx.gpr[1] = (0u + static_cast<std::uint32_t>(2));
|
|
if (branch_taken) {
|
|
goto L_08ACF63C;
|
|
}
|
|
goto L_08ACF5C8;
|
|
}
|
|
L_08ACF5C8:
|
|
{ const bool branch_taken = aot_gpr_5 == ctx.gpr[1];
|
|
ctx.gpr[1] = (0u + static_cast<std::uint32_t>(3));
|
|
if (branch_taken) {
|
|
goto L_08ACF67C;
|
|
}
|
|
goto L_08ACF5D0;
|
|
}
|
|
L_08ACF5D0:
|
|
{ const bool branch_taken = aot_gpr_5 == ctx.gpr[1];
|
|
ctx.gpr[1] = (0u + static_cast<std::uint32_t>(5));
|
|
if (branch_taken) {
|
|
goto L_08ACF6C8;
|
|
}
|
|
goto L_08ACF5D8;
|
|
}
|
|
L_08ACF5D8:
|
|
{ const bool branch_taken = aot_gpr_5 == ctx.gpr[1];
|
|
if (branch_taken) {
|
|
goto L_08ACF73C;
|
|
}
|
|
goto L_08ACF5E0;
|
|
}
|
|
L_08ACF5E0:
|
|
ctx.gpr[19] = (0u | 0u);
|
|
aot_gpr_31 = (0x08ACF5ECu);
|
|
aot_gpr_4 = (0u | 48u);
|
|
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0178->0018.
|
|
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
|
|
AOT_REGCACHE_SYNC_OUT();
|
|
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0178_entry, 974u, 0x08ACF5ECu, 0x0884C700u)) {
|
|
#if defined(__clang__)
|
|
[[clang::musttail]] return recomp_unit_0018_entry(rt, ctx, 70u, aot_mem);
|
|
#else
|
|
recomp_unit_0018_entry(rt, ctx, 70u, aot_mem); return;
|
|
#endif
|
|
}
|
|
return;
|
|
#else
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0018_entry, 18u, 70u, 0x0884C700u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACF5ECu) goto L_08ACF5EC;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
#endif
|
|
L_08ACF5EC:
|
|
ctx.gpr[20] = (aot_gpr_2 | 0u);
|
|
{ const bool branch_taken = ctx.gpr[20] == 0u;
|
|
if (branch_taken) {
|
|
goto L_08ACF604;
|
|
}
|
|
goto L_08ACF5F8;
|
|
}
|
|
L_08ACF5F8:
|
|
aot_gpr_31 = (0x08ACF600u);
|
|
aot_gpr_4 = (ctx.gpr[20] | 0u);
|
|
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0178->0018.
|
|
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
|
|
AOT_REGCACHE_SYNC_OUT();
|
|
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0178_entry, 976u, 0x08ACF600u, 0x0884C68Cu)) {
|
|
#if defined(__clang__)
|
|
[[clang::musttail]] return recomp_unit_0018_entry(rt, ctx, 63u, aot_mem);
|
|
#else
|
|
recomp_unit_0018_entry(rt, ctx, 63u, aot_mem); return;
|
|
#endif
|
|
}
|
|
return;
|
|
#else
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0018_entry, 18u, 63u, 0x0884C68Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACF600u) goto L_08ACF600;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
#endif
|
|
L_08ACF600:
|
|
ctx.gpr[19] = (ctx.gpr[20] | 0u);
|
|
goto L_08ACF604;
|
|
L_08ACF604:
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(64)));
|
|
aot_gpr_4 = (aot_gpr_4 + static_cast<std::uint32_t>(48));
|
|
{ const std::uint32_t vfpu_address = aot_gpr_4 + static_cast<std::uint32_t>(0);
|
|
std::uint32_t vfpu_words[4]{};
|
|
aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words);
|
|
float vfpu_value[4]{
|
|
std::bit_cast<float>(vfpu_words[0]),
|
|
std::bit_cast<float>(vfpu_words[1]),
|
|
std::bit_cast<float>(vfpu_words[2]),
|
|
std::bit_cast<float>(vfpu_words[3])};
|
|
ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); }
|
|
aot_gpr_4 = (ctx.gpr[19] + static_cast<std::uint32_t>(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<std::uint32_t>(0);
|
|
const std::uint32_t vfpu_words[4]{std::bit_cast<std::uint32_t>(vfpu_value[0]), std::bit_cast<std::uint32_t>(vfpu_value[1]), std::bit_cast<std::uint32_t>(vfpu_value[2]), std::bit_cast<std::uint32_t>(vfpu_value[3])};
|
|
aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); }
|
|
aot_gpr_4 = (0u | 72u);
|
|
aot_mem.aot_direct_store16(ctx.gpr[19] + static_cast<std::uint32_t>(0), static_cast<std::uint16_t>(aot_gpr_4));
|
|
aot_gpr_4 = (0u + static_cast<std::uint32_t>(-5));
|
|
aot_mem.aot_direct_store32(ctx.gpr[19] + static_cast<std::uint32_t>(32), aot_gpr_4);
|
|
aot_gpr_4 = (ctx.gpr[28] + static_cast<std::uint32_t>(7768));
|
|
aot_gpr_31 = (0x08ACF634u);
|
|
aot_gpr_5 = (ctx.gpr[19] | 0u);
|
|
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0178->0128.
|
|
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
|
|
AOT_REGCACHE_SYNC_OUT();
|
|
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0178_entry, 978u, 0x08ACF634u, 0x08A06228u)) {
|
|
#if defined(__clang__)
|
|
[[clang::musttail]] return recomp_unit_0128_entry(rt, ctx, 544u, aot_mem);
|
|
#else
|
|
recomp_unit_0128_entry(rt, ctx, 544u, aot_mem); return;
|
|
#endif
|
|
}
|
|
return;
|
|
#else
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0128_entry, 128u, 544u, 0x08A06228u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACF634u) goto L_08ACF634;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
#endif
|
|
L_08ACF634:
|
|
{ const bool branch_taken = 0u == 0u;
|
|
if (branch_taken) {
|
|
goto L_08ACF790;
|
|
}
|
|
goto L_08ACF63C;
|
|
}
|
|
L_08ACF63C:
|
|
aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast<std::uint32_t>(4)));
|
|
{ const bool branch_taken = aot_gpr_5 != aot_gpr_4;
|
|
if (branch_taken) {
|
|
goto L_08ACF654;
|
|
}
|
|
goto L_08ACF648;
|
|
}
|
|
L_08ACF648:
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(9328)));
|
|
aot_gpr_4 = (aot_gpr_4 + static_cast<std::uint32_t>(1));
|
|
aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast<std::uint32_t>(9328), aot_gpr_4);
|
|
goto L_08ACF654;
|
|
L_08ACF654:
|
|
aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(64)));
|
|
ctx.gpr[7] = (16256u << 16u);
|
|
aot_fpr_12 = std::bit_cast<float>(ctx.gpr[7]);
|
|
aot_gpr_4 = (ctx.gpr[28] + static_cast<std::uint32_t>(7768));
|
|
aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast<std::uint32_t>(96)));
|
|
aot_fpr_13 = std::bit_cast<float>(std::bit_cast<std::uint32_t>(aot_fpr_12));
|
|
aot_gpr_31 = (0x08ACF674u);
|
|
ctx.gpr[6] = (0u | 62u);
|
|
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0178->0128.
|
|
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
|
|
AOT_REGCACHE_SYNC_OUT();
|
|
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0178_entry, 982u, 0x08ACF674u, 0x08A05F80u)) {
|
|
#if defined(__clang__)
|
|
[[clang::musttail]] return recomp_unit_0128_entry(rt, ctx, 503u, aot_mem);
|
|
#else
|
|
recomp_unit_0128_entry(rt, ctx, 503u, aot_mem); return;
|
|
#endif
|
|
}
|
|
return;
|
|
#else
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0128_entry, 128u, 503u, 0x08A05F80u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACF674u) goto L_08ACF674;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
#endif
|
|
L_08ACF674:
|
|
{ const bool branch_taken = 0u == 0u;
|
|
if (branch_taken) {
|
|
goto L_08ACF790;
|
|
}
|
|
goto L_08ACF67C;
|
|
}
|
|
L_08ACF67C:
|
|
aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast<std::uint32_t>(4)));
|
|
{ const bool branch_taken = aot_gpr_5 != aot_gpr_4;
|
|
if (branch_taken) {
|
|
goto L_08ACF694;
|
|
}
|
|
goto L_08ACF688;
|
|
}
|
|
L_08ACF688:
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(9328)));
|
|
aot_gpr_4 = (aot_gpr_4 + static_cast<std::uint32_t>(1));
|
|
aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast<std::uint32_t>(9328), aot_gpr_4);
|
|
goto L_08ACF694;
|
|
L_08ACF694:
|
|
aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(64)));
|
|
ctx.gpr[7] = (16256u << 16u);
|
|
aot_fpr_12 = std::bit_cast<float>(ctx.gpr[7]);
|
|
aot_gpr_4 = (ctx.gpr[28] + static_cast<std::uint32_t>(7768));
|
|
aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast<std::uint32_t>(96)));
|
|
aot_fpr_13 = std::bit_cast<float>(std::bit_cast<std::uint32_t>(aot_fpr_12));
|
|
aot_gpr_31 = (0x08ACF6B4u);
|
|
ctx.gpr[6] = (0u | 61u);
|
|
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0178->0128.
|
|
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
|
|
AOT_REGCACHE_SYNC_OUT();
|
|
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0178_entry, 986u, 0x08ACF6B4u, 0x08A05F80u)) {
|
|
#if defined(__clang__)
|
|
[[clang::musttail]] return recomp_unit_0128_entry(rt, ctx, 503u, aot_mem);
|
|
#else
|
|
recomp_unit_0128_entry(rt, ctx, 503u, aot_mem); return;
|
|
#endif
|
|
}
|
|
return;
|
|
#else
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0128_entry, 128u, 503u, 0x08A05F80u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACF6B4u) goto L_08ACF6B4;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
#endif
|
|
L_08ACF6B4:
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(64)));
|
|
aot_gpr_31 = (0x08ACF6C0u);
|
|
aot_gpr_5 = (0u | 106u);
|
|
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0178->0023.
|
|
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
|
|
AOT_REGCACHE_SYNC_OUT();
|
|
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0178_entry, 987u, 0x08ACF6C0u, 0x08860424u)) {
|
|
#if defined(__clang__)
|
|
[[clang::musttail]] return recomp_unit_0023_entry(rt, ctx, 16u, aot_mem);
|
|
#else
|
|
recomp_unit_0023_entry(rt, ctx, 16u, aot_mem); return;
|
|
#endif
|
|
}
|
|
return;
|
|
#else
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 16u, 0x08860424u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACF6C0u) goto L_08ACF6C0;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
#endif
|
|
L_08ACF6C0:
|
|
{ const bool branch_taken = 0u == 0u;
|
|
if (branch_taken) {
|
|
goto L_08ACF790;
|
|
}
|
|
goto L_08ACF6C8;
|
|
}
|
|
L_08ACF6C8:
|
|
aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast<std::uint32_t>(4)));
|
|
{ const bool branch_taken = aot_gpr_5 != aot_gpr_4;
|
|
if (branch_taken) {
|
|
goto L_08ACF6E0;
|
|
}
|
|
goto L_08ACF6D4;
|
|
}
|
|
L_08ACF6D4:
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(9328)));
|
|
aot_gpr_4 = (aot_gpr_4 + static_cast<std::uint32_t>(1));
|
|
aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast<std::uint32_t>(9328), aot_gpr_4);
|
|
goto L_08ACF6E0;
|
|
L_08ACF6E0:
|
|
ctx.gpr[19] = (0u | 0u);
|
|
aot_gpr_31 = (0x08ACF6ECu);
|
|
aot_gpr_4 = (0u | 48u);
|
|
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0178->0018.
|
|
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
|
|
AOT_REGCACHE_SYNC_OUT();
|
|
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0178_entry, 991u, 0x08ACF6ECu, 0x0884C700u)) {
|
|
#if defined(__clang__)
|
|
[[clang::musttail]] return recomp_unit_0018_entry(rt, ctx, 70u, aot_mem);
|
|
#else
|
|
recomp_unit_0018_entry(rt, ctx, 70u, aot_mem); return;
|
|
#endif
|
|
}
|
|
return;
|
|
#else
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0018_entry, 18u, 70u, 0x0884C700u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACF6ECu) goto L_08ACF6EC;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
#endif
|
|
L_08ACF6EC:
|
|
ctx.gpr[20] = (aot_gpr_2 | 0u);
|
|
{ const bool branch_taken = ctx.gpr[20] == 0u;
|
|
if (branch_taken) {
|
|
goto L_08ACF704;
|
|
}
|
|
goto L_08ACF6F8;
|
|
}
|
|
L_08ACF6F8:
|
|
aot_gpr_31 = (0x08ACF700u);
|
|
aot_gpr_4 = (ctx.gpr[20] | 0u);
|
|
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0178->0018.
|
|
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
|
|
AOT_REGCACHE_SYNC_OUT();
|
|
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0178_entry, 993u, 0x08ACF700u, 0x0884C68Cu)) {
|
|
#if defined(__clang__)
|
|
[[clang::musttail]] return recomp_unit_0018_entry(rt, ctx, 63u, aot_mem);
|
|
#else
|
|
recomp_unit_0018_entry(rt, ctx, 63u, aot_mem); return;
|
|
#endif
|
|
}
|
|
return;
|
|
#else
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0018_entry, 18u, 63u, 0x0884C68Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACF700u) goto L_08ACF700;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
#endif
|
|
L_08ACF700:
|
|
ctx.gpr[19] = (ctx.gpr[20] | 0u);
|
|
goto L_08ACF704;
|
|
L_08ACF704:
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(64)));
|
|
aot_gpr_4 = (aot_gpr_4 + static_cast<std::uint32_t>(48));
|
|
{ const std::uint32_t vfpu_address = aot_gpr_4 + static_cast<std::uint32_t>(0);
|
|
std::uint32_t vfpu_words[4]{};
|
|
aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words);
|
|
float vfpu_value[4]{
|
|
std::bit_cast<float>(vfpu_words[0]),
|
|
std::bit_cast<float>(vfpu_words[1]),
|
|
std::bit_cast<float>(vfpu_words[2]),
|
|
std::bit_cast<float>(vfpu_words[3])};
|
|
ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); }
|
|
aot_gpr_4 = (ctx.gpr[19] + static_cast<std::uint32_t>(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<std::uint32_t>(0);
|
|
const std::uint32_t vfpu_words[4]{std::bit_cast<std::uint32_t>(vfpu_value[0]), std::bit_cast<std::uint32_t>(vfpu_value[1]), std::bit_cast<std::uint32_t>(vfpu_value[2]), std::bit_cast<std::uint32_t>(vfpu_value[3])};
|
|
aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); }
|
|
aot_gpr_4 = (0u | 73u);
|
|
aot_mem.aot_direct_store16(ctx.gpr[19] + static_cast<std::uint32_t>(0), static_cast<std::uint16_t>(aot_gpr_4));
|
|
aot_gpr_4 = (0u + static_cast<std::uint32_t>(-5));
|
|
aot_mem.aot_direct_store32(ctx.gpr[19] + static_cast<std::uint32_t>(32), aot_gpr_4);
|
|
aot_gpr_4 = (ctx.gpr[28] + static_cast<std::uint32_t>(7768));
|
|
aot_gpr_31 = (0x08ACF734u);
|
|
aot_gpr_5 = (ctx.gpr[19] | 0u);
|
|
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0178->0128.
|
|
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
|
|
AOT_REGCACHE_SYNC_OUT();
|
|
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0178_entry, 995u, 0x08ACF734u, 0x08A06228u)) {
|
|
#if defined(__clang__)
|
|
[[clang::musttail]] return recomp_unit_0128_entry(rt, ctx, 544u, aot_mem);
|
|
#else
|
|
recomp_unit_0128_entry(rt, ctx, 544u, aot_mem); return;
|
|
#endif
|
|
}
|
|
return;
|
|
#else
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0128_entry, 128u, 544u, 0x08A06228u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACF734u) goto L_08ACF734;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
#endif
|
|
L_08ACF734:
|
|
{ const bool branch_taken = 0u == 0u;
|
|
if (branch_taken) {
|
|
goto L_08ACF790;
|
|
}
|
|
goto L_08ACF73C;
|
|
}
|
|
L_08ACF73C:
|
|
ctx.gpr[20] = (0u | 0u);
|
|
aot_gpr_31 = (0x08ACF748u);
|
|
aot_gpr_4 = (0u | 48u);
|
|
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0178->0018.
|
|
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
|
|
AOT_REGCACHE_SYNC_OUT();
|
|
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0178_entry, 997u, 0x08ACF748u, 0x0884C700u)) {
|
|
#if defined(__clang__)
|
|
[[clang::musttail]] return recomp_unit_0018_entry(rt, ctx, 70u, aot_mem);
|
|
#else
|
|
recomp_unit_0018_entry(rt, ctx, 70u, aot_mem); return;
|
|
#endif
|
|
}
|
|
return;
|
|
#else
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0018_entry, 18u, 70u, 0x0884C700u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACF748u) goto L_08ACF748;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
#endif
|
|
L_08ACF748:
|
|
ctx.gpr[19] = (aot_gpr_2 | 0u);
|
|
{ const bool branch_taken = ctx.gpr[19] == 0u;
|
|
if (branch_taken) {
|
|
goto L_08ACF760;
|
|
}
|
|
goto L_08ACF754;
|
|
}
|
|
L_08ACF754:
|
|
aot_gpr_31 = (0x08ACF75Cu);
|
|
aot_gpr_4 = (ctx.gpr[19] | 0u);
|
|
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0178->0018.
|
|
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
|
|
AOT_REGCACHE_SYNC_OUT();
|
|
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0178_entry, 999u, 0x08ACF75Cu, 0x0884C68Cu)) {
|
|
#if defined(__clang__)
|
|
[[clang::musttail]] return recomp_unit_0018_entry(rt, ctx, 63u, aot_mem);
|
|
#else
|
|
recomp_unit_0018_entry(rt, ctx, 63u, aot_mem); return;
|
|
#endif
|
|
}
|
|
return;
|
|
#else
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0018_entry, 18u, 63u, 0x0884C68Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACF75Cu) goto L_08ACF75C;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
#endif
|
|
L_08ACF75C:
|
|
ctx.gpr[20] = (ctx.gpr[19] | 0u);
|
|
goto L_08ACF760;
|
|
L_08ACF760:
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(64)));
|
|
aot_gpr_4 = (aot_gpr_4 + static_cast<std::uint32_t>(48));
|
|
{ const std::uint32_t vfpu_address = aot_gpr_4 + static_cast<std::uint32_t>(0);
|
|
std::uint32_t vfpu_words[4]{};
|
|
aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words);
|
|
float vfpu_value[4]{
|
|
std::bit_cast<float>(vfpu_words[0]),
|
|
std::bit_cast<float>(vfpu_words[1]),
|
|
std::bit_cast<float>(vfpu_words[2]),
|
|
std::bit_cast<float>(vfpu_words[3])};
|
|
ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); }
|
|
aot_gpr_4 = (ctx.gpr[20] + static_cast<std::uint32_t>(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<std::uint32_t>(0);
|
|
const std::uint32_t vfpu_words[4]{std::bit_cast<std::uint32_t>(vfpu_value[0]), std::bit_cast<std::uint32_t>(vfpu_value[1]), std::bit_cast<std::uint32_t>(vfpu_value[2]), std::bit_cast<std::uint32_t>(vfpu_value[3])};
|
|
aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); }
|
|
aot_gpr_4 = (0u | 74u);
|
|
aot_mem.aot_direct_store16(ctx.gpr[20] + static_cast<std::uint32_t>(0), static_cast<std::uint16_t>(aot_gpr_4));
|
|
aot_gpr_4 = (0u + static_cast<std::uint32_t>(-5));
|
|
aot_mem.aot_direct_store32(ctx.gpr[20] + static_cast<std::uint32_t>(32), aot_gpr_4);
|
|
aot_gpr_4 = (ctx.gpr[28] + static_cast<std::uint32_t>(7768));
|
|
aot_gpr_31 = (0x08ACF790u);
|
|
aot_gpr_5 = (ctx.gpr[20] | 0u);
|
|
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0178->0128.
|
|
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
|
|
AOT_REGCACHE_SYNC_OUT();
|
|
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0178_entry, 1001u, 0x08ACF790u, 0x08A06228u)) {
|
|
#if defined(__clang__)
|
|
[[clang::musttail]] return recomp_unit_0128_entry(rt, ctx, 544u, aot_mem);
|
|
#else
|
|
recomp_unit_0128_entry(rt, ctx, 544u, aot_mem); return;
|
|
#endif
|
|
}
|
|
return;
|
|
#else
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0128_entry, 128u, 544u, 0x08A06228u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACF790u) goto L_08ACF790;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
#endif
|
|
L_08ACF790:
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(64)));
|
|
aot_fpr_12 = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(32)));
|
|
aot_fpr_13 = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(36)));
|
|
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(160), std::bit_cast<std::uint32_t>(aot_fpr_12));
|
|
aot_fpr_12 = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(40)));
|
|
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(164), std::bit_cast<std::uint32_t>(aot_fpr_13));
|
|
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(168), std::bit_cast<std::uint32_t>(aot_fpr_12));
|
|
aot_gpr_31 = (0x08ACF7B4u);
|
|
aot_gpr_5 = (aot_gpr_29 + static_cast<std::uint32_t>(160));
|
|
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0178->0008.
|
|
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
|
|
AOT_REGCACHE_SYNC_OUT();
|
|
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0178_entry, 1002u, 0x08ACF7B4u, 0x08827CD8u)) {
|
|
#if defined(__clang__)
|
|
[[clang::musttail]] return recomp_unit_0008_entry(rt, ctx, 584u, aot_mem);
|
|
#else
|
|
recomp_unit_0008_entry(rt, ctx, 584u, aot_mem); return;
|
|
#endif
|
|
}
|
|
return;
|
|
#else
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0008_entry, 8u, 584u, 0x08827CD8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACF7B4u) goto L_08ACF7B4;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
#endif
|
|
L_08ACF7B4:
|
|
aot_gpr_31 = (0x08ACF7BCu);
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(64)));
|
|
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0178->0143.
|
|
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
|
|
AOT_REGCACHE_SYNC_OUT();
|
|
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0178_entry, 1003u, 0x08ACF7BCu, 0x08A4182Cu)) {
|
|
#if defined(__clang__)
|
|
[[clang::musttail]] return recomp_unit_0143_entry(rt, ctx, 290u, aot_mem);
|
|
#else
|
|
recomp_unit_0143_entry(rt, ctx, 290u, aot_mem); return;
|
|
#endif
|
|
}
|
|
return;
|
|
#else
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0143_entry, 143u, 290u, 0x08A4182Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACF7BCu) goto L_08ACF7BC;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
#endif
|
|
L_08ACF7BC:
|
|
aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast<std::uint32_t>(8072), static_cast<std::uint8_t>(0u));
|
|
aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast<std::uint32_t>(8422), static_cast<std::uint8_t>(0u));
|
|
aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast<std::uint32_t>(8423), static_cast<std::uint8_t>(0u));
|
|
aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast<std::uint32_t>(8068), 0u);
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast<std::uint32_t>(0)));
|
|
aot_gpr_5 = (0u | 30u);
|
|
{ const bool branch_taken = aot_gpr_4 == aot_gpr_5;
|
|
if (branch_taken) {
|
|
goto L_08ACF7EC;
|
|
}
|
|
goto L_08ACF7DC;
|
|
}
|
|
L_08ACF7DC:
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast<std::uint32_t>(0)));
|
|
aot_gpr_5 = (0u | 31u);
|
|
{ const bool branch_taken = aot_gpr_4 != aot_gpr_5;
|
|
if (branch_taken) {
|
|
goto L_08ACF81C;
|
|
}
|
|
goto L_08ACF7EC;
|
|
}
|
|
L_08ACF7EC:
|
|
aot_gpr_4 = (0u | 1u);
|
|
aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast<std::uint32_t>(-760), static_cast<std::uint8_t>(aot_gpr_4));
|
|
aot_gpr_4 = (ctx.gpr[18] + static_cast<std::uint32_t>(16));
|
|
{ const std::uint32_t vfpu_address = aot_gpr_4 + static_cast<std::uint32_t>(0);
|
|
std::uint32_t vfpu_words[4]{};
|
|
aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words);
|
|
float vfpu_value[4]{
|
|
std::bit_cast<float>(vfpu_words[0]),
|
|
std::bit_cast<float>(vfpu_words[1]),
|
|
std::bit_cast<float>(vfpu_words[2]),
|
|
std::bit_cast<float>(vfpu_words[3])};
|
|
ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); }
|
|
aot_gpr_4 = (ctx.gpr[28] + static_cast<std::uint32_t>(10304));
|
|
{ float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value);
|
|
const std::uint32_t vfpu_address = aot_gpr_4 + static_cast<std::uint32_t>(0);
|
|
const std::uint32_t vfpu_words[4]{std::bit_cast<std::uint32_t>(vfpu_value[0]), std::bit_cast<std::uint32_t>(vfpu_value[1]), std::bit_cast<std::uint32_t>(vfpu_value[2]), std::bit_cast<std::uint32_t>(vfpu_value[3])};
|
|
aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); }
|
|
aot_gpr_5 = (aot_gpr_29 + static_cast<std::uint32_t>(96));
|
|
{ const std::uint32_t vfpu_address = aot_gpr_5 + static_cast<std::uint32_t>(0);
|
|
std::uint32_t vfpu_words[4]{};
|
|
aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words);
|
|
float vfpu_value[4]{
|
|
std::bit_cast<float>(vfpu_words[0]),
|
|
std::bit_cast<float>(vfpu_words[1]),
|
|
std::bit_cast<float>(vfpu_words[2]),
|
|
std::bit_cast<float>(vfpu_words[3])};
|
|
ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); }
|
|
aot_gpr_5 = (ctx.gpr[28] + static_cast<std::uint32_t>(10320));
|
|
{ float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value);
|
|
const std::uint32_t vfpu_address = aot_gpr_5 + static_cast<std::uint32_t>(0);
|
|
const std::uint32_t vfpu_words[4]{std::bit_cast<std::uint32_t>(vfpu_value[0]), std::bit_cast<std::uint32_t>(vfpu_value[1]), std::bit_cast<std::uint32_t>(vfpu_value[2]), std::bit_cast<std::uint32_t>(vfpu_value[3])};
|
|
aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); }
|
|
aot_gpr_31 = (0x08ACF81Cu);
|
|
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0178->0122.
|
|
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
|
|
AOT_REGCACHE_SYNC_OUT();
|
|
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0178_entry, 1006u, 0x08ACF81Cu, 0x089EE05Cu)) {
|
|
#if defined(__clang__)
|
|
[[clang::musttail]] return recomp_unit_0122_entry(rt, ctx, 302u, aot_mem);
|
|
#else
|
|
recomp_unit_0122_entry(rt, ctx, 302u, aot_mem); return;
|
|
#endif
|
|
}
|
|
return;
|
|
#else
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0122_entry, 122u, 302u, 0x089EE05Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACF81Cu) goto L_08ACF81C;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
#endif
|
|
L_08ACF81C:
|
|
aot_gpr_4 = (aot_gpr_29 + static_cast<std::uint32_t>(96));
|
|
{ const std::uint32_t vfpu_address = aot_gpr_4 + static_cast<std::uint32_t>(0);
|
|
std::uint32_t vfpu_words[4]{};
|
|
aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words);
|
|
float vfpu_value[4]{
|
|
std::bit_cast<float>(vfpu_words[0]),
|
|
std::bit_cast<float>(vfpu_words[1]),
|
|
std::bit_cast<float>(vfpu_words[2]),
|
|
std::bit_cast<float>(vfpu_words[3])};
|
|
ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); }
|
|
aot_gpr_4 = (ctx.gpr[18] + static_cast<std::uint32_t>(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<std::uint32_t>(0);
|
|
const std::uint32_t vfpu_words[4]{std::bit_cast<std::uint32_t>(vfpu_value[0]), std::bit_cast<std::uint32_t>(vfpu_value[1]), std::bit_cast<std::uint32_t>(vfpu_value[2]), std::bit_cast<std::uint32_t>(vfpu_value[3])};
|
|
aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); }
|
|
goto L_08ACF82C;
|
|
L_08ACF82C:
|
|
aot_gpr_17 = (aot_gpr_17 + static_cast<std::uint32_t>(1));
|
|
aot_gpr_4 = (static_cast<std::int32_t>(aot_gpr_17) < 100 ? 1u : 0u);
|
|
{ const bool branch_taken = aot_gpr_4 != 0u;
|
|
if (branch_taken) {
|
|
goto L_08ACEA4C;
|
|
}
|
|
goto L_08ACF83C;
|
|
}
|
|
L_08ACF83C:
|
|
{ std::uint32_t aot_run_words[6]{};
|
|
aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast<std::uint32_t>(664), aot_run_words);
|
|
ctx.gpr[16] = aot_run_words[0];
|
|
aot_gpr_17 = aot_run_words[1];
|
|
ctx.gpr[18] = aot_run_words[2];
|
|
ctx.gpr[19] = aot_run_words[3];
|
|
ctx.gpr[20] = aot_run_words[4];
|
|
aot_gpr_31 = aot_run_words[5];
|
|
}
|
|
jump_target = aot_gpr_31;
|
|
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(688));
|
|
// PSPRECOMP_V813_JR_FAST_EXIT: preserve the exact 256-transfer boundary; common JR path is shared.
|
|
if (++local_transfers < 256u) goto LOCAL_JR_DISPATCH;
|
|
// PSPRECOMP_V812_SHARED_SCHED_JUMP
|
|
goto LOCAL_SCHED_BOUNDARY;
|
|
L_08ACF85C:
|
|
{ const std::uint32_t vfpu_address = ctx.gpr[6] + static_cast<std::uint32_t>(0);
|
|
std::uint32_t vfpu_words[4]{};
|
|
aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words);
|
|
float vfpu_value[4]{
|
|
std::bit_cast<float>(vfpu_words[0]),
|
|
std::bit_cast<float>(vfpu_words[1]),
|
|
std::bit_cast<float>(vfpu_words[2]),
|
|
std::bit_cast<float>(vfpu_words[3])};
|
|
ctx.write_vfpu_vector_ct<1u, 4u>(vfpu_value); }
|
|
{ const std::uint32_t vfpu_address = aot_gpr_5 + static_cast<std::uint32_t>(0);
|
|
std::uint32_t vfpu_words[4]{};
|
|
aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words);
|
|
float vfpu_value[4]{
|
|
std::bit_cast<float>(vfpu_words[0]),
|
|
std::bit_cast<float>(vfpu_words[1]),
|
|
std::bit_cast<float>(vfpu_words[2]),
|
|
std::bit_cast<float>(vfpu_words[3])};
|
|
ctx.write_vfpu_vector_ct<4u, 4u>(vfpu_value); }
|
|
{ const std::uint32_t vfpu_address = aot_gpr_5 + static_cast<std::uint32_t>(16);
|
|
std::uint32_t vfpu_words[4]{};
|
|
aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words);
|
|
float vfpu_value[4]{
|
|
std::bit_cast<float>(vfpu_words[0]),
|
|
std::bit_cast<float>(vfpu_words[1]),
|
|
std::bit_cast<float>(vfpu_words[2]),
|
|
std::bit_cast<float>(vfpu_words[3])};
|
|
ctx.write_vfpu_vector_ct<5u, 4u>(vfpu_value); }
|
|
{ const std::uint32_t vfpu_address = aot_gpr_5 + static_cast<std::uint32_t>(32);
|
|
std::uint32_t vfpu_words[4]{};
|
|
aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words);
|
|
float vfpu_value[4]{
|
|
std::bit_cast<float>(vfpu_words[0]),
|
|
std::bit_cast<float>(vfpu_words[1]),
|
|
std::bit_cast<float>(vfpu_words[2]),
|
|
std::bit_cast<float>(vfpu_words[3])};
|
|
ctx.write_vfpu_vector_ct<6u, 4u>(vfpu_value); }
|
|
{ const std::uint32_t vfpu_address = aot_gpr_5 + static_cast<std::uint32_t>(48);
|
|
std::uint32_t vfpu_words[4]{};
|
|
aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words);
|
|
float vfpu_value[4]{
|
|
std::bit_cast<float>(vfpu_words[0]),
|
|
std::bit_cast<float>(vfpu_words[1]),
|
|
std::bit_cast<float>(vfpu_words[2]),
|
|
std::bit_cast<float>(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<std::uint32_t>(0);
|
|
const std::uint32_t vfpu_words[4]{std::bit_cast<std::uint32_t>(vfpu_value[0]), std::bit_cast<std::uint32_t>(vfpu_value[1]), std::bit_cast<std::uint32_t>(vfpu_value[2]), std::bit_cast<std::uint32_t>(vfpu_value[3])};
|
|
aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); }
|
|
jump_target = aot_gpr_31;
|
|
// PSPRECOMP_V813_JR_FAST_EXIT: preserve the exact 256-transfer boundary; common JR path is shared.
|
|
if (++local_transfers < 256u) goto LOCAL_JR_DISPATCH;
|
|
// PSPRECOMP_V812_SHARED_SCHED_JUMP
|
|
goto LOCAL_SCHED_BOUNDARY;
|
|
L_08ACF884:
|
|
jump_target = aot_gpr_31;
|
|
aot_gpr_2 = (0u | 1u);
|
|
// PSPRECOMP_V813_JR_FAST_EXIT: preserve the exact 256-transfer boundary; common JR path is shared.
|
|
if (++local_transfers < 256u) goto LOCAL_JR_DISPATCH;
|
|
// PSPRECOMP_V812_SHARED_SCHED_JUMP
|
|
goto LOCAL_SCHED_BOUNDARY;
|
|
L_08ACF88C:
|
|
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(-16));
|
|
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(0), ctx.gpr[16]);
|
|
ctx.gpr[16] = (aot_gpr_4 | 0u);
|
|
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(4), aot_gpr_17);
|
|
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(8), aot_gpr_31);
|
|
aot_gpr_31 = (0x08ACF8A8u);
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast<std::uint32_t>(20)));
|
|
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0178->0089.
|
|
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
|
|
AOT_REGCACHE_SYNC_OUT();
|
|
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0178_entry, 1012u, 0x08ACF8A8u, 0x08968F88u)) {
|
|
#if defined(__clang__)
|
|
[[clang::musttail]] return recomp_unit_0089_entry(rt, ctx, 226u, aot_mem);
|
|
#else
|
|
recomp_unit_0089_entry(rt, ctx, 226u, aot_mem); return;
|
|
#endif
|
|
}
|
|
return;
|
|
#else
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0089_entry, 89u, 226u, 0x08968F88u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACF8A8u) goto L_08ACF8A8;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
#endif
|
|
L_08ACF8A8:
|
|
{ const bool branch_taken = aot_gpr_2 == 0u;
|
|
if (branch_taken) {
|
|
goto L_08ACF8DC;
|
|
}
|
|
goto L_08ACF8B0;
|
|
}
|
|
L_08ACF8B0:
|
|
aot_gpr_31 = (0x08ACF8B8u);
|
|
aot_gpr_4 = (ctx.gpr[16] | 0u);
|
|
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0178->0089.
|
|
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
|
|
AOT_REGCACHE_SYNC_OUT();
|
|
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0178_entry, 1014u, 0x08ACF8B8u, 0x0896950Cu)) {
|
|
#if defined(__clang__)
|
|
[[clang::musttail]] return recomp_unit_0089_entry(rt, ctx, 287u, aot_mem);
|
|
#else
|
|
recomp_unit_0089_entry(rt, ctx, 287u, aot_mem); return;
|
|
#endif
|
|
}
|
|
return;
|
|
#else
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0089_entry, 89u, 287u, 0x0896950Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACF8B8u) goto L_08ACF8B8;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
#endif
|
|
L_08ACF8B8:
|
|
aot_gpr_17 = (aot_gpr_2 | 0u);
|
|
{ const bool branch_taken = aot_gpr_17 == 0u;
|
|
if (branch_taken) {
|
|
goto L_08ACF8DC;
|
|
}
|
|
goto L_08ACF8C4;
|
|
}
|
|
L_08ACF8C4:
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast<std::uint32_t>(8)));
|
|
{ const bool branch_taken = aot_gpr_4 == 0u;
|
|
if (branch_taken) {
|
|
goto L_08ACF8D8;
|
|
}
|
|
goto L_08ACF8D0;
|
|
}
|
|
L_08ACF8D0:
|
|
aot_gpr_31 = (0x08ACF8D8u);
|
|
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0178->0089.
|
|
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
|
|
AOT_REGCACHE_SYNC_OUT();
|
|
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0178_entry, 1017u, 0x08ACF8D8u, 0x089694D0u)) {
|
|
#if defined(__clang__)
|
|
[[clang::musttail]] return recomp_unit_0089_entry(rt, ctx, 282u, aot_mem);
|
|
#else
|
|
recomp_unit_0089_entry(rt, ctx, 282u, aot_mem); return;
|
|
#endif
|
|
}
|
|
return;
|
|
#else
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0089_entry, 89u, 282u, 0x089694D0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACF8D8u) goto L_08ACF8D8;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
#endif
|
|
L_08ACF8D8:
|
|
aot_mem.aot_direct_store32(aot_gpr_17 + static_cast<std::uint32_t>(8), 0u);
|
|
goto L_08ACF8DC;
|
|
L_08ACF8DC:
|
|
aot_gpr_2 = (ctx.gpr[16] | 0u);
|
|
{ std::uint32_t aot_run_words[3]{};
|
|
aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast<std::uint32_t>(0), aot_run_words);
|
|
ctx.gpr[16] = aot_run_words[0];
|
|
aot_gpr_17 = aot_run_words[1];
|
|
aot_gpr_31 = aot_run_words[2];
|
|
}
|
|
jump_target = aot_gpr_31;
|
|
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(16));
|
|
// PSPRECOMP_V813_JR_FAST_EXIT: preserve the exact 256-transfer boundary; common JR path is shared.
|
|
if (++local_transfers < 256u) goto LOCAL_JR_DISPATCH;
|
|
// PSPRECOMP_V812_SHARED_SCHED_JUMP
|
|
goto LOCAL_SCHED_BOUNDARY;
|
|
L_08ACF8F4:
|
|
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(-16));
|
|
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(0), aot_gpr_31);
|
|
{ const bool branch_taken = aot_gpr_4 == 0u;
|
|
if (branch_taken) {
|
|
goto L_08ACF934;
|
|
}
|
|
goto L_08ACF904;
|
|
}
|
|
L_08ACF904:
|
|
aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast<std::uint32_t>(72)));
|
|
aot_gpr_5 = (aot_gpr_5 & 14u);
|
|
aot_gpr_5 = (aot_gpr_5 >> 1u);
|
|
ctx.gpr[6] = (aot_gpr_5 < static_cast<std::uint32_t>(8) ? 1u : 0u);
|
|
{ const bool branch_taken = ctx.gpr[6] == 0u;
|
|
if (branch_taken) {
|
|
goto L_08ACF9AC;
|
|
}
|
|
goto L_08ACF91C;
|
|
}
|
|
L_08ACF91C:
|
|
aot_gpr_5 = (aot_gpr_5 << 2u);
|
|
ctx.gpr[1] = (2232u << 16u);
|
|
ctx.gpr[1] = (ctx.gpr[1] + aot_gpr_5);
|
|
ctx.gpr[1] = (aot_mem.aot_direct_load32(ctx.gpr[1] + static_cast<std::uint32_t>(16184)));
|
|
jump_target = ctx.gpr[1];
|
|
// PSPRECOMP_V813_JR_FAST_EXIT: preserve the exact 256-transfer boundary; common JR path is shared.
|
|
if (++local_transfers < 256u) goto LOCAL_JR_DISPATCH;
|
|
// PSPRECOMP_V812_SHARED_SCHED_JUMP
|
|
goto LOCAL_SCHED_BOUNDARY;
|
|
L_08ACF934:
|
|
{ const bool branch_taken = 0u == 0u;
|
|
aot_gpr_2 = (0u | 0u);
|
|
if (branch_taken) {
|
|
goto L_08ACF9B0;
|
|
}
|
|
goto L_08ACF93C;
|
|
}
|
|
L_08ACF93C:
|
|
{ const bool branch_taken = 0u == 0u;
|
|
aot_gpr_2 = (0u | 0u);
|
|
if (branch_taken) {
|
|
goto L_08ACF9B0;
|
|
}
|
|
goto L_08ACF944;
|
|
}
|
|
L_08ACF944:
|
|
aot_gpr_31 = (0x08ACF94Cu);
|
|
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0178->0142.
|
|
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
|
|
AOT_REGCACHE_SYNC_OUT();
|
|
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0178_entry, 1025u, 0x08ACF94Cu, 0x08A3CA94u)) {
|
|
#if defined(__clang__)
|
|
[[clang::musttail]] return recomp_unit_0142_entry(rt, ctx, 138u, aot_mem);
|
|
#else
|
|
recomp_unit_0142_entry(rt, ctx, 138u, aot_mem); return;
|
|
#endif
|
|
}
|
|
return;
|
|
#else
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0142_entry, 142u, 138u, 0x08A3CA94u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACF94Cu) goto L_08ACF94C;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
#endif
|
|
L_08ACF94C:
|
|
{ const bool branch_taken = 0u == 0u;
|
|
if (branch_taken) {
|
|
goto L_08ACF9B0;
|
|
}
|
|
goto L_08ACF954;
|
|
}
|
|
L_08ACF954:
|
|
aot_gpr_31 = (0x08ACF95Cu);
|
|
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0178->0190.
|
|
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
|
|
AOT_REGCACHE_SYNC_OUT();
|
|
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0178_entry, 1027u, 0x08ACF95Cu, 0x08AFEB48u)) {
|
|
#if defined(__clang__)
|
|
[[clang::musttail]] return recomp_unit_0190_entry(rt, ctx, 608u, aot_mem);
|
|
#else
|
|
recomp_unit_0190_entry(rt, ctx, 608u, aot_mem); return;
|
|
#endif
|
|
}
|
|
return;
|
|
#else
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0190_entry, 190u, 608u, 0x08AFEB48u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACF95Cu) goto L_08ACF95C;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
#endif
|
|
L_08ACF95C:
|
|
{ const bool branch_taken = 0u == 0u;
|
|
if (branch_taken) {
|
|
goto L_08ACF9B0;
|
|
}
|
|
goto L_08ACF964;
|
|
}
|
|
L_08ACF964:
|
|
aot_gpr_31 = (0x08ACF96Cu);
|
|
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0178->0064.
|
|
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
|
|
AOT_REGCACHE_SYNC_OUT();
|
|
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0178_entry, 1029u, 0x08ACF96Cu, 0x089051ACu)) {
|
|
#if defined(__clang__)
|
|
[[clang::musttail]] return recomp_unit_0064_entry(rt, ctx, 241u, aot_mem);
|
|
#else
|
|
recomp_unit_0064_entry(rt, ctx, 241u, aot_mem); return;
|
|
#endif
|
|
}
|
|
return;
|
|
#else
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0064_entry, 64u, 241u, 0x089051ACu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACF96Cu) goto L_08ACF96C;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
#endif
|
|
L_08ACF96C:
|
|
{ const bool branch_taken = 0u == 0u;
|
|
if (branch_taken) {
|
|
goto L_08ACF9B0;
|
|
}
|
|
goto L_08ACF974;
|
|
}
|
|
L_08ACF974:
|
|
aot_gpr_31 = (0x08ACF97Cu);
|
|
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0178->0009.
|
|
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
|
|
AOT_REGCACHE_SYNC_OUT();
|
|
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0178_entry, 1031u, 0x08ACF97Cu, 0x0882B404u)) {
|
|
#if defined(__clang__)
|
|
[[clang::musttail]] return recomp_unit_0009_entry(rt, ctx, 332u, aot_mem);
|
|
#else
|
|
recomp_unit_0009_entry(rt, ctx, 332u, aot_mem); return;
|
|
#endif
|
|
}
|
|
return;
|
|
#else
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0009_entry, 9u, 332u, 0x0882B404u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACF97Cu) goto L_08ACF97C;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
#endif
|
|
L_08ACF97C:
|
|
{ const bool branch_taken = 0u == 0u;
|
|
if (branch_taken) {
|
|
goto L_08ACF9B0;
|
|
}
|
|
goto L_08ACF984;
|
|
}
|
|
L_08ACF984:
|
|
aot_gpr_31 = (0x08ACF98Cu);
|
|
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0178->0170.
|
|
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
|
|
AOT_REGCACHE_SYNC_OUT();
|
|
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0178_entry, 1033u, 0x08ACF98Cu, 0x08AAFE60u)) {
|
|
#if defined(__clang__)
|
|
[[clang::musttail]] return recomp_unit_0170_entry(rt, ctx, 858u, aot_mem);
|
|
#else
|
|
recomp_unit_0170_entry(rt, ctx, 858u, aot_mem); return;
|
|
#endif
|
|
}
|
|
return;
|
|
#else
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0170_entry, 170u, 858u, 0x08AAFE60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACF98Cu) goto L_08ACF98C;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
#endif
|
|
L_08ACF98C:
|
|
{ const bool branch_taken = 0u == 0u;
|
|
if (branch_taken) {
|
|
goto L_08ACF9B0;
|
|
}
|
|
goto L_08ACF994;
|
|
}
|
|
L_08ACF994:
|
|
aot_gpr_31 = (0x08ACF99Cu);
|
|
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0178->0030.
|
|
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
|
|
AOT_REGCACHE_SYNC_OUT();
|
|
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0178_entry, 1035u, 0x08ACF99Cu, 0x0887EFDCu)) {
|
|
#if defined(__clang__)
|
|
[[clang::musttail]] return recomp_unit_0030_entry(rt, ctx, 639u, aot_mem);
|
|
#else
|
|
recomp_unit_0030_entry(rt, ctx, 639u, aot_mem); return;
|
|
#endif
|
|
}
|
|
return;
|
|
#else
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0030_entry, 30u, 639u, 0x0887EFDCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACF99Cu) goto L_08ACF99C;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
#endif
|
|
L_08ACF99C:
|
|
{ const bool branch_taken = 0u == 0u;
|
|
if (branch_taken) {
|
|
goto L_08ACF9B0;
|
|
}
|
|
goto L_08ACF9A4;
|
|
}
|
|
L_08ACF9A4:
|
|
{ const bool branch_taken = 0u == 0u;
|
|
aot_gpr_2 = (0u | 1u);
|
|
if (branch_taken) {
|
|
goto L_08ACF9B0;
|
|
}
|
|
goto L_08ACF9AC;
|
|
}
|
|
L_08ACF9AC:
|
|
aot_gpr_2 = (0u | 0u);
|
|
goto L_08ACF9B0;
|
|
L_08ACF9B0:
|
|
aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(0)));
|
|
jump_target = aot_gpr_31;
|
|
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(16));
|
|
// PSPRECOMP_V813_JR_FAST_EXIT: preserve the exact 256-transfer boundary; common JR path is shared.
|
|
if (++local_transfers < 256u) goto LOCAL_JR_DISPATCH;
|
|
// PSPRECOMP_V812_SHARED_SCHED_JUMP
|
|
goto LOCAL_SCHED_BOUNDARY;
|
|
L_08ACF9BC:
|
|
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(-16));
|
|
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(4), aot_gpr_17);
|
|
aot_gpr_17 = (aot_gpr_4 | 0u);
|
|
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(0), ctx.gpr[16]);
|
|
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(8), aot_gpr_31);
|
|
{ const bool branch_taken = aot_gpr_4 == 0u;
|
|
ctx.gpr[16] = (aot_gpr_5 | 0u);
|
|
if (branch_taken) {
|
|
goto L_08ACFA4C;
|
|
}
|
|
goto L_08ACF9D8;
|
|
}
|
|
L_08ACF9D8:
|
|
aot_gpr_4 = (2235u << 16u);
|
|
aot_gpr_4 = (aot_gpr_4 + static_cast<std::uint32_t>(-32624));
|
|
aot_gpr_31 = (0x08ACF9E8u);
|
|
aot_mem.aot_direct_store32(aot_gpr_17 + static_cast<std::uint32_t>(92), aot_gpr_4);
|
|
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0178->0005.
|
|
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
|
|
AOT_REGCACHE_SYNC_OUT();
|
|
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0178_entry, 1041u, 0x08ACF9E8u, 0x088188D8u)) {
|
|
#if defined(__clang__)
|
|
[[clang::musttail]] return recomp_unit_0005_entry(rt, ctx, 69u, aot_mem);
|
|
#else
|
|
recomp_unit_0005_entry(rt, ctx, 69u, aot_mem); return;
|
|
#endif
|
|
}
|
|
return;
|
|
#else
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0005_entry, 5u, 69u, 0x088188D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACF9E8u) goto L_08ACF9E8;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
#endif
|
|
L_08ACF9E8:
|
|
aot_gpr_4 = (aot_gpr_2 | 0u);
|
|
aot_gpr_31 = (0x08ACF9F4u);
|
|
aot_gpr_5 = (aot_gpr_17 | 0u);
|
|
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0178->0005.
|
|
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
|
|
AOT_REGCACHE_SYNC_OUT();
|
|
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0178_entry, 1042u, 0x08ACF9F4u, 0x08818AA8u)) {
|
|
#if defined(__clang__)
|
|
[[clang::musttail]] return recomp_unit_0005_entry(rt, ctx, 92u, aot_mem);
|
|
#else
|
|
recomp_unit_0005_entry(rt, ctx, 92u, aot_mem); return;
|
|
#endif
|
|
}
|
|
return;
|
|
#else
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0005_entry, 5u, 92u, 0x08818AA8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACF9F4u) goto L_08ACF9F4;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
#endif
|
|
L_08ACF9F4:
|
|
aot_gpr_31 = (0x08ACF9FCu);
|
|
aot_gpr_4 = (aot_gpr_17 | 0u);
|
|
goto L_08ACFFD0;
|
|
L_08ACF9FC:
|
|
aot_gpr_31 = (0x08ACFA04u);
|
|
aot_gpr_4 = (aot_gpr_17 | 0u);
|
|
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0178->0163.
|
|
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
|
|
AOT_REGCACHE_SYNC_OUT();
|
|
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0178_entry, 1044u, 0x08ACFA04u, 0x08A93058u)) {
|
|
#if defined(__clang__)
|
|
[[clang::musttail]] return recomp_unit_0163_entry(rt, ctx, 437u, aot_mem);
|
|
#else
|
|
recomp_unit_0163_entry(rt, ctx, 437u, aot_mem); return;
|
|
#endif
|
|
}
|
|
return;
|
|
#else
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0163_entry, 163u, 437u, 0x08A93058u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACFA04u) goto L_08ACFA04;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
#endif
|
|
L_08ACFA04:
|
|
{ const bool branch_taken = aot_gpr_17 == 0u;
|
|
aot_gpr_4 = (ctx.gpr[16] & 1u);
|
|
if (branch_taken) {
|
|
goto L_08ACFA3C;
|
|
}
|
|
goto L_08ACFA0C;
|
|
}
|
|
L_08ACFA0C:
|
|
{ const bool branch_taken = aot_gpr_17 == 0u;
|
|
aot_gpr_4 = (ctx.gpr[16] & 1u);
|
|
if (branch_taken) {
|
|
goto L_08ACFA3C;
|
|
}
|
|
goto L_08ACFA14;
|
|
}
|
|
L_08ACFA14:
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast<std::uint32_t>(72)));
|
|
aot_gpr_4 = (aot_gpr_4 & 1u);
|
|
{ const bool branch_taken = aot_gpr_4 == 0u;
|
|
aot_gpr_4 = (ctx.gpr[16] & 1u);
|
|
if (branch_taken) {
|
|
goto L_08ACFA3C;
|
|
}
|
|
goto L_08ACFA24;
|
|
}
|
|
L_08ACFA24:
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast<std::uint32_t>(64)));
|
|
if (aot_gpr_4 == 0u) {
|
|
aot_gpr_4 = (ctx.gpr[16] & 1u);
|
|
goto L_08ACFA3C;
|
|
}
|
|
goto L_08ACFA30;
|
|
L_08ACFA30:
|
|
aot_gpr_31 = (0x08ACFA38u);
|
|
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0178->0117.
|
|
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
|
|
AOT_REGCACHE_SYNC_OUT();
|
|
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0178_entry, 1049u, 0x08ACFA38u, 0x089D89E0u)) {
|
|
#if defined(__clang__)
|
|
[[clang::musttail]] return recomp_unit_0117_entry(rt, ctx, 129u, aot_mem);
|
|
#else
|
|
recomp_unit_0117_entry(rt, ctx, 129u, aot_mem); return;
|
|
#endif
|
|
}
|
|
return;
|
|
#else
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0117_entry, 117u, 129u, 0x089D89E0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACFA38u) goto L_08ACFA38;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
#endif
|
|
L_08ACFA38:
|
|
aot_gpr_4 = (ctx.gpr[16] & 1u);
|
|
goto L_08ACFA3C;
|
|
L_08ACFA3C:
|
|
{ const bool branch_taken = aot_gpr_4 == 0u;
|
|
if (branch_taken) {
|
|
goto L_08ACFA4C;
|
|
}
|
|
goto L_08ACFA44;
|
|
}
|
|
L_08ACFA44:
|
|
aot_gpr_31 = (0x08ACFA4Cu);
|
|
aot_gpr_4 = (aot_gpr_17 | 0u);
|
|
if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2C0, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, ctx.gpr[6], ctx.gpr[7], ctx.gpr[8], ctx.gpr[16], aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACFA4Cu) goto L_08ACFA4C;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
L_08ACFA4C:
|
|
{ std::uint32_t aot_run_words[3]{};
|
|
aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast<std::uint32_t>(0), aot_run_words);
|
|
ctx.gpr[16] = aot_run_words[0];
|
|
aot_gpr_17 = aot_run_words[1];
|
|
aot_gpr_31 = aot_run_words[2];
|
|
}
|
|
jump_target = aot_gpr_31;
|
|
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(16));
|
|
// PSPRECOMP_V813_JR_FAST_EXIT: preserve the exact 256-transfer boundary; common JR path is shared.
|
|
if (++local_transfers < 256u) goto LOCAL_JR_DISPATCH;
|
|
// PSPRECOMP_V812_SHARED_SCHED_JUMP
|
|
goto LOCAL_SCHED_BOUNDARY;
|
|
L_08ACFA60:
|
|
jump_target = aot_gpr_31;
|
|
aot_gpr_2 = (0u | 0u);
|
|
// PSPRECOMP_V813_JR_FAST_EXIT: preserve the exact 256-transfer boundary; common JR path is shared.
|
|
if (++local_transfers < 256u) goto LOCAL_JR_DISPATCH;
|
|
// PSPRECOMP_V812_SHARED_SCHED_JUMP
|
|
goto LOCAL_SCHED_BOUNDARY;
|
|
L_08ACFA68:
|
|
jump_target = aot_gpr_31;
|
|
aot_gpr_2 = (0u | 0u);
|
|
// PSPRECOMP_V813_JR_FAST_EXIT: preserve the exact 256-transfer boundary; common JR path is shared.
|
|
if (++local_transfers < 256u) goto LOCAL_JR_DISPATCH;
|
|
// PSPRECOMP_V812_SHARED_SCHED_JUMP
|
|
goto LOCAL_SCHED_BOUNDARY;
|
|
L_08ACFA70:
|
|
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(-16));
|
|
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(0), ctx.gpr[16]);
|
|
ctx.gpr[16] = (aot_gpr_4 | 0u);
|
|
aot_mem.aot_direct_store16(ctx.gpr[16] + static_cast<std::uint32_t>(86), static_cast<std::uint16_t>(aot_gpr_5));
|
|
aot_mem.aot_direct_store16(ctx.gpr[16] + static_cast<std::uint32_t>(88), static_cast<std::uint16_t>(aot_gpr_5));
|
|
aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(104)));
|
|
ctx.gpr[6] = (static_cast<std::uint32_t>(static_cast<std::int32_t>(static_cast<std::int16_t>(aot_mem.aot_direct_load16(ctx.gpr[16] + static_cast<std::uint32_t>(86))))));
|
|
ctx.gpr[7] = (aot_mem.aot_direct_load16(aot_gpr_5 + static_cast<std::uint32_t>(22)));
|
|
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(4), aot_gpr_31);
|
|
{ const bool branch_taken = ctx.gpr[6] == ctx.gpr[7];
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast<std::uint32_t>(76)));
|
|
if (branch_taken) {
|
|
goto L_08ACFB20;
|
|
}
|
|
goto L_08ACFA9C;
|
|
}
|
|
L_08ACFA9C:
|
|
ctx.gpr[7] = (aot_mem.aot_direct_load16(aot_gpr_5 + static_cast<std::uint32_t>(24)));
|
|
{ const bool branch_taken = ctx.gpr[6] == ctx.gpr[7];
|
|
if (branch_taken) {
|
|
goto L_08ACFB20;
|
|
}
|
|
goto L_08ACFAA8;
|
|
}
|
|
L_08ACFAA8:
|
|
ctx.gpr[7] = (aot_mem.aot_direct_load16(aot_gpr_5 + static_cast<std::uint32_t>(26)));
|
|
{ const bool branch_taken = ctx.gpr[6] == ctx.gpr[7];
|
|
if (branch_taken) {
|
|
goto L_08ACFB20;
|
|
}
|
|
goto L_08ACFAB4;
|
|
}
|
|
L_08ACFAB4:
|
|
ctx.gpr[7] = (aot_mem.aot_direct_load16(aot_gpr_5 + static_cast<std::uint32_t>(28)));
|
|
{ const bool branch_taken = ctx.gpr[6] == ctx.gpr[7];
|
|
if (branch_taken) {
|
|
goto L_08ACFB20;
|
|
}
|
|
goto L_08ACFAC0;
|
|
}
|
|
L_08ACFAC0:
|
|
ctx.gpr[7] = (aot_mem.aot_direct_load16(aot_gpr_5 + static_cast<std::uint32_t>(210)));
|
|
{ const bool branch_taken = ctx.gpr[6] == ctx.gpr[7];
|
|
if (branch_taken) {
|
|
goto L_08ACFB20;
|
|
}
|
|
goto L_08ACFACC;
|
|
}
|
|
L_08ACFACC:
|
|
ctx.gpr[7] = (aot_mem.aot_direct_load16(aot_gpr_5 + static_cast<std::uint32_t>(212)));
|
|
{ const bool branch_taken = ctx.gpr[6] == ctx.gpr[7];
|
|
if (branch_taken) {
|
|
goto L_08ACFB20;
|
|
}
|
|
goto L_08ACFAD8;
|
|
}
|
|
L_08ACFAD8:
|
|
ctx.gpr[7] = (aot_mem.aot_direct_load16(aot_gpr_5 + static_cast<std::uint32_t>(214)));
|
|
{ const bool branch_taken = ctx.gpr[6] == ctx.gpr[7];
|
|
if (branch_taken) {
|
|
goto L_08ACFB20;
|
|
}
|
|
goto L_08ACFAE4;
|
|
}
|
|
L_08ACFAE4:
|
|
ctx.gpr[7] = (aot_mem.aot_direct_load16(aot_gpr_5 + static_cast<std::uint32_t>(216)));
|
|
{ const bool branch_taken = ctx.gpr[6] == ctx.gpr[7];
|
|
if (branch_taken) {
|
|
goto L_08ACFB20;
|
|
}
|
|
goto L_08ACFAF0;
|
|
}
|
|
L_08ACFAF0:
|
|
ctx.gpr[7] = (aot_mem.aot_direct_load16(aot_gpr_5 + static_cast<std::uint32_t>(218)));
|
|
{ const bool branch_taken = ctx.gpr[6] == ctx.gpr[7];
|
|
if (branch_taken) {
|
|
goto L_08ACFB20;
|
|
}
|
|
goto L_08ACFAFC;
|
|
}
|
|
L_08ACFAFC:
|
|
ctx.gpr[7] = (aot_mem.aot_direct_load16(aot_gpr_5 + static_cast<std::uint32_t>(220)));
|
|
{ const bool branch_taken = ctx.gpr[6] == ctx.gpr[7];
|
|
if (branch_taken) {
|
|
goto L_08ACFB20;
|
|
}
|
|
goto L_08ACFB08;
|
|
}
|
|
L_08ACFB08:
|
|
ctx.gpr[7] = (aot_mem.aot_direct_load16(aot_gpr_5 + static_cast<std::uint32_t>(222)));
|
|
{ const bool branch_taken = ctx.gpr[6] == ctx.gpr[7];
|
|
if (branch_taken) {
|
|
goto L_08ACFB20;
|
|
}
|
|
goto L_08ACFB14;
|
|
}
|
|
L_08ACFB14:
|
|
aot_gpr_5 = (aot_mem.aot_direct_load16(aot_gpr_5 + static_cast<std::uint32_t>(224)));
|
|
{ const bool branch_taken = ctx.gpr[6] != aot_gpr_5;
|
|
aot_gpr_5 = (0u | 0u);
|
|
if (branch_taken) {
|
|
goto L_08ACFB28;
|
|
}
|
|
goto L_08ACFB20;
|
|
}
|
|
L_08ACFB20:
|
|
{ const bool branch_taken = 0u == 0u;
|
|
aot_gpr_5 = (0u | 1u);
|
|
if (branch_taken) {
|
|
goto L_08ACFB28;
|
|
}
|
|
goto L_08ACFB28;
|
|
}
|
|
L_08ACFB28:
|
|
ctx.gpr[6] = (65535u << 16u);
|
|
ctx.gpr[6] = (ctx.gpr[6] + static_cast<std::uint32_t>(32767));
|
|
aot_gpr_4 = (aot_gpr_4 & ctx.gpr[6]);
|
|
aot_gpr_5 = (aot_gpr_5 << 15u);
|
|
aot_gpr_4 = (aot_gpr_4 | aot_gpr_5);
|
|
aot_gpr_5 = (aot_gpr_4 & 32768u);
|
|
{ const bool branch_taken = aot_gpr_5 == 0u;
|
|
aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast<std::uint32_t>(76), aot_gpr_4);
|
|
if (branch_taken) {
|
|
goto L_08ACFB50;
|
|
}
|
|
goto L_08ACFB48;
|
|
}
|
|
L_08ACFB48:
|
|
aot_gpr_4 = (aot_gpr_4 | 16u);
|
|
aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast<std::uint32_t>(76), aot_gpr_4);
|
|
goto L_08ACFB50;
|
|
L_08ACFB50:
|
|
aot_gpr_31 = (0x08ACFB58u);
|
|
aot_gpr_4 = (ctx.gpr[16] | 0u);
|
|
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0178->0179.
|
|
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
|
|
AOT_REGCACHE_SYNC_OUT();
|
|
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0178_entry, 1071u, 0x08ACFB58u, 0x08AD06F4u)) {
|
|
#if defined(__clang__)
|
|
[[clang::musttail]] return recomp_unit_0179_entry(rt, ctx, 79u, aot_mem);
|
|
#else
|
|
recomp_unit_0179_entry(rt, ctx, 79u, aot_mem); return;
|
|
#endif
|
|
}
|
|
return;
|
|
#else
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0179_entry, 179u, 79u, 0x08AD06F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACFB58u) goto L_08ACFB58;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
#endif
|
|
L_08ACFB58:
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast<std::uint32_t>(76)));
|
|
aot_gpr_5 = (aot_gpr_2 & 1u);
|
|
ctx.gpr[6] = (0u + static_cast<std::uint32_t>(-16385));
|
|
aot_gpr_4 = (aot_gpr_4 & ctx.gpr[6]);
|
|
aot_gpr_5 = (aot_gpr_5 << 14u);
|
|
aot_gpr_4 = (aot_gpr_4 | aot_gpr_5);
|
|
aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast<std::uint32_t>(92)));
|
|
aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast<std::uint32_t>(76), aot_gpr_4);
|
|
aot_gpr_4 = (aot_gpr_5 + static_cast<std::uint32_t>(64));
|
|
aot_gpr_5 = (static_cast<std::uint32_t>(static_cast<std::int32_t>(static_cast<std::int16_t>(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast<std::uint32_t>(0))))));
|
|
ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast<std::uint32_t>(4)));
|
|
jump_target = ctx.gpr[6];
|
|
aot_gpr_31 = (0x08ACFB8Cu);
|
|
aot_gpr_4 = (ctx.gpr[16] + aot_gpr_5);
|
|
ctx.pc = jump_target;
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACFB8Cu) goto L_08ACFB8C;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
L_08ACFB8C:
|
|
ctx.gpr[16] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(0)));
|
|
aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(4)));
|
|
jump_target = aot_gpr_31;
|
|
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(16));
|
|
// PSPRECOMP_V813_JR_FAST_EXIT: preserve the exact 256-transfer boundary; common JR path is shared.
|
|
if (++local_transfers < 256u) goto LOCAL_JR_DISPATCH;
|
|
// PSPRECOMP_V812_SHARED_SCHED_JUMP
|
|
goto LOCAL_SCHED_BOUNDARY;
|
|
L_08ACFB9C:
|
|
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(-16));
|
|
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(0), ctx.gpr[16]);
|
|
ctx.gpr[16] = (aot_gpr_4 | 0u);
|
|
aot_mem.aot_direct_store16(ctx.gpr[16] + static_cast<std::uint32_t>(86), static_cast<std::uint16_t>(aot_gpr_5));
|
|
aot_mem.aot_direct_store16(ctx.gpr[16] + static_cast<std::uint32_t>(88), static_cast<std::uint16_t>(aot_gpr_5));
|
|
aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(104)));
|
|
ctx.gpr[6] = (static_cast<std::uint32_t>(static_cast<std::int32_t>(static_cast<std::int16_t>(aot_mem.aot_direct_load16(ctx.gpr[16] + static_cast<std::uint32_t>(86))))));
|
|
ctx.gpr[7] = (aot_mem.aot_direct_load16(aot_gpr_5 + static_cast<std::uint32_t>(22)));
|
|
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(4), aot_gpr_31);
|
|
{ const bool branch_taken = ctx.gpr[6] == ctx.gpr[7];
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast<std::uint32_t>(76)));
|
|
if (branch_taken) {
|
|
goto L_08ACFC4C;
|
|
}
|
|
goto L_08ACFBC8;
|
|
}
|
|
L_08ACFBC8:
|
|
ctx.gpr[7] = (aot_mem.aot_direct_load16(aot_gpr_5 + static_cast<std::uint32_t>(24)));
|
|
{ const bool branch_taken = ctx.gpr[6] == ctx.gpr[7];
|
|
if (branch_taken) {
|
|
goto L_08ACFC4C;
|
|
}
|
|
goto L_08ACFBD4;
|
|
}
|
|
L_08ACFBD4:
|
|
ctx.gpr[7] = (aot_mem.aot_direct_load16(aot_gpr_5 + static_cast<std::uint32_t>(26)));
|
|
{ const bool branch_taken = ctx.gpr[6] == ctx.gpr[7];
|
|
if (branch_taken) {
|
|
goto L_08ACFC4C;
|
|
}
|
|
goto L_08ACFBE0;
|
|
}
|
|
L_08ACFBE0:
|
|
ctx.gpr[7] = (aot_mem.aot_direct_load16(aot_gpr_5 + static_cast<std::uint32_t>(28)));
|
|
{ const bool branch_taken = ctx.gpr[6] == ctx.gpr[7];
|
|
if (branch_taken) {
|
|
goto L_08ACFC4C;
|
|
}
|
|
goto L_08ACFBEC;
|
|
}
|
|
L_08ACFBEC:
|
|
ctx.gpr[7] = (aot_mem.aot_direct_load16(aot_gpr_5 + static_cast<std::uint32_t>(210)));
|
|
{ const bool branch_taken = ctx.gpr[6] == ctx.gpr[7];
|
|
if (branch_taken) {
|
|
goto L_08ACFC4C;
|
|
}
|
|
goto L_08ACFBF8;
|
|
}
|
|
L_08ACFBF8:
|
|
ctx.gpr[7] = (aot_mem.aot_direct_load16(aot_gpr_5 + static_cast<std::uint32_t>(212)));
|
|
{ const bool branch_taken = ctx.gpr[6] == ctx.gpr[7];
|
|
if (branch_taken) {
|
|
goto L_08ACFC4C;
|
|
}
|
|
goto L_08ACFC04;
|
|
}
|
|
L_08ACFC04:
|
|
ctx.gpr[7] = (aot_mem.aot_direct_load16(aot_gpr_5 + static_cast<std::uint32_t>(214)));
|
|
{ const bool branch_taken = ctx.gpr[6] == ctx.gpr[7];
|
|
if (branch_taken) {
|
|
goto L_08ACFC4C;
|
|
}
|
|
goto L_08ACFC10;
|
|
}
|
|
L_08ACFC10:
|
|
ctx.gpr[7] = (aot_mem.aot_direct_load16(aot_gpr_5 + static_cast<std::uint32_t>(216)));
|
|
{ const bool branch_taken = ctx.gpr[6] == ctx.gpr[7];
|
|
if (branch_taken) {
|
|
goto L_08ACFC4C;
|
|
}
|
|
goto L_08ACFC1C;
|
|
}
|
|
L_08ACFC1C:
|
|
ctx.gpr[7] = (aot_mem.aot_direct_load16(aot_gpr_5 + static_cast<std::uint32_t>(218)));
|
|
{ const bool branch_taken = ctx.gpr[6] == ctx.gpr[7];
|
|
if (branch_taken) {
|
|
goto L_08ACFC4C;
|
|
}
|
|
goto L_08ACFC28;
|
|
}
|
|
L_08ACFC28:
|
|
ctx.gpr[7] = (aot_mem.aot_direct_load16(aot_gpr_5 + static_cast<std::uint32_t>(220)));
|
|
{ const bool branch_taken = ctx.gpr[6] == ctx.gpr[7];
|
|
if (branch_taken) {
|
|
goto L_08ACFC4C;
|
|
}
|
|
goto L_08ACFC34;
|
|
}
|
|
L_08ACFC34:
|
|
ctx.gpr[7] = (aot_mem.aot_direct_load16(aot_gpr_5 + static_cast<std::uint32_t>(222)));
|
|
{ const bool branch_taken = ctx.gpr[6] == ctx.gpr[7];
|
|
if (branch_taken) {
|
|
goto L_08ACFC4C;
|
|
}
|
|
goto L_08ACFC40;
|
|
}
|
|
L_08ACFC40:
|
|
aot_gpr_5 = (aot_mem.aot_direct_load16(aot_gpr_5 + static_cast<std::uint32_t>(224)));
|
|
{ const bool branch_taken = ctx.gpr[6] != aot_gpr_5;
|
|
aot_gpr_5 = (0u | 0u);
|
|
if (branch_taken) {
|
|
goto L_08ACFC54;
|
|
}
|
|
goto L_08ACFC4C;
|
|
}
|
|
L_08ACFC4C:
|
|
{ const bool branch_taken = 0u == 0u;
|
|
aot_gpr_5 = (0u | 1u);
|
|
if (branch_taken) {
|
|
goto L_08ACFC54;
|
|
}
|
|
goto L_08ACFC54;
|
|
}
|
|
L_08ACFC54:
|
|
ctx.gpr[6] = (65535u << 16u);
|
|
ctx.gpr[6] = (ctx.gpr[6] + static_cast<std::uint32_t>(32767));
|
|
aot_gpr_4 = (aot_gpr_4 & ctx.gpr[6]);
|
|
aot_gpr_5 = (aot_gpr_5 << 15u);
|
|
aot_gpr_4 = (aot_gpr_4 | aot_gpr_5);
|
|
aot_gpr_5 = (aot_gpr_4 & 32768u);
|
|
{ const bool branch_taken = aot_gpr_5 == 0u;
|
|
aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast<std::uint32_t>(76), aot_gpr_4);
|
|
if (branch_taken) {
|
|
goto L_08ACFC7C;
|
|
}
|
|
goto L_08ACFC74;
|
|
}
|
|
L_08ACFC74:
|
|
aot_gpr_4 = (aot_gpr_4 | 16u);
|
|
aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast<std::uint32_t>(76), aot_gpr_4);
|
|
goto L_08ACFC7C;
|
|
L_08ACFC7C:
|
|
aot_gpr_31 = (0x08ACFC84u);
|
|
aot_gpr_4 = (ctx.gpr[16] | 0u);
|
|
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0178->0179.
|
|
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
|
|
AOT_REGCACHE_SYNC_OUT();
|
|
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0178_entry, 1089u, 0x08ACFC84u, 0x08AD06F4u)) {
|
|
#if defined(__clang__)
|
|
[[clang::musttail]] return recomp_unit_0179_entry(rt, ctx, 79u, aot_mem);
|
|
#else
|
|
recomp_unit_0179_entry(rt, ctx, 79u, aot_mem); return;
|
|
#endif
|
|
}
|
|
return;
|
|
#else
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0179_entry, 179u, 79u, 0x08AD06F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACFC84u) goto L_08ACFC84;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
#endif
|
|
L_08ACFC84:
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast<std::uint32_t>(76)));
|
|
aot_gpr_5 = (aot_gpr_2 & 1u);
|
|
ctx.gpr[6] = (0u + static_cast<std::uint32_t>(-16385));
|
|
aot_gpr_4 = (aot_gpr_4 & ctx.gpr[6]);
|
|
aot_gpr_5 = (aot_gpr_5 << 14u);
|
|
aot_gpr_4 = (aot_gpr_4 | aot_gpr_5);
|
|
aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast<std::uint32_t>(76), aot_gpr_4);
|
|
ctx.gpr[16] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(0)));
|
|
aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(4)));
|
|
jump_target = aot_gpr_31;
|
|
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(16));
|
|
// PSPRECOMP_V813_JR_FAST_EXIT: preserve the exact 256-transfer boundary; common JR path is shared.
|
|
if (++local_transfers < 256u) goto LOCAL_JR_DISPATCH;
|
|
// PSPRECOMP_V812_SHARED_SCHED_JUMP
|
|
goto LOCAL_SCHED_BOUNDARY;
|
|
L_08ACFCB0:
|
|
jump_target = aot_gpr_31;
|
|
aot_gpr_2 = (static_cast<std::uint32_t>(static_cast<std::int32_t>(static_cast<std::int16_t>(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast<std::uint32_t>(88))))));
|
|
// PSPRECOMP_V813_JR_FAST_EXIT: preserve the exact 256-transfer boundary; common JR path is shared.
|
|
if (++local_transfers < 256u) goto LOCAL_JR_DISPATCH;
|
|
// PSPRECOMP_V812_SHARED_SCHED_JUMP
|
|
goto LOCAL_SCHED_BOUNDARY;
|
|
L_08ACFCB8:
|
|
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(-16));
|
|
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(0), ctx.gpr[16]);
|
|
ctx.gpr[16] = (aot_gpr_4 | 0u);
|
|
aot_gpr_4 = (static_cast<std::uint32_t>(static_cast<std::int32_t>(static_cast<std::int16_t>(aot_mem.aot_direct_load16(ctx.gpr[16] + static_cast<std::uint32_t>(86))))));
|
|
aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(7656)));
|
|
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(4), aot_gpr_17);
|
|
aot_gpr_5 = (static_cast<std::int32_t>(aot_gpr_4) < static_cast<std::int32_t>(aot_gpr_5) ? 1u : 0u);
|
|
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(8), ctx.gpr[18]);
|
|
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(12), aot_gpr_31);
|
|
{ const bool branch_taken = aot_gpr_5 == 0u;
|
|
aot_gpr_17 = (0u | 0u);
|
|
if (branch_taken) {
|
|
goto L_08ACFCF4;
|
|
}
|
|
goto L_08ACFCE4;
|
|
}
|
|
L_08ACFCE4:
|
|
aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(24)));
|
|
aot_gpr_4 = (aot_gpr_4 << 2u);
|
|
aot_gpr_4 = (aot_gpr_5 + aot_gpr_4);
|
|
aot_gpr_17 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast<std::uint32_t>(0)));
|
|
goto L_08ACFCF4;
|
|
L_08ACFCF4:
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast<std::uint32_t>(36)));
|
|
aot_gpr_4 = (aot_gpr_4 + static_cast<std::uint32_t>(32));
|
|
aot_gpr_5 = (static_cast<std::uint32_t>(static_cast<std::int32_t>(static_cast<std::int16_t>(aot_mem.aot_direct_load16(aot_gpr_4 + static_cast<std::uint32_t>(0))))));
|
|
ctx.gpr[6] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast<std::uint32_t>(4)));
|
|
jump_target = ctx.gpr[6];
|
|
aot_gpr_31 = (0x08ACFD0Cu);
|
|
aot_gpr_4 = (aot_gpr_17 + aot_gpr_5);
|
|
ctx.pc = jump_target;
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACFD0Cu) goto L_08ACFD0C;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
L_08ACFD0C:
|
|
ctx.gpr[18] = (aot_gpr_2 | 0u);
|
|
{ const bool branch_taken = ctx.gpr[18] == 0u;
|
|
aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast<std::uint32_t>(80), aot_gpr_2);
|
|
if (branch_taken) {
|
|
goto L_08ACFD3C;
|
|
}
|
|
goto L_08ACFD18;
|
|
}
|
|
L_08ACFD18:
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast<std::uint32_t>(72)));
|
|
aot_gpr_4 = (aot_gpr_4 & 14u);
|
|
aot_gpr_4 = (aot_gpr_4 ^ 2u);
|
|
aot_gpr_4 = (aot_gpr_4 < static_cast<std::uint32_t>(1) ? 1u : 0u);
|
|
aot_gpr_4 = (aot_gpr_4 & 255u);
|
|
{ const bool branch_taken = aot_gpr_4 != 0u;
|
|
if (branch_taken) {
|
|
goto L_08ACFD44;
|
|
}
|
|
goto L_08ACFD34;
|
|
}
|
|
L_08ACFD34:
|
|
{ const bool branch_taken = 0u == 0u;
|
|
if (branch_taken) {
|
|
goto L_08ACFD54;
|
|
}
|
|
goto L_08ACFD3C;
|
|
}
|
|
L_08ACFD3C:
|
|
{ const bool branch_taken = 0u == 0u;
|
|
if (branch_taken) {
|
|
goto L_08ACFE18;
|
|
}
|
|
goto L_08ACFD44;
|
|
}
|
|
L_08ACFD44:
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(-680)));
|
|
aot_gpr_4 = (aot_gpr_4 + static_cast<std::uint32_t>(1));
|
|
aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast<std::uint32_t>(-680), aot_gpr_4);
|
|
ctx.gpr[18] = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast<std::uint32_t>(80)));
|
|
goto L_08ACFD54;
|
|
L_08ACFD54:
|
|
aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[18] + static_cast<std::uint32_t>(0)));
|
|
aot_gpr_5 = (0u | 1u);
|
|
{ const bool branch_taken = aot_gpr_4 != aot_gpr_5;
|
|
if (branch_taken) {
|
|
goto L_08ACFDB0;
|
|
}
|
|
goto L_08ACFD64;
|
|
}
|
|
L_08ACFD64:
|
|
ctx.gpr[18] = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast<std::uint32_t>(4)));
|
|
aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast<std::uint32_t>(64)));
|
|
{ const bool branch_taken = aot_gpr_5 == 0u;
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast<std::uint32_t>(72)));
|
|
if (branch_taken) {
|
|
goto L_08ACFD8C;
|
|
}
|
|
goto L_08ACFD74;
|
|
}
|
|
L_08ACFD74:
|
|
ctx.gpr[6] = (aot_gpr_4 & 1u);
|
|
if (ctx.gpr[6] == 0u) {
|
|
aot_gpr_5 = (ctx.gpr[18] + static_cast<std::uint32_t>(16));
|
|
goto L_08ACFD90;
|
|
}
|
|
goto L_08ACFD80;
|
|
L_08ACFD80:
|
|
aot_gpr_31 = (0x08ACFD88u);
|
|
aot_gpr_4 = (aot_gpr_5 | 0u);
|
|
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0178->0117.
|
|
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
|
|
AOT_REGCACHE_SYNC_OUT();
|
|
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0178_entry, 1103u, 0x08ACFD88u, 0x089D89E0u)) {
|
|
#if defined(__clang__)
|
|
[[clang::musttail]] return recomp_unit_0117_entry(rt, ctx, 129u, aot_mem);
|
|
#else
|
|
recomp_unit_0117_entry(rt, ctx, 129u, aot_mem); return;
|
|
#endif
|
|
}
|
|
return;
|
|
#else
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0117_entry, 117u, 129u, 0x089D89E0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACFD88u) goto L_08ACFD88;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
#endif
|
|
L_08ACFD88:
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast<std::uint32_t>(72)));
|
|
goto L_08ACFD8C;
|
|
L_08ACFD8C:
|
|
aot_gpr_5 = (ctx.gpr[18] + static_cast<std::uint32_t>(16));
|
|
goto L_08ACFD90;
|
|
L_08ACFD90:
|
|
ctx.gpr[6] = (0u + static_cast<std::uint32_t>(-2));
|
|
aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast<std::uint32_t>(64), aot_gpr_5);
|
|
aot_gpr_4 = (aot_gpr_4 & ctx.gpr[6]);
|
|
aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast<std::uint32_t>(72), aot_gpr_4);
|
|
aot_gpr_31 = (0x08ACFDA8u);
|
|
aot_gpr_4 = (ctx.gpr[16] | 0u);
|
|
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0178->0022.
|
|
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
|
|
AOT_REGCACHE_SYNC_OUT();
|
|
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0178_entry, 1106u, 0x08ACFDA8u, 0x0885FF14u)) {
|
|
#if defined(__clang__)
|
|
[[clang::musttail]] return recomp_unit_0022_entry(rt, ctx, 936u, aot_mem);
|
|
#else
|
|
recomp_unit_0022_entry(rt, ctx, 936u, aot_mem); return;
|
|
#endif
|
|
}
|
|
return;
|
|
#else
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0022_entry, 22u, 936u, 0x0885FF14u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACFDA8u) goto L_08ACFDA8;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
#endif
|
|
L_08ACFDA8:
|
|
{ const bool branch_taken = 0u == 0u;
|
|
if (branch_taken) {
|
|
goto L_08ACFE04;
|
|
}
|
|
goto L_08ACFDB0;
|
|
}
|
|
L_08ACFDB0:
|
|
aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[18] + static_cast<std::uint32_t>(0)));
|
|
aot_gpr_5 = (0u | 2u);
|
|
{ const bool branch_taken = aot_gpr_4 != aot_gpr_5;
|
|
if (branch_taken) {
|
|
goto L_08ACFE04;
|
|
}
|
|
goto L_08ACFDC0;
|
|
}
|
|
L_08ACFDC0:
|
|
ctx.gpr[18] = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast<std::uint32_t>(4)));
|
|
aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast<std::uint32_t>(64)));
|
|
{ const bool branch_taken = aot_gpr_5 == 0u;
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast<std::uint32_t>(72)));
|
|
if (branch_taken) {
|
|
goto L_08ACFDE8;
|
|
}
|
|
goto L_08ACFDD0;
|
|
}
|
|
L_08ACFDD0:
|
|
ctx.gpr[6] = (aot_gpr_4 & 1u);
|
|
if (ctx.gpr[6] == 0u) {
|
|
aot_gpr_5 = (ctx.gpr[18] + static_cast<std::uint32_t>(16));
|
|
goto L_08ACFDEC;
|
|
}
|
|
goto L_08ACFDDC;
|
|
L_08ACFDDC:
|
|
aot_gpr_31 = (0x08ACFDE4u);
|
|
aot_gpr_4 = (aot_gpr_5 | 0u);
|
|
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0178->0117.
|
|
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
|
|
AOT_REGCACHE_SYNC_OUT();
|
|
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0178_entry, 1111u, 0x08ACFDE4u, 0x089D89E0u)) {
|
|
#if defined(__clang__)
|
|
[[clang::musttail]] return recomp_unit_0117_entry(rt, ctx, 129u, aot_mem);
|
|
#else
|
|
recomp_unit_0117_entry(rt, ctx, 129u, aot_mem); return;
|
|
#endif
|
|
}
|
|
return;
|
|
#else
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0117_entry, 117u, 129u, 0x089D89E0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACFDE4u) goto L_08ACFDE4;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
#endif
|
|
L_08ACFDE4:
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast<std::uint32_t>(72)));
|
|
goto L_08ACFDE8;
|
|
L_08ACFDE8:
|
|
aot_gpr_5 = (ctx.gpr[18] + static_cast<std::uint32_t>(16));
|
|
goto L_08ACFDEC;
|
|
L_08ACFDEC:
|
|
ctx.gpr[6] = (0u + static_cast<std::uint32_t>(-2));
|
|
aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast<std::uint32_t>(64), aot_gpr_5);
|
|
aot_gpr_4 = (aot_gpr_4 & ctx.gpr[6]);
|
|
aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast<std::uint32_t>(72), aot_gpr_4);
|
|
aot_gpr_31 = (0x08ACFE04u);
|
|
aot_gpr_4 = (ctx.gpr[16] | 0u);
|
|
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0178->0022.
|
|
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
|
|
AOT_REGCACHE_SYNC_OUT();
|
|
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0178_entry, 1114u, 0x08ACFE04u, 0x0885FF14u)) {
|
|
#if defined(__clang__)
|
|
[[clang::musttail]] return recomp_unit_0022_entry(rt, ctx, 936u, aot_mem);
|
|
#else
|
|
recomp_unit_0022_entry(rt, ctx, 936u, aot_mem); return;
|
|
#endif
|
|
}
|
|
return;
|
|
#else
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0022_entry, 22u, 936u, 0x0885FF14u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACFE04u) goto L_08ACFE04;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
#endif
|
|
L_08ACFE04:
|
|
aot_gpr_4 = (static_cast<std::uint32_t>(static_cast<std::int32_t>(static_cast<std::int16_t>(aot_mem.aot_direct_load16(ctx.gpr[16] + static_cast<std::uint32_t>(86))))));
|
|
aot_gpr_31 = (0x08ACFE10u);
|
|
aot_gpr_5 = (aot_gpr_17 | 0u);
|
|
goto L_08ACF884;
|
|
L_08ACFE10:
|
|
aot_gpr_31 = (0x08ACFE18u);
|
|
aot_gpr_4 = (aot_gpr_17 | 0u);
|
|
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0178->0054.
|
|
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
|
|
AOT_REGCACHE_SYNC_OUT();
|
|
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0178_entry, 1116u, 0x08ACFE18u, 0x088DF74Cu)) {
|
|
#if defined(__clang__)
|
|
[[clang::musttail]] return recomp_unit_0054_entry(rt, ctx, 458u, aot_mem);
|
|
#else
|
|
recomp_unit_0054_entry(rt, ctx, 458u, aot_mem); return;
|
|
#endif
|
|
}
|
|
return;
|
|
#else
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0054_entry, 54u, 458u, 0x088DF74Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACFE18u) goto L_08ACFE18;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
#endif
|
|
L_08ACFE18:
|
|
{ std::uint32_t aot_run_words[4]{};
|
|
aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast<std::uint32_t>(0), aot_run_words);
|
|
ctx.gpr[16] = aot_run_words[0];
|
|
aot_gpr_17 = aot_run_words[1];
|
|
ctx.gpr[18] = aot_run_words[2];
|
|
aot_gpr_31 = aot_run_words[3];
|
|
}
|
|
jump_target = aot_gpr_31;
|
|
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(16));
|
|
// PSPRECOMP_V813_JR_FAST_EXIT: preserve the exact 256-transfer boundary; common JR path is shared.
|
|
if (++local_transfers < 256u) goto LOCAL_JR_DISPATCH;
|
|
// PSPRECOMP_V812_SHARED_SCHED_JUMP
|
|
goto LOCAL_SCHED_BOUNDARY;
|
|
L_08ACFE30:
|
|
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(-16));
|
|
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(4), aot_gpr_17);
|
|
aot_mem.aot_direct_store32(aot_gpr_4 + static_cast<std::uint32_t>(80), aot_gpr_5);
|
|
aot_gpr_17 = (aot_gpr_5 | 0u);
|
|
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(0), ctx.gpr[16]);
|
|
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(8), aot_gpr_31);
|
|
{ const bool branch_taken = aot_gpr_17 == 0u;
|
|
ctx.gpr[16] = (aot_gpr_4 | 0u);
|
|
if (branch_taken) {
|
|
goto L_08ACFE68;
|
|
}
|
|
goto L_08ACFE50;
|
|
}
|
|
L_08ACFE50:
|
|
aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_17 + static_cast<std::uint32_t>(0)));
|
|
aot_gpr_5 = (0u | 1u);
|
|
{ const bool branch_taken = aot_gpr_4 == aot_gpr_5;
|
|
if (branch_taken) {
|
|
goto L_08ACFE70;
|
|
}
|
|
goto L_08ACFE60;
|
|
}
|
|
L_08ACFE60:
|
|
{ const bool branch_taken = 0u == 0u;
|
|
if (branch_taken) {
|
|
goto L_08ACFEBC;
|
|
}
|
|
goto L_08ACFE68;
|
|
}
|
|
L_08ACFE68:
|
|
{ const bool branch_taken = 0u == 0u;
|
|
if (branch_taken) {
|
|
goto L_08ACFF3C;
|
|
}
|
|
goto L_08ACFE70;
|
|
}
|
|
L_08ACFE70:
|
|
aot_gpr_17 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast<std::uint32_t>(4)));
|
|
aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast<std::uint32_t>(64)));
|
|
{ const bool branch_taken = aot_gpr_5 == 0u;
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast<std::uint32_t>(72)));
|
|
if (branch_taken) {
|
|
goto L_08ACFE98;
|
|
}
|
|
goto L_08ACFE80;
|
|
}
|
|
L_08ACFE80:
|
|
ctx.gpr[6] = (aot_gpr_4 & 1u);
|
|
if (ctx.gpr[6] == 0u) {
|
|
aot_gpr_5 = (aot_gpr_17 + static_cast<std::uint32_t>(16));
|
|
goto L_08ACFE9C;
|
|
}
|
|
goto L_08ACFE8C;
|
|
L_08ACFE8C:
|
|
aot_gpr_31 = (0x08ACFE94u);
|
|
aot_gpr_4 = (aot_gpr_5 | 0u);
|
|
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0178->0117.
|
|
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
|
|
AOT_REGCACHE_SYNC_OUT();
|
|
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0178_entry, 1124u, 0x08ACFE94u, 0x089D89E0u)) {
|
|
#if defined(__clang__)
|
|
[[clang::musttail]] return recomp_unit_0117_entry(rt, ctx, 129u, aot_mem);
|
|
#else
|
|
recomp_unit_0117_entry(rt, ctx, 129u, aot_mem); return;
|
|
#endif
|
|
}
|
|
return;
|
|
#else
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0117_entry, 117u, 129u, 0x089D89E0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACFE94u) goto L_08ACFE94;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
#endif
|
|
L_08ACFE94:
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast<std::uint32_t>(72)));
|
|
goto L_08ACFE98;
|
|
L_08ACFE98:
|
|
aot_gpr_5 = (aot_gpr_17 + static_cast<std::uint32_t>(16));
|
|
goto L_08ACFE9C;
|
|
L_08ACFE9C:
|
|
ctx.gpr[6] = (0u + static_cast<std::uint32_t>(-2));
|
|
aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast<std::uint32_t>(64), aot_gpr_5);
|
|
aot_gpr_4 = (aot_gpr_4 & ctx.gpr[6]);
|
|
aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast<std::uint32_t>(72), aot_gpr_4);
|
|
aot_gpr_31 = (0x08ACFEB4u);
|
|
aot_gpr_4 = (ctx.gpr[16] | 0u);
|
|
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0178->0022.
|
|
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
|
|
AOT_REGCACHE_SYNC_OUT();
|
|
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0178_entry, 1127u, 0x08ACFEB4u, 0x0885FF48u)) {
|
|
#if defined(__clang__)
|
|
[[clang::musttail]] return recomp_unit_0022_entry(rt, ctx, 939u, aot_mem);
|
|
#else
|
|
recomp_unit_0022_entry(rt, ctx, 939u, aot_mem); return;
|
|
#endif
|
|
}
|
|
return;
|
|
#else
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0022_entry, 22u, 939u, 0x0885FF48u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACFEB4u) goto L_08ACFEB4;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
#endif
|
|
L_08ACFEB4:
|
|
{ const bool branch_taken = 0u == 0u;
|
|
if (branch_taken) {
|
|
goto L_08ACFF10;
|
|
}
|
|
goto L_08ACFEBC;
|
|
}
|
|
L_08ACFEBC:
|
|
aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_17 + static_cast<std::uint32_t>(0)));
|
|
aot_gpr_5 = (0u | 2u);
|
|
{ const bool branch_taken = aot_gpr_4 != aot_gpr_5;
|
|
if (branch_taken) {
|
|
goto L_08ACFF10;
|
|
}
|
|
goto L_08ACFECC;
|
|
}
|
|
L_08ACFECC:
|
|
aot_gpr_17 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast<std::uint32_t>(4)));
|
|
aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast<std::uint32_t>(64)));
|
|
{ const bool branch_taken = aot_gpr_5 == 0u;
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast<std::uint32_t>(72)));
|
|
if (branch_taken) {
|
|
goto L_08ACFEF4;
|
|
}
|
|
goto L_08ACFEDC;
|
|
}
|
|
L_08ACFEDC:
|
|
ctx.gpr[6] = (aot_gpr_4 & 1u);
|
|
if (ctx.gpr[6] == 0u) {
|
|
aot_gpr_5 = (aot_gpr_17 + static_cast<std::uint32_t>(16));
|
|
goto L_08ACFEF8;
|
|
}
|
|
goto L_08ACFEE8;
|
|
L_08ACFEE8:
|
|
aot_gpr_31 = (0x08ACFEF0u);
|
|
aot_gpr_4 = (aot_gpr_5 | 0u);
|
|
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0178->0117.
|
|
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
|
|
AOT_REGCACHE_SYNC_OUT();
|
|
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0178_entry, 1132u, 0x08ACFEF0u, 0x089D89E0u)) {
|
|
#if defined(__clang__)
|
|
[[clang::musttail]] return recomp_unit_0117_entry(rt, ctx, 129u, aot_mem);
|
|
#else
|
|
recomp_unit_0117_entry(rt, ctx, 129u, aot_mem); return;
|
|
#endif
|
|
}
|
|
return;
|
|
#else
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0117_entry, 117u, 129u, 0x089D89E0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACFEF0u) goto L_08ACFEF0;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
#endif
|
|
L_08ACFEF0:
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast<std::uint32_t>(72)));
|
|
goto L_08ACFEF4;
|
|
L_08ACFEF4:
|
|
aot_gpr_5 = (aot_gpr_17 + static_cast<std::uint32_t>(16));
|
|
goto L_08ACFEF8;
|
|
L_08ACFEF8:
|
|
ctx.gpr[6] = (0u + static_cast<std::uint32_t>(-2));
|
|
aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast<std::uint32_t>(64), aot_gpr_5);
|
|
aot_gpr_4 = (aot_gpr_4 & ctx.gpr[6]);
|
|
aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast<std::uint32_t>(72), aot_gpr_4);
|
|
aot_gpr_31 = (0x08ACFF10u);
|
|
aot_gpr_4 = (ctx.gpr[16] | 0u);
|
|
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0178->0022.
|
|
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
|
|
AOT_REGCACHE_SYNC_OUT();
|
|
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0178_entry, 1135u, 0x08ACFF10u, 0x0885FF48u)) {
|
|
#if defined(__clang__)
|
|
[[clang::musttail]] return recomp_unit_0022_entry(rt, ctx, 939u, aot_mem);
|
|
#else
|
|
recomp_unit_0022_entry(rt, ctx, 939u, aot_mem); return;
|
|
#endif
|
|
}
|
|
return;
|
|
#else
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0022_entry, 22u, 939u, 0x0885FF48u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACFF10u) goto L_08ACFF10;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
#endif
|
|
L_08ACFF10:
|
|
aot_gpr_4 = (static_cast<std::uint32_t>(static_cast<std::int32_t>(static_cast<std::int16_t>(aot_mem.aot_direct_load16(ctx.gpr[16] + static_cast<std::uint32_t>(86))))));
|
|
aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(7656)));
|
|
aot_gpr_5 = (static_cast<std::int32_t>(aot_gpr_4) < static_cast<std::int32_t>(aot_gpr_5) ? 1u : 0u);
|
|
{ const bool branch_taken = aot_gpr_5 == 0u;
|
|
ctx.gpr[16] = (0u | 0u);
|
|
if (branch_taken) {
|
|
goto L_08ACFF34;
|
|
}
|
|
goto L_08ACFF24;
|
|
}
|
|
L_08ACFF24:
|
|
aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(24)));
|
|
aot_gpr_4 = (aot_gpr_4 << 2u);
|
|
aot_gpr_4 = (aot_gpr_5 + aot_gpr_4);
|
|
ctx.gpr[16] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast<std::uint32_t>(0)));
|
|
goto L_08ACFF34;
|
|
L_08ACFF34:
|
|
aot_gpr_31 = (0x08ACFF3Cu);
|
|
aot_gpr_4 = (ctx.gpr[16] | 0u);
|
|
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0178->0054.
|
|
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
|
|
AOT_REGCACHE_SYNC_OUT();
|
|
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0178_entry, 1138u, 0x08ACFF3Cu, 0x088DF74Cu)) {
|
|
#if defined(__clang__)
|
|
[[clang::musttail]] return recomp_unit_0054_entry(rt, ctx, 458u, aot_mem);
|
|
#else
|
|
recomp_unit_0054_entry(rt, ctx, 458u, aot_mem); return;
|
|
#endif
|
|
}
|
|
return;
|
|
#else
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0054_entry, 54u, 458u, 0x088DF74Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACFF3Cu) goto L_08ACFF3C;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
#endif
|
|
L_08ACFF3C:
|
|
{ std::uint32_t aot_run_words[3]{};
|
|
aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast<std::uint32_t>(0), aot_run_words);
|
|
ctx.gpr[16] = aot_run_words[0];
|
|
aot_gpr_17 = aot_run_words[1];
|
|
aot_gpr_31 = aot_run_words[2];
|
|
}
|
|
jump_target = aot_gpr_31;
|
|
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(16));
|
|
// PSPRECOMP_V813_JR_FAST_EXIT: preserve the exact 256-transfer boundary; common JR path is shared.
|
|
if (++local_transfers < 256u) goto LOCAL_JR_DISPATCH;
|
|
// PSPRECOMP_V812_SHARED_SCHED_JUMP
|
|
goto LOCAL_SCHED_BOUNDARY;
|
|
L_08ACFF50:
|
|
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(-16));
|
|
aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast<std::uint32_t>(80)));
|
|
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(0), ctx.gpr[16]);
|
|
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(4), aot_gpr_31);
|
|
{ const bool branch_taken = aot_gpr_5 == 0u;
|
|
ctx.gpr[16] = (aot_gpr_4 | 0u);
|
|
if (branch_taken) {
|
|
goto L_08ACFF94;
|
|
}
|
|
goto L_08ACFF68;
|
|
}
|
|
L_08ACFF68:
|
|
aot_gpr_5 = (static_cast<std::uint32_t>(static_cast<std::int32_t>(static_cast<std::int16_t>(aot_mem.aot_direct_load16(ctx.gpr[16] + static_cast<std::uint32_t>(86))))));
|
|
ctx.gpr[6] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(7656)));
|
|
ctx.gpr[6] = (static_cast<std::int32_t>(aot_gpr_5) < static_cast<std::int32_t>(ctx.gpr[6]) ? 1u : 0u);
|
|
{ const bool branch_taken = ctx.gpr[6] == 0u;
|
|
aot_gpr_4 = (0u | 0u);
|
|
if (branch_taken) {
|
|
goto L_08ACFF8C;
|
|
}
|
|
goto L_08ACFF7C;
|
|
}
|
|
L_08ACFF7C:
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(24)));
|
|
aot_gpr_5 = (aot_gpr_5 << 2u);
|
|
aot_gpr_4 = (aot_gpr_4 + aot_gpr_5);
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast<std::uint32_t>(0)));
|
|
goto L_08ACFF8C;
|
|
L_08ACFF8C:
|
|
aot_gpr_31 = (0x08ACFF94u);
|
|
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0178->0054.
|
|
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
|
|
AOT_REGCACHE_SYNC_OUT();
|
|
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0178_entry, 1143u, 0x08ACFF94u, 0x088DF770u)) {
|
|
#if defined(__clang__)
|
|
[[clang::musttail]] return recomp_unit_0054_entry(rt, ctx, 460u, aot_mem);
|
|
#else
|
|
recomp_unit_0054_entry(rt, ctx, 460u, aot_mem); return;
|
|
#endif
|
|
}
|
|
return;
|
|
#else
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0054_entry, 54u, 460u, 0x088DF770u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACFF94u) goto L_08ACFF94;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
#endif
|
|
L_08ACFF94:
|
|
aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast<std::uint32_t>(80), 0u);
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast<std::uint32_t>(64)));
|
|
{ const bool branch_taken = aot_gpr_4 == 0u;
|
|
if (branch_taken) {
|
|
goto L_08ACFFBC;
|
|
}
|
|
goto L_08ACFFA4;
|
|
}
|
|
L_08ACFFA4:
|
|
aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast<std::uint32_t>(72)));
|
|
aot_gpr_5 = (aot_gpr_5 & 1u);
|
|
{ const bool branch_taken = aot_gpr_5 == 0u;
|
|
if (branch_taken) {
|
|
goto L_08ACFFBC;
|
|
}
|
|
goto L_08ACFFB4;
|
|
}
|
|
L_08ACFFB4:
|
|
aot_gpr_31 = (0x08ACFFBCu);
|
|
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0178->0117.
|
|
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
|
|
AOT_REGCACHE_SYNC_OUT();
|
|
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0178_entry, 1146u, 0x08ACFFBCu, 0x089D89E0u)) {
|
|
#if defined(__clang__)
|
|
[[clang::musttail]] return recomp_unit_0117_entry(rt, ctx, 129u, aot_mem);
|
|
#else
|
|
recomp_unit_0117_entry(rt, ctx, 129u, aot_mem); return;
|
|
#endif
|
|
}
|
|
return;
|
|
#else
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0117_entry, 117u, 129u, 0x089D89E0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08ACFFBCu) goto L_08ACFFBC;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
#endif
|
|
L_08ACFFBC:
|
|
aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast<std::uint32_t>(64), 0u);
|
|
ctx.gpr[16] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(0)));
|
|
aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(4)));
|
|
jump_target = aot_gpr_31;
|
|
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(16));
|
|
// PSPRECOMP_V813_JR_FAST_EXIT: preserve the exact 256-transfer boundary; common JR path is shared.
|
|
if (++local_transfers < 256u) goto LOCAL_JR_DISPATCH;
|
|
// PSPRECOMP_V812_SHARED_SCHED_JUMP
|
|
goto LOCAL_SCHED_BOUNDARY;
|
|
L_08ACFFD0:
|
|
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(-16));
|
|
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(0), ctx.gpr[16]);
|
|
ctx.gpr[16] = (aot_gpr_4 | 0u);
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast<std::uint32_t>(64)));
|
|
{ const std::uint32_t aot_run_words[3]{aot_gpr_17, ctx.gpr[18], aot_gpr_31};
|
|
aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast<std::uint32_t>(4), aot_run_words); }
|
|
{ const bool branch_taken = aot_gpr_4 == 0u;
|
|
if (branch_taken) {
|
|
(void)([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0179_entry, 179u, 3u, 0x08AD000Cu>(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_08ACFFF4;
|
|
}
|
|
L_08ACFFF4:
|
|
aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast<std::uint32_t>(72)));
|
|
aot_gpr_5 = (aot_gpr_5 & 1u);
|
|
{ const bool branch_taken = aot_gpr_5 == 0u;
|
|
if (branch_taken) {
|
|
(void)([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0179_entry, 179u, 3u, 0x08AD000Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()); AOT_REGCACHE_SYNC_OUT(); return;
|
|
}
|
|
(void)([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0179_entry, 179u, 2u, 0x08AD0004u>(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_0178(Runtime &rt, AllegrexContext &ctx) {
|
|
auto aot_mem = rt.memory().aot_fast_view();
|
|
recomp_unit_0178_entry(rt, ctx, 0u, aot_mem);
|
|
}
|
|
|
|
void register_generated_unit_178(Runtime &runtime) {
|
|
runtime.register_generated_unit(178u, 0x08ACC000u, 16384u, &recomp_unit_0178, &recomp_unit_0178_entry);
|
|
// PSPRECOMP_V812_COMPACT_REGISTRATION: same entry set, looped once in Runtime instead of source-expanded calls.
|
|
runtime.register_generated_entry_mask(0x08ACC000u, &recomp_unit_0178, "recomp_unit_0178",
|
|
kEntryMasks_recomp_unit_0178, 64u);
|
|
}
|
|
} // namespace psprecomp
|