mirror of
https://github.com/jessicanataliagta/PSPRecomp
synced 2026-09-26 16:49:34 -04:00
430e45bdb0
more updates
7897 lines
405 KiB
C++
7897 lines
405 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_0116[64] = {
|
|
0x1422A8A444010343ull, 0x48A1150911422A22ull, 0x0200000040448010ull, 0x01090A2124A04084ull,
|
|
0x8A5155010A482040ull, 0x000042021A000110ull, 0x0904820120520A00ull, 0x8084010008240801ull,
|
|
0x0050212200040A00ull, 0x80848248A8810600ull, 0x5002C400868AA214ull, 0x5211404010001201ull,
|
|
0x08A0288A80A22884ull, 0x21140E8804449499ull, 0x252A641148228845ull, 0x2280908A422E0111ull,
|
|
0x1508A422464908A4ull, 0x281108A00208A021ull, 0x0080000400205028ull, 0x448822E040B81024ull,
|
|
0x28B810208B810222ull, 0x2089A1121228B810ull, 0x8888888888889112ull, 0xB8102E040B810250ull,
|
|
0x1000021111111110ull, 0x0000000004080000ull, 0x4004000000000800ull, 0x0048022009000002ull,
|
|
0x0000000000012000ull, 0x0012000000000000ull, 0x0000012000000000ull, 0x0000000009000000ull,
|
|
0x1200908231004800ull, 0x2200880220088022ull, 0x4400224401100000ull, 0x0401130802200000ull,
|
|
0x0090000000000010ull, 0x8221200484020A00ull, 0x0000000000009002ull, 0x0000048000000120ull,
|
|
0xC211000000484000ull, 0x2211242444424228ull, 0x8448844001108844ull, 0x0048920908844008ull,
|
|
0x0542011135408001ull, 0x8420128402910149ull, 0x0010006800000111ull, 0x0000091041511120ull,
|
|
0x0000400000224000ull, 0xA412440024904420ull, 0x042A32408141144Cull, 0x4421504204000008ull,
|
|
0x222C80A841005144ull, 0x94000800841212ADull, 0x000000D25432004Aull, 0xAA088A88AA945582ull,
|
|
0x9029952A20A8542Aull, 0x080AA44000000000ull, 0x0000000000000000ull, 0x0100048000000000ull,
|
|
0x2008212848020210ull, 0x086480830480A06Aull, 0x0000A28010041020ull, 0x0609014034200820ull,
|
|
};
|
|
static constexpr std::uint16_t kEntryBases_recomp_unit_0116[64] = {
|
|
1u, 19u, 38u, 44u, 58u, 75u, 83u, 95u, 104u, 113u, 127u, 144u, 155u, 171u, 190u, 210u,
|
|
227u, 246u, 259u, 266u, 283u, 300u, 318u, 335u, 353u, 364u, 366u, 369u, 376u, 378u, 380u, 382u,
|
|
384u, 395u, 405u, 413u, 421u, 424u, 435u, 438u, 442u, 450u, 466u, 479u, 491u, 505u, 520u, 527u,
|
|
538u, 542u, 556u, 573u, 583u, 599u, 614u, 627u, 650u, 672u, 679u, 679u, 682u, 693u, 709u, 717u,
|
|
};
|
|
void recomp_unit_0116_entry(Runtime &rt, AllegrexContext &ctx, std::uint16_t direct_entry_id, GuestMemory::AotFastView &aot_mem) {
|
|
// PSPRECOMP_AOT_REGCACHE_BEGIN
|
|
// PSPRECOMP_AOT_REGCACHE_META gprs=4,5,6,17,16,31 fprs=12,13,20,14 gpr_occ=4894 fpr_occ=369 gpr_total=6626 fpr_total=426
|
|
std::uint32_t aot_gpr_4 = ctx.gpr[4];
|
|
std::uint32_t aot_gpr_5 = ctx.gpr[5];
|
|
std::uint32_t aot_gpr_6 = ctx.gpr[6];
|
|
std::uint32_t aot_gpr_17 = ctx.gpr[17];
|
|
std::uint32_t aot_gpr_16 = ctx.gpr[16];
|
|
std::uint32_t aot_gpr_31 = ctx.gpr[31];
|
|
float aot_fpr_12 = ctx.fpr[12];
|
|
float aot_fpr_13 = ctx.fpr[13];
|
|
float aot_fpr_20 = ctx.fpr[20];
|
|
float aot_fpr_14 = ctx.fpr[14];
|
|
bool aot_regcache_valid = true;
|
|
#define AOT_REGCACHE_SYNC_OUT() do { if (aot_regcache_valid) { ctx.gpr[4] = aot_gpr_4; ctx.gpr[5] = aot_gpr_5; ctx.gpr[6] = aot_gpr_6; ctx.gpr[17] = aot_gpr_17; ctx.gpr[16] = aot_gpr_16; ctx.gpr[31] = aot_gpr_31; ctx.fpr[12] = aot_fpr_12; ctx.fpr[13] = aot_fpr_13; ctx.fpr[20] = aot_fpr_20; ctx.fpr[14] = aot_fpr_14; } } while (false)
|
|
#define AOT_REGCACHE_SYNC_IN() do { if (aot_regcache_valid) { aot_gpr_4 = ctx.gpr[4]; aot_gpr_5 = ctx.gpr[5]; aot_gpr_6 = ctx.gpr[6]; aot_gpr_17 = ctx.gpr[17]; aot_gpr_16 = ctx.gpr[16]; aot_gpr_31 = ctx.gpr[31]; aot_fpr_12 = ctx.fpr[12]; aot_fpr_13 = ctx.fpr[13]; aot_fpr_20 = ctx.fpr[20]; aot_fpr_14 = ctx.fpr[14]; } } while (false)
|
|
// PSPRECOMP_AOT_REGCACHE_END
|
|
std::uint32_t jump_target = 0u;
|
|
std::uint32_t local_transfers = 0u;
|
|
std::uint32_t local_redispatch_rounds = 0u;
|
|
std::uint32_t local_pc = ctx.pc;
|
|
std::uint32_t entry_id = direct_entry_id;
|
|
LOCAL_DISPATCH:
|
|
{
|
|
if (entry_id == 0u) {
|
|
const std::uint32_t entry_delta = local_pc - 0x089D4000u;
|
|
entry_id = 0u;
|
|
if (entry_delta < 16364u && (entry_delta & 3u) == 0u) {
|
|
const std::uint32_t entry_slot = entry_delta >> 2u;
|
|
const std::uint32_t entry_group = entry_slot >> 6u;
|
|
const std::uint64_t entry_mask = kEntryMasks_recomp_unit_0116[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_0116[entry_group] +
|
|
std::popcount(entry_mask & (entry_bit - 1ull)));
|
|
}
|
|
}
|
|
}
|
|
switch (entry_id) {
|
|
case 1u: goto L_089D4000;
|
|
case 2u: goto L_089D4004;
|
|
case 3u: goto L_089D4018;
|
|
case 4u: goto L_089D4020;
|
|
case 5u: goto L_089D4024;
|
|
case 6u: goto L_089D4040;
|
|
case 7u: goto L_089D4068;
|
|
case 8u: goto L_089D4078;
|
|
case 9u: goto L_089D4088;
|
|
case 10u: goto L_089D4094;
|
|
case 11u: goto L_089D409C;
|
|
case 12u: goto L_089D40AC;
|
|
case 13u: goto L_089D40B4;
|
|
case 14u: goto L_089D40BC;
|
|
case 15u: goto L_089D40C4;
|
|
case 16u: goto L_089D40D4;
|
|
case 17u: goto L_089D40E8;
|
|
case 18u: goto L_089D40F0;
|
|
case 19u: goto L_089D4104;
|
|
case 20u: goto L_089D4114;
|
|
case 21u: goto L_089D4124;
|
|
case 22u: goto L_089D412C;
|
|
case 23u: goto L_089D4134;
|
|
case 24u: goto L_089D4144;
|
|
case 25u: goto L_089D4158;
|
|
case 26u: goto L_089D4160;
|
|
case 27u: goto L_089D4170;
|
|
case 28u: goto L_089D4180;
|
|
case 29u: goto L_089D418C;
|
|
case 30u: goto L_089D41A0;
|
|
case 31u: goto L_089D41A8;
|
|
case 32u: goto L_089D41B0;
|
|
case 33u: goto L_089D41C0;
|
|
case 34u: goto L_089D41D4;
|
|
case 35u: goto L_089D41DC;
|
|
case 36u: goto L_089D41EC;
|
|
case 37u: goto L_089D41F8;
|
|
case 38u: goto L_089D4210;
|
|
case 39u: goto L_089D423C;
|
|
case 40u: goto L_089D4248;
|
|
case 41u: goto L_089D4258;
|
|
case 42u: goto L_089D4278;
|
|
case 43u: goto L_089D42E4;
|
|
case 44u: goto L_089D4308;
|
|
case 45u: goto L_089D431C;
|
|
case 46u: goto L_089D4338;
|
|
case 47u: goto L_089D4354;
|
|
case 48u: goto L_089D435C;
|
|
case 49u: goto L_089D4368;
|
|
case 50u: goto L_089D4374;
|
|
case 51u: goto L_089D4380;
|
|
case 52u: goto L_089D4394;
|
|
case 53u: goto L_089D43A4;
|
|
case 54u: goto L_089D43AC;
|
|
case 55u: goto L_089D43C0;
|
|
case 56u: goto L_089D43CC;
|
|
case 57u: goto L_089D43E0;
|
|
case 58u: goto L_089D4418;
|
|
case 59u: goto L_089D4434;
|
|
case 60u: goto L_089D444C;
|
|
case 61u: goto L_089D4458;
|
|
case 62u: goto L_089D4464;
|
|
case 63u: goto L_089D446C;
|
|
case 64u: goto L_089D4480;
|
|
case 65u: goto L_089D44A0;
|
|
case 66u: goto L_089D44A8;
|
|
case 67u: goto L_089D44B0;
|
|
case 68u: goto L_089D44B8;
|
|
case 69u: goto L_089D44C0;
|
|
case 70u: goto L_089D44D0;
|
|
case 71u: goto L_089D44D8;
|
|
case 72u: goto L_089D44E4;
|
|
case 73u: goto L_089D44EC;
|
|
case 74u: goto L_089D44FC;
|
|
case 75u: goto L_089D4510;
|
|
case 76u: goto L_089D4520;
|
|
case 77u: goto L_089D4564;
|
|
case 78u: goto L_089D456C;
|
|
case 79u: goto L_089D4570;
|
|
case 80u: goto L_089D4584;
|
|
case 81u: goto L_089D45A4;
|
|
case 82u: goto L_089D45B8;
|
|
case 83u: goto L_089D4624;
|
|
case 84u: goto L_089D462C;
|
|
case 85u: goto L_089D4644;
|
|
case 86u: goto L_089D4650;
|
|
case 87u: goto L_089D4658;
|
|
case 88u: goto L_089D4674;
|
|
case 89u: goto L_089D4680;
|
|
case 90u: goto L_089D46A4;
|
|
case 91u: goto L_089D46BC;
|
|
case 92u: goto L_089D46C8;
|
|
case 93u: goto L_089D46E0;
|
|
case 94u: goto L_089D46EC;
|
|
case 95u: goto L_089D4700;
|
|
case 96u: goto L_089D472C;
|
|
case 97u: goto L_089D4748;
|
|
case 98u: goto L_089D4754;
|
|
case 99u: goto L_089D476C;
|
|
case 100u: goto L_089D47A0;
|
|
case 101u: goto L_089D47C8;
|
|
case 102u: goto L_089D47DC;
|
|
case 103u: goto L_089D47FC;
|
|
case 104u: goto L_089D4824;
|
|
case 105u: goto L_089D482C;
|
|
case 106u: goto L_089D4848;
|
|
case 107u: goto L_089D4884;
|
|
case 108u: goto L_089D4894;
|
|
case 109u: goto L_089D48A0;
|
|
case 110u: goto L_089D48B4;
|
|
case 111u: goto L_089D48D0;
|
|
case 112u: goto L_089D48D8;
|
|
case 113u: goto L_089D4924;
|
|
case 114u: goto L_089D4928;
|
|
case 115u: goto L_089D4940;
|
|
case 116u: goto L_089D495C;
|
|
case 117u: goto L_089D496C;
|
|
case 118u: goto L_089D4974;
|
|
case 119u: goto L_089D497C;
|
|
case 120u: goto L_089D498C;
|
|
case 121u: goto L_089D4998;
|
|
case 122u: goto L_089D49A4;
|
|
case 123u: goto L_089D49BC;
|
|
case 124u: goto L_089D49C8;
|
|
case 125u: goto L_089D49DC;
|
|
case 126u: goto L_089D49FC;
|
|
case 127u: goto L_089D4A08;
|
|
case 128u: goto L_089D4A10;
|
|
case 129u: goto L_089D4A24;
|
|
case 130u: goto L_089D4A34;
|
|
case 131u: goto L_089D4A3C;
|
|
case 132u: goto L_089D4A44;
|
|
case 133u: goto L_089D4A4C;
|
|
case 134u: goto L_089D4A5C;
|
|
case 135u: goto L_089D4A64;
|
|
case 136u: goto L_089D4A68;
|
|
case 137u: goto L_089D4A7C;
|
|
case 138u: goto L_089D4AA8;
|
|
case 139u: goto L_089D4AB8;
|
|
case 140u: goto L_089D4ABC;
|
|
case 141u: goto L_089D4AC4;
|
|
case 142u: goto L_089D4AF0;
|
|
case 143u: goto L_089D4AF8;
|
|
case 144u: goto L_089D4B00;
|
|
case 145u: goto L_089D4B24;
|
|
case 146u: goto L_089D4B30;
|
|
case 147u: goto L_089D4B70;
|
|
case 148u: goto L_089D4B98;
|
|
case 149u: goto L_089D4BB8;
|
|
case 150u: goto L_089D4BC0;
|
|
case 151u: goto L_089D4BD0;
|
|
case 152u: goto L_089D4BE4;
|
|
case 153u: goto L_089D4BF0;
|
|
case 154u: goto L_089D4BF8;
|
|
case 155u: goto L_089D4C08;
|
|
case 156u: goto L_089D4C1C;
|
|
case 157u: goto L_089D4C2C;
|
|
case 158u: goto L_089D4C34;
|
|
case 159u: goto L_089D4C44;
|
|
case 160u: goto L_089D4C54;
|
|
case 161u: goto L_089D4C5C;
|
|
case 162u: goto L_089D4C7C;
|
|
case 163u: goto L_089D4C84;
|
|
case 164u: goto L_089D4C8C;
|
|
case 165u: goto L_089D4C9C;
|
|
case 166u: goto L_089D4CAC;
|
|
case 167u: goto L_089D4CB4;
|
|
case 168u: goto L_089D4CD4;
|
|
case 169u: goto L_089D4CDC;
|
|
case 170u: goto L_089D4CEC;
|
|
case 171u: goto L_089D4D00;
|
|
case 172u: goto L_089D4D0C;
|
|
case 173u: goto L_089D4D10;
|
|
case 174u: goto L_089D4D1C;
|
|
case 175u: goto L_089D4D28;
|
|
case 176u: goto L_089D4D30;
|
|
case 177u: goto L_089D4D3C;
|
|
case 178u: goto L_089D4D48;
|
|
case 179u: goto L_089D4D58;
|
|
case 180u: goto L_089D4D68;
|
|
case 181u: goto L_089D4D8C;
|
|
case 182u: goto L_089D4D9C;
|
|
case 183u: goto L_089D4DA4;
|
|
case 184u: goto L_089D4DA8;
|
|
case 185u: goto L_089D4DAC;
|
|
case 186u: goto L_089D4DC8;
|
|
case 187u: goto L_089D4DD0;
|
|
case 188u: goto L_089D4DE0;
|
|
case 189u: goto L_089D4DF4;
|
|
case 190u: goto L_089D4E00;
|
|
case 191u: goto L_089D4E08;
|
|
case 192u: goto L_089D4E18;
|
|
case 193u: goto L_089D4E2C;
|
|
case 194u: goto L_089D4E3C;
|
|
case 195u: goto L_089D4E44;
|
|
case 196u: goto L_089D4E54;
|
|
case 197u: goto L_089D4E6C;
|
|
case 198u: goto L_089D4E78;
|
|
case 199u: goto L_089D4E80;
|
|
case 200u: goto L_089D4E90;
|
|
case 201u: goto L_089D4EA8;
|
|
case 202u: goto L_089D4EB4;
|
|
case 203u: goto L_089D4EB8;
|
|
case 204u: goto L_089D4EC4;
|
|
case 205u: goto L_089D4ECC;
|
|
case 206u: goto L_089D4ED4;
|
|
case 207u: goto L_089D4EE0;
|
|
case 208u: goto L_089D4EE8;
|
|
case 209u: goto L_089D4EF4;
|
|
case 210u: goto L_089D4F00;
|
|
case 211u: goto L_089D4F10;
|
|
case 212u: goto L_089D4F20;
|
|
case 213u: goto L_089D4F44;
|
|
case 214u: goto L_089D4F48;
|
|
case 215u: goto L_089D4F4C;
|
|
case 216u: goto L_089D4F54;
|
|
case 217u: goto L_089D4F64;
|
|
case 218u: goto L_089D4F78;
|
|
case 219u: goto L_089D4F84;
|
|
case 220u: goto L_089D4F8C;
|
|
case 221u: goto L_089D4F9C;
|
|
case 222u: goto L_089D4FB0;
|
|
case 223u: goto L_089D4FBC;
|
|
case 224u: goto L_089D4FDC;
|
|
case 225u: goto L_089D4FE4;
|
|
case 226u: goto L_089D4FF4;
|
|
case 227u: goto L_089D5008;
|
|
case 228u: goto L_089D5014;
|
|
case 229u: goto L_089D501C;
|
|
case 230u: goto L_089D502C;
|
|
case 231u: goto L_089D5040;
|
|
case 232u: goto L_089D504C;
|
|
case 233u: goto L_089D5058;
|
|
case 234u: goto L_089D5064;
|
|
case 235u: goto L_089D5068;
|
|
case 236u: goto L_089D5078;
|
|
case 237u: goto L_089D5084;
|
|
case 238u: goto L_089D5094;
|
|
case 239u: goto L_089D50A8;
|
|
case 240u: goto L_089D50B4;
|
|
case 241u: goto L_089D50BC;
|
|
case 242u: goto L_089D50CC;
|
|
case 243u: goto L_089D50E0;
|
|
case 244u: goto L_089D50E8;
|
|
case 245u: goto L_089D50F0;
|
|
case 246u: goto L_089D5100;
|
|
case 247u: goto L_089D5114;
|
|
case 248u: goto L_089D5134;
|
|
case 249u: goto L_089D513C;
|
|
case 250u: goto L_089D514C;
|
|
case 251u: goto L_089D5164;
|
|
case 252u: goto L_089D5194;
|
|
case 253u: goto L_089D519C;
|
|
case 254u: goto L_089D51AC;
|
|
case 255u: goto L_089D51C0;
|
|
case 256u: goto L_089D51D0;
|
|
case 257u: goto L_089D51EC;
|
|
case 258u: goto L_089D51F4;
|
|
case 259u: goto L_089D520C;
|
|
case 260u: goto L_089D5214;
|
|
case 261u: goto L_089D5230;
|
|
case 262u: goto L_089D5238;
|
|
case 263u: goto L_089D5254;
|
|
case 264u: goto L_089D5288;
|
|
case 265u: goto L_089D52DC;
|
|
case 266u: goto L_089D5308;
|
|
case 267u: goto L_089D5314;
|
|
case 268u: goto L_089D5330;
|
|
case 269u: goto L_089D534C;
|
|
case 270u: goto L_089D5350;
|
|
case 271u: goto L_089D5354;
|
|
case 272u: goto L_089D535C;
|
|
case 273u: goto L_089D5378;
|
|
case 274u: goto L_089D5394;
|
|
case 275u: goto L_089D5398;
|
|
case 276u: goto L_089D539C;
|
|
case 277u: goto L_089D53A4;
|
|
case 278u: goto L_089D53B4;
|
|
case 279u: goto L_089D53CC;
|
|
case 280u: goto L_089D53DC;
|
|
case 281u: goto L_089D53E8;
|
|
case 282u: goto L_089D53F8;
|
|
case 283u: goto L_089D5404;
|
|
case 284u: goto L_089D5414;
|
|
case 285u: goto L_089D5424;
|
|
case 286u: goto L_089D5440;
|
|
case 287u: goto L_089D545C;
|
|
case 288u: goto L_089D5460;
|
|
case 289u: goto L_089D5464;
|
|
case 290u: goto L_089D546C;
|
|
case 291u: goto L_089D547C;
|
|
case 292u: goto L_089D5494;
|
|
case 293u: goto L_089D54B0;
|
|
case 294u: goto L_089D54CC;
|
|
case 295u: goto L_089D54D0;
|
|
case 296u: goto L_089D54D4;
|
|
case 297u: goto L_089D54DC;
|
|
case 298u: goto L_089D54EC;
|
|
case 299u: goto L_089D54F4;
|
|
case 300u: goto L_089D5510;
|
|
case 301u: goto L_089D552C;
|
|
case 302u: goto L_089D5530;
|
|
case 303u: goto L_089D5534;
|
|
case 304u: goto L_089D553C;
|
|
case 305u: goto L_089D554C;
|
|
case 306u: goto L_089D5554;
|
|
case 307u: goto L_089D5564;
|
|
case 308u: goto L_089D5570;
|
|
case 309u: goto L_089D5584;
|
|
case 310u: goto L_089D5590;
|
|
case 311u: goto L_089D55A0;
|
|
case 312u: goto L_089D55B4;
|
|
case 313u: goto L_089D55BC;
|
|
case 314u: goto L_089D55C0;
|
|
case 315u: goto L_089D55CC;
|
|
case 316u: goto L_089D55DC;
|
|
case 317u: goto L_089D55F4;
|
|
case 318u: goto L_089D5604;
|
|
case 319u: goto L_089D5610;
|
|
case 320u: goto L_089D5620;
|
|
case 321u: goto L_089D5630;
|
|
case 322u: goto L_089D563C;
|
|
case 323u: goto L_089D564C;
|
|
case 324u: goto L_089D565C;
|
|
case 325u: goto L_089D566C;
|
|
case 326u: goto L_089D567C;
|
|
case 327u: goto L_089D568C;
|
|
case 328u: goto L_089D569C;
|
|
case 329u: goto L_089D56AC;
|
|
case 330u: goto L_089D56BC;
|
|
case 331u: goto L_089D56CC;
|
|
case 332u: goto L_089D56DC;
|
|
case 333u: goto L_089D56EC;
|
|
case 334u: goto L_089D56FC;
|
|
case 335u: goto L_089D5710;
|
|
case 336u: goto L_089D5718;
|
|
case 337u: goto L_089D5724;
|
|
case 338u: goto L_089D5740;
|
|
case 339u: goto L_089D575C;
|
|
case 340u: goto L_089D5760;
|
|
case 341u: goto L_089D5764;
|
|
case 342u: goto L_089D576C;
|
|
case 343u: goto L_089D5788;
|
|
case 344u: goto L_089D57A4;
|
|
case 345u: goto L_089D57A8;
|
|
case 346u: goto L_089D57AC;
|
|
case 347u: goto L_089D57B4;
|
|
case 348u: goto L_089D57D0;
|
|
case 349u: goto L_089D57EC;
|
|
case 350u: goto L_089D57F0;
|
|
case 351u: goto L_089D57F4;
|
|
case 352u: goto L_089D57FC;
|
|
case 353u: goto L_089D5810;
|
|
case 354u: goto L_089D5820;
|
|
case 355u: goto L_089D5830;
|
|
case 356u: goto L_089D5840;
|
|
case 357u: goto L_089D5850;
|
|
case 358u: goto L_089D5860;
|
|
case 359u: goto L_089D5870;
|
|
case 360u: goto L_089D5880;
|
|
case 361u: goto L_089D5890;
|
|
case 362u: goto L_089D58A4;
|
|
case 363u: goto L_089D58F0;
|
|
case 364u: goto L_089D594C;
|
|
case 365u: goto L_089D5968;
|
|
case 366u: goto L_089D5A2C;
|
|
case 367u: goto L_089D5AC8;
|
|
case 368u: goto L_089D5AF8;
|
|
case 369u: goto L_089D5B04;
|
|
case 370u: goto L_089D5B60;
|
|
case 371u: goto L_089D5B6C;
|
|
case 372u: goto L_089D5B94;
|
|
case 373u: goto L_089D5BA4;
|
|
case 374u: goto L_089D5BCC;
|
|
case 375u: goto L_089D5BD8;
|
|
case 376u: goto L_089D5C34;
|
|
case 377u: goto L_089D5C40;
|
|
case 378u: goto L_089D5DC4;
|
|
case 379u: goto L_089D5DD0;
|
|
case 380u: goto L_089D5E94;
|
|
case 381u: goto L_089D5EA0;
|
|
case 382u: goto L_089D5F60;
|
|
case 383u: goto L_089D5F6C;
|
|
case 384u: goto L_089D602C;
|
|
case 385u: goto L_089D6038;
|
|
case 386u: goto L_089D6060;
|
|
case 387u: goto L_089D6070;
|
|
case 388u: goto L_089D6074;
|
|
case 389u: goto L_089D6084;
|
|
case 390u: goto L_089D609C;
|
|
case 391u: goto L_089D60B0;
|
|
case 392u: goto L_089D60BC;
|
|
case 393u: goto L_089D60E4;
|
|
case 394u: goto L_089D60F0;
|
|
case 395u: goto L_089D6104;
|
|
case 396u: goto L_089D6114;
|
|
case 397u: goto L_089D613C;
|
|
case 398u: goto L_089D614C;
|
|
case 399u: goto L_089D6174;
|
|
case 400u: goto L_089D6184;
|
|
case 401u: goto L_089D61AC;
|
|
case 402u: goto L_089D61BC;
|
|
case 403u: goto L_089D61E4;
|
|
case 404u: goto L_089D61F4;
|
|
case 405u: goto L_089D6250;
|
|
case 406u: goto L_089D6260;
|
|
case 407u: goto L_089D6288;
|
|
case 408u: goto L_089D6298;
|
|
case 409u: goto L_089D62A4;
|
|
case 410u: goto L_089D62B4;
|
|
case 411u: goto L_089D62E8;
|
|
case 412u: goto L_089D62F8;
|
|
case 413u: goto L_089D6354;
|
|
case 414u: goto L_089D6364;
|
|
case 415u: goto L_089D638C;
|
|
case 416u: goto L_089D63A0;
|
|
case 417u: goto L_089D63A4;
|
|
case 418u: goto L_089D63B0;
|
|
case 419u: goto L_089D63C0;
|
|
case 420u: goto L_089D63E8;
|
|
case 421u: goto L_089D6410;
|
|
case 422u: goto L_089D64D0;
|
|
case 423u: goto L_089D64DC;
|
|
case 424u: goto L_089D6524;
|
|
case 425u: goto L_089D652C;
|
|
case 426u: goto L_089D6544;
|
|
case 427u: goto L_089D6568;
|
|
case 428u: goto L_089D657C;
|
|
case 429u: goto L_089D6588;
|
|
case 430u: goto L_089D65B4;
|
|
case 431u: goto L_089D65C0;
|
|
case 432u: goto L_089D65D4;
|
|
case 433u: goto L_089D65E4;
|
|
case 434u: goto L_089D65FC;
|
|
case 435u: goto L_089D6604;
|
|
case 436u: goto L_089D6630;
|
|
case 437u: goto L_089D663C;
|
|
case 438u: goto L_089D6714;
|
|
case 439u: goto L_089D6720;
|
|
case 440u: goto L_089D679C;
|
|
case 441u: goto L_089D67A8;
|
|
case 442u: goto L_089D6838;
|
|
case 443u: goto L_089D684C;
|
|
case 444u: goto L_089D6858;
|
|
case 445u: goto L_089D68C0;
|
|
case 446u: goto L_089D68D0;
|
|
case 447u: goto L_089D68E4;
|
|
case 448u: goto L_089D68F8;
|
|
case 449u: goto L_089D68FC;
|
|
case 450u: goto L_089D690C;
|
|
case 451u: goto L_089D6914;
|
|
case 452u: goto L_089D6924;
|
|
case 453u: goto L_089D6938;
|
|
case 454u: goto L_089D6944;
|
|
case 455u: goto L_089D6958;
|
|
case 456u: goto L_089D6968;
|
|
case 457u: goto L_089D6978;
|
|
case 458u: goto L_089D6988;
|
|
case 459u: goto L_089D6994;
|
|
case 460u: goto L_089D69A8;
|
|
case 461u: goto L_089D69B4;
|
|
case 462u: goto L_089D69C0;
|
|
case 463u: goto L_089D69D0;
|
|
case 464u: goto L_089D69E4;
|
|
case 465u: goto L_089D69F4;
|
|
case 466u: goto L_089D6A08;
|
|
case 467u: goto L_089D6A18;
|
|
case 468u: goto L_089D6A2C;
|
|
case 469u: goto L_089D6A3C;
|
|
case 470u: goto L_089D6A50;
|
|
case 471u: goto L_089D6A60;
|
|
case 472u: goto L_089D6A98;
|
|
case 473u: goto L_089D6AA8;
|
|
case 474u: goto L_089D6ABC;
|
|
case 475u: goto L_089D6ACC;
|
|
case 476u: goto L_089D6AD8;
|
|
case 477u: goto L_089D6AE8;
|
|
case 478u: goto L_089D6AFC;
|
|
case 479u: goto L_089D6B0C;
|
|
case 480u: goto L_089D6B38;
|
|
case 481u: goto L_089D6B48;
|
|
case 482u: goto L_089D6B5C;
|
|
case 483u: goto L_089D6B6C;
|
|
case 484u: goto L_089D6B80;
|
|
case 485u: goto L_089D6B8C;
|
|
case 486u: goto L_089D6BA4;
|
|
case 487u: goto L_089D6BB0;
|
|
case 488u: goto L_089D6BBC;
|
|
case 489u: goto L_089D6BCC;
|
|
case 490u: goto L_089D6BD8;
|
|
case 491u: goto L_089D6C00;
|
|
case 492u: goto L_089D6C3C;
|
|
case 493u: goto L_089D6C58;
|
|
case 494u: goto L_089D6C60;
|
|
case 495u: goto L_089D6C68;
|
|
case 496u: goto L_089D6C70;
|
|
case 497u: goto L_089D6C74;
|
|
case 498u: goto L_089D6C80;
|
|
case 499u: goto L_089D6C90;
|
|
case 500u: goto L_089D6CA0;
|
|
case 501u: goto L_089D6CC4;
|
|
case 502u: goto L_089D6CD8;
|
|
case 503u: goto L_089D6CE0;
|
|
case 504u: goto L_089D6CE8;
|
|
case 505u: goto L_089D6D00;
|
|
case 506u: goto L_089D6D0C;
|
|
case 507u: goto L_089D6D18;
|
|
case 508u: goto L_089D6D20;
|
|
case 509u: goto L_089D6D40;
|
|
case 510u: goto L_089D6D50;
|
|
case 511u: goto L_089D6D5C;
|
|
case 512u: goto L_089D6D64;
|
|
case 513u: goto L_089D6D88;
|
|
case 514u: goto L_089D6D9C;
|
|
case 515u: goto L_089D6DA4;
|
|
case 516u: goto L_089D6DB0;
|
|
case 517u: goto L_089D6DD4;
|
|
case 518u: goto L_089D6DE8;
|
|
case 519u: goto L_089D6DFC;
|
|
case 520u: goto L_089D6E00;
|
|
case 521u: goto L_089D6E10;
|
|
case 522u: goto L_089D6E20;
|
|
case 523u: goto L_089D6E8C;
|
|
case 524u: goto L_089D6E94;
|
|
case 525u: goto L_089D6E98;
|
|
case 526u: goto L_089D6ED0;
|
|
case 527u: goto L_089D6F14;
|
|
case 528u: goto L_089D6F20;
|
|
case 529u: goto L_089D6F30;
|
|
case 530u: goto L_089D6F40;
|
|
case 531u: goto L_089D6F50;
|
|
case 532u: goto L_089D6F58;
|
|
case 533u: goto L_089D6F60;
|
|
case 534u: goto L_089D6F78;
|
|
case 535u: goto L_089D6F90;
|
|
case 536u: goto L_089D6FA0;
|
|
case 537u: goto L_089D6FAC;
|
|
case 538u: goto L_089D7038;
|
|
case 539u: goto L_089D7044;
|
|
case 540u: goto L_089D7054;
|
|
case 541u: goto L_089D70B8;
|
|
case 542u: goto L_089D7114;
|
|
case 543u: goto L_089D7128;
|
|
case 544u: goto L_089D7138;
|
|
case 545u: goto L_089D7150;
|
|
case 546u: goto L_089D715C;
|
|
case 547u: goto L_089D7168;
|
|
case 548u: goto L_089D7174;
|
|
case 549u: goto L_089D71A8;
|
|
case 550u: goto L_089D71B8;
|
|
case 551u: goto L_089D71C4;
|
|
case 552u: goto L_089D71D0;
|
|
case 553u: goto L_089D71E8;
|
|
case 554u: goto L_089D71F4;
|
|
case 555u: goto L_089D71FC;
|
|
case 556u: goto L_089D7208;
|
|
case 557u: goto L_089D720C;
|
|
case 558u: goto L_089D7218;
|
|
case 559u: goto L_089D7228;
|
|
case 560u: goto L_089D7230;
|
|
case 561u: goto L_089D7240;
|
|
case 562u: goto L_089D7258;
|
|
case 563u: goto L_089D7260;
|
|
case 564u: goto L_089D727C;
|
|
case 565u: goto L_089D7298;
|
|
case 566u: goto L_089D72A4;
|
|
case 567u: goto L_089D72B0;
|
|
case 568u: goto L_089D72B4;
|
|
case 569u: goto L_089D72C4;
|
|
case 570u: goto L_089D72CC;
|
|
case 571u: goto L_089D72D4;
|
|
case 572u: goto L_089D72E8;
|
|
case 573u: goto L_089D730C;
|
|
case 574u: goto L_089D7368;
|
|
case 575u: goto L_089D7384;
|
|
case 576u: goto L_089D7398;
|
|
case 577u: goto L_089D73B0;
|
|
case 578u: goto L_089D73B8;
|
|
case 579u: goto L_089D73C0;
|
|
case 580u: goto L_089D73D4;
|
|
case 581u: goto L_089D73E8;
|
|
case 582u: goto L_089D73F8;
|
|
case 583u: goto L_089D7408;
|
|
case 584u: goto L_089D7418;
|
|
case 585u: goto L_089D7420;
|
|
case 586u: goto L_089D7430;
|
|
case 587u: goto L_089D7438;
|
|
case 588u: goto L_089D7460;
|
|
case 589u: goto L_089D7478;
|
|
case 590u: goto L_089D748C;
|
|
case 591u: goto L_089D7494;
|
|
case 592u: goto L_089D749C;
|
|
case 593u: goto L_089D74BC;
|
|
case 594u: goto L_089D74C8;
|
|
case 595u: goto L_089D74CC;
|
|
case 596u: goto L_089D74D4;
|
|
case 597u: goto L_089D74E4;
|
|
case 598u: goto L_089D74F4;
|
|
case 599u: goto L_089D7500;
|
|
case 600u: goto L_089D7508;
|
|
case 601u: goto L_089D750C;
|
|
case 602u: goto L_089D7514;
|
|
case 603u: goto L_089D751C;
|
|
case 604u: goto L_089D7524;
|
|
case 605u: goto L_089D7530;
|
|
case 606u: goto L_089D7544;
|
|
case 607u: goto L_089D7550;
|
|
case 608u: goto L_089D7568;
|
|
case 609u: goto L_089D757C;
|
|
case 610u: goto L_089D75AC;
|
|
case 611u: goto L_089D75E8;
|
|
case 612u: goto L_089D75F0;
|
|
case 613u: goto L_089D75FC;
|
|
case 614u: goto L_089D7604;
|
|
case 615u: goto L_089D760C;
|
|
case 616u: goto L_089D7618;
|
|
case 617u: goto L_089D7644;
|
|
case 618u: goto L_089D7650;
|
|
case 619u: goto L_089D7654;
|
|
case 620u: goto L_089D7668;
|
|
case 621u: goto L_089D7670;
|
|
case 622u: goto L_089D7678;
|
|
case 623u: goto L_089D7684;
|
|
case 624u: goto L_089D7690;
|
|
case 625u: goto L_089D7698;
|
|
case 626u: goto L_089D769C;
|
|
case 627u: goto L_089D7704;
|
|
case 628u: goto L_089D771C;
|
|
case 629u: goto L_089D7720;
|
|
case 630u: goto L_089D7728;
|
|
case 631u: goto L_089D7730;
|
|
case 632u: goto L_089D7738;
|
|
case 633u: goto L_089D7748;
|
|
case 634u: goto L_089D7750;
|
|
case 635u: goto L_089D775C;
|
|
case 636u: goto L_089D7764;
|
|
case 637u: goto L_089D776C;
|
|
case 638u: goto L_089D7774;
|
|
case 639u: goto L_089D777C;
|
|
case 640u: goto L_089D778C;
|
|
case 641u: goto L_089D779C;
|
|
case 642u: goto L_089D77A4;
|
|
case 643u: goto L_089D77AC;
|
|
case 644u: goto L_089D77BC;
|
|
case 645u: goto L_089D77CC;
|
|
case 646u: goto L_089D77E4;
|
|
case 647u: goto L_089D77EC;
|
|
case 648u: goto L_089D77F4;
|
|
case 649u: goto L_089D77FC;
|
|
case 650u: goto L_089D7804;
|
|
case 651u: goto L_089D780C;
|
|
case 652u: goto L_089D7814;
|
|
case 653u: goto L_089D7828;
|
|
case 654u: goto L_089D7830;
|
|
case 655u: goto L_089D7838;
|
|
case 656u: goto L_089D784C;
|
|
case 657u: goto L_089D7854;
|
|
case 658u: goto L_089D785C;
|
|
case 659u: goto L_089D7874;
|
|
case 660u: goto L_089D7884;
|
|
case 661u: goto L_089D788C;
|
|
case 662u: goto L_089D7894;
|
|
case 663u: goto L_089D78A0;
|
|
case 664u: goto L_089D78A8;
|
|
case 665u: goto L_089D78B0;
|
|
case 666u: goto L_089D78BC;
|
|
case 667u: goto L_089D78C0;
|
|
case 668u: goto L_089D78CC;
|
|
case 669u: goto L_089D78D4;
|
|
case 670u: goto L_089D78F0;
|
|
case 671u: goto L_089D78FC;
|
|
case 672u: goto L_089D7998;
|
|
case 673u: goto L_089D79A8;
|
|
case 674u: goto L_089D79B4;
|
|
case 675u: goto L_089D79BC;
|
|
case 676u: goto L_089D79C4;
|
|
case 677u: goto L_089D79CC;
|
|
case 678u: goto L_089D79EC;
|
|
case 679u: goto L_089D7B9C;
|
|
case 680u: goto L_089D7BA8;
|
|
case 681u: goto L_089D7BE0;
|
|
case 682u: goto L_089D7C10;
|
|
case 683u: goto L_089D7C24;
|
|
case 684u: goto L_089D7C44;
|
|
case 685u: goto L_089D7C6C;
|
|
case 686u: goto L_089D7C78;
|
|
case 687u: goto L_089D7C8C;
|
|
case 688u: goto L_089D7C94;
|
|
case 689u: goto L_089D7CA0;
|
|
case 690u: goto L_089D7CB4;
|
|
case 691u: goto L_089D7CCC;
|
|
case 692u: goto L_089D7CF4;
|
|
case 693u: goto L_089D7D04;
|
|
case 694u: goto L_089D7D0C;
|
|
case 695u: goto L_089D7D14;
|
|
case 696u: goto L_089D7D18;
|
|
case 697u: goto L_089D7D34;
|
|
case 698u: goto L_089D7D3C;
|
|
case 699u: goto L_089D7D5C;
|
|
case 700u: goto L_089D7D68;
|
|
case 701u: goto L_089D7D80;
|
|
case 702u: goto L_089D7D84;
|
|
case 703u: goto L_089D7D9C;
|
|
case 704u: goto L_089D7DBC;
|
|
case 705u: goto L_089D7DC8;
|
|
case 706u: goto L_089D7DD4;
|
|
case 707u: goto L_089D7DD8;
|
|
case 708u: goto L_089D7DEC;
|
|
case 709u: goto L_089D7E14;
|
|
case 710u: goto L_089D7E30;
|
|
case 711u: goto L_089D7E48;
|
|
case 712u: goto L_089D7E70;
|
|
case 713u: goto L_089D7E9C;
|
|
case 714u: goto L_089D7EA4;
|
|
case 715u: goto L_089D7EB4;
|
|
case 716u: goto L_089D7EBC;
|
|
case 717u: goto L_089D7F14;
|
|
case 718u: goto L_089D7F2C;
|
|
case 719u: goto L_089D7F54;
|
|
case 720u: goto L_089D7F68;
|
|
case 721u: goto L_089D7F70;
|
|
case 722u: goto L_089D7F74;
|
|
case 723u: goto L_089D7F98;
|
|
case 724u: goto L_089D7FA0;
|
|
case 725u: goto L_089D7FC0;
|
|
case 726u: goto L_089D7FCC;
|
|
case 727u: goto L_089D7FE4;
|
|
case 728u: goto L_089D7FE8;
|
|
default:
|
|
if (local_transfers == 0u) rt.unsupported(ctx.pc, 0u, "invalid internal function entry");
|
|
else ctx.pc = local_pc;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
}
|
|
}
|
|
// PSPRECOMP_V812_SHARED_SCHED_BLOCK: one scheduler-exact slow boundary per unit.
|
|
LOCAL_SCHED_BOUNDARY:
|
|
ctx.pc = jump_target;
|
|
AOT_REGCACHE_SYNC_OUT();
|
|
if (local_redispatch_rounds < 7u && rt.continue_generated_local_dispatch(ctx)) {
|
|
++local_redispatch_rounds;
|
|
AOT_REGCACHE_SYNC_IN();
|
|
local_transfers = 0u;
|
|
local_pc = ctx.pc;
|
|
entry_id = 0u;
|
|
goto LOCAL_DISPATCH;
|
|
}
|
|
return;
|
|
L_089D4000:
|
|
aot_gpr_16 = (aot_gpr_16 + static_cast<std::uint32_t>(136));
|
|
goto L_089D4004;
|
|
L_089D4004:
|
|
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_16 + static_cast<std::uint32_t>(0))))));
|
|
aot_gpr_4 = (aot_gpr_4 + aot_gpr_5);
|
|
aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(4)));
|
|
jump_target = aot_gpr_5;
|
|
aot_gpr_31 = (0x089D4018u);
|
|
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 == 0x089D4018u) goto L_089D4018;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
L_089D4018:
|
|
{ const bool branch_taken = ctx.gpr[2] == 0u;
|
|
if (branch_taken) {
|
|
goto L_089D4024;
|
|
}
|
|
goto L_089D4020;
|
|
}
|
|
L_089D4020:
|
|
aot_gpr_17 = (0u | 1u);
|
|
goto L_089D4024;
|
|
L_089D4024:
|
|
ctx.gpr[2] = (aot_gpr_17 & 255u);
|
|
{ std::uint32_t aot_run_words[4]{};
|
|
aot_mem.aot_direct_load32_block(ctx.gpr[29] + static_cast<std::uint32_t>(20), aot_run_words);
|
|
aot_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;
|
|
ctx.gpr[29] = (ctx.gpr[29] + static_cast<std::uint32_t>(48));
|
|
local_pc = jump_target;
|
|
if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; }
|
|
// PSPRECOMP_V812_SHARED_SCHED_JUMP
|
|
goto LOCAL_SCHED_BOUNDARY;
|
|
L_089D4040:
|
|
ctx.gpr[29] = (ctx.gpr[29] + static_cast<std::uint32_t>(-48));
|
|
{ const std::uint32_t aot_run_words[4]{aot_gpr_16, aot_gpr_17, ctx.gpr[18], aot_gpr_31};
|
|
aot_mem.aot_direct_store32_block(ctx.gpr[29] + static_cast<std::uint32_t>(20), aot_run_words); }
|
|
aot_gpr_16 = (aot_gpr_4 | 0u);
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(96)));
|
|
ctx.gpr[18] = (0u | 65535u);
|
|
{ const bool branch_taken = aot_gpr_4 != 0u;
|
|
aot_gpr_17 = (aot_gpr_5 | 0u);
|
|
if (branch_taken) {
|
|
goto L_089D4088;
|
|
}
|
|
goto L_089D4068;
|
|
}
|
|
L_089D4068:
|
|
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_16 + static_cast<std::uint32_t>(10))))));
|
|
aot_gpr_6 = (ctx.gpr[29] + static_cast<std::uint32_t>(16));
|
|
aot_gpr_31 = (0x089D4078u);
|
|
aot_gpr_4 = (aot_gpr_16 | 0u);
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0166_entry, 166u, 47u, 0x08A9C6FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D4078u) goto L_089D4078;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
L_089D4078:
|
|
aot_mem.aot_direct_store32(aot_gpr_16 + static_cast<std::uint32_t>(96), ctx.gpr[2]);
|
|
aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[29] + static_cast<std::uint32_t>(16)));
|
|
aot_mem.aot_direct_store8(aot_gpr_16 + static_cast<std::uint32_t>(4), static_cast<std::uint8_t>(aot_gpr_4));
|
|
aot_gpr_4 = (ctx.gpr[2] | 0u);
|
|
goto L_089D4088;
|
|
L_089D4088:
|
|
aot_gpr_5 = (aot_mem.aot_direct_load16(aot_gpr_4 + static_cast<std::uint32_t>(176)));
|
|
{ const bool branch_taken = aot_gpr_5 != ctx.gpr[18];
|
|
aot_gpr_6 = (aot_gpr_5 | 0u);
|
|
if (branch_taken) {
|
|
goto L_089D409C;
|
|
}
|
|
goto L_089D4094;
|
|
}
|
|
L_089D4094:
|
|
{ const bool branch_taken = 0u == 0u;
|
|
aot_gpr_5 = (0u | 0u);
|
|
if (branch_taken) {
|
|
goto L_089D40B4;
|
|
}
|
|
goto L_089D409C;
|
|
}
|
|
L_089D409C:
|
|
aot_gpr_4 = (2237u << 16u);
|
|
aot_gpr_4 = (aot_gpr_4 + static_cast<std::uint32_t>(-28736));
|
|
aot_gpr_31 = (0x089D40ACu);
|
|
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_16 + static_cast<std::uint32_t>(3))))));
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 192u, 0x08ADCA6Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D40ACu) goto L_089D40AC;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
L_089D40AC:
|
|
aot_gpr_5 = (ctx.gpr[2] | 0u);
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(96)));
|
|
goto L_089D40B4;
|
|
L_089D40B4:
|
|
{ const bool branch_taken = aot_gpr_5 == 0u;
|
|
if (branch_taken) {
|
|
goto L_089D41A8;
|
|
}
|
|
goto L_089D40BC;
|
|
}
|
|
L_089D40BC:
|
|
if (aot_gpr_4 != 0u) {
|
|
aot_gpr_5 = (aot_mem.aot_direct_load16(aot_gpr_4 + static_cast<std::uint32_t>(176)));
|
|
goto L_089D40E8;
|
|
}
|
|
goto L_089D40C4;
|
|
L_089D40C4:
|
|
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_16 + static_cast<std::uint32_t>(10))))));
|
|
aot_gpr_6 = (ctx.gpr[29] + static_cast<std::uint32_t>(17));
|
|
aot_gpr_31 = (0x089D40D4u);
|
|
aot_gpr_4 = (aot_gpr_16 | 0u);
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0166_entry, 166u, 47u, 0x08A9C6FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D40D4u) goto L_089D40D4;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
L_089D40D4:
|
|
aot_mem.aot_direct_store32(aot_gpr_16 + static_cast<std::uint32_t>(96), ctx.gpr[2]);
|
|
aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[29] + static_cast<std::uint32_t>(17)));
|
|
aot_mem.aot_direct_store8(aot_gpr_16 + static_cast<std::uint32_t>(4), static_cast<std::uint8_t>(aot_gpr_4));
|
|
aot_gpr_4 = (ctx.gpr[2] | 0u);
|
|
aot_gpr_5 = (aot_mem.aot_direct_load16(aot_gpr_4 + static_cast<std::uint32_t>(176)));
|
|
goto L_089D40E8;
|
|
L_089D40E8:
|
|
{ const bool branch_taken = aot_gpr_5 != ctx.gpr[18];
|
|
aot_gpr_6 = (aot_gpr_5 | 0u);
|
|
if (branch_taken) {
|
|
goto L_089D4104;
|
|
}
|
|
goto L_089D40F0;
|
|
}
|
|
L_089D40F0:
|
|
aot_gpr_5 = (0u | 0u);
|
|
aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_5 + static_cast<std::uint32_t>(1)));
|
|
aot_gpr_5 = (0u < aot_gpr_5 ? 1u : 0u);
|
|
{ const bool branch_taken = 0u == 0u;
|
|
aot_gpr_5 = (aot_gpr_5 & 255u);
|
|
if (branch_taken) {
|
|
goto L_089D4124;
|
|
}
|
|
goto L_089D4104;
|
|
}
|
|
L_089D4104:
|
|
aot_gpr_4 = (2237u << 16u);
|
|
aot_gpr_4 = (aot_gpr_4 + static_cast<std::uint32_t>(-28736));
|
|
aot_gpr_31 = (0x089D4114u);
|
|
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_16 + static_cast<std::uint32_t>(3))))));
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 192u, 0x08ADCA6Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D4114u) goto L_089D4114;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
L_089D4114:
|
|
aot_gpr_5 = (aot_mem.aot_direct_load8(ctx.gpr[2] + static_cast<std::uint32_t>(1)));
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(96)));
|
|
aot_gpr_5 = (0u < aot_gpr_5 ? 1u : 0u);
|
|
aot_gpr_5 = (aot_gpr_5 & 255u);
|
|
goto L_089D4124;
|
|
L_089D4124:
|
|
{ const bool branch_taken = aot_gpr_5 != 0u;
|
|
if (branch_taken) {
|
|
goto L_089D41A8;
|
|
}
|
|
goto L_089D412C;
|
|
}
|
|
L_089D412C:
|
|
if (aot_gpr_4 != 0u) {
|
|
aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_4 + static_cast<std::uint32_t>(176)));
|
|
goto L_089D4158;
|
|
}
|
|
goto L_089D4134;
|
|
L_089D4134:
|
|
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_16 + static_cast<std::uint32_t>(10))))));
|
|
aot_gpr_6 = (ctx.gpr[29] + static_cast<std::uint32_t>(18));
|
|
aot_gpr_31 = (0x089D4144u);
|
|
aot_gpr_4 = (aot_gpr_16 | 0u);
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0166_entry, 166u, 47u, 0x08A9C6FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D4144u) goto L_089D4144;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
L_089D4144:
|
|
aot_mem.aot_direct_store32(aot_gpr_16 + static_cast<std::uint32_t>(96), ctx.gpr[2]);
|
|
aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[29] + static_cast<std::uint32_t>(18)));
|
|
aot_mem.aot_direct_store8(aot_gpr_16 + static_cast<std::uint32_t>(4), static_cast<std::uint8_t>(aot_gpr_4));
|
|
aot_gpr_4 = (ctx.gpr[2] | 0u);
|
|
aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_4 + static_cast<std::uint32_t>(176)));
|
|
goto L_089D4158;
|
|
L_089D4158:
|
|
{ const bool branch_taken = aot_gpr_4 != ctx.gpr[18];
|
|
aot_gpr_6 = (aot_gpr_4 | 0u);
|
|
if (branch_taken) {
|
|
goto L_089D4170;
|
|
}
|
|
goto L_089D4160;
|
|
}
|
|
L_089D4160:
|
|
aot_gpr_16 = (0u | 0u);
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(108)));
|
|
{ const bool branch_taken = 0u == 0u;
|
|
aot_gpr_4 = (aot_gpr_4 + static_cast<std::uint32_t>(144));
|
|
if (branch_taken) {
|
|
goto L_089D418C;
|
|
}
|
|
goto L_089D4170;
|
|
}
|
|
L_089D4170:
|
|
aot_gpr_4 = (2237u << 16u);
|
|
aot_gpr_4 = (aot_gpr_4 + static_cast<std::uint32_t>(-28736));
|
|
aot_gpr_31 = (0x089D4180u);
|
|
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_16 + static_cast<std::uint32_t>(3))))));
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 192u, 0x08ADCA6Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D4180u) goto L_089D4180;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
L_089D4180:
|
|
aot_gpr_16 = (ctx.gpr[2] | 0u);
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(108)));
|
|
aot_gpr_4 = (aot_gpr_4 + static_cast<std::uint32_t>(144));
|
|
goto L_089D418C;
|
|
L_089D418C:
|
|
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))))));
|
|
aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast<std::uint32_t>(4)));
|
|
aot_gpr_4 = (aot_gpr_16 + aot_gpr_5);
|
|
jump_target = aot_gpr_6;
|
|
aot_gpr_31 = (0x089D41A0u);
|
|
aot_gpr_5 = (aot_gpr_17 | 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 == 0x089D41A0u) goto L_089D41A0;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
L_089D41A0:
|
|
{ const bool branch_taken = 0u == 0u;
|
|
if (branch_taken) {
|
|
goto L_089D41F8;
|
|
}
|
|
goto L_089D41A8;
|
|
}
|
|
L_089D41A8:
|
|
if (aot_gpr_4 != 0u) {
|
|
aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_4 + static_cast<std::uint32_t>(176)));
|
|
goto L_089D41D4;
|
|
}
|
|
goto L_089D41B0;
|
|
L_089D41B0:
|
|
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_16 + static_cast<std::uint32_t>(10))))));
|
|
aot_gpr_6 = (ctx.gpr[29] + static_cast<std::uint32_t>(19));
|
|
aot_gpr_31 = (0x089D41C0u);
|
|
aot_gpr_4 = (aot_gpr_16 | 0u);
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0166_entry, 166u, 47u, 0x08A9C6FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D41C0u) goto L_089D41C0;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
L_089D41C0:
|
|
aot_mem.aot_direct_store32(aot_gpr_16 + static_cast<std::uint32_t>(96), ctx.gpr[2]);
|
|
aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[29] + static_cast<std::uint32_t>(19)));
|
|
aot_mem.aot_direct_store8(aot_gpr_16 + static_cast<std::uint32_t>(4), static_cast<std::uint8_t>(aot_gpr_4));
|
|
aot_gpr_4 = (ctx.gpr[2] | 0u);
|
|
aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_4 + static_cast<std::uint32_t>(176)));
|
|
goto L_089D41D4;
|
|
L_089D41D4:
|
|
{ const bool branch_taken = aot_gpr_4 == ctx.gpr[18];
|
|
aot_gpr_6 = (aot_gpr_4 | 0u);
|
|
if (branch_taken) {
|
|
goto L_089D41EC;
|
|
}
|
|
goto L_089D41DC;
|
|
}
|
|
L_089D41DC:
|
|
aot_gpr_4 = (2237u << 16u);
|
|
aot_gpr_4 = (aot_gpr_4 + static_cast<std::uint32_t>(-28736));
|
|
aot_gpr_31 = (0x089D41ECu);
|
|
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_16 + static_cast<std::uint32_t>(3))))));
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 192u, 0x08ADCA6Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D41ECu) goto L_089D41EC;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
L_089D41EC:
|
|
aot_gpr_4 = (aot_gpr_16 | 0u);
|
|
aot_gpr_31 = (0x089D41F8u);
|
|
aot_gpr_5 = (aot_gpr_17 | 0u);
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0165_entry, 165u, 448u, 0x08A9B950u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D41F8u) goto L_089D41F8;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
L_089D41F8:
|
|
{ std::uint32_t aot_run_words[4]{};
|
|
aot_mem.aot_direct_load32_block(ctx.gpr[29] + static_cast<std::uint32_t>(20), aot_run_words);
|
|
aot_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;
|
|
ctx.gpr[29] = (ctx.gpr[29] + static_cast<std::uint32_t>(48));
|
|
local_pc = jump_target;
|
|
if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; }
|
|
// PSPRECOMP_V812_SHARED_SCHED_JUMP
|
|
goto LOCAL_SCHED_BOUNDARY;
|
|
L_089D4210:
|
|
ctx.gpr[29] = (ctx.gpr[29] + static_cast<std::uint32_t>(-32));
|
|
aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast<std::uint32_t>(20), aot_gpr_16);
|
|
aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast<std::uint32_t>(24), aot_gpr_31);
|
|
aot_gpr_16 = (aot_gpr_4 | 0u);
|
|
aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast<std::uint32_t>(32), aot_gpr_5);
|
|
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[29] + static_cast<std::uint32_t>(32))))));
|
|
aot_mem.aot_direct_store16(ctx.gpr[29] + static_cast<std::uint32_t>(16), static_cast<std::uint16_t>(aot_gpr_4));
|
|
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[29] + static_cast<std::uint32_t>(16))))));
|
|
aot_gpr_4 = (aot_gpr_16 | 0u);
|
|
aot_gpr_31 = (0x089D423Cu);
|
|
aot_gpr_6 = (0u | 0u);
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0166_entry, 166u, 47u, 0x08A9C6FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D423Cu) goto L_089D423C;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
L_089D423C:
|
|
aot_gpr_4 = (ctx.gpr[2] + static_cast<std::uint32_t>(192));
|
|
aot_gpr_31 = (0x089D4248u);
|
|
aot_gpr_5 = (aot_gpr_16 | 0u);
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0166_entry, 166u, 254u, 0x08A9DE74u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D4248u) goto L_089D4248;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
L_089D4248:
|
|
aot_gpr_16 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast<std::uint32_t>(20)));
|
|
aot_gpr_31 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast<std::uint32_t>(24)));
|
|
jump_target = aot_gpr_31;
|
|
ctx.gpr[29] = (ctx.gpr[29] + static_cast<std::uint32_t>(32));
|
|
local_pc = jump_target;
|
|
if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; }
|
|
// PSPRECOMP_V812_SHARED_SCHED_JUMP
|
|
goto LOCAL_SCHED_BOUNDARY;
|
|
L_089D4258:
|
|
ctx.gpr[29] = (ctx.gpr[29] + static_cast<std::uint32_t>(-32));
|
|
{ const std::uint32_t aot_run_words[4]{std::bit_cast<std::uint32_t>(aot_fpr_20), aot_gpr_16, aot_gpr_17, aot_gpr_31};
|
|
aot_mem.aot_direct_store32_block(ctx.gpr[29] + static_cast<std::uint32_t>(4), aot_run_words); }
|
|
aot_gpr_16 = (aot_gpr_4 | 0u);
|
|
aot_gpr_31 = (0x089D4278u);
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0034_entry, 34u, 570u, 0x0888FA44u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D4278u) goto L_089D4278;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
L_089D4278:
|
|
aot_gpr_4 = (2234u << 16u);
|
|
aot_gpr_4 = (aot_gpr_4 + static_cast<std::uint32_t>(25768));
|
|
aot_mem.aot_direct_store32(aot_gpr_16 + static_cast<std::uint32_t>(92), aot_gpr_4);
|
|
{ const std::uint32_t aot_run_words[3]{0u, 0u, 0u};
|
|
aot_mem.aot_direct_store32_block(aot_gpr_16 + static_cast<std::uint32_t>(368), aot_run_words); }
|
|
aot_fpr_20 = std::bit_cast<float>(0u);
|
|
{ const std::uint32_t aot_run_words[4]{std::bit_cast<std::uint32_t>(aot_fpr_20), 0u, 0u, 0u};
|
|
aot_mem.aot_direct_store32_block(aot_gpr_16 + static_cast<std::uint32_t>(380), aot_run_words); }
|
|
aot_mem.aot_direct_store16(aot_gpr_16 + static_cast<std::uint32_t>(416), static_cast<std::uint16_t>(0u));
|
|
aot_mem.aot_direct_store16(aot_gpr_16 + static_cast<std::uint32_t>(418), static_cast<std::uint16_t>(0u));
|
|
aot_gpr_17 = (aot_gpr_16 + static_cast<std::uint32_t>(418));
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(76)));
|
|
aot_gpr_5 = (2u << 16u);
|
|
aot_gpr_4 = (aot_gpr_4 | aot_gpr_5);
|
|
aot_mem.aot_direct_store32(aot_gpr_16 + static_cast<std::uint32_t>(76), aot_gpr_4);
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(72)));
|
|
aot_gpr_5 = (0u + static_cast<std::uint32_t>(-497));
|
|
aot_gpr_4 = (aot_gpr_4 & aot_gpr_5);
|
|
aot_gpr_4 = (aot_gpr_4 | 32u);
|
|
aot_mem.aot_direct_store32(aot_gpr_16 + static_cast<std::uint32_t>(72), aot_gpr_4);
|
|
aot_gpr_4 = (ctx.gpr[28] + static_cast<std::uint32_t>(7768));
|
|
aot_gpr_5 = (0u | 0u);
|
|
aot_gpr_31 = (0x089D42E4u);
|
|
aot_gpr_6 = (aot_gpr_16 | 0u);
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0128_entry, 128u, 497u, 0x08A05F1Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D42E4u) goto L_089D42E4;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
L_089D42E4:
|
|
aot_mem.aot_direct_store32(aot_gpr_16 + static_cast<std::uint32_t>(96), ctx.gpr[2]);
|
|
aot_fpr_13 = std::bit_cast<float>(std::bit_cast<std::uint32_t>(aot_fpr_20));
|
|
aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(392)));
|
|
aot_gpr_4 = (aot_gpr_5 ^ 4u);
|
|
aot_gpr_4 = (aot_gpr_4 < static_cast<std::uint32_t>(1) ? 1u : 0u);
|
|
aot_gpr_6 = (aot_gpr_4 & 255u);
|
|
aot_fpr_12 = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(380)));
|
|
{ const bool branch_taken = aot_gpr_6 == 0u;
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(384)));
|
|
if (branch_taken) {
|
|
goto L_089D43AC;
|
|
}
|
|
goto L_089D4308;
|
|
}
|
|
L_089D4308:
|
|
aot_gpr_6 = (aot_gpr_5 + static_cast<std::uint32_t>(-1));
|
|
aot_gpr_6 = (aot_gpr_6 + aot_gpr_4);
|
|
ctx.gpr[7] = (aot_gpr_6 < static_cast<std::uint32_t>(5) ? 1u : 0u);
|
|
{ const bool branch_taken = ctx.gpr[7] == 0u;
|
|
aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(388)));
|
|
if (branch_taken) {
|
|
goto L_089D4338;
|
|
}
|
|
goto L_089D431C;
|
|
}
|
|
L_089D431C:
|
|
aot_gpr_6 = (aot_gpr_6 << 2u);
|
|
aot_gpr_6 = (aot_gpr_16 + aot_gpr_6);
|
|
aot_gpr_6 = (aot_gpr_6 + static_cast<std::uint32_t>(396));
|
|
aot_fpr_14 = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_6 + static_cast<std::uint32_t>(0)));
|
|
aot_fpr_14 = aot_fpr_13 - aot_fpr_14;
|
|
{ const bool branch_taken = 0u == 0u;
|
|
aot_fpr_12 = aot_fpr_12 + aot_fpr_14;
|
|
if (branch_taken) {
|
|
goto L_089D4354;
|
|
}
|
|
goto L_089D4338;
|
|
}
|
|
L_089D4338:
|
|
aot_gpr_6 = (aot_gpr_6 + static_cast<std::uint32_t>(-5));
|
|
aot_gpr_6 = (aot_gpr_6 << 2u);
|
|
aot_gpr_6 = (aot_gpr_16 + aot_gpr_6);
|
|
aot_gpr_6 = (aot_gpr_6 + static_cast<std::uint32_t>(396));
|
|
aot_fpr_14 = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_6 + static_cast<std::uint32_t>(0)));
|
|
aot_fpr_14 = aot_fpr_13 - aot_fpr_14;
|
|
aot_fpr_12 = aot_fpr_12 + aot_fpr_14;
|
|
goto L_089D4354;
|
|
L_089D4354:
|
|
{ const bool branch_taken = aot_gpr_5 != 0u;
|
|
aot_mem.aot_direct_store32(aot_gpr_16 + static_cast<std::uint32_t>(380), std::bit_cast<std::uint32_t>(aot_fpr_12));
|
|
if (branch_taken) {
|
|
goto L_089D4368;
|
|
}
|
|
goto L_089D435C;
|
|
}
|
|
L_089D435C:
|
|
aot_gpr_5 = (0u | 5u);
|
|
aot_mem.aot_direct_store32(aot_gpr_16 + static_cast<std::uint32_t>(388), aot_gpr_5);
|
|
aot_gpr_5 = (0u | 5u);
|
|
goto L_089D4368;
|
|
L_089D4368:
|
|
aot_gpr_5 = (aot_gpr_5 + static_cast<std::uint32_t>(-1));
|
|
{ const bool branch_taken = aot_gpr_4 != 0u;
|
|
aot_mem.aot_direct_store32(aot_gpr_16 + static_cast<std::uint32_t>(388), aot_gpr_5);
|
|
if (branch_taken) {
|
|
goto L_089D4380;
|
|
}
|
|
goto L_089D4374;
|
|
}
|
|
L_089D4374:
|
|
aot_gpr_4 = (0u | 5u);
|
|
aot_mem.aot_direct_store32(aot_gpr_16 + static_cast<std::uint32_t>(384), aot_gpr_4);
|
|
aot_gpr_4 = (0u | 5u);
|
|
goto L_089D4380;
|
|
L_089D4380:
|
|
aot_gpr_6 = (aot_gpr_4 + static_cast<std::uint32_t>(-1));
|
|
aot_mem.aot_direct_store32(aot_gpr_16 + static_cast<std::uint32_t>(384), aot_gpr_6);
|
|
aot_gpr_4 = (aot_gpr_6 << 2u);
|
|
{ const bool branch_taken = aot_gpr_6 == aot_gpr_5;
|
|
aot_gpr_4 = (aot_gpr_16 + aot_gpr_4);
|
|
if (branch_taken) {
|
|
goto L_089D43A4;
|
|
}
|
|
goto L_089D4394;
|
|
}
|
|
L_089D4394:
|
|
aot_gpr_5 = (aot_gpr_5 << 2u);
|
|
aot_gpr_5 = (aot_gpr_16 + aot_gpr_5);
|
|
aot_fpr_12 = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast<std::uint32_t>(396)));
|
|
aot_mem.aot_direct_store32(aot_gpr_4 + static_cast<std::uint32_t>(396), std::bit_cast<std::uint32_t>(aot_fpr_12));
|
|
goto L_089D43A4;
|
|
L_089D43A4:
|
|
{ const bool branch_taken = 0u == 0u;
|
|
aot_mem.aot_direct_store32(aot_gpr_4 + static_cast<std::uint32_t>(396), std::bit_cast<std::uint32_t>(aot_fpr_13));
|
|
if (branch_taken) {
|
|
goto L_089D43E0;
|
|
}
|
|
goto L_089D43AC;
|
|
}
|
|
L_089D43AC:
|
|
aot_fpr_12 = aot_fpr_12 + aot_fpr_13;
|
|
aot_mem.aot_direct_store32(aot_gpr_16 + static_cast<std::uint32_t>(380), std::bit_cast<std::uint32_t>(aot_fpr_12));
|
|
aot_gpr_5 = (aot_gpr_5 + static_cast<std::uint32_t>(1));
|
|
{ const bool branch_taken = aot_gpr_4 != 0u;
|
|
aot_mem.aot_direct_store32(aot_gpr_16 + static_cast<std::uint32_t>(392), aot_gpr_5);
|
|
if (branch_taken) {
|
|
goto L_089D43CC;
|
|
}
|
|
goto L_089D43C0;
|
|
}
|
|
L_089D43C0:
|
|
aot_gpr_4 = (0u | 5u);
|
|
aot_mem.aot_direct_store32(aot_gpr_16 + static_cast<std::uint32_t>(384), aot_gpr_4);
|
|
aot_gpr_4 = (0u | 5u);
|
|
goto L_089D43CC;
|
|
L_089D43CC:
|
|
aot_gpr_4 = (aot_gpr_4 + static_cast<std::uint32_t>(-1));
|
|
aot_mem.aot_direct_store32(aot_gpr_16 + static_cast<std::uint32_t>(384), aot_gpr_4);
|
|
aot_gpr_4 = (aot_gpr_4 << 2u);
|
|
aot_gpr_4 = (aot_gpr_16 + aot_gpr_4);
|
|
aot_mem.aot_direct_store32(aot_gpr_4 + static_cast<std::uint32_t>(396), std::bit_cast<std::uint32_t>(aot_fpr_13));
|
|
goto L_089D43E0;
|
|
L_089D43E0:
|
|
aot_mem.aot_direct_store32(aot_gpr_16 + static_cast<std::uint32_t>(420), std::bit_cast<std::uint32_t>(aot_fpr_13));
|
|
aot_gpr_4 = (2237u << 16u);
|
|
aot_gpr_4 = (aot_gpr_4 + static_cast<std::uint32_t>(-28736));
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast<std::uint32_t>(100)));
|
|
aot_gpr_4 = (aot_gpr_4 + static_cast<std::uint32_t>(96));
|
|
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_4 + static_cast<std::uint32_t>(0))))));
|
|
aot_mem.aot_direct_store16(aot_gpr_17 + static_cast<std::uint32_t>(0), static_cast<std::uint16_t>(aot_gpr_4));
|
|
ctx.gpr[2] = (aot_gpr_16 | 0u);
|
|
{ std::uint32_t aot_run_words[4]{};
|
|
aot_mem.aot_direct_load32_block(ctx.gpr[29] + static_cast<std::uint32_t>(4), aot_run_words);
|
|
aot_fpr_20 = std::bit_cast<float>(aot_run_words[0]);
|
|
aot_gpr_16 = aot_run_words[1];
|
|
aot_gpr_17 = aot_run_words[2];
|
|
aot_gpr_31 = aot_run_words[3];
|
|
}
|
|
jump_target = aot_gpr_31;
|
|
ctx.gpr[29] = (ctx.gpr[29] + static_cast<std::uint32_t>(32));
|
|
local_pc = jump_target;
|
|
if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; }
|
|
// PSPRECOMP_V812_SHARED_SCHED_JUMP
|
|
goto LOCAL_SCHED_BOUNDARY;
|
|
L_089D4418:
|
|
ctx.gpr[29] = (ctx.gpr[29] + static_cast<std::uint32_t>(-16));
|
|
{ const std::uint32_t aot_run_words[3]{aot_gpr_16, aot_gpr_17, aot_gpr_31};
|
|
aot_mem.aot_direct_store32_block(ctx.gpr[29] + static_cast<std::uint32_t>(0), aot_run_words); }
|
|
aot_gpr_17 = (aot_gpr_4 | 0u);
|
|
{ const bool branch_taken = aot_gpr_4 == 0u;
|
|
aot_gpr_16 = (aot_gpr_5 | 0u);
|
|
if (branch_taken) {
|
|
goto L_089D446C;
|
|
}
|
|
goto L_089D4434;
|
|
}
|
|
L_089D4434:
|
|
aot_gpr_4 = (2234u << 16u);
|
|
aot_gpr_4 = (aot_gpr_4 + static_cast<std::uint32_t>(25768));
|
|
aot_mem.aot_direct_store32(aot_gpr_17 + static_cast<std::uint32_t>(92), aot_gpr_4);
|
|
aot_gpr_4 = (ctx.gpr[28] + static_cast<std::uint32_t>(7768));
|
|
aot_gpr_31 = (0x089D444Cu);
|
|
aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast<std::uint32_t>(96)));
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0128_entry, 128u, 499u, 0x08A05F3Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D444Cu) goto L_089D444C;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
L_089D444C:
|
|
aot_gpr_4 = (aot_gpr_17 | 0u);
|
|
aot_gpr_31 = (0x089D4458u);
|
|
aot_gpr_5 = (0u | 0u);
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0034_entry, 34u, 573u, 0x0888FABCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D4458u) goto L_089D4458;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
L_089D4458:
|
|
aot_gpr_4 = (aot_gpr_16 & 1u);
|
|
{ const bool branch_taken = aot_gpr_4 == 0u;
|
|
if (branch_taken) {
|
|
goto L_089D446C;
|
|
}
|
|
goto L_089D4464;
|
|
}
|
|
L_089D4464:
|
|
aot_gpr_31 = (0x089D446Cu);
|
|
aot_gpr_4 = (aot_gpr_17 | 0u);
|
|
if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2C0, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_16, aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.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 == 0x089D446Cu) goto L_089D446C;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
L_089D446C:
|
|
{ std::uint32_t aot_run_words[3]{};
|
|
aot_mem.aot_direct_load32_block(ctx.gpr[29] + static_cast<std::uint32_t>(0), aot_run_words);
|
|
aot_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;
|
|
ctx.gpr[29] = (ctx.gpr[29] + static_cast<std::uint32_t>(16));
|
|
local_pc = jump_target;
|
|
if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; }
|
|
// PSPRECOMP_V812_SHARED_SCHED_JUMP
|
|
goto LOCAL_SCHED_BOUNDARY;
|
|
L_089D4480:
|
|
ctx.gpr[29] = (ctx.gpr[29] + static_cast<std::uint32_t>(-16));
|
|
{ const std::uint32_t aot_run_words[3]{aot_gpr_16, aot_gpr_17, aot_gpr_31};
|
|
aot_mem.aot_direct_store32_block(ctx.gpr[29] + static_cast<std::uint32_t>(0), aot_run_words); }
|
|
aot_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>(86))))));
|
|
aot_gpr_16 = (aot_gpr_4 | 0u);
|
|
{ const bool branch_taken = aot_gpr_6 == aot_gpr_5;
|
|
aot_gpr_17 = (aot_gpr_5 | 0u);
|
|
if (branch_taken) {
|
|
goto L_089D44B8;
|
|
}
|
|
goto L_089D44A0;
|
|
}
|
|
L_089D44A0:
|
|
aot_gpr_31 = (0x089D44A8u);
|
|
aot_gpr_4 = (aot_gpr_17 | 0u);
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0179_entry, 179u, 607u, 0x08AD3698u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D44A8u) goto L_089D44A8;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
L_089D44A8:
|
|
{ const bool branch_taken = ctx.gpr[2] == 0u;
|
|
if (branch_taken) {
|
|
goto L_089D44C0;
|
|
}
|
|
goto L_089D44B0;
|
|
}
|
|
L_089D44B0:
|
|
{ const bool branch_taken = 0u == 0u;
|
|
if (branch_taken) {
|
|
goto L_089D44D8;
|
|
}
|
|
goto L_089D44B8;
|
|
}
|
|
L_089D44B8:
|
|
{ const bool branch_taken = 0u == 0u;
|
|
if (branch_taken) {
|
|
goto L_089D45A4;
|
|
}
|
|
goto L_089D44C0;
|
|
}
|
|
L_089D44C0:
|
|
aot_gpr_4 = (aot_gpr_17 | 0u);
|
|
aot_gpr_5 = (0u | 4u);
|
|
aot_gpr_31 = (0x089D44D0u);
|
|
aot_gpr_6 = (0u | 0u);
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0179_entry, 179u, 546u, 0x08AD3258u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D44D0u) goto L_089D44D0;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
L_089D44D0:
|
|
aot_gpr_31 = (0x089D44D8u);
|
|
aot_gpr_4 = (0u | 0u);
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0179_entry, 179u, 598u, 0x08AD3610u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D44D8u) goto L_089D44D8;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
L_089D44D8:
|
|
aot_gpr_4 = (aot_gpr_16 | 0u);
|
|
aot_gpr_31 = (0x089D44E4u);
|
|
aot_gpr_5 = (aot_gpr_17 | 0u);
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0178_entry, 178u, 1055u, 0x08ACFA70u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D44E4u) goto L_089D44E4;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
L_089D44E4:
|
|
aot_gpr_31 = (0x089D44ECu);
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(80)));
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0026_entry, 26u, 171u, 0x0886D308u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D44ECu) goto L_089D44EC;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
L_089D44EC:
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(80)));
|
|
aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(352)));
|
|
aot_gpr_31 = (0x089D44FCu);
|
|
aot_gpr_5 = (aot_gpr_5 + static_cast<std::uint32_t>(140));
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0026_entry, 26u, 140u, 0x0886CFF8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D44FCu) goto L_089D44FC;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
L_089D44FC:
|
|
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_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;
|
|
aot_gpr_17 = (0u | 0u);
|
|
if (branch_taken) {
|
|
goto L_089D4520;
|
|
}
|
|
goto L_089D4510;
|
|
}
|
|
L_089D4510:
|
|
aot_gpr_4 = (aot_gpr_4 << 2u);
|
|
aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(24)));
|
|
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_089D4520;
|
|
L_089D4520:
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast<std::uint32_t>(56)));
|
|
aot_gpr_4 = (aot_gpr_4 << 2u);
|
|
aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(7588)));
|
|
aot_gpr_4 = (aot_gpr_5 + aot_gpr_4);
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast<std::uint32_t>(0)));
|
|
aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(352)));
|
|
aot_mem.aot_direct_store32(aot_gpr_5 + static_cast<std::uint32_t>(128), aot_gpr_4);
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(352)));
|
|
aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast<std::uint32_t>(128)));
|
|
aot_fpr_12 = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast<std::uint32_t>(8)));
|
|
aot_mem.aot_direct_store32(aot_gpr_4 + static_cast<std::uint32_t>(132), std::bit_cast<std::uint32_t>(aot_fpr_12));
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast<std::uint32_t>(48)));
|
|
aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(352)));
|
|
aot_mem.aot_direct_store32(aot_gpr_5 + static_cast<std::uint32_t>(136), aot_gpr_4);
|
|
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_089D4570;
|
|
}
|
|
goto L_089D4564;
|
|
L_089D4564:
|
|
aot_gpr_31 = (0x089D456Cu);
|
|
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 == 0x089D456Cu) goto L_089D456C;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
L_089D456C:
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(5836)));
|
|
goto L_089D4570;
|
|
L_089D4570:
|
|
aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(80)));
|
|
aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(352)));
|
|
aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_6 + static_cast<std::uint32_t>(136)));
|
|
aot_gpr_31 = (0x089D4584u);
|
|
ctx.gpr[7] = (0u | 6u);
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0078_entry, 78u, 635u, 0x0893E914u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D4584u) goto L_089D4584;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
L_089D4584:
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(80)));
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast<std::uint32_t>(24)));
|
|
aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(352)));
|
|
aot_gpr_5 = (aot_gpr_5 + static_cast<std::uint32_t>(220));
|
|
aot_mem.aot_direct_store32(aot_gpr_4 + static_cast<std::uint32_t>(12), aot_gpr_5);
|
|
aot_gpr_5 = (aot_gpr_16 + static_cast<std::uint32_t>(424));
|
|
aot_gpr_31 = (0x089D45A4u);
|
|
aot_gpr_4 = (aot_gpr_17 | 0u);
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0063_entry, 63u, 611u, 0x089034E8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D45A4u) goto L_089D45A4;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
L_089D45A4:
|
|
{ std::uint32_t aot_run_words[3]{};
|
|
aot_mem.aot_direct_load32_block(ctx.gpr[29] + static_cast<std::uint32_t>(0), aot_run_words);
|
|
aot_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;
|
|
ctx.gpr[29] = (ctx.gpr[29] + static_cast<std::uint32_t>(16));
|
|
local_pc = jump_target;
|
|
if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; }
|
|
// PSPRECOMP_V812_SHARED_SCHED_JUMP
|
|
goto LOCAL_SCHED_BOUNDARY;
|
|
L_089D45B8:
|
|
ctx.gpr[29] = (ctx.gpr[29] + static_cast<std::uint32_t>(-144));
|
|
{ const std::uint32_t aot_run_words[6]{std::bit_cast<std::uint32_t>(aot_fpr_20), aot_gpr_16, aot_gpr_17, ctx.gpr[18], ctx.gpr[19], aot_gpr_31};
|
|
aot_mem.aot_direct_store32_block(ctx.gpr[29] + static_cast<std::uint32_t>(112), aot_run_words); }
|
|
aot_gpr_16 = (aot_gpr_4 | 0u);
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(352)));
|
|
aot_gpr_4 = (aot_gpr_4 + static_cast<std::uint32_t>(10));
|
|
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_4 + static_cast<std::uint32_t>(0))))));
|
|
aot_mem.aot_direct_store16(ctx.gpr[29] + static_cast<std::uint32_t>(16), static_cast<std::uint16_t>(aot_gpr_4));
|
|
aot_gpr_4 = (2237u << 16u);
|
|
aot_gpr_4 = (aot_gpr_4 + static_cast<std::uint32_t>(-28736));
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast<std::uint32_t>(84)));
|
|
aot_gpr_4 = (aot_gpr_4 << 16u);
|
|
aot_gpr_4 = (static_cast<std::uint32_t>(static_cast<std::int32_t>(aot_gpr_4) >> 16u));
|
|
aot_gpr_4 = (aot_gpr_4 << 16u);
|
|
aot_gpr_4 = (static_cast<std::uint32_t>(static_cast<std::int32_t>(aot_gpr_4) >> 16u));
|
|
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[29] + static_cast<std::uint32_t>(16))))));
|
|
aot_gpr_4 = (aot_gpr_5 - aot_gpr_4);
|
|
aot_mem.aot_direct_store16(ctx.gpr[29] + static_cast<std::uint32_t>(82), static_cast<std::uint16_t>(aot_gpr_4));
|
|
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[29] + static_cast<std::uint32_t>(82))))));
|
|
aot_mem.aot_direct_store16(ctx.gpr[29] + static_cast<std::uint32_t>(18), static_cast<std::uint16_t>(aot_gpr_4));
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(352)));
|
|
aot_gpr_31 = (0x089D4624u);
|
|
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[29] + static_cast<std::uint32_t>(18))))));
|
|
goto L_089D4210;
|
|
L_089D4624:
|
|
aot_gpr_31 = (0x089D462Cu);
|
|
aot_gpr_4 = (aot_gpr_16 | 0u);
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0179_entry, 179u, 73u, 0x08AD06ACu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D462Cu) goto L_089D462C;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
L_089D462C:
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(352)));
|
|
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[29] + static_cast<std::uint32_t>(18))))));
|
|
aot_mem.aot_direct_store16(ctx.gpr[29] + static_cast<std::uint32_t>(86), static_cast<std::uint16_t>(aot_gpr_5));
|
|
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[29] + static_cast<std::uint32_t>(86))))));
|
|
aot_gpr_31 = (0x089D4644u);
|
|
aot_gpr_6 = (0u | 0u);
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0166_entry, 166u, 47u, 0x08A9C6FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D4644u) goto L_089D4644;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
L_089D4644:
|
|
aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[2] + static_cast<std::uint32_t>(336)));
|
|
{ const bool branch_taken = aot_gpr_4 == 0u;
|
|
if (branch_taken) {
|
|
goto L_089D46A4;
|
|
}
|
|
goto L_089D4650;
|
|
}
|
|
L_089D4650:
|
|
aot_gpr_31 = (0x089D4658u);
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(80)));
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0038_entry, 38u, 621u, 0x0889EB08u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D4658u) goto L_089D4658;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
L_089D4658:
|
|
aot_gpr_17 = (ctx.gpr[2] | 0u);
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(352)));
|
|
aot_gpr_4 = (aot_gpr_4 + static_cast<std::uint32_t>(140));
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast<std::uint32_t>(8)));
|
|
aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast<std::uint32_t>(20)));
|
|
aot_gpr_31 = (0x089D4674u);
|
|
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_08969194, 89u, 251u, 0x08969194u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0089_entry, 89u, 251u, 0x08969194u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D4674u) goto L_089D4674;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
L_089D4674:
|
|
aot_gpr_4 = (aot_gpr_17 | 0u);
|
|
aot_gpr_31 = (0x089D4680u);
|
|
aot_gpr_17 = (ctx.gpr[2] | 0u);
|
|
if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0896918C, 89u, 250u, 0x0896918Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0089_entry, 89u, 250u, 0x0896918Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D4680u) goto L_089D4680;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
L_089D4680:
|
|
aot_gpr_4 = (aot_gpr_17 << 6u);
|
|
aot_gpr_4 = (ctx.gpr[2] + aot_gpr_4);
|
|
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(ctx.gpr[29] + static_cast<std::uint32_t>(20), aot_run_words); }
|
|
aot_gpr_5 = (ctx.gpr[29] + static_cast<std::uint32_t>(20));
|
|
aot_gpr_31 = (0x089D46A4u);
|
|
aot_gpr_6 = (0u | 1u);
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0117_entry, 117u, 151u, 0x089D8C6Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D46A4u) goto L_089D46A4;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
L_089D46A4:
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(352)));
|
|
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[29] + static_cast<std::uint32_t>(18))))));
|
|
aot_mem.aot_direct_store16(ctx.gpr[29] + static_cast<std::uint32_t>(88), static_cast<std::uint16_t>(aot_gpr_5));
|
|
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[29] + static_cast<std::uint32_t>(88))))));
|
|
aot_gpr_31 = (0x089D46BCu);
|
|
aot_gpr_6 = (0u | 0u);
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0166_entry, 166u, 47u, 0x08A9C6FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D46BCu) goto L_089D46BC;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
L_089D46BC:
|
|
aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[2] + static_cast<std::uint32_t>(336)));
|
|
{ const bool branch_taken = aot_gpr_4 == 0u;
|
|
if (branch_taken) {
|
|
goto L_089D47DC;
|
|
}
|
|
goto L_089D46C8;
|
|
}
|
|
L_089D46C8:
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(352)));
|
|
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[29] + static_cast<std::uint32_t>(18))))));
|
|
aot_mem.aot_direct_store16(ctx.gpr[29] + static_cast<std::uint32_t>(90), static_cast<std::uint16_t>(aot_gpr_5));
|
|
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[29] + static_cast<std::uint32_t>(90))))));
|
|
aot_gpr_31 = (0x089D46E0u);
|
|
aot_gpr_6 = (0u | 0u);
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0166_entry, 166u, 47u, 0x08A9C6FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D46E0u) goto L_089D46E0;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
L_089D46E0:
|
|
aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[2] + static_cast<std::uint32_t>(337)));
|
|
{ const bool branch_taken = aot_gpr_4 == 0u;
|
|
if (branch_taken) {
|
|
goto L_089D47DC;
|
|
}
|
|
goto L_089D46EC;
|
|
}
|
|
L_089D46EC:
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(7764)));
|
|
aot_gpr_4 = (aot_gpr_4 & 7u);
|
|
aot_gpr_4 = (aot_gpr_4 < static_cast<std::uint32_t>(4) ? 1u : 0u);
|
|
{ const bool branch_taken = aot_gpr_4 != 0u;
|
|
if (branch_taken) {
|
|
goto L_089D47DC;
|
|
}
|
|
goto L_089D4700;
|
|
}
|
|
L_089D4700:
|
|
aot_fpr_20 = std::bit_cast<float>(0u);
|
|
{ const std::uint32_t aot_run_words[3]{std::bit_cast<std::uint32_t>(aot_fpr_20), std::bit_cast<std::uint32_t>(aot_fpr_20), std::bit_cast<std::uint32_t>(aot_fpr_20)};
|
|
aot_mem.aot_direct_store32_block(ctx.gpr[29] + static_cast<std::uint32_t>(48), aot_run_words); }
|
|
ctx.gpr[18] = (ctx.gpr[29] + static_cast<std::uint32_t>(48));
|
|
{ const std::uint32_t aot_run_words[3]{std::bit_cast<std::uint32_t>(aot_fpr_20), std::bit_cast<std::uint32_t>(aot_fpr_20), std::bit_cast<std::uint32_t>(aot_fpr_20)};
|
|
aot_mem.aot_direct_store32_block(ctx.gpr[29] + static_cast<std::uint32_t>(64), aot_run_words); }
|
|
aot_gpr_17 = (ctx.gpr[29] + static_cast<std::uint32_t>(64));
|
|
aot_gpr_31 = (0x089D472Cu);
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(80)));
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0038_entry, 38u, 621u, 0x0889EB08u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D472Cu) goto L_089D472C;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
L_089D472C:
|
|
ctx.gpr[19] = (ctx.gpr[2] | 0u);
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(352)));
|
|
aot_gpr_4 = (aot_gpr_4 + static_cast<std::uint32_t>(140));
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast<std::uint32_t>(8)));
|
|
aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast<std::uint32_t>(20)));
|
|
aot_gpr_31 = (0x089D4748u);
|
|
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_08969194, 89u, 251u, 0x08969194u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0089_entry, 89u, 251u, 0x08969194u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D4748u) goto L_089D4748;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
L_089D4748:
|
|
aot_gpr_4 = (ctx.gpr[19] | 0u);
|
|
aot_gpr_31 = (0x089D4754u);
|
|
ctx.gpr[19] = (ctx.gpr[2] | 0u);
|
|
if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0896918C, 89u, 250u, 0x0896918Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0089_entry, 89u, 250u, 0x0896918Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D4754u) goto L_089D4754;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
L_089D4754:
|
|
ctx.gpr[7] = (ctx.gpr[19] << 6u);
|
|
ctx.gpr[7] = (ctx.gpr[2] + ctx.gpr[7]);
|
|
aot_gpr_4 = (ctx.gpr[18] | 0u);
|
|
aot_gpr_5 = (ctx.gpr[18] | 0u);
|
|
aot_gpr_31 = (0x089D476Cu);
|
|
aot_gpr_6 = (0u | 1u);
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 239u, 0x088619ACu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D476Cu) goto L_089D476C;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
L_089D476C:
|
|
aot_gpr_4 = (15820u << 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_16 + static_cast<std::uint32_t>(32));
|
|
{ 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 = (ctx.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); }
|
|
{ float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value);
|
|
const std::uint32_t vfpu_address = aot_gpr_17 + 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_16 = (0u | 0u);
|
|
goto L_089D47A0;
|
|
L_089D47A0:
|
|
aot_gpr_4 = (0u | 8u);
|
|
aot_gpr_5 = (ctx.gpr[18] | 0u);
|
|
aot_gpr_6 = (aot_gpr_17 | 0u);
|
|
ctx.gpr[7] = (0u | 0u);
|
|
aot_fpr_12 = std::bit_cast<float>(std::bit_cast<std::uint32_t>(aot_fpr_20));
|
|
ctx.gpr[8] = (0u | 0u);
|
|
ctx.gpr[9] = (0u | 0u);
|
|
ctx.gpr[10] = (0u | 0u);
|
|
aot_gpr_31 = (0x089D47C8u);
|
|
ctx.gpr[11] = (0u | 0u);
|
|
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 == 0x089D47C8u) goto L_089D47C8;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
L_089D47C8:
|
|
aot_gpr_16 = (aot_gpr_16 + static_cast<std::uint32_t>(1));
|
|
aot_gpr_16 = (aot_gpr_16 & 255u);
|
|
aot_gpr_4 = (static_cast<std::int32_t>(aot_gpr_16) < 4 ? 1u : 0u);
|
|
{ const bool branch_taken = aot_gpr_4 != 0u;
|
|
if (branch_taken) {
|
|
goto L_089D47A0;
|
|
}
|
|
goto L_089D47DC;
|
|
}
|
|
L_089D47DC:
|
|
{ std::uint32_t aot_run_words[6]{};
|
|
aot_mem.aot_direct_load32_block(ctx.gpr[29] + static_cast<std::uint32_t>(112), aot_run_words);
|
|
aot_fpr_20 = std::bit_cast<float>(aot_run_words[0]);
|
|
aot_gpr_16 = aot_run_words[1];
|
|
aot_gpr_17 = aot_run_words[2];
|
|
ctx.gpr[18] = aot_run_words[3];
|
|
ctx.gpr[19] = aot_run_words[4];
|
|
aot_gpr_31 = aot_run_words[5];
|
|
}
|
|
jump_target = aot_gpr_31;
|
|
ctx.gpr[29] = (ctx.gpr[29] + static_cast<std::uint32_t>(144));
|
|
local_pc = jump_target;
|
|
if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; }
|
|
// PSPRECOMP_V812_SHARED_SCHED_JUMP
|
|
goto LOCAL_SCHED_BOUNDARY;
|
|
L_089D47FC:
|
|
ctx.gpr[29] = (ctx.gpr[29] + static_cast<std::uint32_t>(-48));
|
|
{ const std::uint32_t aot_run_words[4]{aot_gpr_16, aot_gpr_17, ctx.gpr[18], aot_gpr_31};
|
|
aot_mem.aot_direct_store32_block(ctx.gpr[29] + static_cast<std::uint32_t>(28), aot_run_words); }
|
|
aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast<std::uint32_t>(76)));
|
|
aot_gpr_5 = (aot_gpr_5 & 1024u);
|
|
aot_gpr_17 = (aot_gpr_4 + static_cast<std::uint32_t>(418));
|
|
{ const bool branch_taken = aot_gpr_5 != 0u;
|
|
aot_gpr_16 = (aot_gpr_4 | 0u);
|
|
if (branch_taken) {
|
|
goto L_089D4848;
|
|
}
|
|
goto L_089D4824;
|
|
}
|
|
L_089D4824:
|
|
aot_gpr_31 = (0x089D482Cu);
|
|
aot_gpr_4 = (aot_gpr_16 | 0u);
|
|
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 == 0x089D482Cu) goto L_089D482C;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
L_089D482C:
|
|
aot_gpr_4 = (ctx.gpr[2] < static_cast<std::uint32_t>(1) ? 1u : 0u);
|
|
aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(76)));
|
|
aot_gpr_6 = (0u + static_cast<std::uint32_t>(-1025));
|
|
aot_gpr_5 = (aot_gpr_5 & aot_gpr_6);
|
|
aot_gpr_4 = (aot_gpr_4 << 10u);
|
|
aot_gpr_4 = (aot_gpr_5 | aot_gpr_4);
|
|
aot_mem.aot_direct_store32(aot_gpr_16 + static_cast<std::uint32_t>(76), aot_gpr_4);
|
|
goto L_089D4848;
|
|
L_089D4848:
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(352)));
|
|
aot_gpr_5 = (aot_gpr_4 + static_cast<std::uint32_t>(10));
|
|
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_5 + static_cast<std::uint32_t>(0))))));
|
|
aot_mem.aot_direct_store16(ctx.gpr[29] + static_cast<std::uint32_t>(16), static_cast<std::uint16_t>(aot_gpr_5));
|
|
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_17 + static_cast<std::uint32_t>(0))))));
|
|
aot_mem.aot_direct_store16(ctx.gpr[29] + static_cast<std::uint32_t>(20), static_cast<std::uint16_t>(aot_gpr_5));
|
|
ctx.gpr[18] = (static_cast<std::uint32_t>(static_cast<std::int32_t>(static_cast<std::int16_t>(aot_mem.aot_direct_load16(ctx.gpr[29] + static_cast<std::uint32_t>(16))))));
|
|
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[29] + static_cast<std::uint32_t>(20))))));
|
|
aot_gpr_5 = (ctx.gpr[18] ^ aot_gpr_5);
|
|
aot_gpr_5 = (aot_gpr_5 < static_cast<std::uint32_t>(1) ? 1u : 0u);
|
|
aot_gpr_5 = (aot_gpr_5 & 255u);
|
|
aot_gpr_5 = (aot_gpr_5 < static_cast<std::uint32_t>(1) ? 1u : 0u);
|
|
aot_gpr_5 = (aot_gpr_5 & 255u);
|
|
{ const bool branch_taken = aot_gpr_5 == 0u;
|
|
if (branch_taken) {
|
|
goto L_089D4928;
|
|
}
|
|
goto L_089D4884;
|
|
}
|
|
L_089D4884:
|
|
aot_mem.aot_direct_store16(ctx.gpr[29] + static_cast<std::uint32_t>(22), static_cast<std::uint16_t>(ctx.gpr[18]));
|
|
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[29] + static_cast<std::uint32_t>(22))))));
|
|
aot_gpr_31 = (0x089D4894u);
|
|
aot_gpr_6 = (0u | 0u);
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0166_entry, 166u, 47u, 0x08A9C6FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D4894u) goto L_089D4894;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
L_089D4894:
|
|
aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[2] + static_cast<std::uint32_t>(214)));
|
|
{ const bool branch_taken = aot_gpr_4 == 0u;
|
|
if (branch_taken) {
|
|
goto L_089D48D8;
|
|
}
|
|
goto L_089D48A0;
|
|
}
|
|
L_089D48A0:
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(352)));
|
|
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[29] + static_cast<std::uint32_t>(16))))));
|
|
aot_gpr_6 = (16256u << 16u);
|
|
aot_gpr_31 = (0x089D48B4u);
|
|
aot_fpr_12 = std::bit_cast<float>(aot_gpr_6);
|
|
goto L_089D730C;
|
|
L_089D48B4:
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(80)));
|
|
aot_fpr_12 = std::bit_cast<float>(0u);
|
|
aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(76)));
|
|
aot_gpr_5 = (aot_gpr_5 & 1024u);
|
|
aot_gpr_5 = (aot_gpr_5 < static_cast<std::uint32_t>(1) ? 1u : 0u);
|
|
aot_gpr_31 = (0x089D48D0u);
|
|
aot_gpr_5 = (aot_gpr_5 & 255u);
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0018_entry, 18u, 148u, 0x0884CC80u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D48D0u) goto L_089D48D0;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
L_089D48D0:
|
|
{ const bool branch_taken = 0u == 0u;
|
|
if (branch_taken) {
|
|
goto L_089D4924;
|
|
}
|
|
goto L_089D48D8;
|
|
}
|
|
L_089D48D8:
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(80)));
|
|
aot_mem.aot_direct_store16(ctx.gpr[29] + static_cast<std::uint32_t>(24), static_cast<std::uint16_t>(ctx.gpr[18]));
|
|
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_17 + static_cast<std::uint32_t>(0))))));
|
|
aot_mem.aot_direct_store16(ctx.gpr[29] + static_cast<std::uint32_t>(26), static_cast<std::uint16_t>(aot_gpr_5));
|
|
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[29] + static_cast<std::uint32_t>(24))))));
|
|
aot_gpr_6 = (static_cast<std::uint32_t>(static_cast<std::int32_t>(static_cast<std::int16_t>(aot_mem.aot_direct_load16(ctx.gpr[29] + static_cast<std::uint32_t>(26))))));
|
|
aot_gpr_5 = (aot_gpr_5 - aot_gpr_6);
|
|
aot_gpr_5 = (aot_gpr_5 << 16u);
|
|
aot_gpr_5 = (static_cast<std::uint32_t>(static_cast<std::int32_t>(aot_gpr_5) >> 16u));
|
|
aot_fpr_12 = std::bit_cast<float>(aot_gpr_5);
|
|
aot_fpr_12 = static_cast<float>(static_cast<std::int32_t>(std::bit_cast<std::uint32_t>(aot_fpr_12)));
|
|
aot_gpr_5 = (17008u << 16u);
|
|
aot_fpr_13 = std::bit_cast<float>(aot_gpr_5);
|
|
aot_fpr_12 = aot_fpr_12 / aot_fpr_13;
|
|
aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(76)));
|
|
aot_gpr_5 = (aot_gpr_5 & 1024u);
|
|
aot_gpr_5 = (aot_gpr_5 < static_cast<std::uint32_t>(1) ? 1u : 0u);
|
|
aot_gpr_31 = (0x089D4924u);
|
|
aot_gpr_5 = (aot_gpr_5 & 255u);
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0018_entry, 18u, 148u, 0x0884CC80u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D4924u) goto L_089D4924;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
L_089D4924:
|
|
aot_mem.aot_direct_store16(aot_gpr_17 + static_cast<std::uint32_t>(0), static_cast<std::uint16_t>(ctx.gpr[18]));
|
|
goto L_089D4928;
|
|
L_089D4928:
|
|
{ std::uint32_t aot_run_words[4]{};
|
|
aot_mem.aot_direct_load32_block(ctx.gpr[29] + static_cast<std::uint32_t>(28), aot_run_words);
|
|
aot_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;
|
|
ctx.gpr[29] = (ctx.gpr[29] + static_cast<std::uint32_t>(48));
|
|
local_pc = jump_target;
|
|
if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; }
|
|
// PSPRECOMP_V812_SHARED_SCHED_JUMP
|
|
goto LOCAL_SCHED_BOUNDARY;
|
|
L_089D4940:
|
|
ctx.gpr[29] = (ctx.gpr[29] + static_cast<std::uint32_t>(-16));
|
|
{ const std::uint32_t aot_run_words[3]{aot_gpr_16, aot_gpr_17, aot_gpr_31};
|
|
aot_mem.aot_direct_store32_block(ctx.gpr[29] + static_cast<std::uint32_t>(0), aot_run_words); }
|
|
aot_gpr_6 = (0u + static_cast<std::uint32_t>(-1));
|
|
{ const bool branch_taken = aot_gpr_5 == aot_gpr_6;
|
|
aot_gpr_16 = (aot_gpr_4 | 0u);
|
|
if (branch_taken) {
|
|
goto L_089D4974;
|
|
}
|
|
goto L_089D495C;
|
|
}
|
|
L_089D495C:
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(7656)));
|
|
aot_gpr_4 = (static_cast<std::int32_t>(aot_gpr_5) < static_cast<std::int32_t>(aot_gpr_4) ? 1u : 0u);
|
|
{ const bool branch_taken = aot_gpr_4 != 0u;
|
|
aot_gpr_17 = (0u | 0u);
|
|
if (branch_taken) {
|
|
goto L_089D497C;
|
|
}
|
|
goto L_089D496C;
|
|
}
|
|
L_089D496C:
|
|
{ const bool branch_taken = 0u == 0u;
|
|
if (branch_taken) {
|
|
goto L_089D498C;
|
|
}
|
|
goto L_089D4974;
|
|
}
|
|
L_089D4974:
|
|
{ const bool branch_taken = 0u == 0u;
|
|
if (branch_taken) {
|
|
goto L_089D49C8;
|
|
}
|
|
goto L_089D497C;
|
|
}
|
|
L_089D497C:
|
|
aot_gpr_4 = (aot_gpr_5 << 2u);
|
|
aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(24)));
|
|
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_089D498C;
|
|
L_089D498C:
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(372)));
|
|
{ const bool branch_taken = aot_gpr_4 == 0u;
|
|
if (branch_taken) {
|
|
goto L_089D49A4;
|
|
}
|
|
goto L_089D4998;
|
|
}
|
|
L_089D4998:
|
|
aot_gpr_4 = (aot_gpr_16 | 0u);
|
|
aot_gpr_31 = (0x089D49A4u);
|
|
aot_gpr_5 = (0u + static_cast<std::uint32_t>(-1));
|
|
goto L_089D49DC;
|
|
L_089D49A4:
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast<std::uint32_t>(36)));
|
|
aot_gpr_5 = (aot_gpr_4 + static_cast<std::uint32_t>(32));
|
|
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_5 + static_cast<std::uint32_t>(0))))));
|
|
aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast<std::uint32_t>(4)));
|
|
jump_target = aot_gpr_5;
|
|
aot_gpr_31 = (0x089D49BCu);
|
|
aot_gpr_4 = (aot_gpr_17 + aot_gpr_4);
|
|
ctx.pc = jump_target;
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D49BCu) goto L_089D49BC;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
L_089D49BC:
|
|
aot_mem.aot_direct_store32(aot_gpr_16 + static_cast<std::uint32_t>(372), ctx.gpr[2]);
|
|
aot_gpr_31 = (0x089D49C8u);
|
|
aot_gpr_4 = (aot_gpr_17 | 0u);
|
|
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 == 0x089D49C8u) goto L_089D49C8;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
L_089D49C8:
|
|
{ std::uint32_t aot_run_words[3]{};
|
|
aot_mem.aot_direct_load32_block(ctx.gpr[29] + static_cast<std::uint32_t>(0), aot_run_words);
|
|
aot_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;
|
|
ctx.gpr[29] = (ctx.gpr[29] + static_cast<std::uint32_t>(16));
|
|
local_pc = jump_target;
|
|
if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; }
|
|
// PSPRECOMP_V812_SHARED_SCHED_JUMP
|
|
goto LOCAL_SCHED_BOUNDARY;
|
|
L_089D49DC:
|
|
ctx.gpr[29] = (ctx.gpr[29] + static_cast<std::uint32_t>(-16));
|
|
{ const std::uint32_t aot_run_words[3]{aot_gpr_16, aot_gpr_17, aot_gpr_31};
|
|
aot_mem.aot_direct_store32_block(ctx.gpr[29] + static_cast<std::uint32_t>(0), aot_run_words); }
|
|
aot_gpr_17 = (aot_gpr_4 | 0u);
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast<std::uint32_t>(372)));
|
|
{ const bool branch_taken = aot_gpr_4 == 0u;
|
|
aot_gpr_16 = (aot_gpr_5 | 0u);
|
|
if (branch_taken) {
|
|
goto L_089D4A68;
|
|
}
|
|
goto L_089D49FC;
|
|
}
|
|
L_089D49FC:
|
|
aot_gpr_5 = (0u + static_cast<std::uint32_t>(-1));
|
|
{ const bool branch_taken = aot_gpr_16 == aot_gpr_5;
|
|
if (branch_taken) {
|
|
goto L_089D4A3C;
|
|
}
|
|
goto L_089D4A08;
|
|
}
|
|
L_089D4A08:
|
|
aot_gpr_31 = (0x089D4A10u);
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0080_entry, 80u, 180u, 0x08945288u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D4A10u) goto L_089D4A10;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
L_089D4A10:
|
|
aot_gpr_5 = (ctx.gpr[2] | 0u);
|
|
aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(7656)));
|
|
aot_gpr_6 = (static_cast<std::int32_t>(aot_gpr_16) < static_cast<std::int32_t>(aot_gpr_6) ? 1u : 0u);
|
|
{ const bool branch_taken = aot_gpr_6 == 0u;
|
|
aot_gpr_4 = (0u | 0u);
|
|
if (branch_taken) {
|
|
goto L_089D4A34;
|
|
}
|
|
goto L_089D4A24;
|
|
}
|
|
L_089D4A24:
|
|
aot_gpr_4 = (aot_gpr_16 << 2u);
|
|
aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(24)));
|
|
aot_gpr_4 = (aot_gpr_6 + aot_gpr_4);
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast<std::uint32_t>(0)));
|
|
goto L_089D4A34;
|
|
L_089D4A34:
|
|
{ const bool branch_taken = aot_gpr_5 != aot_gpr_4;
|
|
if (branch_taken) {
|
|
goto L_089D4A68;
|
|
}
|
|
goto L_089D4A3C;
|
|
}
|
|
L_089D4A3C:
|
|
aot_gpr_31 = (0x089D4A44u);
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast<std::uint32_t>(372)));
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0080_entry, 80u, 180u, 0x08945288u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D4A44u) goto L_089D4A44;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
L_089D4A44:
|
|
aot_gpr_31 = (0x089D4A4Cu);
|
|
aot_gpr_4 = (ctx.gpr[2] | 0u);
|
|
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 == 0x089D4A4Cu) goto L_089D4A4C;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
L_089D4A4C:
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast<std::uint32_t>(372)));
|
|
aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast<std::uint32_t>(4)));
|
|
aot_gpr_31 = (0x089D4A5Cu);
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0085_entry, 85u, 518u, 0x0895B97Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D4A5Cu) goto L_089D4A5C;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
L_089D4A5C:
|
|
aot_gpr_31 = (0x089D4A64u);
|
|
aot_gpr_4 = (aot_gpr_16 | 0u);
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0091_entry, 91u, 658u, 0x089730ACu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D4A64u) goto L_089D4A64;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
L_089D4A64:
|
|
aot_mem.aot_direct_store32(aot_gpr_17 + static_cast<std::uint32_t>(372), 0u);
|
|
goto L_089D4A68;
|
|
L_089D4A68:
|
|
{ std::uint32_t aot_run_words[3]{};
|
|
aot_mem.aot_direct_load32_block(ctx.gpr[29] + static_cast<std::uint32_t>(0), aot_run_words);
|
|
aot_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;
|
|
ctx.gpr[29] = (ctx.gpr[29] + static_cast<std::uint32_t>(16));
|
|
local_pc = jump_target;
|
|
if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; }
|
|
// PSPRECOMP_V812_SHARED_SCHED_JUMP
|
|
goto LOCAL_SCHED_BOUNDARY;
|
|
L_089D4A7C:
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast<std::uint32_t>(352)));
|
|
aot_gpr_6 = (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>(3))))));
|
|
ctx.gpr[7] = (2237u << 16u);
|
|
ctx.gpr[7] = (ctx.gpr[7] + static_cast<std::uint32_t>(-28736));
|
|
ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[7] + static_cast<std::uint32_t>(100)));
|
|
ctx.gpr[7] = (aot_mem.aot_direct_load16(ctx.gpr[7] + static_cast<std::uint32_t>(52)));
|
|
aot_gpr_6 = (aot_gpr_6 ^ ctx.gpr[7]);
|
|
aot_gpr_6 = (aot_gpr_6 < static_cast<std::uint32_t>(1) ? 1u : 0u);
|
|
aot_gpr_6 = (aot_gpr_6 & 255u);
|
|
{ const bool branch_taken = aot_gpr_6 == 0u;
|
|
aot_gpr_5 = (0u | 0u);
|
|
if (branch_taken) {
|
|
goto L_089D4ABC;
|
|
}
|
|
goto L_089D4AA8;
|
|
}
|
|
L_089D4AA8:
|
|
aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_4 + static_cast<std::uint32_t>(8)));
|
|
aot_gpr_6 = (0u | 1u);
|
|
{ const bool branch_taken = aot_gpr_4 != aot_gpr_6;
|
|
if (branch_taken) {
|
|
goto L_089D4ABC;
|
|
}
|
|
goto L_089D4AB8;
|
|
}
|
|
L_089D4AB8:
|
|
aot_gpr_5 = (0u | 1u);
|
|
goto L_089D4ABC;
|
|
L_089D4ABC:
|
|
jump_target = aot_gpr_31;
|
|
ctx.gpr[2] = (aot_gpr_5 & 255u);
|
|
local_pc = jump_target;
|
|
if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; }
|
|
// PSPRECOMP_V812_SHARED_SCHED_JUMP
|
|
goto LOCAL_SCHED_BOUNDARY;
|
|
L_089D4AC4:
|
|
ctx.gpr[29] = (ctx.gpr[29] + static_cast<std::uint32_t>(-16));
|
|
aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast<std::uint32_t>(0), aot_gpr_31);
|
|
aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast<std::uint32_t>(16), aot_gpr_6);
|
|
aot_gpr_5 = (aot_mem.aot_direct_load_word_right(aot_gpr_4 + static_cast<std::uint32_t>(3), aot_gpr_5));
|
|
aot_gpr_5 = (aot_mem.aot_direct_load_word_left(aot_gpr_4 + static_cast<std::uint32_t>(6), aot_gpr_5));
|
|
aot_gpr_4 = (2237u << 16u);
|
|
aot_gpr_4 = (aot_gpr_4 + static_cast<std::uint32_t>(-28736));
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast<std::uint32_t>(100)));
|
|
aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_4 + static_cast<std::uint32_t>(52)));
|
|
{ const bool branch_taken = aot_gpr_5 == aot_gpr_4;
|
|
if (branch_taken) {
|
|
goto L_089D4AF8;
|
|
}
|
|
goto L_089D4AF0;
|
|
}
|
|
L_089D4AF0:
|
|
{ const bool branch_taken = 0u == 0u;
|
|
if (branch_taken) {
|
|
goto L_089D4B24;
|
|
}
|
|
goto L_089D4AF8;
|
|
}
|
|
L_089D4AF8:
|
|
aot_gpr_31 = (0x089D4B00u);
|
|
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 == 0x089D4B00u) goto L_089D4B00;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
L_089D4B00:
|
|
aot_gpr_4 = (17530u << 16u);
|
|
aot_fpr_12 = std::bit_cast<float>(aot_gpr_4);
|
|
aot_gpr_4 = (ctx.gpr[2] | 0u);
|
|
aot_gpr_5 = (0u | 0u);
|
|
aot_gpr_6 = (0u | 47u);
|
|
ctx.gpr[7] = (0u | 0u);
|
|
ctx.gpr[8] = (0u | 0u);
|
|
aot_gpr_31 = (0x089D4B24u);
|
|
ctx.gpr[9] = (0u | 0u);
|
|
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 == 0x089D4B24u) goto L_089D4B24;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
L_089D4B24:
|
|
aot_gpr_31 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast<std::uint32_t>(0)));
|
|
jump_target = aot_gpr_31;
|
|
ctx.gpr[29] = (ctx.gpr[29] + static_cast<std::uint32_t>(16));
|
|
local_pc = jump_target;
|
|
if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; }
|
|
// PSPRECOMP_V812_SHARED_SCHED_JUMP
|
|
goto LOCAL_SCHED_BOUNDARY;
|
|
L_089D4B30:
|
|
ctx.gpr[29] = (ctx.gpr[29] + static_cast<std::uint32_t>(-80));
|
|
{ const std::uint32_t aot_run_words[11]{std::bit_cast<std::uint32_t>(aot_fpr_20), aot_gpr_16, aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], ctx.gpr[23], ctx.gpr[30], aot_gpr_31};
|
|
aot_mem.aot_direct_store32_block(ctx.gpr[29] + static_cast<std::uint32_t>(36), aot_run_words); }
|
|
aot_gpr_17 = (aot_gpr_4 | 0u);
|
|
aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast<std::uint32_t>(80), aot_gpr_5);
|
|
aot_gpr_31 = (0x089D4B70u);
|
|
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[29] + static_cast<std::uint32_t>(80))))));
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0034_entry, 34u, 429u, 0x0888E7E8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D4B70u) goto L_089D4B70;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
L_089D4B70:
|
|
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_17 + static_cast<std::uint32_t>(3))))));
|
|
aot_gpr_5 = (2237u << 16u);
|
|
aot_gpr_5 = (aot_gpr_5 + static_cast<std::uint32_t>(-28736));
|
|
aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast<std::uint32_t>(100)));
|
|
aot_gpr_5 = (aot_mem.aot_direct_load16(aot_gpr_5 + static_cast<std::uint32_t>(52)));
|
|
aot_gpr_4 = (aot_gpr_4 ^ aot_gpr_5);
|
|
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_089D5254;
|
|
}
|
|
goto L_089D4B98;
|
|
}
|
|
L_089D4B98:
|
|
ctx.gpr[20] = (0u + static_cast<std::uint32_t>(-1));
|
|
ctx.gpr[19] = (0u | 0u);
|
|
ctx.gpr[30] = (ctx.gpr[29] + static_cast<std::uint32_t>(17));
|
|
ctx.gpr[23] = (ctx.gpr[29] + static_cast<std::uint32_t>(18));
|
|
ctx.gpr[22] = (ctx.gpr[29] + static_cast<std::uint32_t>(19));
|
|
ctx.gpr[21] = (ctx.gpr[29] + static_cast<std::uint32_t>(20));
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast<std::uint32_t>(96)));
|
|
ctx.gpr[18] = (0u | 0u);
|
|
goto L_089D4BB8;
|
|
L_089D4BB8:
|
|
if (aot_gpr_4 != 0u) {
|
|
aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast<std::uint32_t>(214)));
|
|
goto L_089D4BE4;
|
|
}
|
|
goto L_089D4BC0;
|
|
L_089D4BC0:
|
|
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_17 + static_cast<std::uint32_t>(10))))));
|
|
aot_gpr_6 = (ctx.gpr[29] + static_cast<std::uint32_t>(16));
|
|
aot_gpr_31 = (0x089D4BD0u);
|
|
aot_gpr_4 = (aot_gpr_17 | 0u);
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0166_entry, 166u, 47u, 0x08A9C6FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D4BD0u) goto L_089D4BD0;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
L_089D4BD0:
|
|
aot_mem.aot_direct_store32(aot_gpr_17 + static_cast<std::uint32_t>(96), ctx.gpr[2]);
|
|
aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[29] + static_cast<std::uint32_t>(16)));
|
|
aot_mem.aot_direct_store8(aot_gpr_17 + static_cast<std::uint32_t>(4), static_cast<std::uint8_t>(aot_gpr_4));
|
|
aot_gpr_4 = (ctx.gpr[2] | 0u);
|
|
aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast<std::uint32_t>(214)));
|
|
goto L_089D4BE4;
|
|
L_089D4BE4:
|
|
aot_gpr_5 = (ctx.gpr[19] < aot_gpr_5 ? 1u : 0u);
|
|
{ const bool branch_taken = aot_gpr_5 == 0u;
|
|
if (branch_taken) {
|
|
goto L_089D4D1C;
|
|
}
|
|
goto L_089D4BF0;
|
|
}
|
|
L_089D4BF0:
|
|
{ const bool branch_taken = aot_gpr_4 != 0u;
|
|
aot_gpr_5 = (aot_gpr_4 + ctx.gpr[18]);
|
|
if (branch_taken) {
|
|
goto L_089D4C1C;
|
|
}
|
|
goto L_089D4BF8;
|
|
}
|
|
L_089D4BF8:
|
|
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_17 + static_cast<std::uint32_t>(10))))));
|
|
aot_gpr_4 = (aot_gpr_17 | 0u);
|
|
aot_gpr_31 = (0x089D4C08u);
|
|
aot_gpr_6 = (ctx.gpr[30] | 0u);
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0166_entry, 166u, 47u, 0x08A9C6FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D4C08u) goto L_089D4C08;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
L_089D4C08:
|
|
aot_mem.aot_direct_store32(aot_gpr_17 + static_cast<std::uint32_t>(96), ctx.gpr[2]);
|
|
aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[29] + static_cast<std::uint32_t>(17)));
|
|
aot_mem.aot_direct_store8(aot_gpr_17 + static_cast<std::uint32_t>(4), static_cast<std::uint8_t>(aot_gpr_4));
|
|
aot_gpr_4 = (ctx.gpr[2] | 0u);
|
|
aot_gpr_5 = (aot_gpr_4 + ctx.gpr[18]);
|
|
goto L_089D4C1C;
|
|
L_089D4C1C:
|
|
aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast<std::uint32_t>(236)));
|
|
aot_gpr_5 = (aot_gpr_5 & 1u);
|
|
{ const bool branch_taken = aot_gpr_5 == 0u;
|
|
if (branch_taken) {
|
|
goto L_089D4D10;
|
|
}
|
|
goto L_089D4C2C;
|
|
}
|
|
L_089D4C2C:
|
|
{ const bool branch_taken = aot_gpr_4 != 0u;
|
|
if (branch_taken) {
|
|
goto L_089D4C54;
|
|
}
|
|
goto L_089D4C34;
|
|
}
|
|
L_089D4C34:
|
|
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_17 + static_cast<std::uint32_t>(10))))));
|
|
aot_gpr_4 = (aot_gpr_17 | 0u);
|
|
aot_gpr_31 = (0x089D4C44u);
|
|
aot_gpr_6 = (ctx.gpr[23] | 0u);
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0166_entry, 166u, 47u, 0x08A9C6FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D4C44u) goto L_089D4C44;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
L_089D4C44:
|
|
aot_mem.aot_direct_store32(aot_gpr_17 + static_cast<std::uint32_t>(96), ctx.gpr[2]);
|
|
aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[29] + static_cast<std::uint32_t>(18)));
|
|
aot_mem.aot_direct_store8(aot_gpr_17 + static_cast<std::uint32_t>(4), static_cast<std::uint8_t>(aot_gpr_4));
|
|
aot_gpr_4 = (ctx.gpr[2] | 0u);
|
|
goto L_089D4C54;
|
|
L_089D4C54:
|
|
aot_gpr_31 = (0x089D4C5Cu);
|
|
aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast<std::uint32_t>(183)));
|
|
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, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_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 == 0x089D4C5Cu) goto L_089D4C5C;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
L_089D4C5C:
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast<std::uint32_t>(0)));
|
|
aot_gpr_5 = (0u | 0u);
|
|
aot_gpr_4 = (aot_gpr_4 & 32768u);
|
|
aot_gpr_4 = (0u < aot_gpr_4 ? 1u : 0u);
|
|
aot_gpr_6 = (aot_gpr_4 & 255u);
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast<std::uint32_t>(96)));
|
|
if (aot_gpr_6 != 0u) {
|
|
aot_gpr_5 = (0u | 216u);
|
|
goto L_089D4C7C;
|
|
}
|
|
goto L_089D4C7C;
|
|
L_089D4C7C:
|
|
{ const bool branch_taken = aot_gpr_5 == 0u;
|
|
if (branch_taken) {
|
|
goto L_089D4D10;
|
|
}
|
|
goto L_089D4C84;
|
|
}
|
|
L_089D4C84:
|
|
{ const bool branch_taken = aot_gpr_4 != 0u;
|
|
if (branch_taken) {
|
|
goto L_089D4CAC;
|
|
}
|
|
goto L_089D4C8C;
|
|
}
|
|
L_089D4C8C:
|
|
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_17 + static_cast<std::uint32_t>(10))))));
|
|
aot_gpr_4 = (aot_gpr_17 | 0u);
|
|
aot_gpr_31 = (0x089D4C9Cu);
|
|
aot_gpr_6 = (ctx.gpr[22] | 0u);
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0166_entry, 166u, 47u, 0x08A9C6FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D4C9Cu) goto L_089D4C9C;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
L_089D4C9C:
|
|
aot_mem.aot_direct_store32(aot_gpr_17 + static_cast<std::uint32_t>(96), ctx.gpr[2]);
|
|
aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[29] + static_cast<std::uint32_t>(19)));
|
|
aot_mem.aot_direct_store8(aot_gpr_17 + static_cast<std::uint32_t>(4), static_cast<std::uint8_t>(aot_gpr_4));
|
|
aot_gpr_4 = (ctx.gpr[2] | 0u);
|
|
goto L_089D4CAC;
|
|
L_089D4CAC:
|
|
aot_gpr_31 = (0x089D4CB4u);
|
|
aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast<std::uint32_t>(183)));
|
|
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, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_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 == 0x089D4CB4u) goto L_089D4CB4;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
L_089D4CB4:
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast<std::uint32_t>(0)));
|
|
aot_gpr_16 = (0u | 0u);
|
|
aot_gpr_4 = (aot_gpr_4 & 32768u);
|
|
aot_gpr_4 = (0u < aot_gpr_4 ? 1u : 0u);
|
|
aot_gpr_5 = (aot_gpr_4 & 255u);
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast<std::uint32_t>(96)));
|
|
if (aot_gpr_5 != 0u) {
|
|
aot_gpr_16 = (0u | 216u);
|
|
goto L_089D4CD4;
|
|
}
|
|
goto L_089D4CD4;
|
|
L_089D4CD4:
|
|
{ const bool branch_taken = aot_gpr_4 != 0u;
|
|
aot_gpr_5 = (aot_gpr_4 + ctx.gpr[18]);
|
|
if (branch_taken) {
|
|
goto L_089D4D00;
|
|
}
|
|
goto L_089D4CDC;
|
|
}
|
|
L_089D4CDC:
|
|
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_17 + static_cast<std::uint32_t>(10))))));
|
|
aot_gpr_4 = (aot_gpr_17 | 0u);
|
|
aot_gpr_31 = (0x089D4CECu);
|
|
aot_gpr_6 = (ctx.gpr[21] | 0u);
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0166_entry, 166u, 47u, 0x08A9C6FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D4CECu) goto L_089D4CEC;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
L_089D4CEC:
|
|
aot_mem.aot_direct_store32(aot_gpr_17 + static_cast<std::uint32_t>(96), ctx.gpr[2]);
|
|
aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[29] + static_cast<std::uint32_t>(20)));
|
|
aot_mem.aot_direct_store8(aot_gpr_17 + static_cast<std::uint32_t>(4), static_cast<std::uint8_t>(aot_gpr_4));
|
|
aot_gpr_4 = (ctx.gpr[2] | 0u);
|
|
aot_gpr_5 = (aot_gpr_4 + ctx.gpr[18]);
|
|
goto L_089D4D00;
|
|
L_089D4D00:
|
|
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_5 + static_cast<std::uint32_t>(234))))));
|
|
{ const bool branch_taken = aot_gpr_16 != aot_gpr_5;
|
|
if (branch_taken) {
|
|
goto L_089D4D10;
|
|
}
|
|
goto L_089D4D0C;
|
|
}
|
|
L_089D4D0C:
|
|
ctx.gpr[20] = (ctx.gpr[19] | 0u);
|
|
goto L_089D4D10;
|
|
L_089D4D10:
|
|
ctx.gpr[19] = (ctx.gpr[19] + static_cast<std::uint32_t>(1));
|
|
{ const bool branch_taken = 0u == 0u;
|
|
ctx.gpr[18] = (ctx.gpr[18] + static_cast<std::uint32_t>(24));
|
|
if (branch_taken) {
|
|
goto L_089D4BB8;
|
|
}
|
|
goto L_089D4D1C;
|
|
}
|
|
L_089D4D1C:
|
|
aot_gpr_6 = (0u + static_cast<std::uint32_t>(-1));
|
|
{ const bool branch_taken = ctx.gpr[20] == aot_gpr_6;
|
|
aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_17 + static_cast<std::uint32_t>(218)));
|
|
if (branch_taken) {
|
|
goto L_089D4D9C;
|
|
}
|
|
goto L_089D4D28;
|
|
}
|
|
L_089D4D28:
|
|
{ const bool branch_taken = aot_gpr_5 != 0u;
|
|
ctx.gpr[30] = (0u + static_cast<std::uint32_t>(-1));
|
|
if (branch_taken) {
|
|
goto L_089D4DAC;
|
|
}
|
|
goto L_089D4D30;
|
|
}
|
|
L_089D4D30:
|
|
aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast<std::uint32_t>(112)));
|
|
{ const bool branch_taken = aot_gpr_16 == 0u;
|
|
ctx.gpr[30] = (0u + static_cast<std::uint32_t>(-1));
|
|
if (branch_taken) {
|
|
goto L_089D4DAC;
|
|
}
|
|
goto L_089D4D3C;
|
|
}
|
|
L_089D4D3C:
|
|
ctx.gpr[18] = (ctx.gpr[28] + static_cast<std::uint32_t>(7768));
|
|
{ const bool branch_taken = aot_gpr_4 != 0u;
|
|
aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(96)));
|
|
if (branch_taken) {
|
|
goto L_089D4D68;
|
|
}
|
|
goto L_089D4D48;
|
|
}
|
|
L_089D4D48:
|
|
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_17 + static_cast<std::uint32_t>(10))))));
|
|
aot_gpr_6 = (ctx.gpr[29] + static_cast<std::uint32_t>(21));
|
|
aot_gpr_31 = (0x089D4D58u);
|
|
aot_gpr_4 = (aot_gpr_17 | 0u);
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0166_entry, 166u, 47u, 0x08A9C6FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D4D58u) goto L_089D4D58;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
L_089D4D58:
|
|
aot_mem.aot_direct_store32(aot_gpr_17 + static_cast<std::uint32_t>(96), ctx.gpr[2]);
|
|
aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[29] + static_cast<std::uint32_t>(21)));
|
|
aot_mem.aot_direct_store8(aot_gpr_17 + static_cast<std::uint32_t>(4), static_cast<std::uint8_t>(aot_gpr_4));
|
|
aot_gpr_4 = (ctx.gpr[2] | 0u);
|
|
goto L_089D4D68;
|
|
L_089D4D68:
|
|
aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast<std::uint32_t>(183)));
|
|
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_gpr_4 = (16256u << 16u);
|
|
aot_fpr_13 = std::bit_cast<float>(aot_gpr_4);
|
|
aot_gpr_4 = (ctx.gpr[18] | 0u);
|
|
aot_gpr_5 = (aot_gpr_16 | 0u);
|
|
aot_gpr_31 = (0x089D4D8Cu);
|
|
aot_gpr_6 = (0u | 56u);
|
|
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 == 0x089D4D8Cu) goto L_089D4D8C;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
L_089D4D8C:
|
|
aot_gpr_4 = (0u | 1u);
|
|
aot_mem.aot_direct_store8(aot_gpr_17 + static_cast<std::uint32_t>(218), static_cast<std::uint8_t>(aot_gpr_4));
|
|
{ const bool branch_taken = 0u == 0u;
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast<std::uint32_t>(96)));
|
|
if (branch_taken) {
|
|
goto L_089D4DA8;
|
|
}
|
|
goto L_089D4D9C;
|
|
}
|
|
L_089D4D9C:
|
|
{ const bool branch_taken = aot_gpr_5 == 0u;
|
|
ctx.gpr[30] = (0u + static_cast<std::uint32_t>(-1));
|
|
if (branch_taken) {
|
|
goto L_089D4DAC;
|
|
}
|
|
goto L_089D4DA4;
|
|
}
|
|
L_089D4DA4:
|
|
aot_mem.aot_direct_store8(aot_gpr_17 + static_cast<std::uint32_t>(218), static_cast<std::uint8_t>(0u));
|
|
goto L_089D4DA8;
|
|
L_089D4DA8:
|
|
ctx.gpr[30] = (0u + static_cast<std::uint32_t>(-1));
|
|
goto L_089D4DAC;
|
|
L_089D4DAC:
|
|
ctx.gpr[19] = (ctx.gpr[30] | 0u);
|
|
ctx.gpr[18] = (0u | 0u);
|
|
ctx.gpr[23] = (ctx.gpr[29] + static_cast<std::uint32_t>(22));
|
|
ctx.gpr[22] = (ctx.gpr[29] + static_cast<std::uint32_t>(23));
|
|
ctx.gpr[21] = (ctx.gpr[29] + static_cast<std::uint32_t>(24));
|
|
ctx.gpr[20] = (ctx.gpr[29] + static_cast<std::uint32_t>(25));
|
|
aot_gpr_16 = (0u | 0u);
|
|
goto L_089D4DC8;
|
|
L_089D4DC8:
|
|
if (aot_gpr_4 != 0u) {
|
|
aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast<std::uint32_t>(214)));
|
|
goto L_089D4DF4;
|
|
}
|
|
goto L_089D4DD0;
|
|
L_089D4DD0:
|
|
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_17 + static_cast<std::uint32_t>(10))))));
|
|
aot_gpr_4 = (aot_gpr_17 | 0u);
|
|
aot_gpr_31 = (0x089D4DE0u);
|
|
aot_gpr_6 = (ctx.gpr[23] | 0u);
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0166_entry, 166u, 47u, 0x08A9C6FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D4DE0u) goto L_089D4DE0;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
L_089D4DE0:
|
|
aot_mem.aot_direct_store32(aot_gpr_17 + static_cast<std::uint32_t>(96), ctx.gpr[2]);
|
|
aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[29] + static_cast<std::uint32_t>(22)));
|
|
aot_mem.aot_direct_store8(aot_gpr_17 + static_cast<std::uint32_t>(4), static_cast<std::uint8_t>(aot_gpr_4));
|
|
aot_gpr_4 = (ctx.gpr[2] | 0u);
|
|
aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast<std::uint32_t>(214)));
|
|
goto L_089D4DF4;
|
|
L_089D4DF4:
|
|
aot_gpr_5 = (ctx.gpr[18] < aot_gpr_5 ? 1u : 0u);
|
|
{ const bool branch_taken = aot_gpr_5 == 0u;
|
|
if (branch_taken) {
|
|
goto L_089D4EC4;
|
|
}
|
|
goto L_089D4E00;
|
|
}
|
|
L_089D4E00:
|
|
{ const bool branch_taken = aot_gpr_4 != 0u;
|
|
aot_gpr_5 = (aot_gpr_4 + aot_gpr_16);
|
|
if (branch_taken) {
|
|
goto L_089D4E2C;
|
|
}
|
|
goto L_089D4E08;
|
|
}
|
|
L_089D4E08:
|
|
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_17 + static_cast<std::uint32_t>(10))))));
|
|
aot_gpr_4 = (aot_gpr_17 | 0u);
|
|
aot_gpr_31 = (0x089D4E18u);
|
|
aot_gpr_6 = (ctx.gpr[22] | 0u);
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0166_entry, 166u, 47u, 0x08A9C6FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D4E18u) goto L_089D4E18;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
L_089D4E18:
|
|
aot_mem.aot_direct_store32(aot_gpr_17 + static_cast<std::uint32_t>(96), ctx.gpr[2]);
|
|
aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[29] + static_cast<std::uint32_t>(23)));
|
|
aot_mem.aot_direct_store8(aot_gpr_17 + static_cast<std::uint32_t>(4), static_cast<std::uint8_t>(aot_gpr_4));
|
|
aot_gpr_4 = (ctx.gpr[2] | 0u);
|
|
aot_gpr_5 = (aot_gpr_4 + aot_gpr_16);
|
|
goto L_089D4E2C;
|
|
L_089D4E2C:
|
|
aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast<std::uint32_t>(236)));
|
|
aot_gpr_6 = (aot_gpr_6 & 1u);
|
|
{ const bool branch_taken = aot_gpr_6 == 0u;
|
|
if (branch_taken) {
|
|
goto L_089D4EB8;
|
|
}
|
|
goto L_089D4E3C;
|
|
}
|
|
L_089D4E3C:
|
|
if (aot_gpr_4 != 0u) {
|
|
aot_gpr_6 = (static_cast<std::uint32_t>(static_cast<std::int32_t>(static_cast<std::int16_t>(aot_mem.aot_direct_load16(aot_gpr_5 + static_cast<std::uint32_t>(232))))));
|
|
goto L_089D4E6C;
|
|
}
|
|
goto L_089D4E44;
|
|
L_089D4E44:
|
|
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_17 + static_cast<std::uint32_t>(10))))));
|
|
aot_gpr_4 = (aot_gpr_17 | 0u);
|
|
aot_gpr_31 = (0x089D4E54u);
|
|
aot_gpr_6 = (ctx.gpr[21] | 0u);
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0166_entry, 166u, 47u, 0x08A9C6FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D4E54u) goto L_089D4E54;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
L_089D4E54:
|
|
aot_mem.aot_direct_store32(aot_gpr_17 + static_cast<std::uint32_t>(96), ctx.gpr[2]);
|
|
aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[29] + static_cast<std::uint32_t>(24)));
|
|
aot_mem.aot_direct_store8(aot_gpr_17 + static_cast<std::uint32_t>(4), static_cast<std::uint8_t>(aot_gpr_4));
|
|
aot_gpr_4 = (ctx.gpr[2] | 0u);
|
|
aot_gpr_5 = (aot_gpr_4 + aot_gpr_16);
|
|
aot_gpr_6 = (static_cast<std::uint32_t>(static_cast<std::int32_t>(static_cast<std::int16_t>(aot_mem.aot_direct_load16(aot_gpr_5 + static_cast<std::uint32_t>(232))))));
|
|
goto L_089D4E6C;
|
|
L_089D4E6C:
|
|
aot_gpr_6 = (static_cast<std::int32_t>(aot_gpr_6) < 7 ? 1u : 0u);
|
|
{ const bool branch_taken = aot_gpr_6 != 0u;
|
|
if (branch_taken) {
|
|
goto L_089D4EB8;
|
|
}
|
|
goto L_089D4E78;
|
|
}
|
|
L_089D4E78:
|
|
if (aot_gpr_4 != 0u) {
|
|
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_5 + static_cast<std::uint32_t>(232))))));
|
|
goto L_089D4EA8;
|
|
}
|
|
goto L_089D4E80;
|
|
L_089D4E80:
|
|
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_17 + static_cast<std::uint32_t>(10))))));
|
|
aot_gpr_4 = (aot_gpr_17 | 0u);
|
|
aot_gpr_31 = (0x089D4E90u);
|
|
aot_gpr_6 = (ctx.gpr[20] | 0u);
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0166_entry, 166u, 47u, 0x08A9C6FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D4E90u) goto L_089D4E90;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
L_089D4E90:
|
|
aot_mem.aot_direct_store32(aot_gpr_17 + static_cast<std::uint32_t>(96), ctx.gpr[2]);
|
|
aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[29] + static_cast<std::uint32_t>(25)));
|
|
aot_mem.aot_direct_store8(aot_gpr_17 + static_cast<std::uint32_t>(4), static_cast<std::uint8_t>(aot_gpr_4));
|
|
aot_gpr_4 = (ctx.gpr[2] | 0u);
|
|
aot_gpr_5 = (aot_gpr_4 + aot_gpr_16);
|
|
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_5 + static_cast<std::uint32_t>(232))))));
|
|
goto L_089D4EA8;
|
|
L_089D4EA8:
|
|
aot_gpr_5 = (static_cast<std::int32_t>(aot_gpr_5) < 24 ? 1u : 0u);
|
|
{ const bool branch_taken = aot_gpr_5 == 0u;
|
|
if (branch_taken) {
|
|
goto L_089D4EB8;
|
|
}
|
|
goto L_089D4EB4;
|
|
}
|
|
L_089D4EB4:
|
|
ctx.gpr[19] = (ctx.gpr[18] | 0u);
|
|
goto L_089D4EB8;
|
|
L_089D4EB8:
|
|
ctx.gpr[18] = (ctx.gpr[18] + static_cast<std::uint32_t>(1));
|
|
{ const bool branch_taken = 0u == 0u;
|
|
aot_gpr_16 = (aot_gpr_16 + static_cast<std::uint32_t>(24));
|
|
if (branch_taken) {
|
|
goto L_089D4DC8;
|
|
}
|
|
goto L_089D4EC4;
|
|
}
|
|
L_089D4EC4:
|
|
{ const bool branch_taken = ctx.gpr[19] == ctx.gpr[30];
|
|
aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_17 + static_cast<std::uint32_t>(219)));
|
|
if (branch_taken) {
|
|
goto L_089D4EE0;
|
|
}
|
|
goto L_089D4ECC;
|
|
}
|
|
L_089D4ECC:
|
|
{ const bool branch_taken = aot_gpr_5 != 0u;
|
|
if (branch_taken) {
|
|
goto L_089D4F4C;
|
|
}
|
|
goto L_089D4ED4;
|
|
}
|
|
L_089D4ED4:
|
|
aot_gpr_5 = (0u | 1u);
|
|
{ const bool branch_taken = 0u == 0u;
|
|
aot_mem.aot_direct_store8(aot_gpr_17 + static_cast<std::uint32_t>(219), static_cast<std::uint8_t>(aot_gpr_5));
|
|
if (branch_taken) {
|
|
goto L_089D4F4C;
|
|
}
|
|
goto L_089D4EE0;
|
|
}
|
|
L_089D4EE0:
|
|
{ const bool branch_taken = aot_gpr_5 == 0u;
|
|
if (branch_taken) {
|
|
goto L_089D4F4C;
|
|
}
|
|
goto L_089D4EE8;
|
|
}
|
|
L_089D4EE8:
|
|
aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast<std::uint32_t>(112)));
|
|
{ const bool branch_taken = aot_gpr_16 == 0u;
|
|
if (branch_taken) {
|
|
goto L_089D4F48;
|
|
}
|
|
goto L_089D4EF4;
|
|
}
|
|
L_089D4EF4:
|
|
ctx.gpr[18] = (ctx.gpr[28] + static_cast<std::uint32_t>(7768));
|
|
{ const bool branch_taken = aot_gpr_4 != 0u;
|
|
aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(96)));
|
|
if (branch_taken) {
|
|
goto L_089D4F20;
|
|
}
|
|
goto L_089D4F00;
|
|
}
|
|
L_089D4F00:
|
|
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_17 + static_cast<std::uint32_t>(10))))));
|
|
aot_gpr_6 = (ctx.gpr[29] + static_cast<std::uint32_t>(26));
|
|
aot_gpr_31 = (0x089D4F10u);
|
|
aot_gpr_4 = (aot_gpr_17 | 0u);
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0166_entry, 166u, 47u, 0x08A9C6FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D4F10u) goto L_089D4F10;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
L_089D4F10:
|
|
aot_mem.aot_direct_store32(aot_gpr_17 + static_cast<std::uint32_t>(96), ctx.gpr[2]);
|
|
aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[29] + static_cast<std::uint32_t>(26)));
|
|
aot_mem.aot_direct_store8(aot_gpr_17 + static_cast<std::uint32_t>(4), static_cast<std::uint8_t>(aot_gpr_4));
|
|
aot_gpr_4 = (ctx.gpr[2] | 0u);
|
|
goto L_089D4F20;
|
|
L_089D4F20:
|
|
aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast<std::uint32_t>(183)));
|
|
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_gpr_4 = (16256u << 16u);
|
|
aot_fpr_13 = std::bit_cast<float>(aot_gpr_4);
|
|
aot_gpr_4 = (ctx.gpr[18] | 0u);
|
|
aot_gpr_5 = (aot_gpr_16 | 0u);
|
|
aot_gpr_31 = (0x089D4F44u);
|
|
aot_gpr_6 = (0u | 57u);
|
|
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 == 0x089D4F44u) goto L_089D4F44;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
L_089D4F44:
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast<std::uint32_t>(96)));
|
|
goto L_089D4F48;
|
|
L_089D4F48:
|
|
aot_mem.aot_direct_store8(aot_gpr_17 + static_cast<std::uint32_t>(219), static_cast<std::uint8_t>(0u));
|
|
goto L_089D4F4C;
|
|
L_089D4F4C:
|
|
if (aot_gpr_4 != 0u) {
|
|
aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast<std::uint32_t>(183)));
|
|
goto L_089D4F78;
|
|
}
|
|
goto L_089D4F54;
|
|
L_089D4F54:
|
|
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_17 + static_cast<std::uint32_t>(10))))));
|
|
aot_gpr_6 = (ctx.gpr[29] + static_cast<std::uint32_t>(27));
|
|
aot_gpr_31 = (0x089D4F64u);
|
|
aot_gpr_4 = (aot_gpr_17 | 0u);
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0166_entry, 166u, 47u, 0x08A9C6FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D4F64u) goto L_089D4F64;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
L_089D4F64:
|
|
aot_mem.aot_direct_store32(aot_gpr_17 + static_cast<std::uint32_t>(96), ctx.gpr[2]);
|
|
aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[29] + static_cast<std::uint32_t>(27)));
|
|
aot_mem.aot_direct_store8(aot_gpr_17 + static_cast<std::uint32_t>(4), static_cast<std::uint8_t>(aot_gpr_4));
|
|
aot_gpr_4 = (ctx.gpr[2] | 0u);
|
|
aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast<std::uint32_t>(183)));
|
|
goto L_089D4F78;
|
|
L_089D4F78:
|
|
ctx.gpr[23] = (0u | 11u);
|
|
{ const bool branch_taken = aot_gpr_5 != ctx.gpr[23];
|
|
if (branch_taken) {
|
|
goto L_089D5254;
|
|
}
|
|
goto L_089D4F84;
|
|
}
|
|
L_089D4F84:
|
|
if (aot_gpr_4 != 0u) {
|
|
aot_gpr_5 = (aot_mem.aot_direct_load16(aot_gpr_4 + static_cast<std::uint32_t>(176)));
|
|
goto L_089D4FB0;
|
|
}
|
|
goto L_089D4F8C;
|
|
L_089D4F8C:
|
|
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_17 + static_cast<std::uint32_t>(10))))));
|
|
aot_gpr_6 = (ctx.gpr[29] + static_cast<std::uint32_t>(28));
|
|
aot_gpr_31 = (0x089D4F9Cu);
|
|
aot_gpr_4 = (aot_gpr_17 | 0u);
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0166_entry, 166u, 47u, 0x08A9C6FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D4F9Cu) goto L_089D4F9C;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
L_089D4F9C:
|
|
aot_mem.aot_direct_store32(aot_gpr_17 + static_cast<std::uint32_t>(96), ctx.gpr[2]);
|
|
aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[29] + static_cast<std::uint32_t>(28)));
|
|
aot_mem.aot_direct_store8(aot_gpr_17 + static_cast<std::uint32_t>(4), static_cast<std::uint8_t>(aot_gpr_4));
|
|
aot_gpr_4 = (ctx.gpr[2] | 0u);
|
|
aot_gpr_5 = (aot_mem.aot_direct_load16(aot_gpr_4 + static_cast<std::uint32_t>(176)));
|
|
goto L_089D4FB0;
|
|
L_089D4FB0:
|
|
aot_gpr_6 = (0u | 65535u);
|
|
{ const bool branch_taken = aot_gpr_5 != aot_gpr_6;
|
|
if (branch_taken) {
|
|
goto L_089D5254;
|
|
}
|
|
goto L_089D4FBC;
|
|
}
|
|
L_089D4FBC:
|
|
ctx.gpr[18] = (0u | 214u);
|
|
ctx.gpr[19] = (0u | 0u);
|
|
ctx.gpr[20] = (ctx.gpr[29] + static_cast<std::uint32_t>(29));
|
|
ctx.gpr[21] = (ctx.gpr[29] + static_cast<std::uint32_t>(30));
|
|
aot_gpr_16 = (ctx.gpr[28] + static_cast<std::uint32_t>(7768));
|
|
aot_gpr_5 = (16256u << 16u);
|
|
aot_fpr_20 = std::bit_cast<float>(aot_gpr_5);
|
|
ctx.gpr[22] = (0u | 0u);
|
|
goto L_089D4FDC;
|
|
L_089D4FDC:
|
|
if (aot_gpr_4 != 0u) {
|
|
aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast<std::uint32_t>(214)));
|
|
goto L_089D5008;
|
|
}
|
|
goto L_089D4FE4;
|
|
L_089D4FE4:
|
|
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_17 + static_cast<std::uint32_t>(10))))));
|
|
aot_gpr_4 = (aot_gpr_17 | 0u);
|
|
aot_gpr_31 = (0x089D4FF4u);
|
|
aot_gpr_6 = (ctx.gpr[20] | 0u);
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0166_entry, 166u, 47u, 0x08A9C6FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D4FF4u) goto L_089D4FF4;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
L_089D4FF4:
|
|
aot_mem.aot_direct_store32(aot_gpr_17 + static_cast<std::uint32_t>(96), ctx.gpr[2]);
|
|
aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[29] + static_cast<std::uint32_t>(29)));
|
|
aot_mem.aot_direct_store8(aot_gpr_17 + static_cast<std::uint32_t>(4), static_cast<std::uint8_t>(aot_gpr_4));
|
|
aot_gpr_4 = (ctx.gpr[2] | 0u);
|
|
aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast<std::uint32_t>(214)));
|
|
goto L_089D5008;
|
|
L_089D5008:
|
|
aot_gpr_5 = (static_cast<std::int32_t>(ctx.gpr[19]) < static_cast<std::int32_t>(aot_gpr_5) ? 1u : 0u);
|
|
if (aot_gpr_5 == 0u) {
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast<std::uint32_t>(112)));
|
|
goto L_089D5064;
|
|
}
|
|
goto L_089D5014;
|
|
L_089D5014:
|
|
{ const bool branch_taken = aot_gpr_4 != 0u;
|
|
aot_gpr_5 = (aot_gpr_4 + ctx.gpr[22]);
|
|
if (branch_taken) {
|
|
goto L_089D5040;
|
|
}
|
|
goto L_089D501C;
|
|
}
|
|
L_089D501C:
|
|
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_17 + static_cast<std::uint32_t>(10))))));
|
|
aot_gpr_4 = (aot_gpr_17 | 0u);
|
|
aot_gpr_31 = (0x089D502Cu);
|
|
aot_gpr_6 = (ctx.gpr[21] | 0u);
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0166_entry, 166u, 47u, 0x08A9C6FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D502Cu) goto L_089D502C;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
L_089D502C:
|
|
aot_mem.aot_direct_store32(aot_gpr_17 + static_cast<std::uint32_t>(96), ctx.gpr[2]);
|
|
aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[29] + static_cast<std::uint32_t>(30)));
|
|
aot_mem.aot_direct_store8(aot_gpr_17 + static_cast<std::uint32_t>(4), static_cast<std::uint8_t>(aot_gpr_4));
|
|
aot_gpr_4 = (ctx.gpr[2] | 0u);
|
|
aot_gpr_5 = (aot_gpr_4 + ctx.gpr[22]);
|
|
goto L_089D5040;
|
|
L_089D5040:
|
|
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_5 + static_cast<std::uint32_t>(234))))));
|
|
{ const bool branch_taken = aot_gpr_5 != ctx.gpr[18];
|
|
if (branch_taken) {
|
|
goto L_089D5058;
|
|
}
|
|
goto L_089D504C;
|
|
}
|
|
L_089D504C:
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast<std::uint32_t>(112)));
|
|
{ const bool branch_taken = 0u == 0u;
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast<std::uint32_t>(96)));
|
|
if (branch_taken) {
|
|
goto L_089D5068;
|
|
}
|
|
goto L_089D5058;
|
|
}
|
|
L_089D5058:
|
|
ctx.gpr[19] = (ctx.gpr[19] + static_cast<std::uint32_t>(1));
|
|
{ const bool branch_taken = 0u == 0u;
|
|
ctx.gpr[22] = (ctx.gpr[22] + static_cast<std::uint32_t>(24));
|
|
if (branch_taken) {
|
|
goto L_089D4FDC;
|
|
}
|
|
goto L_089D5064;
|
|
}
|
|
L_089D5064:
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast<std::uint32_t>(96)));
|
|
goto L_089D5068;
|
|
L_089D5068:
|
|
aot_gpr_5 = (aot_gpr_4 | 0u);
|
|
aot_gpr_4 = (aot_gpr_16 | 0u);
|
|
aot_gpr_31 = (0x089D5078u);
|
|
aot_gpr_6 = (0u | 1u);
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0128_entry, 128u, 501u, 0x08A05F5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D5078u) goto L_089D5078;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
L_089D5078:
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast<std::uint32_t>(96)));
|
|
if (aot_gpr_4 != 0u) {
|
|
aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast<std::uint32_t>(214)));
|
|
goto L_089D50A8;
|
|
}
|
|
goto L_089D5084;
|
|
L_089D5084:
|
|
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_17 + static_cast<std::uint32_t>(10))))));
|
|
aot_gpr_6 = (ctx.gpr[29] + static_cast<std::uint32_t>(31));
|
|
aot_gpr_31 = (0x089D5094u);
|
|
aot_gpr_4 = (aot_gpr_17 | 0u);
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0166_entry, 166u, 47u, 0x08A9C6FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D5094u) goto L_089D5094;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
L_089D5094:
|
|
aot_mem.aot_direct_store32(aot_gpr_17 + static_cast<std::uint32_t>(96), ctx.gpr[2]);
|
|
aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[29] + static_cast<std::uint32_t>(31)));
|
|
aot_mem.aot_direct_store8(aot_gpr_17 + static_cast<std::uint32_t>(4), static_cast<std::uint8_t>(aot_gpr_4));
|
|
aot_gpr_4 = (ctx.gpr[2] | 0u);
|
|
aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast<std::uint32_t>(214)));
|
|
goto L_089D50A8;
|
|
L_089D50A8:
|
|
aot_gpr_5 = (static_cast<std::int32_t>(ctx.gpr[19]) < static_cast<std::int32_t>(aot_gpr_5) ? 1u : 0u);
|
|
{ const bool branch_taken = aot_gpr_5 == 0u;
|
|
if (branch_taken) {
|
|
goto L_089D5238;
|
|
}
|
|
goto L_089D50B4;
|
|
}
|
|
L_089D50B4:
|
|
if (aot_gpr_4 != 0u) {
|
|
aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast<std::uint32_t>(183)));
|
|
goto L_089D50E0;
|
|
}
|
|
goto L_089D50BC;
|
|
L_089D50BC:
|
|
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_17 + static_cast<std::uint32_t>(10))))));
|
|
aot_gpr_6 = (ctx.gpr[29] + static_cast<std::uint32_t>(32));
|
|
aot_gpr_31 = (0x089D50CCu);
|
|
aot_gpr_4 = (aot_gpr_17 | 0u);
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0166_entry, 166u, 47u, 0x08A9C6FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D50CCu) goto L_089D50CC;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
L_089D50CC:
|
|
aot_mem.aot_direct_store32(aot_gpr_17 + static_cast<std::uint32_t>(96), ctx.gpr[2]);
|
|
aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[29] + static_cast<std::uint32_t>(32)));
|
|
aot_mem.aot_direct_store8(aot_gpr_17 + static_cast<std::uint32_t>(4), static_cast<std::uint8_t>(aot_gpr_4));
|
|
aot_gpr_4 = (ctx.gpr[2] | 0u);
|
|
aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast<std::uint32_t>(183)));
|
|
goto L_089D50E0;
|
|
L_089D50E0:
|
|
{ const bool branch_taken = aot_gpr_5 != ctx.gpr[23];
|
|
if (branch_taken) {
|
|
goto L_089D5214;
|
|
}
|
|
goto L_089D50E8;
|
|
}
|
|
L_089D50E8:
|
|
{ const bool branch_taken = aot_gpr_4 != 0u;
|
|
aot_gpr_5 = (aot_gpr_4 + ctx.gpr[22]);
|
|
if (branch_taken) {
|
|
goto L_089D5114;
|
|
}
|
|
goto L_089D50F0;
|
|
}
|
|
L_089D50F0:
|
|
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_17 + static_cast<std::uint32_t>(10))))));
|
|
aot_gpr_6 = (ctx.gpr[29] + static_cast<std::uint32_t>(33));
|
|
aot_gpr_31 = (0x089D5100u);
|
|
aot_gpr_4 = (aot_gpr_17 | 0u);
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0166_entry, 166u, 47u, 0x08A9C6FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D5100u) goto L_089D5100;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
L_089D5100:
|
|
aot_mem.aot_direct_store32(aot_gpr_17 + static_cast<std::uint32_t>(96), ctx.gpr[2]);
|
|
aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[29] + static_cast<std::uint32_t>(33)));
|
|
aot_mem.aot_direct_store8(aot_gpr_17 + static_cast<std::uint32_t>(4), static_cast<std::uint8_t>(aot_gpr_4));
|
|
aot_gpr_4 = (ctx.gpr[2] | 0u);
|
|
aot_gpr_5 = (aot_gpr_4 + ctx.gpr[22]);
|
|
goto L_089D5114;
|
|
L_089D5114:
|
|
aot_fpr_12 = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast<std::uint32_t>(224)));
|
|
aot_gpr_6 = (48793u << 16u);
|
|
aot_gpr_6 = (aot_gpr_6 | 39322u);
|
|
aot_fpr_13 = std::bit_cast<float>(aot_gpr_6);
|
|
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_089D5214;
|
|
}
|
|
goto L_089D5134;
|
|
}
|
|
L_089D5134:
|
|
if (aot_gpr_4 != 0u) {
|
|
aot_fpr_12 = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast<std::uint32_t>(224)));
|
|
goto L_089D5164;
|
|
}
|
|
goto L_089D513C;
|
|
L_089D513C:
|
|
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_17 + static_cast<std::uint32_t>(10))))));
|
|
aot_gpr_6 = (ctx.gpr[29] + static_cast<std::uint32_t>(34));
|
|
aot_gpr_31 = (0x089D514Cu);
|
|
aot_gpr_4 = (aot_gpr_17 | 0u);
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0166_entry, 166u, 47u, 0x08A9C6FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D514Cu) goto L_089D514C;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
L_089D514C:
|
|
aot_mem.aot_direct_store32(aot_gpr_17 + static_cast<std::uint32_t>(96), ctx.gpr[2]);
|
|
aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[29] + static_cast<std::uint32_t>(34)));
|
|
aot_mem.aot_direct_store8(aot_gpr_17 + static_cast<std::uint32_t>(4), static_cast<std::uint8_t>(aot_gpr_4));
|
|
aot_gpr_4 = (ctx.gpr[2] | 0u);
|
|
aot_gpr_5 = (aot_gpr_4 + ctx.gpr[22]);
|
|
aot_fpr_12 = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast<std::uint32_t>(224)));
|
|
goto L_089D5164;
|
|
L_089D5164:
|
|
aot_fpr_13 = std::bit_cast<float>(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(7676)));
|
|
aot_gpr_5 = (16968u << 16u);
|
|
aot_fpr_14 = std::bit_cast<float>(aot_gpr_5);
|
|
aot_fpr_13 = aot_fpr_13 / aot_fpr_14;
|
|
aot_fpr_12 = aot_fpr_12 - aot_fpr_13;
|
|
aot_gpr_5 = (16153u << 16u);
|
|
aot_gpr_5 = (aot_gpr_5 | 39322u);
|
|
ctx.fpr[15] = std::bit_cast<float>(aot_gpr_5);
|
|
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_089D5214;
|
|
}
|
|
goto L_089D5194;
|
|
}
|
|
L_089D5194:
|
|
if (aot_gpr_4 != 0u) {
|
|
aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast<std::uint32_t>(345)));
|
|
goto L_089D51C0;
|
|
}
|
|
goto L_089D519C;
|
|
L_089D519C:
|
|
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_17 + static_cast<std::uint32_t>(10))))));
|
|
aot_gpr_6 = (ctx.gpr[29] + static_cast<std::uint32_t>(35));
|
|
aot_gpr_31 = (0x089D51ACu);
|
|
aot_gpr_4 = (aot_gpr_17 | 0u);
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0166_entry, 166u, 47u, 0x08A9C6FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D51ACu) goto L_089D51AC;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
L_089D51AC:
|
|
aot_mem.aot_direct_store32(aot_gpr_17 + static_cast<std::uint32_t>(96), ctx.gpr[2]);
|
|
aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[29] + static_cast<std::uint32_t>(35)));
|
|
aot_mem.aot_direct_store8(aot_gpr_17 + static_cast<std::uint32_t>(4), static_cast<std::uint8_t>(aot_gpr_4));
|
|
aot_gpr_4 = (ctx.gpr[2] | 0u);
|
|
aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast<std::uint32_t>(345)));
|
|
goto L_089D51C0;
|
|
L_089D51C0:
|
|
aot_gpr_5 = (0u | 4u);
|
|
aot_gpr_17 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast<std::uint32_t>(112)));
|
|
{ const bool branch_taken = aot_gpr_4 != aot_gpr_5;
|
|
aot_gpr_17 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast<std::uint32_t>(96)));
|
|
if (branch_taken) {
|
|
goto L_089D51F4;
|
|
}
|
|
goto L_089D51D0;
|
|
}
|
|
L_089D51D0:
|
|
aot_gpr_4 = (16448u << 16u);
|
|
aot_fpr_12 = std::bit_cast<float>(aot_gpr_4);
|
|
aot_gpr_4 = (aot_gpr_16 | 0u);
|
|
aot_gpr_5 = (aot_gpr_17 | 0u);
|
|
aot_gpr_6 = (0u | 54u);
|
|
aot_gpr_31 = (0x089D51ECu);
|
|
aot_fpr_13 = std::bit_cast<float>(std::bit_cast<std::uint32_t>(aot_fpr_20));
|
|
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 == 0x089D51ECu) goto L_089D51EC;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
L_089D51EC:
|
|
{ const bool branch_taken = 0u == 0u;
|
|
if (branch_taken) {
|
|
goto L_089D5254;
|
|
}
|
|
goto L_089D51F4;
|
|
}
|
|
L_089D51F4:
|
|
aot_fpr_12 = std::bit_cast<float>(0u);
|
|
aot_gpr_4 = (aot_gpr_16 | 0u);
|
|
aot_gpr_5 = (aot_gpr_17 | 0u);
|
|
aot_gpr_6 = (0u | 53u);
|
|
aot_gpr_31 = (0x089D520Cu);
|
|
aot_fpr_13 = std::bit_cast<float>(std::bit_cast<std::uint32_t>(aot_fpr_20));
|
|
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 == 0x089D520Cu) goto L_089D520C;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
L_089D520C:
|
|
{ const bool branch_taken = 0u == 0u;
|
|
if (branch_taken) {
|
|
goto L_089D5254;
|
|
}
|
|
goto L_089D5214;
|
|
}
|
|
L_089D5214:
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast<std::uint32_t>(112)));
|
|
aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast<std::uint32_t>(96)));
|
|
aot_fpr_12 = std::bit_cast<float>(0u);
|
|
aot_gpr_4 = (aot_gpr_16 | 0u);
|
|
aot_gpr_6 = (0u | 52u);
|
|
aot_gpr_31 = (0x089D5230u);
|
|
aot_fpr_13 = std::bit_cast<float>(std::bit_cast<std::uint32_t>(aot_fpr_20));
|
|
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 == 0x089D5230u) goto L_089D5230;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
L_089D5230:
|
|
{ const bool branch_taken = 0u == 0u;
|
|
if (branch_taken) {
|
|
goto L_089D5254;
|
|
}
|
|
goto L_089D5238;
|
|
}
|
|
L_089D5238:
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast<std::uint32_t>(112)));
|
|
aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast<std::uint32_t>(96)));
|
|
aot_fpr_12 = std::bit_cast<float>(0u);
|
|
aot_gpr_4 = (aot_gpr_16 | 0u);
|
|
aot_gpr_6 = (0u | 52u);
|
|
aot_gpr_31 = (0x089D5254u);
|
|
aot_fpr_13 = std::bit_cast<float>(std::bit_cast<std::uint32_t>(aot_fpr_20));
|
|
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 == 0x089D5254u) goto L_089D5254;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
L_089D5254:
|
|
{ std::uint32_t aot_run_words[11]{};
|
|
aot_mem.aot_direct_load32_block(ctx.gpr[29] + static_cast<std::uint32_t>(36), aot_run_words);
|
|
aot_fpr_20 = std::bit_cast<float>(aot_run_words[0]);
|
|
aot_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];
|
|
ctx.gpr[21] = aot_run_words[6];
|
|
ctx.gpr[22] = aot_run_words[7];
|
|
ctx.gpr[23] = aot_run_words[8];
|
|
ctx.gpr[30] = aot_run_words[9];
|
|
aot_gpr_31 = aot_run_words[10];
|
|
}
|
|
jump_target = aot_gpr_31;
|
|
ctx.gpr[29] = (ctx.gpr[29] + static_cast<std::uint32_t>(80));
|
|
local_pc = jump_target;
|
|
if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; }
|
|
// PSPRECOMP_V812_SHARED_SCHED_JUMP
|
|
goto LOCAL_SCHED_BOUNDARY;
|
|
L_089D5288:
|
|
ctx.gpr[29] = (ctx.gpr[29] + static_cast<std::uint32_t>(-80));
|
|
{ const std::uint32_t aot_run_words[11]{std::bit_cast<std::uint32_t>(aot_fpr_20), aot_gpr_16, aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], ctx.gpr[23], ctx.gpr[30], aot_gpr_31};
|
|
aot_mem.aot_direct_store32_block(ctx.gpr[29] + static_cast<std::uint32_t>(24), aot_run_words); }
|
|
ctx.gpr[30] = (ctx.gpr[7] | 0u);
|
|
ctx.gpr[23] = (aot_gpr_6 | 0u);
|
|
aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast<std::uint32_t>(12), ctx.gpr[8]);
|
|
aot_gpr_16 = (aot_gpr_5 | 0u);
|
|
aot_gpr_17 = (aot_gpr_4 | 0u);
|
|
aot_gpr_4 = (ctx.gpr[29] | 0u);
|
|
aot_gpr_5 = (0u | 0u);
|
|
aot_gpr_31 = (0x089D52DCu);
|
|
aot_gpr_6 = (0u | 12u);
|
|
if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B5814C, 213u, 28u, 0x08B5814Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 28u, 0x08B5814Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D52DCu) goto L_089D52DC;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
L_089D52DC:
|
|
ctx.gpr[22] = (ctx.gpr[29] | 0u);
|
|
aot_gpr_6 = (aot_mem.aot_direct_load16(ctx.gpr[30] + static_cast<std::uint32_t>(176)));
|
|
ctx.gpr[7] = (aot_mem.aot_direct_load16(ctx.gpr[23] + static_cast<std::uint32_t>(176)));
|
|
aot_gpr_4 = (ctx.gpr[30] + static_cast<std::uint32_t>(64));
|
|
aot_gpr_5 = (ctx.gpr[23] + static_cast<std::uint32_t>(64));
|
|
ctx.gpr[8] = (47747u << 16u);
|
|
ctx.gpr[8] = (ctx.gpr[8] | 4719u);
|
|
aot_fpr_20 = std::bit_cast<float>(ctx.gpr[8]);
|
|
aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast<std::uint32_t>(16), aot_gpr_16);
|
|
{ const bool branch_taken = aot_gpr_6 == ctx.gpr[7];
|
|
aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast<std::uint32_t>(20), aot_gpr_17);
|
|
if (branch_taken) {
|
|
goto L_089D5314;
|
|
}
|
|
goto L_089D5308;
|
|
}
|
|
L_089D5308:
|
|
aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[22] + static_cast<std::uint32_t>(0)));
|
|
aot_gpr_6 = (aot_gpr_6 | 2u);
|
|
aot_mem.aot_direct_store32(ctx.gpr[22] + static_cast<std::uint32_t>(0), aot_gpr_6);
|
|
goto L_089D5314;
|
|
L_089D5314:
|
|
aot_fpr_12 = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast<std::uint32_t>(0)));
|
|
aot_fpr_13 = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast<std::uint32_t>(0)));
|
|
aot_fpr_12 = aot_fpr_12 - aot_fpr_13;
|
|
ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= aot_fpr_20)) ? 0x00800000u : 0u);
|
|
{ const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u);
|
|
aot_gpr_6 = (0u | 0u);
|
|
if (branch_taken) {
|
|
goto L_089D5350;
|
|
}
|
|
goto L_089D5330;
|
|
}
|
|
L_089D5330:
|
|
ctx.gpr[7] = (14979u << 16u);
|
|
ctx.gpr[7] = (ctx.gpr[7] | 4719u);
|
|
aot_fpr_13 = std::bit_cast<float>(ctx.gpr[7]);
|
|
ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= aot_fpr_13)) ? 0x00800000u : 0u);
|
|
{ const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u);
|
|
aot_gpr_6 = (aot_gpr_6 & 255u);
|
|
if (branch_taken) {
|
|
goto L_089D5354;
|
|
}
|
|
goto L_089D534C;
|
|
}
|
|
L_089D534C:
|
|
aot_gpr_6 = (0u | 1u);
|
|
goto L_089D5350;
|
|
L_089D5350:
|
|
aot_gpr_6 = (aot_gpr_6 & 255u);
|
|
goto L_089D5354;
|
|
L_089D5354:
|
|
{ const bool branch_taken = aot_gpr_6 == 0u;
|
|
if (branch_taken) {
|
|
goto L_089D53A4;
|
|
}
|
|
goto L_089D535C;
|
|
}
|
|
L_089D535C:
|
|
aot_fpr_12 = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast<std::uint32_t>(4)));
|
|
aot_fpr_13 = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast<std::uint32_t>(4)));
|
|
aot_fpr_12 = aot_fpr_12 - aot_fpr_13;
|
|
ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= aot_fpr_20)) ? 0x00800000u : 0u);
|
|
{ const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u);
|
|
aot_gpr_6 = (0u | 0u);
|
|
if (branch_taken) {
|
|
goto L_089D5398;
|
|
}
|
|
goto L_089D5378;
|
|
}
|
|
L_089D5378:
|
|
ctx.gpr[7] = (14979u << 16u);
|
|
ctx.gpr[7] = (ctx.gpr[7] | 4719u);
|
|
aot_fpr_13 = std::bit_cast<float>(ctx.gpr[7]);
|
|
ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= aot_fpr_13)) ? 0x00800000u : 0u);
|
|
{ const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u);
|
|
aot_gpr_6 = (aot_gpr_6 & 255u);
|
|
if (branch_taken) {
|
|
goto L_089D539C;
|
|
}
|
|
goto L_089D5394;
|
|
}
|
|
L_089D5394:
|
|
aot_gpr_6 = (0u | 1u);
|
|
goto L_089D5398;
|
|
L_089D5398:
|
|
aot_gpr_6 = (aot_gpr_6 & 255u);
|
|
goto L_089D539C;
|
|
L_089D539C:
|
|
{ const bool branch_taken = aot_gpr_6 != 0u;
|
|
if (branch_taken) {
|
|
goto L_089D53B4;
|
|
}
|
|
goto L_089D53A4;
|
|
}
|
|
L_089D53A4:
|
|
aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[22] + static_cast<std::uint32_t>(0)));
|
|
aot_gpr_6 = (aot_gpr_6 | 4u);
|
|
{ const bool branch_taken = 0u == 0u;
|
|
aot_mem.aot_direct_store32(ctx.gpr[22] + static_cast<std::uint32_t>(0), aot_gpr_6);
|
|
if (branch_taken) {
|
|
goto L_089D53CC;
|
|
}
|
|
goto L_089D53B4;
|
|
}
|
|
L_089D53B4:
|
|
aot_fpr_12 = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast<std::uint32_t>(0)));
|
|
aot_fpr_13 = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast<std::uint32_t>(4)));
|
|
aot_fpr_14 = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast<std::uint32_t>(8)));
|
|
{ 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_13), std::bit_cast<std::uint32_t>(aot_fpr_14)};
|
|
aot_mem.aot_direct_store32_block(ctx.gpr[23] + static_cast<std::uint32_t>(64), aot_run_words); }
|
|
goto L_089D53CC;
|
|
L_089D53CC:
|
|
aot_gpr_6 = (aot_mem.aot_direct_load16(ctx.gpr[30] + static_cast<std::uint32_t>(178)));
|
|
ctx.gpr[7] = (aot_mem.aot_direct_load16(ctx.gpr[23] + static_cast<std::uint32_t>(178)));
|
|
{ const bool branch_taken = aot_gpr_6 == ctx.gpr[7];
|
|
if (branch_taken) {
|
|
goto L_089D53E8;
|
|
}
|
|
goto L_089D53DC;
|
|
}
|
|
L_089D53DC:
|
|
aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[22] + static_cast<std::uint32_t>(0)));
|
|
aot_gpr_6 = (aot_gpr_6 | 8192u);
|
|
aot_mem.aot_direct_store32(ctx.gpr[22] + static_cast<std::uint32_t>(0), aot_gpr_6);
|
|
goto L_089D53E8;
|
|
L_089D53E8:
|
|
aot_gpr_6 = (aot_mem.aot_direct_load8(ctx.gpr[30] + static_cast<std::uint32_t>(180)));
|
|
ctx.gpr[7] = (aot_mem.aot_direct_load8(ctx.gpr[23] + static_cast<std::uint32_t>(180)));
|
|
{ const bool branch_taken = aot_gpr_6 == ctx.gpr[7];
|
|
if (branch_taken) {
|
|
goto L_089D5404;
|
|
}
|
|
goto L_089D53F8;
|
|
}
|
|
L_089D53F8:
|
|
aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[22] + static_cast<std::uint32_t>(0)));
|
|
aot_gpr_6 = (aot_gpr_6 | 4096u);
|
|
aot_mem.aot_direct_store32(ctx.gpr[22] + static_cast<std::uint32_t>(0), aot_gpr_6);
|
|
goto L_089D5404;
|
|
L_089D5404:
|
|
aot_gpr_6 = (aot_mem.aot_direct_load8(ctx.gpr[30] + static_cast<std::uint32_t>(181)));
|
|
ctx.gpr[7] = (aot_mem.aot_direct_load8(ctx.gpr[23] + static_cast<std::uint32_t>(181)));
|
|
{ const bool branch_taken = aot_gpr_6 == ctx.gpr[7];
|
|
if (branch_taken) {
|
|
goto L_089D5424;
|
|
}
|
|
goto L_089D5414;
|
|
}
|
|
L_089D5414:
|
|
aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[22] + static_cast<std::uint32_t>(0)));
|
|
ctx.gpr[7] = (1024u << 16u);
|
|
aot_gpr_6 = (aot_gpr_6 | ctx.gpr[7]);
|
|
aot_mem.aot_direct_store32(ctx.gpr[22] + static_cast<std::uint32_t>(0), aot_gpr_6);
|
|
goto L_089D5424;
|
|
L_089D5424:
|
|
aot_fpr_12 = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast<std::uint32_t>(8)));
|
|
aot_fpr_13 = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast<std::uint32_t>(8)));
|
|
aot_fpr_12 = aot_fpr_12 - aot_fpr_13;
|
|
ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= aot_fpr_20)) ? 0x00800000u : 0u);
|
|
{ const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u);
|
|
aot_gpr_6 = (0u | 0u);
|
|
if (branch_taken) {
|
|
goto L_089D5460;
|
|
}
|
|
goto L_089D5440;
|
|
}
|
|
L_089D5440:
|
|
ctx.gpr[7] = (14979u << 16u);
|
|
ctx.gpr[7] = (ctx.gpr[7] | 4719u);
|
|
aot_fpr_13 = std::bit_cast<float>(ctx.gpr[7]);
|
|
ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= aot_fpr_13)) ? 0x00800000u : 0u);
|
|
{ const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u);
|
|
aot_gpr_6 = (aot_gpr_6 & 255u);
|
|
if (branch_taken) {
|
|
goto L_089D5464;
|
|
}
|
|
goto L_089D545C;
|
|
}
|
|
L_089D545C:
|
|
aot_gpr_6 = (0u | 1u);
|
|
goto L_089D5460;
|
|
L_089D5460:
|
|
aot_gpr_6 = (aot_gpr_6 & 255u);
|
|
goto L_089D5464;
|
|
L_089D5464:
|
|
{ const bool branch_taken = aot_gpr_6 != 0u;
|
|
if (branch_taken) {
|
|
goto L_089D547C;
|
|
}
|
|
goto L_089D546C;
|
|
}
|
|
L_089D546C:
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[22] + static_cast<std::uint32_t>(0)));
|
|
aot_gpr_4 = (aot_gpr_4 | 8u);
|
|
{ const bool branch_taken = 0u == 0u;
|
|
aot_mem.aot_direct_store32(ctx.gpr[22] + static_cast<std::uint32_t>(0), aot_gpr_4);
|
|
if (branch_taken) {
|
|
goto L_089D5494;
|
|
}
|
|
goto L_089D547C;
|
|
}
|
|
L_089D547C:
|
|
aot_fpr_12 = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast<std::uint32_t>(0)));
|
|
aot_fpr_13 = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast<std::uint32_t>(4)));
|
|
aot_fpr_14 = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast<std::uint32_t>(8)));
|
|
{ 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_13), std::bit_cast<std::uint32_t>(aot_fpr_14)};
|
|
aot_mem.aot_direct_store32_block(ctx.gpr[23] + static_cast<std::uint32_t>(64), aot_run_words); }
|
|
goto L_089D5494;
|
|
L_089D5494:
|
|
aot_fpr_12 = std::bit_cast<float>(aot_mem.aot_direct_load32(ctx.gpr[30] + static_cast<std::uint32_t>(184)));
|
|
aot_fpr_13 = std::bit_cast<float>(aot_mem.aot_direct_load32(ctx.gpr[23] + static_cast<std::uint32_t>(184)));
|
|
aot_fpr_12 = aot_fpr_12 - aot_fpr_13;
|
|
ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= aot_fpr_20)) ? 0x00800000u : 0u);
|
|
{ const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u);
|
|
aot_gpr_4 = (0u | 0u);
|
|
if (branch_taken) {
|
|
goto L_089D54D0;
|
|
}
|
|
goto L_089D54B0;
|
|
}
|
|
L_089D54B0:
|
|
aot_gpr_5 = (14979u << 16u);
|
|
aot_gpr_5 = (aot_gpr_5 | 4719u);
|
|
aot_fpr_13 = std::bit_cast<float>(aot_gpr_5);
|
|
ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= aot_fpr_13)) ? 0x00800000u : 0u);
|
|
{ const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u);
|
|
aot_gpr_4 = (aot_gpr_4 & 255u);
|
|
if (branch_taken) {
|
|
goto L_089D54D4;
|
|
}
|
|
goto L_089D54CC;
|
|
}
|
|
L_089D54CC:
|
|
aot_gpr_4 = (0u | 1u);
|
|
goto L_089D54D0;
|
|
L_089D54D0:
|
|
aot_gpr_4 = (aot_gpr_4 & 255u);
|
|
goto L_089D54D4;
|
|
L_089D54D4:
|
|
{ const bool branch_taken = aot_gpr_4 != 0u;
|
|
if (branch_taken) {
|
|
goto L_089D54EC;
|
|
}
|
|
goto L_089D54DC;
|
|
}
|
|
L_089D54DC:
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[22] + static_cast<std::uint32_t>(0)));
|
|
aot_gpr_4 = (aot_gpr_4 | 16u);
|
|
{ const bool branch_taken = 0u == 0u;
|
|
aot_mem.aot_direct_store32(ctx.gpr[22] + static_cast<std::uint32_t>(0), aot_gpr_4);
|
|
if (branch_taken) {
|
|
goto L_089D54F4;
|
|
}
|
|
goto L_089D54EC;
|
|
}
|
|
L_089D54EC:
|
|
aot_fpr_12 = std::bit_cast<float>(aot_mem.aot_direct_load32(ctx.gpr[30] + static_cast<std::uint32_t>(184)));
|
|
aot_mem.aot_direct_store32(ctx.gpr[23] + static_cast<std::uint32_t>(184), std::bit_cast<std::uint32_t>(aot_fpr_12));
|
|
goto L_089D54F4;
|
|
L_089D54F4:
|
|
aot_fpr_12 = std::bit_cast<float>(aot_mem.aot_direct_load32(ctx.gpr[30] + static_cast<std::uint32_t>(188)));
|
|
aot_fpr_13 = std::bit_cast<float>(aot_mem.aot_direct_load32(ctx.gpr[23] + static_cast<std::uint32_t>(188)));
|
|
aot_fpr_12 = aot_fpr_12 - aot_fpr_13;
|
|
ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= aot_fpr_20)) ? 0x00800000u : 0u);
|
|
{ const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u);
|
|
aot_gpr_4 = (0u | 0u);
|
|
if (branch_taken) {
|
|
goto L_089D5530;
|
|
}
|
|
goto L_089D5510;
|
|
}
|
|
L_089D5510:
|
|
aot_gpr_5 = (14979u << 16u);
|
|
aot_gpr_5 = (aot_gpr_5 | 4719u);
|
|
aot_fpr_13 = std::bit_cast<float>(aot_gpr_5);
|
|
ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= aot_fpr_13)) ? 0x00800000u : 0u);
|
|
{ const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u);
|
|
aot_gpr_4 = (aot_gpr_4 & 255u);
|
|
if (branch_taken) {
|
|
goto L_089D5534;
|
|
}
|
|
goto L_089D552C;
|
|
}
|
|
L_089D552C:
|
|
aot_gpr_4 = (0u | 1u);
|
|
goto L_089D5530;
|
|
L_089D5530:
|
|
aot_gpr_4 = (aot_gpr_4 & 255u);
|
|
goto L_089D5534;
|
|
L_089D5534:
|
|
{ const bool branch_taken = aot_gpr_4 != 0u;
|
|
if (branch_taken) {
|
|
goto L_089D554C;
|
|
}
|
|
goto L_089D553C;
|
|
}
|
|
L_089D553C:
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[22] + static_cast<std::uint32_t>(0)));
|
|
aot_gpr_4 = (aot_gpr_4 | 32u);
|
|
{ const bool branch_taken = 0u == 0u;
|
|
aot_mem.aot_direct_store32(ctx.gpr[22] + static_cast<std::uint32_t>(0), aot_gpr_4);
|
|
if (branch_taken) {
|
|
goto L_089D5554;
|
|
}
|
|
goto L_089D554C;
|
|
}
|
|
L_089D554C:
|
|
aot_fpr_12 = std::bit_cast<float>(aot_mem.aot_direct_load32(ctx.gpr[30] + static_cast<std::uint32_t>(188)));
|
|
aot_mem.aot_direct_store32(ctx.gpr[23] + static_cast<std::uint32_t>(188), std::bit_cast<std::uint32_t>(aot_fpr_12));
|
|
goto L_089D5554;
|
|
L_089D5554:
|
|
aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[30] + static_cast<std::uint32_t>(214)));
|
|
aot_gpr_5 = (aot_mem.aot_direct_load8(ctx.gpr[23] + static_cast<std::uint32_t>(214)));
|
|
{ const bool branch_taken = aot_gpr_4 == aot_gpr_5;
|
|
if (branch_taken) {
|
|
goto L_089D5570;
|
|
}
|
|
goto L_089D5564;
|
|
}
|
|
L_089D5564:
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[22] + static_cast<std::uint32_t>(0)));
|
|
aot_gpr_4 = (aot_gpr_4 | 64u);
|
|
aot_mem.aot_direct_store32(ctx.gpr[22] + static_cast<std::uint32_t>(0), aot_gpr_4);
|
|
goto L_089D5570;
|
|
L_089D5570:
|
|
aot_gpr_17 = (0u | 0u);
|
|
aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[23] + static_cast<std::uint32_t>(214)));
|
|
aot_gpr_4 = (aot_gpr_17 < aot_gpr_4 ? 1u : 0u);
|
|
{ const bool branch_taken = aot_gpr_4 == 0u;
|
|
ctx.gpr[18] = (ctx.gpr[30] + static_cast<std::uint32_t>(216));
|
|
if (branch_taken) {
|
|
goto L_089D55F4;
|
|
}
|
|
goto L_089D5584;
|
|
}
|
|
L_089D5584:
|
|
ctx.gpr[21] = (0u | 255u);
|
|
ctx.gpr[20] = (0u | 128u);
|
|
ctx.gpr[19] = (ctx.gpr[23] + static_cast<std::uint32_t>(216));
|
|
goto L_089D5590;
|
|
L_089D5590:
|
|
aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[30] + static_cast<std::uint32_t>(214)));
|
|
aot_gpr_4 = (aot_gpr_17 < aot_gpr_4 ? 1u : 0u);
|
|
{ const bool branch_taken = aot_gpr_4 == 0u;
|
|
aot_gpr_16 = (ctx.gpr[29] + aot_gpr_17);
|
|
if (branch_taken) {
|
|
goto L_089D55BC;
|
|
}
|
|
goto L_089D55A0;
|
|
}
|
|
L_089D55A0:
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast<std::uint32_t>(16)));
|
|
ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast<std::uint32_t>(12)));
|
|
aot_gpr_5 = (ctx.gpr[19] | 0u);
|
|
aot_gpr_31 = (0x089D55B4u);
|
|
aot_gpr_6 = (ctx.gpr[18] | 0u);
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0115_entry, 115u, 604u, 0x089D34D0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D55B4u) goto L_089D55B4;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
L_089D55B4:
|
|
{ const bool branch_taken = 0u == 0u;
|
|
aot_mem.aot_direct_store8(aot_gpr_16 + static_cast<std::uint32_t>(4), static_cast<std::uint8_t>(ctx.gpr[2]));
|
|
if (branch_taken) {
|
|
goto L_089D55C0;
|
|
}
|
|
goto L_089D55BC;
|
|
}
|
|
L_089D55BC:
|
|
aot_mem.aot_direct_store8(aot_gpr_16 + static_cast<std::uint32_t>(4), static_cast<std::uint8_t>(ctx.gpr[21]));
|
|
goto L_089D55C0;
|
|
L_089D55C0:
|
|
aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast<std::uint32_t>(4)));
|
|
{ const bool branch_taken = aot_gpr_4 == 0u;
|
|
if (branch_taken) {
|
|
goto L_089D55DC;
|
|
}
|
|
goto L_089D55CC;
|
|
}
|
|
L_089D55CC:
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[22] + static_cast<std::uint32_t>(0)));
|
|
aot_gpr_5 = (ctx.gpr[20] << (aot_gpr_17 & 31u));
|
|
aot_gpr_4 = (aot_gpr_4 | aot_gpr_5);
|
|
aot_mem.aot_direct_store32(ctx.gpr[22] + static_cast<std::uint32_t>(0), aot_gpr_4);
|
|
goto L_089D55DC;
|
|
L_089D55DC:
|
|
aot_gpr_17 = (aot_gpr_17 + static_cast<std::uint32_t>(1));
|
|
ctx.gpr[19] = (ctx.gpr[19] + static_cast<std::uint32_t>(24));
|
|
aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[23] + static_cast<std::uint32_t>(214)));
|
|
aot_gpr_4 = (aot_gpr_17 < aot_gpr_4 ? 1u : 0u);
|
|
{ const bool branch_taken = aot_gpr_4 != 0u;
|
|
ctx.gpr[18] = (ctx.gpr[18] + static_cast<std::uint32_t>(24));
|
|
if (branch_taken) {
|
|
goto L_089D5590;
|
|
}
|
|
goto L_089D55F4;
|
|
}
|
|
L_089D55F4:
|
|
aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[30] + static_cast<std::uint32_t>(192)));
|
|
aot_gpr_5 = (aot_mem.aot_direct_load8(ctx.gpr[23] + static_cast<std::uint32_t>(192)));
|
|
{ const bool branch_taken = aot_gpr_4 == aot_gpr_5;
|
|
if (branch_taken) {
|
|
goto L_089D5610;
|
|
}
|
|
goto L_089D5604;
|
|
}
|
|
L_089D5604:
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[22] + static_cast<std::uint32_t>(0)));
|
|
aot_gpr_4 = (aot_gpr_4 | 16384u);
|
|
aot_mem.aot_direct_store32(ctx.gpr[22] + static_cast<std::uint32_t>(0), aot_gpr_4);
|
|
goto L_089D5610;
|
|
L_089D5610:
|
|
aot_gpr_4 = (ctx.gpr[23] + static_cast<std::uint32_t>(192));
|
|
aot_gpr_5 = (ctx.gpr[30] + static_cast<std::uint32_t>(192));
|
|
aot_gpr_31 = (0x089D5620u);
|
|
aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast<std::uint32_t>(12)));
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0166_entry, 166u, 185u, 0x08A9D5B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D5620u) goto L_089D5620;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
L_089D5620:
|
|
aot_mem.aot_direct_store8(ctx.gpr[29] + static_cast<std::uint32_t>(9), static_cast<std::uint8_t>(ctx.gpr[2]));
|
|
aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[29] + static_cast<std::uint32_t>(9)));
|
|
{ const bool branch_taken = aot_gpr_4 == 0u;
|
|
if (branch_taken) {
|
|
goto L_089D563C;
|
|
}
|
|
goto L_089D5630;
|
|
}
|
|
L_089D5630:
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[22] + static_cast<std::uint32_t>(0)));
|
|
aot_gpr_4 = (aot_gpr_4 | 32768u);
|
|
aot_mem.aot_direct_store32(ctx.gpr[22] + static_cast<std::uint32_t>(0), aot_gpr_4);
|
|
goto L_089D563C;
|
|
L_089D563C:
|
|
aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[30] + static_cast<std::uint32_t>(183)));
|
|
aot_gpr_5 = (aot_mem.aot_direct_load8(ctx.gpr[23] + static_cast<std::uint32_t>(183)));
|
|
{ const bool branch_taken = aot_gpr_4 == aot_gpr_5;
|
|
if (branch_taken) {
|
|
goto L_089D565C;
|
|
}
|
|
goto L_089D564C;
|
|
}
|
|
L_089D564C:
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[22] + static_cast<std::uint32_t>(0)));
|
|
aot_gpr_5 = (1u << 16u);
|
|
aot_gpr_4 = (aot_gpr_4 | aot_gpr_5);
|
|
aot_mem.aot_direct_store32(ctx.gpr[22] + static_cast<std::uint32_t>(0), aot_gpr_4);
|
|
goto L_089D565C;
|
|
L_089D565C:
|
|
aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[23] + static_cast<std::uint32_t>(183)));
|
|
aot_gpr_5 = (0u | 11u);
|
|
{ const bool branch_taken = aot_gpr_4 != aot_gpr_5;
|
|
if (branch_taken) {
|
|
goto L_089D568C;
|
|
}
|
|
goto L_089D566C;
|
|
}
|
|
L_089D566C:
|
|
aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[30] + static_cast<std::uint32_t>(345)));
|
|
aot_gpr_5 = (aot_mem.aot_direct_load8(ctx.gpr[23] + static_cast<std::uint32_t>(345)));
|
|
{ const bool branch_taken = aot_gpr_4 == aot_gpr_5;
|
|
if (branch_taken) {
|
|
goto L_089D568C;
|
|
}
|
|
goto L_089D567C;
|
|
}
|
|
L_089D567C:
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[22] + static_cast<std::uint32_t>(0)));
|
|
aot_gpr_5 = (512u << 16u);
|
|
aot_gpr_4 = (aot_gpr_4 | aot_gpr_5);
|
|
aot_mem.aot_direct_store32(ctx.gpr[22] + static_cast<std::uint32_t>(0), aot_gpr_4);
|
|
goto L_089D568C;
|
|
L_089D568C:
|
|
aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[30] + static_cast<std::uint32_t>(336)));
|
|
aot_gpr_5 = (aot_mem.aot_direct_load8(ctx.gpr[23] + static_cast<std::uint32_t>(336)));
|
|
{ const bool branch_taken = aot_gpr_4 == aot_gpr_5;
|
|
if (branch_taken) {
|
|
goto L_089D56AC;
|
|
}
|
|
goto L_089D569C;
|
|
}
|
|
L_089D569C:
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[22] + static_cast<std::uint32_t>(0)));
|
|
aot_gpr_5 = (2u << 16u);
|
|
aot_gpr_4 = (aot_gpr_4 | aot_gpr_5);
|
|
aot_mem.aot_direct_store32(ctx.gpr[22] + static_cast<std::uint32_t>(0), aot_gpr_4);
|
|
goto L_089D56AC;
|
|
L_089D56AC:
|
|
aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[30] + static_cast<std::uint32_t>(337)));
|
|
aot_gpr_5 = (aot_mem.aot_direct_load8(ctx.gpr[23] + static_cast<std::uint32_t>(337)));
|
|
{ const bool branch_taken = aot_gpr_4 == aot_gpr_5;
|
|
if (branch_taken) {
|
|
goto L_089D56CC;
|
|
}
|
|
goto L_089D56BC;
|
|
}
|
|
L_089D56BC:
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[22] + static_cast<std::uint32_t>(0)));
|
|
aot_gpr_5 = (4u << 16u);
|
|
aot_gpr_4 = (aot_gpr_4 | aot_gpr_5);
|
|
aot_mem.aot_direct_store32(ctx.gpr[22] + static_cast<std::uint32_t>(0), aot_gpr_4);
|
|
goto L_089D56CC;
|
|
L_089D56CC:
|
|
aot_gpr_4 = (aot_mem.aot_direct_load16(ctx.gpr[30] + static_cast<std::uint32_t>(338)));
|
|
aot_gpr_5 = (aot_mem.aot_direct_load16(ctx.gpr[23] + static_cast<std::uint32_t>(338)));
|
|
{ const bool branch_taken = aot_gpr_4 == aot_gpr_5;
|
|
if (branch_taken) {
|
|
goto L_089D56EC;
|
|
}
|
|
goto L_089D56DC;
|
|
}
|
|
L_089D56DC:
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[22] + static_cast<std::uint32_t>(0)));
|
|
aot_gpr_5 = (8u << 16u);
|
|
aot_gpr_4 = (aot_gpr_4 | aot_gpr_5);
|
|
aot_mem.aot_direct_store32(ctx.gpr[22] + static_cast<std::uint32_t>(0), aot_gpr_4);
|
|
goto L_089D56EC;
|
|
L_089D56EC:
|
|
aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[30] + static_cast<std::uint32_t>(340)));
|
|
aot_gpr_5 = (aot_mem.aot_direct_load8(ctx.gpr[23] + static_cast<std::uint32_t>(340)));
|
|
if (aot_gpr_4 == aot_gpr_5) {
|
|
aot_gpr_16 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast<std::uint32_t>(16)));
|
|
goto L_089D5710;
|
|
}
|
|
goto L_089D56FC;
|
|
L_089D56FC:
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[22] + static_cast<std::uint32_t>(0)));
|
|
aot_gpr_5 = (16u << 16u);
|
|
aot_gpr_4 = (aot_gpr_4 | aot_gpr_5);
|
|
aot_mem.aot_direct_store32(ctx.gpr[22] + static_cast<std::uint32_t>(0), aot_gpr_4);
|
|
aot_gpr_16 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast<std::uint32_t>(16)));
|
|
goto L_089D5710;
|
|
L_089D5710:
|
|
aot_gpr_31 = (0x089D5718u);
|
|
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 == 0x089D5718u) goto L_089D5718;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
L_089D5718:
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(104)));
|
|
{ const bool branch_taken = ctx.gpr[2] != aot_gpr_4;
|
|
if (branch_taken) {
|
|
goto L_089D5840;
|
|
}
|
|
goto L_089D5724;
|
|
}
|
|
L_089D5724:
|
|
aot_fpr_12 = std::bit_cast<float>(aot_mem.aot_direct_load32(ctx.gpr[30] + static_cast<std::uint32_t>(96)));
|
|
aot_fpr_13 = std::bit_cast<float>(aot_mem.aot_direct_load32(ctx.gpr[23] + static_cast<std::uint32_t>(96)));
|
|
aot_fpr_12 = aot_fpr_12 - aot_fpr_13;
|
|
ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= aot_fpr_20)) ? 0x00800000u : 0u);
|
|
{ const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u);
|
|
aot_gpr_4 = (0u | 0u);
|
|
if (branch_taken) {
|
|
goto L_089D5760;
|
|
}
|
|
goto L_089D5740;
|
|
}
|
|
L_089D5740:
|
|
aot_gpr_5 = (14979u << 16u);
|
|
aot_gpr_5 = (aot_gpr_5 | 4719u);
|
|
aot_fpr_13 = std::bit_cast<float>(aot_gpr_5);
|
|
ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= aot_fpr_13)) ? 0x00800000u : 0u);
|
|
{ const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u);
|
|
aot_gpr_4 = (aot_gpr_4 & 255u);
|
|
if (branch_taken) {
|
|
goto L_089D5764;
|
|
}
|
|
goto L_089D575C;
|
|
}
|
|
L_089D575C:
|
|
aot_gpr_4 = (0u | 1u);
|
|
goto L_089D5760;
|
|
L_089D5760:
|
|
aot_gpr_4 = (aot_gpr_4 & 255u);
|
|
goto L_089D5764;
|
|
L_089D5764:
|
|
{ const bool branch_taken = aot_gpr_4 == 0u;
|
|
if (branch_taken) {
|
|
goto L_089D57FC;
|
|
}
|
|
goto L_089D576C;
|
|
}
|
|
L_089D576C:
|
|
aot_fpr_12 = std::bit_cast<float>(aot_mem.aot_direct_load32(ctx.gpr[30] + static_cast<std::uint32_t>(100)));
|
|
aot_fpr_13 = std::bit_cast<float>(aot_mem.aot_direct_load32(ctx.gpr[23] + static_cast<std::uint32_t>(100)));
|
|
aot_fpr_12 = aot_fpr_12 - aot_fpr_13;
|
|
ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= aot_fpr_20)) ? 0x00800000u : 0u);
|
|
{ const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u);
|
|
aot_gpr_4 = (0u | 0u);
|
|
if (branch_taken) {
|
|
goto L_089D57A8;
|
|
}
|
|
goto L_089D5788;
|
|
}
|
|
L_089D5788:
|
|
aot_gpr_5 = (14979u << 16u);
|
|
aot_gpr_5 = (aot_gpr_5 | 4719u);
|
|
aot_fpr_13 = std::bit_cast<float>(aot_gpr_5);
|
|
ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= aot_fpr_13)) ? 0x00800000u : 0u);
|
|
{ const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u);
|
|
aot_gpr_4 = (aot_gpr_4 & 255u);
|
|
if (branch_taken) {
|
|
goto L_089D57AC;
|
|
}
|
|
goto L_089D57A4;
|
|
}
|
|
L_089D57A4:
|
|
aot_gpr_4 = (0u | 1u);
|
|
goto L_089D57A8;
|
|
L_089D57A8:
|
|
aot_gpr_4 = (aot_gpr_4 & 255u);
|
|
goto L_089D57AC;
|
|
L_089D57AC:
|
|
{ const bool branch_taken = aot_gpr_4 == 0u;
|
|
if (branch_taken) {
|
|
goto L_089D57FC;
|
|
}
|
|
goto L_089D57B4;
|
|
}
|
|
L_089D57B4:
|
|
aot_fpr_12 = std::bit_cast<float>(aot_mem.aot_direct_load32(ctx.gpr[30] + static_cast<std::uint32_t>(104)));
|
|
aot_fpr_13 = std::bit_cast<float>(aot_mem.aot_direct_load32(ctx.gpr[23] + static_cast<std::uint32_t>(104)));
|
|
aot_fpr_12 = aot_fpr_12 - aot_fpr_13;
|
|
ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= aot_fpr_20)) ? 0x00800000u : 0u);
|
|
{ const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u);
|
|
aot_gpr_4 = (0u | 0u);
|
|
if (branch_taken) {
|
|
goto L_089D57F0;
|
|
}
|
|
goto L_089D57D0;
|
|
}
|
|
L_089D57D0:
|
|
aot_gpr_5 = (14979u << 16u);
|
|
aot_gpr_5 = (aot_gpr_5 | 4719u);
|
|
aot_fpr_13 = std::bit_cast<float>(aot_gpr_5);
|
|
ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= aot_fpr_13)) ? 0x00800000u : 0u);
|
|
{ const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u);
|
|
aot_gpr_4 = (aot_gpr_4 & 255u);
|
|
if (branch_taken) {
|
|
goto L_089D57F4;
|
|
}
|
|
goto L_089D57EC;
|
|
}
|
|
L_089D57EC:
|
|
aot_gpr_4 = (0u | 1u);
|
|
goto L_089D57F0;
|
|
L_089D57F0:
|
|
aot_gpr_4 = (aot_gpr_4 & 255u);
|
|
goto L_089D57F4;
|
|
L_089D57F4:
|
|
{ const bool branch_taken = aot_gpr_4 != 0u;
|
|
if (branch_taken) {
|
|
goto L_089D5810;
|
|
}
|
|
goto L_089D57FC;
|
|
}
|
|
L_089D57FC:
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[22] + static_cast<std::uint32_t>(0)));
|
|
aot_gpr_5 = (32u << 16u);
|
|
aot_gpr_4 = (aot_gpr_4 | aot_gpr_5);
|
|
{ const bool branch_taken = 0u == 0u;
|
|
aot_mem.aot_direct_store32(ctx.gpr[22] + static_cast<std::uint32_t>(0), aot_gpr_4);
|
|
if (branch_taken) {
|
|
goto L_089D5820;
|
|
}
|
|
goto L_089D5810;
|
|
}
|
|
L_089D5810:
|
|
aot_gpr_4 = (ctx.gpr[30] + 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[23] + 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_089D5820;
|
|
L_089D5820:
|
|
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[30] + static_cast<std::uint32_t>(341))))));
|
|
aot_gpr_5 = (static_cast<std::uint32_t>(static_cast<std::int32_t>(static_cast<std::int8_t>(aot_mem.aot_direct_load8(ctx.gpr[23] + static_cast<std::uint32_t>(341))))));
|
|
{ const bool branch_taken = aot_gpr_4 == aot_gpr_5;
|
|
if (branch_taken) {
|
|
goto L_089D5840;
|
|
}
|
|
goto L_089D5830;
|
|
}
|
|
L_089D5830:
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[22] + static_cast<std::uint32_t>(0)));
|
|
aot_gpr_5 = (64u << 16u);
|
|
aot_gpr_4 = (aot_gpr_4 | aot_gpr_5);
|
|
aot_mem.aot_direct_store32(ctx.gpr[22] + static_cast<std::uint32_t>(0), aot_gpr_4);
|
|
goto L_089D5840;
|
|
L_089D5840:
|
|
aot_gpr_4 = (aot_mem.aot_direct_load16(ctx.gpr[30] + static_cast<std::uint32_t>(342)));
|
|
aot_gpr_5 = (aot_mem.aot_direct_load16(ctx.gpr[23] + static_cast<std::uint32_t>(342)));
|
|
{ const bool branch_taken = aot_gpr_4 == aot_gpr_5;
|
|
if (branch_taken) {
|
|
goto L_089D5860;
|
|
}
|
|
goto L_089D5850;
|
|
}
|
|
L_089D5850:
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[22] + static_cast<std::uint32_t>(0)));
|
|
aot_gpr_5 = (128u << 16u);
|
|
aot_gpr_4 = (aot_gpr_4 | aot_gpr_5);
|
|
aot_mem.aot_direct_store32(ctx.gpr[22] + static_cast<std::uint32_t>(0), aot_gpr_4);
|
|
goto L_089D5860;
|
|
L_089D5860:
|
|
aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[30] + static_cast<std::uint32_t>(344)));
|
|
aot_gpr_5 = (aot_mem.aot_direct_load8(ctx.gpr[23] + static_cast<std::uint32_t>(344)));
|
|
{ const bool branch_taken = aot_gpr_4 == aot_gpr_5;
|
|
if (branch_taken) {
|
|
goto L_089D5880;
|
|
}
|
|
goto L_089D5870;
|
|
}
|
|
L_089D5870:
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[22] + static_cast<std::uint32_t>(0)));
|
|
aot_gpr_5 = (256u << 16u);
|
|
aot_gpr_4 = (aot_gpr_4 | aot_gpr_5);
|
|
aot_mem.aot_direct_store32(ctx.gpr[22] + static_cast<std::uint32_t>(0), aot_gpr_4);
|
|
goto L_089D5880;
|
|
L_089D5880:
|
|
aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[30] + static_cast<std::uint32_t>(346)));
|
|
aot_gpr_5 = (aot_mem.aot_direct_load8(ctx.gpr[23] + static_cast<std::uint32_t>(346)));
|
|
if (aot_gpr_4 == aot_gpr_5) {
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast<std::uint32_t>(20)));
|
|
goto L_089D58A4;
|
|
}
|
|
goto L_089D5890;
|
|
L_089D5890:
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[22] + static_cast<std::uint32_t>(0)));
|
|
aot_gpr_5 = (2048u << 16u);
|
|
aot_gpr_4 = (aot_gpr_4 | aot_gpr_5);
|
|
aot_mem.aot_direct_store32(ctx.gpr[22] + static_cast<std::uint32_t>(0), aot_gpr_4);
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast<std::uint32_t>(20)));
|
|
goto L_089D58A4;
|
|
L_089D58A4:
|
|
{ std::uint32_t aot_run_words[3]{};
|
|
aot_mem.aot_direct_load32_block(ctx.gpr[29] + static_cast<std::uint32_t>(0), aot_run_words);
|
|
aot_gpr_5 = aot_run_words[0];
|
|
aot_gpr_6 = aot_run_words[1];
|
|
ctx.gpr[7] = aot_run_words[2];
|
|
}
|
|
{ const std::uint32_t aot_run_words[3]{aot_gpr_5, aot_gpr_6, ctx.gpr[7]};
|
|
aot_mem.aot_direct_store32_block(aot_gpr_4 + static_cast<std::uint32_t>(0), aot_run_words); }
|
|
{ std::uint32_t aot_run_words[11]{};
|
|
aot_mem.aot_direct_load32_block(ctx.gpr[29] + static_cast<std::uint32_t>(24), aot_run_words);
|
|
aot_fpr_20 = std::bit_cast<float>(aot_run_words[0]);
|
|
aot_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];
|
|
ctx.gpr[21] = aot_run_words[6];
|
|
ctx.gpr[22] = aot_run_words[7];
|
|
ctx.gpr[23] = aot_run_words[8];
|
|
ctx.gpr[30] = aot_run_words[9];
|
|
aot_gpr_31 = aot_run_words[10];
|
|
}
|
|
jump_target = aot_gpr_31;
|
|
ctx.gpr[29] = (ctx.gpr[29] + static_cast<std::uint32_t>(80));
|
|
local_pc = jump_target;
|
|
if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; }
|
|
// PSPRECOMP_V812_SHARED_SCHED_JUMP
|
|
goto LOCAL_SCHED_BOUNDARY;
|
|
L_089D58F0:
|
|
ctx.gpr[29] = (ctx.gpr[29] + static_cast<std::uint32_t>(-64));
|
|
{ const std::uint32_t aot_run_words[8]{aot_gpr_16, aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], aot_gpr_31};
|
|
aot_mem.aot_direct_store32_block(ctx.gpr[29] + static_cast<std::uint32_t>(24), aot_run_words); }
|
|
aot_gpr_16 = (aot_gpr_4 | 0u);
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[7] + static_cast<std::uint32_t>(0)));
|
|
ctx.gpr[8] = (aot_mem.aot_direct_load32(ctx.gpr[7] + static_cast<std::uint32_t>(4)));
|
|
ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[7] + static_cast<std::uint32_t>(8)));
|
|
{ const std::uint32_t aot_run_words[3]{aot_gpr_4, ctx.gpr[8], ctx.gpr[7]};
|
|
aot_mem.aot_direct_store32_block(ctx.gpr[29] + static_cast<std::uint32_t>(12), aot_run_words); }
|
|
aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_6 + static_cast<std::uint32_t>(214)));
|
|
aot_gpr_17 = (aot_gpr_5 | 0u);
|
|
ctx.gpr[18] = (aot_gpr_6 | 0u);
|
|
ctx.gpr[19] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast<std::uint32_t>(12)));
|
|
aot_gpr_5 = (aot_gpr_4 < static_cast<std::uint32_t>(5) ? 1u : 0u);
|
|
{ const bool branch_taken = aot_gpr_5 == 0u;
|
|
aot_gpr_5 = (0u | 128u);
|
|
if (branch_taken) {
|
|
goto L_089D5968;
|
|
}
|
|
goto L_089D594C;
|
|
}
|
|
L_089D594C:
|
|
aot_gpr_6 = (aot_gpr_5 << (aot_gpr_4 & 31u));
|
|
aot_gpr_6 = (~(aot_gpr_6 | 0u));
|
|
ctx.gpr[19] = (ctx.gpr[19] & aot_gpr_6);
|
|
aot_gpr_4 = (aot_gpr_4 + static_cast<std::uint32_t>(1));
|
|
aot_gpr_6 = (aot_gpr_4 < static_cast<std::uint32_t>(5) ? 1u : 0u);
|
|
{ const bool branch_taken = aot_gpr_6 != 0u;
|
|
if (branch_taken) {
|
|
goto L_089D594C;
|
|
}
|
|
goto L_089D5968;
|
|
}
|
|
L_089D5968:
|
|
aot_gpr_4 = (ctx.gpr[19] & 65535u);
|
|
aot_gpr_4 = (aot_gpr_4 & 65535u);
|
|
aot_gpr_5 = (aot_gpr_4 & 255u);
|
|
aot_gpr_6 = (aot_mem.aot_direct_load_word_right(aot_gpr_17 + static_cast<std::uint32_t>(0), aot_gpr_6));
|
|
aot_gpr_6 = (aot_mem.aot_direct_load_word_left(aot_gpr_17 + static_cast<std::uint32_t>(3), aot_gpr_6));
|
|
aot_gpr_6 = (aot_gpr_6 & 65535u);
|
|
ctx.gpr[7] = (aot_gpr_17 + aot_gpr_6);
|
|
aot_gpr_6 = (aot_gpr_6 + static_cast<std::uint32_t>(1));
|
|
aot_mem.aot_direct_store8(aot_gpr_17 + static_cast<std::uint32_t>(0), static_cast<std::uint8_t>(aot_gpr_6));
|
|
ctx.gpr[1] = (static_cast<std::uint32_t>(static_cast<std::int32_t>(aot_gpr_6) >> 8u));
|
|
aot_mem.aot_direct_store8(aot_gpr_17 + static_cast<std::uint32_t>(1), static_cast<std::uint8_t>(ctx.gpr[1]));
|
|
aot_mem.aot_direct_store8(ctx.gpr[7] + static_cast<std::uint32_t>(0), static_cast<std::uint8_t>(aot_gpr_5));
|
|
aot_gpr_4 = (static_cast<std::uint32_t>(static_cast<std::int32_t>(aot_gpr_4) >> 8u));
|
|
aot_gpr_4 = (aot_gpr_4 & 255u);
|
|
aot_gpr_5 = (aot_mem.aot_direct_load_word_right(aot_gpr_17 + static_cast<std::uint32_t>(0), aot_gpr_5));
|
|
aot_gpr_5 = (aot_mem.aot_direct_load_word_left(aot_gpr_17 + static_cast<std::uint32_t>(3), aot_gpr_5));
|
|
aot_gpr_5 = (aot_gpr_5 & 65535u);
|
|
aot_gpr_6 = (aot_gpr_17 + aot_gpr_5);
|
|
aot_gpr_5 = (aot_gpr_5 + static_cast<std::uint32_t>(1));
|
|
aot_mem.aot_direct_store8(aot_gpr_17 + static_cast<std::uint32_t>(0), static_cast<std::uint8_t>(aot_gpr_5));
|
|
ctx.gpr[1] = (static_cast<std::uint32_t>(static_cast<std::int32_t>(aot_gpr_5) >> 8u));
|
|
aot_mem.aot_direct_store8(aot_gpr_17 + static_cast<std::uint32_t>(1), static_cast<std::uint8_t>(ctx.gpr[1]));
|
|
aot_mem.aot_direct_store8(aot_gpr_6 + static_cast<std::uint32_t>(0), static_cast<std::uint8_t>(aot_gpr_4));
|
|
aot_gpr_4 = (ctx.gpr[19] >> 16u);
|
|
aot_gpr_4 = (aot_gpr_4 & 65535u);
|
|
aot_gpr_5 = (aot_gpr_4 & 255u);
|
|
aot_gpr_6 = (aot_mem.aot_direct_load_word_right(aot_gpr_17 + static_cast<std::uint32_t>(0), aot_gpr_6));
|
|
aot_gpr_6 = (aot_mem.aot_direct_load_word_left(aot_gpr_17 + static_cast<std::uint32_t>(3), aot_gpr_6));
|
|
aot_gpr_6 = (aot_gpr_6 & 65535u);
|
|
ctx.gpr[7] = (aot_gpr_17 + aot_gpr_6);
|
|
aot_gpr_6 = (aot_gpr_6 + static_cast<std::uint32_t>(1));
|
|
aot_mem.aot_direct_store8(aot_gpr_17 + static_cast<std::uint32_t>(0), static_cast<std::uint8_t>(aot_gpr_6));
|
|
ctx.gpr[1] = (static_cast<std::uint32_t>(static_cast<std::int32_t>(aot_gpr_6) >> 8u));
|
|
aot_mem.aot_direct_store8(aot_gpr_17 + static_cast<std::uint32_t>(1), static_cast<std::uint8_t>(ctx.gpr[1]));
|
|
aot_mem.aot_direct_store8(ctx.gpr[7] + static_cast<std::uint32_t>(0), static_cast<std::uint8_t>(aot_gpr_5));
|
|
aot_gpr_4 = (static_cast<std::uint32_t>(static_cast<std::int32_t>(aot_gpr_4) >> 8u));
|
|
aot_gpr_4 = (aot_gpr_4 & 255u);
|
|
aot_gpr_5 = (aot_mem.aot_direct_load_word_right(aot_gpr_17 + static_cast<std::uint32_t>(0), aot_gpr_5));
|
|
aot_gpr_5 = (aot_mem.aot_direct_load_word_left(aot_gpr_17 + static_cast<std::uint32_t>(3), aot_gpr_5));
|
|
aot_gpr_5 = (aot_gpr_5 & 65535u);
|
|
aot_gpr_6 = (aot_gpr_17 + aot_gpr_5);
|
|
aot_gpr_5 = (aot_gpr_5 + static_cast<std::uint32_t>(1));
|
|
aot_mem.aot_direct_store8(aot_gpr_17 + static_cast<std::uint32_t>(0), static_cast<std::uint8_t>(aot_gpr_5));
|
|
ctx.gpr[1] = (static_cast<std::uint32_t>(static_cast<std::int32_t>(aot_gpr_5) >> 8u));
|
|
aot_mem.aot_direct_store8(aot_gpr_17 + static_cast<std::uint32_t>(1), static_cast<std::uint8_t>(ctx.gpr[1]));
|
|
aot_mem.aot_direct_store8(aot_gpr_6 + static_cast<std::uint32_t>(0), static_cast<std::uint8_t>(aot_gpr_4));
|
|
aot_gpr_4 = (ctx.gpr[19] & 1u);
|
|
{ const bool branch_taken = aot_gpr_4 == 0u;
|
|
if (branch_taken) {
|
|
goto L_089D5AF8;
|
|
}
|
|
goto L_089D5A2C;
|
|
}
|
|
L_089D5A2C:
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(112)));
|
|
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_4 + static_cast<std::uint32_t>(86))))));
|
|
aot_gpr_4 = (aot_gpr_4 & 65535u);
|
|
aot_gpr_4 = (aot_gpr_4 & 65535u);
|
|
aot_gpr_5 = (aot_gpr_4 & 255u);
|
|
aot_gpr_6 = (aot_mem.aot_direct_load_word_right(aot_gpr_17 + static_cast<std::uint32_t>(0), aot_gpr_6));
|
|
aot_gpr_6 = (aot_mem.aot_direct_load_word_left(aot_gpr_17 + static_cast<std::uint32_t>(3), aot_gpr_6));
|
|
aot_gpr_6 = (aot_gpr_6 & 65535u);
|
|
ctx.gpr[7] = (aot_gpr_17 + aot_gpr_6);
|
|
aot_gpr_6 = (aot_gpr_6 + static_cast<std::uint32_t>(1));
|
|
aot_mem.aot_direct_store8(aot_gpr_17 + static_cast<std::uint32_t>(0), static_cast<std::uint8_t>(aot_gpr_6));
|
|
ctx.gpr[1] = (static_cast<std::uint32_t>(static_cast<std::int32_t>(aot_gpr_6) >> 8u));
|
|
aot_mem.aot_direct_store8(aot_gpr_17 + static_cast<std::uint32_t>(1), static_cast<std::uint8_t>(ctx.gpr[1]));
|
|
aot_mem.aot_direct_store8(ctx.gpr[7] + static_cast<std::uint32_t>(0), static_cast<std::uint8_t>(aot_gpr_5));
|
|
aot_gpr_4 = (static_cast<std::uint32_t>(static_cast<std::int32_t>(aot_gpr_4) >> 8u));
|
|
aot_gpr_4 = (aot_gpr_4 & 255u);
|
|
aot_gpr_5 = (aot_mem.aot_direct_load_word_right(aot_gpr_17 + static_cast<std::uint32_t>(0), aot_gpr_5));
|
|
aot_gpr_5 = (aot_mem.aot_direct_load_word_left(aot_gpr_17 + static_cast<std::uint32_t>(3), aot_gpr_5));
|
|
aot_gpr_5 = (aot_gpr_5 & 65535u);
|
|
aot_gpr_6 = (aot_gpr_17 + aot_gpr_5);
|
|
aot_gpr_5 = (aot_gpr_5 + static_cast<std::uint32_t>(1));
|
|
aot_mem.aot_direct_store8(aot_gpr_17 + static_cast<std::uint32_t>(0), static_cast<std::uint8_t>(aot_gpr_5));
|
|
ctx.gpr[1] = (static_cast<std::uint32_t>(static_cast<std::int32_t>(aot_gpr_5) >> 8u));
|
|
aot_mem.aot_direct_store8(aot_gpr_17 + static_cast<std::uint32_t>(1), static_cast<std::uint8_t>(ctx.gpr[1]));
|
|
aot_mem.aot_direct_store8(aot_gpr_6 + static_cast<std::uint32_t>(0), static_cast<std::uint8_t>(aot_gpr_4));
|
|
aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[18] + static_cast<std::uint32_t>(182)));
|
|
aot_gpr_5 = (aot_mem.aot_direct_load_word_right(aot_gpr_17 + static_cast<std::uint32_t>(0), aot_gpr_5));
|
|
aot_gpr_5 = (aot_mem.aot_direct_load_word_left(aot_gpr_17 + static_cast<std::uint32_t>(3), aot_gpr_5));
|
|
aot_gpr_5 = (aot_gpr_5 & 65535u);
|
|
aot_gpr_6 = (aot_gpr_17 + aot_gpr_5);
|
|
aot_gpr_5 = (aot_gpr_5 + static_cast<std::uint32_t>(1));
|
|
aot_mem.aot_direct_store8(aot_gpr_17 + static_cast<std::uint32_t>(0), static_cast<std::uint8_t>(aot_gpr_5));
|
|
ctx.gpr[1] = (static_cast<std::uint32_t>(static_cast<std::int32_t>(aot_gpr_5) >> 8u));
|
|
aot_mem.aot_direct_store8(aot_gpr_17 + static_cast<std::uint32_t>(1), static_cast<std::uint8_t>(ctx.gpr[1]));
|
|
aot_mem.aot_direct_store8(aot_gpr_6 + static_cast<std::uint32_t>(0), static_cast<std::uint8_t>(aot_gpr_4));
|
|
aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[18] + static_cast<std::uint32_t>(182)));
|
|
aot_gpr_5 = (0u | 6u);
|
|
{ const bool branch_taken = aot_gpr_4 != aot_gpr_5;
|
|
if (branch_taken) {
|
|
goto L_089D5AF8;
|
|
}
|
|
goto L_089D5AC8;
|
|
}
|
|
L_089D5AC8:
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(104)));
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast<std::uint32_t>(2308)));
|
|
aot_gpr_4 = (aot_gpr_4 & 255u);
|
|
aot_gpr_5 = (aot_mem.aot_direct_load_word_right(aot_gpr_17 + static_cast<std::uint32_t>(0), aot_gpr_5));
|
|
aot_gpr_5 = (aot_mem.aot_direct_load_word_left(aot_gpr_17 + static_cast<std::uint32_t>(3), aot_gpr_5));
|
|
aot_gpr_5 = (aot_gpr_5 & 65535u);
|
|
aot_gpr_6 = (aot_gpr_17 + aot_gpr_5);
|
|
aot_gpr_5 = (aot_gpr_5 + static_cast<std::uint32_t>(1));
|
|
aot_mem.aot_direct_store8(aot_gpr_17 + static_cast<std::uint32_t>(0), static_cast<std::uint8_t>(aot_gpr_5));
|
|
ctx.gpr[1] = (static_cast<std::uint32_t>(static_cast<std::int32_t>(aot_gpr_5) >> 8u));
|
|
aot_mem.aot_direct_store8(aot_gpr_17 + static_cast<std::uint32_t>(1), static_cast<std::uint8_t>(ctx.gpr[1]));
|
|
aot_mem.aot_direct_store8(aot_gpr_6 + static_cast<std::uint32_t>(0), static_cast<std::uint8_t>(aot_gpr_4));
|
|
goto L_089D5AF8;
|
|
L_089D5AF8:
|
|
aot_gpr_4 = (ctx.gpr[19] & 8192u);
|
|
{ const bool branch_taken = aot_gpr_4 == 0u;
|
|
if (branch_taken) {
|
|
goto L_089D5B60;
|
|
}
|
|
goto L_089D5B04;
|
|
}
|
|
L_089D5B04:
|
|
aot_gpr_4 = (aot_mem.aot_direct_load16(ctx.gpr[18] + static_cast<std::uint32_t>(178)));
|
|
aot_gpr_4 = (aot_gpr_4 & 65535u);
|
|
aot_gpr_5 = (aot_gpr_4 & 255u);
|
|
aot_gpr_6 = (aot_mem.aot_direct_load_word_right(aot_gpr_17 + static_cast<std::uint32_t>(0), aot_gpr_6));
|
|
aot_gpr_6 = (aot_mem.aot_direct_load_word_left(aot_gpr_17 + static_cast<std::uint32_t>(3), aot_gpr_6));
|
|
aot_gpr_6 = (aot_gpr_6 & 65535u);
|
|
ctx.gpr[7] = (aot_gpr_17 + aot_gpr_6);
|
|
aot_gpr_6 = (aot_gpr_6 + static_cast<std::uint32_t>(1));
|
|
aot_mem.aot_direct_store8(aot_gpr_17 + static_cast<std::uint32_t>(0), static_cast<std::uint8_t>(aot_gpr_6));
|
|
ctx.gpr[1] = (static_cast<std::uint32_t>(static_cast<std::int32_t>(aot_gpr_6) >> 8u));
|
|
aot_mem.aot_direct_store8(aot_gpr_17 + static_cast<std::uint32_t>(1), static_cast<std::uint8_t>(ctx.gpr[1]));
|
|
aot_mem.aot_direct_store8(ctx.gpr[7] + static_cast<std::uint32_t>(0), static_cast<std::uint8_t>(aot_gpr_5));
|
|
aot_gpr_4 = (static_cast<std::uint32_t>(static_cast<std::int32_t>(aot_gpr_4) >> 8u));
|
|
aot_gpr_4 = (aot_gpr_4 & 255u);
|
|
aot_gpr_5 = (aot_mem.aot_direct_load_word_right(aot_gpr_17 + static_cast<std::uint32_t>(0), aot_gpr_5));
|
|
aot_gpr_5 = (aot_mem.aot_direct_load_word_left(aot_gpr_17 + static_cast<std::uint32_t>(3), aot_gpr_5));
|
|
aot_gpr_5 = (aot_gpr_5 & 65535u);
|
|
aot_gpr_6 = (aot_gpr_17 + aot_gpr_5);
|
|
aot_gpr_5 = (aot_gpr_5 + static_cast<std::uint32_t>(1));
|
|
aot_mem.aot_direct_store8(aot_gpr_17 + static_cast<std::uint32_t>(0), static_cast<std::uint8_t>(aot_gpr_5));
|
|
ctx.gpr[1] = (static_cast<std::uint32_t>(static_cast<std::int32_t>(aot_gpr_5) >> 8u));
|
|
aot_mem.aot_direct_store8(aot_gpr_17 + static_cast<std::uint32_t>(1), static_cast<std::uint8_t>(ctx.gpr[1]));
|
|
aot_mem.aot_direct_store8(aot_gpr_6 + static_cast<std::uint32_t>(0), static_cast<std::uint8_t>(aot_gpr_4));
|
|
goto L_089D5B60;
|
|
L_089D5B60:
|
|
aot_gpr_4 = (ctx.gpr[19] & 4096u);
|
|
{ const bool branch_taken = aot_gpr_4 == 0u;
|
|
if (branch_taken) {
|
|
goto L_089D5B94;
|
|
}
|
|
goto L_089D5B6C;
|
|
}
|
|
L_089D5B6C:
|
|
aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[18] + static_cast<std::uint32_t>(180)));
|
|
aot_gpr_5 = (aot_mem.aot_direct_load_word_right(aot_gpr_17 + static_cast<std::uint32_t>(0), aot_gpr_5));
|
|
aot_gpr_5 = (aot_mem.aot_direct_load_word_left(aot_gpr_17 + static_cast<std::uint32_t>(3), aot_gpr_5));
|
|
aot_gpr_5 = (aot_gpr_5 & 65535u);
|
|
aot_gpr_6 = (aot_gpr_17 + aot_gpr_5);
|
|
aot_gpr_5 = (aot_gpr_5 + static_cast<std::uint32_t>(1));
|
|
aot_mem.aot_direct_store8(aot_gpr_17 + static_cast<std::uint32_t>(0), static_cast<std::uint8_t>(aot_gpr_5));
|
|
ctx.gpr[1] = (static_cast<std::uint32_t>(static_cast<std::int32_t>(aot_gpr_5) >> 8u));
|
|
aot_mem.aot_direct_store8(aot_gpr_17 + static_cast<std::uint32_t>(1), static_cast<std::uint8_t>(ctx.gpr[1]));
|
|
aot_mem.aot_direct_store8(aot_gpr_6 + static_cast<std::uint32_t>(0), static_cast<std::uint8_t>(aot_gpr_4));
|
|
goto L_089D5B94;
|
|
L_089D5B94:
|
|
aot_gpr_4 = (1024u << 16u);
|
|
aot_gpr_4 = (ctx.gpr[19] & aot_gpr_4);
|
|
{ const bool branch_taken = aot_gpr_4 == 0u;
|
|
if (branch_taken) {
|
|
goto L_089D5BCC;
|
|
}
|
|
goto L_089D5BA4;
|
|
}
|
|
L_089D5BA4:
|
|
aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[18] + static_cast<std::uint32_t>(181)));
|
|
aot_gpr_5 = (aot_mem.aot_direct_load_word_right(aot_gpr_17 + static_cast<std::uint32_t>(0), aot_gpr_5));
|
|
aot_gpr_5 = (aot_mem.aot_direct_load_word_left(aot_gpr_17 + static_cast<std::uint32_t>(3), aot_gpr_5));
|
|
aot_gpr_5 = (aot_gpr_5 & 65535u);
|
|
aot_gpr_6 = (aot_gpr_17 + aot_gpr_5);
|
|
aot_gpr_5 = (aot_gpr_5 + static_cast<std::uint32_t>(1));
|
|
aot_mem.aot_direct_store8(aot_gpr_17 + static_cast<std::uint32_t>(0), static_cast<std::uint8_t>(aot_gpr_5));
|
|
ctx.gpr[1] = (static_cast<std::uint32_t>(static_cast<std::int32_t>(aot_gpr_5) >> 8u));
|
|
aot_mem.aot_direct_store8(aot_gpr_17 + static_cast<std::uint32_t>(1), static_cast<std::uint8_t>(ctx.gpr[1]));
|
|
aot_mem.aot_direct_store8(aot_gpr_6 + static_cast<std::uint32_t>(0), static_cast<std::uint8_t>(aot_gpr_4));
|
|
goto L_089D5BCC;
|
|
L_089D5BCC:
|
|
aot_gpr_4 = (ctx.gpr[19] & 2u);
|
|
{ const bool branch_taken = aot_gpr_4 == 0u;
|
|
if (branch_taken) {
|
|
goto L_089D5C34;
|
|
}
|
|
goto L_089D5BD8;
|
|
}
|
|
L_089D5BD8:
|
|
aot_gpr_4 = (aot_mem.aot_direct_load16(ctx.gpr[18] + static_cast<std::uint32_t>(176)));
|
|
aot_gpr_4 = (aot_gpr_4 & 65535u);
|
|
aot_gpr_5 = (aot_gpr_4 & 255u);
|
|
aot_gpr_6 = (aot_mem.aot_direct_load_word_right(aot_gpr_17 + static_cast<std::uint32_t>(0), aot_gpr_6));
|
|
aot_gpr_6 = (aot_mem.aot_direct_load_word_left(aot_gpr_17 + static_cast<std::uint32_t>(3), aot_gpr_6));
|
|
aot_gpr_6 = (aot_gpr_6 & 65535u);
|
|
ctx.gpr[7] = (aot_gpr_17 + aot_gpr_6);
|
|
aot_gpr_6 = (aot_gpr_6 + static_cast<std::uint32_t>(1));
|
|
aot_mem.aot_direct_store8(aot_gpr_17 + static_cast<std::uint32_t>(0), static_cast<std::uint8_t>(aot_gpr_6));
|
|
ctx.gpr[1] = (static_cast<std::uint32_t>(static_cast<std::int32_t>(aot_gpr_6) >> 8u));
|
|
aot_mem.aot_direct_store8(aot_gpr_17 + static_cast<std::uint32_t>(1), static_cast<std::uint8_t>(ctx.gpr[1]));
|
|
aot_mem.aot_direct_store8(ctx.gpr[7] + static_cast<std::uint32_t>(0), static_cast<std::uint8_t>(aot_gpr_5));
|
|
aot_gpr_4 = (static_cast<std::uint32_t>(static_cast<std::int32_t>(aot_gpr_4) >> 8u));
|
|
aot_gpr_4 = (aot_gpr_4 & 255u);
|
|
aot_gpr_5 = (aot_mem.aot_direct_load_word_right(aot_gpr_17 + static_cast<std::uint32_t>(0), aot_gpr_5));
|
|
aot_gpr_5 = (aot_mem.aot_direct_load_word_left(aot_gpr_17 + static_cast<std::uint32_t>(3), aot_gpr_5));
|
|
aot_gpr_5 = (aot_gpr_5 & 65535u);
|
|
aot_gpr_6 = (aot_gpr_17 + aot_gpr_5);
|
|
aot_gpr_5 = (aot_gpr_5 + static_cast<std::uint32_t>(1));
|
|
aot_mem.aot_direct_store8(aot_gpr_17 + static_cast<std::uint32_t>(0), static_cast<std::uint8_t>(aot_gpr_5));
|
|
ctx.gpr[1] = (static_cast<std::uint32_t>(static_cast<std::int32_t>(aot_gpr_5) >> 8u));
|
|
aot_mem.aot_direct_store8(aot_gpr_17 + static_cast<std::uint32_t>(1), static_cast<std::uint8_t>(ctx.gpr[1]));
|
|
aot_mem.aot_direct_store8(aot_gpr_6 + static_cast<std::uint32_t>(0), static_cast<std::uint8_t>(aot_gpr_4));
|
|
goto L_089D5C34;
|
|
L_089D5C34:
|
|
aot_gpr_4 = (ctx.gpr[19] & 4u);
|
|
{ const bool branch_taken = aot_gpr_4 == 0u;
|
|
if (branch_taken) {
|
|
goto L_089D5DC4;
|
|
}
|
|
goto L_089D5C40;
|
|
}
|
|
L_089D5C40:
|
|
aot_gpr_4 = (ctx.gpr[18] + static_cast<std::uint32_t>(64));
|
|
aot_fpr_12 = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast<std::uint32_t>(0)));
|
|
aot_gpr_5 = (std::bit_cast<std::uint32_t>(aot_fpr_12));
|
|
aot_gpr_6 = (aot_gpr_5 & 65535u);
|
|
aot_gpr_6 = (aot_gpr_6 & 65535u);
|
|
ctx.gpr[7] = (aot_gpr_6 & 255u);
|
|
ctx.gpr[8] = (aot_mem.aot_direct_load_word_right(aot_gpr_17 + static_cast<std::uint32_t>(0), ctx.gpr[8]));
|
|
ctx.gpr[8] = (aot_mem.aot_direct_load_word_left(aot_gpr_17 + static_cast<std::uint32_t>(3), ctx.gpr[8]));
|
|
ctx.gpr[8] = (ctx.gpr[8] & 65535u);
|
|
ctx.gpr[9] = (aot_gpr_17 + ctx.gpr[8]);
|
|
ctx.gpr[8] = (ctx.gpr[8] + static_cast<std::uint32_t>(1));
|
|
aot_mem.aot_direct_store8(aot_gpr_17 + static_cast<std::uint32_t>(0), static_cast<std::uint8_t>(ctx.gpr[8]));
|
|
ctx.gpr[1] = (static_cast<std::uint32_t>(static_cast<std::int32_t>(ctx.gpr[8]) >> 8u));
|
|
aot_mem.aot_direct_store8(aot_gpr_17 + static_cast<std::uint32_t>(1), static_cast<std::uint8_t>(ctx.gpr[1]));
|
|
aot_mem.aot_direct_store8(ctx.gpr[9] + static_cast<std::uint32_t>(0), static_cast<std::uint8_t>(ctx.gpr[7]));
|
|
aot_gpr_6 = (static_cast<std::uint32_t>(static_cast<std::int32_t>(aot_gpr_6) >> 8u));
|
|
aot_gpr_6 = (aot_gpr_6 & 255u);
|
|
ctx.gpr[7] = (aot_mem.aot_direct_load_word_right(aot_gpr_17 + static_cast<std::uint32_t>(0), ctx.gpr[7]));
|
|
ctx.gpr[7] = (aot_mem.aot_direct_load_word_left(aot_gpr_17 + static_cast<std::uint32_t>(3), ctx.gpr[7]));
|
|
ctx.gpr[7] = (ctx.gpr[7] & 65535u);
|
|
ctx.gpr[8] = (aot_gpr_17 + ctx.gpr[7]);
|
|
ctx.gpr[7] = (ctx.gpr[7] + static_cast<std::uint32_t>(1));
|
|
aot_mem.aot_direct_store8(aot_gpr_17 + static_cast<std::uint32_t>(0), static_cast<std::uint8_t>(ctx.gpr[7]));
|
|
ctx.gpr[1] = (static_cast<std::uint32_t>(static_cast<std::int32_t>(ctx.gpr[7]) >> 8u));
|
|
aot_mem.aot_direct_store8(aot_gpr_17 + static_cast<std::uint32_t>(1), static_cast<std::uint8_t>(ctx.gpr[1]));
|
|
aot_mem.aot_direct_store8(ctx.gpr[8] + static_cast<std::uint32_t>(0), static_cast<std::uint8_t>(aot_gpr_6));
|
|
aot_gpr_5 = (aot_gpr_5 >> 16u);
|
|
aot_gpr_5 = (aot_gpr_5 & 65535u);
|
|
aot_gpr_6 = (aot_gpr_5 & 255u);
|
|
ctx.gpr[7] = (aot_mem.aot_direct_load_word_right(aot_gpr_17 + static_cast<std::uint32_t>(0), ctx.gpr[7]));
|
|
ctx.gpr[7] = (aot_mem.aot_direct_load_word_left(aot_gpr_17 + static_cast<std::uint32_t>(3), ctx.gpr[7]));
|
|
ctx.gpr[7] = (ctx.gpr[7] & 65535u);
|
|
ctx.gpr[8] = (aot_gpr_17 + ctx.gpr[7]);
|
|
ctx.gpr[7] = (ctx.gpr[7] + static_cast<std::uint32_t>(1));
|
|
aot_mem.aot_direct_store8(aot_gpr_17 + static_cast<std::uint32_t>(0), static_cast<std::uint8_t>(ctx.gpr[7]));
|
|
ctx.gpr[1] = (static_cast<std::uint32_t>(static_cast<std::int32_t>(ctx.gpr[7]) >> 8u));
|
|
aot_mem.aot_direct_store8(aot_gpr_17 + static_cast<std::uint32_t>(1), static_cast<std::uint8_t>(ctx.gpr[1]));
|
|
aot_mem.aot_direct_store8(ctx.gpr[8] + static_cast<std::uint32_t>(0), static_cast<std::uint8_t>(aot_gpr_6));
|
|
aot_gpr_5 = (static_cast<std::uint32_t>(static_cast<std::int32_t>(aot_gpr_5) >> 8u));
|
|
aot_gpr_5 = (aot_gpr_5 & 255u);
|
|
aot_gpr_6 = (aot_mem.aot_direct_load_word_right(aot_gpr_17 + static_cast<std::uint32_t>(0), aot_gpr_6));
|
|
aot_gpr_6 = (aot_mem.aot_direct_load_word_left(aot_gpr_17 + static_cast<std::uint32_t>(3), aot_gpr_6));
|
|
aot_gpr_6 = (aot_gpr_6 & 65535u);
|
|
ctx.gpr[7] = (aot_gpr_17 + aot_gpr_6);
|
|
aot_gpr_6 = (aot_gpr_6 + static_cast<std::uint32_t>(1));
|
|
aot_mem.aot_direct_store8(aot_gpr_17 + static_cast<std::uint32_t>(0), static_cast<std::uint8_t>(aot_gpr_6));
|
|
ctx.gpr[1] = (static_cast<std::uint32_t>(static_cast<std::int32_t>(aot_gpr_6) >> 8u));
|
|
aot_mem.aot_direct_store8(aot_gpr_17 + static_cast<std::uint32_t>(1), static_cast<std::uint8_t>(ctx.gpr[1]));
|
|
aot_mem.aot_direct_store8(ctx.gpr[7] + static_cast<std::uint32_t>(0), static_cast<std::uint8_t>(aot_gpr_5));
|
|
aot_fpr_12 = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast<std::uint32_t>(4)));
|
|
aot_gpr_4 = (std::bit_cast<std::uint32_t>(aot_fpr_12));
|
|
aot_gpr_5 = (aot_gpr_4 & 65535u);
|
|
aot_gpr_5 = (aot_gpr_5 & 65535u);
|
|
aot_gpr_6 = (aot_gpr_5 & 255u);
|
|
ctx.gpr[7] = (aot_mem.aot_direct_load_word_right(aot_gpr_17 + static_cast<std::uint32_t>(0), ctx.gpr[7]));
|
|
ctx.gpr[7] = (aot_mem.aot_direct_load_word_left(aot_gpr_17 + static_cast<std::uint32_t>(3), ctx.gpr[7]));
|
|
ctx.gpr[7] = (ctx.gpr[7] & 65535u);
|
|
ctx.gpr[8] = (aot_gpr_17 + ctx.gpr[7]);
|
|
ctx.gpr[7] = (ctx.gpr[7] + static_cast<std::uint32_t>(1));
|
|
aot_mem.aot_direct_store8(aot_gpr_17 + static_cast<std::uint32_t>(0), static_cast<std::uint8_t>(ctx.gpr[7]));
|
|
ctx.gpr[1] = (static_cast<std::uint32_t>(static_cast<std::int32_t>(ctx.gpr[7]) >> 8u));
|
|
aot_mem.aot_direct_store8(aot_gpr_17 + static_cast<std::uint32_t>(1), static_cast<std::uint8_t>(ctx.gpr[1]));
|
|
aot_mem.aot_direct_store8(ctx.gpr[8] + static_cast<std::uint32_t>(0), static_cast<std::uint8_t>(aot_gpr_6));
|
|
aot_gpr_5 = (static_cast<std::uint32_t>(static_cast<std::int32_t>(aot_gpr_5) >> 8u));
|
|
aot_gpr_5 = (aot_gpr_5 & 255u);
|
|
aot_gpr_6 = (aot_mem.aot_direct_load_word_right(aot_gpr_17 + static_cast<std::uint32_t>(0), aot_gpr_6));
|
|
aot_gpr_6 = (aot_mem.aot_direct_load_word_left(aot_gpr_17 + static_cast<std::uint32_t>(3), aot_gpr_6));
|
|
aot_gpr_6 = (aot_gpr_6 & 65535u);
|
|
ctx.gpr[7] = (aot_gpr_17 + aot_gpr_6);
|
|
aot_gpr_6 = (aot_gpr_6 + static_cast<std::uint32_t>(1));
|
|
aot_mem.aot_direct_store8(aot_gpr_17 + static_cast<std::uint32_t>(0), static_cast<std::uint8_t>(aot_gpr_6));
|
|
ctx.gpr[1] = (static_cast<std::uint32_t>(static_cast<std::int32_t>(aot_gpr_6) >> 8u));
|
|
aot_mem.aot_direct_store8(aot_gpr_17 + static_cast<std::uint32_t>(1), static_cast<std::uint8_t>(ctx.gpr[1]));
|
|
aot_mem.aot_direct_store8(ctx.gpr[7] + static_cast<std::uint32_t>(0), static_cast<std::uint8_t>(aot_gpr_5));
|
|
aot_gpr_4 = (aot_gpr_4 >> 16u);
|
|
aot_gpr_4 = (aot_gpr_4 & 65535u);
|
|
aot_gpr_5 = (aot_gpr_4 & 255u);
|
|
aot_gpr_6 = (aot_mem.aot_direct_load_word_right(aot_gpr_17 + static_cast<std::uint32_t>(0), aot_gpr_6));
|
|
aot_gpr_6 = (aot_mem.aot_direct_load_word_left(aot_gpr_17 + static_cast<std::uint32_t>(3), aot_gpr_6));
|
|
aot_gpr_6 = (aot_gpr_6 & 65535u);
|
|
ctx.gpr[7] = (aot_gpr_17 + aot_gpr_6);
|
|
aot_gpr_6 = (aot_gpr_6 + static_cast<std::uint32_t>(1));
|
|
aot_mem.aot_direct_store8(aot_gpr_17 + static_cast<std::uint32_t>(0), static_cast<std::uint8_t>(aot_gpr_6));
|
|
ctx.gpr[1] = (static_cast<std::uint32_t>(static_cast<std::int32_t>(aot_gpr_6) >> 8u));
|
|
aot_mem.aot_direct_store8(aot_gpr_17 + static_cast<std::uint32_t>(1), static_cast<std::uint8_t>(ctx.gpr[1]));
|
|
aot_mem.aot_direct_store8(ctx.gpr[7] + static_cast<std::uint32_t>(0), static_cast<std::uint8_t>(aot_gpr_5));
|
|
aot_gpr_4 = (static_cast<std::uint32_t>(static_cast<std::int32_t>(aot_gpr_4) >> 8u));
|
|
aot_gpr_4 = (aot_gpr_4 & 255u);
|
|
aot_gpr_5 = (aot_mem.aot_direct_load_word_right(aot_gpr_17 + static_cast<std::uint32_t>(0), aot_gpr_5));
|
|
aot_gpr_5 = (aot_mem.aot_direct_load_word_left(aot_gpr_17 + static_cast<std::uint32_t>(3), aot_gpr_5));
|
|
aot_gpr_5 = (aot_gpr_5 & 65535u);
|
|
aot_gpr_6 = (aot_gpr_17 + aot_gpr_5);
|
|
aot_gpr_5 = (aot_gpr_5 + static_cast<std::uint32_t>(1));
|
|
aot_mem.aot_direct_store8(aot_gpr_17 + static_cast<std::uint32_t>(0), static_cast<std::uint8_t>(aot_gpr_5));
|
|
ctx.gpr[1] = (static_cast<std::uint32_t>(static_cast<std::int32_t>(aot_gpr_5) >> 8u));
|
|
aot_mem.aot_direct_store8(aot_gpr_17 + static_cast<std::uint32_t>(1), static_cast<std::uint8_t>(ctx.gpr[1]));
|
|
aot_mem.aot_direct_store8(aot_gpr_6 + static_cast<std::uint32_t>(0), static_cast<std::uint8_t>(aot_gpr_4));
|
|
goto L_089D5DC4;
|
|
L_089D5DC4:
|
|
aot_gpr_4 = (ctx.gpr[19] & 8u);
|
|
{ const bool branch_taken = aot_gpr_4 == 0u;
|
|
if (branch_taken) {
|
|
goto L_089D5E94;
|
|
}
|
|
goto L_089D5DD0;
|
|
}
|
|
L_089D5DD0:
|
|
aot_gpr_4 = (ctx.gpr[18] + static_cast<std::uint32_t>(64));
|
|
aot_fpr_12 = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast<std::uint32_t>(8)));
|
|
aot_gpr_4 = (std::bit_cast<std::uint32_t>(aot_fpr_12));
|
|
aot_gpr_5 = (aot_gpr_4 & 65535u);
|
|
aot_gpr_5 = (aot_gpr_5 & 65535u);
|
|
aot_gpr_6 = (aot_gpr_5 & 255u);
|
|
ctx.gpr[7] = (aot_mem.aot_direct_load_word_right(aot_gpr_17 + static_cast<std::uint32_t>(0), ctx.gpr[7]));
|
|
ctx.gpr[7] = (aot_mem.aot_direct_load_word_left(aot_gpr_17 + static_cast<std::uint32_t>(3), ctx.gpr[7]));
|
|
ctx.gpr[7] = (ctx.gpr[7] & 65535u);
|
|
ctx.gpr[8] = (aot_gpr_17 + ctx.gpr[7]);
|
|
ctx.gpr[7] = (ctx.gpr[7] + static_cast<std::uint32_t>(1));
|
|
aot_mem.aot_direct_store8(aot_gpr_17 + static_cast<std::uint32_t>(0), static_cast<std::uint8_t>(ctx.gpr[7]));
|
|
ctx.gpr[1] = (static_cast<std::uint32_t>(static_cast<std::int32_t>(ctx.gpr[7]) >> 8u));
|
|
aot_mem.aot_direct_store8(aot_gpr_17 + static_cast<std::uint32_t>(1), static_cast<std::uint8_t>(ctx.gpr[1]));
|
|
aot_mem.aot_direct_store8(ctx.gpr[8] + static_cast<std::uint32_t>(0), static_cast<std::uint8_t>(aot_gpr_6));
|
|
aot_gpr_5 = (static_cast<std::uint32_t>(static_cast<std::int32_t>(aot_gpr_5) >> 8u));
|
|
aot_gpr_5 = (aot_gpr_5 & 255u);
|
|
aot_gpr_6 = (aot_mem.aot_direct_load_word_right(aot_gpr_17 + static_cast<std::uint32_t>(0), aot_gpr_6));
|
|
aot_gpr_6 = (aot_mem.aot_direct_load_word_left(aot_gpr_17 + static_cast<std::uint32_t>(3), aot_gpr_6));
|
|
aot_gpr_6 = (aot_gpr_6 & 65535u);
|
|
ctx.gpr[7] = (aot_gpr_17 + aot_gpr_6);
|
|
aot_gpr_6 = (aot_gpr_6 + static_cast<std::uint32_t>(1));
|
|
aot_mem.aot_direct_store8(aot_gpr_17 + static_cast<std::uint32_t>(0), static_cast<std::uint8_t>(aot_gpr_6));
|
|
ctx.gpr[1] = (static_cast<std::uint32_t>(static_cast<std::int32_t>(aot_gpr_6) >> 8u));
|
|
aot_mem.aot_direct_store8(aot_gpr_17 + static_cast<std::uint32_t>(1), static_cast<std::uint8_t>(ctx.gpr[1]));
|
|
aot_mem.aot_direct_store8(ctx.gpr[7] + static_cast<std::uint32_t>(0), static_cast<std::uint8_t>(aot_gpr_5));
|
|
aot_gpr_4 = (aot_gpr_4 >> 16u);
|
|
aot_gpr_4 = (aot_gpr_4 & 65535u);
|
|
aot_gpr_5 = (aot_gpr_4 & 255u);
|
|
aot_gpr_6 = (aot_mem.aot_direct_load_word_right(aot_gpr_17 + static_cast<std::uint32_t>(0), aot_gpr_6));
|
|
aot_gpr_6 = (aot_mem.aot_direct_load_word_left(aot_gpr_17 + static_cast<std::uint32_t>(3), aot_gpr_6));
|
|
aot_gpr_6 = (aot_gpr_6 & 65535u);
|
|
ctx.gpr[7] = (aot_gpr_17 + aot_gpr_6);
|
|
aot_gpr_6 = (aot_gpr_6 + static_cast<std::uint32_t>(1));
|
|
aot_mem.aot_direct_store8(aot_gpr_17 + static_cast<std::uint32_t>(0), static_cast<std::uint8_t>(aot_gpr_6));
|
|
ctx.gpr[1] = (static_cast<std::uint32_t>(static_cast<std::int32_t>(aot_gpr_6) >> 8u));
|
|
aot_mem.aot_direct_store8(aot_gpr_17 + static_cast<std::uint32_t>(1), static_cast<std::uint8_t>(ctx.gpr[1]));
|
|
aot_mem.aot_direct_store8(ctx.gpr[7] + static_cast<std::uint32_t>(0), static_cast<std::uint8_t>(aot_gpr_5));
|
|
aot_gpr_4 = (static_cast<std::uint32_t>(static_cast<std::int32_t>(aot_gpr_4) >> 8u));
|
|
aot_gpr_4 = (aot_gpr_4 & 255u);
|
|
aot_gpr_5 = (aot_mem.aot_direct_load_word_right(aot_gpr_17 + static_cast<std::uint32_t>(0), aot_gpr_5));
|
|
aot_gpr_5 = (aot_mem.aot_direct_load_word_left(aot_gpr_17 + static_cast<std::uint32_t>(3), aot_gpr_5));
|
|
aot_gpr_5 = (aot_gpr_5 & 65535u);
|
|
aot_gpr_6 = (aot_gpr_17 + aot_gpr_5);
|
|
aot_gpr_5 = (aot_gpr_5 + static_cast<std::uint32_t>(1));
|
|
aot_mem.aot_direct_store8(aot_gpr_17 + static_cast<std::uint32_t>(0), static_cast<std::uint8_t>(aot_gpr_5));
|
|
ctx.gpr[1] = (static_cast<std::uint32_t>(static_cast<std::int32_t>(aot_gpr_5) >> 8u));
|
|
aot_mem.aot_direct_store8(aot_gpr_17 + static_cast<std::uint32_t>(1), static_cast<std::uint8_t>(ctx.gpr[1]));
|
|
aot_mem.aot_direct_store8(aot_gpr_6 + static_cast<std::uint32_t>(0), static_cast<std::uint8_t>(aot_gpr_4));
|
|
goto L_089D5E94;
|
|
L_089D5E94:
|
|
aot_gpr_4 = (ctx.gpr[19] & 16u);
|
|
{ const bool branch_taken = aot_gpr_4 == 0u;
|
|
if (branch_taken) {
|
|
goto L_089D5F60;
|
|
}
|
|
goto L_089D5EA0;
|
|
}
|
|
L_089D5EA0:
|
|
aot_fpr_12 = std::bit_cast<float>(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast<std::uint32_t>(184)));
|
|
aot_gpr_4 = (std::bit_cast<std::uint32_t>(aot_fpr_12));
|
|
aot_gpr_5 = (aot_gpr_4 & 65535u);
|
|
aot_gpr_5 = (aot_gpr_5 & 65535u);
|
|
aot_gpr_6 = (aot_gpr_5 & 255u);
|
|
ctx.gpr[7] = (aot_mem.aot_direct_load_word_right(aot_gpr_17 + static_cast<std::uint32_t>(0), ctx.gpr[7]));
|
|
ctx.gpr[7] = (aot_mem.aot_direct_load_word_left(aot_gpr_17 + static_cast<std::uint32_t>(3), ctx.gpr[7]));
|
|
ctx.gpr[7] = (ctx.gpr[7] & 65535u);
|
|
ctx.gpr[8] = (aot_gpr_17 + ctx.gpr[7]);
|
|
ctx.gpr[7] = (ctx.gpr[7] + static_cast<std::uint32_t>(1));
|
|
aot_mem.aot_direct_store8(aot_gpr_17 + static_cast<std::uint32_t>(0), static_cast<std::uint8_t>(ctx.gpr[7]));
|
|
ctx.gpr[1] = (static_cast<std::uint32_t>(static_cast<std::int32_t>(ctx.gpr[7]) >> 8u));
|
|
aot_mem.aot_direct_store8(aot_gpr_17 + static_cast<std::uint32_t>(1), static_cast<std::uint8_t>(ctx.gpr[1]));
|
|
aot_mem.aot_direct_store8(ctx.gpr[8] + static_cast<std::uint32_t>(0), static_cast<std::uint8_t>(aot_gpr_6));
|
|
aot_gpr_5 = (static_cast<std::uint32_t>(static_cast<std::int32_t>(aot_gpr_5) >> 8u));
|
|
aot_gpr_5 = (aot_gpr_5 & 255u);
|
|
aot_gpr_6 = (aot_mem.aot_direct_load_word_right(aot_gpr_17 + static_cast<std::uint32_t>(0), aot_gpr_6));
|
|
aot_gpr_6 = (aot_mem.aot_direct_load_word_left(aot_gpr_17 + static_cast<std::uint32_t>(3), aot_gpr_6));
|
|
aot_gpr_6 = (aot_gpr_6 & 65535u);
|
|
ctx.gpr[7] = (aot_gpr_17 + aot_gpr_6);
|
|
aot_gpr_6 = (aot_gpr_6 + static_cast<std::uint32_t>(1));
|
|
aot_mem.aot_direct_store8(aot_gpr_17 + static_cast<std::uint32_t>(0), static_cast<std::uint8_t>(aot_gpr_6));
|
|
ctx.gpr[1] = (static_cast<std::uint32_t>(static_cast<std::int32_t>(aot_gpr_6) >> 8u));
|
|
aot_mem.aot_direct_store8(aot_gpr_17 + static_cast<std::uint32_t>(1), static_cast<std::uint8_t>(ctx.gpr[1]));
|
|
aot_mem.aot_direct_store8(ctx.gpr[7] + static_cast<std::uint32_t>(0), static_cast<std::uint8_t>(aot_gpr_5));
|
|
aot_gpr_4 = (aot_gpr_4 >> 16u);
|
|
aot_gpr_4 = (aot_gpr_4 & 65535u);
|
|
aot_gpr_5 = (aot_gpr_4 & 255u);
|
|
aot_gpr_6 = (aot_mem.aot_direct_load_word_right(aot_gpr_17 + static_cast<std::uint32_t>(0), aot_gpr_6));
|
|
aot_gpr_6 = (aot_mem.aot_direct_load_word_left(aot_gpr_17 + static_cast<std::uint32_t>(3), aot_gpr_6));
|
|
aot_gpr_6 = (aot_gpr_6 & 65535u);
|
|
ctx.gpr[7] = (aot_gpr_17 + aot_gpr_6);
|
|
aot_gpr_6 = (aot_gpr_6 + static_cast<std::uint32_t>(1));
|
|
aot_mem.aot_direct_store8(aot_gpr_17 + static_cast<std::uint32_t>(0), static_cast<std::uint8_t>(aot_gpr_6));
|
|
ctx.gpr[1] = (static_cast<std::uint32_t>(static_cast<std::int32_t>(aot_gpr_6) >> 8u));
|
|
aot_mem.aot_direct_store8(aot_gpr_17 + static_cast<std::uint32_t>(1), static_cast<std::uint8_t>(ctx.gpr[1]));
|
|
aot_mem.aot_direct_store8(ctx.gpr[7] + static_cast<std::uint32_t>(0), static_cast<std::uint8_t>(aot_gpr_5));
|
|
aot_gpr_4 = (static_cast<std::uint32_t>(static_cast<std::int32_t>(aot_gpr_4) >> 8u));
|
|
aot_gpr_4 = (aot_gpr_4 & 255u);
|
|
aot_gpr_5 = (aot_mem.aot_direct_load_word_right(aot_gpr_17 + static_cast<std::uint32_t>(0), aot_gpr_5));
|
|
aot_gpr_5 = (aot_mem.aot_direct_load_word_left(aot_gpr_17 + static_cast<std::uint32_t>(3), aot_gpr_5));
|
|
aot_gpr_5 = (aot_gpr_5 & 65535u);
|
|
aot_gpr_6 = (aot_gpr_17 + aot_gpr_5);
|
|
aot_gpr_5 = (aot_gpr_5 + static_cast<std::uint32_t>(1));
|
|
aot_mem.aot_direct_store8(aot_gpr_17 + static_cast<std::uint32_t>(0), static_cast<std::uint8_t>(aot_gpr_5));
|
|
ctx.gpr[1] = (static_cast<std::uint32_t>(static_cast<std::int32_t>(aot_gpr_5) >> 8u));
|
|
aot_mem.aot_direct_store8(aot_gpr_17 + static_cast<std::uint32_t>(1), static_cast<std::uint8_t>(ctx.gpr[1]));
|
|
aot_mem.aot_direct_store8(aot_gpr_6 + static_cast<std::uint32_t>(0), static_cast<std::uint8_t>(aot_gpr_4));
|
|
goto L_089D5F60;
|
|
L_089D5F60:
|
|
aot_gpr_4 = (ctx.gpr[19] & 32u);
|
|
{ const bool branch_taken = aot_gpr_4 == 0u;
|
|
if (branch_taken) {
|
|
goto L_089D602C;
|
|
}
|
|
goto L_089D5F6C;
|
|
}
|
|
L_089D5F6C:
|
|
aot_fpr_12 = std::bit_cast<float>(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast<std::uint32_t>(188)));
|
|
aot_gpr_4 = (std::bit_cast<std::uint32_t>(aot_fpr_12));
|
|
aot_gpr_5 = (aot_gpr_4 & 65535u);
|
|
aot_gpr_5 = (aot_gpr_5 & 65535u);
|
|
aot_gpr_6 = (aot_gpr_5 & 255u);
|
|
ctx.gpr[7] = (aot_mem.aot_direct_load_word_right(aot_gpr_17 + static_cast<std::uint32_t>(0), ctx.gpr[7]));
|
|
ctx.gpr[7] = (aot_mem.aot_direct_load_word_left(aot_gpr_17 + static_cast<std::uint32_t>(3), ctx.gpr[7]));
|
|
ctx.gpr[7] = (ctx.gpr[7] & 65535u);
|
|
ctx.gpr[8] = (aot_gpr_17 + ctx.gpr[7]);
|
|
ctx.gpr[7] = (ctx.gpr[7] + static_cast<std::uint32_t>(1));
|
|
aot_mem.aot_direct_store8(aot_gpr_17 + static_cast<std::uint32_t>(0), static_cast<std::uint8_t>(ctx.gpr[7]));
|
|
ctx.gpr[1] = (static_cast<std::uint32_t>(static_cast<std::int32_t>(ctx.gpr[7]) >> 8u));
|
|
aot_mem.aot_direct_store8(aot_gpr_17 + static_cast<std::uint32_t>(1), static_cast<std::uint8_t>(ctx.gpr[1]));
|
|
aot_mem.aot_direct_store8(ctx.gpr[8] + static_cast<std::uint32_t>(0), static_cast<std::uint8_t>(aot_gpr_6));
|
|
aot_gpr_5 = (static_cast<std::uint32_t>(static_cast<std::int32_t>(aot_gpr_5) >> 8u));
|
|
aot_gpr_5 = (aot_gpr_5 & 255u);
|
|
aot_gpr_6 = (aot_mem.aot_direct_load_word_right(aot_gpr_17 + static_cast<std::uint32_t>(0), aot_gpr_6));
|
|
aot_gpr_6 = (aot_mem.aot_direct_load_word_left(aot_gpr_17 + static_cast<std::uint32_t>(3), aot_gpr_6));
|
|
aot_gpr_6 = (aot_gpr_6 & 65535u);
|
|
ctx.gpr[7] = (aot_gpr_17 + aot_gpr_6);
|
|
aot_gpr_6 = (aot_gpr_6 + static_cast<std::uint32_t>(1));
|
|
aot_mem.aot_direct_store8(aot_gpr_17 + static_cast<std::uint32_t>(0), static_cast<std::uint8_t>(aot_gpr_6));
|
|
ctx.gpr[1] = (static_cast<std::uint32_t>(static_cast<std::int32_t>(aot_gpr_6) >> 8u));
|
|
aot_mem.aot_direct_store8(aot_gpr_17 + static_cast<std::uint32_t>(1), static_cast<std::uint8_t>(ctx.gpr[1]));
|
|
aot_mem.aot_direct_store8(ctx.gpr[7] + static_cast<std::uint32_t>(0), static_cast<std::uint8_t>(aot_gpr_5));
|
|
aot_gpr_4 = (aot_gpr_4 >> 16u);
|
|
aot_gpr_4 = (aot_gpr_4 & 65535u);
|
|
aot_gpr_5 = (aot_gpr_4 & 255u);
|
|
aot_gpr_6 = (aot_mem.aot_direct_load_word_right(aot_gpr_17 + static_cast<std::uint32_t>(0), aot_gpr_6));
|
|
aot_gpr_6 = (aot_mem.aot_direct_load_word_left(aot_gpr_17 + static_cast<std::uint32_t>(3), aot_gpr_6));
|
|
aot_gpr_6 = (aot_gpr_6 & 65535u);
|
|
ctx.gpr[7] = (aot_gpr_17 + aot_gpr_6);
|
|
aot_gpr_6 = (aot_gpr_6 + static_cast<std::uint32_t>(1));
|
|
aot_mem.aot_direct_store8(aot_gpr_17 + static_cast<std::uint32_t>(0), static_cast<std::uint8_t>(aot_gpr_6));
|
|
ctx.gpr[1] = (static_cast<std::uint32_t>(static_cast<std::int32_t>(aot_gpr_6) >> 8u));
|
|
aot_mem.aot_direct_store8(aot_gpr_17 + static_cast<std::uint32_t>(1), static_cast<std::uint8_t>(ctx.gpr[1]));
|
|
aot_mem.aot_direct_store8(ctx.gpr[7] + static_cast<std::uint32_t>(0), static_cast<std::uint8_t>(aot_gpr_5));
|
|
aot_gpr_4 = (static_cast<std::uint32_t>(static_cast<std::int32_t>(aot_gpr_4) >> 8u));
|
|
aot_gpr_4 = (aot_gpr_4 & 255u);
|
|
aot_gpr_5 = (aot_mem.aot_direct_load_word_right(aot_gpr_17 + static_cast<std::uint32_t>(0), aot_gpr_5));
|
|
aot_gpr_5 = (aot_mem.aot_direct_load_word_left(aot_gpr_17 + static_cast<std::uint32_t>(3), aot_gpr_5));
|
|
aot_gpr_5 = (aot_gpr_5 & 65535u);
|
|
aot_gpr_6 = (aot_gpr_17 + aot_gpr_5);
|
|
aot_gpr_5 = (aot_gpr_5 + static_cast<std::uint32_t>(1));
|
|
aot_mem.aot_direct_store8(aot_gpr_17 + static_cast<std::uint32_t>(0), static_cast<std::uint8_t>(aot_gpr_5));
|
|
ctx.gpr[1] = (static_cast<std::uint32_t>(static_cast<std::int32_t>(aot_gpr_5) >> 8u));
|
|
aot_mem.aot_direct_store8(aot_gpr_17 + static_cast<std::uint32_t>(1), static_cast<std::uint8_t>(ctx.gpr[1]));
|
|
aot_mem.aot_direct_store8(aot_gpr_6 + static_cast<std::uint32_t>(0), static_cast<std::uint8_t>(aot_gpr_4));
|
|
goto L_089D602C;
|
|
L_089D602C:
|
|
aot_gpr_5 = (ctx.gpr[19] & 64u);
|
|
{ const bool branch_taken = aot_gpr_5 == 0u;
|
|
aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[18] + static_cast<std::uint32_t>(214)));
|
|
if (branch_taken) {
|
|
goto L_089D6060;
|
|
}
|
|
goto L_089D6038;
|
|
}
|
|
L_089D6038:
|
|
aot_gpr_5 = (aot_mem.aot_direct_load_word_right(aot_gpr_17 + static_cast<std::uint32_t>(0), aot_gpr_5));
|
|
aot_gpr_5 = (aot_mem.aot_direct_load_word_left(aot_gpr_17 + static_cast<std::uint32_t>(3), aot_gpr_5));
|
|
aot_gpr_5 = (aot_gpr_5 & 65535u);
|
|
aot_gpr_6 = (aot_gpr_17 + aot_gpr_5);
|
|
aot_gpr_5 = (aot_gpr_5 + static_cast<std::uint32_t>(1));
|
|
aot_mem.aot_direct_store8(aot_gpr_17 + static_cast<std::uint32_t>(0), static_cast<std::uint8_t>(aot_gpr_5));
|
|
ctx.gpr[1] = (static_cast<std::uint32_t>(static_cast<std::int32_t>(aot_gpr_5) >> 8u));
|
|
aot_mem.aot_direct_store8(aot_gpr_17 + static_cast<std::uint32_t>(1), static_cast<std::uint8_t>(ctx.gpr[1]));
|
|
aot_mem.aot_direct_store8(aot_gpr_6 + static_cast<std::uint32_t>(0), static_cast<std::uint8_t>(aot_gpr_4));
|
|
aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[18] + static_cast<std::uint32_t>(214)));
|
|
goto L_089D6060;
|
|
L_089D6060:
|
|
ctx.gpr[21] = (0u | 0u);
|
|
aot_gpr_4 = (ctx.gpr[21] < aot_gpr_4 ? 1u : 0u);
|
|
{ const bool branch_taken = aot_gpr_4 == 0u;
|
|
ctx.gpr[20] = (0u | 128u);
|
|
if (branch_taken) {
|
|
goto L_089D60B0;
|
|
}
|
|
goto L_089D6070;
|
|
}
|
|
L_089D6070:
|
|
ctx.gpr[22] = (ctx.gpr[18] + static_cast<std::uint32_t>(216));
|
|
goto L_089D6074;
|
|
L_089D6074:
|
|
aot_gpr_4 = (ctx.gpr[20] << (ctx.gpr[21] & 31u));
|
|
aot_gpr_4 = (ctx.gpr[19] & aot_gpr_4);
|
|
{ const bool branch_taken = aot_gpr_4 == 0u;
|
|
if (branch_taken) {
|
|
goto L_089D609C;
|
|
}
|
|
goto L_089D6084;
|
|
}
|
|
L_089D6084:
|
|
aot_gpr_4 = (ctx.gpr[29] + ctx.gpr[21]);
|
|
ctx.gpr[7] = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast<std::uint32_t>(16)));
|
|
aot_gpr_4 = (aot_gpr_16 | 0u);
|
|
aot_gpr_5 = (aot_gpr_17 | 0u);
|
|
aot_gpr_31 = (0x089D609Cu);
|
|
aot_gpr_6 = (ctx.gpr[22] | 0u);
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0115_entry, 115u, 643u, 0x089D3708u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D609Cu) goto L_089D609C;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
L_089D609C:
|
|
ctx.gpr[21] = (ctx.gpr[21] + static_cast<std::uint32_t>(1));
|
|
aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[18] + static_cast<std::uint32_t>(214)));
|
|
aot_gpr_4 = (ctx.gpr[21] < aot_gpr_4 ? 1u : 0u);
|
|
{ const bool branch_taken = aot_gpr_4 != 0u;
|
|
ctx.gpr[22] = (ctx.gpr[22] + static_cast<std::uint32_t>(24));
|
|
if (branch_taken) {
|
|
goto L_089D6074;
|
|
}
|
|
goto L_089D60B0;
|
|
}
|
|
L_089D60B0:
|
|
aot_gpr_4 = (ctx.gpr[19] & 16384u);
|
|
{ const bool branch_taken = aot_gpr_4 == 0u;
|
|
if (branch_taken) {
|
|
goto L_089D60E4;
|
|
}
|
|
goto L_089D60BC;
|
|
}
|
|
L_089D60BC:
|
|
aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[18] + static_cast<std::uint32_t>(192)));
|
|
aot_gpr_5 = (aot_mem.aot_direct_load_word_right(aot_gpr_17 + static_cast<std::uint32_t>(0), aot_gpr_5));
|
|
aot_gpr_5 = (aot_mem.aot_direct_load_word_left(aot_gpr_17 + static_cast<std::uint32_t>(3), aot_gpr_5));
|
|
aot_gpr_5 = (aot_gpr_5 & 65535u);
|
|
aot_gpr_6 = (aot_gpr_17 + aot_gpr_5);
|
|
aot_gpr_5 = (aot_gpr_5 + static_cast<std::uint32_t>(1));
|
|
aot_mem.aot_direct_store8(aot_gpr_17 + static_cast<std::uint32_t>(0), static_cast<std::uint8_t>(aot_gpr_5));
|
|
ctx.gpr[1] = (static_cast<std::uint32_t>(static_cast<std::int32_t>(aot_gpr_5) >> 8u));
|
|
aot_mem.aot_direct_store8(aot_gpr_17 + static_cast<std::uint32_t>(1), static_cast<std::uint8_t>(ctx.gpr[1]));
|
|
aot_mem.aot_direct_store8(aot_gpr_6 + static_cast<std::uint32_t>(0), static_cast<std::uint8_t>(aot_gpr_4));
|
|
goto L_089D60E4;
|
|
L_089D60E4:
|
|
aot_gpr_4 = (ctx.gpr[19] & 32768u);
|
|
{ const bool branch_taken = aot_gpr_4 == 0u;
|
|
if (branch_taken) {
|
|
goto L_089D6104;
|
|
}
|
|
goto L_089D60F0;
|
|
}
|
|
L_089D60F0:
|
|
aot_gpr_5 = (ctx.gpr[18] + static_cast<std::uint32_t>(192));
|
|
aot_gpr_6 = (aot_mem.aot_direct_load8(ctx.gpr[29] + static_cast<std::uint32_t>(21)));
|
|
ctx.gpr[7] = (0u | 65535u);
|
|
aot_gpr_31 = (0x089D6104u);
|
|
aot_gpr_4 = (aot_gpr_17 | 0u);
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0166_entry, 166u, 210u, 0x08A9D6DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D6104u) goto L_089D6104;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
L_089D6104:
|
|
aot_gpr_4 = (1u << 16u);
|
|
aot_gpr_4 = (ctx.gpr[19] & aot_gpr_4);
|
|
{ const bool branch_taken = aot_gpr_4 == 0u;
|
|
if (branch_taken) {
|
|
goto L_089D613C;
|
|
}
|
|
goto L_089D6114;
|
|
}
|
|
L_089D6114:
|
|
aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[18] + static_cast<std::uint32_t>(183)));
|
|
aot_gpr_5 = (aot_mem.aot_direct_load_word_right(aot_gpr_17 + static_cast<std::uint32_t>(0), aot_gpr_5));
|
|
aot_gpr_5 = (aot_mem.aot_direct_load_word_left(aot_gpr_17 + static_cast<std::uint32_t>(3), aot_gpr_5));
|
|
aot_gpr_5 = (aot_gpr_5 & 65535u);
|
|
aot_gpr_6 = (aot_gpr_17 + aot_gpr_5);
|
|
aot_gpr_5 = (aot_gpr_5 + static_cast<std::uint32_t>(1));
|
|
aot_mem.aot_direct_store8(aot_gpr_17 + static_cast<std::uint32_t>(0), static_cast<std::uint8_t>(aot_gpr_5));
|
|
ctx.gpr[1] = (static_cast<std::uint32_t>(static_cast<std::int32_t>(aot_gpr_5) >> 8u));
|
|
aot_mem.aot_direct_store8(aot_gpr_17 + static_cast<std::uint32_t>(1), static_cast<std::uint8_t>(ctx.gpr[1]));
|
|
aot_mem.aot_direct_store8(aot_gpr_6 + static_cast<std::uint32_t>(0), static_cast<std::uint8_t>(aot_gpr_4));
|
|
goto L_089D613C;
|
|
L_089D613C:
|
|
aot_gpr_4 = (512u << 16u);
|
|
aot_gpr_4 = (ctx.gpr[19] & aot_gpr_4);
|
|
{ const bool branch_taken = aot_gpr_4 == 0u;
|
|
if (branch_taken) {
|
|
goto L_089D6174;
|
|
}
|
|
goto L_089D614C;
|
|
}
|
|
L_089D614C:
|
|
aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[18] + static_cast<std::uint32_t>(345)));
|
|
aot_gpr_5 = (aot_mem.aot_direct_load_word_right(aot_gpr_17 + static_cast<std::uint32_t>(0), aot_gpr_5));
|
|
aot_gpr_5 = (aot_mem.aot_direct_load_word_left(aot_gpr_17 + static_cast<std::uint32_t>(3), aot_gpr_5));
|
|
aot_gpr_5 = (aot_gpr_5 & 65535u);
|
|
aot_gpr_6 = (aot_gpr_17 + aot_gpr_5);
|
|
aot_gpr_5 = (aot_gpr_5 + static_cast<std::uint32_t>(1));
|
|
aot_mem.aot_direct_store8(aot_gpr_17 + static_cast<std::uint32_t>(0), static_cast<std::uint8_t>(aot_gpr_5));
|
|
ctx.gpr[1] = (static_cast<std::uint32_t>(static_cast<std::int32_t>(aot_gpr_5) >> 8u));
|
|
aot_mem.aot_direct_store8(aot_gpr_17 + static_cast<std::uint32_t>(1), static_cast<std::uint8_t>(ctx.gpr[1]));
|
|
aot_mem.aot_direct_store8(aot_gpr_6 + static_cast<std::uint32_t>(0), static_cast<std::uint8_t>(aot_gpr_4));
|
|
goto L_089D6174;
|
|
L_089D6174:
|
|
aot_gpr_4 = (2u << 16u);
|
|
aot_gpr_4 = (ctx.gpr[19] & aot_gpr_4);
|
|
{ const bool branch_taken = aot_gpr_4 == 0u;
|
|
if (branch_taken) {
|
|
goto L_089D61AC;
|
|
}
|
|
goto L_089D6184;
|
|
}
|
|
L_089D6184:
|
|
aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[18] + static_cast<std::uint32_t>(336)));
|
|
aot_gpr_5 = (aot_mem.aot_direct_load_word_right(aot_gpr_17 + static_cast<std::uint32_t>(0), aot_gpr_5));
|
|
aot_gpr_5 = (aot_mem.aot_direct_load_word_left(aot_gpr_17 + static_cast<std::uint32_t>(3), aot_gpr_5));
|
|
aot_gpr_5 = (aot_gpr_5 & 65535u);
|
|
aot_gpr_6 = (aot_gpr_17 + aot_gpr_5);
|
|
aot_gpr_5 = (aot_gpr_5 + static_cast<std::uint32_t>(1));
|
|
aot_mem.aot_direct_store8(aot_gpr_17 + static_cast<std::uint32_t>(0), static_cast<std::uint8_t>(aot_gpr_5));
|
|
ctx.gpr[1] = (static_cast<std::uint32_t>(static_cast<std::int32_t>(aot_gpr_5) >> 8u));
|
|
aot_mem.aot_direct_store8(aot_gpr_17 + static_cast<std::uint32_t>(1), static_cast<std::uint8_t>(ctx.gpr[1]));
|
|
aot_mem.aot_direct_store8(aot_gpr_6 + static_cast<std::uint32_t>(0), static_cast<std::uint8_t>(aot_gpr_4));
|
|
goto L_089D61AC;
|
|
L_089D61AC:
|
|
aot_gpr_4 = (4u << 16u);
|
|
aot_gpr_4 = (ctx.gpr[19] & aot_gpr_4);
|
|
{ const bool branch_taken = aot_gpr_4 == 0u;
|
|
if (branch_taken) {
|
|
goto L_089D61E4;
|
|
}
|
|
goto L_089D61BC;
|
|
}
|
|
L_089D61BC:
|
|
aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[18] + static_cast<std::uint32_t>(337)));
|
|
aot_gpr_5 = (aot_mem.aot_direct_load_word_right(aot_gpr_17 + static_cast<std::uint32_t>(0), aot_gpr_5));
|
|
aot_gpr_5 = (aot_mem.aot_direct_load_word_left(aot_gpr_17 + static_cast<std::uint32_t>(3), aot_gpr_5));
|
|
aot_gpr_5 = (aot_gpr_5 & 65535u);
|
|
aot_gpr_6 = (aot_gpr_17 + aot_gpr_5);
|
|
aot_gpr_5 = (aot_gpr_5 + static_cast<std::uint32_t>(1));
|
|
aot_mem.aot_direct_store8(aot_gpr_17 + static_cast<std::uint32_t>(0), static_cast<std::uint8_t>(aot_gpr_5));
|
|
ctx.gpr[1] = (static_cast<std::uint32_t>(static_cast<std::int32_t>(aot_gpr_5) >> 8u));
|
|
aot_mem.aot_direct_store8(aot_gpr_17 + static_cast<std::uint32_t>(1), static_cast<std::uint8_t>(ctx.gpr[1]));
|
|
aot_mem.aot_direct_store8(aot_gpr_6 + static_cast<std::uint32_t>(0), static_cast<std::uint8_t>(aot_gpr_4));
|
|
goto L_089D61E4;
|
|
L_089D61E4:
|
|
aot_gpr_4 = (8u << 16u);
|
|
aot_gpr_4 = (ctx.gpr[19] & aot_gpr_4);
|
|
{ const bool branch_taken = aot_gpr_4 == 0u;
|
|
if (branch_taken) {
|
|
goto L_089D6250;
|
|
}
|
|
goto L_089D61F4;
|
|
}
|
|
L_089D61F4:
|
|
aot_gpr_4 = (aot_mem.aot_direct_load16(ctx.gpr[18] + static_cast<std::uint32_t>(338)));
|
|
aot_gpr_4 = (aot_gpr_4 & 65535u);
|
|
aot_gpr_5 = (aot_gpr_4 & 255u);
|
|
aot_gpr_6 = (aot_mem.aot_direct_load_word_right(aot_gpr_17 + static_cast<std::uint32_t>(0), aot_gpr_6));
|
|
aot_gpr_6 = (aot_mem.aot_direct_load_word_left(aot_gpr_17 + static_cast<std::uint32_t>(3), aot_gpr_6));
|
|
aot_gpr_6 = (aot_gpr_6 & 65535u);
|
|
ctx.gpr[7] = (aot_gpr_17 + aot_gpr_6);
|
|
aot_gpr_6 = (aot_gpr_6 + static_cast<std::uint32_t>(1));
|
|
aot_mem.aot_direct_store8(aot_gpr_17 + static_cast<std::uint32_t>(0), static_cast<std::uint8_t>(aot_gpr_6));
|
|
ctx.gpr[1] = (static_cast<std::uint32_t>(static_cast<std::int32_t>(aot_gpr_6) >> 8u));
|
|
aot_mem.aot_direct_store8(aot_gpr_17 + static_cast<std::uint32_t>(1), static_cast<std::uint8_t>(ctx.gpr[1]));
|
|
aot_mem.aot_direct_store8(ctx.gpr[7] + static_cast<std::uint32_t>(0), static_cast<std::uint8_t>(aot_gpr_5));
|
|
aot_gpr_4 = (static_cast<std::uint32_t>(static_cast<std::int32_t>(aot_gpr_4) >> 8u));
|
|
aot_gpr_4 = (aot_gpr_4 & 255u);
|
|
aot_gpr_5 = (aot_mem.aot_direct_load_word_right(aot_gpr_17 + static_cast<std::uint32_t>(0), aot_gpr_5));
|
|
aot_gpr_5 = (aot_mem.aot_direct_load_word_left(aot_gpr_17 + static_cast<std::uint32_t>(3), aot_gpr_5));
|
|
aot_gpr_5 = (aot_gpr_5 & 65535u);
|
|
aot_gpr_6 = (aot_gpr_17 + aot_gpr_5);
|
|
aot_gpr_5 = (aot_gpr_5 + static_cast<std::uint32_t>(1));
|
|
aot_mem.aot_direct_store8(aot_gpr_17 + static_cast<std::uint32_t>(0), static_cast<std::uint8_t>(aot_gpr_5));
|
|
ctx.gpr[1] = (static_cast<std::uint32_t>(static_cast<std::int32_t>(aot_gpr_5) >> 8u));
|
|
aot_mem.aot_direct_store8(aot_gpr_17 + static_cast<std::uint32_t>(1), static_cast<std::uint8_t>(ctx.gpr[1]));
|
|
aot_mem.aot_direct_store8(aot_gpr_6 + static_cast<std::uint32_t>(0), static_cast<std::uint8_t>(aot_gpr_4));
|
|
goto L_089D6250;
|
|
L_089D6250:
|
|
aot_gpr_4 = (16u << 16u);
|
|
aot_gpr_4 = (ctx.gpr[19] & aot_gpr_4);
|
|
{ const bool branch_taken = aot_gpr_4 == 0u;
|
|
if (branch_taken) {
|
|
goto L_089D6288;
|
|
}
|
|
goto L_089D6260;
|
|
}
|
|
L_089D6260:
|
|
aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[18] + static_cast<std::uint32_t>(340)));
|
|
aot_gpr_5 = (aot_mem.aot_direct_load_word_right(aot_gpr_17 + static_cast<std::uint32_t>(0), aot_gpr_5));
|
|
aot_gpr_5 = (aot_mem.aot_direct_load_word_left(aot_gpr_17 + static_cast<std::uint32_t>(3), aot_gpr_5));
|
|
aot_gpr_5 = (aot_gpr_5 & 65535u);
|
|
aot_gpr_6 = (aot_gpr_17 + aot_gpr_5);
|
|
aot_gpr_5 = (aot_gpr_5 + static_cast<std::uint32_t>(1));
|
|
aot_mem.aot_direct_store8(aot_gpr_17 + static_cast<std::uint32_t>(0), static_cast<std::uint8_t>(aot_gpr_5));
|
|
ctx.gpr[1] = (static_cast<std::uint32_t>(static_cast<std::int32_t>(aot_gpr_5) >> 8u));
|
|
aot_mem.aot_direct_store8(aot_gpr_17 + static_cast<std::uint32_t>(1), static_cast<std::uint8_t>(ctx.gpr[1]));
|
|
aot_mem.aot_direct_store8(aot_gpr_6 + static_cast<std::uint32_t>(0), static_cast<std::uint8_t>(aot_gpr_4));
|
|
goto L_089D6288;
|
|
L_089D6288:
|
|
aot_gpr_4 = (32u << 16u);
|
|
aot_gpr_4 = (ctx.gpr[19] & aot_gpr_4);
|
|
{ const bool branch_taken = aot_gpr_4 == 0u;
|
|
if (branch_taken) {
|
|
goto L_089D62A4;
|
|
}
|
|
goto L_089D6298;
|
|
}
|
|
L_089D6298:
|
|
aot_gpr_5 = (ctx.gpr[18] + static_cast<std::uint32_t>(96));
|
|
aot_gpr_31 = (0x089D62A4u);
|
|
aot_gpr_4 = (aot_gpr_17 | 0u);
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0088_entry, 88u, 73u, 0x089647D0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D62A4u) goto L_089D62A4;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
L_089D62A4:
|
|
aot_gpr_4 = (64u << 16u);
|
|
aot_gpr_4 = (ctx.gpr[19] & aot_gpr_4);
|
|
{ const bool branch_taken = aot_gpr_4 == 0u;
|
|
if (branch_taken) {
|
|
goto L_089D62E8;
|
|
}
|
|
goto L_089D62B4;
|
|
}
|
|
L_089D62B4:
|
|
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[18] + static_cast<std::uint32_t>(341))))));
|
|
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_gpr_4 = (aot_gpr_4 & 255u);
|
|
aot_gpr_5 = (aot_mem.aot_direct_load_word_right(aot_gpr_17 + static_cast<std::uint32_t>(0), aot_gpr_5));
|
|
aot_gpr_5 = (aot_mem.aot_direct_load_word_left(aot_gpr_17 + static_cast<std::uint32_t>(3), aot_gpr_5));
|
|
aot_gpr_5 = (aot_gpr_5 & 65535u);
|
|
aot_gpr_6 = (aot_gpr_17 + aot_gpr_5);
|
|
aot_gpr_5 = (aot_gpr_5 + static_cast<std::uint32_t>(1));
|
|
aot_mem.aot_direct_store8(aot_gpr_17 + static_cast<std::uint32_t>(0), static_cast<std::uint8_t>(aot_gpr_5));
|
|
ctx.gpr[1] = (static_cast<std::uint32_t>(static_cast<std::int32_t>(aot_gpr_5) >> 8u));
|
|
aot_mem.aot_direct_store8(aot_gpr_17 + static_cast<std::uint32_t>(1), static_cast<std::uint8_t>(ctx.gpr[1]));
|
|
aot_mem.aot_direct_store8(aot_gpr_6 + static_cast<std::uint32_t>(0), static_cast<std::uint8_t>(aot_gpr_4));
|
|
goto L_089D62E8;
|
|
L_089D62E8:
|
|
aot_gpr_4 = (128u << 16u);
|
|
aot_gpr_4 = (ctx.gpr[19] & aot_gpr_4);
|
|
{ const bool branch_taken = aot_gpr_4 == 0u;
|
|
if (branch_taken) {
|
|
goto L_089D6354;
|
|
}
|
|
goto L_089D62F8;
|
|
}
|
|
L_089D62F8:
|
|
aot_gpr_4 = (aot_mem.aot_direct_load16(ctx.gpr[18] + static_cast<std::uint32_t>(342)));
|
|
aot_gpr_4 = (aot_gpr_4 & 65535u);
|
|
aot_gpr_5 = (aot_gpr_4 & 255u);
|
|
aot_gpr_6 = (aot_mem.aot_direct_load_word_right(aot_gpr_17 + static_cast<std::uint32_t>(0), aot_gpr_6));
|
|
aot_gpr_6 = (aot_mem.aot_direct_load_word_left(aot_gpr_17 + static_cast<std::uint32_t>(3), aot_gpr_6));
|
|
aot_gpr_6 = (aot_gpr_6 & 65535u);
|
|
ctx.gpr[7] = (aot_gpr_17 + aot_gpr_6);
|
|
aot_gpr_6 = (aot_gpr_6 + static_cast<std::uint32_t>(1));
|
|
aot_mem.aot_direct_store8(aot_gpr_17 + static_cast<std::uint32_t>(0), static_cast<std::uint8_t>(aot_gpr_6));
|
|
ctx.gpr[1] = (static_cast<std::uint32_t>(static_cast<std::int32_t>(aot_gpr_6) >> 8u));
|
|
aot_mem.aot_direct_store8(aot_gpr_17 + static_cast<std::uint32_t>(1), static_cast<std::uint8_t>(ctx.gpr[1]));
|
|
aot_mem.aot_direct_store8(ctx.gpr[7] + static_cast<std::uint32_t>(0), static_cast<std::uint8_t>(aot_gpr_5));
|
|
aot_gpr_4 = (static_cast<std::uint32_t>(static_cast<std::int32_t>(aot_gpr_4) >> 8u));
|
|
aot_gpr_4 = (aot_gpr_4 & 255u);
|
|
aot_gpr_5 = (aot_mem.aot_direct_load_word_right(aot_gpr_17 + static_cast<std::uint32_t>(0), aot_gpr_5));
|
|
aot_gpr_5 = (aot_mem.aot_direct_load_word_left(aot_gpr_17 + static_cast<std::uint32_t>(3), aot_gpr_5));
|
|
aot_gpr_5 = (aot_gpr_5 & 65535u);
|
|
aot_gpr_6 = (aot_gpr_17 + aot_gpr_5);
|
|
aot_gpr_5 = (aot_gpr_5 + static_cast<std::uint32_t>(1));
|
|
aot_mem.aot_direct_store8(aot_gpr_17 + static_cast<std::uint32_t>(0), static_cast<std::uint8_t>(aot_gpr_5));
|
|
ctx.gpr[1] = (static_cast<std::uint32_t>(static_cast<std::int32_t>(aot_gpr_5) >> 8u));
|
|
aot_mem.aot_direct_store8(aot_gpr_17 + static_cast<std::uint32_t>(1), static_cast<std::uint8_t>(ctx.gpr[1]));
|
|
aot_mem.aot_direct_store8(aot_gpr_6 + static_cast<std::uint32_t>(0), static_cast<std::uint8_t>(aot_gpr_4));
|
|
goto L_089D6354;
|
|
L_089D6354:
|
|
aot_gpr_4 = (256u << 16u);
|
|
aot_gpr_4 = (ctx.gpr[19] & aot_gpr_4);
|
|
{ const bool branch_taken = aot_gpr_4 == 0u;
|
|
if (branch_taken) {
|
|
goto L_089D638C;
|
|
}
|
|
goto L_089D6364;
|
|
}
|
|
L_089D6364:
|
|
aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[18] + static_cast<std::uint32_t>(344)));
|
|
aot_gpr_5 = (aot_mem.aot_direct_load_word_right(aot_gpr_17 + static_cast<std::uint32_t>(0), aot_gpr_5));
|
|
aot_gpr_5 = (aot_mem.aot_direct_load_word_left(aot_gpr_17 + static_cast<std::uint32_t>(3), aot_gpr_5));
|
|
aot_gpr_5 = (aot_gpr_5 & 65535u);
|
|
aot_gpr_6 = (aot_gpr_17 + aot_gpr_5);
|
|
aot_gpr_5 = (aot_gpr_5 + static_cast<std::uint32_t>(1));
|
|
aot_mem.aot_direct_store8(aot_gpr_17 + static_cast<std::uint32_t>(0), static_cast<std::uint8_t>(aot_gpr_5));
|
|
ctx.gpr[1] = (static_cast<std::uint32_t>(static_cast<std::int32_t>(aot_gpr_5) >> 8u));
|
|
aot_mem.aot_direct_store8(aot_gpr_17 + static_cast<std::uint32_t>(1), static_cast<std::uint8_t>(ctx.gpr[1]));
|
|
aot_mem.aot_direct_store8(aot_gpr_6 + static_cast<std::uint32_t>(0), static_cast<std::uint8_t>(aot_gpr_4));
|
|
goto L_089D638C;
|
|
L_089D638C:
|
|
aot_gpr_5 = (0u | 0u);
|
|
aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[18] + static_cast<std::uint32_t>(214)));
|
|
aot_gpr_6 = (aot_gpr_5 < aot_gpr_4 ? 1u : 0u);
|
|
{ const bool branch_taken = aot_gpr_6 == 0u;
|
|
if (branch_taken) {
|
|
goto L_089D63B0;
|
|
}
|
|
goto L_089D63A0;
|
|
}
|
|
L_089D63A0:
|
|
aot_gpr_5 = (aot_gpr_5 + static_cast<std::uint32_t>(1));
|
|
goto L_089D63A4;
|
|
L_089D63A4:
|
|
aot_gpr_6 = (aot_gpr_5 < aot_gpr_4 ? 1u : 0u);
|
|
{ const bool branch_taken = aot_gpr_6 != 0u;
|
|
aot_gpr_5 = (aot_gpr_5 + static_cast<std::uint32_t>(1));
|
|
if (branch_taken) {
|
|
goto L_089D63A4;
|
|
}
|
|
goto L_089D63B0;
|
|
}
|
|
L_089D63B0:
|
|
aot_gpr_4 = (2048u << 16u);
|
|
aot_gpr_4 = (ctx.gpr[19] & aot_gpr_4);
|
|
{ const bool branch_taken = aot_gpr_4 == 0u;
|
|
if (branch_taken) {
|
|
goto L_089D63E8;
|
|
}
|
|
goto L_089D63C0;
|
|
}
|
|
L_089D63C0:
|
|
aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[18] + static_cast<std::uint32_t>(346)));
|
|
aot_gpr_5 = (aot_mem.aot_direct_load_word_right(aot_gpr_17 + static_cast<std::uint32_t>(0), aot_gpr_5));
|
|
aot_gpr_5 = (aot_mem.aot_direct_load_word_left(aot_gpr_17 + static_cast<std::uint32_t>(3), aot_gpr_5));
|
|
aot_gpr_5 = (aot_gpr_5 & 65535u);
|
|
aot_gpr_6 = (aot_gpr_17 + aot_gpr_5);
|
|
aot_gpr_5 = (aot_gpr_5 + static_cast<std::uint32_t>(1));
|
|
aot_mem.aot_direct_store8(aot_gpr_17 + static_cast<std::uint32_t>(0), static_cast<std::uint8_t>(aot_gpr_5));
|
|
ctx.gpr[1] = (static_cast<std::uint32_t>(static_cast<std::int32_t>(aot_gpr_5) >> 8u));
|
|
aot_mem.aot_direct_store8(aot_gpr_17 + static_cast<std::uint32_t>(1), static_cast<std::uint8_t>(ctx.gpr[1]));
|
|
aot_mem.aot_direct_store8(aot_gpr_6 + static_cast<std::uint32_t>(0), static_cast<std::uint8_t>(aot_gpr_4));
|
|
goto L_089D63E8;
|
|
L_089D63E8:
|
|
{ std::uint32_t aot_run_words[8]{};
|
|
aot_mem.aot_direct_load32_block(ctx.gpr[29] + static_cast<std::uint32_t>(24), aot_run_words);
|
|
aot_gpr_16 = aot_run_words[0];
|
|
aot_gpr_17 = aot_run_words[1];
|
|
ctx.gpr[18] = aot_run_words[2];
|
|
ctx.gpr[19] = aot_run_words[3];
|
|
ctx.gpr[20] = aot_run_words[4];
|
|
ctx.gpr[21] = aot_run_words[5];
|
|
ctx.gpr[22] = aot_run_words[6];
|
|
aot_gpr_31 = aot_run_words[7];
|
|
}
|
|
jump_target = aot_gpr_31;
|
|
ctx.gpr[29] = (ctx.gpr[29] + static_cast<std::uint32_t>(64));
|
|
local_pc = jump_target;
|
|
if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; }
|
|
// PSPRECOMP_V812_SHARED_SCHED_JUMP
|
|
goto LOCAL_SCHED_BOUNDARY;
|
|
L_089D6410:
|
|
ctx.gpr[29] = (ctx.gpr[29] + static_cast<std::uint32_t>(-192));
|
|
{ const std::uint32_t aot_run_words[12]{std::bit_cast<std::uint32_t>(aot_fpr_20), std::bit_cast<std::uint32_t>(ctx.fpr[22]), aot_gpr_16, aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], ctx.gpr[23], ctx.gpr[30], aot_gpr_31};
|
|
aot_mem.aot_direct_store32_block(ctx.gpr[29] + static_cast<std::uint32_t>(140), aot_run_words); }
|
|
ctx.gpr[20] = (aot_gpr_6 | 0u);
|
|
aot_gpr_16 = (ctx.gpr[20] + static_cast<std::uint32_t>(64));
|
|
{ const std::uint32_t vfpu_address = aot_gpr_16 + 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_6 = (ctx.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_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); }
|
|
ctx.gpr[21] = (aot_gpr_5 + static_cast<std::uint32_t>(4));
|
|
aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[21] + static_cast<std::uint32_t>(0)));
|
|
ctx.gpr[7] = (aot_gpr_6 + static_cast<std::uint32_t>(1));
|
|
aot_mem.aot_direct_store32(ctx.gpr[21] + static_cast<std::uint32_t>(0), ctx.gpr[7]);
|
|
aot_gpr_6 = (aot_mem.aot_direct_load8(aot_gpr_6 + static_cast<std::uint32_t>(0)));
|
|
ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[21] + static_cast<std::uint32_t>(0)));
|
|
ctx.gpr[8] = (ctx.gpr[7] + static_cast<std::uint32_t>(1));
|
|
aot_mem.aot_direct_store32(ctx.gpr[21] + static_cast<std::uint32_t>(0), ctx.gpr[8]);
|
|
ctx.gpr[7] = (aot_mem.aot_direct_load8(ctx.gpr[7] + static_cast<std::uint32_t>(0)));
|
|
ctx.gpr[7] = (ctx.gpr[7] << 8u);
|
|
aot_gpr_6 = (aot_gpr_6 | ctx.gpr[7]);
|
|
ctx.gpr[22] = (aot_gpr_6 & 65535u);
|
|
aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[21] + static_cast<std::uint32_t>(0)));
|
|
ctx.gpr[7] = (aot_gpr_6 + static_cast<std::uint32_t>(1));
|
|
aot_mem.aot_direct_store32(ctx.gpr[21] + static_cast<std::uint32_t>(0), ctx.gpr[7]);
|
|
aot_gpr_6 = (aot_mem.aot_direct_load8(aot_gpr_6 + static_cast<std::uint32_t>(0)));
|
|
ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[21] + static_cast<std::uint32_t>(0)));
|
|
ctx.gpr[8] = (ctx.gpr[7] + static_cast<std::uint32_t>(1));
|
|
aot_mem.aot_direct_store32(ctx.gpr[21] + static_cast<std::uint32_t>(0), ctx.gpr[8]);
|
|
ctx.gpr[7] = (aot_mem.aot_direct_load8(ctx.gpr[7] + static_cast<std::uint32_t>(0)));
|
|
ctx.gpr[7] = (ctx.gpr[7] << 8u);
|
|
aot_gpr_6 = (aot_gpr_6 | ctx.gpr[7]);
|
|
aot_gpr_6 = (aot_gpr_6 & 65535u);
|
|
aot_gpr_6 = (aot_gpr_6 << 16u);
|
|
ctx.gpr[22] = (ctx.gpr[22] | aot_gpr_6);
|
|
aot_gpr_6 = (ctx.gpr[22] & 1u);
|
|
aot_gpr_17 = (ctx.gpr[22] & 2u);
|
|
ctx.gpr[30] = (aot_gpr_4 | 0u);
|
|
{ const bool branch_taken = aot_gpr_6 == 0u;
|
|
ctx.gpr[23] = (aot_gpr_5 | 0u);
|
|
if (branch_taken) {
|
|
goto L_089D657C;
|
|
}
|
|
goto L_089D64D0;
|
|
}
|
|
L_089D64D0:
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[30] + static_cast<std::uint32_t>(112)));
|
|
{ const bool branch_taken = aot_gpr_4 == 0u;
|
|
if (branch_taken) {
|
|
goto L_089D652C;
|
|
}
|
|
goto L_089D64DC;
|
|
}
|
|
L_089D64DC:
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[30] + static_cast<std::uint32_t>(112)));
|
|
aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast<std::uint32_t>(92)));
|
|
aot_gpr_6 = (aot_gpr_5 + static_cast<std::uint32_t>(48));
|
|
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_6 + static_cast<std::uint32_t>(0))))));
|
|
aot_gpr_4 = (aot_gpr_4 + aot_gpr_5);
|
|
aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[21] + static_cast<std::uint32_t>(0)));
|
|
ctx.gpr[7] = (aot_gpr_5 + static_cast<std::uint32_t>(1));
|
|
aot_mem.aot_direct_store32(ctx.gpr[21] + static_cast<std::uint32_t>(0), ctx.gpr[7]);
|
|
aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_5 + static_cast<std::uint32_t>(0)));
|
|
ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[21] + static_cast<std::uint32_t>(0)));
|
|
ctx.gpr[8] = (ctx.gpr[7] + static_cast<std::uint32_t>(1));
|
|
aot_mem.aot_direct_store32(ctx.gpr[21] + static_cast<std::uint32_t>(0), ctx.gpr[8]);
|
|
ctx.gpr[7] = (aot_mem.aot_direct_load8(ctx.gpr[7] + static_cast<std::uint32_t>(0)));
|
|
ctx.gpr[7] = (ctx.gpr[7] << 8u);
|
|
aot_gpr_5 = (aot_gpr_5 | ctx.gpr[7]);
|
|
aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_6 + static_cast<std::uint32_t>(4)));
|
|
jump_target = aot_gpr_6;
|
|
aot_gpr_31 = (0x089D6524u);
|
|
aot_gpr_5 = (aot_gpr_5 & 65535u);
|
|
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 == 0x089D6524u) goto L_089D6524;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
L_089D6524:
|
|
{ const bool branch_taken = 0u == 0u;
|
|
if (branch_taken) {
|
|
goto L_089D6544;
|
|
}
|
|
goto L_089D652C;
|
|
}
|
|
L_089D652C:
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[21] + static_cast<std::uint32_t>(0)));
|
|
aot_gpr_4 = (aot_gpr_4 + static_cast<std::uint32_t>(1));
|
|
aot_mem.aot_direct_store32(ctx.gpr[21] + static_cast<std::uint32_t>(0), aot_gpr_4);
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[21] + static_cast<std::uint32_t>(0)));
|
|
aot_gpr_4 = (aot_gpr_4 + static_cast<std::uint32_t>(1));
|
|
aot_mem.aot_direct_store32(ctx.gpr[21] + static_cast<std::uint32_t>(0), aot_gpr_4);
|
|
goto L_089D6544;
|
|
L_089D6544:
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[21] + static_cast<std::uint32_t>(0)));
|
|
aot_gpr_5 = (aot_gpr_4 + static_cast<std::uint32_t>(1));
|
|
aot_mem.aot_direct_store32(ctx.gpr[21] + static_cast<std::uint32_t>(0), aot_gpr_5);
|
|
aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast<std::uint32_t>(0)));
|
|
aot_mem.aot_direct_store8(ctx.gpr[20] + static_cast<std::uint32_t>(182), static_cast<std::uint8_t>(aot_gpr_4));
|
|
aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[20] + static_cast<std::uint32_t>(182)));
|
|
aot_gpr_5 = (0u | 6u);
|
|
{ const bool branch_taken = aot_gpr_4 != aot_gpr_5;
|
|
if (branch_taken) {
|
|
goto L_089D657C;
|
|
}
|
|
goto L_089D6568;
|
|
}
|
|
L_089D6568:
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[21] + static_cast<std::uint32_t>(0)));
|
|
aot_gpr_5 = (aot_gpr_4 + static_cast<std::uint32_t>(1));
|
|
aot_mem.aot_direct_store32(ctx.gpr[21] + static_cast<std::uint32_t>(0), aot_gpr_5);
|
|
aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast<std::uint32_t>(0)));
|
|
aot_mem.aot_direct_store8(ctx.gpr[30] + static_cast<std::uint32_t>(214), static_cast<std::uint8_t>(aot_gpr_4));
|
|
goto L_089D657C;
|
|
L_089D657C:
|
|
aot_gpr_4 = (ctx.gpr[22] & 8192u);
|
|
{ const bool branch_taken = aot_gpr_4 == 0u;
|
|
if (branch_taken) {
|
|
goto L_089D65B4;
|
|
}
|
|
goto L_089D6588;
|
|
}
|
|
L_089D6588:
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[21] + static_cast<std::uint32_t>(0)));
|
|
aot_gpr_5 = (aot_gpr_4 + static_cast<std::uint32_t>(1));
|
|
aot_mem.aot_direct_store32(ctx.gpr[21] + static_cast<std::uint32_t>(0), aot_gpr_5);
|
|
aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast<std::uint32_t>(0)));
|
|
aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[21] + static_cast<std::uint32_t>(0)));
|
|
aot_gpr_6 = (aot_gpr_5 + static_cast<std::uint32_t>(1));
|
|
aot_mem.aot_direct_store32(ctx.gpr[21] + static_cast<std::uint32_t>(0), aot_gpr_6);
|
|
aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_5 + static_cast<std::uint32_t>(0)));
|
|
aot_gpr_5 = (aot_gpr_5 << 8u);
|
|
aot_gpr_4 = (aot_gpr_4 | aot_gpr_5);
|
|
aot_mem.aot_direct_store16(ctx.gpr[20] + static_cast<std::uint32_t>(178), static_cast<std::uint16_t>(aot_gpr_4));
|
|
goto L_089D65B4;
|
|
L_089D65B4:
|
|
aot_gpr_4 = (ctx.gpr[22] & 4096u);
|
|
{ const bool branch_taken = aot_gpr_4 == 0u;
|
|
if (branch_taken) {
|
|
goto L_089D65D4;
|
|
}
|
|
goto L_089D65C0;
|
|
}
|
|
L_089D65C0:
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[21] + static_cast<std::uint32_t>(0)));
|
|
aot_gpr_5 = (aot_gpr_4 + static_cast<std::uint32_t>(1));
|
|
aot_mem.aot_direct_store32(ctx.gpr[21] + static_cast<std::uint32_t>(0), aot_gpr_5);
|
|
aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast<std::uint32_t>(0)));
|
|
aot_mem.aot_direct_store8(ctx.gpr[20] + static_cast<std::uint32_t>(180), static_cast<std::uint8_t>(aot_gpr_4));
|
|
goto L_089D65D4;
|
|
L_089D65D4:
|
|
aot_gpr_4 = (1024u << 16u);
|
|
aot_gpr_4 = (ctx.gpr[22] & aot_gpr_4);
|
|
if (aot_gpr_4 == 0u) {
|
|
aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast<std::uint32_t>(136), aot_gpr_17);
|
|
goto L_089D65FC;
|
|
}
|
|
goto L_089D65E4;
|
|
L_089D65E4:
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[21] + static_cast<std::uint32_t>(0)));
|
|
aot_gpr_5 = (aot_gpr_4 + static_cast<std::uint32_t>(1));
|
|
aot_mem.aot_direct_store32(ctx.gpr[21] + static_cast<std::uint32_t>(0), aot_gpr_5);
|
|
aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast<std::uint32_t>(0)));
|
|
aot_mem.aot_direct_store8(ctx.gpr[20] + static_cast<std::uint32_t>(181), static_cast<std::uint8_t>(aot_gpr_4));
|
|
aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast<std::uint32_t>(136), aot_gpr_17);
|
|
goto L_089D65FC;
|
|
L_089D65FC:
|
|
{ const bool branch_taken = aot_gpr_17 == 0u;
|
|
if (branch_taken) {
|
|
goto L_089D6630;
|
|
}
|
|
goto L_089D6604;
|
|
}
|
|
L_089D6604:
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[21] + static_cast<std::uint32_t>(0)));
|
|
aot_gpr_5 = (aot_gpr_4 + static_cast<std::uint32_t>(1));
|
|
aot_mem.aot_direct_store32(ctx.gpr[21] + static_cast<std::uint32_t>(0), aot_gpr_5);
|
|
aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast<std::uint32_t>(0)));
|
|
aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[21] + static_cast<std::uint32_t>(0)));
|
|
aot_gpr_6 = (aot_gpr_5 + static_cast<std::uint32_t>(1));
|
|
aot_mem.aot_direct_store32(ctx.gpr[21] + static_cast<std::uint32_t>(0), aot_gpr_6);
|
|
aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_5 + static_cast<std::uint32_t>(0)));
|
|
aot_gpr_5 = (aot_gpr_5 << 8u);
|
|
aot_gpr_4 = (aot_gpr_4 | aot_gpr_5);
|
|
aot_mem.aot_direct_store16(ctx.gpr[20] + static_cast<std::uint32_t>(176), static_cast<std::uint16_t>(aot_gpr_4));
|
|
goto L_089D6630;
|
|
L_089D6630:
|
|
aot_gpr_4 = (ctx.gpr[22] & 4u);
|
|
{ const bool branch_taken = aot_gpr_4 == 0u;
|
|
if (branch_taken) {
|
|
goto L_089D6714;
|
|
}
|
|
goto L_089D663C;
|
|
}
|
|
L_089D663C:
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[21] + static_cast<std::uint32_t>(0)));
|
|
aot_gpr_5 = (aot_gpr_4 + static_cast<std::uint32_t>(1));
|
|
aot_mem.aot_direct_store32(ctx.gpr[21] + static_cast<std::uint32_t>(0), aot_gpr_5);
|
|
aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast<std::uint32_t>(0)));
|
|
aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[21] + static_cast<std::uint32_t>(0)));
|
|
aot_gpr_6 = (aot_gpr_5 + static_cast<std::uint32_t>(1));
|
|
aot_mem.aot_direct_store32(ctx.gpr[21] + static_cast<std::uint32_t>(0), aot_gpr_6);
|
|
aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_5 + static_cast<std::uint32_t>(0)));
|
|
aot_gpr_5 = (aot_gpr_5 << 8u);
|
|
aot_gpr_4 = (aot_gpr_4 | aot_gpr_5);
|
|
aot_gpr_4 = (aot_gpr_4 & 65535u);
|
|
aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[21] + static_cast<std::uint32_t>(0)));
|
|
aot_gpr_6 = (aot_gpr_5 + static_cast<std::uint32_t>(1));
|
|
aot_mem.aot_direct_store32(ctx.gpr[21] + static_cast<std::uint32_t>(0), aot_gpr_6);
|
|
aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_5 + static_cast<std::uint32_t>(0)));
|
|
aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[21] + static_cast<std::uint32_t>(0)));
|
|
ctx.gpr[7] = (aot_gpr_6 + static_cast<std::uint32_t>(1));
|
|
aot_mem.aot_direct_store32(ctx.gpr[21] + static_cast<std::uint32_t>(0), ctx.gpr[7]);
|
|
aot_gpr_6 = (aot_mem.aot_direct_load8(aot_gpr_6 + static_cast<std::uint32_t>(0)));
|
|
aot_gpr_6 = (aot_gpr_6 << 8u);
|
|
aot_gpr_5 = (aot_gpr_5 | aot_gpr_6);
|
|
aot_gpr_5 = (aot_gpr_5 & 65535u);
|
|
aot_gpr_5 = (aot_gpr_5 << 16u);
|
|
aot_gpr_4 = (aot_gpr_4 | aot_gpr_5);
|
|
aot_fpr_12 = std::bit_cast<float>(aot_gpr_4);
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[21] + static_cast<std::uint32_t>(0)));
|
|
aot_gpr_5 = (aot_gpr_4 + static_cast<std::uint32_t>(1));
|
|
aot_mem.aot_direct_store32(ctx.gpr[21] + static_cast<std::uint32_t>(0), aot_gpr_5);
|
|
aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast<std::uint32_t>(0)));
|
|
aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[21] + static_cast<std::uint32_t>(0)));
|
|
aot_gpr_6 = (aot_gpr_5 + static_cast<std::uint32_t>(1));
|
|
aot_mem.aot_direct_store32(ctx.gpr[21] + static_cast<std::uint32_t>(0), aot_gpr_6);
|
|
aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_5 + static_cast<std::uint32_t>(0)));
|
|
aot_gpr_5 = (aot_gpr_5 << 8u);
|
|
aot_gpr_4 = (aot_gpr_4 | aot_gpr_5);
|
|
aot_gpr_4 = (aot_gpr_4 & 65535u);
|
|
aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[21] + static_cast<std::uint32_t>(0)));
|
|
aot_gpr_6 = (aot_gpr_5 + static_cast<std::uint32_t>(1));
|
|
aot_mem.aot_direct_store32(ctx.gpr[21] + static_cast<std::uint32_t>(0), aot_gpr_6);
|
|
aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_5 + static_cast<std::uint32_t>(0)));
|
|
aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[21] + static_cast<std::uint32_t>(0)));
|
|
ctx.gpr[7] = (aot_gpr_6 + static_cast<std::uint32_t>(1));
|
|
aot_mem.aot_direct_store32(ctx.gpr[21] + static_cast<std::uint32_t>(0), ctx.gpr[7]);
|
|
aot_gpr_6 = (aot_mem.aot_direct_load8(aot_gpr_6 + static_cast<std::uint32_t>(0)));
|
|
aot_gpr_6 = (aot_gpr_6 << 8u);
|
|
aot_gpr_5 = (aot_gpr_5 | aot_gpr_6);
|
|
aot_gpr_5 = (aot_gpr_5 & 65535u);
|
|
aot_gpr_5 = (aot_gpr_5 << 16u);
|
|
aot_gpr_4 = (aot_gpr_4 | aot_gpr_5);
|
|
aot_fpr_13 = std::bit_cast<float>(aot_gpr_4);
|
|
aot_fpr_14 = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(8)));
|
|
{ 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_13), std::bit_cast<std::uint32_t>(aot_fpr_14)};
|
|
aot_mem.aot_direct_store32_block(ctx.gpr[20] + static_cast<std::uint32_t>(64), aot_run_words); }
|
|
goto L_089D6714;
|
|
L_089D6714:
|
|
aot_gpr_4 = (ctx.gpr[22] & 8u);
|
|
if (aot_gpr_4 == 0u) {
|
|
aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast<std::uint32_t>(132), aot_gpr_16);
|
|
goto L_089D679C;
|
|
}
|
|
goto L_089D6720;
|
|
L_089D6720:
|
|
aot_fpr_12 = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(0)));
|
|
aot_fpr_13 = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(4)));
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[21] + static_cast<std::uint32_t>(0)));
|
|
aot_gpr_5 = (aot_gpr_4 + static_cast<std::uint32_t>(1));
|
|
aot_mem.aot_direct_store32(ctx.gpr[21] + static_cast<std::uint32_t>(0), aot_gpr_5);
|
|
aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast<std::uint32_t>(0)));
|
|
aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[21] + static_cast<std::uint32_t>(0)));
|
|
aot_gpr_6 = (aot_gpr_5 + static_cast<std::uint32_t>(1));
|
|
aot_mem.aot_direct_store32(ctx.gpr[21] + static_cast<std::uint32_t>(0), aot_gpr_6);
|
|
aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_5 + static_cast<std::uint32_t>(0)));
|
|
aot_gpr_5 = (aot_gpr_5 << 8u);
|
|
aot_gpr_4 = (aot_gpr_4 | aot_gpr_5);
|
|
aot_gpr_4 = (aot_gpr_4 & 65535u);
|
|
aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[21] + static_cast<std::uint32_t>(0)));
|
|
aot_gpr_6 = (aot_gpr_5 + static_cast<std::uint32_t>(1));
|
|
aot_mem.aot_direct_store32(ctx.gpr[21] + static_cast<std::uint32_t>(0), aot_gpr_6);
|
|
aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_5 + static_cast<std::uint32_t>(0)));
|
|
aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[21] + static_cast<std::uint32_t>(0)));
|
|
ctx.gpr[7] = (aot_gpr_6 + static_cast<std::uint32_t>(1));
|
|
aot_mem.aot_direct_store32(ctx.gpr[21] + static_cast<std::uint32_t>(0), ctx.gpr[7]);
|
|
aot_gpr_6 = (aot_mem.aot_direct_load8(aot_gpr_6 + static_cast<std::uint32_t>(0)));
|
|
aot_gpr_6 = (aot_gpr_6 << 8u);
|
|
aot_gpr_5 = (aot_gpr_5 | aot_gpr_6);
|
|
aot_gpr_5 = (aot_gpr_5 & 65535u);
|
|
aot_gpr_5 = (aot_gpr_5 << 16u);
|
|
aot_gpr_4 = (aot_gpr_4 | aot_gpr_5);
|
|
aot_fpr_14 = std::bit_cast<float>(aot_gpr_4);
|
|
{ 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_13), std::bit_cast<std::uint32_t>(aot_fpr_14)};
|
|
aot_mem.aot_direct_store32_block(ctx.gpr[20] + static_cast<std::uint32_t>(64), aot_run_words); }
|
|
aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast<std::uint32_t>(132), aot_gpr_16);
|
|
goto L_089D679C;
|
|
L_089D679C:
|
|
aot_gpr_4 = (ctx.gpr[22] & 16u);
|
|
{ const bool branch_taken = aot_gpr_4 == 0u;
|
|
if (branch_taken) {
|
|
goto L_089D684C;
|
|
}
|
|
goto L_089D67A8;
|
|
}
|
|
L_089D67A8:
|
|
aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast<std::uint32_t>(132), aot_gpr_16);
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[21] + static_cast<std::uint32_t>(0)));
|
|
aot_gpr_5 = (aot_gpr_4 + static_cast<std::uint32_t>(1));
|
|
aot_mem.aot_direct_store32(ctx.gpr[21] + static_cast<std::uint32_t>(0), aot_gpr_5);
|
|
aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast<std::uint32_t>(0)));
|
|
aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[21] + static_cast<std::uint32_t>(0)));
|
|
aot_gpr_6 = (aot_gpr_5 + static_cast<std::uint32_t>(1));
|
|
aot_mem.aot_direct_store32(ctx.gpr[21] + static_cast<std::uint32_t>(0), aot_gpr_6);
|
|
aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_5 + static_cast<std::uint32_t>(0)));
|
|
aot_gpr_5 = (aot_gpr_5 << 8u);
|
|
aot_gpr_4 = (aot_gpr_4 | aot_gpr_5);
|
|
aot_gpr_4 = (aot_gpr_4 & 65535u);
|
|
aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[21] + static_cast<std::uint32_t>(0)));
|
|
aot_gpr_6 = (aot_gpr_5 + static_cast<std::uint32_t>(1));
|
|
aot_mem.aot_direct_store32(ctx.gpr[21] + static_cast<std::uint32_t>(0), aot_gpr_6);
|
|
aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_5 + static_cast<std::uint32_t>(0)));
|
|
aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[21] + static_cast<std::uint32_t>(0)));
|
|
ctx.gpr[7] = (aot_gpr_6 + static_cast<std::uint32_t>(1));
|
|
aot_mem.aot_direct_store32(ctx.gpr[21] + static_cast<std::uint32_t>(0), ctx.gpr[7]);
|
|
aot_gpr_6 = (aot_mem.aot_direct_load8(aot_gpr_6 + static_cast<std::uint32_t>(0)));
|
|
aot_gpr_6 = (aot_gpr_6 << 8u);
|
|
aot_gpr_5 = (aot_gpr_5 | aot_gpr_6);
|
|
aot_gpr_5 = (aot_gpr_5 & 65535u);
|
|
aot_gpr_5 = (aot_gpr_5 << 16u);
|
|
aot_gpr_4 = (aot_gpr_4 | aot_gpr_5);
|
|
aot_fpr_12 = std::bit_cast<float>(aot_gpr_4);
|
|
aot_mem.aot_direct_store32(ctx.gpr[20] + static_cast<std::uint32_t>(184), std::bit_cast<std::uint32_t>(aot_fpr_12));
|
|
aot_fpr_14 = std::bit_cast<float>(aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast<std::uint32_t>(184)));
|
|
{ const std::uint32_t vfpu_address = aot_gpr_16 + 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[29] + static_cast<std::uint32_t>(48));
|
|
{ float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value);
|
|
const std::uint32_t vfpu_address = aot_gpr_4 + static_cast<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_16 = (ctx.gpr[20] + static_cast<std::uint32_t>(16));
|
|
aot_fpr_12 = std::bit_cast<float>(0u);
|
|
aot_gpr_4 = (aot_gpr_16 | 0u);
|
|
aot_gpr_31 = (0x089D6838u);
|
|
aot_fpr_13 = std::bit_cast<float>(std::bit_cast<std::uint32_t>(aot_fpr_12));
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0022_entry, 22u, 923u, 0x0885FA28u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D6838u) goto L_089D6838;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
L_089D6838:
|
|
{ std::uint32_t aot_run_words[3]{};
|
|
aot_mem.aot_direct_load32_block(ctx.gpr[29] + static_cast<std::uint32_t>(48), 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]);
|
|
aot_fpr_14 = std::bit_cast<float>(aot_run_words[2]);
|
|
}
|
|
aot_gpr_31 = (0x089D684Cu);
|
|
aot_gpr_4 = (aot_gpr_16 | 0u);
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 4u, 0x08860094u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D684Cu) goto L_089D684C;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
L_089D684C:
|
|
aot_gpr_4 = (ctx.gpr[22] & 32u);
|
|
{ const bool branch_taken = aot_gpr_4 == 0u;
|
|
if (branch_taken) {
|
|
goto L_089D68C0;
|
|
}
|
|
goto L_089D6858;
|
|
}
|
|
L_089D6858:
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[21] + static_cast<std::uint32_t>(0)));
|
|
aot_gpr_5 = (aot_gpr_4 + static_cast<std::uint32_t>(1));
|
|
aot_mem.aot_direct_store32(ctx.gpr[21] + static_cast<std::uint32_t>(0), aot_gpr_5);
|
|
aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast<std::uint32_t>(0)));
|
|
aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[21] + static_cast<std::uint32_t>(0)));
|
|
aot_gpr_6 = (aot_gpr_5 + static_cast<std::uint32_t>(1));
|
|
aot_mem.aot_direct_store32(ctx.gpr[21] + static_cast<std::uint32_t>(0), aot_gpr_6);
|
|
aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_5 + static_cast<std::uint32_t>(0)));
|
|
aot_gpr_5 = (aot_gpr_5 << 8u);
|
|
aot_gpr_4 = (aot_gpr_4 | aot_gpr_5);
|
|
aot_gpr_4 = (aot_gpr_4 & 65535u);
|
|
aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[21] + static_cast<std::uint32_t>(0)));
|
|
aot_gpr_6 = (aot_gpr_5 + static_cast<std::uint32_t>(1));
|
|
aot_mem.aot_direct_store32(ctx.gpr[21] + static_cast<std::uint32_t>(0), aot_gpr_6);
|
|
aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_5 + static_cast<std::uint32_t>(0)));
|
|
aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[21] + static_cast<std::uint32_t>(0)));
|
|
ctx.gpr[7] = (aot_gpr_6 + static_cast<std::uint32_t>(1));
|
|
aot_mem.aot_direct_store32(ctx.gpr[21] + static_cast<std::uint32_t>(0), ctx.gpr[7]);
|
|
aot_gpr_6 = (aot_mem.aot_direct_load8(aot_gpr_6 + static_cast<std::uint32_t>(0)));
|
|
aot_gpr_6 = (aot_gpr_6 << 8u);
|
|
aot_gpr_5 = (aot_gpr_5 | aot_gpr_6);
|
|
aot_gpr_5 = (aot_gpr_5 & 65535u);
|
|
aot_gpr_5 = (aot_gpr_5 << 16u);
|
|
aot_gpr_4 = (aot_gpr_4 | aot_gpr_5);
|
|
aot_fpr_12 = std::bit_cast<float>(aot_gpr_4);
|
|
aot_mem.aot_direct_store32(ctx.gpr[20] + static_cast<std::uint32_t>(188), std::bit_cast<std::uint32_t>(aot_fpr_12));
|
|
goto L_089D68C0;
|
|
L_089D68C0:
|
|
ctx.gpr[19] = (aot_mem.aot_direct_load8(ctx.gpr[20] + static_cast<std::uint32_t>(214)));
|
|
aot_gpr_4 = (ctx.gpr[22] & 64u);
|
|
{ const bool branch_taken = aot_gpr_4 == 0u;
|
|
if (branch_taken) {
|
|
goto L_089D68E4;
|
|
}
|
|
goto L_089D68D0;
|
|
}
|
|
L_089D68D0:
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[21] + static_cast<std::uint32_t>(0)));
|
|
aot_gpr_5 = (aot_gpr_4 + static_cast<std::uint32_t>(1));
|
|
aot_mem.aot_direct_store32(ctx.gpr[21] + static_cast<std::uint32_t>(0), aot_gpr_5);
|
|
aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast<std::uint32_t>(0)));
|
|
aot_mem.aot_direct_store8(ctx.gpr[20] + static_cast<std::uint32_t>(214), static_cast<std::uint8_t>(aot_gpr_4));
|
|
goto L_089D68E4;
|
|
L_089D68E4:
|
|
aot_gpr_16 = (0u | 0u);
|
|
aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[20] + static_cast<std::uint32_t>(214)));
|
|
aot_gpr_4 = (aot_gpr_16 < aot_gpr_4 ? 1u : 0u);
|
|
{ const bool branch_taken = aot_gpr_4 == 0u;
|
|
ctx.gpr[18] = (0u | 128u);
|
|
if (branch_taken) {
|
|
goto L_089D6938;
|
|
}
|
|
goto L_089D68F8;
|
|
}
|
|
L_089D68F8:
|
|
aot_gpr_17 = (ctx.gpr[20] + static_cast<std::uint32_t>(216));
|
|
goto L_089D68FC;
|
|
L_089D68FC:
|
|
aot_gpr_5 = (aot_gpr_16 < ctx.gpr[19] ? 1u : 0u);
|
|
aot_gpr_4 = (ctx.gpr[18] << (aot_gpr_16 & 31u));
|
|
{ const bool branch_taken = aot_gpr_5 != 0u;
|
|
aot_gpr_4 = (ctx.gpr[22] & aot_gpr_4);
|
|
if (branch_taken) {
|
|
goto L_089D690C;
|
|
}
|
|
goto L_089D690C;
|
|
}
|
|
L_089D690C:
|
|
{ const bool branch_taken = aot_gpr_4 == 0u;
|
|
if (branch_taken) {
|
|
goto L_089D6924;
|
|
}
|
|
goto L_089D6914;
|
|
}
|
|
L_089D6914:
|
|
aot_gpr_4 = (ctx.gpr[30] | 0u);
|
|
aot_gpr_5 = (ctx.gpr[23] | 0u);
|
|
aot_gpr_31 = (0x089D6924u);
|
|
aot_gpr_6 = (aot_gpr_17 | 0u);
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0115_entry, 115u, 660u, 0x089D3C28u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D6924u) goto L_089D6924;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
L_089D6924:
|
|
aot_gpr_16 = (aot_gpr_16 + static_cast<std::uint32_t>(1));
|
|
aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[20] + static_cast<std::uint32_t>(214)));
|
|
aot_gpr_4 = (aot_gpr_16 < aot_gpr_4 ? 1u : 0u);
|
|
{ const bool branch_taken = aot_gpr_4 != 0u;
|
|
aot_gpr_17 = (aot_gpr_17 + static_cast<std::uint32_t>(24));
|
|
if (branch_taken) {
|
|
goto L_089D68FC;
|
|
}
|
|
goto L_089D6938;
|
|
}
|
|
L_089D6938:
|
|
aot_gpr_4 = (aot_gpr_16 < static_cast<std::uint32_t>(5) ? 1u : 0u);
|
|
{ const bool branch_taken = aot_gpr_4 == 0u;
|
|
ctx.gpr[18] = (0u | 128u);
|
|
if (branch_taken) {
|
|
goto L_089D6988;
|
|
}
|
|
goto L_089D6944;
|
|
}
|
|
L_089D6944:
|
|
aot_gpr_4 = (aot_gpr_16 << 3u);
|
|
aot_gpr_5 = (aot_gpr_4 + aot_gpr_4);
|
|
aot_gpr_4 = (aot_gpr_4 + aot_gpr_5);
|
|
aot_gpr_17 = (ctx.gpr[20] + aot_gpr_4);
|
|
aot_gpr_17 = (aot_gpr_17 + static_cast<std::uint32_t>(216));
|
|
goto L_089D6958;
|
|
L_089D6958:
|
|
aot_gpr_4 = (ctx.gpr[18] << (aot_gpr_16 & 31u));
|
|
aot_gpr_4 = (ctx.gpr[22] & aot_gpr_4);
|
|
{ const bool branch_taken = aot_gpr_4 == 0u;
|
|
if (branch_taken) {
|
|
goto L_089D6978;
|
|
}
|
|
goto L_089D6968;
|
|
}
|
|
L_089D6968:
|
|
aot_gpr_4 = (ctx.gpr[30] | 0u);
|
|
aot_gpr_5 = (ctx.gpr[23] | 0u);
|
|
aot_gpr_31 = (0x089D6978u);
|
|
aot_gpr_6 = (aot_gpr_17 | 0u);
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0115_entry, 115u, 660u, 0x089D3C28u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D6978u) goto L_089D6978;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
L_089D6978:
|
|
aot_gpr_16 = (aot_gpr_16 + static_cast<std::uint32_t>(1));
|
|
aot_gpr_4 = (aot_gpr_16 < static_cast<std::uint32_t>(5) ? 1u : 0u);
|
|
{ const bool branch_taken = aot_gpr_4 != 0u;
|
|
aot_gpr_17 = (aot_gpr_17 + static_cast<std::uint32_t>(24));
|
|
if (branch_taken) {
|
|
goto L_089D6958;
|
|
}
|
|
goto L_089D6988;
|
|
}
|
|
L_089D6988:
|
|
aot_gpr_4 = (ctx.gpr[22] & 16384u);
|
|
{ const bool branch_taken = aot_gpr_4 == 0u;
|
|
aot_gpr_17 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast<std::uint32_t>(132)));
|
|
if (branch_taken) {
|
|
goto L_089D69A8;
|
|
}
|
|
goto L_089D6994;
|
|
}
|
|
L_089D6994:
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[21] + static_cast<std::uint32_t>(0)));
|
|
aot_gpr_5 = (aot_gpr_4 + static_cast<std::uint32_t>(1));
|
|
aot_mem.aot_direct_store32(ctx.gpr[21] + static_cast<std::uint32_t>(0), aot_gpr_5);
|
|
aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast<std::uint32_t>(0)));
|
|
aot_mem.aot_direct_store8(ctx.gpr[20] + static_cast<std::uint32_t>(192), static_cast<std::uint8_t>(aot_gpr_4));
|
|
goto L_089D69A8;
|
|
L_089D69A8:
|
|
aot_gpr_4 = (ctx.gpr[22] & 32768u);
|
|
{ const bool branch_taken = aot_gpr_4 == 0u;
|
|
if (branch_taken) {
|
|
goto L_089D69C0;
|
|
}
|
|
goto L_089D69B4;
|
|
}
|
|
L_089D69B4:
|
|
aot_gpr_5 = (ctx.gpr[20] + static_cast<std::uint32_t>(192));
|
|
aot_gpr_31 = (0x089D69C0u);
|
|
aot_gpr_4 = (ctx.gpr[23] | 0u);
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0166_entry, 166u, 231u, 0x08A9DBC8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D69C0u) goto L_089D69C0;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
L_089D69C0:
|
|
aot_gpr_4 = (1u << 16u);
|
|
aot_gpr_4 = (ctx.gpr[22] & aot_gpr_4);
|
|
{ const bool branch_taken = aot_gpr_4 == 0u;
|
|
if (branch_taken) {
|
|
goto L_089D69E4;
|
|
}
|
|
goto L_089D69D0;
|
|
}
|
|
L_089D69D0:
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[21] + static_cast<std::uint32_t>(0)));
|
|
aot_gpr_5 = (aot_gpr_4 + static_cast<std::uint32_t>(1));
|
|
aot_mem.aot_direct_store32(ctx.gpr[21] + static_cast<std::uint32_t>(0), aot_gpr_5);
|
|
aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast<std::uint32_t>(0)));
|
|
aot_mem.aot_direct_store8(ctx.gpr[20] + static_cast<std::uint32_t>(183), static_cast<std::uint8_t>(aot_gpr_4));
|
|
goto L_089D69E4;
|
|
L_089D69E4:
|
|
aot_gpr_4 = (512u << 16u);
|
|
aot_gpr_4 = (ctx.gpr[22] & aot_gpr_4);
|
|
{ const bool branch_taken = aot_gpr_4 == 0u;
|
|
if (branch_taken) {
|
|
goto L_089D6A08;
|
|
}
|
|
goto L_089D69F4;
|
|
}
|
|
L_089D69F4:
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[21] + static_cast<std::uint32_t>(0)));
|
|
aot_gpr_5 = (aot_gpr_4 + static_cast<std::uint32_t>(1));
|
|
aot_mem.aot_direct_store32(ctx.gpr[21] + static_cast<std::uint32_t>(0), aot_gpr_5);
|
|
aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast<std::uint32_t>(0)));
|
|
aot_mem.aot_direct_store8(ctx.gpr[20] + static_cast<std::uint32_t>(345), static_cast<std::uint8_t>(aot_gpr_4));
|
|
goto L_089D6A08;
|
|
L_089D6A08:
|
|
aot_gpr_4 = (2u << 16u);
|
|
aot_gpr_4 = (ctx.gpr[22] & aot_gpr_4);
|
|
{ const bool branch_taken = aot_gpr_4 == 0u;
|
|
if (branch_taken) {
|
|
goto L_089D6A2C;
|
|
}
|
|
goto L_089D6A18;
|
|
}
|
|
L_089D6A18:
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[21] + static_cast<std::uint32_t>(0)));
|
|
aot_gpr_5 = (aot_gpr_4 + static_cast<std::uint32_t>(1));
|
|
aot_mem.aot_direct_store32(ctx.gpr[21] + static_cast<std::uint32_t>(0), aot_gpr_5);
|
|
aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast<std::uint32_t>(0)));
|
|
aot_mem.aot_direct_store8(ctx.gpr[20] + static_cast<std::uint32_t>(336), static_cast<std::uint8_t>(aot_gpr_4));
|
|
goto L_089D6A2C;
|
|
L_089D6A2C:
|
|
aot_gpr_4 = (4u << 16u);
|
|
aot_gpr_4 = (ctx.gpr[22] & aot_gpr_4);
|
|
{ const bool branch_taken = aot_gpr_4 == 0u;
|
|
if (branch_taken) {
|
|
goto L_089D6A50;
|
|
}
|
|
goto L_089D6A3C;
|
|
}
|
|
L_089D6A3C:
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[21] + static_cast<std::uint32_t>(0)));
|
|
aot_gpr_5 = (aot_gpr_4 + static_cast<std::uint32_t>(1));
|
|
aot_mem.aot_direct_store32(ctx.gpr[21] + static_cast<std::uint32_t>(0), aot_gpr_5);
|
|
aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast<std::uint32_t>(0)));
|
|
aot_mem.aot_direct_store8(ctx.gpr[20] + static_cast<std::uint32_t>(337), static_cast<std::uint8_t>(aot_gpr_4));
|
|
goto L_089D6A50;
|
|
L_089D6A50:
|
|
aot_gpr_4 = (8u << 16u);
|
|
aot_gpr_4 = (ctx.gpr[22] & aot_gpr_4);
|
|
{ const bool branch_taken = aot_gpr_4 == 0u;
|
|
if (branch_taken) {
|
|
goto L_089D6A98;
|
|
}
|
|
goto L_089D6A60;
|
|
}
|
|
L_089D6A60:
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[21] + static_cast<std::uint32_t>(0)));
|
|
aot_gpr_5 = (aot_gpr_4 + static_cast<std::uint32_t>(1));
|
|
aot_mem.aot_direct_store32(ctx.gpr[21] + static_cast<std::uint32_t>(0), aot_gpr_5);
|
|
aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast<std::uint32_t>(0)));
|
|
aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[21] + static_cast<std::uint32_t>(0)));
|
|
aot_gpr_6 = (aot_gpr_5 + static_cast<std::uint32_t>(1));
|
|
aot_mem.aot_direct_store32(ctx.gpr[21] + static_cast<std::uint32_t>(0), aot_gpr_6);
|
|
aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_5 + static_cast<std::uint32_t>(0)));
|
|
aot_gpr_5 = (aot_gpr_5 << 8u);
|
|
aot_gpr_4 = (aot_gpr_4 | aot_gpr_5);
|
|
aot_mem.aot_direct_store16(ctx.gpr[20] + static_cast<std::uint32_t>(338), static_cast<std::uint16_t>(aot_gpr_4));
|
|
aot_gpr_5 = (aot_mem.aot_direct_load16(ctx.gpr[20] + static_cast<std::uint32_t>(338)));
|
|
aot_gpr_31 = (0x089D6A98u);
|
|
aot_gpr_4 = (ctx.gpr[30] | 0u);
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0115_entry, 115u, 596u, 0x089D3450u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D6A98u) goto L_089D6A98;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
L_089D6A98:
|
|
aot_gpr_4 = (16u << 16u);
|
|
aot_gpr_4 = (ctx.gpr[22] & aot_gpr_4);
|
|
{ const bool branch_taken = aot_gpr_4 == 0u;
|
|
if (branch_taken) {
|
|
goto L_089D6ABC;
|
|
}
|
|
goto L_089D6AA8;
|
|
}
|
|
L_089D6AA8:
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[21] + static_cast<std::uint32_t>(0)));
|
|
aot_gpr_5 = (aot_gpr_4 + static_cast<std::uint32_t>(1));
|
|
aot_mem.aot_direct_store32(ctx.gpr[21] + static_cast<std::uint32_t>(0), aot_gpr_5);
|
|
aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast<std::uint32_t>(0)));
|
|
aot_mem.aot_direct_store8(ctx.gpr[20] + static_cast<std::uint32_t>(340), static_cast<std::uint8_t>(aot_gpr_4));
|
|
goto L_089D6ABC;
|
|
L_089D6ABC:
|
|
aot_gpr_4 = (32u << 16u);
|
|
aot_gpr_4 = (ctx.gpr[22] & aot_gpr_4);
|
|
{ const bool branch_taken = aot_gpr_4 == 0u;
|
|
if (branch_taken) {
|
|
goto L_089D6AD8;
|
|
}
|
|
goto L_089D6ACC;
|
|
}
|
|
L_089D6ACC:
|
|
aot_gpr_5 = (ctx.gpr[20] + static_cast<std::uint32_t>(96));
|
|
aot_gpr_31 = (0x089D6AD8u);
|
|
aot_gpr_4 = (ctx.gpr[23] | 0u);
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0088_entry, 88u, 79u, 0x08964CC8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D6AD8u) goto L_089D6AD8;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
L_089D6AD8:
|
|
aot_gpr_4 = (64u << 16u);
|
|
aot_gpr_4 = (ctx.gpr[22] & aot_gpr_4);
|
|
{ const bool branch_taken = aot_gpr_4 == 0u;
|
|
if (branch_taken) {
|
|
goto L_089D6AFC;
|
|
}
|
|
goto L_089D6AE8;
|
|
}
|
|
L_089D6AE8:
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[21] + static_cast<std::uint32_t>(0)));
|
|
aot_gpr_5 = (aot_gpr_4 + static_cast<std::uint32_t>(1));
|
|
aot_mem.aot_direct_store32(ctx.gpr[21] + static_cast<std::uint32_t>(0), aot_gpr_5);
|
|
aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast<std::uint32_t>(0)));
|
|
aot_mem.aot_direct_store8(ctx.gpr[20] + static_cast<std::uint32_t>(341), static_cast<std::uint8_t>(aot_gpr_4));
|
|
goto L_089D6AFC;
|
|
L_089D6AFC:
|
|
aot_gpr_4 = (128u << 16u);
|
|
aot_gpr_4 = (ctx.gpr[22] & aot_gpr_4);
|
|
{ const bool branch_taken = aot_gpr_4 == 0u;
|
|
if (branch_taken) {
|
|
goto L_089D6B38;
|
|
}
|
|
goto L_089D6B0C;
|
|
}
|
|
L_089D6B0C:
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[21] + static_cast<std::uint32_t>(0)));
|
|
aot_gpr_5 = (aot_gpr_4 + static_cast<std::uint32_t>(1));
|
|
aot_mem.aot_direct_store32(ctx.gpr[21] + static_cast<std::uint32_t>(0), aot_gpr_5);
|
|
aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast<std::uint32_t>(0)));
|
|
aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[21] + static_cast<std::uint32_t>(0)));
|
|
aot_gpr_6 = (aot_gpr_5 + static_cast<std::uint32_t>(1));
|
|
aot_mem.aot_direct_store32(ctx.gpr[21] + static_cast<std::uint32_t>(0), aot_gpr_6);
|
|
aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_5 + static_cast<std::uint32_t>(0)));
|
|
aot_gpr_5 = (aot_gpr_5 << 8u);
|
|
aot_gpr_4 = (aot_gpr_4 | aot_gpr_5);
|
|
aot_mem.aot_direct_store16(ctx.gpr[20] + static_cast<std::uint32_t>(342), static_cast<std::uint16_t>(aot_gpr_4));
|
|
goto L_089D6B38;
|
|
L_089D6B38:
|
|
aot_gpr_4 = (256u << 16u);
|
|
aot_gpr_4 = (ctx.gpr[22] & aot_gpr_4);
|
|
{ const bool branch_taken = aot_gpr_4 == 0u;
|
|
if (branch_taken) {
|
|
goto L_089D6B5C;
|
|
}
|
|
goto L_089D6B48;
|
|
}
|
|
L_089D6B48:
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[21] + static_cast<std::uint32_t>(0)));
|
|
aot_gpr_5 = (aot_gpr_4 + static_cast<std::uint32_t>(1));
|
|
aot_mem.aot_direct_store32(ctx.gpr[21] + static_cast<std::uint32_t>(0), aot_gpr_5);
|
|
aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast<std::uint32_t>(0)));
|
|
aot_mem.aot_direct_store8(ctx.gpr[20] + static_cast<std::uint32_t>(344), static_cast<std::uint8_t>(aot_gpr_4));
|
|
goto L_089D6B5C;
|
|
L_089D6B5C:
|
|
aot_gpr_4 = (aot_mem.aot_direct_load16(ctx.gpr[20] + static_cast<std::uint32_t>(176)));
|
|
aot_gpr_5 = (0u | 65535u);
|
|
{ const bool branch_taken = aot_gpr_4 == aot_gpr_5;
|
|
if (branch_taken) {
|
|
goto L_089D6DA4;
|
|
}
|
|
goto L_089D6B6C;
|
|
}
|
|
L_089D6B6C:
|
|
aot_gpr_4 = (2237u << 16u);
|
|
aot_gpr_4 = (aot_gpr_4 + static_cast<std::uint32_t>(-28736));
|
|
aot_gpr_5 = (static_cast<std::uint32_t>(static_cast<std::int32_t>(static_cast<std::int8_t>(aot_mem.aot_direct_load8(ctx.gpr[30] + static_cast<std::uint32_t>(3))))));
|
|
aot_gpr_31 = (0x089D6B80u);
|
|
aot_gpr_6 = (aot_mem.aot_direct_load16(ctx.gpr[20] + static_cast<std::uint32_t>(176)));
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 192u, 0x08ADCA6Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D6B80u) goto L_089D6B80;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
L_089D6B80:
|
|
aot_gpr_16 = (ctx.gpr[2] | 0u);
|
|
{ const bool branch_taken = aot_gpr_16 == 0u;
|
|
if (branch_taken) {
|
|
goto L_089D6CE0;
|
|
}
|
|
goto L_089D6B8C;
|
|
}
|
|
L_089D6B8C:
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(108)));
|
|
aot_gpr_5 = (aot_gpr_4 + static_cast<std::uint32_t>(64));
|
|
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_5 + static_cast<std::uint32_t>(0))))));
|
|
aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast<std::uint32_t>(4)));
|
|
jump_target = aot_gpr_5;
|
|
aot_gpr_31 = (0x089D6BA4u);
|
|
aot_gpr_4 = (aot_gpr_16 + aot_gpr_4);
|
|
ctx.pc = jump_target;
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D6BA4u) goto L_089D6BA4;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
L_089D6BA4:
|
|
aot_gpr_4 = (0u | 3u);
|
|
{ const bool branch_taken = ctx.gpr[2] != aot_gpr_4;
|
|
if (branch_taken) {
|
|
goto L_089D6CE0;
|
|
}
|
|
goto L_089D6BB0;
|
|
}
|
|
L_089D6BB0:
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(96)));
|
|
{ const bool branch_taken = aot_gpr_4 != 0u;
|
|
ctx.fpr[22] = std::bit_cast<float>(0u);
|
|
if (branch_taken) {
|
|
goto L_089D6BD8;
|
|
}
|
|
goto L_089D6BBC;
|
|
}
|
|
L_089D6BBC:
|
|
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_16 + static_cast<std::uint32_t>(10))))));
|
|
aot_gpr_6 = (ctx.gpr[29] + static_cast<std::uint32_t>(64));
|
|
aot_gpr_31 = (0x089D6BCCu);
|
|
aot_gpr_4 = (aot_gpr_16 | 0u);
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0166_entry, 166u, 47u, 0x08A9C6FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D6BCCu) goto L_089D6BCC;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
L_089D6BCC:
|
|
aot_mem.aot_direct_store32(aot_gpr_16 + static_cast<std::uint32_t>(96), ctx.gpr[2]);
|
|
aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[29] + static_cast<std::uint32_t>(64)));
|
|
aot_mem.aot_direct_store8(aot_gpr_16 + static_cast<std::uint32_t>(4), static_cast<std::uint8_t>(aot_gpr_4));
|
|
goto L_089D6BD8;
|
|
L_089D6BD8:
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(96)));
|
|
aot_gpr_4 = (aot_gpr_4 + static_cast<std::uint32_t>(48));
|
|
aot_fpr_20 = std::bit_cast<float>(std::bit_cast<std::uint32_t>(ctx.fpr[22]));
|
|
aot_fpr_12 = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast<std::uint32_t>(8)));
|
|
aot_gpr_5 = (16256u << 16u);
|
|
aot_fpr_13 = std::bit_cast<float>(aot_gpr_5);
|
|
ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < aot_fpr_13)) ? 0x00800000u : 0u);
|
|
{ const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u);
|
|
if (branch_taken) {
|
|
goto L_089D6C74;
|
|
}
|
|
goto L_089D6C00;
|
|
}
|
|
L_089D6C00:
|
|
{ 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, 2u>();
|
|
ctx.execute_vfpu_unary_ct<28u, 28u, 1u, 22u>();
|
|
aot_gpr_5 = (ctx.vfpu_scalar_bits_ct<28u>());
|
|
aot_fpr_12 = std::bit_cast<float>(aot_gpr_5);
|
|
aot_fpr_13 = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast<std::uint32_t>(8)));
|
|
aot_fpr_12 = aot_fpr_13 / aot_fpr_12;
|
|
aot_fpr_13 = std::bit_cast<float>(std::bit_cast<std::uint32_t>(aot_fpr_12));
|
|
aot_gpr_4 = (16329u << 16u);
|
|
aot_gpr_4 = (aot_gpr_4 | 4059u);
|
|
aot_fpr_20 = std::bit_cast<float>(aot_gpr_4);
|
|
ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_13 < ctx.fpr[22])) ? 0x00800000u : 0u);
|
|
if (((ctx.fcr31 & 0x00800000u) != 0u)) {
|
|
aot_fpr_13 = std::bit_cast<float>(std::bit_cast<std::uint32_t>(aot_fpr_12) ^ 0x80000000u);
|
|
goto L_089D6C3C;
|
|
}
|
|
goto L_089D6C3C;
|
|
L_089D6C3C:
|
|
aot_gpr_4 = (15897u << 16u);
|
|
aot_gpr_4 = (aot_gpr_4 | 39322u);
|
|
aot_fpr_14 = std::bit_cast<float>(aot_gpr_4);
|
|
ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_13 < aot_fpr_14)) ? 0x00800000u : 0u);
|
|
{ const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u);
|
|
if (branch_taken) {
|
|
goto L_089D6C68;
|
|
}
|
|
goto L_089D6C58;
|
|
}
|
|
L_089D6C58:
|
|
aot_gpr_31 = (0x089D6C60u);
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0215_entry, 215u, 36u, 0x08B6033Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D6C60u) goto L_089D6C60;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
L_089D6C60:
|
|
{ const bool branch_taken = 0u == 0u;
|
|
aot_fpr_20 = aot_fpr_20 - ctx.fpr[0];
|
|
if (branch_taken) {
|
|
goto L_089D6C74;
|
|
}
|
|
goto L_089D6C68;
|
|
}
|
|
L_089D6C68:
|
|
aot_gpr_31 = (0x089D6C70u);
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0088_entry, 88u, 26u, 0x089644F8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D6C70u) goto L_089D6C70;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
L_089D6C70:
|
|
aot_fpr_20 = aot_fpr_20 - ctx.fpr[0];
|
|
goto L_089D6C74;
|
|
L_089D6C74:
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(96)));
|
|
if (aot_gpr_4 != 0u) {
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(96)));
|
|
goto L_089D6CA0;
|
|
}
|
|
goto L_089D6C80;
|
|
L_089D6C80:
|
|
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_16 + static_cast<std::uint32_t>(10))))));
|
|
aot_gpr_6 = (ctx.gpr[29] + static_cast<std::uint32_t>(65));
|
|
aot_gpr_31 = (0x089D6C90u);
|
|
aot_gpr_4 = (aot_gpr_16 | 0u);
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0166_entry, 166u, 47u, 0x08A9C6FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D6C90u) goto L_089D6C90;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
L_089D6C90:
|
|
aot_mem.aot_direct_store32(aot_gpr_16 + static_cast<std::uint32_t>(96), ctx.gpr[2]);
|
|
aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[29] + static_cast<std::uint32_t>(65)));
|
|
aot_mem.aot_direct_store8(aot_gpr_16 + static_cast<std::uint32_t>(4), static_cast<std::uint8_t>(aot_gpr_4));
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(96)));
|
|
goto L_089D6CA0;
|
|
L_089D6CA0:
|
|
aot_fpr_13 = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast<std::uint32_t>(548)));
|
|
aot_fpr_14 = std::bit_cast<float>(aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast<std::uint32_t>(184)));
|
|
{ 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); }
|
|
aot_gpr_4 = (ctx.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_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_16 = (ctx.gpr[20] + static_cast<std::uint32_t>(16));
|
|
aot_gpr_4 = (aot_gpr_16 | 0u);
|
|
aot_gpr_31 = (0x089D6CC4u);
|
|
aot_fpr_12 = std::bit_cast<float>(std::bit_cast<std::uint32_t>(aot_fpr_20));
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0022_entry, 22u, 923u, 0x0885FA28u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D6CC4u) goto L_089D6CC4;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
L_089D6CC4:
|
|
{ std::uint32_t aot_run_words[3]{};
|
|
aot_mem.aot_direct_load32_block(ctx.gpr[29] + static_cast<std::uint32_t>(80), 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]);
|
|
aot_fpr_14 = std::bit_cast<float>(aot_run_words[2]);
|
|
}
|
|
aot_gpr_31 = (0x089D6CD8u);
|
|
aot_gpr_4 = (aot_gpr_16 | 0u);
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 4u, 0x08860094u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D6CD8u) goto L_089D6CD8;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
L_089D6CD8:
|
|
{ const bool branch_taken = 0u == 0u;
|
|
if (branch_taken) {
|
|
goto L_089D6D9C;
|
|
}
|
|
goto L_089D6CE0;
|
|
}
|
|
L_089D6CE0:
|
|
{ const bool branch_taken = aot_gpr_16 == 0u;
|
|
if (branch_taken) {
|
|
goto L_089D6D9C;
|
|
}
|
|
goto L_089D6CE8;
|
|
}
|
|
L_089D6CE8:
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(108)));
|
|
aot_gpr_5 = (aot_gpr_4 + static_cast<std::uint32_t>(64));
|
|
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_5 + static_cast<std::uint32_t>(0))))));
|
|
aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast<std::uint32_t>(4)));
|
|
jump_target = aot_gpr_5;
|
|
aot_gpr_31 = (0x089D6D00u);
|
|
aot_gpr_4 = (aot_gpr_16 + aot_gpr_4);
|
|
ctx.pc = jump_target;
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D6D00u) goto L_089D6D00;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
L_089D6D00:
|
|
aot_gpr_4 = (0u | 2u);
|
|
{ const bool branch_taken = ctx.gpr[2] != aot_gpr_4;
|
|
if (branch_taken) {
|
|
goto L_089D6D9C;
|
|
}
|
|
goto L_089D6D0C;
|
|
}
|
|
L_089D6D0C:
|
|
aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(112)));
|
|
{ const bool branch_taken = aot_gpr_16 == 0u;
|
|
if (branch_taken) {
|
|
goto L_089D6D9C;
|
|
}
|
|
goto L_089D6D18;
|
|
}
|
|
L_089D6D18:
|
|
aot_gpr_31 = (0x089D6D20u);
|
|
aot_gpr_4 = (aot_gpr_16 | 0u);
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0115_entry, 115u, 327u, 0x089D1ED8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D6D20u) goto L_089D6D20;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
L_089D6D20:
|
|
aot_fpr_20 = std::bit_cast<float>(std::bit_cast<std::uint32_t>(ctx.fpr[0]));
|
|
aot_fpr_13 = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(8)));
|
|
aot_fpr_13 = std::bit_cast<float>(std::bit_cast<std::uint32_t>(aot_fpr_13) ^ 0x80000000u);
|
|
aot_fpr_12 = std::bit_cast<float>(0u);
|
|
ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((!(std::isnan(aot_fpr_13) || std::isnan(aot_fpr_12)) && aot_fpr_13 == aot_fpr_12)) ? 0x00800000u : 0u);
|
|
{ const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u);
|
|
aot_fpr_14 = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(40)));
|
|
if (branch_taken) {
|
|
goto L_089D6D50;
|
|
}
|
|
goto L_089D6D40;
|
|
}
|
|
L_089D6D40:
|
|
ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((!(std::isnan(aot_fpr_14) || std::isnan(aot_fpr_12)) && aot_fpr_14 == aot_fpr_12)) ? 0x00800000u : 0u);
|
|
{ const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u);
|
|
if (branch_taken) {
|
|
goto L_089D6D64;
|
|
}
|
|
goto L_089D6D50;
|
|
}
|
|
L_089D6D50:
|
|
aot_fpr_12 = std::bit_cast<float>(std::bit_cast<std::uint32_t>(aot_fpr_13));
|
|
aot_gpr_31 = (0x089D6D5Cu);
|
|
aot_fpr_13 = std::bit_cast<float>(std::bit_cast<std::uint32_t>(aot_fpr_14));
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0088_entry, 88u, 28u, 0x08964540u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D6D5Cu) goto L_089D6D5C;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
L_089D6D5C:
|
|
{ const bool branch_taken = 0u == 0u;
|
|
aot_fpr_12 = std::bit_cast<float>(std::bit_cast<std::uint32_t>(ctx.fpr[0]));
|
|
if (branch_taken) {
|
|
goto L_089D6D64;
|
|
}
|
|
goto L_089D6D64;
|
|
}
|
|
L_089D6D64:
|
|
aot_fpr_13 = std::bit_cast<float>(std::bit_cast<std::uint32_t>(aot_fpr_12));
|
|
aot_fpr_14 = std::bit_cast<float>(aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast<std::uint32_t>(184)));
|
|
{ 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); }
|
|
aot_gpr_4 = (ctx.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_gpr_16 = (ctx.gpr[20] + static_cast<std::uint32_t>(16));
|
|
aot_gpr_4 = (aot_gpr_16 | 0u);
|
|
aot_gpr_31 = (0x089D6D88u);
|
|
aot_fpr_12 = std::bit_cast<float>(std::bit_cast<std::uint32_t>(aot_fpr_20));
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0022_entry, 22u, 923u, 0x0885FA28u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D6D88u) goto L_089D6D88;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
L_089D6D88:
|
|
{ std::uint32_t aot_run_words[3]{};
|
|
aot_mem.aot_direct_load32_block(ctx.gpr[29] + static_cast<std::uint32_t>(96), 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]);
|
|
aot_fpr_14 = std::bit_cast<float>(aot_run_words[2]);
|
|
}
|
|
aot_gpr_31 = (0x089D6D9Cu);
|
|
aot_gpr_4 = (aot_gpr_16 | 0u);
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 4u, 0x08860094u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D6D9Cu) goto L_089D6D9C;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
L_089D6D9C:
|
|
{ const bool branch_taken = 0u == 0u;
|
|
if (branch_taken) {
|
|
goto L_089D6DE8;
|
|
}
|
|
goto L_089D6DA4;
|
|
}
|
|
L_089D6DA4:
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast<std::uint32_t>(136)));
|
|
{ const bool branch_taken = aot_gpr_4 == 0u;
|
|
if (branch_taken) {
|
|
goto L_089D6DE8;
|
|
}
|
|
goto L_089D6DB0;
|
|
}
|
|
L_089D6DB0:
|
|
aot_fpr_14 = std::bit_cast<float>(aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast<std::uint32_t>(184)));
|
|
{ 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); }
|
|
aot_gpr_4 = (ctx.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); }
|
|
aot_gpr_16 = (ctx.gpr[20] + static_cast<std::uint32_t>(16));
|
|
aot_fpr_12 = std::bit_cast<float>(0u);
|
|
aot_gpr_4 = (aot_gpr_16 | 0u);
|
|
aot_gpr_31 = (0x089D6DD4u);
|
|
aot_fpr_13 = std::bit_cast<float>(std::bit_cast<std::uint32_t>(aot_fpr_12));
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0022_entry, 22u, 923u, 0x0885FA28u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D6DD4u) goto L_089D6DD4;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
L_089D6DD4:
|
|
{ std::uint32_t aot_run_words[3]{};
|
|
aot_mem.aot_direct_load32_block(ctx.gpr[29] + static_cast<std::uint32_t>(112), 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]);
|
|
aot_fpr_14 = std::bit_cast<float>(aot_run_words[2]);
|
|
}
|
|
aot_gpr_31 = (0x089D6DE8u);
|
|
aot_gpr_4 = (aot_gpr_16 | 0u);
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 4u, 0x08860094u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D6DE8u) goto L_089D6DE8;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
L_089D6DE8:
|
|
aot_gpr_4 = (0u | 0u);
|
|
aot_gpr_5 = (aot_mem.aot_direct_load8(ctx.gpr[20] + static_cast<std::uint32_t>(214)));
|
|
aot_gpr_5 = (aot_gpr_4 < aot_gpr_5 ? 1u : 0u);
|
|
{ const bool branch_taken = aot_gpr_5 == 0u;
|
|
if (branch_taken) {
|
|
goto L_089D6E10;
|
|
}
|
|
goto L_089D6DFC;
|
|
}
|
|
L_089D6DFC:
|
|
aot_gpr_4 = (aot_gpr_4 + static_cast<std::uint32_t>(1));
|
|
goto L_089D6E00;
|
|
L_089D6E00:
|
|
aot_gpr_5 = (aot_mem.aot_direct_load8(ctx.gpr[20] + static_cast<std::uint32_t>(214)));
|
|
aot_gpr_5 = (aot_gpr_4 < aot_gpr_5 ? 1u : 0u);
|
|
{ const bool branch_taken = aot_gpr_5 != 0u;
|
|
aot_gpr_4 = (aot_gpr_4 + static_cast<std::uint32_t>(1));
|
|
if (branch_taken) {
|
|
goto L_089D6E00;
|
|
}
|
|
goto L_089D6E10;
|
|
}
|
|
L_089D6E10:
|
|
aot_gpr_4 = (2048u << 16u);
|
|
aot_gpr_4 = (ctx.gpr[22] & aot_gpr_4);
|
|
{ const bool branch_taken = aot_gpr_4 == 0u;
|
|
if (branch_taken) {
|
|
goto L_089D6E98;
|
|
}
|
|
goto L_089D6E20;
|
|
}
|
|
L_089D6E20:
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[21] + static_cast<std::uint32_t>(0)));
|
|
aot_gpr_5 = (aot_gpr_4 + static_cast<std::uint32_t>(1));
|
|
aot_mem.aot_direct_store32(ctx.gpr[21] + static_cast<std::uint32_t>(0), aot_gpr_5);
|
|
ctx.gpr[21] = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast<std::uint32_t>(0)));
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[30] + static_cast<std::uint32_t>(112)));
|
|
aot_mem.aot_direct_store8(aot_gpr_4 + static_cast<std::uint32_t>(340), static_cast<std::uint8_t>(ctx.gpr[21]));
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[30] + static_cast<std::uint32_t>(112)));
|
|
aot_gpr_4 = (aot_gpr_4 + static_cast<std::uint32_t>(76));
|
|
aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast<std::uint32_t>(0)));
|
|
aot_gpr_6 = (65528u << 16u);
|
|
aot_gpr_6 = (aot_gpr_6 + static_cast<std::uint32_t>(-1));
|
|
aot_gpr_5 = (aot_gpr_5 & aot_gpr_6);
|
|
aot_gpr_6 = (ctx.gpr[21] & 32u);
|
|
aot_gpr_6 = (aot_gpr_6 & 1u);
|
|
aot_gpr_6 = (aot_gpr_6 << 19u);
|
|
aot_gpr_5 = (aot_gpr_5 | aot_gpr_6);
|
|
aot_mem.aot_direct_store32(aot_gpr_4 + static_cast<std::uint32_t>(0), aot_gpr_5);
|
|
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[30] + static_cast<std::uint32_t>(3))))));
|
|
aot_gpr_5 = (2237u << 16u);
|
|
aot_gpr_5 = (aot_gpr_5 + static_cast<std::uint32_t>(-28736));
|
|
aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast<std::uint32_t>(100)));
|
|
aot_gpr_5 = (aot_mem.aot_direct_load16(aot_gpr_5 + static_cast<std::uint32_t>(52)));
|
|
aot_gpr_4 = (aot_gpr_4 ^ aot_gpr_5);
|
|
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_089D6E94;
|
|
}
|
|
goto L_089D6E8C;
|
|
}
|
|
L_089D6E8C:
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[30] + static_cast<std::uint32_t>(104)));
|
|
aot_mem.aot_direct_store8(aot_gpr_4 + static_cast<std::uint32_t>(340), static_cast<std::uint8_t>(ctx.gpr[21]));
|
|
goto L_089D6E94;
|
|
L_089D6E94:
|
|
aot_mem.aot_direct_store8(ctx.gpr[20] + static_cast<std::uint32_t>(346), static_cast<std::uint8_t>(ctx.gpr[21]));
|
|
goto L_089D6E98;
|
|
L_089D6E98:
|
|
{ std::uint32_t aot_run_words[12]{};
|
|
aot_mem.aot_direct_load32_block(ctx.gpr[29] + static_cast<std::uint32_t>(140), 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]);
|
|
aot_gpr_16 = aot_run_words[2];
|
|
aot_gpr_17 = aot_run_words[3];
|
|
ctx.gpr[18] = aot_run_words[4];
|
|
ctx.gpr[19] = aot_run_words[5];
|
|
ctx.gpr[20] = aot_run_words[6];
|
|
ctx.gpr[21] = aot_run_words[7];
|
|
ctx.gpr[22] = aot_run_words[8];
|
|
ctx.gpr[23] = aot_run_words[9];
|
|
ctx.gpr[30] = aot_run_words[10];
|
|
aot_gpr_31 = aot_run_words[11];
|
|
}
|
|
jump_target = aot_gpr_31;
|
|
ctx.gpr[29] = (ctx.gpr[29] + static_cast<std::uint32_t>(192));
|
|
local_pc = jump_target;
|
|
if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; }
|
|
// PSPRECOMP_V812_SHARED_SCHED_JUMP
|
|
goto LOCAL_SCHED_BOUNDARY;
|
|
L_089D6ED0:
|
|
ctx.gpr[29] = (ctx.gpr[29] + static_cast<std::uint32_t>(-64));
|
|
{ const std::uint32_t aot_run_words[7]{aot_gpr_16, aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], aot_gpr_31};
|
|
aot_mem.aot_direct_store32_block(ctx.gpr[29] + static_cast<std::uint32_t>(32), aot_run_words); }
|
|
aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast<std::uint32_t>(64), ctx.gpr[7]);
|
|
ctx.gpr[7] = (2237u << 16u);
|
|
ctx.gpr[7] = (ctx.gpr[7] + static_cast<std::uint32_t>(-28736));
|
|
ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[7] + static_cast<std::uint32_t>(100)));
|
|
ctx.gpr[7] = (aot_mem.aot_direct_load16(ctx.gpr[7] + static_cast<std::uint32_t>(52)));
|
|
aot_gpr_16 = (aot_gpr_4 | 0u);
|
|
aot_gpr_17 = (aot_gpr_5 | 0u);
|
|
{ const bool branch_taken = aot_gpr_5 != ctx.gpr[7];
|
|
ctx.gpr[18] = (aot_gpr_6 | 0u);
|
|
if (branch_taken) {
|
|
goto L_089D72D4;
|
|
}
|
|
goto L_089D6F14;
|
|
}
|
|
L_089D6F14:
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(96)));
|
|
if (aot_gpr_4 != 0u) {
|
|
ctx.gpr[19] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(96)));
|
|
goto L_089D6F40;
|
|
}
|
|
goto L_089D6F20;
|
|
L_089D6F20:
|
|
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_16 + static_cast<std::uint32_t>(10))))));
|
|
aot_gpr_6 = (ctx.gpr[29] + static_cast<std::uint32_t>(20));
|
|
aot_gpr_31 = (0x089D6F30u);
|
|
aot_gpr_4 = (aot_gpr_16 | 0u);
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0166_entry, 166u, 47u, 0x08A9C6FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D6F30u) goto L_089D6F30;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
L_089D6F30:
|
|
aot_mem.aot_direct_store32(aot_gpr_16 + static_cast<std::uint32_t>(96), ctx.gpr[2]);
|
|
aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[29] + static_cast<std::uint32_t>(20)));
|
|
aot_mem.aot_direct_store8(aot_gpr_16 + static_cast<std::uint32_t>(4), static_cast<std::uint8_t>(aot_gpr_4));
|
|
ctx.gpr[19] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(96)));
|
|
goto L_089D6F40;
|
|
L_089D6F40:
|
|
aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[19] + static_cast<std::uint32_t>(182)));
|
|
aot_gpr_5 = (0u | 6u);
|
|
{ const bool branch_taken = aot_gpr_4 != aot_gpr_5;
|
|
if (branch_taken) {
|
|
goto L_089D6F58;
|
|
}
|
|
goto L_089D6F50;
|
|
}
|
|
L_089D6F50:
|
|
{ const bool branch_taken = 0u == 0u;
|
|
ctx.gpr[20] = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast<std::uint32_t>(214)));
|
|
if (branch_taken) {
|
|
goto L_089D6F60;
|
|
}
|
|
goto L_089D6F58;
|
|
}
|
|
L_089D6F58:
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(112)));
|
|
ctx.gpr[20] = (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>(86))))));
|
|
goto L_089D6F60;
|
|
L_089D6F60:
|
|
aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[19] + static_cast<std::uint32_t>(182)));
|
|
aot_gpr_6 = (ctx.gpr[19] + static_cast<std::uint32_t>(64));
|
|
aot_gpr_5 = (ctx.gpr[20] | 0u);
|
|
ctx.gpr[7] = (0u | 0u);
|
|
aot_gpr_31 = (0x089D6F78u);
|
|
ctx.gpr[8] = (0u | 0u);
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0113_entry, 113u, 729u, 0x089CAC6Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D6F78u) goto L_089D6F78;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
L_089D6F78:
|
|
ctx.gpr[20] = (ctx.gpr[2] | 0u);
|
|
aot_gpr_4 = (2237u << 16u);
|
|
aot_gpr_4 = (aot_gpr_4 + static_cast<std::uint32_t>(-28736));
|
|
aot_gpr_5 = (aot_gpr_16 | 0u);
|
|
aot_gpr_31 = (0x089D6F90u);
|
|
aot_gpr_6 = (ctx.gpr[20] | 0u);
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 736u, 0x08ADEF00u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D6F90u) goto L_089D6F90;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
L_089D6F90:
|
|
aot_mem.aot_direct_store32(aot_gpr_16 + static_cast<std::uint32_t>(104), ctx.gpr[20]);
|
|
aot_gpr_5 = (ctx.gpr[19] + static_cast<std::uint32_t>(16));
|
|
aot_gpr_31 = (0x089D6FA0u);
|
|
aot_gpr_4 = (ctx.gpr[20] | 0u);
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 7u, 0x08860358u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D6FA0u) goto L_089D6FA0;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
L_089D6FA0:
|
|
aot_gpr_5 = (ctx.gpr[19] + static_cast<std::uint32_t>(96));
|
|
aot_gpr_31 = (0x089D6FACu);
|
|
aot_gpr_4 = (ctx.gpr[20] | 0u);
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0152_entry, 152u, 538u, 0x08A666C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D6FACu) goto L_089D6FAC;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
L_089D6FAC:
|
|
aot_gpr_4 = (ctx.gpr[19] + static_cast<std::uint32_t>(112));
|
|
{ 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>(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); }
|
|
aot_gpr_4 = (ctx.gpr[19] + static_cast<std::uint32_t>(128));
|
|
{ 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>(128));
|
|
{ float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value);
|
|
const std::uint32_t vfpu_address = aot_gpr_4 + static_cast<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[19] + static_cast<std::uint32_t>(144));
|
|
{ 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>(144));
|
|
{ float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value);
|
|
const std::uint32_t vfpu_address = aot_gpr_4 + static_cast<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_load16(ctx.gpr[19] + static_cast<std::uint32_t>(178)));
|
|
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[20] + static_cast<std::uint32_t>(1252), std::bit_cast<std::uint32_t>(aot_fpr_12));
|
|
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[20] + static_cast<std::uint32_t>(304))))));
|
|
aot_gpr_5 = (0u + static_cast<std::uint32_t>(-2));
|
|
aot_gpr_4 = (aot_gpr_4 & aot_gpr_5);
|
|
aot_gpr_5 = (aot_mem.aot_direct_load8(ctx.gpr[19] + static_cast<std::uint32_t>(340)));
|
|
aot_gpr_5 = (0u < aot_gpr_5 ? 1u : 0u);
|
|
aot_gpr_5 = (aot_gpr_5 & 255u);
|
|
aot_gpr_5 = (aot_gpr_5 & 1u);
|
|
aot_gpr_4 = (aot_gpr_4 | aot_gpr_5);
|
|
aot_mem.aot_direct_store8(ctx.gpr[20] + static_cast<std::uint32_t>(304), static_cast<std::uint8_t>(aot_gpr_4));
|
|
aot_fpr_12 = std::bit_cast<float>(aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast<std::uint32_t>(184)));
|
|
aot_mem.aot_direct_store32(ctx.gpr[20] + static_cast<std::uint32_t>(2256), std::bit_cast<std::uint32_t>(aot_fpr_12));
|
|
aot_fpr_12 = std::bit_cast<float>(aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast<std::uint32_t>(188)));
|
|
aot_mem.aot_direct_store32(ctx.gpr[20] + static_cast<std::uint32_t>(2260), std::bit_cast<std::uint32_t>(aot_fpr_12));
|
|
aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[19] + static_cast<std::uint32_t>(183)));
|
|
aot_mem.aot_direct_store8(ctx.gpr[20] + static_cast<std::uint32_t>(1929), static_cast<std::uint8_t>(aot_gpr_4));
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast<std::uint32_t>(1360)));
|
|
aot_gpr_5 = (aot_mem.aot_direct_load8(ctx.gpr[19] + static_cast<std::uint32_t>(182)));
|
|
{ const bool branch_taken = aot_gpr_4 == aot_gpr_5;
|
|
if (branch_taken) {
|
|
goto L_089D7054;
|
|
}
|
|
goto L_089D7038;
|
|
}
|
|
L_089D7038:
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast<std::uint32_t>(1360)));
|
|
aot_gpr_31 = (0x089D7044u);
|
|
aot_gpr_5 = (0u | 1u);
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0113_entry, 113u, 238u, 0x089C8D68u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D7044u) goto L_089D7044;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
L_089D7044:
|
|
aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[19] + static_cast<std::uint32_t>(182)));
|
|
aot_mem.aot_direct_store32(ctx.gpr[20] + static_cast<std::uint32_t>(1360), aot_gpr_4);
|
|
aot_gpr_31 = (0x089D7054u);
|
|
aot_gpr_5 = (0u | 0u);
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0113_entry, 113u, 238u, 0x089C8D68u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D7054u) goto L_089D7054;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
L_089D7054:
|
|
ctx.gpr[21] = (aot_mem.aot_direct_load8(ctx.gpr[19] + static_cast<std::uint32_t>(180)));
|
|
aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[19] + static_cast<std::uint32_t>(181)));
|
|
aot_mem.aot_direct_store32(ctx.gpr[20] + static_cast<std::uint32_t>(2196), aot_gpr_4);
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast<std::uint32_t>(456)));
|
|
aot_gpr_5 = (65472u << 16u);
|
|
aot_gpr_5 = (aot_gpr_5 + static_cast<std::uint32_t>(-1));
|
|
aot_gpr_4 = (aot_gpr_4 & aot_gpr_5);
|
|
aot_gpr_5 = (aot_mem.aot_direct_load8(ctx.gpr[19] + static_cast<std::uint32_t>(336)));
|
|
aot_gpr_5 = (aot_gpr_5 & 1u);
|
|
aot_gpr_5 = (aot_gpr_5 << 22u);
|
|
aot_gpr_4 = (aot_gpr_4 | aot_gpr_5);
|
|
aot_mem.aot_direct_store32(ctx.gpr[20] + static_cast<std::uint32_t>(456), aot_gpr_4);
|
|
aot_gpr_5 = (57344u << 16u);
|
|
aot_gpr_5 = (aot_gpr_5 + static_cast<std::uint32_t>(-1));
|
|
aot_gpr_4 = (aot_gpr_4 & aot_gpr_5);
|
|
aot_gpr_5 = (aot_mem.aot_direct_load8(ctx.gpr[19] + static_cast<std::uint32_t>(337)));
|
|
aot_gpr_5 = (aot_gpr_5 & 1u);
|
|
aot_gpr_5 = (aot_gpr_5 << 29u);
|
|
aot_gpr_4 = (aot_gpr_4 | aot_gpr_5);
|
|
aot_mem.aot_direct_store32(ctx.gpr[20] + static_cast<std::uint32_t>(456), aot_gpr_4);
|
|
aot_gpr_4 = (aot_mem.aot_direct_load16(ctx.gpr[19] + static_cast<std::uint32_t>(338)));
|
|
aot_mem.aot_direct_store16(ctx.gpr[20] + static_cast<std::uint32_t>(1916), static_cast<std::uint16_t>(aot_gpr_4));
|
|
aot_gpr_4 = (0u | 5u);
|
|
{ const bool branch_taken = ctx.gpr[21] != aot_gpr_4;
|
|
if (branch_taken) {
|
|
goto L_089D7128;
|
|
}
|
|
goto L_089D70B8;
|
|
}
|
|
L_089D70B8:
|
|
aot_fpr_12 = std::bit_cast<float>(aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast<std::uint32_t>(184)));
|
|
aot_gpr_4 = (16457u << 16u);
|
|
aot_gpr_4 = (aot_gpr_4 | 4059u);
|
|
aot_fpr_13 = std::bit_cast<float>(aot_gpr_4);
|
|
aot_fpr_12 = aot_fpr_12 + aot_fpr_13;
|
|
aot_gpr_4 = (16290u << 16u);
|
|
aot_gpr_4 = (aot_gpr_4 | 63875u);
|
|
aot_fpr_14 = std::bit_cast<float>(aot_gpr_4);
|
|
{ const float fs = aot_fpr_12; const float ft = aot_fpr_14; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast<float>(0x7FC00000u); else aot_fpr_12 = fs * ft; }
|
|
aot_fpr_12 = std::bit_cast<float>(std::bit_cast<std::uint32_t>(aot_fpr_12) ^ 0x80000000u);
|
|
aot_fpr_12 = std::bit_cast<float>(ctx.fpu_float_to_word_ct<3u>(aot_fpr_12));
|
|
aot_fpr_12 = static_cast<float>(static_cast<std::int32_t>(std::bit_cast<std::uint32_t>(aot_fpr_12)));
|
|
aot_fpr_12 = std::bit_cast<float>(std::bit_cast<std::uint32_t>(aot_fpr_12) ^ 0x80000000u);
|
|
aot_fpr_12 = std::bit_cast<float>(ctx.fpu_float_to_word_ct<1u>(aot_fpr_12));
|
|
aot_gpr_4 = (std::bit_cast<std::uint32_t>(aot_fpr_12));
|
|
aot_gpr_5 = (0u | 5u);
|
|
aot_gpr_4 = (aot_gpr_5 - aot_gpr_4);
|
|
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_gpr_5 = (0u | 0u);
|
|
aot_gpr_6 = (static_cast<std::int32_t>(aot_gpr_4) < 1 ? 1u : 0u);
|
|
if (aot_gpr_6 != 0u) {
|
|
aot_gpr_5 = (0u | 8u);
|
|
goto L_089D7114;
|
|
}
|
|
goto L_089D7114;
|
|
L_089D7114:
|
|
aot_gpr_4 = (aot_gpr_4 + aot_gpr_5);
|
|
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 = (0x089D7128u);
|
|
aot_gpr_4 = (ctx.gpr[20] | 0u);
|
|
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 == 0x089D7128u) goto L_089D7128;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
L_089D7128:
|
|
aot_gpr_4 = (aot_mem.aot_direct_load16(ctx.gpr[19] + static_cast<std::uint32_t>(176)));
|
|
aot_gpr_5 = (0u | 65535u);
|
|
{ const bool branch_taken = aot_gpr_4 == aot_gpr_5;
|
|
if (branch_taken) {
|
|
goto L_089D71C4;
|
|
}
|
|
goto L_089D7138;
|
|
}
|
|
L_089D7138:
|
|
aot_gpr_4 = (2237u << 16u);
|
|
aot_gpr_4 = (aot_gpr_4 + static_cast<std::uint32_t>(-28736));
|
|
aot_gpr_6 = (static_cast<std::uint32_t>(static_cast<std::int32_t>(static_cast<std::int8_t>(aot_mem.aot_direct_load8(aot_gpr_16 + static_cast<std::uint32_t>(3))))));
|
|
ctx.gpr[7] = (aot_mem.aot_direct_load16(ctx.gpr[19] + static_cast<std::uint32_t>(176)));
|
|
aot_gpr_31 = (0x089D7150u);
|
|
aot_gpr_5 = (aot_gpr_17 | 0u);
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 215u, 0x08ADCB84u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D7150u) goto L_089D7150;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
L_089D7150:
|
|
ctx.gpr[19] = (ctx.gpr[2] | 0u);
|
|
{ const bool branch_taken = ctx.gpr[19] == 0u;
|
|
if (branch_taken) {
|
|
goto L_089D71C4;
|
|
}
|
|
goto L_089D715C;
|
|
}
|
|
L_089D715C:
|
|
aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast<std::uint32_t>(104)));
|
|
aot_gpr_31 = (0x089D7168u);
|
|
aot_gpr_4 = (ctx.gpr[20] | 0u);
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0067_entry, 67u, 171u, 0x08910A24u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D7168u) goto L_089D7168;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
L_089D7168:
|
|
aot_gpr_4 = (ctx.gpr[20] | 0u);
|
|
aot_gpr_31 = (0x089D7174u);
|
|
aot_gpr_5 = (0u | 1u);
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0067_entry, 67u, 209u, 0x08910BDCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D7174u) goto L_089D7174;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
L_089D7174:
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast<std::uint32_t>(1152)));
|
|
aot_mem.aot_direct_store32(ctx.gpr[20] + static_cast<std::uint32_t>(2116), aot_gpr_4);
|
|
aot_gpr_4 = (0u | 0u);
|
|
aot_gpr_4 = (aot_gpr_4 & 1u);
|
|
aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast<std::uint32_t>(72)));
|
|
aot_gpr_6 = (0u + static_cast<std::uint32_t>(-513));
|
|
aot_gpr_5 = (aot_gpr_5 & aot_gpr_6);
|
|
aot_gpr_4 = (aot_gpr_4 << 9u);
|
|
aot_gpr_4 = (aot_gpr_5 | aot_gpr_4);
|
|
aot_mem.aot_direct_store32(ctx.gpr[20] + static_cast<std::uint32_t>(72), aot_gpr_4);
|
|
aot_gpr_4 = (ctx.gpr[20] | 0u);
|
|
aot_gpr_31 = (0x089D71A8u);
|
|
aot_gpr_5 = (ctx.gpr[21] | 0u);
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 240u, 0x08908D60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D71A8u) goto L_089D71A8;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
L_089D71A8:
|
|
aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast<std::uint32_t>(1152)));
|
|
aot_gpr_4 = (ctx.gpr[20] | 0u);
|
|
aot_gpr_31 = (0x089D71B8u);
|
|
aot_gpr_6 = (0u | 1u);
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0108_entry, 108u, 307u, 0x089B56FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D71B8u) goto L_089D71B8;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
L_089D71B8:
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[20] + static_cast<std::uint32_t>(1152)));
|
|
aot_gpr_31 = (0x089D71C4u);
|
|
aot_gpr_5 = (ctx.gpr[20] | 0u);
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0191_entry, 191u, 72u, 0x08B00520u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D71C4u) goto L_089D71C4;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
L_089D71C4:
|
|
aot_gpr_4 = (ctx.gpr[20] | 0u);
|
|
aot_gpr_31 = (0x089D71D0u);
|
|
aot_gpr_5 = (ctx.gpr[21] | 0u);
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 240u, 0x08908D60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D71D0u) goto L_089D71D0;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
L_089D71D0:
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(9624)));
|
|
ctx.gpr[21] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(9628)));
|
|
aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast<std::uint32_t>(16), aot_gpr_16);
|
|
aot_gpr_6 = (ctx.gpr[29] + static_cast<std::uint32_t>(16));
|
|
aot_gpr_31 = (0x089D71E8u);
|
|
aot_gpr_5 = (ctx.gpr[21] | 0u);
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0218_entry, 218u, 256u, 0x08B6D560u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D71E8u) goto L_089D71E8;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
L_089D71E8:
|
|
aot_gpr_4 = (ctx.gpr[2] | 0u);
|
|
{ const bool branch_taken = aot_gpr_4 != ctx.gpr[21];
|
|
aot_gpr_5 = (aot_gpr_4 | 0u);
|
|
if (branch_taken) {
|
|
goto L_089D71FC;
|
|
}
|
|
goto L_089D71F4;
|
|
}
|
|
L_089D71F4:
|
|
{ const bool branch_taken = 0u == 0u;
|
|
aot_gpr_5 = (aot_gpr_4 | 0u);
|
|
if (branch_taken) {
|
|
goto L_089D7230;
|
|
}
|
|
goto L_089D71FC;
|
|
}
|
|
L_089D71FC:
|
|
aot_gpr_4 = (aot_gpr_5 + static_cast<std::uint32_t>(4));
|
|
{ const bool branch_taken = aot_gpr_4 == ctx.gpr[21];
|
|
if (branch_taken) {
|
|
goto L_089D7230;
|
|
}
|
|
goto L_089D7208;
|
|
}
|
|
L_089D7208:
|
|
aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast<std::uint32_t>(0)));
|
|
goto L_089D720C;
|
|
L_089D720C:
|
|
ctx.gpr[7] = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast<std::uint32_t>(16)));
|
|
if (aot_gpr_6 == ctx.gpr[7]) {
|
|
aot_gpr_4 = (aot_gpr_4 + static_cast<std::uint32_t>(4));
|
|
goto L_089D7228;
|
|
}
|
|
goto L_089D7218;
|
|
L_089D7218:
|
|
aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast<std::uint32_t>(0)));
|
|
aot_mem.aot_direct_store32(aot_gpr_5 + static_cast<std::uint32_t>(0), aot_gpr_6);
|
|
aot_gpr_5 = (aot_gpr_5 + static_cast<std::uint32_t>(4));
|
|
aot_gpr_4 = (aot_gpr_4 + static_cast<std::uint32_t>(4));
|
|
goto L_089D7228;
|
|
L_089D7228:
|
|
if (aot_gpr_4 != ctx.gpr[21]) {
|
|
aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast<std::uint32_t>(0)));
|
|
goto L_089D720C;
|
|
}
|
|
goto L_089D7230;
|
|
L_089D7230:
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(9628)));
|
|
aot_gpr_6 = (aot_gpr_4 | 0u);
|
|
{ const bool branch_taken = aot_gpr_6 == aot_gpr_6;
|
|
aot_mem.aot_direct_store8(ctx.gpr[29] + static_cast<std::uint32_t>(21), static_cast<std::uint8_t>(0u));
|
|
if (branch_taken) {
|
|
goto L_089D7260;
|
|
}
|
|
goto L_089D7240;
|
|
}
|
|
L_089D7240:
|
|
ctx.gpr[7] = (aot_gpr_4 | 0u);
|
|
ctx.gpr[19] = (aot_gpr_6 - ctx.gpr[7]);
|
|
aot_gpr_4 = (aot_gpr_5 | 0u);
|
|
aot_gpr_5 = (ctx.gpr[7] | 0u);
|
|
aot_gpr_31 = (0x089D7258u);
|
|
aot_gpr_6 = (ctx.gpr[19] | 0u);
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0188_entry, 188u, 164u, 0x08AF54A4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D7258u) goto L_089D7258;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
L_089D7258:
|
|
{ const bool branch_taken = 0u == 0u;
|
|
aot_gpr_5 = (ctx.gpr[2] + ctx.gpr[19]);
|
|
if (branch_taken) {
|
|
goto L_089D7260;
|
|
}
|
|
goto L_089D7260;
|
|
}
|
|
L_089D7260:
|
|
aot_mem.aot_direct_store8(ctx.gpr[29] + static_cast<std::uint32_t>(22), static_cast<std::uint8_t>(0u));
|
|
aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast<std::uint32_t>(9628), aot_gpr_5);
|
|
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[29] + static_cast<std::uint32_t>(64))))));
|
|
aot_gpr_4 = (aot_gpr_16 | 0u);
|
|
aot_gpr_5 = (aot_gpr_17 | 0u);
|
|
aot_gpr_31 = (0x089D727Cu);
|
|
aot_gpr_6 = (ctx.gpr[18] | 0u);
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0034_entry, 34u, 454u, 0x0888EA48u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D727Cu) goto L_089D727C;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
L_089D727C:
|
|
aot_gpr_17 = (static_cast<std::uint32_t>(static_cast<std::int32_t>(static_cast<std::int16_t>(aot_mem.aot_direct_load16(aot_gpr_16 + static_cast<std::uint32_t>(10))))));
|
|
aot_gpr_4 = (0u | 0u);
|
|
aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast<std::uint32_t>(28), aot_gpr_4);
|
|
aot_gpr_4 = (2237u << 16u);
|
|
aot_gpr_4 = (aot_gpr_4 + static_cast<std::uint32_t>(-29120));
|
|
aot_gpr_31 = (0x089D7298u);
|
|
aot_gpr_5 = (0u | 352u);
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 501u, 0x08ABE57Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D7298u) goto L_089D7298;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
L_089D7298:
|
|
ctx.gpr[18] = (ctx.gpr[2] | 0u);
|
|
{ const bool branch_taken = ctx.gpr[18] == 0u;
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast<std::uint32_t>(28)));
|
|
if (branch_taken) {
|
|
goto L_089D72B4;
|
|
}
|
|
goto L_089D72A4;
|
|
}
|
|
L_089D72A4:
|
|
aot_gpr_4 = (ctx.gpr[18] | 0u);
|
|
aot_gpr_31 = (0x089D72B0u);
|
|
aot_gpr_5 = (ctx.gpr[20] | 0u);
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0115_entry, 115u, 353u, 0x089D20A0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D72B0u) goto L_089D72B0;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
L_089D72B0:
|
|
aot_gpr_4 = (ctx.gpr[18] | 0u);
|
|
goto L_089D72B4;
|
|
L_089D72B4:
|
|
aot_gpr_6 = (aot_gpr_4 | 0u);
|
|
aot_gpr_4 = (aot_gpr_16 | 0u);
|
|
aot_gpr_31 = (0x089D72C4u);
|
|
aot_gpr_5 = (aot_gpr_17 | 0u);
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0165_entry, 165u, 456u, 0x08A9B9F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D72C4u) goto L_089D72C4;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
L_089D72C4:
|
|
aot_gpr_31 = (0x089D72CCu);
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(112)));
|
|
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 == 0x089D72CCu) goto L_089D72CC;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
L_089D72CC:
|
|
{ const bool branch_taken = 0u == 0u;
|
|
if (branch_taken) {
|
|
goto L_089D72E8;
|
|
}
|
|
goto L_089D72D4;
|
|
}
|
|
L_089D72D4:
|
|
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[29] + static_cast<std::uint32_t>(64))))));
|
|
aot_gpr_4 = (aot_gpr_16 | 0u);
|
|
aot_gpr_5 = (aot_gpr_17 | 0u);
|
|
aot_gpr_31 = (0x089D72E8u);
|
|
aot_gpr_6 = (ctx.gpr[18] | 0u);
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0034_entry, 34u, 454u, 0x0888EA48u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D72E8u) goto L_089D72E8;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
L_089D72E8:
|
|
{ std::uint32_t aot_run_words[7]{};
|
|
aot_mem.aot_direct_load32_block(ctx.gpr[29] + static_cast<std::uint32_t>(32), aot_run_words);
|
|
aot_gpr_16 = aot_run_words[0];
|
|
aot_gpr_17 = aot_run_words[1];
|
|
ctx.gpr[18] = aot_run_words[2];
|
|
ctx.gpr[19] = aot_run_words[3];
|
|
ctx.gpr[20] = aot_run_words[4];
|
|
ctx.gpr[21] = aot_run_words[5];
|
|
aot_gpr_31 = aot_run_words[6];
|
|
}
|
|
jump_target = aot_gpr_31;
|
|
ctx.gpr[29] = (ctx.gpr[29] + static_cast<std::uint32_t>(64));
|
|
local_pc = jump_target;
|
|
if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; }
|
|
// PSPRECOMP_V812_SHARED_SCHED_JUMP
|
|
goto LOCAL_SCHED_BOUNDARY;
|
|
L_089D730C:
|
|
ctx.gpr[29] = (ctx.gpr[29] + static_cast<std::uint32_t>(-80));
|
|
{ const std::uint32_t aot_run_words[10]{std::bit_cast<std::uint32_t>(aot_fpr_20), std::bit_cast<std::uint32_t>(ctx.fpr[22]), aot_gpr_16, aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], aot_gpr_31};
|
|
aot_mem.aot_direct_store32_block(ctx.gpr[29] + static_cast<std::uint32_t>(28), aot_run_words); }
|
|
aot_gpr_17 = (aot_gpr_4 | 0u);
|
|
aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast<std::uint32_t>(80), aot_gpr_5);
|
|
aot_gpr_16 = (aot_gpr_17 + static_cast<std::uint32_t>(124));
|
|
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_16 + static_cast<std::uint32_t>(0))))));
|
|
aot_mem.aot_direct_store16(ctx.gpr[29] + static_cast<std::uint32_t>(22), static_cast<std::uint16_t>(aot_gpr_4));
|
|
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[29] + static_cast<std::uint32_t>(80))))));
|
|
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[29] + static_cast<std::uint32_t>(22))))));
|
|
aot_gpr_5 = (aot_gpr_4 ^ aot_gpr_5);
|
|
aot_gpr_5 = (aot_gpr_5 < static_cast<std::uint32_t>(1) ? 1u : 0u);
|
|
aot_gpr_5 = (aot_gpr_5 & 255u);
|
|
{ const bool branch_taken = aot_gpr_5 != 0u;
|
|
aot_fpr_20 = std::bit_cast<float>(std::bit_cast<std::uint32_t>(aot_fpr_12));
|
|
if (branch_taken) {
|
|
goto L_089D73B8;
|
|
}
|
|
goto L_089D7368;
|
|
}
|
|
L_089D7368:
|
|
aot_mem.aot_direct_store16(aot_gpr_16 + static_cast<std::uint32_t>(0), static_cast<std::uint16_t>(aot_gpr_4));
|
|
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[29] + static_cast<std::uint32_t>(80))))));
|
|
aot_mem.aot_direct_store16(ctx.gpr[29] + static_cast<std::uint32_t>(24), static_cast<std::uint16_t>(aot_gpr_4));
|
|
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[29] + static_cast<std::uint32_t>(24))))));
|
|
aot_gpr_4 = (aot_gpr_17 | 0u);
|
|
aot_gpr_31 = (0x089D7384u);
|
|
aot_gpr_6 = (0u | 0u);
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0166_entry, 166u, 47u, 0x08A9C6FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D7384u) goto L_089D7384;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
L_089D7384:
|
|
aot_gpr_16 = (ctx.gpr[2] | 0u);
|
|
aot_gpr_4 = (ctx.gpr[29] + static_cast<std::uint32_t>(16));
|
|
aot_gpr_5 = (0u | 0u);
|
|
aot_gpr_31 = (0x089D7398u);
|
|
aot_gpr_6 = (0u | 5u);
|
|
if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B5814C, 213u, 28u, 0x08B5814Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0213_entry, 213u, 28u, 0x08B5814Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D7398u) goto L_089D7398;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
L_089D7398:
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast<std::uint32_t>(112)));
|
|
aot_gpr_17 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast<std::uint32_t>(80)));
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast<std::uint32_t>(24)));
|
|
ctx.gpr[18] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast<std::uint32_t>(0)));
|
|
{ const bool branch_taken = ctx.gpr[18] != 0u;
|
|
aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast<std::uint32_t>(214)));
|
|
if (branch_taken) {
|
|
goto L_089D73C0;
|
|
}
|
|
goto L_089D73B0;
|
|
}
|
|
L_089D73B0:
|
|
{ const bool branch_taken = 0u == 0u;
|
|
if (branch_taken) {
|
|
goto L_089D74D4;
|
|
}
|
|
goto L_089D73B8;
|
|
}
|
|
L_089D73B8:
|
|
{ const bool branch_taken = 0u == 0u;
|
|
if (branch_taken) {
|
|
goto L_089D757C;
|
|
}
|
|
goto L_089D73C0;
|
|
}
|
|
L_089D73C0:
|
|
ctx.gpr[20] = (aot_gpr_16 + static_cast<std::uint32_t>(216));
|
|
ctx.gpr[22] = (0u | 1u);
|
|
aot_gpr_5 = (16256u << 16u);
|
|
ctx.fpr[22] = std::bit_cast<float>(aot_gpr_5);
|
|
ctx.gpr[19] = (ctx.gpr[18] | 0u);
|
|
goto L_089D73D4;
|
|
L_089D73D4:
|
|
ctx.gpr[18] = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast<std::uint32_t>(0)));
|
|
aot_gpr_5 = (0u | 0u);
|
|
aot_gpr_6 = (aot_gpr_5 < aot_gpr_4 ? 1u : 0u);
|
|
{ const bool branch_taken = aot_gpr_6 == 0u;
|
|
ctx.gpr[7] = (ctx.gpr[20] | 0u);
|
|
if (branch_taken) {
|
|
goto L_089D7430;
|
|
}
|
|
goto L_089D73E8;
|
|
}
|
|
L_089D73E8:
|
|
ctx.gpr[8] = (ctx.gpr[29] + aot_gpr_5);
|
|
ctx.gpr[8] = (aot_mem.aot_direct_load8(ctx.gpr[8] + static_cast<std::uint32_t>(16)));
|
|
{ const bool branch_taken = ctx.gpr[8] != 0u;
|
|
if (branch_taken) {
|
|
goto L_089D7420;
|
|
}
|
|
goto L_089D73F8;
|
|
}
|
|
L_089D73F8:
|
|
ctx.gpr[8] = (static_cast<std::uint32_t>(static_cast<std::int32_t>(static_cast<std::int16_t>(aot_mem.aot_direct_load16(ctx.gpr[19] + static_cast<std::uint32_t>(48))))));
|
|
ctx.gpr[9] = (static_cast<std::uint32_t>(static_cast<std::int32_t>(static_cast<std::int16_t>(aot_mem.aot_direct_load16(ctx.gpr[7] + static_cast<std::uint32_t>(18))))));
|
|
{ const bool branch_taken = ctx.gpr[8] != ctx.gpr[9];
|
|
if (branch_taken) {
|
|
goto L_089D7420;
|
|
}
|
|
goto L_089D7408;
|
|
}
|
|
L_089D7408:
|
|
ctx.gpr[8] = (static_cast<std::uint32_t>(static_cast<std::int32_t>(static_cast<std::int16_t>(aot_mem.aot_direct_load16(ctx.gpr[19] + static_cast<std::uint32_t>(50))))));
|
|
ctx.gpr[9] = (static_cast<std::uint32_t>(static_cast<std::int32_t>(static_cast<std::int16_t>(aot_mem.aot_direct_load16(ctx.gpr[7] + static_cast<std::uint32_t>(16))))));
|
|
{ const bool branch_taken = ctx.gpr[8] != ctx.gpr[9];
|
|
if (branch_taken) {
|
|
goto L_089D7420;
|
|
}
|
|
goto L_089D7418;
|
|
}
|
|
L_089D7418:
|
|
{ const bool branch_taken = 0u == 0u;
|
|
if (branch_taken) {
|
|
goto L_089D7430;
|
|
}
|
|
goto L_089D7420;
|
|
}
|
|
L_089D7420:
|
|
aot_gpr_5 = (aot_gpr_5 + static_cast<std::uint32_t>(1));
|
|
aot_gpr_6 = (aot_gpr_5 < aot_gpr_4 ? 1u : 0u);
|
|
{ const bool branch_taken = aot_gpr_6 != 0u;
|
|
ctx.gpr[7] = (ctx.gpr[7] + static_cast<std::uint32_t>(24));
|
|
if (branch_taken) {
|
|
goto L_089D73E8;
|
|
}
|
|
goto L_089D7430;
|
|
}
|
|
L_089D7430:
|
|
{ const bool branch_taken = aot_gpr_6 == 0u;
|
|
if (branch_taken) {
|
|
goto L_089D74BC;
|
|
}
|
|
goto L_089D7438;
|
|
}
|
|
L_089D7438:
|
|
aot_gpr_4 = (ctx.gpr[29] + aot_gpr_5);
|
|
aot_mem.aot_direct_store8(aot_gpr_4 + static_cast<std::uint32_t>(16), static_cast<std::uint8_t>(ctx.gpr[22]));
|
|
aot_gpr_4 = (aot_gpr_5 << 3u);
|
|
aot_gpr_5 = (aot_gpr_4 + aot_gpr_4);
|
|
ctx.gpr[21] = (aot_gpr_4 + aot_gpr_5);
|
|
ctx.gpr[21] = (ctx.gpr[20] + ctx.gpr[21]);
|
|
aot_fpr_12 = std::bit_cast<float>(aot_mem.aot_direct_load32(ctx.gpr[21] + static_cast<std::uint32_t>(0)));
|
|
aot_fpr_13 = std::bit_cast<float>(aot_mem.aot_direct_load32(ctx.gpr[21] + static_cast<std::uint32_t>(4)));
|
|
aot_gpr_31 = (0x089D7460u);
|
|
aot_gpr_4 = (ctx.gpr[19] | 0u);
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0035_entry, 35u, 92u, 0x088905C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D7460u) goto L_089D7460;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
L_089D7460:
|
|
aot_fpr_12 = std::bit_cast<float>(aot_mem.aot_direct_load32(ctx.gpr[21] + static_cast<std::uint32_t>(8)));
|
|
aot_fpr_13 = std::bit_cast<float>(aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast<std::uint32_t>(40)));
|
|
ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= aot_fpr_13)) ? 0x00800000u : 0u);
|
|
{ const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u);
|
|
if (branch_taken) {
|
|
goto L_089D7494;
|
|
}
|
|
goto L_089D7478;
|
|
}
|
|
L_089D7478:
|
|
aot_fpr_12 = aot_fpr_12 - aot_fpr_13;
|
|
{ const float fs = aot_fpr_20; const float ft = aot_fpr_12; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast<float>(0x7FC00000u); else aot_fpr_12 = fs * ft; }
|
|
aot_gpr_4 = (ctx.gpr[19] | 0u);
|
|
aot_gpr_31 = (0x089D748Cu);
|
|
aot_fpr_13 = std::bit_cast<float>(std::bit_cast<std::uint32_t>(ctx.fpr[22]));
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0018_entry, 18u, 294u, 0x0884D734u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D748Cu) goto L_089D748C;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
L_089D748C:
|
|
{ const bool branch_taken = 0u == 0u;
|
|
if (branch_taken) {
|
|
goto L_089D749C;
|
|
}
|
|
goto L_089D7494;
|
|
}
|
|
L_089D7494:
|
|
aot_gpr_31 = (0x089D749Cu);
|
|
aot_gpr_4 = (ctx.gpr[19] | 0u);
|
|
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 == 0x089D749Cu) goto L_089D749C;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
L_089D749C:
|
|
aot_mem.aot_direct_store32(ctx.gpr[19] + static_cast<std::uint32_t>(8), 0u);
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[21] + static_cast<std::uint32_t>(20)));
|
|
aot_gpr_4 = (0u | aot_gpr_4);
|
|
aot_mem.aot_direct_store32(ctx.gpr[19] + static_cast<std::uint32_t>(8), aot_gpr_4);
|
|
aot_fpr_12 = std::bit_cast<float>(aot_mem.aot_direct_load32(ctx.gpr[21] + static_cast<std::uint32_t>(12)));
|
|
aot_mem.aot_direct_store32(ctx.gpr[19] + static_cast<std::uint32_t>(44), std::bit_cast<std::uint32_t>(aot_fpr_12));
|
|
{ const bool branch_taken = 0u == 0u;
|
|
aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast<std::uint32_t>(214)));
|
|
if (branch_taken) {
|
|
goto L_089D74CC;
|
|
}
|
|
goto L_089D74BC;
|
|
}
|
|
L_089D74BC:
|
|
aot_gpr_4 = (ctx.gpr[19] | 0u);
|
|
aot_gpr_31 = (0x089D74C8u);
|
|
aot_gpr_5 = (0u | 3u);
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0034_entry, 34u, 611u, 0x0888FE40u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D74C8u) goto L_089D74C8;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
L_089D74C8:
|
|
aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast<std::uint32_t>(214)));
|
|
goto L_089D74CC;
|
|
L_089D74CC:
|
|
{ const bool branch_taken = ctx.gpr[18] != 0u;
|
|
ctx.gpr[19] = (ctx.gpr[18] | 0u);
|
|
if (branch_taken) {
|
|
goto L_089D73D4;
|
|
}
|
|
goto L_089D74D4;
|
|
}
|
|
L_089D74D4:
|
|
ctx.gpr[18] = (0u | 0u);
|
|
aot_gpr_4 = (ctx.gpr[18] < aot_gpr_4 ? 1u : 0u);
|
|
{ const bool branch_taken = aot_gpr_4 == 0u;
|
|
ctx.gpr[19] = (aot_gpr_16 + static_cast<std::uint32_t>(216));
|
|
if (branch_taken) {
|
|
goto L_089D757C;
|
|
}
|
|
goto L_089D74E4;
|
|
}
|
|
L_089D74E4:
|
|
aot_gpr_4 = (ctx.gpr[29] + ctx.gpr[18]);
|
|
aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast<std::uint32_t>(16)));
|
|
{ const bool branch_taken = aot_gpr_4 != 0u;
|
|
if (branch_taken) {
|
|
goto L_089D7568;
|
|
}
|
|
goto L_089D74F4;
|
|
}
|
|
L_089D74F4:
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(5836)));
|
|
{ const bool branch_taken = aot_gpr_4 != 0u;
|
|
if (branch_taken) {
|
|
goto L_089D750C;
|
|
}
|
|
goto L_089D7500;
|
|
}
|
|
L_089D7500:
|
|
aot_gpr_31 = (0x089D7508u);
|
|
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 == 0x089D7508u) goto L_089D7508;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
L_089D7508:
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(5836)));
|
|
goto L_089D750C;
|
|
L_089D750C:
|
|
if (aot_gpr_4 != 0u) {
|
|
aot_gpr_6 = (static_cast<std::uint32_t>(static_cast<std::int32_t>(static_cast<std::int16_t>(aot_mem.aot_direct_load16(ctx.gpr[19] + static_cast<std::uint32_t>(16))))));
|
|
goto L_089D7524;
|
|
}
|
|
goto L_089D7514;
|
|
L_089D7514:
|
|
aot_gpr_31 = (0x089D751Cu);
|
|
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 == 0x089D751Cu) goto L_089D751C;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
L_089D751C:
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(5836)));
|
|
aot_gpr_6 = (static_cast<std::uint32_t>(static_cast<std::int32_t>(static_cast<std::int16_t>(aot_mem.aot_direct_load16(ctx.gpr[19] + static_cast<std::uint32_t>(16))))));
|
|
goto L_089D7524;
|
|
L_089D7524:
|
|
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[19] + static_cast<std::uint32_t>(18))))));
|
|
aot_gpr_31 = (0x089D7530u);
|
|
aot_gpr_5 = (aot_gpr_17 | 0u);
|
|
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 == 0x089D7530u) goto L_089D7530;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
L_089D7530:
|
|
ctx.gpr[20] = (ctx.gpr[2] | 0u);
|
|
aot_fpr_12 = std::bit_cast<float>(aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast<std::uint32_t>(0)));
|
|
aot_fpr_13 = std::bit_cast<float>(aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast<std::uint32_t>(4)));
|
|
aot_gpr_31 = (0x089D7544u);
|
|
aot_gpr_4 = (ctx.gpr[20] | 0u);
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0035_entry, 35u, 92u, 0x088905C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D7544u) goto L_089D7544;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
L_089D7544:
|
|
aot_fpr_12 = std::bit_cast<float>(aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast<std::uint32_t>(8)));
|
|
aot_gpr_31 = (0x089D7550u);
|
|
aot_gpr_4 = (ctx.gpr[20] | 0u);
|
|
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 == 0x089D7550u) goto L_089D7550;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
L_089D7550:
|
|
aot_mem.aot_direct_store32(ctx.gpr[20] + static_cast<std::uint32_t>(8), 0u);
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast<std::uint32_t>(20)));
|
|
aot_gpr_4 = (0u | aot_gpr_4);
|
|
aot_mem.aot_direct_store32(ctx.gpr[20] + static_cast<std::uint32_t>(8), aot_gpr_4);
|
|
aot_fpr_12 = std::bit_cast<float>(aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast<std::uint32_t>(12)));
|
|
aot_mem.aot_direct_store32(ctx.gpr[20] + static_cast<std::uint32_t>(44), std::bit_cast<std::uint32_t>(aot_fpr_12));
|
|
goto L_089D7568;
|
|
L_089D7568:
|
|
ctx.gpr[18] = (ctx.gpr[18] + static_cast<std::uint32_t>(1));
|
|
aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast<std::uint32_t>(214)));
|
|
aot_gpr_4 = (ctx.gpr[18] < aot_gpr_4 ? 1u : 0u);
|
|
{ const bool branch_taken = aot_gpr_4 != 0u;
|
|
ctx.gpr[19] = (ctx.gpr[19] + static_cast<std::uint32_t>(24));
|
|
if (branch_taken) {
|
|
goto L_089D74E4;
|
|
}
|
|
goto L_089D757C;
|
|
}
|
|
L_089D757C:
|
|
{ std::uint32_t aot_run_words[10]{};
|
|
aot_mem.aot_direct_load32_block(ctx.gpr[29] + static_cast<std::uint32_t>(28), 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]);
|
|
aot_gpr_16 = aot_run_words[2];
|
|
aot_gpr_17 = aot_run_words[3];
|
|
ctx.gpr[18] = aot_run_words[4];
|
|
ctx.gpr[19] = aot_run_words[5];
|
|
ctx.gpr[20] = aot_run_words[6];
|
|
ctx.gpr[21] = aot_run_words[7];
|
|
ctx.gpr[22] = aot_run_words[8];
|
|
aot_gpr_31 = aot_run_words[9];
|
|
}
|
|
jump_target = aot_gpr_31;
|
|
ctx.gpr[29] = (ctx.gpr[29] + static_cast<std::uint32_t>(80));
|
|
local_pc = jump_target;
|
|
if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; }
|
|
// PSPRECOMP_V812_SHARED_SCHED_JUMP
|
|
goto LOCAL_SCHED_BOUNDARY;
|
|
L_089D75AC:
|
|
ctx.gpr[29] = (ctx.gpr[29] + static_cast<std::uint32_t>(-64));
|
|
{ const std::uint32_t aot_run_words[6]{aot_gpr_16, aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_31};
|
|
aot_mem.aot_direct_store32_block(ctx.gpr[29] + static_cast<std::uint32_t>(32), aot_run_words); }
|
|
aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast<std::uint32_t>(352)));
|
|
aot_gpr_5 = (aot_mem.aot_direct_load16(aot_gpr_5 + static_cast<std::uint32_t>(8)));
|
|
ctx.gpr[19] = (0u | 1u);
|
|
aot_gpr_17 = (2236u << 16u);
|
|
aot_gpr_17 = (aot_gpr_17 + static_cast<std::uint32_t>(32304));
|
|
ctx.gpr[18] = (0u | 16u);
|
|
{ const bool branch_taken = aot_gpr_5 != ctx.gpr[19];
|
|
aot_gpr_16 = (aot_gpr_4 | 0u);
|
|
if (branch_taken) {
|
|
goto L_089D7650;
|
|
}
|
|
goto L_089D75E8;
|
|
}
|
|
L_089D75E8:
|
|
aot_gpr_31 = (0x089D75F0u);
|
|
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 == 0x089D75F0u) goto L_089D75F0;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
L_089D75F0:
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast<std::uint32_t>(1152)));
|
|
{ const bool branch_taken = aot_gpr_4 == 0u;
|
|
aot_gpr_5 = (ctx.gpr[19] | 0u);
|
|
if (branch_taken) {
|
|
goto L_089D7654;
|
|
}
|
|
goto L_089D75FC;
|
|
}
|
|
L_089D75FC:
|
|
aot_gpr_31 = (0x089D7604u);
|
|
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 == 0x089D7604u) goto L_089D7604;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
L_089D7604:
|
|
aot_gpr_31 = (0x089D760Cu);
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast<std::uint32_t>(1152)));
|
|
if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B01E00, 191u, 504u, 0x08B01E00u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0191_entry, 191u, 504u, 0x08B01E00u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D760Cu) goto L_089D760C;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
L_089D760C:
|
|
aot_gpr_4 = (0u | 3u);
|
|
{ const bool branch_taken = ctx.gpr[2] != aot_gpr_4;
|
|
aot_gpr_5 = (ctx.gpr[19] | 0u);
|
|
if (branch_taken) {
|
|
goto L_089D7654;
|
|
}
|
|
goto L_089D7618;
|
|
}
|
|
L_089D7618:
|
|
aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_17 + static_cast<std::uint32_t>(80)));
|
|
aot_gpr_4 = (aot_gpr_4 << 5u);
|
|
aot_gpr_5 = (0u - aot_gpr_4);
|
|
aot_gpr_4 = (aot_gpr_4 << 2u);
|
|
aot_gpr_5 = (aot_gpr_5 + aot_gpr_4);
|
|
aot_gpr_4 = (aot_gpr_4 << 2u);
|
|
aot_gpr_4 = (aot_gpr_5 + aot_gpr_4);
|
|
aot_gpr_4 = (aot_gpr_4 + aot_gpr_17);
|
|
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>(112))))));
|
|
{ const bool branch_taken = aot_gpr_5 != ctx.gpr[18];
|
|
aot_gpr_5 = (ctx.gpr[19] | 0u);
|
|
if (branch_taken) {
|
|
goto L_089D7654;
|
|
}
|
|
goto L_089D7644;
|
|
}
|
|
L_089D7644:
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast<std::uint32_t>(228)));
|
|
{ const bool branch_taken = aot_gpr_4 == 0u;
|
|
if (branch_taken) {
|
|
goto L_089D7670;
|
|
}
|
|
goto L_089D7650;
|
|
}
|
|
L_089D7650:
|
|
aot_gpr_5 = (ctx.gpr[19] | 0u);
|
|
goto L_089D7654;
|
|
L_089D7654:
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(352)));
|
|
aot_gpr_6 = (aot_mem.aot_direct_load16(aot_gpr_4 + static_cast<std::uint32_t>(8)));
|
|
ctx.gpr[19] = (2237u << 16u);
|
|
{ const bool branch_taken = aot_gpr_6 == aot_gpr_5;
|
|
ctx.gpr[19] = (ctx.gpr[19] + static_cast<std::uint32_t>(-28736));
|
|
if (branch_taken) {
|
|
goto L_089D7678;
|
|
}
|
|
goto L_089D7668;
|
|
}
|
|
L_089D7668:
|
|
{ const bool branch_taken = 0u == 0u;
|
|
if (branch_taken) {
|
|
goto L_089D769C;
|
|
}
|
|
goto L_089D7670;
|
|
}
|
|
L_089D7670:
|
|
{ const bool branch_taken = 0u == 0u;
|
|
if (branch_taken) {
|
|
goto L_089D79CC;
|
|
}
|
|
goto L_089D7678;
|
|
}
|
|
L_089D7678:
|
|
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>(3))))));
|
|
aot_gpr_31 = (0x089D7684u);
|
|
aot_gpr_4 = (ctx.gpr[19] | 0u);
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 12u, 0x08ADC0F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D7684u) goto L_089D7684;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
L_089D7684:
|
|
aot_gpr_4 = (ctx.gpr[2] | 0u);
|
|
{ const bool branch_taken = aot_gpr_4 == 0u;
|
|
if (branch_taken) {
|
|
goto L_089D7698;
|
|
}
|
|
goto L_089D7690;
|
|
}
|
|
L_089D7690:
|
|
aot_gpr_31 = (0x089D7698u);
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0008_entry, 8u, 81u, 0x08824880u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D7698u) goto L_089D7698;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
L_089D7698:
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(352)));
|
|
goto L_089D769C;
|
|
L_089D769C:
|
|
aot_gpr_4 = (aot_gpr_4 + static_cast<std::uint32_t>(10));
|
|
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_4 + static_cast<std::uint32_t>(0))))));
|
|
aot_mem.aot_direct_store16(ctx.gpr[29] + static_cast<std::uint32_t>(16), static_cast<std::uint16_t>(aot_gpr_4));
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast<std::uint32_t>(84)));
|
|
aot_gpr_4 = (aot_gpr_4 << 16u);
|
|
aot_gpr_4 = (static_cast<std::uint32_t>(static_cast<std::int32_t>(aot_gpr_4) >> 16u));
|
|
aot_gpr_4 = (aot_gpr_4 << 16u);
|
|
aot_gpr_4 = (static_cast<std::uint32_t>(static_cast<std::int32_t>(aot_gpr_4) >> 16u));
|
|
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[29] + static_cast<std::uint32_t>(16))))));
|
|
aot_gpr_4 = (aot_gpr_5 - aot_gpr_4);
|
|
aot_mem.aot_direct_store16(ctx.gpr[29] + static_cast<std::uint32_t>(22), static_cast<std::uint16_t>(aot_gpr_4));
|
|
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[29] + static_cast<std::uint32_t>(22))))));
|
|
aot_mem.aot_direct_store16(ctx.gpr[29] + static_cast<std::uint32_t>(18), static_cast<std::uint16_t>(aot_gpr_4));
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(352)));
|
|
ctx.gpr[19] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast<std::uint32_t>(104)));
|
|
aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_17 + static_cast<std::uint32_t>(80)));
|
|
aot_gpr_4 = (aot_gpr_4 << 5u);
|
|
aot_gpr_5 = (0u - aot_gpr_4);
|
|
aot_gpr_4 = (aot_gpr_4 << 2u);
|
|
aot_gpr_5 = (aot_gpr_5 + aot_gpr_4);
|
|
aot_gpr_4 = (aot_gpr_4 << 2u);
|
|
aot_gpr_4 = (aot_gpr_5 + aot_gpr_4);
|
|
aot_gpr_4 = (aot_gpr_4 + aot_gpr_17);
|
|
ctx.gpr[20] = (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>(112))))));
|
|
{ const bool branch_taken = ctx.gpr[20] != ctx.gpr[18];
|
|
if (branch_taken) {
|
|
goto L_089D7720;
|
|
}
|
|
goto L_089D7704;
|
|
}
|
|
L_089D7704:
|
|
aot_fpr_12 = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast<std::uint32_t>(84)));
|
|
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_089D7720;
|
|
}
|
|
goto L_089D771C;
|
|
}
|
|
L_089D771C:
|
|
ctx.gpr[20] = (0u | 14u);
|
|
goto L_089D7720;
|
|
L_089D7720:
|
|
aot_gpr_31 = (0x089D7728u);
|
|
aot_gpr_4 = (aot_gpr_16 | 0u);
|
|
goto L_089D4A7C;
|
|
L_089D7728:
|
|
{ const bool branch_taken = ctx.gpr[2] == 0u;
|
|
if (branch_taken) {
|
|
goto L_089D7764;
|
|
}
|
|
goto L_089D7730;
|
|
}
|
|
L_089D7730:
|
|
{ const bool branch_taken = ctx.gpr[19] == 0u;
|
|
if (branch_taken) {
|
|
goto L_089D7764;
|
|
}
|
|
goto L_089D7738;
|
|
}
|
|
L_089D7738:
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast<std::uint32_t>(2228)));
|
|
aot_gpr_5 = (0u | 55u);
|
|
{ const bool branch_taken = aot_gpr_4 != aot_gpr_5;
|
|
if (branch_taken) {
|
|
goto L_089D7764;
|
|
}
|
|
goto L_089D7748;
|
|
}
|
|
L_089D7748:
|
|
aot_gpr_31 = (0x089D7750u);
|
|
aot_gpr_4 = (aot_gpr_17 | 0u);
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0134_entry, 134u, 56u, 0x08A1C658u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D7750u) goto L_089D7750;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
L_089D7750:
|
|
aot_gpr_4 = (0u | 3u);
|
|
{ const bool branch_taken = ctx.gpr[2] != aot_gpr_4;
|
|
if (branch_taken) {
|
|
goto L_089D7764;
|
|
}
|
|
goto L_089D775C;
|
|
}
|
|
L_089D775C:
|
|
{ const bool branch_taken = ctx.gpr[20] == ctx.gpr[18];
|
|
if (branch_taken) {
|
|
goto L_089D7774;
|
|
}
|
|
goto L_089D7764;
|
|
}
|
|
L_089D7764:
|
|
if (ctx.gpr[19] != 0u) {
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[19] + static_cast<std::uint32_t>(76)));
|
|
goto L_089D777C;
|
|
}
|
|
goto L_089D776C;
|
|
L_089D776C:
|
|
{ const bool branch_taken = 0u == 0u;
|
|
if (branch_taken) {
|
|
goto L_089D778C;
|
|
}
|
|
goto L_089D7774;
|
|
}
|
|
L_089D7774:
|
|
{ const bool branch_taken = 0u == 0u;
|
|
if (branch_taken) {
|
|
goto L_089D79CC;
|
|
}
|
|
goto L_089D777C;
|
|
}
|
|
L_089D777C:
|
|
aot_gpr_5 = (8u << 16u);
|
|
aot_gpr_4 = (aot_gpr_4 & aot_gpr_5);
|
|
{ const bool branch_taken = aot_gpr_4 != 0u;
|
|
if (branch_taken) {
|
|
goto L_089D77A4;
|
|
}
|
|
goto L_089D778C;
|
|
}
|
|
L_089D778C:
|
|
ctx.gpr[18] = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(352)));
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast<std::uint32_t>(96)));
|
|
{ const bool branch_taken = aot_gpr_4 == 0u;
|
|
if (branch_taken) {
|
|
goto L_089D77AC;
|
|
}
|
|
goto L_089D779C;
|
|
}
|
|
L_089D779C:
|
|
{ const bool branch_taken = 0u == 0u;
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast<std::uint32_t>(96)));
|
|
if (branch_taken) {
|
|
goto L_089D77CC;
|
|
}
|
|
goto L_089D77A4;
|
|
}
|
|
L_089D77A4:
|
|
{ const bool branch_taken = 0u == 0u;
|
|
if (branch_taken) {
|
|
goto L_089D79CC;
|
|
}
|
|
goto L_089D77AC;
|
|
}
|
|
L_089D77AC:
|
|
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[18] + static_cast<std::uint32_t>(10))))));
|
|
aot_gpr_6 = (ctx.gpr[29] + static_cast<std::uint32_t>(26));
|
|
aot_gpr_31 = (0x089D77BCu);
|
|
aot_gpr_4 = (ctx.gpr[18] | 0u);
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0166_entry, 166u, 47u, 0x08A9C6FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D77BCu) goto L_089D77BC;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
L_089D77BC:
|
|
aot_mem.aot_direct_store32(ctx.gpr[18] + static_cast<std::uint32_t>(96), ctx.gpr[2]);
|
|
aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[29] + static_cast<std::uint32_t>(26)));
|
|
aot_mem.aot_direct_store8(ctx.gpr[18] + static_cast<std::uint32_t>(4), static_cast<std::uint8_t>(aot_gpr_4));
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast<std::uint32_t>(96)));
|
|
goto L_089D77CC;
|
|
L_089D77CC:
|
|
aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast<std::uint32_t>(346)));
|
|
aot_gpr_4 = (aot_gpr_4 & 32u);
|
|
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_089D77FC;
|
|
}
|
|
goto L_089D77E4;
|
|
}
|
|
L_089D77E4:
|
|
aot_gpr_31 = (0x089D77ECu);
|
|
aot_gpr_4 = (aot_gpr_16 | 0u);
|
|
goto L_089D4A7C;
|
|
L_089D77EC:
|
|
{ const bool branch_taken = ctx.gpr[2] != 0u;
|
|
if (branch_taken) {
|
|
goto L_089D7804;
|
|
}
|
|
goto L_089D77F4;
|
|
}
|
|
L_089D77F4:
|
|
{ const bool branch_taken = 0u == 0u;
|
|
if (branch_taken) {
|
|
goto L_089D7814;
|
|
}
|
|
goto L_089D77FC;
|
|
}
|
|
L_089D77FC:
|
|
{ const bool branch_taken = 0u == 0u;
|
|
if (branch_taken) {
|
|
goto L_089D79CC;
|
|
}
|
|
goto L_089D7804;
|
|
}
|
|
L_089D7804:
|
|
aot_gpr_31 = (0x089D780Cu);
|
|
aot_gpr_4 = (aot_gpr_17 | 0u);
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0134_entry, 134u, 274u, 0x08A1D7C4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D780Cu) goto L_089D780C;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
L_089D780C:
|
|
{ const bool branch_taken = ctx.gpr[2] != 0u;
|
|
if (branch_taken) {
|
|
goto L_089D7830;
|
|
}
|
|
goto L_089D7814;
|
|
}
|
|
L_089D7814:
|
|
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_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;
|
|
aot_gpr_17 = (0u | 0u);
|
|
if (branch_taken) {
|
|
goto L_089D7838;
|
|
}
|
|
goto L_089D7828;
|
|
}
|
|
L_089D7828:
|
|
{ const bool branch_taken = 0u == 0u;
|
|
aot_gpr_5 = (aot_gpr_16 + static_cast<std::uint32_t>(424));
|
|
if (branch_taken) {
|
|
goto L_089D784C;
|
|
}
|
|
goto L_089D7830;
|
|
}
|
|
L_089D7830:
|
|
{ const bool branch_taken = 0u == 0u;
|
|
if (branch_taken) {
|
|
goto L_089D79CC;
|
|
}
|
|
goto L_089D7838;
|
|
}
|
|
L_089D7838:
|
|
aot_gpr_4 = (aot_gpr_4 << 2u);
|
|
aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(24)));
|
|
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)));
|
|
aot_gpr_5 = (aot_gpr_16 + static_cast<std::uint32_t>(424));
|
|
goto L_089D784C;
|
|
L_089D784C:
|
|
aot_gpr_31 = (0x089D7854u);
|
|
aot_gpr_4 = (aot_gpr_17 | 0u);
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0063_entry, 63u, 648u, 0x0890380Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D7854u) goto L_089D7854;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
L_089D7854:
|
|
aot_gpr_31 = (0x089D785Cu);
|
|
aot_gpr_4 = (aot_gpr_16 | 0u);
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0034_entry, 34u, 582u, 0x0888FB40u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D785Cu) goto L_089D785C;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
L_089D785C:
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(352)));
|
|
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[29] + static_cast<std::uint32_t>(18))))));
|
|
aot_mem.aot_direct_store16(ctx.gpr[29] + static_cast<std::uint32_t>(28), static_cast<std::uint16_t>(aot_gpr_5));
|
|
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[29] + static_cast<std::uint32_t>(28))))));
|
|
aot_gpr_31 = (0x089D7874u);
|
|
aot_gpr_6 = (0u | 0u);
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0166_entry, 166u, 47u, 0x08A9C6FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D7874u) goto L_089D7874;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
L_089D7874:
|
|
aot_gpr_17 = (aot_mem.aot_direct_load8(ctx.gpr[2] + static_cast<std::uint32_t>(183)));
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(368)));
|
|
{ const bool branch_taken = aot_gpr_4 == aot_gpr_17;
|
|
if (branch_taken) {
|
|
goto L_089D78C0;
|
|
}
|
|
goto L_089D7884;
|
|
}
|
|
L_089D7884:
|
|
{ const bool branch_taken = aot_gpr_4 == 0u;
|
|
if (branch_taken) {
|
|
goto L_089D78A0;
|
|
}
|
|
goto L_089D788C;
|
|
}
|
|
L_089D788C:
|
|
aot_gpr_31 = (0x089D7894u);
|
|
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, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_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 == 0x089D7894u) goto L_089D7894;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
L_089D7894:
|
|
aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast<std::uint32_t>(96)));
|
|
aot_gpr_31 = (0x089D78A0u);
|
|
aot_gpr_4 = (aot_gpr_16 | 0u);
|
|
goto L_089D49DC;
|
|
L_089D78A0:
|
|
{ const bool branch_taken = aot_gpr_17 == 0u;
|
|
if (branch_taken) {
|
|
goto L_089D78BC;
|
|
}
|
|
goto L_089D78A8;
|
|
}
|
|
L_089D78A8:
|
|
aot_gpr_31 = (0x089D78B0u);
|
|
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_08B1FD70, 198u, 733u, 0x08B1FD70u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_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 == 0x089D78B0u) goto L_089D78B0;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
L_089D78B0:
|
|
aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[2] + static_cast<std::uint32_t>(96)));
|
|
aot_gpr_31 = (0x089D78BCu);
|
|
aot_gpr_4 = (aot_gpr_16 | 0u);
|
|
goto L_089D4940;
|
|
L_089D78BC:
|
|
aot_mem.aot_direct_store32(aot_gpr_16 + static_cast<std::uint32_t>(368), aot_gpr_17);
|
|
goto L_089D78C0;
|
|
L_089D78C0:
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(372)));
|
|
{ const bool branch_taken = aot_gpr_4 == 0u;
|
|
if (branch_taken) {
|
|
goto L_089D79CC;
|
|
}
|
|
goto L_089D78CC;
|
|
}
|
|
L_089D78CC:
|
|
aot_gpr_31 = (0x089D78D4u);
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(80)));
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0038_entry, 38u, 621u, 0x0889EB08u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D78D4u) goto L_089D78D4;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
L_089D78D4:
|
|
aot_gpr_17 = (ctx.gpr[2] | 0u);
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(352)));
|
|
aot_gpr_4 = (aot_gpr_4 + static_cast<std::uint32_t>(140));
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast<std::uint32_t>(24)));
|
|
aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast<std::uint32_t>(20)));
|
|
aot_gpr_31 = (0x089D78F0u);
|
|
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_08969194, 89u, 251u, 0x08969194u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0089_entry, 89u, 251u, 0x08969194u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D78F0u) goto L_089D78F0;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
L_089D78F0:
|
|
aot_gpr_4 = (aot_gpr_17 | 0u);
|
|
aot_gpr_31 = (0x089D78FCu);
|
|
aot_gpr_17 = (ctx.gpr[2] | 0u);
|
|
if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_0896918C, 89u, 250u, 0x0896918Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0089_entry, 89u, 250u, 0x0896918Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D78FCu) goto L_089D78FC;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
L_089D78FC:
|
|
aot_gpr_4 = (aot_gpr_17 << 6u);
|
|
aot_gpr_4 = (ctx.gpr[2] + aot_gpr_4);
|
|
aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(372)));
|
|
aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast<std::uint32_t>(4)));
|
|
aot_gpr_6 = (aot_gpr_5 + static_cast<std::uint32_t>(16));
|
|
{ std::uint32_t aot_run_words[3]{};
|
|
aot_mem.aot_direct_load32_block(aot_gpr_4 + static_cast<std::uint32_t>(0), aot_run_words);
|
|
ctx.gpr[7] = aot_run_words[0];
|
|
ctx.gpr[8] = aot_run_words[1];
|
|
ctx.gpr[9] = aot_run_words[2];
|
|
}
|
|
{ const std::uint32_t aot_run_words[3]{ctx.gpr[7], ctx.gpr[8], ctx.gpr[9]};
|
|
aot_mem.aot_direct_store32_block(aot_gpr_6 + static_cast<std::uint32_t>(0), aot_run_words); }
|
|
{ std::uint32_t aot_run_words[3]{};
|
|
aot_mem.aot_direct_load32_block(aot_gpr_4 + static_cast<std::uint32_t>(12), aot_run_words);
|
|
ctx.gpr[7] = aot_run_words[0];
|
|
ctx.gpr[8] = aot_run_words[1];
|
|
ctx.gpr[9] = aot_run_words[2];
|
|
}
|
|
{ const std::uint32_t aot_run_words[3]{ctx.gpr[7], ctx.gpr[8], ctx.gpr[9]};
|
|
aot_mem.aot_direct_store32_block(aot_gpr_6 + static_cast<std::uint32_t>(12), aot_run_words); }
|
|
{ std::uint32_t aot_run_words[3]{};
|
|
aot_mem.aot_direct_load32_block(aot_gpr_4 + static_cast<std::uint32_t>(24), aot_run_words);
|
|
ctx.gpr[7] = aot_run_words[0];
|
|
ctx.gpr[8] = aot_run_words[1];
|
|
ctx.gpr[9] = aot_run_words[2];
|
|
}
|
|
{ const std::uint32_t aot_run_words[3]{ctx.gpr[7], ctx.gpr[8], ctx.gpr[9]};
|
|
aot_mem.aot_direct_store32_block(aot_gpr_6 + static_cast<std::uint32_t>(24), aot_run_words); }
|
|
{ std::uint32_t aot_run_words[3]{};
|
|
aot_mem.aot_direct_load32_block(aot_gpr_4 + static_cast<std::uint32_t>(36), aot_run_words);
|
|
ctx.gpr[7] = aot_run_words[0];
|
|
ctx.gpr[8] = aot_run_words[1];
|
|
ctx.gpr[9] = aot_run_words[2];
|
|
}
|
|
{ const std::uint32_t aot_run_words[3]{ctx.gpr[7], ctx.gpr[8], ctx.gpr[9]};
|
|
aot_mem.aot_direct_store32_block(aot_gpr_6 + static_cast<std::uint32_t>(36), aot_run_words); }
|
|
{ std::uint32_t aot_run_words[3]{};
|
|
aot_mem.aot_direct_load32_block(aot_gpr_4 + static_cast<std::uint32_t>(48), aot_run_words);
|
|
ctx.gpr[7] = aot_run_words[0];
|
|
ctx.gpr[8] = aot_run_words[1];
|
|
ctx.gpr[9] = aot_run_words[2];
|
|
}
|
|
{ const std::uint32_t aot_run_words[3]{ctx.gpr[7], ctx.gpr[8], ctx.gpr[9]};
|
|
aot_mem.aot_direct_store32_block(aot_gpr_6 + static_cast<std::uint32_t>(48), aot_run_words); }
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast<std::uint32_t>(60)));
|
|
aot_mem.aot_direct_store32(aot_gpr_6 + static_cast<std::uint32_t>(60), aot_gpr_4);
|
|
aot_gpr_31 = (0x089D7998u);
|
|
aot_gpr_4 = (aot_gpr_5 | 0u);
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0091_entry, 91u, 621u, 0x08972D80u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D7998u) goto L_089D7998;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
L_089D7998:
|
|
aot_gpr_16 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(372)));
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(36)));
|
|
{ const bool branch_taken = aot_gpr_4 == 0u;
|
|
aot_gpr_5 = (43691u << 16u);
|
|
if (branch_taken) {
|
|
goto L_089D79C4;
|
|
}
|
|
goto L_089D79A8;
|
|
}
|
|
L_089D79A8:
|
|
aot_gpr_5 = (aot_gpr_5 + static_cast<std::uint32_t>(-21846));
|
|
{ const bool branch_taken = aot_gpr_4 == aot_gpr_5;
|
|
aot_gpr_5 = (aot_gpr_4 | 0u);
|
|
if (branch_taken) {
|
|
goto L_089D79C4;
|
|
}
|
|
goto L_089D79B4;
|
|
}
|
|
L_089D79B4:
|
|
jump_target = aot_gpr_5;
|
|
aot_gpr_31 = (0x089D79BCu);
|
|
aot_gpr_4 = (aot_gpr_16 | 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 == 0x089D79BCu) goto L_089D79BC;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
L_089D79BC:
|
|
{ const bool branch_taken = 0u == 0u;
|
|
if (branch_taken) {
|
|
goto L_089D79CC;
|
|
}
|
|
goto L_089D79C4;
|
|
}
|
|
L_089D79C4:
|
|
aot_gpr_31 = (0x089D79CCu);
|
|
aot_gpr_4 = (aot_gpr_16 | 0u);
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0085_entry, 85u, 528u, 0x0895BBA4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D79CCu) goto L_089D79CC;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
L_089D79CC:
|
|
{ std::uint32_t aot_run_words[6]{};
|
|
aot_mem.aot_direct_load32_block(ctx.gpr[29] + static_cast<std::uint32_t>(32), aot_run_words);
|
|
aot_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;
|
|
ctx.gpr[29] = (ctx.gpr[29] + static_cast<std::uint32_t>(64));
|
|
local_pc = jump_target;
|
|
if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; }
|
|
// PSPRECOMP_V812_SHARED_SCHED_JUMP
|
|
goto LOCAL_SCHED_BOUNDARY;
|
|
L_089D79EC:
|
|
ctx.gpr[29] = (ctx.gpr[29] + static_cast<std::uint32_t>(-16));
|
|
aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast<std::uint32_t>(4), aot_gpr_31);
|
|
aot_gpr_4 = (0u | 27u);
|
|
aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast<std::uint32_t>(8681), static_cast<std::uint8_t>(aot_gpr_4));
|
|
aot_gpr_4 = (ctx.gpr[28] + static_cast<std::uint32_t>(-11648));
|
|
aot_gpr_5 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast<std::uint32_t>(8681)));
|
|
aot_gpr_5 = (aot_gpr_5 << 2u);
|
|
aot_gpr_6 = (2237u << 16u);
|
|
aot_gpr_6 = (aot_gpr_6 + static_cast<std::uint32_t>(-30144));
|
|
aot_gpr_5 = (aot_gpr_5 + aot_gpr_6);
|
|
aot_mem.aot_direct_store32(aot_gpr_5 + static_cast<std::uint32_t>(0), aot_gpr_4);
|
|
aot_gpr_4 = (0u | 28u);
|
|
aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast<std::uint32_t>(9637), static_cast<std::uint8_t>(aot_gpr_4));
|
|
aot_gpr_4 = (ctx.gpr[28] + static_cast<std::uint32_t>(-11636));
|
|
aot_gpr_5 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast<std::uint32_t>(9637)));
|
|
aot_gpr_5 = (aot_gpr_5 << 2u);
|
|
aot_gpr_5 = (aot_gpr_5 + aot_gpr_6);
|
|
aot_mem.aot_direct_store32(aot_gpr_5 + static_cast<std::uint32_t>(0), aot_gpr_4);
|
|
aot_gpr_4 = (0u | 29u);
|
|
aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast<std::uint32_t>(9638), static_cast<std::uint8_t>(aot_gpr_4));
|
|
aot_gpr_4 = (ctx.gpr[28] + static_cast<std::uint32_t>(-11628));
|
|
aot_gpr_5 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast<std::uint32_t>(9638)));
|
|
aot_gpr_5 = (aot_gpr_5 << 2u);
|
|
aot_gpr_5 = (aot_gpr_5 + aot_gpr_6);
|
|
aot_mem.aot_direct_store32(aot_gpr_5 + static_cast<std::uint32_t>(0), aot_gpr_4);
|
|
aot_gpr_4 = (0u | 30u);
|
|
aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast<std::uint32_t>(9639), static_cast<std::uint8_t>(aot_gpr_4));
|
|
aot_gpr_4 = (ctx.gpr[28] + static_cast<std::uint32_t>(-11612));
|
|
aot_gpr_5 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast<std::uint32_t>(9639)));
|
|
aot_gpr_5 = (aot_gpr_5 << 2u);
|
|
aot_gpr_5 = (aot_gpr_5 + aot_gpr_6);
|
|
aot_mem.aot_direct_store32(aot_gpr_5 + static_cast<std::uint32_t>(0), aot_gpr_4);
|
|
aot_gpr_4 = (0u | 31u);
|
|
aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast<std::uint32_t>(9640), static_cast<std::uint8_t>(aot_gpr_4));
|
|
aot_gpr_4 = (ctx.gpr[28] + static_cast<std::uint32_t>(-11600));
|
|
aot_gpr_5 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast<std::uint32_t>(9640)));
|
|
aot_gpr_5 = (aot_gpr_5 << 2u);
|
|
aot_gpr_5 = (aot_gpr_5 + aot_gpr_6);
|
|
aot_mem.aot_direct_store32(aot_gpr_5 + static_cast<std::uint32_t>(0), aot_gpr_4);
|
|
aot_gpr_4 = (0u | 32u);
|
|
aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast<std::uint32_t>(8064), static_cast<std::uint8_t>(aot_gpr_4));
|
|
aot_gpr_4 = (ctx.gpr[28] + static_cast<std::uint32_t>(-11588));
|
|
aot_gpr_5 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast<std::uint32_t>(8064)));
|
|
aot_gpr_5 = (aot_gpr_5 << 2u);
|
|
aot_gpr_5 = (aot_gpr_5 + aot_gpr_6);
|
|
aot_mem.aot_direct_store32(aot_gpr_5 + static_cast<std::uint32_t>(0), aot_gpr_4);
|
|
aot_gpr_4 = (0u | 33u);
|
|
aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast<std::uint32_t>(8433), static_cast<std::uint8_t>(aot_gpr_4));
|
|
aot_gpr_4 = (ctx.gpr[28] + static_cast<std::uint32_t>(-11572));
|
|
aot_gpr_5 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast<std::uint32_t>(8433)));
|
|
aot_gpr_5 = (aot_gpr_5 << 2u);
|
|
aot_gpr_5 = (aot_gpr_5 + aot_gpr_6);
|
|
aot_mem.aot_direct_store32(aot_gpr_5 + static_cast<std::uint32_t>(0), aot_gpr_4);
|
|
aot_gpr_4 = (0u | 34u);
|
|
aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast<std::uint32_t>(9641), static_cast<std::uint8_t>(aot_gpr_4));
|
|
aot_gpr_4 = (ctx.gpr[28] + static_cast<std::uint32_t>(-11556));
|
|
aot_gpr_5 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast<std::uint32_t>(9641)));
|
|
aot_gpr_5 = (aot_gpr_5 << 2u);
|
|
aot_gpr_5 = (aot_gpr_5 + aot_gpr_6);
|
|
aot_mem.aot_direct_store32(aot_gpr_5 + static_cast<std::uint32_t>(0), aot_gpr_4);
|
|
aot_gpr_4 = (0u | 35u);
|
|
aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast<std::uint32_t>(9642), static_cast<std::uint8_t>(aot_gpr_4));
|
|
aot_gpr_4 = (ctx.gpr[28] + static_cast<std::uint32_t>(-11540));
|
|
aot_gpr_5 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast<std::uint32_t>(9642)));
|
|
aot_gpr_5 = (aot_gpr_5 << 2u);
|
|
aot_gpr_5 = (aot_gpr_5 + aot_gpr_6);
|
|
aot_mem.aot_direct_store32(aot_gpr_5 + static_cast<std::uint32_t>(0), aot_gpr_4);
|
|
aot_gpr_4 = (0u | 36u);
|
|
aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast<std::uint32_t>(9643), static_cast<std::uint8_t>(aot_gpr_4));
|
|
aot_gpr_4 = (2232u << 16u);
|
|
aot_gpr_4 = (aot_gpr_4 + static_cast<std::uint32_t>(-3440));
|
|
aot_gpr_5 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast<std::uint32_t>(9643)));
|
|
aot_gpr_5 = (aot_gpr_5 << 2u);
|
|
aot_gpr_5 = (aot_gpr_5 + aot_gpr_6);
|
|
aot_mem.aot_direct_store32(aot_gpr_5 + static_cast<std::uint32_t>(0), aot_gpr_4);
|
|
aot_gpr_4 = (0u | 37u);
|
|
aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast<std::uint32_t>(9644), static_cast<std::uint8_t>(aot_gpr_4));
|
|
aot_gpr_4 = (ctx.gpr[28] + static_cast<std::uint32_t>(-11524));
|
|
aot_gpr_5 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast<std::uint32_t>(9644)));
|
|
aot_gpr_5 = (aot_gpr_5 << 2u);
|
|
aot_gpr_5 = (aot_gpr_5 + aot_gpr_6);
|
|
aot_mem.aot_direct_store32(aot_gpr_5 + static_cast<std::uint32_t>(0), aot_gpr_4);
|
|
aot_gpr_4 = (0u | 38u);
|
|
aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast<std::uint32_t>(9645), static_cast<std::uint8_t>(aot_gpr_4));
|
|
aot_gpr_4 = (ctx.gpr[28] + static_cast<std::uint32_t>(-11508));
|
|
aot_gpr_5 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast<std::uint32_t>(9645)));
|
|
aot_gpr_5 = (aot_gpr_5 << 2u);
|
|
aot_gpr_5 = (aot_gpr_5 + aot_gpr_6);
|
|
aot_mem.aot_direct_store32(aot_gpr_5 + static_cast<std::uint32_t>(0), aot_gpr_4);
|
|
aot_gpr_4 = (0u | 39u);
|
|
aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast<std::uint32_t>(9646), static_cast<std::uint8_t>(aot_gpr_4));
|
|
aot_gpr_4 = (ctx.gpr[28] + static_cast<std::uint32_t>(-11496));
|
|
aot_gpr_5 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast<std::uint32_t>(9646)));
|
|
aot_gpr_5 = (aot_gpr_5 << 2u);
|
|
aot_gpr_5 = (aot_gpr_5 + aot_gpr_6);
|
|
aot_mem.aot_direct_store32(aot_gpr_5 + static_cast<std::uint32_t>(0), aot_gpr_4);
|
|
aot_gpr_4 = (0u | 40u);
|
|
aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast<std::uint32_t>(8680), static_cast<std::uint8_t>(aot_gpr_4));
|
|
aot_gpr_4 = (ctx.gpr[28] + static_cast<std::uint32_t>(-11488));
|
|
aot_gpr_5 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast<std::uint32_t>(8680)));
|
|
aot_gpr_5 = (aot_gpr_5 << 2u);
|
|
aot_gpr_5 = (aot_gpr_5 + aot_gpr_6);
|
|
aot_mem.aot_direct_store32(aot_gpr_5 + static_cast<std::uint32_t>(0), aot_gpr_4);
|
|
{ const std::uint32_t aot_run_words[3]{0u, 0u, 0u};
|
|
aot_mem.aot_direct_store32_block(ctx.gpr[28] + static_cast<std::uint32_t>(9624), aot_run_words); }
|
|
aot_gpr_31 = (0x089D7B9Cu);
|
|
aot_gpr_4 = (ctx.gpr[28] + static_cast<std::uint32_t>(-11660));
|
|
if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60680, 215u, 68u, 0x08B60680u>(ctx, &aot_mem, ctx.pc, ctx.gpr[1], ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_16, aot_gpr_17, ctx.gpr[18], ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 68u, 0x08B60680u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D7B9Cu) goto L_089D7B9C;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
L_089D7B9C:
|
|
aot_gpr_31 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast<std::uint32_t>(4)));
|
|
jump_target = aot_gpr_31;
|
|
ctx.gpr[29] = (ctx.gpr[29] + static_cast<std::uint32_t>(16));
|
|
local_pc = jump_target;
|
|
if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; }
|
|
// PSPRECOMP_V812_SHARED_SCHED_JUMP
|
|
goto LOCAL_SCHED_BOUNDARY;
|
|
L_089D7BA8:
|
|
ctx.gpr[29] = (ctx.gpr[29] + static_cast<std::uint32_t>(-32));
|
|
aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast<std::uint32_t>(0), aot_gpr_16);
|
|
aot_gpr_16 = (aot_gpr_4 | 0u);
|
|
aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast<std::uint32_t>(4), aot_gpr_17);
|
|
aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast<std::uint32_t>(8), ctx.gpr[18]);
|
|
ctx.gpr[18] = (2236u << 16u);
|
|
aot_gpr_17 = (aot_gpr_16 + static_cast<std::uint32_t>(16));
|
|
aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast<std::uint32_t>(12), ctx.gpr[19]);
|
|
ctx.gpr[19] = (ctx.gpr[18] + static_cast<std::uint32_t>(29704));
|
|
aot_gpr_5 = (aot_gpr_17 | 0u);
|
|
aot_gpr_6 = (0u | 9u);
|
|
aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast<std::uint32_t>(16), aot_gpr_31);
|
|
aot_gpr_31 = (0x089D7BE0u);
|
|
ctx.gpr[7] = (ctx.gpr[19] | 0u);
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D7BE0u) goto L_089D7BE0;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
L_089D7BE0:
|
|
aot_fpr_12 = std::bit_cast<float>(aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast<std::uint32_t>(29704)));
|
|
{ std::uint32_t aot_run_words[8]{};
|
|
aot_mem.aot_direct_load32_block(ctx.gpr[19] + static_cast<std::uint32_t>(4), aot_run_words);
|
|
aot_fpr_13 = std::bit_cast<float>(aot_run_words[0]);
|
|
aot_fpr_14 = std::bit_cast<float>(aot_run_words[1]);
|
|
ctx.fpr[15] = std::bit_cast<float>(aot_run_words[2]);
|
|
ctx.fpr[16] = std::bit_cast<float>(aot_run_words[3]);
|
|
ctx.fpr[17] = std::bit_cast<float>(aot_run_words[4]);
|
|
ctx.fpr[18] = std::bit_cast<float>(aot_run_words[5]);
|
|
ctx.fpr[19] = std::bit_cast<float>(aot_run_words[6]);
|
|
aot_gpr_4 = aot_run_words[7];
|
|
}
|
|
aot_gpr_5 = (0u | 0u);
|
|
aot_gpr_31 = (0x089D7C10u);
|
|
aot_gpr_4 = (aot_gpr_4 & 255u);
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0090_entry, 90u, 613u, 0x0896E838u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D7C10u) goto L_089D7C10;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
L_089D7C10:
|
|
aot_mem.aot_direct_store32(ctx.gpr[18] + static_cast<std::uint32_t>(29704), ctx.gpr[2]);
|
|
aot_gpr_4 = (aot_gpr_16 | 0u);
|
|
aot_gpr_5 = (aot_gpr_17 | 0u);
|
|
aot_gpr_31 = (0x089D7C24u);
|
|
aot_gpr_6 = (0u | 1u);
|
|
if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08862890, 23u, 431u, 0x08862890u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, ctx.gpr[7], ctx.gpr[8], ctx.gpr[9], ctx.gpr[10], ctx.gpr[11], aot_gpr_16, aot_gpr_17, ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[28], ctx.gpr[29], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0023_entry, 23u, 431u, 0x08862890u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D7C24u) goto L_089D7C24;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
L_089D7C24:
|
|
ctx.gpr[2] = (0u | 0u);
|
|
{ std::uint32_t aot_run_words[5]{};
|
|
aot_mem.aot_direct_load32_block(ctx.gpr[29] + static_cast<std::uint32_t>(0), aot_run_words);
|
|
aot_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;
|
|
ctx.gpr[29] = (ctx.gpr[29] + static_cast<std::uint32_t>(32));
|
|
local_pc = jump_target;
|
|
if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; }
|
|
// PSPRECOMP_V812_SHARED_SCHED_JUMP
|
|
goto LOCAL_SCHED_BOUNDARY;
|
|
L_089D7C44:
|
|
ctx.gpr[29] = (ctx.gpr[29] + static_cast<std::uint32_t>(-16));
|
|
aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast<std::uint32_t>(0), aot_gpr_16);
|
|
aot_gpr_16 = (2236u << 16u);
|
|
aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast<std::uint32_t>(4), aot_gpr_17);
|
|
aot_gpr_17 = (aot_gpr_16 + static_cast<std::uint32_t>(29704));
|
|
aot_gpr_5 = (aot_gpr_4 + static_cast<std::uint32_t>(16));
|
|
aot_gpr_6 = (0u | 2u);
|
|
aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast<std::uint32_t>(8), aot_gpr_31);
|
|
aot_gpr_31 = (0x089D7C6Cu);
|
|
ctx.gpr[7] = (aot_gpr_17 | 0u);
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D7C6Cu) goto L_089D7C6C;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
L_089D7C6C:
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast<std::uint32_t>(4)));
|
|
{ const bool branch_taken = static_cast<std::int32_t>(aot_gpr_4) >= 0;
|
|
if (branch_taken) {
|
|
goto L_089D7C94;
|
|
}
|
|
goto L_089D7C78;
|
|
}
|
|
L_089D7C78:
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(29704)));
|
|
aot_gpr_5 = (0u | 0u);
|
|
aot_gpr_4 = (aot_gpr_4 << 16u);
|
|
aot_gpr_31 = (0x089D7C8Cu);
|
|
aot_gpr_4 = (static_cast<std::uint32_t>(static_cast<std::int32_t>(aot_gpr_4) >> 16u));
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0090_entry, 90u, 524u, 0x0896E2B0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D7C8Cu) goto L_089D7C8C;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
L_089D7C8C:
|
|
{ const bool branch_taken = 0u == 0u;
|
|
if (branch_taken) {
|
|
goto L_089D7CB4;
|
|
}
|
|
goto L_089D7C94;
|
|
}
|
|
L_089D7C94:
|
|
aot_gpr_5 = (aot_gpr_4 | 0u);
|
|
aot_gpr_31 = (0x089D7CA0u);
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(-15972)));
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 438u, 0x08B65CC4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D7CA0u) goto L_089D7CA0;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
L_089D7CA0:
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(29704)));
|
|
aot_gpr_5 = (ctx.gpr[2] | 0u);
|
|
aot_gpr_4 = (aot_gpr_4 << 16u);
|
|
aot_gpr_31 = (0x089D7CB4u);
|
|
aot_gpr_4 = (static_cast<std::uint32_t>(static_cast<std::int32_t>(aot_gpr_4) >> 16u));
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0090_entry, 90u, 524u, 0x0896E2B0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D7CB4u) goto L_089D7CB4;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
L_089D7CB4:
|
|
ctx.gpr[2] = (0u | 0u);
|
|
{ std::uint32_t aot_run_words[3]{};
|
|
aot_mem.aot_direct_load32_block(ctx.gpr[29] + static_cast<std::uint32_t>(0), aot_run_words);
|
|
aot_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;
|
|
ctx.gpr[29] = (ctx.gpr[29] + static_cast<std::uint32_t>(16));
|
|
local_pc = jump_target;
|
|
if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; }
|
|
// PSPRECOMP_V812_SHARED_SCHED_JUMP
|
|
goto LOCAL_SCHED_BOUNDARY;
|
|
L_089D7CCC:
|
|
ctx.gpr[29] = (ctx.gpr[29] + static_cast<std::uint32_t>(-16));
|
|
aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast<std::uint32_t>(0), aot_gpr_16);
|
|
aot_gpr_16 = (aot_gpr_4 | 0u);
|
|
aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast<std::uint32_t>(4), aot_gpr_17);
|
|
aot_gpr_17 = (2236u << 16u);
|
|
aot_gpr_5 = (aot_gpr_16 + static_cast<std::uint32_t>(16));
|
|
aot_gpr_6 = (0u | 1u);
|
|
aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast<std::uint32_t>(8), aot_gpr_31);
|
|
aot_gpr_31 = (0x089D7CF4u);
|
|
ctx.gpr[7] = (aot_gpr_17 + static_cast<std::uint32_t>(29704));
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D7CF4u) goto L_089D7CF4;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
L_089D7CF4:
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast<std::uint32_t>(29704)));
|
|
aot_gpr_4 = (aot_gpr_4 << 16u);
|
|
aot_gpr_31 = (0x089D7D04u);
|
|
aot_gpr_4 = (static_cast<std::uint32_t>(static_cast<std::int32_t>(aot_gpr_4) >> 16u));
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0090_entry, 90u, 342u, 0x0896D418u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D7D04u) goto L_089D7D04;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
L_089D7D04:
|
|
{ const bool branch_taken = ctx.gpr[2] == 0u;
|
|
if (branch_taken) {
|
|
goto L_089D7D14;
|
|
}
|
|
goto L_089D7D0C;
|
|
}
|
|
L_089D7D0C:
|
|
{ const bool branch_taken = 0u == 0u;
|
|
aot_gpr_4 = (0u | 1u);
|
|
if (branch_taken) {
|
|
goto L_089D7D18;
|
|
}
|
|
goto L_089D7D14;
|
|
}
|
|
L_089D7D14:
|
|
aot_gpr_4 = (0u | 0u);
|
|
goto L_089D7D18;
|
|
L_089D7D18:
|
|
aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast<std::uint32_t>(524)));
|
|
aot_gpr_4 = (aot_gpr_4 & 255u);
|
|
aot_gpr_5 = (0u < aot_gpr_5 ? 1u : 0u);
|
|
aot_gpr_4 = (aot_gpr_4 ^ aot_gpr_5);
|
|
aot_gpr_5 = (aot_mem.aot_direct_load16(aot_gpr_16 + static_cast<std::uint32_t>(518)));
|
|
{ const bool branch_taken = aot_gpr_5 != 0u;
|
|
aot_gpr_4 = (0u < aot_gpr_4 ? 1u : 0u);
|
|
if (branch_taken) {
|
|
goto L_089D7D3C;
|
|
}
|
|
goto L_089D7D34;
|
|
}
|
|
L_089D7D34:
|
|
{ const bool branch_taken = 0u == 0u;
|
|
aot_mem.aot_direct_store8(aot_gpr_16 + static_cast<std::uint32_t>(521), static_cast<std::uint8_t>(aot_gpr_4));
|
|
if (branch_taken) {
|
|
goto L_089D7D84;
|
|
}
|
|
goto L_089D7D3C;
|
|
}
|
|
L_089D7D3C:
|
|
aot_gpr_5 = (aot_gpr_16 + static_cast<std::uint32_t>(518));
|
|
aot_gpr_6 = (aot_mem.aot_direct_load16(aot_gpr_5 + static_cast<std::uint32_t>(0)));
|
|
ctx.gpr[7] = (aot_gpr_6 + static_cast<std::uint32_t>(-1));
|
|
aot_mem.aot_direct_store16(aot_gpr_5 + static_cast<std::uint32_t>(0), static_cast<std::uint16_t>(ctx.gpr[7]));
|
|
aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast<std::uint32_t>(521)));
|
|
aot_gpr_6 = (static_cast<std::int32_t>(aot_gpr_6) < 9 ? 1u : 0u);
|
|
{ const bool branch_taken = aot_gpr_6 == 0u;
|
|
aot_gpr_5 = (0u < aot_gpr_5 ? 1u : 0u);
|
|
if (branch_taken) {
|
|
goto L_089D7D68;
|
|
}
|
|
goto L_089D7D5C;
|
|
}
|
|
L_089D7D5C:
|
|
aot_gpr_4 = (aot_gpr_4 & aot_gpr_5);
|
|
{ const bool branch_taken = 0u == 0u;
|
|
aot_mem.aot_direct_store8(aot_gpr_16 + static_cast<std::uint32_t>(521), static_cast<std::uint8_t>(aot_gpr_4));
|
|
if (branch_taken) {
|
|
goto L_089D7D84;
|
|
}
|
|
goto L_089D7D68;
|
|
}
|
|
L_089D7D68:
|
|
aot_gpr_4 = (aot_gpr_4 | aot_gpr_5);
|
|
aot_gpr_5 = (aot_mem.aot_direct_load16(aot_gpr_16 + static_cast<std::uint32_t>(518)));
|
|
aot_mem.aot_direct_store8(aot_gpr_16 + static_cast<std::uint32_t>(521), static_cast<std::uint8_t>(aot_gpr_4));
|
|
aot_gpr_4 = (static_cast<std::int32_t>(aot_gpr_5) < 21 ? 1u : 0u);
|
|
{ const bool branch_taken = aot_gpr_4 == 0u;
|
|
if (branch_taken) {
|
|
goto L_089D7D84;
|
|
}
|
|
goto L_089D7D80;
|
|
}
|
|
L_089D7D80:
|
|
aot_mem.aot_direct_store16(aot_gpr_16 + static_cast<std::uint32_t>(518), static_cast<std::uint16_t>(0u));
|
|
goto L_089D7D84;
|
|
L_089D7D84:
|
|
ctx.gpr[2] = (0u | 0u);
|
|
{ std::uint32_t aot_run_words[3]{};
|
|
aot_mem.aot_direct_load32_block(ctx.gpr[29] + static_cast<std::uint32_t>(0), aot_run_words);
|
|
aot_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;
|
|
ctx.gpr[29] = (ctx.gpr[29] + static_cast<std::uint32_t>(16));
|
|
local_pc = jump_target;
|
|
if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; }
|
|
// PSPRECOMP_V812_SHARED_SCHED_JUMP
|
|
goto LOCAL_SCHED_BOUNDARY;
|
|
L_089D7D9C:
|
|
ctx.gpr[29] = (ctx.gpr[29] + static_cast<std::uint32_t>(-16));
|
|
aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast<std::uint32_t>(0), aot_gpr_16);
|
|
aot_gpr_16 = (2236u << 16u);
|
|
aot_gpr_5 = (aot_gpr_4 + static_cast<std::uint32_t>(16));
|
|
aot_gpr_6 = (0u | 1u);
|
|
aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast<std::uint32_t>(4), aot_gpr_31);
|
|
aot_gpr_31 = (0x089D7DBCu);
|
|
ctx.gpr[7] = (aot_gpr_16 + static_cast<std::uint32_t>(29704));
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D7DBCu) goto L_089D7DBC;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
L_089D7DBC:
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(29704)));
|
|
{ const bool branch_taken = aot_gpr_4 == 0u;
|
|
if (branch_taken) {
|
|
goto L_089D7DD4;
|
|
}
|
|
goto L_089D7DC8;
|
|
}
|
|
L_089D7DC8:
|
|
aot_gpr_4 = (0u | 1u);
|
|
{ const bool branch_taken = 0u == 0u;
|
|
aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast<std::uint32_t>(-17331), static_cast<std::uint8_t>(aot_gpr_4));
|
|
if (branch_taken) {
|
|
goto L_089D7DD8;
|
|
}
|
|
goto L_089D7DD4;
|
|
}
|
|
L_089D7DD4:
|
|
aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast<std::uint32_t>(-17331), static_cast<std::uint8_t>(0u));
|
|
goto L_089D7DD8;
|
|
L_089D7DD8:
|
|
ctx.gpr[2] = (0u | 0u);
|
|
aot_gpr_16 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast<std::uint32_t>(0)));
|
|
aot_gpr_31 = (aot_mem.aot_direct_load32(ctx.gpr[29] + static_cast<std::uint32_t>(4)));
|
|
jump_target = aot_gpr_31;
|
|
ctx.gpr[29] = (ctx.gpr[29] + static_cast<std::uint32_t>(16));
|
|
local_pc = jump_target;
|
|
if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; }
|
|
// PSPRECOMP_V812_SHARED_SCHED_JUMP
|
|
goto LOCAL_SCHED_BOUNDARY;
|
|
L_089D7DEC:
|
|
ctx.gpr[29] = (ctx.gpr[29] + static_cast<std::uint32_t>(-16));
|
|
aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast<std::uint32_t>(0), aot_gpr_16);
|
|
aot_gpr_16 = (2236u << 16u);
|
|
aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast<std::uint32_t>(4), aot_gpr_17);
|
|
aot_gpr_17 = (aot_gpr_16 + static_cast<std::uint32_t>(29704));
|
|
aot_gpr_5 = (aot_gpr_4 + static_cast<std::uint32_t>(16));
|
|
aot_gpr_6 = (0u | 2u);
|
|
aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast<std::uint32_t>(8), aot_gpr_31);
|
|
aot_gpr_31 = (0x089D7E14u);
|
|
ctx.gpr[7] = (aot_gpr_17 | 0u);
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D7E14u) goto L_089D7E14;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
L_089D7E14:
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(29704)));
|
|
aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast<std::uint32_t>(4)));
|
|
aot_gpr_4 = (aot_gpr_4 << 16u);
|
|
aot_gpr_4 = (static_cast<std::uint32_t>(static_cast<std::int32_t>(aot_gpr_4) >> 16u));
|
|
aot_gpr_5 = (aot_gpr_5 & 255u);
|
|
aot_gpr_31 = (0x089D7E30u);
|
|
aot_gpr_6 = (0u | 0u);
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0090_entry, 90u, 293u, 0x0896D0F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D7E30u) goto L_089D7E30;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
L_089D7E30:
|
|
ctx.gpr[2] = (0u | 0u);
|
|
{ std::uint32_t aot_run_words[3]{};
|
|
aot_mem.aot_direct_load32_block(ctx.gpr[29] + static_cast<std::uint32_t>(0), aot_run_words);
|
|
aot_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;
|
|
ctx.gpr[29] = (ctx.gpr[29] + static_cast<std::uint32_t>(16));
|
|
local_pc = jump_target;
|
|
if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; }
|
|
// PSPRECOMP_V812_SHARED_SCHED_JUMP
|
|
goto LOCAL_SCHED_BOUNDARY;
|
|
L_089D7E48:
|
|
ctx.gpr[29] = (ctx.gpr[29] + static_cast<std::uint32_t>(-32));
|
|
aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast<std::uint32_t>(20), aot_gpr_17);
|
|
aot_gpr_17 = (2236u << 16u);
|
|
aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast<std::uint32_t>(16), aot_gpr_16);
|
|
aot_gpr_16 = (aot_gpr_17 + static_cast<std::uint32_t>(29704));
|
|
aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast<std::uint32_t>(24), aot_gpr_31);
|
|
aot_gpr_5 = (aot_gpr_4 + static_cast<std::uint32_t>(16));
|
|
aot_gpr_6 = (0u | 10u);
|
|
aot_gpr_31 = (0x089D7E70u);
|
|
ctx.gpr[7] = (aot_gpr_16 | 0u);
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D7E70u) goto L_089D7E70;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
L_089D7E70:
|
|
ctx.fpr[19] = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_17 + static_cast<std::uint32_t>(29704)));
|
|
{ std::uint32_t aot_run_words[4]{};
|
|
aot_mem.aot_direct_load32_block(aot_gpr_16 + static_cast<std::uint32_t>(4), aot_run_words);
|
|
ctx.fpr[18] = std::bit_cast<float>(aot_run_words[0]);
|
|
ctx.fpr[17] = std::bit_cast<float>(aot_run_words[1]);
|
|
ctx.fpr[15] = std::bit_cast<float>(aot_run_words[2]);
|
|
aot_fpr_13 = std::bit_cast<float>(aot_run_words[3]);
|
|
}
|
|
ctx.fpr[16] = std::bit_cast<float>(std::bit_cast<std::uint32_t>(ctx.fpr[17]));
|
|
aot_fpr_14 = std::bit_cast<float>(std::bit_cast<std::uint32_t>(ctx.fpr[15]));
|
|
ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_13 < ctx.fpr[16])) ? 0x00800000u : 0u);
|
|
{ const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u);
|
|
aot_fpr_12 = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(20)));
|
|
if (branch_taken) {
|
|
goto L_089D7EA4;
|
|
}
|
|
goto L_089D7E9C;
|
|
}
|
|
L_089D7E9C:
|
|
ctx.fpr[16] = std::bit_cast<float>(std::bit_cast<std::uint32_t>(aot_fpr_13));
|
|
aot_fpr_13 = std::bit_cast<float>(std::bit_cast<std::uint32_t>(ctx.fpr[17]));
|
|
goto L_089D7EA4;
|
|
L_089D7EA4:
|
|
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_089D7EBC;
|
|
}
|
|
goto L_089D7EB4;
|
|
}
|
|
L_089D7EB4:
|
|
aot_fpr_14 = std::bit_cast<float>(std::bit_cast<std::uint32_t>(aot_fpr_12));
|
|
aot_fpr_12 = std::bit_cast<float>(std::bit_cast<std::uint32_t>(ctx.fpr[15]));
|
|
goto L_089D7EBC;
|
|
L_089D7EBC:
|
|
ctx.fpr[0] = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(24)));
|
|
ctx.fpr[17] = std::bit_cast<float>(std::bit_cast<std::uint32_t>(ctx.fpr[19]));
|
|
ctx.fpr[2] = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(28)));
|
|
ctx.fpr[15] = std::bit_cast<float>(std::bit_cast<std::uint32_t>(aot_fpr_12));
|
|
aot_gpr_4 = (16457u << 16u);
|
|
aot_fpr_12 = std::bit_cast<float>(std::bit_cast<std::uint32_t>(ctx.fpr[16]));
|
|
ctx.fpr[1] = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(36)));
|
|
ctx.fpr[16] = std::bit_cast<float>(std::bit_cast<std::uint32_t>(ctx.fpr[0]));
|
|
aot_gpr_4 = (aot_gpr_4 | 4059u);
|
|
ctx.fpr[3] = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_16 + static_cast<std::uint32_t>(32)));
|
|
ctx.fpr[19] = std::bit_cast<float>(aot_gpr_4);
|
|
aot_gpr_4 = (17204u << 16u);
|
|
{ const float fs = ctx.fpr[1]; const float ft = ctx.fpr[19]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[19] = std::bit_cast<float>(0x7FC00000u); else ctx.fpr[19] = fs * ft; }
|
|
aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast<std::uint32_t>(0), std::bit_cast<std::uint32_t>(ctx.fpr[17]));
|
|
ctx.fpr[4] = std::bit_cast<float>(aot_gpr_4);
|
|
aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast<std::uint32_t>(4), std::bit_cast<std::uint32_t>(ctx.fpr[18]));
|
|
ctx.fpr[19] = ctx.fpr[19] / ctx.fpr[4];
|
|
aot_gpr_4 = (0u | 1u);
|
|
aot_gpr_5 = (0u | 0u);
|
|
ctx.fpr[17] = std::bit_cast<float>(std::bit_cast<std::uint32_t>(ctx.fpr[2]));
|
|
aot_gpr_31 = (0x089D7F14u);
|
|
ctx.fpr[18] = std::bit_cast<float>(std::bit_cast<std::uint32_t>(ctx.fpr[3]));
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0091_entry, 91u, 293u, 0x08971858u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D7F14u) goto L_089D7F14;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
L_089D7F14:
|
|
ctx.gpr[2] = (0u | 0u);
|
|
{ std::uint32_t aot_run_words[3]{};
|
|
aot_mem.aot_direct_load32_block(ctx.gpr[29] + static_cast<std::uint32_t>(16), aot_run_words);
|
|
aot_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;
|
|
ctx.gpr[29] = (ctx.gpr[29] + static_cast<std::uint32_t>(32));
|
|
local_pc = jump_target;
|
|
if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; }
|
|
// PSPRECOMP_V812_SHARED_SCHED_JUMP
|
|
goto LOCAL_SCHED_BOUNDARY;
|
|
L_089D7F2C:
|
|
ctx.gpr[29] = (ctx.gpr[29] + static_cast<std::uint32_t>(-16));
|
|
aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast<std::uint32_t>(0), aot_gpr_16);
|
|
aot_gpr_16 = (aot_gpr_4 | 0u);
|
|
aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast<std::uint32_t>(4), aot_gpr_17);
|
|
aot_gpr_17 = (2236u << 16u);
|
|
aot_gpr_5 = (aot_gpr_16 + static_cast<std::uint32_t>(16));
|
|
aot_gpr_6 = (0u | 1u);
|
|
aot_mem.aot_direct_store32(ctx.gpr[29] + static_cast<std::uint32_t>(8), aot_gpr_31);
|
|
aot_gpr_31 = (0x089D7F54u);
|
|
ctx.gpr[7] = (aot_gpr_17 + static_cast<std::uint32_t>(29704));
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0024_entry, 24u, 371u, 0x0886589Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D7F54u) goto L_089D7F54;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
L_089D7F54:
|
|
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_17 + static_cast<std::uint32_t>(29704)));
|
|
aot_gpr_17 = (0u | 0u);
|
|
aot_gpr_4 = (aot_gpr_4 << 16u);
|
|
aot_gpr_31 = (0x089D7F68u);
|
|
aot_gpr_4 = (static_cast<std::uint32_t>(static_cast<std::int32_t>(aot_gpr_4) >> 16u));
|
|
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0090_entry, 90u, 369u, 0x0896D5D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089D7F68u) goto L_089D7F68;
|
|
AOT_REGCACHE_SYNC_OUT(); return;
|
|
L_089D7F68:
|
|
{ const bool branch_taken = ctx.gpr[2] == 0u;
|
|
if (branch_taken) {
|
|
goto L_089D7F74;
|
|
}
|
|
goto L_089D7F70;
|
|
}
|
|
L_089D7F70:
|
|
aot_gpr_17 = (0u | 1u);
|
|
goto L_089D7F74;
|
|
L_089D7F74:
|
|
aot_gpr_4 = (0u < aot_gpr_17 ? 1u : 0u);
|
|
aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast<std::uint32_t>(524)));
|
|
aot_gpr_4 = (aot_gpr_4 & 255u);
|
|
aot_gpr_4 = (aot_gpr_4 & 255u);
|
|
aot_gpr_5 = (0u < aot_gpr_5 ? 1u : 0u);
|
|
aot_gpr_17 = (aot_gpr_4 ^ aot_gpr_5);
|
|
aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_16 + static_cast<std::uint32_t>(518)));
|
|
{ const bool branch_taken = aot_gpr_4 != 0u;
|
|
aot_gpr_17 = (0u < aot_gpr_17 ? 1u : 0u);
|
|
if (branch_taken) {
|
|
goto L_089D7FA0;
|
|
}
|
|
goto L_089D7F98;
|
|
}
|
|
L_089D7F98:
|
|
{ const bool branch_taken = 0u == 0u;
|
|
aot_mem.aot_direct_store8(aot_gpr_16 + static_cast<std::uint32_t>(521), static_cast<std::uint8_t>(aot_gpr_17));
|
|
if (branch_taken) {
|
|
goto L_089D7FE8;
|
|
}
|
|
goto L_089D7FA0;
|
|
}
|
|
L_089D7FA0:
|
|
aot_gpr_4 = (aot_gpr_16 + static_cast<std::uint32_t>(518));
|
|
aot_gpr_5 = (aot_mem.aot_direct_load16(aot_gpr_4 + static_cast<std::uint32_t>(0)));
|
|
aot_gpr_6 = (aot_gpr_5 + static_cast<std::uint32_t>(-1));
|
|
aot_mem.aot_direct_store16(aot_gpr_4 + static_cast<std::uint32_t>(0), static_cast<std::uint16_t>(aot_gpr_6));
|
|
aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_16 + static_cast<std::uint32_t>(521)));
|
|
aot_gpr_5 = (static_cast<std::int32_t>(aot_gpr_5) < 9 ? 1u : 0u);
|
|
{ const bool branch_taken = aot_gpr_5 == 0u;
|
|
aot_gpr_4 = (0u < aot_gpr_4 ? 1u : 0u);
|
|
if (branch_taken) {
|
|
goto L_089D7FCC;
|
|
}
|
|
goto L_089D7FC0;
|
|
}
|
|
L_089D7FC0:
|
|
aot_gpr_4 = (aot_gpr_17 & aot_gpr_4);
|
|
{ const bool branch_taken = 0u == 0u;
|
|
aot_mem.aot_direct_store8(aot_gpr_16 + static_cast<std::uint32_t>(521), static_cast<std::uint8_t>(aot_gpr_4));
|
|
if (branch_taken) {
|
|
goto L_089D7FE8;
|
|
}
|
|
goto L_089D7FCC;
|
|
}
|
|
L_089D7FCC:
|
|
aot_gpr_4 = (aot_gpr_17 | aot_gpr_4);
|
|
aot_gpr_5 = (aot_mem.aot_direct_load16(aot_gpr_16 + static_cast<std::uint32_t>(518)));
|
|
aot_mem.aot_direct_store8(aot_gpr_16 + static_cast<std::uint32_t>(521), static_cast<std::uint8_t>(aot_gpr_4));
|
|
aot_gpr_4 = (static_cast<std::int32_t>(aot_gpr_5) < 21 ? 1u : 0u);
|
|
{ const bool branch_taken = aot_gpr_4 == 0u;
|
|
if (branch_taken) {
|
|
goto L_089D7FE8;
|
|
}
|
|
goto L_089D7FE4;
|
|
}
|
|
L_089D7FE4:
|
|
aot_mem.aot_direct_store16(aot_gpr_16 + static_cast<std::uint32_t>(518), static_cast<std::uint16_t>(0u));
|
|
goto L_089D7FE8;
|
|
L_089D7FE8:
|
|
ctx.gpr[2] = (0u | 0u);
|
|
{ std::uint32_t aot_run_words[3]{};
|
|
aot_mem.aot_direct_load32_block(ctx.gpr[29] + static_cast<std::uint32_t>(0), aot_run_words);
|
|
aot_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;
|
|
ctx.gpr[29] = (ctx.gpr[29] + static_cast<std::uint32_t>(16));
|
|
local_pc = jump_target;
|
|
if (++local_transfers < 256u) { entry_id = 0u; goto LOCAL_DISPATCH; }
|
|
// PSPRECOMP_V812_SHARED_SCHED_JUMP
|
|
goto LOCAL_SCHED_BOUNDARY;
|
|
}
|
|
|
|
#undef AOT_REGCACHE_SYNC_IN
|
|
#undef AOT_REGCACHE_SYNC_OUT
|
|
|
|
void recomp_unit_0116(Runtime &rt, AllegrexContext &ctx) {
|
|
auto aot_mem = rt.memory().aot_fast_view();
|
|
recomp_unit_0116_entry(rt, ctx, 0u, aot_mem);
|
|
}
|
|
|
|
void register_generated_unit_116(Runtime &runtime) {
|
|
runtime.register_generated_unit(116u, 0x089D4000u, 16384u, &recomp_unit_0116, &recomp_unit_0116_entry);
|
|
// PSPRECOMP_V812_COMPACT_REGISTRATION: same entry set, looped once in Runtime instead of source-expanded calls.
|
|
runtime.register_generated_entry_mask(0x089D4000u, &recomp_unit_0116, "recomp_unit_0116",
|
|
kEntryMasks_recomp_unit_0116, 64u);
|
|
}
|
|
} // namespace psprecomp
|