Files
PSPRecomp/profiles/vcs/generated/generated_unit_0088.cpp
T
Jessica_Natalia 96405fbb47 otimizaçoes round 20
otimizaçoes round 20
2026-08-28 01:47:51 -03:00

10365 lines
532 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_0088[64] = {
0x000140AA00000001ull, 0x48000000008A4004ull, 0x000000010A4A9208ull, 0x0000000000008000ull,
0x4000000000000000ull, 0x44925100C0012000ull, 0x2832114003A19722ull, 0x0014285214801486ull,
0x0000000000000000ull, 0x0000000000000000ull, 0x0000000000000020ull, 0x0040004000000000ull,
0x0004000000000280ull, 0x0000000000000000ull, 0x0100000000000004ull, 0x2421000004200420ull,
0x4000000010002004ull, 0x0281822088220800ull, 0x2E082E08222E0820ull, 0x1B85540489018BA2ull,
0x9022348050A48408ull, 0x8400000000812400ull, 0x1820810100101090ull, 0x1220214908810121ull,
0x0020488002091042ull, 0x0808080000000000ull, 0x4122080091004122ull, 0x2048808244102440ull,
0x0209104091010488ull, 0x4000048412208122ull, 0x00000410820A0210ull, 0x2124920000012492ull,
0x2A94010200000121ull, 0x04123A22004522A4ull, 0x448E082470412247ull, 0x0D02484000409122ull,
0x0024924000000008ull, 0x2009249000000000ull, 0x1000000000002401ull, 0x9554920222440004ull,
0x4228246494D4920Aull, 0x888A452520AA4924ull, 0x02248020024A4824ull, 0x8140010902A544A9ull,
0x0010540020400100ull, 0xA1040920B400000Aull, 0x044098C88044002Aull, 0x2208140010012669ull,
0x4208888890862690ull, 0x0004824215013005ull, 0x80281400088A0088ull, 0x0C00010428005080ull,
0xA0AA400255268008ull, 0xAA85015081201542ull, 0x500D212A90101108ull, 0x4A52A5041A44281Aull,
0x5081201542045411ull, 0x81544A4094820429ull, 0x08088455429AAAAAull, 0x4A254AA088211548ull,
0x44AA102402A84089ull, 0x4A80821154808088ull, 0x42A0801508094A25ull, 0x5120000002001005ull,
};
static constexpr std::uint16_t kEntryBases_recomp_unit_0088[64] = {
1u, 8u, 15u, 25u, 26u, 27u, 39u, 59u, 74u, 74u, 74u, 75u, 77u, 80u, 80u, 82u,
90u, 94u, 105u, 123u, 145u, 161u, 167u, 177u, 191u, 201u, 204u, 216u, 228u, 240u, 251u, 259u,
272u, 283u, 300u, 320u, 333u, 340u, 347u, 351u, 367u, 388u, 409u, 422u, 439u, 446u, 459u, 473u,
487u, 504u, 517u, 528u, 537u, 554u, 572u, 588u, 609u, 625u, 643u, 665u, 685u, 702u, 717u, 734u,
};
// PSPRECOMP_V813_HOT_DENSE_DISPATCH: one indexed load on the measured hot units;
// masks remain for exact registration/correctness proof.
alignas(64) static constexpr std::uint16_t kEntryIdsV813_recomp_unit_0088[4095] = {
1u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u,
0u, 2u, 0u, 3u, 0u, 4u, 0u, 5u, 0u, 0u, 0u, 0u, 0u, 0u, 6u, 0u, 7u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u,
0u, 0u, 8u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 9u, 0u, 0u, 10u, 0u, 11u, 0u, 0u, 0u, 12u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u,
0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 13u, 0u, 0u, 14u, 0u,
0u, 0u, 0u, 15u, 0u, 0u, 0u, 0u, 0u, 16u, 0u, 0u, 17u, 0u, 0u, 18u, 0u, 19u, 0u, 20u, 0u, 0u, 21u, 0u, 0u, 22u, 0u, 23u, 0u, 0u, 0u, 0u,
24u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u,
0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 25u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u,
0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u,
0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u,
0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 26u, 0u,
0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 27u, 0u, 0u, 28u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 29u, 30u,
0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 31u, 0u, 0u, 0u, 32u, 0u, 33u, 0u, 0u, 34u, 0u, 0u, 35u, 0u, 0u, 36u, 0u, 0u, 37u, 0u, 0u, 0u, 38u, 0u,
0u, 39u, 0u, 0u, 0u, 40u, 0u, 0u, 41u, 42u, 43u, 0u, 44u, 0u, 0u, 45u, 46u, 0u, 0u, 0u, 0u, 47u, 0u, 48u, 49u, 50u, 0u, 0u, 0u, 0u, 0u, 0u,
0u, 0u, 0u, 0u, 0u, 0u, 51u, 0u, 52u, 0u, 0u, 0u, 53u, 0u, 0u, 0u, 0u, 54u, 0u, 0u, 55u, 56u, 0u, 0u, 0u, 0u, 0u, 57u, 0u, 58u, 0u, 0u,
0u, 59u, 60u, 0u, 0u, 0u, 0u, 61u, 0u, 0u, 62u, 0u, 63u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 64u, 0u, 0u, 65u, 0u, 66u, 0u, 0u, 0u,
0u, 67u, 0u, 0u, 68u, 0u, 69u, 0u, 0u, 0u, 0u, 70u, 0u, 71u, 0u, 0u, 0u, 0u, 72u, 0u, 73u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u,
0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u,
0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u,
0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u,
0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u,
0u, 0u, 0u, 0u, 0u, 74u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u,
0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u,
0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u,
0u, 0u, 0u, 0u, 0u, 0u, 75u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 76u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u,
0u, 0u, 0u, 0u, 0u, 0u, 0u, 77u, 0u, 78u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u,
0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 79u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u,
0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u,
0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u,
0u, 0u, 80u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u,
0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 81u, 0u, 0u, 0u, 0u, 0u, 0u, 0u,
0u, 0u, 0u, 0u, 0u, 82u, 0u, 0u, 0u, 0u, 83u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 84u, 0u, 0u, 0u, 0u, 85u, 0u, 0u, 0u, 0u, 0u,
0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 86u, 0u, 0u, 0u, 0u, 87u, 0u, 0u, 0u, 0u, 88u, 0u, 0u, 89u, 0u, 0u,
0u, 0u, 90u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 91u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 92u, 0u, 0u, 0u,
0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 93u, 0u,
0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 94u, 0u, 0u, 0u, 0u, 0u, 95u, 0u, 0u, 0u, 96u, 0u, 0u, 0u, 0u, 0u, 97u, 0u, 0u, 0u, 98u,
0u, 0u, 0u, 0u, 0u, 99u, 0u, 0u, 0u, 100u, 0u, 0u, 0u, 0u, 0u, 101u, 102u, 0u, 0u, 0u, 0u, 0u, 0u, 103u, 0u, 104u, 0u, 0u, 0u, 0u, 0u, 0u,
0u, 0u, 0u, 0u, 0u, 105u, 0u, 0u, 0u, 0u, 0u, 106u, 0u, 0u, 0u, 0u, 0u, 107u, 108u, 109u, 0u, 110u, 0u, 0u, 0u, 111u, 0u, 0u, 0u, 112u, 0u, 0u,
0u, 0u, 0u, 113u, 0u, 0u, 0u, 0u, 0u, 114u, 115u, 116u, 0u, 117u, 0u, 0u, 0u, 0u, 0u, 118u, 0u, 0u, 0u, 0u, 0u, 119u, 120u, 121u, 0u, 122u, 0u, 0u,
0u, 123u, 0u, 0u, 0u, 124u, 0u, 125u, 126u, 127u, 0u, 128u, 0u, 0u, 0u, 129u, 130u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 131u, 0u, 0u, 132u, 0u, 0u, 0u, 133u,
0u, 0u, 134u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 135u, 0u, 136u, 0u, 137u, 0u, 138u, 0u, 139u, 0u, 0u, 0u, 0u, 140u, 141u, 142u, 0u, 143u, 144u, 0u, 0u, 0u,
0u, 0u, 0u, 145u, 0u, 0u, 0u, 0u, 0u, 0u, 146u, 0u, 0u, 0u, 0u, 147u, 0u, 0u, 148u, 0u, 0u, 149u, 0u, 150u, 0u, 0u, 0u, 0u, 151u, 0u, 152u, 0u,
0u, 0u, 0u, 0u, 0u, 0u, 0u, 153u, 0u, 0u, 154u, 0u, 155u, 156u, 0u, 0u, 0u, 157u, 0u, 0u, 0u, 158u, 0u, 0u, 0u, 0u, 0u, 0u, 159u, 0u, 0u, 160u,
0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 161u, 0u, 0u, 162u, 0u, 0u, 163u, 0u, 0u, 0u, 0u, 0u, 0u, 164u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u,
0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 165u, 0u, 0u, 0u, 0u, 166u,
0u, 0u, 0u, 0u, 167u, 0u, 0u, 168u, 0u, 0u, 0u, 0u, 169u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 170u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u,
171u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 172u, 0u, 0u, 0u, 0u, 0u, 0u, 173u, 0u, 0u, 0u, 0u, 0u, 174u, 0u, 0u, 0u, 0u, 0u, 175u, 176u, 0u, 0u, 0u,
177u, 0u, 0u, 0u, 0u, 178u, 0u, 0u, 179u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 180u, 0u, 0u, 0u, 0u, 0u, 0u, 181u, 0u, 0u, 0u, 182u, 0u, 0u, 0u, 0u,
183u, 0u, 0u, 184u, 0u, 0u, 185u, 0u, 186u, 0u, 0u, 0u, 0u, 187u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 188u, 0u, 0u, 0u, 189u, 0u, 0u, 190u, 0u, 0u, 0u,
0u, 191u, 0u, 0u, 0u, 0u, 192u, 0u, 0u, 0u, 0u, 0u, 193u, 0u, 0u, 0u, 194u, 0u, 0u, 195u, 0u, 0u, 0u, 0u, 0u, 196u, 0u, 0u, 0u, 0u, 0u, 0u,
0u, 0u, 0u, 0u, 0u, 0u, 0u, 197u, 0u, 0u, 0u, 198u, 0u, 0u, 199u, 0u, 0u, 0u, 0u, 0u, 0u, 200u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u,
0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u,
0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 201u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 202u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 203u, 0u, 0u, 0u, 0u,
0u, 204u, 0u, 0u, 0u, 205u, 0u, 0u, 206u, 0u, 0u, 0u, 0u, 0u, 207u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 208u, 0u, 0u, 0u, 209u, 0u, 0u, 210u,
0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 211u, 0u, 0u, 0u, 0u, 0u, 212u, 0u, 0u, 0u, 213u, 0u, 0u, 214u, 0u, 0u, 0u, 0u, 0u, 215u, 0u,
0u, 0u, 0u, 0u, 0u, 0u, 216u, 0u, 0u, 0u, 217u, 0u, 0u, 218u, 0u, 0u, 0u, 0u, 0u, 0u, 219u, 0u, 0u, 0u, 0u, 0u, 220u, 0u, 0u, 0u, 221u, 0u,
0u, 222u, 0u, 0u, 0u, 0u, 0u, 223u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 224u, 0u, 0u, 0u, 225u, 0u, 0u, 226u, 0u, 0u, 0u, 0u, 0u, 0u, 227u, 0u, 0u,
0u, 0u, 0u, 228u, 0u, 0u, 0u, 229u, 0u, 0u, 230u, 0u, 0u, 0u, 0u, 0u, 231u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 232u, 0u, 0u, 0u, 233u, 0u, 0u, 234u,
0u, 0u, 0u, 0u, 0u, 0u, 235u, 0u, 0u, 0u, 0u, 0u, 236u, 0u, 0u, 0u, 237u, 0u, 0u, 238u, 0u, 0u, 0u, 0u, 0u, 239u, 0u, 0u, 0u, 0u, 0u, 0u,
0u, 240u, 0u, 0u, 0u, 241u, 0u, 0u, 242u, 0u, 0u, 0u, 0u, 0u, 0u, 243u, 0u, 0u, 0u, 0u, 0u, 244u, 0u, 0u, 0u, 245u, 0u, 0u, 246u, 0u, 0u, 0u,
0u, 0u, 247u, 0u, 0u, 0u, 0u, 248u, 0u, 0u, 249u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 250u, 0u,
0u, 0u, 0u, 0u, 251u, 0u, 0u, 0u, 0u, 252u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 253u, 0u, 254u, 0u, 0u, 0u, 0u, 0u, 255u, 0u, 0u, 0u, 0u, 0u, 256u,
0u, 0u, 0u, 0u, 257u, 0u, 0u, 0u, 0u, 0u, 258u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u,
0u, 259u, 0u, 0u, 260u, 0u, 0u, 261u, 0u, 0u, 262u, 0u, 0u, 263u, 0u, 0u, 264u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u,
0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 265u, 0u, 0u, 266u, 0u, 0u, 267u, 0u, 0u, 268u, 0u, 0u, 269u, 0u, 0u, 270u, 0u, 0u, 0u, 0u, 271u, 0u, 0u,
272u, 0u, 0u, 0u, 0u, 273u, 0u, 0u, 274u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u,
0u, 275u, 0u, 0u, 0u, 0u, 0u, 0u, 276u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 277u, 0u, 278u, 0u, 0u, 279u, 0u, 280u, 0u, 281u, 0u, 282u, 0u, 0u,
0u, 0u, 283u, 0u, 0u, 284u, 0u, 285u, 0u, 286u, 0u, 0u, 0u, 287u, 0u, 0u, 288u, 0u, 289u, 0u, 0u, 0u, 290u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u,
0u, 291u, 0u, 0u, 0u, 292u, 0u, 0u, 0u, 293u, 0u, 294u, 295u, 296u, 0u, 0u, 0u, 297u, 0u, 0u, 298u, 0u, 0u, 0u, 0u, 0u, 299u, 0u, 0u, 0u, 0u, 0u,
300u, 301u, 302u, 0u, 0u, 0u, 303u, 0u, 0u, 304u, 0u, 0u, 0u, 305u, 0u, 0u, 306u, 0u, 0u, 0u, 0u, 0u, 307u, 0u, 0u, 0u, 0u, 0u, 308u, 309u, 310u, 0u,
0u, 0u, 311u, 0u, 0u, 312u, 0u, 0u, 0u, 0u, 0u, 313u, 0u, 0u, 0u, 0u, 0u, 314u, 315u, 316u, 0u, 0u, 0u, 317u, 0u, 0u, 318u, 0u, 0u, 0u, 319u, 0u,
0u, 320u, 0u, 0u, 0u, 321u, 0u, 0u, 322u, 0u, 0u, 0u, 323u, 0u, 0u, 324u, 0u, 0u, 0u, 0u, 0u, 0u, 325u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u,
0u, 0u, 0u, 0u, 0u, 0u, 326u, 0u, 0u, 0u, 0u, 327u, 0u, 0u, 328u, 0u, 0u, 329u, 0u, 0u, 0u, 0u, 0u, 0u, 330u, 0u, 331u, 332u, 0u, 0u, 0u, 0u,
0u, 0u, 0u, 333u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u,
0u, 0u, 0u, 0u, 0u, 0u, 334u, 0u, 0u, 335u, 0u, 0u, 336u, 0u, 0u, 337u, 0u, 0u, 338u, 0u, 0u, 339u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u,
0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u,
0u, 0u, 0u, 0u, 340u, 0u, 0u, 341u, 0u, 0u, 342u, 0u, 0u, 343u, 0u, 0u, 344u, 0u, 0u, 345u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 346u, 0u, 0u,
347u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 348u, 0u, 0u, 349u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u,
0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 350u, 0u, 0u, 0u,
0u, 0u, 351u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 352u, 0u, 0u, 0u, 353u, 0u, 0u, 354u, 0u, 0u, 0u, 355u, 0u, 0u,
0u, 356u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 357u, 0u, 0u, 358u, 0u, 0u, 359u, 0u, 0u, 360u, 0u, 361u, 0u, 362u, 0u, 363u, 0u, 364u, 0u, 365u, 0u, 0u, 366u,
0u, 367u, 0u, 368u, 0u, 0u, 0u, 0u, 0u, 369u, 0u, 0u, 370u, 0u, 0u, 371u, 0u, 0u, 372u, 0u, 373u, 0u, 374u, 375u, 0u, 0u, 376u, 0u, 377u, 0u, 0u, 378u,
0u, 0u, 379u, 0u, 0u, 380u, 381u, 0u, 0u, 0u, 382u, 0u, 0u, 383u, 0u, 0u, 0u, 0u, 0u, 384u, 0u, 385u, 0u, 0u, 0u, 386u, 0u, 0u, 0u, 0u, 387u, 0u,
0u, 0u, 388u, 0u, 0u, 389u, 0u, 0u, 390u, 0u, 0u, 391u, 0u, 0u, 392u, 0u, 0u, 393u, 0u, 394u, 0u, 395u, 0u, 396u, 0u, 0u, 0u, 0u, 0u, 397u, 0u, 0u,
398u, 0u, 399u, 0u, 0u, 400u, 0u, 0u, 401u, 0u, 402u, 0u, 0u, 0u, 403u, 0u, 0u, 404u, 0u, 405u, 0u, 0u, 0u, 406u, 0u, 0u, 0u, 407u, 0u, 0u, 0u, 408u,
0u, 0u, 409u, 0u, 0u, 410u, 0u, 0u, 0u, 0u, 0u, 411u, 0u, 0u, 412u, 0u, 0u, 413u, 0u, 414u, 0u, 0u, 415u, 0u, 0u, 416u, 0u, 0u, 0u, 0u, 0u, 0u,
0u, 0u, 0u, 0u, 0u, 417u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 418u, 0u, 0u, 419u, 0u, 0u, 420u, 0u, 0u, 0u, 421u, 0u, 0u, 0u, 0u, 0u, 0u,
422u, 0u, 0u, 423u, 0u, 424u, 0u, 425u, 0u, 0u, 426u, 0u, 0u, 0u, 427u, 0u, 428u, 0u, 429u, 0u, 0u, 430u, 0u, 431u, 0u, 432u, 0u, 0u, 0u, 0u, 0u, 0u,
433u, 0u, 0u, 434u, 0u, 0u, 0u, 0u, 435u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 436u, 0u, 437u, 0u, 0u, 0u, 0u, 0u, 0u, 438u,
0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 439u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 440u, 0u, 0u, 0u, 0u, 0u, 0u, 441u, 0u, 0u,
0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 442u, 0u, 443u, 0u, 444u, 0u, 0u, 0u, 0u, 0u, 445u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u,
0u, 446u, 0u, 447u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 448u, 0u, 449u, 450u, 0u, 451u,
0u, 0u, 0u, 0u, 0u, 452u, 0u, 0u, 453u, 0u, 0u, 454u, 0u, 0u, 0u, 0u, 0u, 0u, 455u, 0u, 0u, 0u, 0u, 0u, 456u, 0u, 0u, 0u, 0u, 457u, 0u, 458u,
0u, 459u, 0u, 460u, 0u, 461u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 462u, 0u, 0u, 0u, 463u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 464u,
0u, 0u, 0u, 465u, 0u, 0u, 466u, 467u, 0u, 0u, 0u, 468u, 469u, 0u, 0u, 470u, 0u, 0u, 0u, 0u, 0u, 0u, 471u, 0u, 0u, 0u, 472u, 0u, 0u, 0u, 0u, 0u,
473u, 0u, 0u, 474u, 0u, 475u, 476u, 0u, 0u, 477u, 478u, 0u, 0u, 479u, 0u, 0u, 480u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 481u, 0u, 0u, 0u,
0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 482u, 0u, 483u, 0u, 0u, 0u, 0u, 0u, 0u, 484u, 0u, 0u, 0u, 0u, 0u, 485u, 0u, 0u, 0u, 486u, 0u, 0u,
0u, 0u, 0u, 0u, 487u, 0u, 0u, 488u, 0u, 489u, 490u, 0u, 0u, 491u, 0u, 0u, 0u, 492u, 493u, 0u, 0u, 0u, 0u, 494u, 0u, 0u, 0u, 0u, 495u, 0u, 0u, 496u,
0u, 0u, 0u, 497u, 0u, 0u, 0u, 498u, 0u, 0u, 0u, 499u, 0u, 0u, 0u, 500u, 0u, 0u, 0u, 501u, 0u, 0u, 0u, 0u, 0u, 502u, 0u, 0u, 0u, 0u, 503u, 0u,
504u, 0u, 505u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 506u, 507u, 0u, 0u, 508u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 509u, 0u, 510u, 0u, 511u, 0u, 0u, 0u,
0u, 512u, 0u, 0u, 0u, 0u, 513u, 0u, 0u, 514u, 0u, 0u, 0u, 0u, 0u, 515u, 0u, 0u, 516u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u,
0u, 0u, 0u, 517u, 0u, 0u, 0u, 518u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 519u, 0u, 520u, 0u, 0u, 0u, 521u, 0u, 0u, 0u, 522u, 0u, 0u, 0u, 0u,
0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 523u, 0u, 524u, 0u, 0u, 0u, 0u, 0u, 0u, 525u, 0u, 526u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 527u,
0u, 0u, 0u, 0u, 0u, 0u, 0u, 528u, 0u, 0u, 0u, 0u, 529u, 0u, 530u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 531u, 0u, 532u, 0u, 0u,
0u, 0u, 533u, 0u, 0u, 0u, 0u, 0u, 534u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 535u, 536u, 0u, 0u, 0u, 0u,
0u, 0u, 0u, 537u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 538u, 0u, 539u, 540u, 0u, 0u, 541u, 0u, 0u, 542u, 0u, 543u, 0u, 544u, 0u, 545u, 0u,
0u, 546u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 547u, 0u, 0u, 548u, 0u, 549u, 0u, 550u, 0u, 551u, 0u, 0u, 0u, 0u, 0u, 552u, 0u, 553u,
0u, 554u, 0u, 0u, 0u, 0u, 555u, 0u, 556u, 0u, 557u, 0u, 558u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 559u, 0u, 0u, 560u, 0u, 0u, 0u, 0u, 0u, 0u, 561u,
0u, 0u, 0u, 0u, 562u, 0u, 563u, 0u, 564u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 565u, 0u, 566u, 0u, 0u, 0u, 0u, 567u, 0u, 568u, 0u, 569u, 0u, 570u, 0u, 571u,
0u, 0u, 0u, 572u, 0u, 0u, 0u, 0u, 573u, 0u, 0u, 0u, 574u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 575u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 576u, 0u, 0u, 577u,
0u, 578u, 0u, 579u, 0u, 580u, 0u, 0u, 581u, 0u, 0u, 0u, 0u, 582u, 0u, 0u, 583u, 0u, 584u, 585u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 586u, 0u, 587u, 0u,
0u, 588u, 0u, 589u, 590u, 0u, 0u, 0u, 0u, 0u, 0u, 591u, 0u, 592u, 0u, 0u, 0u, 0u, 593u, 0u, 0u, 0u, 594u, 0u, 0u, 595u, 0u, 596u, 597u, 0u, 0u, 0u,
0u, 0u, 598u, 0u, 0u, 0u, 0u, 0u, 599u, 0u, 600u, 0u, 0u, 601u, 0u, 602u, 0u, 603u, 0u, 0u, 604u, 0u, 605u, 0u, 0u, 606u, 0u, 607u, 0u, 0u, 608u, 0u,
609u, 0u, 0u, 0u, 610u, 0u, 0u, 0u, 0u, 0u, 611u, 0u, 612u, 0u, 613u, 0u, 0u, 0u, 614u, 0u, 0u, 0u, 0u, 0u, 0u, 615u, 0u, 0u, 0u, 0u, 616u, 0u,
617u, 0u, 618u, 0u, 619u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 620u, 0u, 0u, 621u, 0u, 0u, 0u, 0u, 0u, 0u, 622u, 0u, 0u, 0u, 0u, 623u, 0u, 624u, 0u,
625u, 0u, 0u, 626u, 0u, 627u, 0u, 0u, 0u, 0u, 628u, 0u, 0u, 0u, 0u, 0u, 0u, 629u, 0u, 0u, 0u, 0u, 0u, 630u, 0u, 0u, 631u, 0u, 632u, 0u, 0u, 633u,
0u, 0u, 0u, 0u, 0u, 0u, 634u, 0u, 0u, 635u, 0u, 636u, 0u, 0u, 637u, 0u, 0u, 0u, 638u, 0u, 639u, 0u, 640u, 0u, 641u, 0u, 0u, 0u, 0u, 0u, 0u, 642u,
0u, 643u, 0u, 644u, 0u, 645u, 0u, 646u, 0u, 647u, 0u, 648u, 0u, 649u, 0u, 650u, 0u, 651u, 0u, 652u, 653u, 0u, 0u, 654u, 0u, 655u, 0u, 0u, 0u, 0u, 656u, 0u,
657u, 0u, 658u, 0u, 659u, 0u, 660u, 0u, 0u, 0u, 661u, 0u, 0u, 0u, 0u, 662u, 0u, 0u, 0u, 663u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 664u, 0u, 0u, 0u, 0u,
0u, 0u, 0u, 665u, 0u, 0u, 666u, 0u, 667u, 0u, 668u, 0u, 669u, 0u, 0u, 0u, 670u, 0u, 0u, 0u, 0u, 671u, 0u, 0u, 0u, 0u, 0u, 672u, 0u, 0u, 0u, 673u,
0u, 0u, 0u, 0u, 0u, 674u, 0u, 675u, 0u, 676u, 0u, 677u, 0u, 0u, 678u, 0u, 679u, 0u, 680u, 0u, 0u, 681u, 0u, 0u, 0u, 682u, 0u, 683u, 0u, 0u, 684u, 0u,
685u, 0u, 0u, 686u, 0u, 0u, 0u, 687u, 0u, 0u, 0u, 0u, 0u, 0u, 688u, 0u, 0u, 0u, 0u, 689u, 0u, 690u, 0u, 691u, 0u, 692u, 0u, 0u, 0u, 0u, 0u, 0u,
0u, 0u, 693u, 0u, 0u, 694u, 0u, 0u, 0u, 0u, 0u, 0u, 695u, 0u, 0u, 0u, 0u, 696u, 0u, 697u, 0u, 698u, 0u, 699u, 0u, 0u, 700u, 0u, 0u, 0u, 701u, 0u,
0u, 0u, 0u, 702u, 0u, 0u, 0u, 703u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 704u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 705u, 0u, 0u, 706u, 0u, 707u, 0u, 708u, 0u,
709u, 0u, 0u, 0u, 710u, 0u, 0u, 0u, 0u, 711u, 0u, 0u, 0u, 0u, 0u, 712u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 713u, 0u, 714u, 0u, 715u, 0u, 0u, 716u, 0u,
717u, 0u, 718u, 0u, 0u, 719u, 0u, 0u, 0u, 720u, 0u, 721u, 0u, 0u, 722u, 0u, 723u, 0u, 0u, 724u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 725u, 0u, 0u, 0u, 0u,
726u, 0u, 727u, 0u, 728u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 729u, 0u, 0u, 0u, 0u, 0u, 730u, 0u, 731u, 0u, 732u, 0u, 0u, 0u, 0u, 733u, 0u,
734u, 0u, 735u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 736u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 737u, 0u, 0u, 0u, 0u, 0u, 0u,
0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 738u, 0u, 0u, 739u, 0u, 0u, 0u, 740u, 0u, 741u,
};
void recomp_unit_0088_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,29,31,7 fprs=12,13,14,15 gpr_occ=4488 fpr_occ=373 gpr_total=6378 fpr_total=489
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_29 = ctx.gpr[29];
std::uint32_t aot_gpr_31 = ctx.gpr[31];
std::uint32_t aot_gpr_7 = ctx.gpr[7];
float aot_fpr_12 = ctx.fpr[12];
float aot_fpr_13 = ctx.fpr[13];
float aot_fpr_14 = ctx.fpr[14];
float aot_fpr_15 = ctx.fpr[15];
bool aot_regcache_valid = true;
#define AOT_REGCACHE_SYNC_OUT() do { if (aot_regcache_valid) { ctx.gpr[4] = aot_gpr_4; ctx.gpr[5] = aot_gpr_5; ctx.gpr[6] = aot_gpr_6; ctx.gpr[29] = aot_gpr_29; ctx.gpr[31] = aot_gpr_31; ctx.gpr[7] = aot_gpr_7; ctx.fpr[12] = aot_fpr_12; ctx.fpr[13] = aot_fpr_13; ctx.fpr[14] = aot_fpr_14; ctx.fpr[15] = aot_fpr_15; } } while (false)
#define AOT_REGCACHE_SYNC_IN() do { if (aot_regcache_valid) { aot_gpr_4 = ctx.gpr[4]; aot_gpr_5 = ctx.gpr[5]; aot_gpr_6 = ctx.gpr[6]; aot_gpr_29 = ctx.gpr[29]; aot_gpr_31 = ctx.gpr[31]; aot_gpr_7 = ctx.gpr[7]; aot_fpr_12 = ctx.fpr[12]; aot_fpr_13 = ctx.fpr[13]; aot_fpr_14 = ctx.fpr[14]; aot_fpr_15 = ctx.fpr[15]; } } while (false)
// PSPRECOMP_AOT_REGCACHE_END
std::uint32_t jump_target = 0u;
std::uint32_t local_transfers = 0u;
std::uint32_t local_redispatch_rounds = 0u;
std::uint32_t local_pc = ctx.pc;
std::uint32_t entry_id = direct_entry_id;
LOCAL_DISPATCH:
{
if (entry_id == 0u) {
const std::uint32_t entry_delta = local_pc - 0x08964000u;
entry_id = (entry_delta < 16380u && (entry_delta & 3u) == 0u)
? kEntryIdsV813_recomp_unit_0088[entry_delta >> 2u] : 0u;
}
switch (entry_id) {
case 1u: goto L_08964000;
case 2u: goto L_08964084;
case 3u: goto L_0896408C;
case 4u: goto L_08964094;
case 5u: goto L_0896409C;
case 6u: goto L_089640B8;
case 7u: goto L_089640C0;
case 8u: goto L_08964108;
case 9u: goto L_08964138;
case 10u: goto L_08964144;
case 11u: goto L_0896414C;
case 12u: goto L_0896415C;
case 13u: goto L_089641EC;
case 14u: goto L_089641F8;
case 15u: goto L_0896420C;
case 16u: goto L_08964224;
case 17u: goto L_08964230;
case 18u: goto L_0896423C;
case 19u: goto L_08964244;
case 20u: goto L_0896424C;
case 21u: goto L_08964258;
case 22u: goto L_08964264;
case 23u: goto L_0896426C;
case 24u: goto L_08964280;
case 25u: goto L_0896433C;
case 26u: goto L_089644F8;
case 27u: goto L_08964534;
case 28u: goto L_08964540;
case 29u: goto L_08964578;
case 30u: goto L_0896457C;
case 31u: goto L_089645A0;
case 32u: goto L_089645B0;
case 33u: goto L_089645B8;
case 34u: goto L_089645C4;
case 35u: goto L_089645D0;
case 36u: goto L_089645DC;
case 37u: goto L_089645E8;
case 38u: goto L_089645F8;
case 39u: goto L_08964604;
case 40u: goto L_08964614;
case 41u: goto L_08964620;
case 42u: goto L_08964624;
case 43u: goto L_08964628;
case 44u: goto L_08964630;
case 45u: goto L_0896463C;
case 46u: goto L_08964640;
case 47u: goto L_08964654;
case 48u: goto L_0896465C;
case 49u: goto L_08964660;
case 50u: goto L_08964664;
case 51u: goto L_08964698;
case 52u: goto L_089646A0;
case 53u: goto L_089646B0;
case 54u: goto L_089646C4;
case 55u: goto L_089646D0;
case 56u: goto L_089646D4;
case 57u: goto L_089646EC;
case 58u: goto L_089646F4;
case 59u: goto L_08964704;
case 60u: goto L_08964708;
case 61u: goto L_0896471C;
case 62u: goto L_08964728;
case 63u: goto L_08964730;
case 64u: goto L_0896475C;
case 65u: goto L_08964768;
case 66u: goto L_08964770;
case 67u: goto L_08964784;
case 68u: goto L_08964790;
case 69u: goto L_08964798;
case 70u: goto L_089647AC;
case 71u: goto L_089647B4;
case 72u: goto L_089647C8;
case 73u: goto L_089647D0;
case 74u: goto L_08964A14;
case 75u: goto L_08964B98;
case 76u: goto L_08964BD8;
case 77u: goto L_08964C1C;
case 78u: goto L_08964C24;
case 79u: goto L_08964CC8;
case 80u: goto L_08964E08;
case 81u: goto L_08964EE0;
case 82u: goto L_08964F14;
case 83u: goto L_08964F28;
case 84u: goto L_08964F54;
case 85u: goto L_08964F68;
case 86u: goto L_08964FC0;
case 87u: goto L_08964FD4;
case 88u: goto L_08964FE8;
case 89u: goto L_08964FF4;
case 90u: goto L_08965008;
case 91u: goto L_08965034;
case 92u: goto L_08965070;
case 93u: goto L_089650F8;
case 94u: goto L_0896512C;
case 95u: goto L_08965144;
case 96u: goto L_08965154;
case 97u: goto L_0896516C;
case 98u: goto L_0896517C;
case 99u: goto L_08965194;
case 100u: goto L_089651A4;
case 101u: goto L_089651BC;
case 102u: goto L_089651C0;
case 103u: goto L_089651DC;
case 104u: goto L_089651E4;
case 105u: goto L_08965214;
case 106u: goto L_0896522C;
case 107u: goto L_08965244;
case 108u: goto L_08965248;
case 109u: goto L_0896524C;
case 110u: goto L_08965254;
case 111u: goto L_08965264;
case 112u: goto L_08965274;
case 113u: goto L_0896528C;
case 114u: goto L_089652A4;
case 115u: goto L_089652A8;
case 116u: goto L_089652AC;
case 117u: goto L_089652B4;
case 118u: goto L_089652CC;
case 119u: goto L_089652E4;
case 120u: goto L_089652E8;
case 121u: goto L_089652EC;
case 122u: goto L_089652F4;
case 123u: goto L_08965304;
case 124u: goto L_08965314;
case 125u: goto L_0896531C;
case 126u: goto L_08965320;
case 127u: goto L_08965324;
case 128u: goto L_0896532C;
case 129u: goto L_0896533C;
case 130u: goto L_08965340;
case 131u: goto L_08965360;
case 132u: goto L_0896536C;
case 133u: goto L_0896537C;
case 134u: goto L_08965388;
case 135u: goto L_089653A8;
case 136u: goto L_089653B0;
case 137u: goto L_089653B8;
case 138u: goto L_089653C0;
case 139u: goto L_089653C8;
case 140u: goto L_089653DC;
case 141u: goto L_089653E0;
case 142u: goto L_089653E4;
case 143u: goto L_089653EC;
case 144u: goto L_089653F0;
case 145u: goto L_0896540C;
case 146u: goto L_08965428;
case 147u: goto L_0896543C;
case 148u: goto L_08965448;
case 149u: goto L_08965454;
case 150u: goto L_0896545C;
case 151u: goto L_08965470;
case 152u: goto L_08965478;
case 153u: goto L_0896549C;
case 154u: goto L_089654A8;
case 155u: goto L_089654B0;
case 156u: goto L_089654B4;
case 157u: goto L_089654C4;
case 158u: goto L_089654D4;
case 159u: goto L_089654F0;
case 160u: goto L_089654FC;
case 161u: goto L_08965528;
case 162u: goto L_08965534;
case 163u: goto L_08965540;
case 164u: goto L_0896555C;
case 165u: goto L_089655E8;
case 166u: goto L_089655FC;
case 167u: goto L_08965610;
case 168u: goto L_0896561C;
case 169u: goto L_08965630;
case 170u: goto L_08965650;
case 171u: goto L_08965680;
case 172u: goto L_089656A0;
case 173u: goto L_089656BC;
case 174u: goto L_089656D4;
case 175u: goto L_089656EC;
case 176u: goto L_089656F0;
case 177u: goto L_08965700;
case 178u: goto L_08965714;
case 179u: goto L_08965720;
case 180u: goto L_08965740;
case 181u: goto L_0896575C;
case 182u: goto L_0896576C;
case 183u: goto L_08965780;
case 184u: goto L_0896578C;
case 185u: goto L_08965798;
case 186u: goto L_089657A0;
case 187u: goto L_089657B4;
case 188u: goto L_089657D4;
case 189u: goto L_089657E4;
case 190u: goto L_089657F0;
case 191u: goto L_08965804;
case 192u: goto L_08965818;
case 193u: goto L_08965830;
case 194u: goto L_08965840;
case 195u: goto L_0896584C;
case 196u: goto L_08965864;
case 197u: goto L_0896589C;
case 198u: goto L_089658AC;
case 199u: goto L_089658B8;
case 200u: goto L_089658D4;
case 201u: goto L_089659AC;
case 202u: goto L_089659CC;
case 203u: goto L_089659EC;
case 204u: goto L_08965A04;
case 205u: goto L_08965A14;
case 206u: goto L_08965A20;
case 207u: goto L_08965A38;
case 208u: goto L_08965A60;
case 209u: goto L_08965A70;
case 210u: goto L_08965A7C;
case 211u: goto L_08965AAC;
case 212u: goto L_08965AC4;
case 213u: goto L_08965AD4;
case 214u: goto L_08965AE0;
case 215u: goto L_08965AF8;
case 216u: goto L_08965B18;
case 217u: goto L_08965B28;
case 218u: goto L_08965B34;
case 219u: goto L_08965B50;
case 220u: goto L_08965B68;
case 221u: goto L_08965B78;
case 222u: goto L_08965B84;
case 223u: goto L_08965B9C;
case 224u: goto L_08965BBC;
case 225u: goto L_08965BCC;
case 226u: goto L_08965BD8;
case 227u: goto L_08965BF4;
case 228u: goto L_08965C0C;
case 229u: goto L_08965C1C;
case 230u: goto L_08965C28;
case 231u: goto L_08965C40;
case 232u: goto L_08965C60;
case 233u: goto L_08965C70;
case 234u: goto L_08965C7C;
case 235u: goto L_08965C98;
case 236u: goto L_08965CB0;
case 237u: goto L_08965CC0;
case 238u: goto L_08965CCC;
case 239u: goto L_08965CE4;
case 240u: goto L_08965D04;
case 241u: goto L_08965D14;
case 242u: goto L_08965D20;
case 243u: goto L_08965D3C;
case 244u: goto L_08965D54;
case 245u: goto L_08965D64;
case 246u: goto L_08965D70;
case 247u: goto L_08965D88;
case 248u: goto L_08965D9C;
case 249u: goto L_08965DA8;
case 250u: goto L_08965DF8;
case 251u: goto L_08965E10;
case 252u: goto L_08965E24;
case 253u: goto L_08965E44;
case 254u: goto L_08965E4C;
case 255u: goto L_08965E64;
case 256u: goto L_08965E7C;
case 257u: goto L_08965E90;
case 258u: goto L_08965EA8;
case 259u: goto L_08965F04;
case 260u: goto L_08965F10;
case 261u: goto L_08965F1C;
case 262u: goto L_08965F28;
case 263u: goto L_08965F34;
case 264u: goto L_08965F40;
case 265u: goto L_08965FA4;
case 266u: goto L_08965FB0;
case 267u: goto L_08965FBC;
case 268u: goto L_08965FC8;
case 269u: goto L_08965FD4;
case 270u: goto L_08965FE0;
case 271u: goto L_08965FF4;
case 272u: goto L_08966000;
case 273u: goto L_08966014;
case 274u: goto L_08966020;
case 275u: goto L_08966084;
case 276u: goto L_089660A0;
case 277u: goto L_089660C8;
case 278u: goto L_089660D0;
case 279u: goto L_089660DC;
case 280u: goto L_089660E4;
case 281u: goto L_089660EC;
case 282u: goto L_089660F4;
case 283u: goto L_08966108;
case 284u: goto L_08966114;
case 285u: goto L_0896611C;
case 286u: goto L_08966124;
case 287u: goto L_08966134;
case 288u: goto L_08966140;
case 289u: goto L_08966148;
case 290u: goto L_08966158;
case 291u: goto L_08966184;
case 292u: goto L_08966194;
case 293u: goto L_089661A4;
case 294u: goto L_089661AC;
case 295u: goto L_089661B0;
case 296u: goto L_089661B4;
case 297u: goto L_089661C4;
case 298u: goto L_089661D0;
case 299u: goto L_089661E8;
case 300u: goto L_08966200;
case 301u: goto L_08966204;
case 302u: goto L_08966208;
case 303u: goto L_08966218;
case 304u: goto L_08966224;
case 305u: goto L_08966234;
case 306u: goto L_08966240;
case 307u: goto L_08966258;
case 308u: goto L_08966270;
case 309u: goto L_08966274;
case 310u: goto L_08966278;
case 311u: goto L_08966288;
case 312u: goto L_08966294;
case 313u: goto L_089662AC;
case 314u: goto L_089662C4;
case 315u: goto L_089662C8;
case 316u: goto L_089662CC;
case 317u: goto L_089662DC;
case 318u: goto L_089662E8;
case 319u: goto L_089662F8;
case 320u: goto L_08966304;
case 321u: goto L_08966314;
case 322u: goto L_08966320;
case 323u: goto L_08966330;
case 324u: goto L_0896633C;
case 325u: goto L_08966358;
case 326u: goto L_08966398;
case 327u: goto L_089663AC;
case 328u: goto L_089663B8;
case 329u: goto L_089663C4;
case 330u: goto L_089663E0;
case 331u: goto L_089663E8;
case 332u: goto L_089663EC;
case 333u: goto L_0896640C;
case 334u: goto L_08966498;
case 335u: goto L_089664A4;
case 336u: goto L_089664B0;
case 337u: goto L_089664BC;
case 338u: goto L_089664C8;
case 339u: goto L_089664D4;
case 340u: goto L_08966590;
case 341u: goto L_0896659C;
case 342u: goto L_089665A8;
case 343u: goto L_089665B4;
case 344u: goto L_089665C0;
case 345u: goto L_089665CC;
case 346u: goto L_089665F4;
case 347u: goto L_08966600;
case 348u: goto L_08966628;
case 349u: goto L_08966634;
case 350u: goto L_089666F0;
case 351u: goto L_08966708;
case 352u: goto L_08966748;
case 353u: goto L_08966758;
case 354u: goto L_08966764;
case 355u: goto L_08966774;
case 356u: goto L_08966784;
case 357u: goto L_089667A4;
case 358u: goto L_089667B0;
case 359u: goto L_089667BC;
case 360u: goto L_089667C8;
case 361u: goto L_089667D0;
case 362u: goto L_089667D8;
case 363u: goto L_089667E0;
case 364u: goto L_089667E8;
case 365u: goto L_089667F0;
case 366u: goto L_089667FC;
case 367u: goto L_08966804;
case 368u: goto L_0896680C;
case 369u: goto L_08966824;
case 370u: goto L_08966830;
case 371u: goto L_0896683C;
case 372u: goto L_08966848;
case 373u: goto L_08966850;
case 374u: goto L_08966858;
case 375u: goto L_0896685C;
case 376u: goto L_08966868;
case 377u: goto L_08966870;
case 378u: goto L_0896687C;
case 379u: goto L_08966888;
case 380u: goto L_08966894;
case 381u: goto L_08966898;
case 382u: goto L_089668A8;
case 383u: goto L_089668B4;
case 384u: goto L_089668CC;
case 385u: goto L_089668D4;
case 386u: goto L_089668E4;
case 387u: goto L_089668F8;
case 388u: goto L_08966908;
case 389u: goto L_08966914;
case 390u: goto L_08966920;
case 391u: goto L_0896692C;
case 392u: goto L_08966938;
case 393u: goto L_08966944;
case 394u: goto L_0896694C;
case 395u: goto L_08966954;
case 396u: goto L_0896695C;
case 397u: goto L_08966974;
case 398u: goto L_08966980;
case 399u: goto L_08966988;
case 400u: goto L_08966994;
case 401u: goto L_089669A0;
case 402u: goto L_089669A8;
case 403u: goto L_089669B8;
case 404u: goto L_089669C4;
case 405u: goto L_089669CC;
case 406u: goto L_089669DC;
case 407u: goto L_089669EC;
case 408u: goto L_089669FC;
case 409u: goto L_08966A08;
case 410u: goto L_08966A14;
case 411u: goto L_08966A2C;
case 412u: goto L_08966A38;
case 413u: goto L_08966A44;
case 414u: goto L_08966A4C;
case 415u: goto L_08966A58;
case 416u: goto L_08966A64;
case 417u: goto L_08966A94;
case 418u: goto L_08966ABC;
case 419u: goto L_08966AC8;
case 420u: goto L_08966AD4;
case 421u: goto L_08966AE4;
case 422u: goto L_08966B00;
case 423u: goto L_08966B0C;
case 424u: goto L_08966B14;
case 425u: goto L_08966B1C;
case 426u: goto L_08966B28;
case 427u: goto L_08966B38;
case 428u: goto L_08966B40;
case 429u: goto L_08966B48;
case 430u: goto L_08966B54;
case 431u: goto L_08966B5C;
case 432u: goto L_08966B64;
case 433u: goto L_08966B80;
case 434u: goto L_08966B8C;
case 435u: goto L_08966BA0;
case 436u: goto L_08966BD8;
case 437u: goto L_08966BE0;
case 438u: goto L_08966BFC;
case 439u: goto L_08966C20;
case 440u: goto L_08966C58;
case 441u: goto L_08966C74;
case 442u: goto L_08966CA8;
case 443u: goto L_08966CB0;
case 444u: goto L_08966CB8;
case 445u: goto L_08966CD0;
case 446u: goto L_08966D04;
case 447u: goto L_08966D0C;
case 448u: goto L_08966D68;
case 449u: goto L_08966D70;
case 450u: goto L_08966D74;
case 451u: goto L_08966D7C;
case 452u: goto L_08966D94;
case 453u: goto L_08966DA0;
case 454u: goto L_08966DAC;
case 455u: goto L_08966DC8;
case 456u: goto L_08966DE0;
case 457u: goto L_08966DF4;
case 458u: goto L_08966DFC;
case 459u: goto L_08966E04;
case 460u: goto L_08966E0C;
case 461u: goto L_08966E14;
case 462u: goto L_08966E48;
case 463u: goto L_08966E58;
case 464u: goto L_08966E7C;
case 465u: goto L_08966E8C;
case 466u: goto L_08966E98;
case 467u: goto L_08966E9C;
case 468u: goto L_08966EAC;
case 469u: goto L_08966EB0;
case 470u: goto L_08966EBC;
case 471u: goto L_08966ED8;
case 472u: goto L_08966EE8;
case 473u: goto L_08966F00;
case 474u: goto L_08966F0C;
case 475u: goto L_08966F14;
case 476u: goto L_08966F18;
case 477u: goto L_08966F24;
case 478u: goto L_08966F28;
case 479u: goto L_08966F34;
case 480u: goto L_08966F40;
case 481u: goto L_08966F70;
case 482u: goto L_08966FA8;
case 483u: goto L_08966FB0;
case 484u: goto L_08966FCC;
case 485u: goto L_08966FE4;
case 486u: goto L_08966FF4;
case 487u: goto L_08967010;
case 488u: goto L_0896701C;
case 489u: goto L_08967024;
case 490u: goto L_08967028;
case 491u: goto L_08967034;
case 492u: goto L_08967044;
case 493u: goto L_08967048;
case 494u: goto L_0896705C;
case 495u: goto L_08967070;
case 496u: goto L_0896707C;
case 497u: goto L_0896708C;
case 498u: goto L_0896709C;
case 499u: goto L_089670AC;
case 500u: goto L_089670BC;
case 501u: goto L_089670CC;
case 502u: goto L_089670E4;
case 503u: goto L_089670F8;
case 504u: goto L_08967100;
case 505u: goto L_08967108;
case 506u: goto L_08967130;
case 507u: goto L_08967134;
case 508u: goto L_08967140;
case 509u: goto L_08967160;
case 510u: goto L_08967168;
case 511u: goto L_08967170;
case 512u: goto L_08967184;
case 513u: goto L_08967198;
case 514u: goto L_089671A4;
case 515u: goto L_089671BC;
case 516u: goto L_089671C8;
case 517u: goto L_0896720C;
case 518u: goto L_0896721C;
case 519u: goto L_08967244;
case 520u: goto L_0896724C;
case 521u: goto L_0896725C;
case 522u: goto L_0896726C;
case 523u: goto L_089672A8;
case 524u: goto L_089672B0;
case 525u: goto L_089672CC;
case 526u: goto L_089672D4;
case 527u: goto L_089672FC;
case 528u: goto L_0896731C;
case 529u: goto L_08967330;
case 530u: goto L_08967338;
case 531u: goto L_0896736C;
case 532u: goto L_08967374;
case 533u: goto L_08967388;
case 534u: goto L_089673A0;
case 535u: goto L_089673E8;
case 536u: goto L_089673EC;
case 537u: goto L_0896740C;
case 538u: goto L_0896743C;
case 539u: goto L_08967444;
case 540u: goto L_08967448;
case 541u: goto L_08967454;
case 542u: goto L_08967460;
case 543u: goto L_08967468;
case 544u: goto L_08967470;
case 545u: goto L_08967478;
case 546u: goto L_08967484;
case 547u: goto L_089674B8;
case 548u: goto L_089674C4;
case 549u: goto L_089674CC;
case 550u: goto L_089674D4;
case 551u: goto L_089674DC;
case 552u: goto L_089674F4;
case 553u: goto L_089674FC;
case 554u: goto L_08967504;
case 555u: goto L_08967518;
case 556u: goto L_08967520;
case 557u: goto L_08967528;
case 558u: goto L_08967530;
case 559u: goto L_08967554;
case 560u: goto L_08967560;
case 561u: goto L_0896757C;
case 562u: goto L_08967590;
case 563u: goto L_08967598;
case 564u: goto L_089675A0;
case 565u: goto L_089675C0;
case 566u: goto L_089675C8;
case 567u: goto L_089675DC;
case 568u: goto L_089675E4;
case 569u: goto L_089675EC;
case 570u: goto L_089675F4;
case 571u: goto L_089675FC;
case 572u: goto L_0896760C;
case 573u: goto L_08967620;
case 574u: goto L_08967630;
case 575u: goto L_08967650;
case 576u: goto L_08967670;
case 577u: goto L_0896767C;
case 578u: goto L_08967684;
case 579u: goto L_0896768C;
case 580u: goto L_08967694;
case 581u: goto L_089676A0;
case 582u: goto L_089676B4;
case 583u: goto L_089676C0;
case 584u: goto L_089676C8;
case 585u: goto L_089676CC;
case 586u: goto L_089676F0;
case 587u: goto L_089676F8;
case 588u: goto L_08967704;
case 589u: goto L_0896770C;
case 590u: goto L_08967710;
case 591u: goto L_0896772C;
case 592u: goto L_08967734;
case 593u: goto L_08967748;
case 594u: goto L_08967758;
case 595u: goto L_08967764;
case 596u: goto L_0896776C;
case 597u: goto L_08967770;
case 598u: goto L_08967788;
case 599u: goto L_089677A0;
case 600u: goto L_089677A8;
case 601u: goto L_089677B4;
case 602u: goto L_089677BC;
case 603u: goto L_089677C4;
case 604u: goto L_089677D0;
case 605u: goto L_089677D8;
case 606u: goto L_089677E4;
case 607u: goto L_089677EC;
case 608u: goto L_089677F8;
case 609u: goto L_08967800;
case 610u: goto L_08967810;
case 611u: goto L_08967828;
case 612u: goto L_08967830;
case 613u: goto L_08967838;
case 614u: goto L_08967848;
case 615u: goto L_08967864;
case 616u: goto L_08967878;
case 617u: goto L_08967880;
case 618u: goto L_08967888;
case 619u: goto L_08967890;
case 620u: goto L_089678B4;
case 621u: goto L_089678C0;
case 622u: goto L_089678DC;
case 623u: goto L_089678F0;
case 624u: goto L_089678F8;
case 625u: goto L_08967900;
case 626u: goto L_0896790C;
case 627u: goto L_08967914;
case 628u: goto L_08967928;
case 629u: goto L_08967944;
case 630u: goto L_0896795C;
case 631u: goto L_08967968;
case 632u: goto L_08967970;
case 633u: goto L_0896797C;
case 634u: goto L_08967998;
case 635u: goto L_089679A4;
case 636u: goto L_089679AC;
case 637u: goto L_089679B8;
case 638u: goto L_089679C8;
case 639u: goto L_089679D0;
case 640u: goto L_089679D8;
case 641u: goto L_089679E0;
case 642u: goto L_089679FC;
case 643u: goto L_08967A04;
case 644u: goto L_08967A0C;
case 645u: goto L_08967A14;
case 646u: goto L_08967A1C;
case 647u: goto L_08967A24;
case 648u: goto L_08967A2C;
case 649u: goto L_08967A34;
case 650u: goto L_08967A3C;
case 651u: goto L_08967A44;
case 652u: goto L_08967A4C;
case 653u: goto L_08967A50;
case 654u: goto L_08967A5C;
case 655u: goto L_08967A64;
case 656u: goto L_08967A78;
case 657u: goto L_08967A80;
case 658u: goto L_08967A88;
case 659u: goto L_08967A90;
case 660u: goto L_08967A98;
case 661u: goto L_08967AA8;
case 662u: goto L_08967ABC;
case 663u: goto L_08967ACC;
case 664u: goto L_08967AEC;
case 665u: goto L_08967B0C;
case 666u: goto L_08967B18;
case 667u: goto L_08967B20;
case 668u: goto L_08967B28;
case 669u: goto L_08967B30;
case 670u: goto L_08967B40;
case 671u: goto L_08967B54;
case 672u: goto L_08967B6C;
case 673u: goto L_08967B7C;
case 674u: goto L_08967B94;
case 675u: goto L_08967B9C;
case 676u: goto L_08967BA4;
case 677u: goto L_08967BAC;
case 678u: goto L_08967BB8;
case 679u: goto L_08967BC0;
case 680u: goto L_08967BC8;
case 681u: goto L_08967BD4;
case 682u: goto L_08967BE4;
case 683u: goto L_08967BEC;
case 684u: goto L_08967BF8;
case 685u: goto L_08967C00;
case 686u: goto L_08967C0C;
case 687u: goto L_08967C1C;
case 688u: goto L_08967C38;
case 689u: goto L_08967C4C;
case 690u: goto L_08967C54;
case 691u: goto L_08967C5C;
case 692u: goto L_08967C64;
case 693u: goto L_08967C88;
case 694u: goto L_08967C94;
case 695u: goto L_08967CB0;
case 696u: goto L_08967CC4;
case 697u: goto L_08967CCC;
case 698u: goto L_08967CD4;
case 699u: goto L_08967CDC;
case 700u: goto L_08967CE8;
case 701u: goto L_08967CF8;
case 702u: goto L_08967D0C;
case 703u: goto L_08967D1C;
case 704u: goto L_08967D3C;
case 705u: goto L_08967D5C;
case 706u: goto L_08967D68;
case 707u: goto L_08967D70;
case 708u: goto L_08967D78;
case 709u: goto L_08967D80;
case 710u: goto L_08967D90;
case 711u: goto L_08967DA4;
case 712u: goto L_08967DBC;
case 713u: goto L_08967DDC;
case 714u: goto L_08967DE4;
case 715u: goto L_08967DEC;
case 716u: goto L_08967DF8;
case 717u: goto L_08967E00;
case 718u: goto L_08967E08;
case 719u: goto L_08967E14;
case 720u: goto L_08967E24;
case 721u: goto L_08967E2C;
case 722u: goto L_08967E38;
case 723u: goto L_08967E40;
case 724u: goto L_08967E4C;
case 725u: goto L_08967E6C;
case 726u: goto L_08967E80;
case 727u: goto L_08967E88;
case 728u: goto L_08967E90;
case 729u: goto L_08967EBC;
case 730u: goto L_08967ED4;
case 731u: goto L_08967EDC;
case 732u: goto L_08967EE4;
case 733u: goto L_08967EF8;
case 734u: goto L_08967F00;
case 735u: goto L_08967F08;
case 736u: goto L_08967F30;
case 737u: goto L_08967F64;
case 738u: goto L_08967FD4;
case 739u: goto L_08967FE0;
case 740u: goto L_08967FF0;
case 741u: goto L_08967FF8;
default:
if (local_transfers == 0u) rt.unsupported(ctx.pc, 0u, "invalid internal function entry");
else ctx.pc = local_pc;
AOT_REGCACHE_SYNC_OUT(); return;
}
}
// PSPRECOMP_V813_SHARED_JR_DISPATCH: one dynamic-JR reject/redispatch path per unit.
LOCAL_JR_DISPATCH:
{
const std::uint32_t local_delta_v813 = jump_target - 0x08964000u;
if (local_delta_v813 >= 16380u || (local_delta_v813 & 3u) != 0u) {
ctx.pc = jump_target;
AOT_REGCACHE_SYNC_OUT();
// PSPRECOMP_V814_CONTINUATION_RETURN
Runtime::AotTailContinuation aot_cont_v814{};
if (rt.take_aot_tail_continuation(jump_target, aot_cont_v814)) {
#if defined(__clang__) && defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
[[clang::musttail]] return aot_cont_v814.function(
rt, ctx, aot_cont_v814.entry_id, aot_mem);
#else
aot_cont_v814.function(rt, ctx, aot_cont_v814.entry_id, aot_mem); return;
#endif
}
return;
}
}
local_pc = jump_target;
entry_id = 0u;
goto LOCAL_DISPATCH;
// PSPRECOMP_V812_SHARED_SCHED_BLOCK: one scheduler-exact slow boundary per unit.
LOCAL_SCHED_BOUNDARY:
ctx.pc = jump_target;
AOT_REGCACHE_SYNC_OUT();
if (local_redispatch_rounds < 7u && rt.continue_generated_local_dispatch(ctx)) {
++local_redispatch_rounds;
AOT_REGCACHE_SYNC_IN();
local_transfers = 0u;
local_pc = ctx.pc;
entry_id = 0u;
goto LOCAL_DISPATCH;
}
return;
L_08964000:
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_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast<std::uint32_t>(0)));
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast<std::uint32_t>(20)));
aot_fpr_12 = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast<std::uint32_t>(0)));
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(192), std::bit_cast<std::uint32_t>(aot_fpr_12));
aot_fpr_12 = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast<std::uint32_t>(4)));
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(196), std::bit_cast<std::uint32_t>(aot_fpr_12));
aot_fpr_12 = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast<std::uint32_t>(8)));
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(200), std::bit_cast<std::uint32_t>(aot_fpr_12));
aot_gpr_4 = (aot_gpr_29 + static_cast<std::uint32_t>(192));
{ const std::uint32_t vfpu_address = aot_gpr_4 + static_cast<std::uint32_t>(0);
std::uint32_t vfpu_words[4]{};
aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words);
float vfpu_value[4]{
std::bit_cast<float>(vfpu_words[0]),
std::bit_cast<float>(vfpu_words[1]),
std::bit_cast<float>(vfpu_words[2]),
std::bit_cast<float>(vfpu_words[3])};
ctx.write_vfpu_vector_ct<1u, 4u>(vfpu_value); }
{ const std::uint32_t vfpu_address = ctx.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<4u, 4u>(vfpu_value); }
{ const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast<std::uint32_t>(16);
std::uint32_t vfpu_words[4]{};
aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words);
float vfpu_value[4]{
std::bit_cast<float>(vfpu_words[0]),
std::bit_cast<float>(vfpu_words[1]),
std::bit_cast<float>(vfpu_words[2]),
std::bit_cast<float>(vfpu_words[3])};
ctx.write_vfpu_vector_ct<5u, 4u>(vfpu_value); }
{ const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast<std::uint32_t>(32);
std::uint32_t vfpu_words[4]{};
aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words);
float vfpu_value[4]{
std::bit_cast<float>(vfpu_words[0]),
std::bit_cast<float>(vfpu_words[1]),
std::bit_cast<float>(vfpu_words[2]),
std::bit_cast<float>(vfpu_words[3])};
ctx.write_vfpu_vector_ct<6u, 4u>(vfpu_value); }
{ const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast<std::uint32_t>(48);
std::uint32_t vfpu_words[4]{};
aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words);
float vfpu_value[4]{
std::bit_cast<float>(vfpu_words[0]),
std::bit_cast<float>(vfpu_words[1]),
std::bit_cast<float>(vfpu_words[2]),
std::bit_cast<float>(vfpu_words[3])};
ctx.write_vfpu_vector_ct<7u, 4u>(vfpu_value); }
ctx.execute_vfpu_vtfm_ct<0u, 36u, 1u, 3u, 3u>();
ctx.execute_vfpu_vec3_ct<0u, 0u, 7u, 3u, 0u>();
{ float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value);
const std::uint32_t vfpu_address = ctx.gpr[21] + 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[18] | 0u);
aot_gpr_6 = (aot_gpr_29 + static_cast<std::uint32_t>(144));
aot_gpr_7 = (aot_gpr_29 + static_cast<std::uint32_t>(176));
aot_gpr_5 = (ctx.gpr[21] | 0u);
ctx.gpr[8] = (0u | 1u);
ctx.gpr[9] = (0u | 0u);
ctx.gpr[10] = (0u | 0u);
ctx.gpr[11] = (0u | 0u);
{ const std::uint32_t aot_run_words[4]{0u, 0u, 0u, 0u};
aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast<std::uint32_t>(0), aot_run_words); }
aot_gpr_31 = (0x08964084u);
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(16), 0u);
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0088->0036.
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
AOT_REGCACHE_SYNC_OUT();
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0088_entry, 2u, 0x08964084u, 0x0889786Cu)) {
#if defined(__clang__)
[[clang::musttail]] return recomp_unit_0036_entry(rt, ctx, 698u, aot_mem);
#else
recomp_unit_0036_entry(rt, ctx, 698u, aot_mem); return;
#endif
}
return;
#else
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0036_entry, 36u, 698u, 0x0889786Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08964084u) goto L_08964084;
AOT_REGCACHE_SYNC_OUT(); return;
#endif
L_08964084:
{ const bool branch_taken = ctx.gpr[2] != 0u;
if (branch_taken) {
goto L_089640B8;
}
goto L_0896408C;
}
L_0896408C:
aot_gpr_31 = (0x08964094u);
aot_gpr_4 = (ctx.gpr[17] | 0u);
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0088->0091.
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
AOT_REGCACHE_SYNC_OUT();
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0088_entry, 4u, 0x08964094u, 0x08970464u)) {
#if defined(__clang__)
[[clang::musttail]] return recomp_unit_0091_entry(rt, ctx, 82u, aot_mem);
#else
recomp_unit_0091_entry(rt, ctx, 82u, aot_mem); return;
#endif
}
return;
#else
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0091_entry, 91u, 82u, 0x08970464u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08964094u) goto L_08964094;
AOT_REGCACHE_SYNC_OUT(); return;
#endif
L_08964094:
{ const bool branch_taken = ctx.gpr[2] != 0u;
if (branch_taken) {
goto L_089640B8;
}
goto L_0896409C;
}
L_0896409C:
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(236)));
aot_fpr_12 = std::bit_cast<float>(std::bit_cast<std::uint32_t>(ctx.fpr[22]));
aot_gpr_7 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(232)));
aot_gpr_5 = (ctx.gpr[17] | 0u);
ctx.gpr[8] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(228)));
aot_gpr_31 = (0x089640B8u);
aot_gpr_6 = (ctx.gpr[30] | 0u);
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0088->0087.
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
AOT_REGCACHE_SYNC_OUT();
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0088_entry, 6u, 0x089640B8u, 0x08960814u)) {
#if defined(__clang__)
[[clang::musttail]] return recomp_unit_0087_entry(rt, ctx, 96u, aot_mem);
#else
recomp_unit_0087_entry(rt, ctx, 96u, aot_mem); return;
#endif
}
return;
#else
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 96u, 0x08960814u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089640B8u) goto L_089640B8;
AOT_REGCACHE_SYNC_OUT(); return;
#endif
L_089640B8:
{ const bool branch_taken = ctx.gpr[19] != 0u;
if (branch_taken) {
(void)([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 785u, 0x08963C8Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()); AOT_REGCACHE_SYNC_OUT(); return;
}
goto L_089640C0;
}
L_089640C0:
{ std::uint32_t aot_run_words[16]{};
aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast<std::uint32_t>(240), aot_run_words);
ctx.fpr[20] = std::bit_cast<float>(aot_run_words[0]);
ctx.fpr[22] = std::bit_cast<float>(aot_run_words[1]);
ctx.fpr[24] = std::bit_cast<float>(aot_run_words[2]);
ctx.fpr[26] = std::bit_cast<float>(aot_run_words[3]);
ctx.fpr[28] = std::bit_cast<float>(aot_run_words[4]);
ctx.fpr[30] = std::bit_cast<float>(aot_run_words[5]);
ctx.gpr[16] = aot_run_words[6];
ctx.gpr[17] = aot_run_words[7];
ctx.gpr[18] = aot_run_words[8];
ctx.gpr[19] = aot_run_words[9];
ctx.gpr[20] = aot_run_words[10];
ctx.gpr[21] = aot_run_words[11];
ctx.gpr[22] = aot_run_words[12];
ctx.gpr[23] = aot_run_words[13];
ctx.gpr[30] = aot_run_words[14];
aot_gpr_31 = aot_run_words[15];
}
jump_target = aot_gpr_31;
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(304));
// PSPRECOMP_V813_JR_FAST_EXIT: preserve the exact 256-transfer boundary; common JR path is shared.
if (++local_transfers < 256u) goto LOCAL_JR_DISPATCH;
// PSPRECOMP_V812_SHARED_SCHED_JUMP
goto LOCAL_SCHED_BOUNDARY;
L_08964108:
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(-32));
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(20), ctx.gpr[16]);
aot_gpr_6 = (aot_gpr_5 | 0u);
ctx.gpr[16] = (aot_gpr_4 | 0u);
aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast<std::uint32_t>(0)));
aot_gpr_6 = (aot_gpr_6 & 255u);
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_5 + static_cast<std::uint32_t>(2318))))));
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(16), std::bit_cast<std::uint32_t>(ctx.fpr[20]));
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(24), ctx.gpr[17]);
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(28), aot_gpr_31);
{ const bool branch_taken = aot_gpr_6 == 0u;
ctx.gpr[17] = (0u + static_cast<std::uint32_t>(-17));
if (branch_taken) {
goto L_0896426C;
}
goto L_08964138;
}
L_08964138:
aot_gpr_4 = (aot_gpr_4 | 2u);
aot_gpr_31 = (0x08964144u);
aot_mem.aot_direct_store8(aot_gpr_5 + static_cast<std::uint32_t>(2318), static_cast<std::uint8_t>(aot_gpr_4));
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0088->0036.
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
AOT_REGCACHE_SYNC_OUT();
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0088_entry, 10u, 0x08964144u, 0x08895340u)) {
#if defined(__clang__)
[[clang::musttail]] return recomp_unit_0036_entry(rt, ctx, 249u, aot_mem);
#else
recomp_unit_0036_entry(rt, ctx, 249u, aot_mem); return;
#endif
}
return;
#else
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0036_entry, 36u, 249u, 0x08895340u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08964144u) goto L_08964144;
AOT_REGCACHE_SYNC_OUT(); return;
#endif
L_08964144:
aot_gpr_31 = (0x0896414Cu);
aot_gpr_4 = (0u | 0u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_0898B428, 97u, 0x0898B428u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0896414Cu) goto L_0896414C;
AOT_REGCACHE_SYNC_OUT(); return;
L_0896414C:
aot_gpr_4 = (aot_mem.aot_direct_load16(ctx.gpr[2] + static_cast<std::uint32_t>(154)));
aot_gpr_4 = (aot_gpr_4 | 32u);
aot_gpr_31 = (0x0896415Cu);
aot_mem.aot_direct_store16(ctx.gpr[2] + static_cast<std::uint32_t>(154), static_cast<std::uint16_t>(aot_gpr_4));
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0088->0097.
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
AOT_REGCACHE_SYNC_OUT();
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0088_entry, 12u, 0x0896415Cu, 0x0898B4F0u)) {
#if defined(__clang__)
[[clang::musttail]] return recomp_unit_0097_entry(rt, ctx, 844u, aot_mem);
#else
recomp_unit_0097_entry(rt, ctx, 844u, aot_mem); return;
#endif
}
return;
#else
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0097_entry, 97u, 844u, 0x0898B4F0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0896415Cu) goto L_0896415C;
AOT_REGCACHE_SYNC_OUT(); return;
#endif
L_0896415C:
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast<std::uint32_t>(0)));
aot_gpr_5 = (16384u << 16u);
aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast<std::uint32_t>(72)));
aot_gpr_5 = (aot_gpr_6 | aot_gpr_5);
aot_mem.aot_direct_store32(aot_gpr_4 + static_cast<std::uint32_t>(72), aot_gpr_5);
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast<std::uint32_t>(0)));
aot_gpr_5 = (1024u << 16u);
aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast<std::uint32_t>(72)));
aot_gpr_5 = (aot_gpr_6 | aot_gpr_5);
aot_mem.aot_direct_store32(aot_gpr_4 + static_cast<std::uint32_t>(72), aot_gpr_5);
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast<std::uint32_t>(0)));
aot_gpr_5 = (2048u << 16u);
aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast<std::uint32_t>(72)));
aot_gpr_5 = (aot_gpr_6 | aot_gpr_5);
aot_mem.aot_direct_store32(aot_gpr_4 + static_cast<std::uint32_t>(72), aot_gpr_5);
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast<std::uint32_t>(0)));
aot_gpr_5 = (4u << 16u);
aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast<std::uint32_t>(72)));
aot_gpr_5 = (aot_gpr_6 | aot_gpr_5);
aot_mem.aot_direct_store32(aot_gpr_4 + static_cast<std::uint32_t>(72), aot_gpr_5);
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast<std::uint32_t>(0)));
aot_gpr_5 = (4096u << 16u);
aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast<std::uint32_t>(72)));
aot_gpr_5 = (aot_gpr_6 | aot_gpr_5);
aot_mem.aot_direct_store32(aot_gpr_4 + static_cast<std::uint32_t>(72), aot_gpr_5);
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast<std::uint32_t>(0)));
aot_gpr_5 = (8192u << 16u);
aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast<std::uint32_t>(72)));
aot_gpr_5 = (aot_gpr_6 | aot_gpr_5);
aot_mem.aot_direct_store32(aot_gpr_4 + static_cast<std::uint32_t>(72), aot_gpr_5);
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast<std::uint32_t>(0)));
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>(3261))))));
aot_gpr_5 = (aot_gpr_5 & ctx.gpr[17]);
aot_mem.aot_direct_store8(aot_gpr_4 + static_cast<std::uint32_t>(3261), static_cast<std::uint8_t>(aot_gpr_5));
aot_gpr_31 = (0x089641ECu);
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast<std::uint32_t>(0)));
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0088->0080.
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
AOT_REGCACHE_SYNC_OUT();
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0088_entry, 13u, 0x089641ECu, 0x08947574u)) {
#if defined(__clang__)
[[clang::musttail]] return recomp_unit_0080_entry(rt, ctx, 676u, aot_mem);
#else
recomp_unit_0080_entry(rt, ctx, 676u, aot_mem); return;
#endif
}
return;
#else
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0080_entry, 80u, 676u, 0x08947574u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089641ECu) goto L_089641EC;
AOT_REGCACHE_SYNC_OUT(); return;
#endif
L_089641EC:
aot_gpr_4 = (ctx.gpr[16] | 0u);
aot_gpr_31 = (0x089641F8u);
aot_gpr_5 = (0u | 0u);
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0088->0087.
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
AOT_REGCACHE_SYNC_OUT();
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0088_entry, 14u, 0x089641F8u, 0x089616E8u)) {
#if defined(__clang__)
[[clang::musttail]] return recomp_unit_0087_entry(rt, ctx, 264u, aot_mem);
#else
recomp_unit_0087_entry(rt, ctx, 264u, aot_mem); return;
#endif
}
return;
#else
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 264u, 0x089616E8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089641F8u) goto L_089641F8;
AOT_REGCACHE_SYNC_OUT(); return;
#endif
L_089641F8:
aot_gpr_6 = (2238u << 16u);
aot_gpr_4 = (ctx.gpr[16] | 0u);
aot_gpr_5 = (aot_gpr_29 | 0u);
aot_gpr_31 = (0x0896420Cu);
ctx.gpr[17] = (aot_gpr_6 + static_cast<std::uint32_t>(14864));
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0088->0087.
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
AOT_REGCACHE_SYNC_OUT();
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0088_entry, 15u, 0x0896420Cu, 0x089609B4u)) {
#if defined(__clang__)
[[clang::musttail]] return recomp_unit_0087_entry(rt, ctx, 111u, aot_mem);
#else
recomp_unit_0087_entry(rt, ctx, 111u, aot_mem); return;
#endif
}
return;
#else
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 111u, 0x089609B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0896420Cu) goto L_0896420C;
AOT_REGCACHE_SYNC_OUT(); return;
#endif
L_0896420C:
aot_gpr_6 = (17786u << 16u);
ctx.fpr[20] = std::bit_cast<float>(aot_gpr_6);
aot_gpr_4 = (ctx.gpr[17] | 0u);
aot_gpr_5 = (aot_gpr_29 | 0u);
aot_gpr_31 = (0x08964224u);
aot_fpr_12 = std::bit_cast<float>(std::bit_cast<std::uint32_t>(ctx.fpr[20]));
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0088->0115.
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
AOT_REGCACHE_SYNC_OUT();
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0088_entry, 16u, 0x08964224u, 0x089D0284u)) {
#if defined(__clang__)
[[clang::musttail]] return recomp_unit_0115_entry(rt, ctx, 32u, aot_mem);
#else
recomp_unit_0115_entry(rt, ctx, 32u, aot_mem); return;
#endif
}
return;
#else
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0115_entry, 115u, 32u, 0x089D0284u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08964224u) goto L_08964224;
AOT_REGCACHE_SYNC_OUT(); return;
#endif
L_08964224:
aot_gpr_4 = (ctx.gpr[16] | 0u);
aot_gpr_31 = (0x08964230u);
aot_gpr_5 = (aot_gpr_29 | 0u);
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0088->0087.
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
AOT_REGCACHE_SYNC_OUT();
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0088_entry, 17u, 0x08964230u, 0x089609B4u)) {
#if defined(__clang__)
[[clang::musttail]] return recomp_unit_0087_entry(rt, ctx, 111u, aot_mem);
#else
recomp_unit_0087_entry(rt, ctx, 111u, aot_mem); return;
#endif
}
return;
#else
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 111u, 0x089609B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08964230u) goto L_08964230;
AOT_REGCACHE_SYNC_OUT(); return;
#endif
L_08964230:
aot_gpr_4 = (aot_gpr_29 | 0u);
aot_gpr_31 = (0x0896423Cu);
aot_fpr_12 = std::bit_cast<float>(std::bit_cast<std::uint32_t>(ctx.fpr[20]));
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0088->0121.
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
AOT_REGCACHE_SYNC_OUT();
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0088_entry, 18u, 0x0896423Cu, 0x089E94F4u)) {
#if defined(__clang__)
[[clang::musttail]] return recomp_unit_0121_entry(rt, ctx, 262u, aot_mem);
#else
recomp_unit_0121_entry(rt, ctx, 262u, aot_mem); return;
#endif
}
return;
#else
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0121_entry, 121u, 262u, 0x089E94F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0896423Cu) goto L_0896423C;
AOT_REGCACHE_SYNC_OUT(); return;
#endif
L_0896423C:
aot_gpr_31 = (0x08964244u);
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0088->0031.
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
AOT_REGCACHE_SYNC_OUT();
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0088_entry, 19u, 0x08964244u, 0x088807A8u)) {
#if defined(__clang__)
[[clang::musttail]] return recomp_unit_0031_entry(rt, ctx, 66u, aot_mem);
#else
recomp_unit_0031_entry(rt, ctx, 66u, aot_mem); return;
#endif
}
return;
#else
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0031_entry, 31u, 66u, 0x088807A8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08964244u) goto L_08964244;
AOT_REGCACHE_SYNC_OUT(); return;
#endif
L_08964244:
aot_gpr_31 = (0x0896424Cu);
aot_gpr_4 = (0u | 0u);
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0088->0036.
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
AOT_REGCACHE_SYNC_OUT();
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0088_entry, 20u, 0x0896424Cu, 0x08894CA4u)) {
#if defined(__clang__)
[[clang::musttail]] return recomp_unit_0036_entry(rt, ctx, 165u, aot_mem);
#else
recomp_unit_0036_entry(rt, ctx, 165u, aot_mem); return;
#endif
}
return;
#else
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0036_entry, 36u, 165u, 0x08894CA4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0896424Cu) goto L_0896424C;
AOT_REGCACHE_SYNC_OUT(); return;
#endif
L_0896424C:
aot_gpr_4 = (ctx.gpr[16] | 0u);
aot_gpr_31 = (0x08964258u);
aot_gpr_5 = (aot_gpr_29 | 0u);
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0088->0087.
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
AOT_REGCACHE_SYNC_OUT();
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0088_entry, 21u, 0x08964258u, 0x089609B4u)) {
#if defined(__clang__)
[[clang::musttail]] return recomp_unit_0087_entry(rt, ctx, 111u, aot_mem);
#else
recomp_unit_0087_entry(rt, ctx, 111u, aot_mem); return;
#endif
}
return;
#else
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 111u, 0x089609B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08964258u) goto L_08964258;
AOT_REGCACHE_SYNC_OUT(); return;
#endif
L_08964258:
aot_gpr_4 = (aot_gpr_29 | 0u);
aot_gpr_31 = (0x08964264u);
aot_fpr_12 = std::bit_cast<float>(std::bit_cast<std::uint32_t>(ctx.fpr[20]));
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0088->0036.
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
AOT_REGCACHE_SYNC_OUT();
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0088_entry, 22u, 0x08964264u, 0x08894D40u)) {
#if defined(__clang__)
[[clang::musttail]] return recomp_unit_0036_entry(rt, ctx, 177u, aot_mem);
#else
recomp_unit_0036_entry(rt, ctx, 177u, aot_mem); return;
#endif
}
return;
#else
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0036_entry, 36u, 177u, 0x08894D40u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08964264u) goto L_08964264;
AOT_REGCACHE_SYNC_OUT(); return;
#endif
L_08964264:
{ const bool branch_taken = 0u == 0u;
if (branch_taken) {
goto L_0896433C;
}
goto L_0896426C;
}
L_0896426C:
aot_gpr_6 = (0u + static_cast<std::uint32_t>(-3));
aot_gpr_4 = (aot_gpr_4 & aot_gpr_6);
aot_mem.aot_direct_store8(aot_gpr_5 + static_cast<std::uint32_t>(2318), static_cast<std::uint8_t>(aot_gpr_4));
aot_gpr_31 = (0x08964280u);
aot_gpr_4 = (0u | 0u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_0898B428, 97u, 0x0898B428u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08964280u) goto L_08964280;
AOT_REGCACHE_SYNC_OUT(); return;
L_08964280:
aot_gpr_4 = (aot_mem.aot_direct_load16(ctx.gpr[2] + static_cast<std::uint32_t>(154)));
aot_gpr_5 = (0u + static_cast<std::uint32_t>(-33));
aot_gpr_4 = (aot_gpr_4 & aot_gpr_5);
aot_mem.aot_direct_store16(ctx.gpr[2] + static_cast<std::uint32_t>(154), static_cast<std::uint16_t>(aot_gpr_4));
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast<std::uint32_t>(0)));
aot_gpr_5 = (49152u << 16u);
aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast<std::uint32_t>(72)));
aot_gpr_5 = (aot_gpr_5 + static_cast<std::uint32_t>(-1));
aot_gpr_5 = (aot_gpr_6 & aot_gpr_5);
aot_mem.aot_direct_store32(aot_gpr_4 + static_cast<std::uint32_t>(72), aot_gpr_5);
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast<std::uint32_t>(0)));
aot_gpr_5 = (64512u << 16u);
aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast<std::uint32_t>(72)));
aot_gpr_5 = (aot_gpr_5 + static_cast<std::uint32_t>(-1));
aot_gpr_5 = (aot_gpr_6 & aot_gpr_5);
aot_mem.aot_direct_store32(aot_gpr_4 + static_cast<std::uint32_t>(72), aot_gpr_5);
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast<std::uint32_t>(0)));
aot_gpr_5 = (63488u << 16u);
aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast<std::uint32_t>(72)));
aot_gpr_5 = (aot_gpr_5 + static_cast<std::uint32_t>(-1));
aot_gpr_5 = (aot_gpr_6 & aot_gpr_5);
aot_mem.aot_direct_store32(aot_gpr_4 + static_cast<std::uint32_t>(72), aot_gpr_5);
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast<std::uint32_t>(0)));
aot_gpr_5 = (65532u << 16u);
aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast<std::uint32_t>(72)));
aot_gpr_5 = (aot_gpr_5 + static_cast<std::uint32_t>(-1));
aot_gpr_5 = (aot_gpr_6 & aot_gpr_5);
aot_mem.aot_direct_store32(aot_gpr_4 + static_cast<std::uint32_t>(72), aot_gpr_5);
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast<std::uint32_t>(0)));
aot_gpr_5 = (61440u << 16u);
aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast<std::uint32_t>(72)));
aot_gpr_5 = (aot_gpr_5 + static_cast<std::uint32_t>(-1));
aot_gpr_5 = (aot_gpr_6 & aot_gpr_5);
aot_mem.aot_direct_store32(aot_gpr_4 + static_cast<std::uint32_t>(72), aot_gpr_5);
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast<std::uint32_t>(0)));
aot_gpr_5 = (57344u << 16u);
aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast<std::uint32_t>(72)));
aot_gpr_5 = (aot_gpr_5 + static_cast<std::uint32_t>(-1));
aot_gpr_5 = (aot_gpr_6 & aot_gpr_5);
aot_mem.aot_direct_store32(aot_gpr_4 + static_cast<std::uint32_t>(72), aot_gpr_5);
aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast<std::uint32_t>(0)));
aot_gpr_4 = (0u | 1u);
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_5 + static_cast<std::uint32_t>(3261))))));
aot_gpr_6 = (aot_gpr_6 & ctx.gpr[17]);
aot_gpr_6 = (aot_gpr_6 | 16u);
aot_gpr_31 = (0x0896433Cu);
aot_mem.aot_direct_store8(aot_gpr_5 + static_cast<std::uint32_t>(3261), static_cast<std::uint8_t>(aot_gpr_6));
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0088->0036.
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
AOT_REGCACHE_SYNC_OUT();
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0088_entry, 25u, 0x0896433Cu, 0x08894CA4u)) {
#if defined(__clang__)
[[clang::musttail]] return recomp_unit_0036_entry(rt, ctx, 165u, aot_mem);
#else
recomp_unit_0036_entry(rt, ctx, 165u, aot_mem); return;
#endif
}
return;
#else
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0036_entry, 36u, 165u, 0x08894CA4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0896433Cu) goto L_0896433C;
AOT_REGCACHE_SYNC_OUT(); return;
#endif
L_0896433C:
{ std::uint32_t aot_run_words[4]{};
aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast<std::uint32_t>(16), aot_run_words);
ctx.fpr[20] = std::bit_cast<float>(aot_run_words[0]);
ctx.gpr[16] = aot_run_words[1];
ctx.gpr[17] = aot_run_words[2];
aot_gpr_31 = aot_run_words[3];
}
jump_target = aot_gpr_31;
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(32));
// PSPRECOMP_V813_JR_FAST_EXIT: preserve the exact 256-transfer boundary; common JR path is shared.
if (++local_transfers < 256u) goto LOCAL_JR_DISPATCH;
// PSPRECOMP_V812_SHARED_SCHED_JUMP
goto LOCAL_SCHED_BOUNDARY;
L_089644F8:
ctx.gpr[8] = (std::bit_cast<std::uint32_t>(aot_fpr_12));
ctx.set_vfpu_scalar_bits_ct<4u>(ctx.gpr[8]);
ctx.execute_vfpu_vec3_ct<0u, 4u, 4u, 1u, 2u>();
{ float vfpu_value[4]{1.0f, 1.0f, 1.0f, 1.0f};
ctx.write_vfpu_vector_with_destination_prefix_ct<32u, 1u>(vfpu_value); }
ctx.execute_vfpu_vec3_ct<64u, 0u, 32u, 1u, 0u>();
{ float vfpu_value[4]{};
ctx.write_vfpu_vector_with_destination_prefix_ct<96u, 1u>(vfpu_value); }
ctx.execute_vfpu_unary_ct<0u, 64u, 1u, 17u>();
{ const float vfpu_constant = std::bit_cast<float>(0x3FC90FDBu);
const float vfpu_value[4]{vfpu_constant, vfpu_constant, vfpu_constant, vfpu_constant};
ctx.write_vfpu_vector_with_destination_prefix_ct<64u, 1u>(vfpu_value); }
ctx.execute_vfpu_unary_ct<0u, 0u, 1u, 5u>();
ctx.execute_vfpu_unary_ct<32u, 0u, 1u, 23u>();
ctx.execute_vfpu_vec3_ct<0u, 32u, 64u, 1u, 2u>();
ctx.execute_vfpu_vec3_ct<0u, 64u, 0u, 1u, 1u>();
ctx.execute_vfpu_vcmp_ct<4u, 96u, 1u, 2u>();
if (((ctx.vfpu_ctrl[3] >> 5u) & 1u) != 0u) {
ctx.execute_vfpu_unary_ct<0u, 0u, 1u, 2u>();
goto L_08964534;
}
goto L_08964534;
L_08964534:
ctx.gpr[8] = (ctx.vfpu_scalar_bits_ct<0u>());
jump_target = aot_gpr_31;
ctx.fpr[0] = std::bit_cast<float>(ctx.gpr[8]);
// PSPRECOMP_V813_JR_FAST_EXIT: preserve the exact 256-transfer boundary; common JR path is shared.
if (++local_transfers < 256u) goto LOCAL_JR_DISPATCH;
// PSPRECOMP_V812_SHARED_SCHED_JUMP
goto LOCAL_SCHED_BOUNDARY;
L_08964540:
ctx.gpr[8] = (std::bit_cast<std::uint32_t>(aot_fpr_12));
ctx.gpr[9] = (std::bit_cast<std::uint32_t>(aot_fpr_13));
ctx.set_vfpu_scalar_bits_ct<4u>(ctx.gpr[8]);
ctx.set_vfpu_scalar_bits_ct<36u>(ctx.gpr[9]);
ctx.vfpu_ctrl[1u] = 0x000030E0u;
ctx.execute_vfpu_vcmp_ct<4u, 4u, 2u, 1u>();
ctx.vfpu_ctrl[0u] = 0x000010E5u;
ctx.execute_vfpu_vcmov_ct<4u, 4u, 1u, 5u, false>();
ctx.execute_vfpu_unary_ct<5u, 4u, 2u, 1u>();
{ const float vfpu_constant = std::bit_cast<float>(0x3FC90FDBu);
const float vfpu_value[4]{vfpu_constant, vfpu_constant, vfpu_constant, vfpu_constant};
ctx.write_vfpu_vector_with_destination_prefix_ct<64u, 1u>(vfpu_value); }
ctx.execute_vfpu_vcmp_ct<5u, 37u, 1u, 6u>();
{ float vfpu_value[4]{};
ctx.write_vfpu_vector_with_destination_prefix_ct<68u, 1u>(vfpu_value); }
if (((ctx.vfpu_ctrl[3] >> 5u) & 1u) != 0u) {
ctx.execute_vfpu_vec3_ct<8u, 4u, 36u, 1u, 3u>();
goto L_0896457C;
}
goto L_08964578;
L_08964578:
ctx.execute_vfpu_vec3_ct<8u, 36u, 4u, 1u, 3u>();
goto L_0896457C;
L_0896457C:
ctx.execute_vfpu_vec3_ct<0u, 8u, 8u, 1u, 2u>();
{ float vfpu_value[4]{1.0f, 1.0f, 1.0f, 1.0f};
ctx.write_vfpu_vector_with_destination_prefix_ct<32u, 1u>(vfpu_value); }
ctx.execute_vfpu_vec3_ct<0u, 0u, 32u, 1u, 0u>();
ctx.execute_vfpu_unary_ct<0u, 0u, 1u, 17u>();
ctx.execute_vfpu_unary_ct<0u, 0u, 1u, 5u>();
ctx.execute_vfpu_unary_ct<0u, 0u, 1u, 23u>();
ctx.execute_vfpu_vec3_ct<0u, 0u, 64u, 1u, 2u>();
if (((ctx.vfpu_ctrl[3] >> 5u) & 1u) != 0u) {
ctx.execute_vfpu_vec3_ct<0u, 64u, 0u, 1u, 1u>();
goto L_089645A0;
}
goto L_089645A0;
L_089645A0:
ctx.execute_vfpu_vcmp_ct<4u, 68u, 1u, 6u>();
{ const float vfpu_constant = std::bit_cast<float>(0x40490FDBu);
const float vfpu_value[4]{vfpu_constant, vfpu_constant, vfpu_constant, vfpu_constant};
ctx.write_vfpu_vector_with_destination_prefix_ct<96u, 1u>(vfpu_value); }
{ const bool branch_taken = ((ctx.vfpu_ctrl[3] >> 5u) & 1u) != 0u;
ctx.execute_vfpu_vcmp_ct<36u, 68u, 1u, 6u>();
if (branch_taken) {
goto L_089645C4;
}
goto L_089645B0;
}
L_089645B0:
if (((ctx.vfpu_ctrl[3] >> 5u) & 1u) != 0u) {
ctx.execute_vfpu_vec3_ct<0u, 68u, 0u, 1u, 1u>();
goto L_089645D0;
}
goto L_089645B8;
L_089645B8:
ctx.execute_vfpu_unary_ct<96u, 96u, 1u, 2u>();
{ const bool branch_taken = 0u == 0u;
ctx.execute_vfpu_vec3_ct<0u, 0u, 96u, 1u, 0u>();
if (branch_taken) {
goto L_089645D0;
}
goto L_089645C4;
}
L_089645C4:
ctx.execute_vfpu_vec3_ct<0u, 96u, 0u, 1u, 1u>();
if (((ctx.vfpu_ctrl[3] >> 5u) & 1u) != 0u) {
ctx.execute_vfpu_vec3_ct<0u, 96u, 0u, 1u, 1u>();
goto L_089645D0;
}
goto L_089645D0;
L_089645D0:
ctx.gpr[8] = (ctx.vfpu_scalar_bits_ct<0u>());
jump_target = aot_gpr_31;
ctx.fpr[0] = std::bit_cast<float>(ctx.gpr[8]);
// PSPRECOMP_V813_JR_FAST_EXIT: preserve the exact 256-transfer boundary; common JR path is shared.
if (++local_transfers < 256u) goto LOCAL_JR_DISPATCH;
// PSPRECOMP_V812_SHARED_SCHED_JUMP
goto LOCAL_SCHED_BOUNDARY;
L_089645DC:
aot_gpr_7 = (static_cast<std::int32_t>(aot_gpr_6) < 4 ? 1u : 0u);
{ const bool branch_taken = aot_gpr_7 != 0u;
ctx.gpr[2] = (aot_gpr_4 + 0u);
if (branch_taken) {
goto L_089647AC;
}
goto L_089645E8;
}
L_089645E8:
aot_gpr_7 = (aot_gpr_4 ^ aot_gpr_5);
ctx.gpr[9] = (aot_gpr_7 & 3u);
{ const bool branch_taken = ctx.gpr[9] != 0u;
ctx.gpr[9] = (0u - aot_gpr_5);
if (branch_taken) {
goto L_089646A0;
}
goto L_089645F8;
}
L_089645F8:
ctx.gpr[9] = (ctx.gpr[9] & 3u);
{ const bool branch_taken = ctx.gpr[9] == 0u;
aot_gpr_6 = (aot_gpr_6 - ctx.gpr[9]);
if (branch_taken) {
goto L_08964614;
}
goto L_08964604;
}
L_08964604:
ctx.gpr[8] = (aot_mem.aot_direct_load_word_right(aot_gpr_5 + static_cast<std::uint32_t>(0), ctx.gpr[8]));
aot_gpr_5 = (aot_gpr_5 + ctx.gpr[9]);
aot_mem.aot_direct_store_word_right(aot_gpr_4 + static_cast<std::uint32_t>(0), ctx.gpr[8]);
aot_gpr_4 = (aot_gpr_4 + ctx.gpr[9]);
goto L_08964614;
L_08964614:
ctx.gpr[9] = (aot_gpr_6 & 15u);
{ const bool branch_taken = ctx.gpr[9] == aot_gpr_6;
aot_gpr_7 = (aot_gpr_7 & 15u);
if (branch_taken) {
goto L_08964624;
}
goto L_08964620;
}
L_08964620:
{ const bool branch_taken = aot_gpr_7 == 0u;
ctx.gpr[8] = (aot_gpr_6 & 31u);
if (branch_taken) {
goto L_089646F4;
}
goto L_08964628;
}
L_08964624:
ctx.gpr[8] = (aot_gpr_6 & 31u);
goto L_08964628;
L_08964628:
{ const bool branch_taken = ctx.gpr[8] == aot_gpr_6;
aot_gpr_7 = (0u - aot_gpr_4);
if (branch_taken) {
goto L_08964784;
}
goto L_08964630;
}
L_08964630:
aot_gpr_7 = (aot_gpr_7 & 15u);
{ const bool branch_taken = aot_gpr_7 == 0u;
aot_gpr_6 = (aot_gpr_6 - aot_gpr_7);
if (branch_taken) {
goto L_0896465C;
}
goto L_0896463C;
}
L_0896463C:
aot_gpr_7 = (aot_gpr_7 + aot_gpr_5);
goto L_08964640;
L_08964640:
ctx.gpr[8] = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast<std::uint32_t>(0)));
aot_gpr_5 = (aot_gpr_5 + static_cast<std::uint32_t>(4));
aot_gpr_4 = (aot_gpr_4 + static_cast<std::uint32_t>(4));
{ const bool branch_taken = aot_gpr_7 != aot_gpr_5;
aot_mem.aot_direct_store32(aot_gpr_4 + static_cast<std::uint32_t>(-4), ctx.gpr[8]);
if (branch_taken) {
goto L_08964640;
}
goto L_08964654;
}
L_08964654:
ctx.gpr[8] = (aot_gpr_6 & 31u);
{ const bool branch_taken = ctx.gpr[8] == aot_gpr_6;
aot_gpr_7 = (aot_gpr_6 - ctx.gpr[8]);
if (branch_taken) {
goto L_08964784;
}
goto L_08964660;
}
L_0896465C:
aot_gpr_7 = (aot_gpr_6 - ctx.gpr[8]);
goto L_08964660;
L_08964660:
aot_gpr_7 = (aot_gpr_7 + aot_gpr_5);
goto L_08964664;
L_08964664:
ctx.set_vfpu_scalar_bits_ct<0u>(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast<std::uint32_t>(0)));
ctx.set_vfpu_scalar_bits_ct<32u>(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast<std::uint32_t>(4)));
ctx.set_vfpu_scalar_bits_ct<64u>(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast<std::uint32_t>(8)));
ctx.set_vfpu_scalar_bits_ct<96u>(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast<std::uint32_t>(12)));
ctx.set_vfpu_scalar_bits_ct<1u>(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast<std::uint32_t>(16)));
ctx.set_vfpu_scalar_bits_ct<33u>(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast<std::uint32_t>(20)));
ctx.set_vfpu_scalar_bits_ct<65u>(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast<std::uint32_t>(24)));
ctx.set_vfpu_scalar_bits_ct<97u>(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast<std::uint32_t>(28)));
aot_gpr_4 = (aot_gpr_4 + static_cast<std::uint32_t>(32));
aot_gpr_5 = (aot_gpr_5 + 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>(-32);
const std::uint32_t vfpu_words[4]{std::bit_cast<std::uint32_t>(vfpu_value[0]), std::bit_cast<std::uint32_t>(vfpu_value[1]), std::bit_cast<std::uint32_t>(vfpu_value[2]), std::bit_cast<std::uint32_t>(vfpu_value[3])};
aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); }
{ const bool branch_taken = aot_gpr_5 != aot_gpr_7;
{ float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<1u, 4u>(vfpu_value);
const std::uint32_t vfpu_address = aot_gpr_4 + static_cast<std::uint32_t>(-16);
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); }
if (branch_taken) {
goto L_08964664;
}
goto L_08964698;
}
L_08964698:
{ const bool branch_taken = 0u == 0u;
aot_gpr_6 = (ctx.gpr[8] + 0u);
if (branch_taken) {
goto L_08964784;
}
goto L_089646A0;
}
L_089646A0:
aot_gpr_7 = (0u - aot_gpr_4);
aot_gpr_7 = (aot_gpr_7 & 3u);
{ const bool branch_taken = aot_gpr_7 == 0u;
aot_gpr_6 = (aot_gpr_6 - aot_gpr_7);
if (branch_taken) {
goto L_089646C4;
}
goto L_089646B0;
}
L_089646B0:
ctx.gpr[8] = (aot_mem.aot_direct_load_word_right(aot_gpr_5 + static_cast<std::uint32_t>(0), ctx.gpr[8]));
ctx.gpr[8] = (aot_mem.aot_direct_load_word_left(aot_gpr_5 + static_cast<std::uint32_t>(3), ctx.gpr[8]));
aot_gpr_5 = (aot_gpr_5 + aot_gpr_7);
aot_mem.aot_direct_store_word_right(aot_gpr_4 + static_cast<std::uint32_t>(0), ctx.gpr[8]);
aot_gpr_4 = (aot_gpr_4 + aot_gpr_7);
goto L_089646C4;
L_089646C4:
ctx.gpr[8] = (aot_gpr_6 & 3u);
{ const bool branch_taken = ctx.gpr[8] == aot_gpr_6;
aot_gpr_7 = (aot_gpr_6 - ctx.gpr[8]);
if (branch_taken) {
goto L_089647AC;
}
goto L_089646D0;
}
L_089646D0:
aot_gpr_7 = (aot_gpr_7 + aot_gpr_5);
goto L_089646D4;
L_089646D4:
ctx.gpr[9] = (aot_mem.aot_direct_load_word_right(aot_gpr_5 + static_cast<std::uint32_t>(0), ctx.gpr[9]));
ctx.gpr[9] = (aot_mem.aot_direct_load_word_left(aot_gpr_5 + static_cast<std::uint32_t>(3), ctx.gpr[9]));
aot_gpr_5 = (aot_gpr_5 + static_cast<std::uint32_t>(4));
aot_gpr_4 = (aot_gpr_4 + static_cast<std::uint32_t>(4));
{ const bool branch_taken = aot_gpr_5 != aot_gpr_7;
aot_mem.aot_direct_store32(aot_gpr_4 + static_cast<std::uint32_t>(-4), ctx.gpr[9]);
if (branch_taken) {
goto L_089646D4;
}
goto L_089646EC;
}
L_089646EC:
{ const bool branch_taken = 0u == 0u;
aot_gpr_6 = (ctx.gpr[8] + 0u);
if (branch_taken) {
goto L_089647AC;
}
goto L_089646F4;
}
L_089646F4:
ctx.gpr[9] = (0u - aot_gpr_5);
ctx.gpr[9] = (ctx.gpr[9] & 15u);
{ const bool branch_taken = ctx.gpr[9] == 0u;
aot_gpr_6 = (aot_gpr_6 - ctx.gpr[9]);
if (branch_taken) {
goto L_0896471C;
}
goto L_08964704;
}
L_08964704:
aot_gpr_7 = (ctx.gpr[9] + aot_gpr_5);
goto L_08964708;
L_08964708:
ctx.gpr[8] = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast<std::uint32_t>(0)));
aot_gpr_5 = (aot_gpr_5 + static_cast<std::uint32_t>(4));
aot_gpr_4 = (aot_gpr_4 + static_cast<std::uint32_t>(4));
{ const bool branch_taken = aot_gpr_7 != aot_gpr_5;
aot_mem.aot_direct_store32(aot_gpr_4 + static_cast<std::uint32_t>(-4), ctx.gpr[8]);
if (branch_taken) {
goto L_08964708;
}
goto L_0896471C;
}
L_0896471C:
ctx.gpr[8] = (aot_gpr_6 & 63u);
{ const bool branch_taken = ctx.gpr[8] == aot_gpr_6;
aot_gpr_7 = (aot_gpr_6 - ctx.gpr[8]);
if (branch_taken) {
goto L_0896475C;
}
goto L_08964728;
}
L_08964728:
aot_gpr_7 = (aot_gpr_7 + aot_gpr_5);
aot_gpr_6 = (ctx.gpr[8] + 0u);
goto L_08964730;
L_08964730:
{ const std::uint32_t vfpu_address = aot_gpr_5 + static_cast<std::uint32_t>(0);
std::uint32_t vfpu_words[4]{};
aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words);
float vfpu_value[4]{
std::bit_cast<float>(vfpu_words[0]),
std::bit_cast<float>(vfpu_words[1]),
std::bit_cast<float>(vfpu_words[2]),
std::bit_cast<float>(vfpu_words[3])};
ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); }
{ const std::uint32_t vfpu_address = aot_gpr_5 + static_cast<std::uint32_t>(16);
std::uint32_t vfpu_words[4]{};
aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words);
float vfpu_value[4]{
std::bit_cast<float>(vfpu_words[0]),
std::bit_cast<float>(vfpu_words[1]),
std::bit_cast<float>(vfpu_words[2]),
std::bit_cast<float>(vfpu_words[3])};
ctx.write_vfpu_vector_ct<1u, 4u>(vfpu_value); }
{ const std::uint32_t vfpu_address = aot_gpr_5 + static_cast<std::uint32_t>(32);
std::uint32_t vfpu_words[4]{};
aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words);
float vfpu_value[4]{
std::bit_cast<float>(vfpu_words[0]),
std::bit_cast<float>(vfpu_words[1]),
std::bit_cast<float>(vfpu_words[2]),
std::bit_cast<float>(vfpu_words[3])};
ctx.write_vfpu_vector_ct<2u, 4u>(vfpu_value); }
{ const std::uint32_t vfpu_address = aot_gpr_5 + static_cast<std::uint32_t>(48);
std::uint32_t vfpu_words[4]{};
aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words);
float vfpu_value[4]{
std::bit_cast<float>(vfpu_words[0]),
std::bit_cast<float>(vfpu_words[1]),
std::bit_cast<float>(vfpu_words[2]),
std::bit_cast<float>(vfpu_words[3])};
ctx.write_vfpu_vector_ct<3u, 4u>(vfpu_value); }
aot_gpr_5 = (aot_gpr_5 + static_cast<std::uint32_t>(64));
{ float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value);
const std::uint32_t vfpu_address = aot_gpr_4 + static_cast<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); }
{ float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<1u, 4u>(vfpu_value);
const std::uint32_t vfpu_address = aot_gpr_4 + static_cast<std::uint32_t>(16);
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); }
{ float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<2u, 4u>(vfpu_value);
const std::uint32_t vfpu_address = aot_gpr_4 + static_cast<std::uint32_t>(32);
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); }
{ float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<3u, 4u>(vfpu_value);
const std::uint32_t vfpu_address = aot_gpr_4 + static_cast<std::uint32_t>(48);
const std::uint32_t vfpu_words[4]{std::bit_cast<std::uint32_t>(vfpu_value[0]), std::bit_cast<std::uint32_t>(vfpu_value[1]), std::bit_cast<std::uint32_t>(vfpu_value[2]), std::bit_cast<std::uint32_t>(vfpu_value[3])};
aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); }
{ const bool branch_taken = aot_gpr_5 != aot_gpr_7;
aot_gpr_4 = (aot_gpr_4 + static_cast<std::uint32_t>(64));
if (branch_taken) {
goto L_08964730;
}
goto L_0896475C;
}
L_0896475C:
ctx.gpr[8] = (aot_gpr_6 & 15u);
{ const bool branch_taken = ctx.gpr[8] == aot_gpr_6;
aot_gpr_7 = (aot_gpr_6 - ctx.gpr[8]);
if (branch_taken) {
goto L_08964784;
}
goto L_08964768;
}
L_08964768:
aot_gpr_7 = (aot_gpr_7 + aot_gpr_5);
aot_gpr_6 = (ctx.gpr[8] + 0u);
goto L_08964770;
L_08964770:
{ const std::uint32_t vfpu_address = aot_gpr_5 + static_cast<std::uint32_t>(0);
std::uint32_t vfpu_words[4]{};
aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words);
float vfpu_value[4]{
std::bit_cast<float>(vfpu_words[0]),
std::bit_cast<float>(vfpu_words[1]),
std::bit_cast<float>(vfpu_words[2]),
std::bit_cast<float>(vfpu_words[3])};
ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); }
aot_gpr_4 = (aot_gpr_4 + static_cast<std::uint32_t>(16));
aot_gpr_5 = (aot_gpr_5 + static_cast<std::uint32_t>(16));
{ const bool branch_taken = aot_gpr_5 != aot_gpr_7;
{ 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>(-16);
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); }
if (branch_taken) {
goto L_08964770;
}
goto L_08964784;
}
L_08964784:
ctx.gpr[8] = (aot_gpr_6 & 3u);
{ const bool branch_taken = ctx.gpr[8] == aot_gpr_6;
aot_gpr_7 = (aot_gpr_6 - ctx.gpr[8]);
if (branch_taken) {
goto L_089647AC;
}
goto L_08964790;
}
L_08964790:
aot_gpr_7 = (aot_gpr_7 + aot_gpr_5);
aot_gpr_6 = (ctx.gpr[8] + 0u);
goto L_08964798;
L_08964798:
ctx.gpr[8] = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast<std::uint32_t>(0)));
aot_gpr_5 = (aot_gpr_5 + static_cast<std::uint32_t>(4));
aot_gpr_4 = (aot_gpr_4 + static_cast<std::uint32_t>(4));
{ const bool branch_taken = aot_gpr_5 != aot_gpr_7;
aot_mem.aot_direct_store32(aot_gpr_4 + static_cast<std::uint32_t>(-4), ctx.gpr[8]);
if (branch_taken) {
goto L_08964798;
}
goto L_089647AC;
}
L_089647AC:
{ const bool branch_taken = static_cast<std::int32_t>(aot_gpr_6) <= 0;
aot_gpr_7 = (aot_gpr_6 + aot_gpr_5);
if (branch_taken) {
goto L_089647C8;
}
goto L_089647B4;
}
L_089647B4:
ctx.gpr[8] = (static_cast<std::uint32_t>(static_cast<std::int32_t>(static_cast<std::int8_t>(aot_mem.aot_direct_load8(aot_gpr_5 + static_cast<std::uint32_t>(0))))));
aot_gpr_5 = (aot_gpr_5 + static_cast<std::uint32_t>(1));
aot_gpr_4 = (aot_gpr_4 + static_cast<std::uint32_t>(1));
{ const bool branch_taken = aot_gpr_5 != aot_gpr_7;
aot_mem.aot_direct_store8(aot_gpr_4 + static_cast<std::uint32_t>(-1), static_cast<std::uint8_t>(ctx.gpr[8]));
if (branch_taken) {
goto L_089647B4;
}
goto L_089647C8;
}
L_089647C8:
jump_target = aot_gpr_31;
// PSPRECOMP_V813_JR_FAST_EXIT: preserve the exact 256-transfer boundary; common JR path is shared.
if (++local_transfers < 256u) goto LOCAL_JR_DISPATCH;
// PSPRECOMP_V812_SHARED_SCHED_JUMP
goto LOCAL_SCHED_BOUNDARY;
L_089647D0:
aot_fpr_12 = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast<std::uint32_t>(0)));
aot_gpr_6 = (std::bit_cast<std::uint32_t>(aot_fpr_12));
aot_gpr_7 = (aot_gpr_6 & 65535u);
aot_gpr_7 = (aot_gpr_7 & 65535u);
ctx.gpr[8] = (aot_gpr_7 & 255u);
ctx.gpr[9] = (aot_mem.aot_direct_load_word_right(aot_gpr_4 + static_cast<std::uint32_t>(0), ctx.gpr[9]));
ctx.gpr[9] = (aot_mem.aot_direct_load_word_left(aot_gpr_4 + static_cast<std::uint32_t>(3), ctx.gpr[9]));
ctx.gpr[9] = (ctx.gpr[9] & 65535u);
ctx.gpr[10] = (aot_gpr_4 + ctx.gpr[9]);
ctx.gpr[9] = (ctx.gpr[9] + static_cast<std::uint32_t>(1));
aot_mem.aot_direct_store8(aot_gpr_4 + static_cast<std::uint32_t>(0), static_cast<std::uint8_t>(ctx.gpr[9]));
ctx.gpr[1] = (static_cast<std::uint32_t>(static_cast<std::int32_t>(ctx.gpr[9]) >> 8u));
aot_mem.aot_direct_store8(aot_gpr_4 + static_cast<std::uint32_t>(1), static_cast<std::uint8_t>(ctx.gpr[1]));
aot_mem.aot_direct_store8(ctx.gpr[10] + static_cast<std::uint32_t>(0), static_cast<std::uint8_t>(ctx.gpr[8]));
aot_gpr_7 = (static_cast<std::uint32_t>(static_cast<std::int32_t>(aot_gpr_7) >> 8u));
aot_gpr_7 = (aot_gpr_7 & 255u);
ctx.gpr[8] = (aot_mem.aot_direct_load_word_right(aot_gpr_4 + static_cast<std::uint32_t>(0), ctx.gpr[8]));
ctx.gpr[8] = (aot_mem.aot_direct_load_word_left(aot_gpr_4 + static_cast<std::uint32_t>(3), ctx.gpr[8]));
ctx.gpr[8] = (ctx.gpr[8] & 65535u);
ctx.gpr[9] = (aot_gpr_4 + ctx.gpr[8]);
ctx.gpr[8] = (ctx.gpr[8] + static_cast<std::uint32_t>(1));
aot_mem.aot_direct_store8(aot_gpr_4 + 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_4 + 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>(aot_gpr_7));
aot_gpr_6 = (aot_gpr_6 >> 16u);
aot_gpr_6 = (aot_gpr_6 & 65535u);
aot_gpr_7 = (aot_gpr_6 & 255u);
ctx.gpr[8] = (aot_mem.aot_direct_load_word_right(aot_gpr_4 + static_cast<std::uint32_t>(0), ctx.gpr[8]));
ctx.gpr[8] = (aot_mem.aot_direct_load_word_left(aot_gpr_4 + static_cast<std::uint32_t>(3), ctx.gpr[8]));
ctx.gpr[8] = (ctx.gpr[8] & 65535u);
ctx.gpr[9] = (aot_gpr_4 + ctx.gpr[8]);
ctx.gpr[8] = (ctx.gpr[8] + static_cast<std::uint32_t>(1));
aot_mem.aot_direct_store8(aot_gpr_4 + 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_4 + 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>(aot_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);
aot_gpr_7 = (aot_mem.aot_direct_load_word_right(aot_gpr_4 + static_cast<std::uint32_t>(0), aot_gpr_7));
aot_gpr_7 = (aot_mem.aot_direct_load_word_left(aot_gpr_4 + static_cast<std::uint32_t>(3), aot_gpr_7));
aot_gpr_7 = (aot_gpr_7 & 65535u);
ctx.gpr[8] = (aot_gpr_4 + aot_gpr_7);
aot_gpr_7 = (aot_gpr_7 + static_cast<std::uint32_t>(1));
aot_mem.aot_direct_store8(aot_gpr_4 + static_cast<std::uint32_t>(0), static_cast<std::uint8_t>(aot_gpr_7));
ctx.gpr[1] = (static_cast<std::uint32_t>(static_cast<std::int32_t>(aot_gpr_7) >> 8u));
aot_mem.aot_direct_store8(aot_gpr_4 + 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_fpr_12 = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast<std::uint32_t>(4)));
aot_gpr_6 = (std::bit_cast<std::uint32_t>(aot_fpr_12));
aot_gpr_7 = (aot_gpr_6 & 65535u);
aot_gpr_7 = (aot_gpr_7 & 65535u);
ctx.gpr[8] = (aot_gpr_7 & 255u);
ctx.gpr[9] = (aot_mem.aot_direct_load_word_right(aot_gpr_4 + static_cast<std::uint32_t>(0), ctx.gpr[9]));
ctx.gpr[9] = (aot_mem.aot_direct_load_word_left(aot_gpr_4 + static_cast<std::uint32_t>(3), ctx.gpr[9]));
ctx.gpr[9] = (ctx.gpr[9] & 65535u);
ctx.gpr[10] = (aot_gpr_4 + ctx.gpr[9]);
ctx.gpr[9] = (ctx.gpr[9] + static_cast<std::uint32_t>(1));
aot_mem.aot_direct_store8(aot_gpr_4 + static_cast<std::uint32_t>(0), static_cast<std::uint8_t>(ctx.gpr[9]));
ctx.gpr[1] = (static_cast<std::uint32_t>(static_cast<std::int32_t>(ctx.gpr[9]) >> 8u));
aot_mem.aot_direct_store8(aot_gpr_4 + static_cast<std::uint32_t>(1), static_cast<std::uint8_t>(ctx.gpr[1]));
aot_mem.aot_direct_store8(ctx.gpr[10] + static_cast<std::uint32_t>(0), static_cast<std::uint8_t>(ctx.gpr[8]));
aot_gpr_7 = (static_cast<std::uint32_t>(static_cast<std::int32_t>(aot_gpr_7) >> 8u));
aot_gpr_7 = (aot_gpr_7 & 255u);
ctx.gpr[8] = (aot_mem.aot_direct_load_word_right(aot_gpr_4 + static_cast<std::uint32_t>(0), ctx.gpr[8]));
ctx.gpr[8] = (aot_mem.aot_direct_load_word_left(aot_gpr_4 + static_cast<std::uint32_t>(3), ctx.gpr[8]));
ctx.gpr[8] = (ctx.gpr[8] & 65535u);
ctx.gpr[9] = (aot_gpr_4 + ctx.gpr[8]);
ctx.gpr[8] = (ctx.gpr[8] + static_cast<std::uint32_t>(1));
aot_mem.aot_direct_store8(aot_gpr_4 + 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_4 + 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>(aot_gpr_7));
aot_gpr_6 = (aot_gpr_6 >> 16u);
aot_gpr_6 = (aot_gpr_6 & 65535u);
aot_gpr_7 = (aot_gpr_6 & 255u);
ctx.gpr[8] = (aot_mem.aot_direct_load_word_right(aot_gpr_4 + static_cast<std::uint32_t>(0), ctx.gpr[8]));
ctx.gpr[8] = (aot_mem.aot_direct_load_word_left(aot_gpr_4 + static_cast<std::uint32_t>(3), ctx.gpr[8]));
ctx.gpr[8] = (ctx.gpr[8] & 65535u);
ctx.gpr[9] = (aot_gpr_4 + ctx.gpr[8]);
ctx.gpr[8] = (ctx.gpr[8] + static_cast<std::uint32_t>(1));
aot_mem.aot_direct_store8(aot_gpr_4 + 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_4 + 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>(aot_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);
aot_gpr_7 = (aot_mem.aot_direct_load_word_right(aot_gpr_4 + static_cast<std::uint32_t>(0), aot_gpr_7));
aot_gpr_7 = (aot_mem.aot_direct_load_word_left(aot_gpr_4 + static_cast<std::uint32_t>(3), aot_gpr_7));
aot_gpr_7 = (aot_gpr_7 & 65535u);
ctx.gpr[8] = (aot_gpr_4 + aot_gpr_7);
aot_gpr_7 = (aot_gpr_7 + static_cast<std::uint32_t>(1));
aot_mem.aot_direct_store8(aot_gpr_4 + static_cast<std::uint32_t>(0), static_cast<std::uint8_t>(aot_gpr_7));
ctx.gpr[1] = (static_cast<std::uint32_t>(static_cast<std::int32_t>(aot_gpr_7) >> 8u));
aot_mem.aot_direct_store8(aot_gpr_4 + 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_fpr_12 = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast<std::uint32_t>(8)));
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);
aot_gpr_7 = (aot_gpr_6 & 255u);
ctx.gpr[8] = (aot_mem.aot_direct_load_word_right(aot_gpr_4 + static_cast<std::uint32_t>(0), ctx.gpr[8]));
ctx.gpr[8] = (aot_mem.aot_direct_load_word_left(aot_gpr_4 + static_cast<std::uint32_t>(3), ctx.gpr[8]));
ctx.gpr[8] = (ctx.gpr[8] & 65535u);
ctx.gpr[9] = (aot_gpr_4 + ctx.gpr[8]);
ctx.gpr[8] = (ctx.gpr[8] + static_cast<std::uint32_t>(1));
aot_mem.aot_direct_store8(aot_gpr_4 + 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_4 + 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>(aot_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);
aot_gpr_7 = (aot_mem.aot_direct_load_word_right(aot_gpr_4 + static_cast<std::uint32_t>(0), aot_gpr_7));
aot_gpr_7 = (aot_mem.aot_direct_load_word_left(aot_gpr_4 + static_cast<std::uint32_t>(3), aot_gpr_7));
aot_gpr_7 = (aot_gpr_7 & 65535u);
ctx.gpr[8] = (aot_gpr_4 + aot_gpr_7);
aot_gpr_7 = (aot_gpr_7 + static_cast<std::uint32_t>(1));
aot_mem.aot_direct_store8(aot_gpr_4 + static_cast<std::uint32_t>(0), static_cast<std::uint8_t>(aot_gpr_7));
ctx.gpr[1] = (static_cast<std::uint32_t>(static_cast<std::int32_t>(aot_gpr_7) >> 8u));
aot_mem.aot_direct_store8(aot_gpr_4 + 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);
aot_gpr_7 = (aot_mem.aot_direct_load_word_right(aot_gpr_4 + static_cast<std::uint32_t>(0), aot_gpr_7));
aot_gpr_7 = (aot_mem.aot_direct_load_word_left(aot_gpr_4 + static_cast<std::uint32_t>(3), aot_gpr_7));
aot_gpr_7 = (aot_gpr_7 & 65535u);
ctx.gpr[8] = (aot_gpr_4 + aot_gpr_7);
aot_gpr_7 = (aot_gpr_7 + static_cast<std::uint32_t>(1));
aot_mem.aot_direct_store8(aot_gpr_4 + static_cast<std::uint32_t>(0), static_cast<std::uint8_t>(aot_gpr_7));
ctx.gpr[1] = (static_cast<std::uint32_t>(static_cast<std::int32_t>(aot_gpr_7) >> 8u));
aot_mem.aot_direct_store8(aot_gpr_4 + 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_4 + static_cast<std::uint32_t>(0), aot_gpr_6));
aot_gpr_6 = (aot_mem.aot_direct_load_word_left(aot_gpr_4 + static_cast<std::uint32_t>(3), aot_gpr_6));
aot_gpr_6 = (aot_gpr_6 & 65535u);
aot_gpr_7 = (aot_gpr_4 + aot_gpr_6);
aot_gpr_6 = (aot_gpr_6 + static_cast<std::uint32_t>(1));
aot_mem.aot_direct_store8(aot_gpr_4 + 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_4 + static_cast<std::uint32_t>(1), static_cast<std::uint8_t>(ctx.gpr[1]));
jump_target = aot_gpr_31;
aot_mem.aot_direct_store8(aot_gpr_7 + static_cast<std::uint32_t>(0), static_cast<std::uint8_t>(aot_gpr_5));
// PSPRECOMP_V813_JR_FAST_EXIT: preserve the exact 256-transfer boundary; common JR path is shared.
if (++local_transfers < 256u) goto LOCAL_JR_DISPATCH;
// PSPRECOMP_V812_SHARED_SCHED_JUMP
goto LOCAL_SCHED_BOUNDARY;
L_08964A14:
aot_fpr_12 = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast<std::uint32_t>(0)));
aot_gpr_6 = (std::bit_cast<std::uint32_t>(aot_fpr_12));
aot_gpr_7 = (aot_gpr_6 & 65535u);
aot_gpr_7 = (aot_gpr_7 & 65535u);
ctx.gpr[8] = (aot_gpr_7 & 255u);
ctx.gpr[9] = (aot_mem.aot_direct_load_word_right(aot_gpr_4 + static_cast<std::uint32_t>(0), ctx.gpr[9]));
ctx.gpr[9] = (aot_mem.aot_direct_load_word_left(aot_gpr_4 + static_cast<std::uint32_t>(3), ctx.gpr[9]));
ctx.gpr[9] = (ctx.gpr[9] & 65535u);
ctx.gpr[10] = (aot_gpr_4 + ctx.gpr[9]);
ctx.gpr[9] = (ctx.gpr[9] + static_cast<std::uint32_t>(1));
aot_mem.aot_direct_store8(aot_gpr_4 + static_cast<std::uint32_t>(0), static_cast<std::uint8_t>(ctx.gpr[9]));
ctx.gpr[1] = (static_cast<std::uint32_t>(static_cast<std::int32_t>(ctx.gpr[9]) >> 8u));
aot_mem.aot_direct_store8(aot_gpr_4 + static_cast<std::uint32_t>(1), static_cast<std::uint8_t>(ctx.gpr[1]));
aot_mem.aot_direct_store8(ctx.gpr[10] + static_cast<std::uint32_t>(0), static_cast<std::uint8_t>(ctx.gpr[8]));
aot_gpr_7 = (static_cast<std::uint32_t>(static_cast<std::int32_t>(aot_gpr_7) >> 8u));
aot_gpr_7 = (aot_gpr_7 & 255u);
ctx.gpr[8] = (aot_mem.aot_direct_load_word_right(aot_gpr_4 + static_cast<std::uint32_t>(0), ctx.gpr[8]));
ctx.gpr[8] = (aot_mem.aot_direct_load_word_left(aot_gpr_4 + static_cast<std::uint32_t>(3), ctx.gpr[8]));
ctx.gpr[8] = (ctx.gpr[8] & 65535u);
ctx.gpr[9] = (aot_gpr_4 + ctx.gpr[8]);
ctx.gpr[8] = (ctx.gpr[8] + static_cast<std::uint32_t>(1));
aot_mem.aot_direct_store8(aot_gpr_4 + 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_4 + 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>(aot_gpr_7));
aot_gpr_6 = (aot_gpr_6 >> 16u);
aot_gpr_6 = (aot_gpr_6 & 65535u);
aot_gpr_7 = (aot_gpr_6 & 255u);
ctx.gpr[8] = (aot_mem.aot_direct_load_word_right(aot_gpr_4 + static_cast<std::uint32_t>(0), ctx.gpr[8]));
ctx.gpr[8] = (aot_mem.aot_direct_load_word_left(aot_gpr_4 + static_cast<std::uint32_t>(3), ctx.gpr[8]));
ctx.gpr[8] = (ctx.gpr[8] & 65535u);
ctx.gpr[9] = (aot_gpr_4 + ctx.gpr[8]);
ctx.gpr[8] = (ctx.gpr[8] + static_cast<std::uint32_t>(1));
aot_mem.aot_direct_store8(aot_gpr_4 + 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_4 + 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>(aot_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);
aot_gpr_7 = (aot_mem.aot_direct_load_word_right(aot_gpr_4 + static_cast<std::uint32_t>(0), aot_gpr_7));
aot_gpr_7 = (aot_mem.aot_direct_load_word_left(aot_gpr_4 + static_cast<std::uint32_t>(3), aot_gpr_7));
aot_gpr_7 = (aot_gpr_7 & 65535u);
ctx.gpr[8] = (aot_gpr_4 + aot_gpr_7);
aot_gpr_7 = (aot_gpr_7 + static_cast<std::uint32_t>(1));
aot_mem.aot_direct_store8(aot_gpr_4 + static_cast<std::uint32_t>(0), static_cast<std::uint8_t>(aot_gpr_7));
ctx.gpr[1] = (static_cast<std::uint32_t>(static_cast<std::int32_t>(aot_gpr_7) >> 8u));
aot_mem.aot_direct_store8(aot_gpr_4 + 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_fpr_12 = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast<std::uint32_t>(4)));
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);
aot_gpr_7 = (aot_gpr_6 & 255u);
ctx.gpr[8] = (aot_mem.aot_direct_load_word_right(aot_gpr_4 + static_cast<std::uint32_t>(0), ctx.gpr[8]));
ctx.gpr[8] = (aot_mem.aot_direct_load_word_left(aot_gpr_4 + static_cast<std::uint32_t>(3), ctx.gpr[8]));
ctx.gpr[8] = (ctx.gpr[8] & 65535u);
ctx.gpr[9] = (aot_gpr_4 + ctx.gpr[8]);
ctx.gpr[8] = (ctx.gpr[8] + static_cast<std::uint32_t>(1));
aot_mem.aot_direct_store8(aot_gpr_4 + 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_4 + 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>(aot_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);
aot_gpr_7 = (aot_mem.aot_direct_load_word_right(aot_gpr_4 + static_cast<std::uint32_t>(0), aot_gpr_7));
aot_gpr_7 = (aot_mem.aot_direct_load_word_left(aot_gpr_4 + static_cast<std::uint32_t>(3), aot_gpr_7));
aot_gpr_7 = (aot_gpr_7 & 65535u);
ctx.gpr[8] = (aot_gpr_4 + aot_gpr_7);
aot_gpr_7 = (aot_gpr_7 + static_cast<std::uint32_t>(1));
aot_mem.aot_direct_store8(aot_gpr_4 + static_cast<std::uint32_t>(0), static_cast<std::uint8_t>(aot_gpr_7));
ctx.gpr[1] = (static_cast<std::uint32_t>(static_cast<std::int32_t>(aot_gpr_7) >> 8u));
aot_mem.aot_direct_store8(aot_gpr_4 + 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);
aot_gpr_7 = (aot_mem.aot_direct_load_word_right(aot_gpr_4 + static_cast<std::uint32_t>(0), aot_gpr_7));
aot_gpr_7 = (aot_mem.aot_direct_load_word_left(aot_gpr_4 + static_cast<std::uint32_t>(3), aot_gpr_7));
aot_gpr_7 = (aot_gpr_7 & 65535u);
ctx.gpr[8] = (aot_gpr_4 + aot_gpr_7);
aot_gpr_7 = (aot_gpr_7 + static_cast<std::uint32_t>(1));
aot_mem.aot_direct_store8(aot_gpr_4 + static_cast<std::uint32_t>(0), static_cast<std::uint8_t>(aot_gpr_7));
ctx.gpr[1] = (static_cast<std::uint32_t>(static_cast<std::int32_t>(aot_gpr_7) >> 8u));
aot_mem.aot_direct_store8(aot_gpr_4 + 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_4 + static_cast<std::uint32_t>(0), aot_gpr_6));
aot_gpr_6 = (aot_mem.aot_direct_load_word_left(aot_gpr_4 + static_cast<std::uint32_t>(3), aot_gpr_6));
aot_gpr_6 = (aot_gpr_6 & 65535u);
aot_gpr_7 = (aot_gpr_4 + aot_gpr_6);
aot_gpr_6 = (aot_gpr_6 + static_cast<std::uint32_t>(1));
aot_mem.aot_direct_store8(aot_gpr_4 + 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_4 + static_cast<std::uint32_t>(1), static_cast<std::uint8_t>(ctx.gpr[1]));
jump_target = aot_gpr_31;
aot_mem.aot_direct_store8(aot_gpr_7 + static_cast<std::uint32_t>(0), static_cast<std::uint8_t>(aot_gpr_5));
// PSPRECOMP_V813_JR_FAST_EXIT: preserve the exact 256-transfer boundary; common JR path is shared.
if (++local_transfers < 256u) goto LOCAL_JR_DISPATCH;
// PSPRECOMP_V812_SHARED_SCHED_JUMP
goto LOCAL_SCHED_BOUNDARY;
L_08964B98:
aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast<std::uint32_t>(0)));
aot_gpr_6 = (aot_gpr_6 & 255u);
aot_gpr_7 = (aot_mem.aot_direct_load_word_right(aot_gpr_4 + static_cast<std::uint32_t>(0), aot_gpr_7));
aot_gpr_7 = (aot_mem.aot_direct_load_word_left(aot_gpr_4 + static_cast<std::uint32_t>(3), aot_gpr_7));
aot_gpr_7 = (aot_gpr_7 & 65535u);
ctx.gpr[8] = (aot_gpr_4 + aot_gpr_7);
aot_gpr_7 = (aot_gpr_7 + static_cast<std::uint32_t>(1));
aot_mem.aot_direct_store8(aot_gpr_4 + static_cast<std::uint32_t>(0), static_cast<std::uint8_t>(aot_gpr_7));
ctx.gpr[1] = (static_cast<std::uint32_t>(static_cast<std::int32_t>(aot_gpr_7) >> 8u));
aot_mem.aot_direct_store8(aot_gpr_4 + 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_6 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast<std::uint32_t>(4)));
aot_gpr_7 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast<std::uint32_t>(0)));
aot_gpr_7 = (aot_gpr_6 + aot_gpr_7);
{ const bool branch_taken = aot_gpr_6 == aot_gpr_7;
if (branch_taken) {
goto L_08964C1C;
}
goto L_08964BD8;
}
L_08964BD8:
aot_gpr_7 = (static_cast<std::uint32_t>(static_cast<std::int32_t>(static_cast<std::int8_t>(aot_mem.aot_direct_load8(aot_gpr_6 + static_cast<std::uint32_t>(0))))));
aot_gpr_7 = (aot_gpr_7 & 255u);
ctx.gpr[8] = (aot_mem.aot_direct_load_word_right(aot_gpr_4 + static_cast<std::uint32_t>(0), ctx.gpr[8]));
ctx.gpr[8] = (aot_mem.aot_direct_load_word_left(aot_gpr_4 + static_cast<std::uint32_t>(3), ctx.gpr[8]));
ctx.gpr[8] = (ctx.gpr[8] & 65535u);
ctx.gpr[9] = (aot_gpr_4 + ctx.gpr[8]);
ctx.gpr[8] = (ctx.gpr[8] + static_cast<std::uint32_t>(1));
aot_mem.aot_direct_store8(aot_gpr_4 + 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_4 + 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>(aot_gpr_7));
aot_gpr_6 = (aot_gpr_6 + static_cast<std::uint32_t>(1));
aot_gpr_7 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast<std::uint32_t>(4)));
ctx.gpr[8] = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast<std::uint32_t>(0)));
aot_gpr_7 = (aot_gpr_7 + ctx.gpr[8]);
{ const bool branch_taken = aot_gpr_6 != aot_gpr_7;
if (branch_taken) {
goto L_08964BD8;
}
goto L_08964C1C;
}
L_08964C1C:
jump_target = aot_gpr_31;
// PSPRECOMP_V813_JR_FAST_EXIT: preserve the exact 256-transfer boundary; common JR path is shared.
if (++local_transfers < 256u) goto LOCAL_JR_DISPATCH;
// PSPRECOMP_V812_SHARED_SCHED_JUMP
goto LOCAL_SCHED_BOUNDARY;
L_08964C24:
aot_gpr_6 = (aot_mem.aot_direct_load8(aot_gpr_5 + static_cast<std::uint32_t>(0)));
aot_gpr_7 = (aot_mem.aot_direct_load_word_right(aot_gpr_4 + static_cast<std::uint32_t>(0), aot_gpr_7));
aot_gpr_7 = (aot_mem.aot_direct_load_word_left(aot_gpr_4 + static_cast<std::uint32_t>(3), aot_gpr_7));
aot_gpr_7 = (aot_gpr_7 & 65535u);
ctx.gpr[8] = (aot_gpr_4 + aot_gpr_7);
aot_gpr_7 = (aot_gpr_7 + static_cast<std::uint32_t>(1));
aot_mem.aot_direct_store8(aot_gpr_4 + static_cast<std::uint32_t>(0), static_cast<std::uint8_t>(aot_gpr_7));
ctx.gpr[1] = (static_cast<std::uint32_t>(static_cast<std::int32_t>(aot_gpr_7) >> 8u));
aot_mem.aot_direct_store8(aot_gpr_4 + 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_6 = (aot_mem.aot_direct_load8(aot_gpr_5 + static_cast<std::uint32_t>(1)));
aot_gpr_7 = (aot_mem.aot_direct_load_word_right(aot_gpr_4 + static_cast<std::uint32_t>(0), aot_gpr_7));
aot_gpr_7 = (aot_mem.aot_direct_load_word_left(aot_gpr_4 + static_cast<std::uint32_t>(3), aot_gpr_7));
aot_gpr_7 = (aot_gpr_7 & 65535u);
ctx.gpr[8] = (aot_gpr_4 + aot_gpr_7);
aot_gpr_7 = (aot_gpr_7 + static_cast<std::uint32_t>(1));
aot_mem.aot_direct_store8(aot_gpr_4 + static_cast<std::uint32_t>(0), static_cast<std::uint8_t>(aot_gpr_7));
ctx.gpr[1] = (static_cast<std::uint32_t>(static_cast<std::int32_t>(aot_gpr_7) >> 8u));
aot_mem.aot_direct_store8(aot_gpr_4 + 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_6 = (aot_mem.aot_direct_load8(aot_gpr_5 + static_cast<std::uint32_t>(2)));
aot_gpr_7 = (aot_mem.aot_direct_load_word_right(aot_gpr_4 + static_cast<std::uint32_t>(0), aot_gpr_7));
aot_gpr_7 = (aot_mem.aot_direct_load_word_left(aot_gpr_4 + static_cast<std::uint32_t>(3), aot_gpr_7));
aot_gpr_7 = (aot_gpr_7 & 65535u);
ctx.gpr[8] = (aot_gpr_4 + aot_gpr_7);
aot_gpr_7 = (aot_gpr_7 + static_cast<std::uint32_t>(1));
aot_mem.aot_direct_store8(aot_gpr_4 + static_cast<std::uint32_t>(0), static_cast<std::uint8_t>(aot_gpr_7));
ctx.gpr[1] = (static_cast<std::uint32_t>(static_cast<std::int32_t>(aot_gpr_7) >> 8u));
aot_mem.aot_direct_store8(aot_gpr_4 + 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_mem.aot_direct_load8(aot_gpr_5 + static_cast<std::uint32_t>(3)));
aot_gpr_6 = (aot_mem.aot_direct_load_word_right(aot_gpr_4 + static_cast<std::uint32_t>(0), aot_gpr_6));
aot_gpr_6 = (aot_mem.aot_direct_load_word_left(aot_gpr_4 + static_cast<std::uint32_t>(3), aot_gpr_6));
aot_gpr_6 = (aot_gpr_6 & 65535u);
aot_gpr_7 = (aot_gpr_4 + aot_gpr_6);
aot_gpr_6 = (aot_gpr_6 + static_cast<std::uint32_t>(1));
aot_mem.aot_direct_store8(aot_gpr_4 + 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_4 + static_cast<std::uint32_t>(1), static_cast<std::uint8_t>(ctx.gpr[1]));
jump_target = aot_gpr_31;
aot_mem.aot_direct_store8(aot_gpr_7 + static_cast<std::uint32_t>(0), static_cast<std::uint8_t>(aot_gpr_5));
// PSPRECOMP_V813_JR_FAST_EXIT: preserve the exact 256-transfer boundary; common JR path is shared.
if (++local_transfers < 256u) goto LOCAL_JR_DISPATCH;
// PSPRECOMP_V812_SHARED_SCHED_JUMP
goto LOCAL_SCHED_BOUNDARY;
L_08964CC8:
aot_gpr_4 = (aot_gpr_4 + static_cast<std::uint32_t>(4));
aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast<std::uint32_t>(0)));
aot_gpr_7 = (aot_gpr_6 + static_cast<std::uint32_t>(1));
aot_mem.aot_direct_store32(aot_gpr_4 + static_cast<std::uint32_t>(0), aot_gpr_7);
aot_gpr_6 = (aot_mem.aot_direct_load8(aot_gpr_6 + static_cast<std::uint32_t>(0)));
aot_gpr_7 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast<std::uint32_t>(0)));
ctx.gpr[8] = (aot_gpr_7 + static_cast<std::uint32_t>(1));
aot_mem.aot_direct_store32(aot_gpr_4 + static_cast<std::uint32_t>(0), ctx.gpr[8]);
aot_gpr_7 = (aot_mem.aot_direct_load8(aot_gpr_7 + static_cast<std::uint32_t>(0)));
aot_gpr_7 = (aot_gpr_7 << 8u);
aot_gpr_6 = (aot_gpr_6 | aot_gpr_7);
aot_gpr_6 = (aot_gpr_6 & 65535u);
aot_gpr_7 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast<std::uint32_t>(0)));
ctx.gpr[8] = (aot_gpr_7 + static_cast<std::uint32_t>(1));
aot_mem.aot_direct_store32(aot_gpr_4 + static_cast<std::uint32_t>(0), ctx.gpr[8]);
aot_gpr_7 = (aot_mem.aot_direct_load8(aot_gpr_7 + static_cast<std::uint32_t>(0)));
ctx.gpr[8] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast<std::uint32_t>(0)));
ctx.gpr[9] = (ctx.gpr[8] + static_cast<std::uint32_t>(1));
aot_mem.aot_direct_store32(aot_gpr_4 + static_cast<std::uint32_t>(0), ctx.gpr[9]);
ctx.gpr[8] = (aot_mem.aot_direct_load8(ctx.gpr[8] + static_cast<std::uint32_t>(0)));
ctx.gpr[8] = (ctx.gpr[8] << 8u);
aot_gpr_7 = (aot_gpr_7 | ctx.gpr[8]);
aot_gpr_7 = (aot_gpr_7 & 65535u);
aot_gpr_7 = (aot_gpr_7 << 16u);
aot_gpr_6 = (aot_gpr_6 | aot_gpr_7);
aot_fpr_12 = std::bit_cast<float>(aot_gpr_6);
aot_mem.aot_direct_store32(aot_gpr_5 + static_cast<std::uint32_t>(0), std::bit_cast<std::uint32_t>(aot_fpr_12));
aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast<std::uint32_t>(0)));
aot_gpr_7 = (aot_gpr_6 + static_cast<std::uint32_t>(1));
aot_mem.aot_direct_store32(aot_gpr_4 + static_cast<std::uint32_t>(0), aot_gpr_7);
aot_gpr_6 = (aot_mem.aot_direct_load8(aot_gpr_6 + static_cast<std::uint32_t>(0)));
aot_gpr_7 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast<std::uint32_t>(0)));
ctx.gpr[8] = (aot_gpr_7 + static_cast<std::uint32_t>(1));
aot_mem.aot_direct_store32(aot_gpr_4 + static_cast<std::uint32_t>(0), ctx.gpr[8]);
aot_gpr_7 = (aot_mem.aot_direct_load8(aot_gpr_7 + static_cast<std::uint32_t>(0)));
aot_gpr_7 = (aot_gpr_7 << 8u);
aot_gpr_6 = (aot_gpr_6 | aot_gpr_7);
aot_gpr_6 = (aot_gpr_6 & 65535u);
aot_gpr_7 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast<std::uint32_t>(0)));
ctx.gpr[8] = (aot_gpr_7 + static_cast<std::uint32_t>(1));
aot_mem.aot_direct_store32(aot_gpr_4 + static_cast<std::uint32_t>(0), ctx.gpr[8]);
aot_gpr_7 = (aot_mem.aot_direct_load8(aot_gpr_7 + static_cast<std::uint32_t>(0)));
ctx.gpr[8] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast<std::uint32_t>(0)));
ctx.gpr[9] = (ctx.gpr[8] + static_cast<std::uint32_t>(1));
aot_mem.aot_direct_store32(aot_gpr_4 + static_cast<std::uint32_t>(0), ctx.gpr[9]);
ctx.gpr[8] = (aot_mem.aot_direct_load8(ctx.gpr[8] + static_cast<std::uint32_t>(0)));
ctx.gpr[8] = (ctx.gpr[8] << 8u);
aot_gpr_7 = (aot_gpr_7 | ctx.gpr[8]);
aot_gpr_7 = (aot_gpr_7 & 65535u);
aot_gpr_7 = (aot_gpr_7 << 16u);
aot_gpr_6 = (aot_gpr_6 | aot_gpr_7);
aot_fpr_12 = std::bit_cast<float>(aot_gpr_6);
aot_mem.aot_direct_store32(aot_gpr_5 + static_cast<std::uint32_t>(4), std::bit_cast<std::uint32_t>(aot_fpr_12));
aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast<std::uint32_t>(0)));
aot_gpr_7 = (aot_gpr_6 + static_cast<std::uint32_t>(1));
aot_mem.aot_direct_store32(aot_gpr_4 + static_cast<std::uint32_t>(0), aot_gpr_7);
aot_gpr_6 = (aot_mem.aot_direct_load8(aot_gpr_6 + static_cast<std::uint32_t>(0)));
aot_gpr_7 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast<std::uint32_t>(0)));
ctx.gpr[8] = (aot_gpr_7 + static_cast<std::uint32_t>(1));
aot_mem.aot_direct_store32(aot_gpr_4 + static_cast<std::uint32_t>(0), ctx.gpr[8]);
aot_gpr_7 = (aot_mem.aot_direct_load8(aot_gpr_7 + static_cast<std::uint32_t>(0)));
aot_gpr_7 = (aot_gpr_7 << 8u);
aot_gpr_6 = (aot_gpr_6 | aot_gpr_7);
aot_gpr_6 = (aot_gpr_6 & 65535u);
aot_gpr_7 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast<std::uint32_t>(0)));
ctx.gpr[8] = (aot_gpr_7 + static_cast<std::uint32_t>(1));
aot_mem.aot_direct_store32(aot_gpr_4 + static_cast<std::uint32_t>(0), ctx.gpr[8]);
aot_gpr_7 = (aot_mem.aot_direct_load8(aot_gpr_7 + static_cast<std::uint32_t>(0)));
ctx.gpr[8] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast<std::uint32_t>(0)));
ctx.gpr[9] = (ctx.gpr[8] + static_cast<std::uint32_t>(1));
aot_mem.aot_direct_store32(aot_gpr_4 + static_cast<std::uint32_t>(0), ctx.gpr[9]);
aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[8] + static_cast<std::uint32_t>(0)));
aot_gpr_4 = (aot_gpr_4 << 8u);
aot_gpr_4 = (aot_gpr_7 | aot_gpr_4);
aot_gpr_4 = (aot_gpr_4 & 65535u);
aot_gpr_4 = (aot_gpr_4 << 16u);
aot_gpr_4 = (aot_gpr_6 | aot_gpr_4);
aot_fpr_12 = std::bit_cast<float>(aot_gpr_4);
jump_target = aot_gpr_31;
aot_mem.aot_direct_store32(aot_gpr_5 + static_cast<std::uint32_t>(8), std::bit_cast<std::uint32_t>(aot_fpr_12));
// PSPRECOMP_V813_JR_FAST_EXIT: preserve the exact 256-transfer boundary; common JR path is shared.
if (++local_transfers < 256u) goto LOCAL_JR_DISPATCH;
// PSPRECOMP_V812_SHARED_SCHED_JUMP
goto LOCAL_SCHED_BOUNDARY;
L_08964E08:
aot_gpr_4 = (aot_gpr_4 + static_cast<std::uint32_t>(4));
aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast<std::uint32_t>(0)));
aot_gpr_7 = (aot_gpr_6 + static_cast<std::uint32_t>(1));
aot_mem.aot_direct_store32(aot_gpr_4 + static_cast<std::uint32_t>(0), aot_gpr_7);
aot_gpr_6 = (aot_mem.aot_direct_load8(aot_gpr_6 + static_cast<std::uint32_t>(0)));
aot_gpr_7 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast<std::uint32_t>(0)));
ctx.gpr[8] = (aot_gpr_7 + static_cast<std::uint32_t>(1));
aot_mem.aot_direct_store32(aot_gpr_4 + static_cast<std::uint32_t>(0), ctx.gpr[8]);
aot_gpr_7 = (aot_mem.aot_direct_load8(aot_gpr_7 + static_cast<std::uint32_t>(0)));
aot_gpr_7 = (aot_gpr_7 << 8u);
aot_gpr_6 = (aot_gpr_6 | aot_gpr_7);
aot_gpr_6 = (aot_gpr_6 & 65535u);
aot_gpr_7 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast<std::uint32_t>(0)));
ctx.gpr[8] = (aot_gpr_7 + static_cast<std::uint32_t>(1));
aot_mem.aot_direct_store32(aot_gpr_4 + static_cast<std::uint32_t>(0), ctx.gpr[8]);
aot_gpr_7 = (aot_mem.aot_direct_load8(aot_gpr_7 + static_cast<std::uint32_t>(0)));
ctx.gpr[8] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast<std::uint32_t>(0)));
ctx.gpr[9] = (ctx.gpr[8] + static_cast<std::uint32_t>(1));
aot_mem.aot_direct_store32(aot_gpr_4 + static_cast<std::uint32_t>(0), ctx.gpr[9]);
ctx.gpr[8] = (aot_mem.aot_direct_load8(ctx.gpr[8] + static_cast<std::uint32_t>(0)));
ctx.gpr[8] = (ctx.gpr[8] << 8u);
aot_gpr_7 = (aot_gpr_7 | ctx.gpr[8]);
aot_gpr_7 = (aot_gpr_7 & 65535u);
aot_gpr_7 = (aot_gpr_7 << 16u);
aot_gpr_6 = (aot_gpr_6 | aot_gpr_7);
aot_fpr_12 = std::bit_cast<float>(aot_gpr_6);
aot_mem.aot_direct_store32(aot_gpr_5 + static_cast<std::uint32_t>(0), std::bit_cast<std::uint32_t>(aot_fpr_12));
aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast<std::uint32_t>(0)));
aot_gpr_7 = (aot_gpr_6 + static_cast<std::uint32_t>(1));
aot_mem.aot_direct_store32(aot_gpr_4 + static_cast<std::uint32_t>(0), aot_gpr_7);
aot_gpr_6 = (aot_mem.aot_direct_load8(aot_gpr_6 + static_cast<std::uint32_t>(0)));
aot_gpr_7 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast<std::uint32_t>(0)));
ctx.gpr[8] = (aot_gpr_7 + static_cast<std::uint32_t>(1));
aot_mem.aot_direct_store32(aot_gpr_4 + static_cast<std::uint32_t>(0), ctx.gpr[8]);
aot_gpr_7 = (aot_mem.aot_direct_load8(aot_gpr_7 + static_cast<std::uint32_t>(0)));
aot_gpr_7 = (aot_gpr_7 << 8u);
aot_gpr_6 = (aot_gpr_6 | aot_gpr_7);
aot_gpr_6 = (aot_gpr_6 & 65535u);
aot_gpr_7 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast<std::uint32_t>(0)));
ctx.gpr[8] = (aot_gpr_7 + static_cast<std::uint32_t>(1));
aot_mem.aot_direct_store32(aot_gpr_4 + static_cast<std::uint32_t>(0), ctx.gpr[8]);
aot_gpr_7 = (aot_mem.aot_direct_load8(aot_gpr_7 + static_cast<std::uint32_t>(0)));
ctx.gpr[8] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast<std::uint32_t>(0)));
ctx.gpr[9] = (ctx.gpr[8] + static_cast<std::uint32_t>(1));
aot_mem.aot_direct_store32(aot_gpr_4 + static_cast<std::uint32_t>(0), ctx.gpr[9]);
aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[8] + static_cast<std::uint32_t>(0)));
aot_gpr_4 = (aot_gpr_4 << 8u);
aot_gpr_4 = (aot_gpr_7 | aot_gpr_4);
aot_gpr_4 = (aot_gpr_4 & 65535u);
aot_gpr_4 = (aot_gpr_4 << 16u);
aot_gpr_4 = (aot_gpr_6 | aot_gpr_4);
aot_fpr_12 = std::bit_cast<float>(aot_gpr_4);
jump_target = aot_gpr_31;
aot_mem.aot_direct_store32(aot_gpr_5 + static_cast<std::uint32_t>(4), std::bit_cast<std::uint32_t>(aot_fpr_12));
// PSPRECOMP_V813_JR_FAST_EXIT: preserve the exact 256-transfer boundary; common JR path is shared.
if (++local_transfers < 256u) goto LOCAL_JR_DISPATCH;
// PSPRECOMP_V812_SHARED_SCHED_JUMP
goto LOCAL_SCHED_BOUNDARY;
L_08964EE0:
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(-16));
{ const std::uint32_t aot_run_words[3]{ctx.gpr[16], ctx.gpr[17], aot_gpr_31};
aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast<std::uint32_t>(0), aot_run_words); }
ctx.gpr[17] = (aot_gpr_4 + static_cast<std::uint32_t>(4));
ctx.gpr[16] = (aot_gpr_5 | 0u);
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + 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[17] + static_cast<std::uint32_t>(0), aot_gpr_5);
aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast<std::uint32_t>(0)));
aot_gpr_4 = (ctx.gpr[16] | 0u);
aot_gpr_31 = (0x08964F14u);
aot_gpr_6 = (0u | 32u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 272u, 0x08B652B8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08964F14u) goto L_08964F14;
AOT_REGCACHE_SYNC_OUT(); return;
L_08964F14:
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast<std::uint32_t>(4)));
aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast<std::uint32_t>(0)));
aot_gpr_5 = (aot_gpr_4 + aot_gpr_5);
{ const bool branch_taken = aot_gpr_4 == aot_gpr_5;
if (branch_taken) {
goto L_08964F54;
}
goto L_08964F28;
}
L_08964F28:
aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[17] + 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[17] + 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_mem.aot_direct_store8(aot_gpr_4 + static_cast<std::uint32_t>(0), static_cast<std::uint8_t>(aot_gpr_5));
aot_gpr_4 = (aot_gpr_4 + static_cast<std::uint32_t>(1));
aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast<std::uint32_t>(4)));
aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast<std::uint32_t>(0)));
aot_gpr_5 = (aot_gpr_5 + aot_gpr_6);
{ const bool branch_taken = aot_gpr_4 != aot_gpr_5;
if (branch_taken) {
goto L_08964F28;
}
goto L_08964F54;
}
L_08964F54:
{ std::uint32_t aot_run_words[3]{};
aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast<std::uint32_t>(0), aot_run_words);
ctx.gpr[16] = aot_run_words[0];
ctx.gpr[17] = aot_run_words[1];
aot_gpr_31 = aot_run_words[2];
}
jump_target = aot_gpr_31;
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(16));
// PSPRECOMP_V813_JR_FAST_EXIT: preserve the exact 256-transfer boundary; common JR path is shared.
if (++local_transfers < 256u) goto LOCAL_JR_DISPATCH;
// PSPRECOMP_V812_SHARED_SCHED_JUMP
goto LOCAL_SCHED_BOUNDARY;
L_08964F68:
aot_gpr_4 = (aot_gpr_4 + static_cast<std::uint32_t>(4));
aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast<std::uint32_t>(0)));
aot_gpr_7 = (aot_gpr_6 + static_cast<std::uint32_t>(1));
aot_mem.aot_direct_store32(aot_gpr_4 + static_cast<std::uint32_t>(0), aot_gpr_7);
aot_gpr_6 = (aot_mem.aot_direct_load8(aot_gpr_6 + static_cast<std::uint32_t>(0)));
aot_mem.aot_direct_store8(aot_gpr_5 + static_cast<std::uint32_t>(0), static_cast<std::uint8_t>(aot_gpr_6));
aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast<std::uint32_t>(0)));
aot_gpr_7 = (aot_gpr_6 + static_cast<std::uint32_t>(1));
aot_mem.aot_direct_store32(aot_gpr_4 + static_cast<std::uint32_t>(0), aot_gpr_7);
aot_gpr_6 = (aot_mem.aot_direct_load8(aot_gpr_6 + static_cast<std::uint32_t>(0)));
aot_mem.aot_direct_store8(aot_gpr_5 + static_cast<std::uint32_t>(1), static_cast<std::uint8_t>(aot_gpr_6));
aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast<std::uint32_t>(0)));
aot_gpr_7 = (aot_gpr_6 + static_cast<std::uint32_t>(1));
aot_mem.aot_direct_store32(aot_gpr_4 + static_cast<std::uint32_t>(0), aot_gpr_7);
aot_gpr_6 = (aot_mem.aot_direct_load8(aot_gpr_6 + static_cast<std::uint32_t>(0)));
aot_mem.aot_direct_store8(aot_gpr_5 + static_cast<std::uint32_t>(2), static_cast<std::uint8_t>(aot_gpr_6));
aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast<std::uint32_t>(0)));
aot_gpr_7 = (aot_gpr_6 + static_cast<std::uint32_t>(1));
aot_mem.aot_direct_store32(aot_gpr_4 + static_cast<std::uint32_t>(0), aot_gpr_7);
aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_6 + static_cast<std::uint32_t>(0)));
jump_target = aot_gpr_31;
aot_mem.aot_direct_store8(aot_gpr_5 + static_cast<std::uint32_t>(3), static_cast<std::uint8_t>(aot_gpr_4));
// PSPRECOMP_V813_JR_FAST_EXIT: preserve the exact 256-transfer boundary; common JR path is shared.
if (++local_transfers < 256u) goto LOCAL_JR_DISPATCH;
// PSPRECOMP_V812_SHARED_SCHED_JUMP
goto LOCAL_SCHED_BOUNDARY;
L_08964FC0:
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(-16));
aot_mem.aot_direct_store8(aot_gpr_29 + static_cast<std::uint32_t>(0), static_cast<std::uint8_t>(0u));
ctx.gpr[2] = (static_cast<std::uint32_t>(static_cast<std::int32_t>(static_cast<std::int8_t>(aot_mem.aot_direct_load8(aot_gpr_29 + static_cast<std::uint32_t>(0))))));
jump_target = aot_gpr_31;
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(16));
// PSPRECOMP_V813_JR_FAST_EXIT: preserve the exact 256-transfer boundary; common JR path is shared.
if (++local_transfers < 256u) goto LOCAL_JR_DISPATCH;
// PSPRECOMP_V812_SHARED_SCHED_JUMP
goto LOCAL_SCHED_BOUNDARY;
L_08964FD4:
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(-32));
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(32), aot_gpr_5);
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(16), aot_gpr_31);
aot_gpr_31 = (0x08964FE8u);
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_29 + static_cast<std::uint32_t>(32))))));
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0088->0165.
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
AOT_REGCACHE_SYNC_OUT();
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0088_entry, 88u, 0x08964FE8u, 0x08A9AC30u)) {
#if defined(__clang__)
[[clang::musttail]] return recomp_unit_0165_entry(rt, ctx, 338u, aot_mem);
#else
recomp_unit_0165_entry(rt, ctx, 338u, aot_mem); return;
#endif
}
return;
#else
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0165_entry, 165u, 338u, 0x08A9AC30u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08964FE8u) goto L_08964FE8;
AOT_REGCACHE_SYNC_OUT(); return;
#endif
L_08964FE8:
aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(16)));
jump_target = aot_gpr_31;
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(32));
// PSPRECOMP_V813_JR_FAST_EXIT: preserve the exact 256-transfer boundary; common JR path is shared.
if (++local_transfers < 256u) goto LOCAL_JR_DISPATCH;
// PSPRECOMP_V812_SHARED_SCHED_JUMP
goto LOCAL_SCHED_BOUNDARY;
L_08964FF4:
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(-16));
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(0), ctx.gpr[16]);
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(4), aot_gpr_31);
aot_gpr_31 = (0x08965008u);
ctx.gpr[16] = (aot_gpr_4 | 0u);
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0088->0120.
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
AOT_REGCACHE_SYNC_OUT();
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0088_entry, 90u, 0x08965008u, 0x089E7E00u)) {
#if defined(__clang__)
[[clang::musttail]] return recomp_unit_0120_entry(rt, ctx, 844u, aot_mem);
#else
recomp_unit_0120_entry(rt, ctx, 844u, aot_mem); return;
#endif
}
return;
#else
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0120_entry, 120u, 844u, 0x089E7E00u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08965008u) goto L_08965008;
AOT_REGCACHE_SYNC_OUT(); return;
#endif
L_08965008:
aot_gpr_4 = (2235u << 16u);
aot_gpr_4 = (aot_gpr_4 + static_cast<std::uint32_t>(-27076));
aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast<std::uint32_t>(4), aot_gpr_4);
aot_gpr_4 = (ctx.gpr[28] + static_cast<std::uint32_t>(5824));
aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast<std::uint32_t>(32), 0u);
aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast<std::uint32_t>(36), aot_gpr_4);
ctx.gpr[2] = (ctx.gpr[16] | 0u);
ctx.gpr[16] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(0)));
aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(4)));
jump_target = aot_gpr_31;
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(16));
// PSPRECOMP_V813_JR_FAST_EXIT: preserve the exact 256-transfer boundary; common JR path is shared.
if (++local_transfers < 256u) goto LOCAL_JR_DISPATCH;
// PSPRECOMP_V812_SHARED_SCHED_JUMP
goto LOCAL_SCHED_BOUNDARY;
L_08965034:
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(-32));
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(8), std::bit_cast<std::uint32_t>(ctx.fpr[24]));
ctx.fpr[24] = std::bit_cast<float>(0u);
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(0), std::bit_cast<std::uint32_t>(ctx.fpr[20]));
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(4), std::bit_cast<std::uint32_t>(ctx.fpr[22]));
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(12), ctx.gpr[16]);
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(16), ctx.gpr[17]);
ctx.fpr[20] = std::bit_cast<float>(std::bit_cast<std::uint32_t>(aot_fpr_13));
ctx.gpr[16] = (aot_gpr_4 | 0u);
ctx.fpr[22] = std::bit_cast<float>(std::bit_cast<std::uint32_t>(aot_fpr_12));
ctx.gpr[17] = (aot_gpr_5 | 0u);
aot_fpr_14 = std::bit_cast<float>(std::bit_cast<std::uint32_t>(ctx.fpr[24]));
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(20), aot_gpr_31);
aot_gpr_31 = (0x08965070u);
aot_fpr_15 = std::bit_cast<float>(std::bit_cast<std::uint32_t>(ctx.fpr[24]));
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0088->0120.
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
AOT_REGCACHE_SYNC_OUT();
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0088_entry, 92u, 0x08965070u, 0x089E7E64u)) {
#if defined(__clang__)
[[clang::musttail]] return recomp_unit_0120_entry(rt, ctx, 846u, aot_mem);
#else
recomp_unit_0120_entry(rt, ctx, 846u, aot_mem); return;
#endif
}
return;
#else
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0120_entry, 120u, 846u, 0x089E7E64u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08965070u) goto L_08965070;
AOT_REGCACHE_SYNC_OUT(); return;
#endif
L_08965070:
aot_gpr_4 = (2235u << 16u);
aot_gpr_4 = (aot_gpr_4 + static_cast<std::uint32_t>(-27076));
aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast<std::uint32_t>(4), aot_gpr_4);
aot_gpr_4 = (ctx.gpr[28] + static_cast<std::uint32_t>(5824));
aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast<std::uint32_t>(32), 0u);
aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast<std::uint32_t>(36), aot_gpr_4);
aot_gpr_4 = (16179u << 16u);
aot_gpr_4 = (aot_gpr_4 | 13107u);
aot_fpr_12 = std::bit_cast<float>(aot_gpr_4);
aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast<std::uint32_t>(40), static_cast<std::uint8_t>(0u));
aot_gpr_4 = (16204u << 16u);
aot_gpr_4 = (aot_gpr_4 | 52429u);
aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast<std::uint32_t>(44), std::bit_cast<std::uint32_t>(aot_fpr_12));
aot_fpr_12 = std::bit_cast<float>(aot_gpr_4);
aot_gpr_4 = (0u | 480u);
aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast<std::uint32_t>(48), std::bit_cast<std::uint32_t>(aot_fpr_12));
aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast<std::uint32_t>(52), aot_gpr_4);
aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast<std::uint32_t>(56), static_cast<std::uint8_t>(ctx.gpr[17]));
{ const std::uint32_t aot_run_words[4]{std::bit_cast<std::uint32_t>(ctx.fpr[24]), std::bit_cast<std::uint32_t>(ctx.fpr[24]), std::bit_cast<std::uint32_t>(ctx.fpr[22]), std::bit_cast<std::uint32_t>(ctx.fpr[20])};
aot_mem.aot_direct_store32_block(ctx.gpr[16] + static_cast<std::uint32_t>(60), aot_run_words); }
aot_gpr_4 = (0u | 1u);
aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast<std::uint32_t>(76), 0u);
aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast<std::uint32_t>(80), static_cast<std::uint8_t>(aot_gpr_4));
ctx.gpr[2] = (ctx.gpr[16] | 0u);
{ std::uint32_t aot_run_words[6]{};
aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast<std::uint32_t>(0), aot_run_words);
ctx.fpr[20] = std::bit_cast<float>(aot_run_words[0]);
ctx.fpr[22] = std::bit_cast<float>(aot_run_words[1]);
ctx.fpr[24] = std::bit_cast<float>(aot_run_words[2]);
ctx.gpr[16] = aot_run_words[3];
ctx.gpr[17] = aot_run_words[4];
aot_gpr_31 = aot_run_words[5];
}
jump_target = aot_gpr_31;
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(32));
// PSPRECOMP_V813_JR_FAST_EXIT: preserve the exact 256-transfer boundary; common JR path is shared.
if (++local_transfers < 256u) goto LOCAL_JR_DISPATCH;
// PSPRECOMP_V812_SHARED_SCHED_JUMP
goto LOCAL_SCHED_BOUNDARY;
L_089650F8:
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(-16));
aot_fpr_12 = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast<std::uint32_t>(12)));
aot_fpr_14 = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast<std::uint32_t>(60)));
aot_fpr_15 = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast<std::uint32_t>(16)));
aot_fpr_13 = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast<std::uint32_t>(64)));
ctx.fpr[16] = aot_fpr_12 + aot_fpr_14;
aot_fpr_15 = aot_fpr_15 + aot_fpr_13;
aot_fpr_12 = std::bit_cast<float>(0u);
aot_mem.aot_direct_store32(aot_gpr_4 + static_cast<std::uint32_t>(12), std::bit_cast<std::uint32_t>(ctx.fpr[16]));
ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_14 < aot_fpr_12)) ? 0x00800000u : 0u);
{ const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u);
aot_mem.aot_direct_store32(aot_gpr_4 + static_cast<std::uint32_t>(16), std::bit_cast<std::uint32_t>(aot_fpr_15));
if (branch_taken) {
goto L_08965144;
}
goto L_0896512C;
}
L_0896512C:
aot_fpr_15 = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast<std::uint32_t>(12)));
ctx.fpr[16] = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast<std::uint32_t>(68)));
ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_15 <= ctx.fpr[16])) ? 0x00800000u : 0u);
if (((ctx.fcr31 & 0x00800000u) != 0u)) {
aot_fpr_13 = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast<std::uint32_t>(68)));
goto L_089651C0;
}
goto L_08965144;
L_08965144:
ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_14 <= aot_fpr_12)) ? 0x00800000u : 0u);
{ const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u);
if (branch_taken) {
goto L_0896516C;
}
goto L_08965154;
}
L_08965154:
aot_fpr_14 = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast<std::uint32_t>(12)));
aot_fpr_15 = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast<std::uint32_t>(68)));
ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_14 < aot_fpr_15)) ? 0x00800000u : 0u);
if (!((ctx.fcr31 & 0x00800000u) != 0u)) {
aot_fpr_13 = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast<std::uint32_t>(68)));
goto L_089651C0;
}
goto L_0896516C;
L_0896516C:
ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_13 < aot_fpr_12)) ? 0x00800000u : 0u);
{ const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u);
if (branch_taken) {
goto L_08965194;
}
goto L_0896517C;
}
L_0896517C:
aot_fpr_14 = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast<std::uint32_t>(16)));
aot_fpr_15 = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast<std::uint32_t>(72)));
ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_14 <= aot_fpr_15)) ? 0x00800000u : 0u);
if (((ctx.fcr31 & 0x00800000u) != 0u)) {
aot_fpr_13 = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast<std::uint32_t>(68)));
goto L_089651C0;
}
goto L_08965194;
L_08965194:
ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_13 <= aot_fpr_12)) ? 0x00800000u : 0u);
{ const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u);
if (branch_taken) {
goto L_089651DC;
}
goto L_089651A4;
}
L_089651A4:
aot_fpr_13 = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast<std::uint32_t>(16)));
aot_fpr_14 = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast<std::uint32_t>(72)));
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_089651DC;
}
goto L_089651BC;
}
L_089651BC:
aot_fpr_13 = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast<std::uint32_t>(68)));
goto L_089651C0;
L_089651C0:
aot_fpr_14 = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_4 + static_cast<std::uint32_t>(72)));
aot_mem.aot_direct_store32(aot_gpr_4 + static_cast<std::uint32_t>(12), std::bit_cast<std::uint32_t>(aot_fpr_13));
aot_mem.aot_direct_store32(aot_gpr_4 + static_cast<std::uint32_t>(16), std::bit_cast<std::uint32_t>(aot_fpr_14));
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(0), std::bit_cast<std::uint32_t>(aot_fpr_12));
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(4), std::bit_cast<std::uint32_t>(aot_fpr_12));
aot_mem.aot_direct_store32(aot_gpr_4 + static_cast<std::uint32_t>(60), std::bit_cast<std::uint32_t>(aot_fpr_12));
aot_mem.aot_direct_store32(aot_gpr_4 + static_cast<std::uint32_t>(64), std::bit_cast<std::uint32_t>(aot_fpr_12));
goto L_089651DC;
L_089651DC:
jump_target = aot_gpr_31;
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(16));
// PSPRECOMP_V813_JR_FAST_EXIT: preserve the exact 256-transfer boundary; common JR path is shared.
if (++local_transfers < 256u) goto LOCAL_JR_DISPATCH;
// PSPRECOMP_V812_SHARED_SCHED_JUMP
goto LOCAL_SCHED_BOUNDARY;
L_089651E4:
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(-32));
aot_gpr_6 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast<std::uint32_t>(40)));
aot_gpr_7 = (aot_mem.aot_direct_load8(aot_gpr_5 + static_cast<std::uint32_t>(40)));
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(4), ctx.gpr[17]);
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(8), ctx.gpr[18]);
ctx.gpr[18] = (0u | 0u);
ctx.gpr[17] = (aot_gpr_4 | 0u);
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(0), ctx.gpr[16]);
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(12), ctx.gpr[19]);
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(16), aot_gpr_31);
{ const bool branch_taken = aot_gpr_6 != aot_gpr_7;
ctx.gpr[16] = (aot_gpr_5 | 0u);
if (branch_taken) {
goto L_08965340;
}
goto L_08965214;
}
L_08965214:
aot_fpr_12 = std::bit_cast<float>(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast<std::uint32_t>(44)));
aot_fpr_13 = std::bit_cast<float>(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast<std::uint32_t>(44)));
ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((!(std::isnan(aot_fpr_12) || std::isnan(aot_fpr_13)) && aot_fpr_12 == aot_fpr_13)) ? 0x00800000u : 0u);
{ const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u);
aot_gpr_4 = (0u | 0u);
if (branch_taken) {
goto L_08965248;
}
goto L_0896522C;
}
L_0896522C:
aot_fpr_12 = std::bit_cast<float>(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast<std::uint32_t>(48)));
aot_fpr_13 = std::bit_cast<float>(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast<std::uint32_t>(48)));
ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((!(std::isnan(aot_fpr_12) || std::isnan(aot_fpr_13)) && aot_fpr_12 == aot_fpr_13)) ? 0x00800000u : 0u);
{ const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u);
aot_gpr_4 = (aot_gpr_4 & 255u);
if (branch_taken) {
goto L_0896524C;
}
goto L_08965244;
}
L_08965244:
aot_gpr_4 = (0u | 1u);
goto L_08965248;
L_08965248:
aot_gpr_4 = (aot_gpr_4 & 255u);
goto L_0896524C;
L_0896524C:
{ const bool branch_taken = aot_gpr_4 == 0u;
if (branch_taken) {
goto L_08965340;
}
goto L_08965254;
}
L_08965254:
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast<std::uint32_t>(52)));
aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast<std::uint32_t>(52)));
{ const bool branch_taken = aot_gpr_4 != aot_gpr_5;
if (branch_taken) {
goto L_08965340;
}
goto L_08965264;
}
L_08965264:
aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast<std::uint32_t>(56)));
aot_gpr_5 = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast<std::uint32_t>(56)));
{ const bool branch_taken = aot_gpr_4 != aot_gpr_5;
if (branch_taken) {
goto L_08965340;
}
goto L_08965274;
}
L_08965274:
aot_fpr_12 = std::bit_cast<float>(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast<std::uint32_t>(60)));
aot_fpr_13 = std::bit_cast<float>(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast<std::uint32_t>(60)));
ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((!(std::isnan(aot_fpr_12) || std::isnan(aot_fpr_13)) && aot_fpr_12 == aot_fpr_13)) ? 0x00800000u : 0u);
{ const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u);
aot_gpr_4 = (0u | 0u);
if (branch_taken) {
goto L_089652A8;
}
goto L_0896528C;
}
L_0896528C:
aot_fpr_12 = std::bit_cast<float>(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast<std::uint32_t>(64)));
aot_fpr_13 = std::bit_cast<float>(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast<std::uint32_t>(64)));
ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((!(std::isnan(aot_fpr_12) || std::isnan(aot_fpr_13)) && aot_fpr_12 == aot_fpr_13)) ? 0x00800000u : 0u);
{ const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u);
aot_gpr_4 = (aot_gpr_4 & 255u);
if (branch_taken) {
goto L_089652AC;
}
goto L_089652A4;
}
L_089652A4:
aot_gpr_4 = (0u | 1u);
goto L_089652A8;
L_089652A8:
aot_gpr_4 = (aot_gpr_4 & 255u);
goto L_089652AC;
L_089652AC:
{ const bool branch_taken = aot_gpr_4 == 0u;
if (branch_taken) {
goto L_08965340;
}
goto L_089652B4;
}
L_089652B4:
aot_fpr_12 = std::bit_cast<float>(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast<std::uint32_t>(68)));
aot_fpr_13 = std::bit_cast<float>(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast<std::uint32_t>(68)));
ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((!(std::isnan(aot_fpr_12) || std::isnan(aot_fpr_13)) && aot_fpr_12 == aot_fpr_13)) ? 0x00800000u : 0u);
{ const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u);
aot_gpr_4 = (0u | 0u);
if (branch_taken) {
goto L_089652E8;
}
goto L_089652CC;
}
L_089652CC:
aot_fpr_12 = std::bit_cast<float>(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast<std::uint32_t>(72)));
aot_fpr_13 = std::bit_cast<float>(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast<std::uint32_t>(72)));
ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((!(std::isnan(aot_fpr_12) || std::isnan(aot_fpr_13)) && aot_fpr_12 == aot_fpr_13)) ? 0x00800000u : 0u);
{ const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u);
aot_gpr_4 = (aot_gpr_4 & 255u);
if (branch_taken) {
goto L_089652EC;
}
goto L_089652E4;
}
L_089652E4:
aot_gpr_4 = (0u | 1u);
goto L_089652E8;
L_089652E8:
aot_gpr_4 = (aot_gpr_4 & 255u);
goto L_089652EC;
L_089652EC:
{ const bool branch_taken = aot_gpr_4 == 0u;
if (branch_taken) {
goto L_08965340;
}
goto L_089652F4;
}
L_089652F4:
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast<std::uint32_t>(32)));
aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast<std::uint32_t>(32)));
{ const bool branch_taken = aot_gpr_4 != aot_gpr_5;
ctx.gpr[19] = (0u | 0u);
if (branch_taken) {
goto L_08965320;
}
goto L_08965304;
}
L_08965304:
aot_gpr_6 = (aot_gpr_4 | 0u);
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast<std::uint32_t>(36)));
aot_gpr_31 = (0x08965314u);
aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast<std::uint32_t>(36)));
if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B58100, 213u, 23u, 0x08B58100u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_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, 23u, 0x08B58100u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08965314u) goto L_08965314;
AOT_REGCACHE_SYNC_OUT(); return;
L_08965314:
{ const bool branch_taken = ctx.gpr[2] != 0u;
aot_gpr_4 = (ctx.gpr[19] & 255u);
if (branch_taken) {
goto L_08965324;
}
goto L_0896531C;
}
L_0896531C:
ctx.gpr[19] = (0u | 1u);
goto L_08965320;
L_08965320:
aot_gpr_4 = (ctx.gpr[19] & 255u);
goto L_08965324;
L_08965324:
{ const bool branch_taken = aot_gpr_4 == 0u;
if (branch_taken) {
goto L_08965340;
}
goto L_0896532C;
}
L_0896532C:
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast<std::uint32_t>(76)));
aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast<std::uint32_t>(76)));
{ const bool branch_taken = aot_gpr_4 != aot_gpr_5;
if (branch_taken) {
goto L_08965340;
}
goto L_0896533C;
}
L_0896533C:
ctx.gpr[18] = (0u | 1u);
goto L_08965340;
L_08965340:
ctx.gpr[2] = (ctx.gpr[18] & 255u);
{ std::uint32_t aot_run_words[5]{};
aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast<std::uint32_t>(0), aot_run_words);
ctx.gpr[16] = aot_run_words[0];
ctx.gpr[17] = aot_run_words[1];
ctx.gpr[18] = aot_run_words[2];
ctx.gpr[19] = aot_run_words[3];
aot_gpr_31 = aot_run_words[4];
}
jump_target = aot_gpr_31;
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(32));
// PSPRECOMP_V813_JR_FAST_EXIT: preserve the exact 256-transfer boundary; common JR path is shared.
if (++local_transfers < 256u) goto LOCAL_JR_DISPATCH;
// PSPRECOMP_V812_SHARED_SCHED_JUMP
goto LOCAL_SCHED_BOUNDARY;
L_08965360:
ctx.gpr[2] = (2198u << 16u);
jump_target = aot_gpr_31;
ctx.gpr[2] = (ctx.gpr[2] + static_cast<std::uint32_t>(21344));
// PSPRECOMP_V813_JR_FAST_EXIT: preserve the exact 256-transfer boundary; common JR path is shared.
if (++local_transfers < 256u) goto LOCAL_JR_DISPATCH;
// PSPRECOMP_V812_SHARED_SCHED_JUMP
goto LOCAL_SCHED_BOUNDARY;
L_0896536C:
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(-16));
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(0), aot_gpr_31);
aot_gpr_31 = (0x0896537Cu);
goto L_08965360;
L_0896537C:
aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(0)));
jump_target = aot_gpr_31;
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(16));
// PSPRECOMP_V813_JR_FAST_EXIT: preserve the exact 256-transfer boundary; common JR path is shared.
if (++local_transfers < 256u) goto LOCAL_JR_DISPATCH;
// PSPRECOMP_V812_SHARED_SCHED_JUMP
goto LOCAL_SCHED_BOUNDARY;
L_08965388:
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(-16));
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(0), ctx.gpr[16]);
ctx.gpr[16] = (aot_gpr_5 | 0u);
{ const std::uint32_t aot_run_words[3]{ctx.gpr[17], ctx.gpr[18], aot_gpr_31};
aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast<std::uint32_t>(4), aot_run_words); }
aot_gpr_31 = (0x089653A8u);
ctx.gpr[18] = (0u | 0u);
goto L_08965360;
L_089653A8:
if (ctx.gpr[2] == ctx.gpr[16]) {
ctx.gpr[18] = (0u | 1u);
goto L_089653F0;
}
goto L_089653B0;
L_089653B0:
aot_gpr_31 = (0x089653B8u);
ctx.gpr[17] = (0u | 0u);
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0088->0120.
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
AOT_REGCACHE_SYNC_OUT();
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0088_entry, 137u, 0x089653B8u, 0x089E7F48u)) {
#if defined(__clang__)
[[clang::musttail]] return recomp_unit_0120_entry(rt, ctx, 849u, aot_mem);
#else
recomp_unit_0120_entry(rt, ctx, 849u, aot_mem); return;
#endif
}
return;
#else
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0120_entry, 120u, 849u, 0x089E7F48u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089653B8u) goto L_089653B8;
AOT_REGCACHE_SYNC_OUT(); return;
#endif
L_089653B8:
if (ctx.gpr[2] == ctx.gpr[16]) {
ctx.gpr[17] = (0u | 1u);
goto L_089653E0;
}
goto L_089653C0;
L_089653C0:
aot_gpr_31 = (0x089653C8u);
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0088->0165.
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
AOT_REGCACHE_SYNC_OUT();
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0088_entry, 139u, 0x089653C8u, 0x08A9A6CCu)) {
#if defined(__clang__)
[[clang::musttail]] return recomp_unit_0165_entry(rt, ctx, 295u, aot_mem);
#else
recomp_unit_0165_entry(rt, ctx, 295u, aot_mem); return;
#endif
}
return;
#else
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0165_entry, 165u, 295u, 0x08A9A6CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089653C8u) goto L_089653C8;
AOT_REGCACHE_SYNC_OUT(); return;
#endif
L_089653C8:
aot_gpr_4 = (ctx.gpr[2] ^ ctx.gpr[16]);
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;
aot_gpr_4 = (ctx.gpr[17] & 255u);
if (branch_taken) {
goto L_089653E4;
}
goto L_089653DC;
}
L_089653DC:
ctx.gpr[17] = (0u | 1u);
goto L_089653E0;
L_089653E0:
aot_gpr_4 = (ctx.gpr[17] & 255u);
goto L_089653E4;
L_089653E4:
{ const bool branch_taken = aot_gpr_4 == 0u;
if (branch_taken) {
goto L_089653F0;
}
goto L_089653EC;
}
L_089653EC:
ctx.gpr[18] = (0u | 1u);
goto L_089653F0;
L_089653F0:
ctx.gpr[2] = (ctx.gpr[18] & 255u);
{ std::uint32_t aot_run_words[4]{};
aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast<std::uint32_t>(0), aot_run_words);
ctx.gpr[16] = aot_run_words[0];
ctx.gpr[17] = aot_run_words[1];
ctx.gpr[18] = aot_run_words[2];
aot_gpr_31 = aot_run_words[3];
}
jump_target = aot_gpr_31;
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(16));
// PSPRECOMP_V813_JR_FAST_EXIT: preserve the exact 256-transfer boundary; common JR path is shared.
if (++local_transfers < 256u) goto LOCAL_JR_DISPATCH;
// PSPRECOMP_V812_SHARED_SCHED_JUMP
goto LOCAL_SCHED_BOUNDARY;
L_0896540C:
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(-16));
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(4), ctx.gpr[17]);
ctx.gpr[17] = (aot_gpr_4 | 0u);
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(0), ctx.gpr[16]);
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(8), aot_gpr_31);
{ const bool branch_taken = aot_gpr_4 == 0u;
ctx.gpr[16] = (aot_gpr_5 | 0u);
if (branch_taken) {
goto L_0896545C;
}
goto L_08965428;
}
L_08965428:
aot_gpr_4 = (2235u << 16u);
aot_gpr_4 = (aot_gpr_4 + static_cast<std::uint32_t>(-27252));
aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast<std::uint32_t>(108), aot_gpr_4);
aot_gpr_31 = (0x0896543Cu);
aot_gpr_4 = (ctx.gpr[17] | 0u);
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0088->0165.
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
AOT_REGCACHE_SYNC_OUT();
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0088_entry, 147u, 0x0896543Cu, 0x08A9B6A8u)) {
#if defined(__clang__)
[[clang::musttail]] return recomp_unit_0165_entry(rt, ctx, 425u, aot_mem);
#else
recomp_unit_0165_entry(rt, ctx, 425u, aot_mem); return;
#endif
}
return;
#else
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0165_entry, 165u, 425u, 0x08A9B6A8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0896543Cu) goto L_0896543C;
AOT_REGCACHE_SYNC_OUT(); return;
#endif
L_0896543C:
aot_gpr_4 = (ctx.gpr[17] | 0u);
aot_gpr_31 = (0x08965448u);
aot_gpr_5 = (0u | 0u);
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0088->0121.
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
AOT_REGCACHE_SYNC_OUT();
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0088_entry, 148u, 0x08965448u, 0x089E815Cu)) {
#if defined(__clang__)
[[clang::musttail]] return recomp_unit_0121_entry(rt, ctx, 24u, aot_mem);
#else
recomp_unit_0121_entry(rt, ctx, 24u, aot_mem); return;
#endif
}
return;
#else
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0121_entry, 121u, 24u, 0x089E815Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08965448u) goto L_08965448;
AOT_REGCACHE_SYNC_OUT(); return;
#endif
L_08965448:
aot_gpr_4 = (ctx.gpr[16] & 1u);
{ const bool branch_taken = aot_gpr_4 == 0u;
if (branch_taken) {
goto L_0896545C;
}
goto L_08965454;
}
L_08965454:
aot_gpr_31 = (0x0896545Cu);
aot_gpr_4 = (ctx.gpr[17] | 0u);
if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2C0, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0896545Cu) goto L_0896545C;
AOT_REGCACHE_SYNC_OUT(); return;
L_0896545C:
{ std::uint32_t aot_run_words[3]{};
aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast<std::uint32_t>(0), aot_run_words);
ctx.gpr[16] = aot_run_words[0];
ctx.gpr[17] = aot_run_words[1];
aot_gpr_31 = aot_run_words[2];
}
jump_target = aot_gpr_31;
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(16));
// PSPRECOMP_V813_JR_FAST_EXIT: preserve the exact 256-transfer boundary; common JR path is shared.
if (++local_transfers < 256u) goto LOCAL_JR_DISPATCH;
// PSPRECOMP_V812_SHARED_SCHED_JUMP
goto LOCAL_SCHED_BOUNDARY;
L_08965470:
jump_target = aot_gpr_31;
ctx.gpr[2] = (0u | 6u);
// PSPRECOMP_V813_JR_FAST_EXIT: preserve the exact 256-transfer boundary; common JR path is shared.
if (++local_transfers < 256u) goto LOCAL_JR_DISPATCH;
// PSPRECOMP_V812_SHARED_SCHED_JUMP
goto LOCAL_SCHED_BOUNDARY;
L_08965478:
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(-16));
aot_gpr_4 = (0u | 0u);
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(0), aot_gpr_4);
aot_gpr_4 = (2237u << 16u);
aot_gpr_5 = (0u | 84u);
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(4), ctx.gpr[16]);
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(8), aot_gpr_31);
aot_gpr_31 = (0x0896549Cu);
aot_gpr_4 = (aot_gpr_4 + static_cast<std::uint32_t>(-29120));
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0088->0174.
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
AOT_REGCACHE_SYNC_OUT();
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0088_entry, 153u, 0x0896549Cu, 0x08ABE57Cu)) {
#if defined(__clang__)
[[clang::musttail]] return recomp_unit_0174_entry(rt, ctx, 501u, aot_mem);
#else
recomp_unit_0174_entry(rt, ctx, 501u, aot_mem); return;
#endif
}
return;
#else
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 == 0x0896549Cu) goto L_0896549C;
AOT_REGCACHE_SYNC_OUT(); return;
#endif
L_0896549C:
ctx.gpr[16] = (ctx.gpr[2] | 0u);
{ const bool branch_taken = ctx.gpr[16] == 0u;
ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(0)));
if (branch_taken) {
goto L_089654B4;
}
goto L_089654A8;
}
L_089654A8:
aot_gpr_31 = (0x089654B0u);
aot_gpr_4 = (ctx.gpr[16] | 0u);
goto L_08964FF4;
L_089654B0:
ctx.gpr[2] = (ctx.gpr[16] | 0u);
goto L_089654B4;
L_089654B4:
ctx.gpr[16] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(4)));
aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(8)));
jump_target = aot_gpr_31;
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(16));
// PSPRECOMP_V813_JR_FAST_EXIT: preserve the exact 256-transfer boundary; common JR path is shared.
if (++local_transfers < 256u) goto LOCAL_JR_DISPATCH;
// PSPRECOMP_V812_SHARED_SCHED_JUMP
goto LOCAL_SCHED_BOUNDARY;
L_089654C4:
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(-16));
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(0), aot_gpr_31);
{ const bool branch_taken = aot_gpr_5 == 0u;
aot_gpr_4 = (aot_gpr_5 | 0u);
if (branch_taken) {
goto L_089654F0;
}
goto L_089654D4;
}
L_089654D4:
aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast<std::uint32_t>(4)));
aot_gpr_5 = (0u | 3u);
aot_gpr_6 = (aot_gpr_6 + static_cast<std::uint32_t>(8));
aot_gpr_7 = (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_6 = (aot_mem.aot_direct_load32(aot_gpr_6 + static_cast<std::uint32_t>(4)));
jump_target = aot_gpr_6;
aot_gpr_31 = (0x089654F0u);
aot_gpr_4 = (aot_gpr_4 + aot_gpr_7);
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 == 0x089654F0u) goto L_089654F0;
AOT_REGCACHE_SYNC_OUT(); return;
L_089654F0:
aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(0)));
jump_target = aot_gpr_31;
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(16));
// PSPRECOMP_V813_JR_FAST_EXIT: preserve the exact 256-transfer boundary; common JR path is shared.
if (++local_transfers < 256u) goto LOCAL_JR_DISPATCH;
// PSPRECOMP_V812_SHARED_SCHED_JUMP
goto LOCAL_SCHED_BOUNDARY;
L_089654FC:
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(-16));
aot_gpr_4 = (0u | 0u);
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(4), ctx.gpr[16]);
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(0), aot_gpr_4);
ctx.gpr[16] = (aot_gpr_5 | 0u);
aot_gpr_4 = (2237u << 16u);
aot_gpr_5 = (0u | 84u);
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(8), ctx.gpr[17]);
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(12), aot_gpr_31);
aot_gpr_31 = (0x08965528u);
aot_gpr_4 = (aot_gpr_4 + static_cast<std::uint32_t>(-29120));
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0088->0174.
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
AOT_REGCACHE_SYNC_OUT();
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0088_entry, 161u, 0x08965528u, 0x08ABE57Cu)) {
#if defined(__clang__)
[[clang::musttail]] return recomp_unit_0174_entry(rt, ctx, 501u, aot_mem);
#else
recomp_unit_0174_entry(rt, ctx, 501u, aot_mem); return;
#endif
}
return;
#else
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 == 0x08965528u) goto L_08965528;
AOT_REGCACHE_SYNC_OUT(); return;
#endif
L_08965528:
ctx.gpr[17] = (ctx.gpr[2] | 0u);
{ const bool branch_taken = ctx.gpr[17] == 0u;
ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(0)));
if (branch_taken) {
goto L_089655E8;
}
goto L_08965534;
}
L_08965534:
aot_gpr_4 = (ctx.gpr[17] | 0u);
aot_gpr_31 = (0x08965540u);
aot_gpr_5 = (ctx.gpr[16] | 0u);
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0088->0120.
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
AOT_REGCACHE_SYNC_OUT();
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0088_entry, 163u, 0x08965540u, 0x089E7EF8u)) {
#if defined(__clang__)
[[clang::musttail]] return recomp_unit_0120_entry(rt, ctx, 848u, aot_mem);
#else
recomp_unit_0120_entry(rt, ctx, 848u, aot_mem); return;
#endif
}
return;
#else
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0120_entry, 120u, 848u, 0x089E7EF8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08965540u) goto L_08965540;
AOT_REGCACHE_SYNC_OUT(); return;
#endif
L_08965540:
aot_gpr_4 = (2235u << 16u);
aot_gpr_4 = (aot_gpr_4 + static_cast<std::uint32_t>(-27076));
aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast<std::uint32_t>(4), aot_gpr_4);
aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast<std::uint32_t>(36)));
aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast<std::uint32_t>(32)));
aot_gpr_31 = (0x0896555Cu);
aot_gpr_4 = (ctx.gpr[17] + static_cast<std::uint32_t>(32));
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 283u, 0x08B653C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0896555Cu) goto L_0896555C;
AOT_REGCACHE_SYNC_OUT(); return;
L_0896555C:
aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast<std::uint32_t>(40)));
aot_gpr_5 = (ctx.gpr[16] + static_cast<std::uint32_t>(44));
aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast<std::uint32_t>(40), static_cast<std::uint8_t>(aot_gpr_4));
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_gpr_4 = (ctx.gpr[17] + static_cast<std::uint32_t>(44));
aot_gpr_5 = (std::bit_cast<std::uint32_t>(aot_fpr_12));
aot_mem.aot_direct_store32(aot_gpr_4 + static_cast<std::uint32_t>(0), aot_gpr_5);
aot_gpr_5 = (std::bit_cast<std::uint32_t>(aot_fpr_13));
aot_mem.aot_direct_store32(aot_gpr_4 + static_cast<std::uint32_t>(4), aot_gpr_5);
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast<std::uint32_t>(52)));
aot_gpr_5 = (ctx.gpr[16] + static_cast<std::uint32_t>(60));
aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast<std::uint32_t>(52), aot_gpr_4);
aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast<std::uint32_t>(56)));
aot_gpr_6 = (ctx.gpr[17] + static_cast<std::uint32_t>(60));
aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast<std::uint32_t>(56), static_cast<std::uint8_t>(aot_gpr_4));
aot_fpr_14 = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast<std::uint32_t>(0)));
aot_fpr_12 = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast<std::uint32_t>(4)));
aot_gpr_4 = (std::bit_cast<std::uint32_t>(aot_fpr_14));
aot_gpr_5 = (ctx.gpr[16] + static_cast<std::uint32_t>(68));
aot_gpr_7 = (std::bit_cast<std::uint32_t>(aot_fpr_12));
aot_mem.aot_direct_store32(aot_gpr_6 + static_cast<std::uint32_t>(0), aot_gpr_4);
aot_mem.aot_direct_store32(aot_gpr_6 + static_cast<std::uint32_t>(4), aot_gpr_7);
aot_fpr_13 = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast<std::uint32_t>(0)));
aot_fpr_15 = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast<std::uint32_t>(4)));
aot_gpr_4 = (ctx.gpr[17] + static_cast<std::uint32_t>(68));
aot_gpr_5 = (std::bit_cast<std::uint32_t>(aot_fpr_13));
aot_mem.aot_direct_store32(aot_gpr_4 + static_cast<std::uint32_t>(0), aot_gpr_5);
aot_gpr_5 = (std::bit_cast<std::uint32_t>(aot_fpr_15));
ctx.gpr[2] = (ctx.gpr[17] | 0u);
aot_mem.aot_direct_store32(aot_gpr_4 + static_cast<std::uint32_t>(4), aot_gpr_5);
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast<std::uint32_t>(76)));
aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast<std::uint32_t>(76), aot_gpr_4);
aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast<std::uint32_t>(80)));
aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast<std::uint32_t>(80), static_cast<std::uint8_t>(aot_gpr_4));
goto L_089655E8;
L_089655E8:
{ std::uint32_t aot_run_words[3]{};
aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast<std::uint32_t>(4), aot_run_words);
ctx.gpr[16] = aot_run_words[0];
ctx.gpr[17] = aot_run_words[1];
aot_gpr_31 = aot_run_words[2];
}
jump_target = aot_gpr_31;
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(16));
// PSPRECOMP_V813_JR_FAST_EXIT: preserve the exact 256-transfer boundary; common JR path is shared.
if (++local_transfers < 256u) goto LOCAL_JR_DISPATCH;
// PSPRECOMP_V812_SHARED_SCHED_JUMP
goto LOCAL_SCHED_BOUNDARY;
L_089655FC:
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(-16));
aot_gpr_4 = (aot_gpr_5 | 0u);
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(0), aot_gpr_31);
aot_gpr_31 = (0x08965610u);
aot_gpr_5 = (aot_gpr_6 | 0u);
goto L_089651E4;
L_08965610:
aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(0)));
jump_target = aot_gpr_31;
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(16));
// PSPRECOMP_V813_JR_FAST_EXIT: preserve the exact 256-transfer boundary; common JR path is shared.
if (++local_transfers < 256u) goto LOCAL_JR_DISPATCH;
// PSPRECOMP_V812_SHARED_SCHED_JUMP
goto LOCAL_SCHED_BOUNDARY;
L_0896561C:
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(-16));
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(0), ctx.gpr[16]);
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(4), aot_gpr_31);
aot_gpr_31 = (0x08965630u);
ctx.gpr[16] = (aot_gpr_4 | 0u);
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0088->0120.
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
AOT_REGCACHE_SYNC_OUT();
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0088_entry, 169u, 0x08965630u, 0x089E7FCCu)) {
#if defined(__clang__)
[[clang::musttail]] return recomp_unit_0120_entry(rt, ctx, 858u, aot_mem);
#else
recomp_unit_0120_entry(rt, ctx, 858u, aot_mem); return;
#endif
}
return;
#else
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0120_entry, 120u, 858u, 0x089E7FCCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08965630u) goto L_08965630;
AOT_REGCACHE_SYNC_OUT(); return;
#endif
L_08965630:
aot_gpr_4 = (2234u << 16u);
aot_gpr_4 = (aot_gpr_4 + static_cast<std::uint32_t>(23640));
aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast<std::uint32_t>(108), aot_gpr_4);
ctx.gpr[2] = (ctx.gpr[16] | 0u);
ctx.gpr[16] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(0)));
aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(4)));
jump_target = aot_gpr_31;
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(16));
// PSPRECOMP_V813_JR_FAST_EXIT: preserve the exact 256-transfer boundary; common JR path is shared.
if (++local_transfers < 256u) goto LOCAL_JR_DISPATCH;
// PSPRECOMP_V812_SHARED_SCHED_JUMP
goto LOCAL_SCHED_BOUNDARY;
L_08965650:
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(-64));
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(24), std::bit_cast<std::uint32_t>(aot_fpr_13));
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(28), std::bit_cast<std::uint32_t>(aot_fpr_12));
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(40), ctx.gpr[17]);
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(32), aot_gpr_6);
ctx.gpr[17] = (aot_gpr_4 | 0u);
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(36), ctx.gpr[16]);
{ const std::uint32_t aot_run_words[3]{ctx.gpr[18], ctx.gpr[19], aot_gpr_31};
aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast<std::uint32_t>(44), aot_run_words); }
aot_gpr_31 = (0x08965680u);
ctx.gpr[16] = (aot_gpr_5 | 0u);
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0088->0120.
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
AOT_REGCACHE_SYNC_OUT();
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0088_entry, 171u, 0x08965680u, 0x089E7FCCu)) {
#if defined(__clang__)
[[clang::musttail]] return recomp_unit_0120_entry(rt, ctx, 858u, aot_mem);
#else
recomp_unit_0120_entry(rt, ctx, 858u, aot_mem); return;
#endif
}
return;
#else
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0120_entry, 120u, 858u, 0x089E7FCCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08965680u) goto L_08965680;
AOT_REGCACHE_SYNC_OUT(); return;
#endif
L_08965680:
aot_gpr_4 = (2234u << 16u);
aot_gpr_4 = (aot_gpr_4 + static_cast<std::uint32_t>(23640));
aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast<std::uint32_t>(108), aot_gpr_4);
aot_gpr_4 = (aot_gpr_4 + static_cast<std::uint32_t>(152));
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)));
jump_target = aot_gpr_6;
aot_gpr_31 = (0x089656A0u);
aot_gpr_4 = (ctx.gpr[17] + aot_gpr_5);
ctx.pc = jump_target;
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_call(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089656A0u) goto L_089656A0;
AOT_REGCACHE_SYNC_OUT(); return;
L_089656A0:
aot_gpr_4 = (0u | 0u);
ctx.gpr[19] = (static_cast<std::uint32_t>(static_cast<std::int32_t>(static_cast<std::int16_t>(aot_mem.aot_direct_load16(ctx.gpr[17] + static_cast<std::uint32_t>(10))))));
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(20), aot_gpr_4);
aot_gpr_4 = (2237u << 16u);
aot_gpr_5 = (0u | 84u);
aot_gpr_31 = (0x089656BCu);
aot_gpr_4 = (aot_gpr_4 + static_cast<std::uint32_t>(-29120));
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0088->0174.
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
AOT_REGCACHE_SYNC_OUT();
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0088_entry, 173u, 0x089656BCu, 0x08ABE57Cu)) {
#if defined(__clang__)
[[clang::musttail]] return recomp_unit_0174_entry(rt, ctx, 501u, aot_mem);
#else
recomp_unit_0174_entry(rt, ctx, 501u, aot_mem); return;
#endif
}
return;
#else
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 == 0x089656BCu) goto L_089656BC;
AOT_REGCACHE_SYNC_OUT(); return;
#endif
L_089656BC:
{ std::uint32_t aot_run_words[3]{};
aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast<std::uint32_t>(20), aot_run_words);
aot_gpr_5 = aot_run_words[0];
aot_fpr_12 = std::bit_cast<float>(aot_run_words[1]);
aot_fpr_13 = std::bit_cast<float>(aot_run_words[2]);
}
ctx.gpr[18] = (ctx.gpr[2] | 0u);
{ const bool branch_taken = ctx.gpr[18] == 0u;
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(32)));
if (branch_taken) {
goto L_089656F0;
}
goto L_089656D4;
}
L_089656D4:
aot_fpr_14 = std::bit_cast<float>(std::bit_cast<std::uint32_t>(aot_fpr_12));
aot_gpr_5 = (aot_gpr_4 | 0u);
aot_fpr_12 = std::bit_cast<float>(std::bit_cast<std::uint32_t>(aot_fpr_13));
aot_gpr_4 = (ctx.gpr[18] | 0u);
aot_gpr_31 = (0x089656ECu);
aot_fpr_13 = std::bit_cast<float>(std::bit_cast<std::uint32_t>(aot_fpr_14));
goto L_08965034;
L_089656EC:
aot_gpr_5 = (ctx.gpr[18] | 0u);
goto L_089656F0;
L_089656F0:
aot_gpr_6 = (aot_gpr_5 | 0u);
aot_gpr_4 = (ctx.gpr[17] | 0u);
aot_gpr_31 = (0x08965700u);
aot_gpr_5 = (ctx.gpr[19] | 0u);
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0088->0165.
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
AOT_REGCACHE_SYNC_OUT();
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0088_entry, 177u, 0x08965700u, 0x08A9B9F4u)) {
#if defined(__clang__)
[[clang::musttail]] return recomp_unit_0165_entry(rt, ctx, 456u, aot_mem);
#else
recomp_unit_0165_entry(rt, ctx, 456u, aot_mem); return;
#endif
}
return;
#else
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_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 == 0x08965700u) goto L_08965700;
AOT_REGCACHE_SYNC_OUT(); return;
#endif
L_08965700:
aot_gpr_4 = (2237u << 16u);
aot_gpr_4 = (aot_gpr_4 + static_cast<std::uint32_t>(-28736));
aot_gpr_4 = (aot_gpr_4 + static_cast<std::uint32_t>(116));
aot_gpr_31 = (0x08965714u);
aot_gpr_5 = (ctx.gpr[16] | 0u);
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0088->0075.
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
AOT_REGCACHE_SYNC_OUT();
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0088_entry, 178u, 0x08965714u, 0x08933F0Cu)) {
#if defined(__clang__)
[[clang::musttail]] return recomp_unit_0075_entry(rt, ctx, 759u, aot_mem);
#else
recomp_unit_0075_entry(rt, ctx, 759u, aot_mem); return;
#endif
}
return;
#else
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0075_entry, 75u, 759u, 0x08933F0Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08965714u) goto L_08965714;
AOT_REGCACHE_SYNC_OUT(); return;
#endif
L_08965714:
aot_gpr_4 = (ctx.gpr[2] | 0u);
aot_gpr_31 = (0x08965720u);
aot_gpr_5 = (ctx.gpr[17] | 0u);
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0088->0045.
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
AOT_REGCACHE_SYNC_OUT();
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0088_entry, 179u, 0x08965720u, 0x088BAFE8u)) {
#if defined(__clang__)
[[clang::musttail]] return recomp_unit_0045_entry(rt, ctx, 623u, aot_mem);
#else
recomp_unit_0045_entry(rt, ctx, 623u, aot_mem); return;
#endif
}
return;
#else
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0045_entry, 45u, 623u, 0x088BAFE8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08965720u) goto L_08965720;
AOT_REGCACHE_SYNC_OUT(); return;
#endif
L_08965720:
ctx.gpr[2] = (ctx.gpr[17] | 0u);
{ std::uint32_t aot_run_words[5]{};
aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast<std::uint32_t>(36), aot_run_words);
ctx.gpr[16] = aot_run_words[0];
ctx.gpr[17] = aot_run_words[1];
ctx.gpr[18] = aot_run_words[2];
ctx.gpr[19] = aot_run_words[3];
aot_gpr_31 = aot_run_words[4];
}
jump_target = aot_gpr_31;
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(64));
// PSPRECOMP_V813_JR_FAST_EXIT: preserve the exact 256-transfer boundary; common JR path is shared.
if (++local_transfers < 256u) goto LOCAL_JR_DISPATCH;
// PSPRECOMP_V812_SHARED_SCHED_JUMP
goto LOCAL_SCHED_BOUNDARY;
L_08965740:
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(-16));
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(4), ctx.gpr[17]);
ctx.gpr[17] = (aot_gpr_4 | 0u);
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(0), ctx.gpr[16]);
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(8), aot_gpr_31);
{ const bool branch_taken = aot_gpr_4 == 0u;
ctx.gpr[16] = (aot_gpr_5 | 0u);
if (branch_taken) {
goto L_089657A0;
}
goto L_0896575C;
}
L_0896575C:
aot_gpr_4 = (2234u << 16u);
aot_gpr_4 = (aot_gpr_4 + static_cast<std::uint32_t>(23640));
{ const bool branch_taken = ctx.gpr[17] == 0u;
aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast<std::uint32_t>(108), aot_gpr_4);
if (branch_taken) {
goto L_0896578C;
}
goto L_0896576C;
}
L_0896576C:
aot_gpr_4 = (2235u << 16u);
aot_gpr_4 = (aot_gpr_4 + static_cast<std::uint32_t>(-27252));
aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast<std::uint32_t>(108), aot_gpr_4);
aot_gpr_31 = (0x08965780u);
aot_gpr_4 = (ctx.gpr[17] | 0u);
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0088->0165.
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
AOT_REGCACHE_SYNC_OUT();
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0088_entry, 183u, 0x08965780u, 0x08A9B6A8u)) {
#if defined(__clang__)
[[clang::musttail]] return recomp_unit_0165_entry(rt, ctx, 425u, aot_mem);
#else
recomp_unit_0165_entry(rt, ctx, 425u, aot_mem); return;
#endif
}
return;
#else
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0165_entry, 165u, 425u, 0x08A9B6A8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08965780u) goto L_08965780;
AOT_REGCACHE_SYNC_OUT(); return;
#endif
L_08965780:
aot_gpr_4 = (ctx.gpr[17] | 0u);
aot_gpr_31 = (0x0896578Cu);
aot_gpr_5 = (0u | 0u);
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0088->0121.
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
AOT_REGCACHE_SYNC_OUT();
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0088_entry, 184u, 0x0896578Cu, 0x089E815Cu)) {
#if defined(__clang__)
[[clang::musttail]] return recomp_unit_0121_entry(rt, ctx, 24u, aot_mem);
#else
recomp_unit_0121_entry(rt, ctx, 24u, aot_mem); return;
#endif
}
return;
#else
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0121_entry, 121u, 24u, 0x089E815Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0896578Cu) goto L_0896578C;
AOT_REGCACHE_SYNC_OUT(); return;
#endif
L_0896578C:
aot_gpr_4 = (ctx.gpr[16] & 1u);
{ const bool branch_taken = aot_gpr_4 == 0u;
if (branch_taken) {
goto L_089657A0;
}
goto L_08965798;
}
L_08965798:
aot_gpr_31 = (0x089657A0u);
aot_gpr_4 = (ctx.gpr[17] | 0u);
if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2C0, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 470u, 0x08ABE2C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089657A0u) goto L_089657A0;
AOT_REGCACHE_SYNC_OUT(); return;
L_089657A0:
{ std::uint32_t aot_run_words[3]{};
aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast<std::uint32_t>(0), aot_run_words);
ctx.gpr[16] = aot_run_words[0];
ctx.gpr[17] = aot_run_words[1];
aot_gpr_31 = aot_run_words[2];
}
jump_target = aot_gpr_31;
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(16));
// PSPRECOMP_V813_JR_FAST_EXIT: preserve the exact 256-transfer boundary; common JR path is shared.
if (++local_transfers < 256u) goto LOCAL_JR_DISPATCH;
// PSPRECOMP_V812_SHARED_SCHED_JUMP
goto LOCAL_SCHED_BOUNDARY;
L_089657B4:
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(-32));
aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast<std::uint32_t>(96)));
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(24), ctx.gpr[17]);
ctx.gpr[17] = (aot_gpr_4 | 0u);
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(20), ctx.gpr[16]);
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(28), aot_gpr_31);
{ const bool branch_taken = aot_gpr_6 != 0u;
ctx.gpr[16] = (aot_gpr_5 | 0u);
if (branch_taken) {
goto L_089657F0;
}
goto L_089657D4;
}
L_089657D4:
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[17] + static_cast<std::uint32_t>(10))))));
aot_gpr_6 = (aot_gpr_29 + static_cast<std::uint32_t>(16));
aot_gpr_31 = (0x089657E4u);
aot_gpr_4 = (ctx.gpr[17] | 0u);
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0088->0166.
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
AOT_REGCACHE_SYNC_OUT();
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0088_entry, 189u, 0x089657E4u, 0x08A9C6FCu)) {
#if defined(__clang__)
[[clang::musttail]] return recomp_unit_0166_entry(rt, ctx, 47u, aot_mem);
#else
recomp_unit_0166_entry(rt, ctx, 47u, aot_mem); return;
#endif
}
return;
#else
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 == 0x089657E4u) goto L_089657E4;
AOT_REGCACHE_SYNC_OUT(); return;
#endif
L_089657E4:
aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast<std::uint32_t>(16)));
aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast<std::uint32_t>(96), ctx.gpr[2]);
aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast<std::uint32_t>(4), static_cast<std::uint8_t>(aot_gpr_4));
goto L_089657F0;
L_089657F0:
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast<std::uint32_t>(96)));
aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast<std::uint32_t>(4)));
aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast<std::uint32_t>(0)));
aot_gpr_31 = (0x08965804u);
aot_gpr_4 = (aot_gpr_4 + static_cast<std::uint32_t>(32));
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 319u, 0x08B655B8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08965804u) goto L_08965804;
AOT_REGCACHE_SYNC_OUT(); return;
L_08965804:
{ std::uint32_t aot_run_words[3]{};
aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast<std::uint32_t>(20), aot_run_words);
ctx.gpr[16] = aot_run_words[0];
ctx.gpr[17] = aot_run_words[1];
aot_gpr_31 = aot_run_words[2];
}
jump_target = aot_gpr_31;
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(32));
// PSPRECOMP_V813_JR_FAST_EXIT: preserve the exact 256-transfer boundary; common JR path is shared.
if (++local_transfers < 256u) goto LOCAL_JR_DISPATCH;
// PSPRECOMP_V812_SHARED_SCHED_JUMP
goto LOCAL_SCHED_BOUNDARY;
L_08965818:
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(-32));
aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast<std::uint32_t>(96)));
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(20), ctx.gpr[16]);
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(24), aot_gpr_31);
{ const bool branch_taken = aot_gpr_5 != 0u;
ctx.gpr[16] = (aot_gpr_4 | 0u);
if (branch_taken) {
goto L_0896584C;
}
goto L_08965830;
}
L_08965830:
aot_gpr_5 = (static_cast<std::uint32_t>(static_cast<std::int32_t>(static_cast<std::int16_t>(aot_mem.aot_direct_load16(ctx.gpr[16] + static_cast<std::uint32_t>(10))))));
aot_gpr_6 = (aot_gpr_29 + static_cast<std::uint32_t>(16));
aot_gpr_31 = (0x08965840u);
aot_gpr_4 = (ctx.gpr[16] | 0u);
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0088->0166.
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
AOT_REGCACHE_SYNC_OUT();
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0088_entry, 194u, 0x08965840u, 0x08A9C6FCu)) {
#if defined(__clang__)
[[clang::musttail]] return recomp_unit_0166_entry(rt, ctx, 47u, aot_mem);
#else
recomp_unit_0166_entry(rt, ctx, 47u, aot_mem); return;
#endif
}
return;
#else
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 == 0x08965840u) goto L_08965840;
AOT_REGCACHE_SYNC_OUT(); return;
#endif
L_08965840:
aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast<std::uint32_t>(16)));
aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast<std::uint32_t>(96), ctx.gpr[2]);
aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast<std::uint32_t>(4), static_cast<std::uint8_t>(aot_gpr_4));
goto L_0896584C;
L_0896584C:
ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast<std::uint32_t>(96)));
ctx.gpr[2] = (ctx.gpr[2] + static_cast<std::uint32_t>(32));
ctx.gpr[16] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(20)));
aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(24)));
jump_target = aot_gpr_31;
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(32));
// PSPRECOMP_V813_JR_FAST_EXIT: preserve the exact 256-transfer boundary; common JR path is shared.
if (++local_transfers < 256u) goto LOCAL_JR_DISPATCH;
// PSPRECOMP_V812_SHARED_SCHED_JUMP
goto LOCAL_SCHED_BOUNDARY;
L_08965864:
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(-160));
aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast<std::uint32_t>(96)));
{ const std::uint32_t aot_run_words[4]{std::bit_cast<std::uint32_t>(ctx.fpr[22]), std::bit_cast<std::uint32_t>(ctx.fpr[24]), std::bit_cast<std::uint32_t>(ctx.fpr[26]), ctx.gpr[16]};
aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast<std::uint32_t>(136), aot_run_words); }
ctx.fpr[26] = std::bit_cast<float>(0u);
ctx.gpr[16] = (aot_gpr_4 | 0u);
ctx.fpr[24] = std::bit_cast<float>(std::bit_cast<std::uint32_t>(aot_fpr_12));
ctx.fpr[22] = std::bit_cast<float>(std::bit_cast<std::uint32_t>(aot_fpr_13));
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(132), std::bit_cast<std::uint32_t>(ctx.fpr[20]));
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(152), aot_gpr_31);
{ const bool branch_taken = aot_gpr_5 != 0u;
ctx.fpr[20] = std::bit_cast<float>(std::bit_cast<std::uint32_t>(aot_fpr_14));
if (branch_taken) {
goto L_089658B8;
}
goto L_0896589C;
}
L_0896589C:
aot_gpr_5 = (static_cast<std::uint32_t>(static_cast<std::int32_t>(static_cast<std::int16_t>(aot_mem.aot_direct_load16(ctx.gpr[16] + static_cast<std::uint32_t>(10))))));
aot_gpr_6 = (aot_gpr_29 + static_cast<std::uint32_t>(64));
aot_gpr_31 = (0x089658ACu);
aot_gpr_4 = (ctx.gpr[16] | 0u);
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0088->0166.
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
AOT_REGCACHE_SYNC_OUT();
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0088_entry, 198u, 0x089658ACu, 0x08A9C6FCu)) {
#if defined(__clang__)
[[clang::musttail]] return recomp_unit_0166_entry(rt, ctx, 47u, aot_mem);
#else
recomp_unit_0166_entry(rt, ctx, 47u, aot_mem); return;
#endif
}
return;
#else
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 == 0x089658ACu) goto L_089658AC;
AOT_REGCACHE_SYNC_OUT(); return;
#endif
L_089658AC:
aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast<std::uint32_t>(64)));
aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast<std::uint32_t>(96), ctx.gpr[2]);
aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast<std::uint32_t>(4), static_cast<std::uint8_t>(aot_gpr_4));
goto L_089658B8;
L_089658B8:
ctx.gpr[16] = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast<std::uint32_t>(96)));
ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((ctx.fpr[20] <= ctx.fpr[26])) ? 0x00800000u : 0u);
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(16), std::bit_cast<std::uint32_t>(ctx.fpr[24]));
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(20), std::bit_cast<std::uint32_t>(ctx.fpr[22]));
aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast<std::uint32_t>(68), std::bit_cast<std::uint32_t>(ctx.fpr[24]));
{ const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u);
aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast<std::uint32_t>(72), std::bit_cast<std::uint32_t>(ctx.fpr[22]));
if (branch_taken) {
goto L_089659AC;
}
goto L_089658D4;
}
L_089658D4:
aot_gpr_4 = (16256u << 16u);
aot_fpr_12 = std::bit_cast<float>(aot_gpr_4);
aot_fpr_12 = aot_fpr_12 / ctx.fpr[20];
aot_fpr_13 = std::bit_cast<float>(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast<std::uint32_t>(68)));
aot_fpr_14 = std::bit_cast<float>(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast<std::uint32_t>(12)));
aot_fpr_15 = std::bit_cast<float>(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast<std::uint32_t>(72)));
ctx.fpr[16] = std::bit_cast<float>(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast<std::uint32_t>(16)));
aot_fpr_13 = aot_fpr_13 - aot_fpr_14;
aot_fpr_15 = aot_fpr_15 - ctx.fpr[16];
aot_gpr_4 = (std::bit_cast<std::uint32_t>(aot_fpr_13));
aot_gpr_5 = (std::bit_cast<std::uint32_t>(aot_fpr_15));
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(48), aot_gpr_4);
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(52), aot_gpr_5);
ctx.fpr[17] = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(48)));
ctx.fpr[18] = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(52)));
aot_gpr_4 = (std::bit_cast<std::uint32_t>(ctx.fpr[17]));
aot_gpr_5 = (std::bit_cast<std::uint32_t>(ctx.fpr[18]));
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(32), aot_gpr_4);
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(36), aot_gpr_5);
aot_fpr_14 = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(32)));
ctx.fpr[16] = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(36)));
{ 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_14 = std::bit_cast<float>(0x7FC00000u); else aot_fpr_14 = fs * ft; }
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(68), std::bit_cast<std::uint32_t>(aot_fpr_13));
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(72), std::bit_cast<std::uint32_t>(aot_fpr_15));
{ const float fs = aot_fpr_12; const float ft = ctx.fpr[16]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) aot_fpr_12 = std::bit_cast<float>(0x7FC00000u); else aot_fpr_12 = fs * ft; }
aot_gpr_4 = (std::bit_cast<std::uint32_t>(aot_fpr_14));
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(92), aot_gpr_4);
aot_gpr_5 = (std::bit_cast<std::uint32_t>(aot_fpr_12));
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(96), aot_gpr_5);
aot_fpr_13 = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(92)));
aot_fpr_15 = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(96)));
aot_gpr_4 = (std::bit_cast<std::uint32_t>(aot_fpr_13));
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(100), std::bit_cast<std::uint32_t>(aot_fpr_14));
aot_gpr_5 = (std::bit_cast<std::uint32_t>(aot_fpr_15));
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(84), aot_gpr_4);
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(88), aot_gpr_5);
aot_fpr_14 = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(84)));
ctx.fpr[16] = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(88)));
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(104), std::bit_cast<std::uint32_t>(aot_fpr_12));
aot_gpr_4 = (std::bit_cast<std::uint32_t>(aot_fpr_14));
aot_gpr_5 = (std::bit_cast<std::uint32_t>(ctx.fpr[16]));
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(40), aot_gpr_4);
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(44), aot_gpr_5);
aot_fpr_12 = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(40)));
aot_fpr_13 = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(44)));
aot_gpr_4 = (std::bit_cast<std::uint32_t>(aot_fpr_12));
aot_gpr_5 = (std::bit_cast<std::uint32_t>(aot_fpr_13));
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(24), aot_gpr_4);
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(28), aot_gpr_5);
aot_fpr_15 = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(24)));
aot_fpr_14 = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(28)));
aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast<std::uint32_t>(60), std::bit_cast<std::uint32_t>(aot_fpr_15));
{ const bool branch_taken = 0u == 0u;
aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast<std::uint32_t>(64), std::bit_cast<std::uint32_t>(aot_fpr_14));
if (branch_taken) {
goto L_089659CC;
}
goto L_089659AC;
}
L_089659AC:
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(56), std::bit_cast<std::uint32_t>(ctx.fpr[26]));
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(60), std::bit_cast<std::uint32_t>(ctx.fpr[26]));
aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast<std::uint32_t>(60), std::bit_cast<std::uint32_t>(ctx.fpr[26]));
aot_fpr_12 = std::bit_cast<float>(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast<std::uint32_t>(68)));
aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast<std::uint32_t>(64), std::bit_cast<std::uint32_t>(ctx.fpr[26]));
aot_fpr_13 = std::bit_cast<float>(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast<std::uint32_t>(72)));
aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast<std::uint32_t>(12), std::bit_cast<std::uint32_t>(aot_fpr_12));
aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast<std::uint32_t>(16), std::bit_cast<std::uint32_t>(aot_fpr_13));
goto L_089659CC;
L_089659CC:
{ std::uint32_t aot_run_words[6]{};
aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast<std::uint32_t>(132), aot_run_words);
ctx.fpr[20] = std::bit_cast<float>(aot_run_words[0]);
ctx.fpr[22] = std::bit_cast<float>(aot_run_words[1]);
ctx.fpr[24] = std::bit_cast<float>(aot_run_words[2]);
ctx.fpr[26] = std::bit_cast<float>(aot_run_words[3]);
ctx.gpr[16] = aot_run_words[4];
aot_gpr_31 = aot_run_words[5];
}
jump_target = aot_gpr_31;
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(160));
// PSPRECOMP_V813_JR_FAST_EXIT: preserve the exact 256-transfer boundary; common JR path is shared.
if (++local_transfers < 256u) goto LOCAL_JR_DISPATCH;
// PSPRECOMP_V812_SHARED_SCHED_JUMP
goto LOCAL_SCHED_BOUNDARY;
L_089659EC:
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(-32));
aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast<std::uint32_t>(96)));
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(20), ctx.gpr[16]);
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(24), aot_gpr_31);
{ const bool branch_taken = aot_gpr_5 != 0u;
ctx.gpr[16] = (aot_gpr_4 | 0u);
if (branch_taken) {
goto L_08965A20;
}
goto L_08965A04;
}
L_08965A04:
aot_gpr_5 = (static_cast<std::uint32_t>(static_cast<std::int32_t>(static_cast<std::int16_t>(aot_mem.aot_direct_load16(ctx.gpr[16] + static_cast<std::uint32_t>(10))))));
aot_gpr_6 = (aot_gpr_29 + static_cast<std::uint32_t>(16));
aot_gpr_31 = (0x08965A14u);
aot_gpr_4 = (ctx.gpr[16] | 0u);
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0088->0166.
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
AOT_REGCACHE_SYNC_OUT();
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0088_entry, 205u, 0x08965A14u, 0x08A9C6FCu)) {
#if defined(__clang__)
[[clang::musttail]] return recomp_unit_0166_entry(rt, ctx, 47u, aot_mem);
#else
recomp_unit_0166_entry(rt, ctx, 47u, aot_mem); return;
#endif
}
return;
#else
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 == 0x08965A14u) goto L_08965A14;
AOT_REGCACHE_SYNC_OUT(); return;
#endif
L_08965A14:
aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast<std::uint32_t>(16)));
aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast<std::uint32_t>(96), ctx.gpr[2]);
aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast<std::uint32_t>(4), static_cast<std::uint8_t>(aot_gpr_4));
goto L_08965A20;
L_08965A20:
ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast<std::uint32_t>(96)));
ctx.gpr[2] = (ctx.gpr[2] + static_cast<std::uint32_t>(68));
ctx.gpr[16] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(20)));
aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(24)));
jump_target = aot_gpr_31;
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(32));
// PSPRECOMP_V813_JR_FAST_EXIT: preserve the exact 256-transfer boundary; common JR path is shared.
if (++local_transfers < 256u) goto LOCAL_JR_DISPATCH;
// PSPRECOMP_V812_SHARED_SCHED_JUMP
goto LOCAL_SCHED_BOUNDARY;
L_08965A38:
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(-48));
aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast<std::uint32_t>(96)));
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(32), std::bit_cast<std::uint32_t>(ctx.fpr[22]));
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(36), ctx.gpr[16]);
ctx.fpr[22] = std::bit_cast<float>(std::bit_cast<std::uint32_t>(aot_fpr_12));
ctx.gpr[16] = (aot_gpr_4 | 0u);
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(28), std::bit_cast<std::uint32_t>(ctx.fpr[20]));
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(40), aot_gpr_31);
{ const bool branch_taken = aot_gpr_5 != 0u;
ctx.fpr[20] = std::bit_cast<float>(std::bit_cast<std::uint32_t>(aot_fpr_13));
if (branch_taken) {
goto L_08965A7C;
}
goto L_08965A60;
}
L_08965A60:
aot_gpr_5 = (static_cast<std::uint32_t>(static_cast<std::int32_t>(static_cast<std::int16_t>(aot_mem.aot_direct_load16(ctx.gpr[16] + static_cast<std::uint32_t>(10))))));
aot_gpr_6 = (aot_gpr_29 + static_cast<std::uint32_t>(24));
aot_gpr_31 = (0x08965A70u);
aot_gpr_4 = (ctx.gpr[16] | 0u);
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0088->0166.
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
AOT_REGCACHE_SYNC_OUT();
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0088_entry, 209u, 0x08965A70u, 0x08A9C6FCu)) {
#if defined(__clang__)
[[clang::musttail]] return recomp_unit_0166_entry(rt, ctx, 47u, aot_mem);
#else
recomp_unit_0166_entry(rt, ctx, 47u, aot_mem); return;
#endif
}
return;
#else
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 == 0x08965A70u) goto L_08965A70;
AOT_REGCACHE_SYNC_OUT(); return;
#endif
L_08965A70:
aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast<std::uint32_t>(24)));
aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast<std::uint32_t>(96), ctx.gpr[2]);
aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast<std::uint32_t>(4), static_cast<std::uint8_t>(aot_gpr_4));
goto L_08965A7C;
L_08965A7C:
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast<std::uint32_t>(96)));
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(16), std::bit_cast<std::uint32_t>(ctx.fpr[22]));
aot_gpr_4 = (aot_gpr_4 + static_cast<std::uint32_t>(44));
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(20), std::bit_cast<std::uint32_t>(ctx.fpr[20]));
aot_mem.aot_direct_store32(aot_gpr_4 + static_cast<std::uint32_t>(0), std::bit_cast<std::uint32_t>(ctx.fpr[22]));
aot_mem.aot_direct_store32(aot_gpr_4 + static_cast<std::uint32_t>(4), std::bit_cast<std::uint32_t>(ctx.fpr[20]));
{ std::uint32_t aot_run_words[4]{};
aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast<std::uint32_t>(28), aot_run_words);
ctx.fpr[20] = std::bit_cast<float>(aot_run_words[0]);
ctx.fpr[22] = std::bit_cast<float>(aot_run_words[1]);
ctx.gpr[16] = aot_run_words[2];
aot_gpr_31 = aot_run_words[3];
}
jump_target = aot_gpr_31;
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(48));
// PSPRECOMP_V813_JR_FAST_EXIT: preserve the exact 256-transfer boundary; common JR path is shared.
if (++local_transfers < 256u) goto LOCAL_JR_DISPATCH;
// PSPRECOMP_V812_SHARED_SCHED_JUMP
goto LOCAL_SCHED_BOUNDARY;
L_08965AAC:
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(-32));
aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast<std::uint32_t>(96)));
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(20), ctx.gpr[16]);
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(24), aot_gpr_31);
{ const bool branch_taken = aot_gpr_5 != 0u;
ctx.gpr[16] = (aot_gpr_4 | 0u);
if (branch_taken) {
goto L_08965AE0;
}
goto L_08965AC4;
}
L_08965AC4:
aot_gpr_5 = (static_cast<std::uint32_t>(static_cast<std::int32_t>(static_cast<std::int16_t>(aot_mem.aot_direct_load16(ctx.gpr[16] + static_cast<std::uint32_t>(10))))));
aot_gpr_6 = (aot_gpr_29 + static_cast<std::uint32_t>(16));
aot_gpr_31 = (0x08965AD4u);
aot_gpr_4 = (ctx.gpr[16] | 0u);
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0088->0166.
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
AOT_REGCACHE_SYNC_OUT();
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0088_entry, 213u, 0x08965AD4u, 0x08A9C6FCu)) {
#if defined(__clang__)
[[clang::musttail]] return recomp_unit_0166_entry(rt, ctx, 47u, aot_mem);
#else
recomp_unit_0166_entry(rt, ctx, 47u, aot_mem); return;
#endif
}
return;
#else
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 == 0x08965AD4u) goto L_08965AD4;
AOT_REGCACHE_SYNC_OUT(); return;
#endif
L_08965AD4:
aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast<std::uint32_t>(16)));
aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast<std::uint32_t>(96), ctx.gpr[2]);
aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast<std::uint32_t>(4), static_cast<std::uint8_t>(aot_gpr_4));
goto L_08965AE0;
L_08965AE0:
ctx.gpr[2] = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast<std::uint32_t>(96)));
ctx.gpr[2] = (ctx.gpr[2] + static_cast<std::uint32_t>(44));
ctx.gpr[16] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(20)));
aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(24)));
jump_target = aot_gpr_31;
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(32));
// PSPRECOMP_V813_JR_FAST_EXIT: preserve the exact 256-transfer boundary; common JR path is shared.
if (++local_transfers < 256u) goto LOCAL_JR_DISPATCH;
// PSPRECOMP_V812_SHARED_SCHED_JUMP
goto LOCAL_SCHED_BOUNDARY;
L_08965AF8:
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(-32));
aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast<std::uint32_t>(96)));
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(24), ctx.gpr[17]);
ctx.gpr[17] = (aot_gpr_4 | 0u);
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(20), ctx.gpr[16]);
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(28), aot_gpr_31);
{ const bool branch_taken = aot_gpr_6 != 0u;
ctx.gpr[16] = (aot_gpr_5 | 0u);
if (branch_taken) {
goto L_08965B34;
}
goto L_08965B18;
}
L_08965B18:
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[17] + static_cast<std::uint32_t>(10))))));
aot_gpr_6 = (aot_gpr_29 + static_cast<std::uint32_t>(16));
aot_gpr_31 = (0x08965B28u);
aot_gpr_4 = (ctx.gpr[17] | 0u);
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0088->0166.
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
AOT_REGCACHE_SYNC_OUT();
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0088_entry, 217u, 0x08965B28u, 0x08A9C6FCu)) {
#if defined(__clang__)
[[clang::musttail]] return recomp_unit_0166_entry(rt, ctx, 47u, aot_mem);
#else
recomp_unit_0166_entry(rt, ctx, 47u, aot_mem); return;
#endif
}
return;
#else
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 == 0x08965B28u) goto L_08965B28;
AOT_REGCACHE_SYNC_OUT(); return;
#endif
L_08965B28:
aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast<std::uint32_t>(16)));
aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast<std::uint32_t>(96), ctx.gpr[2]);
aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast<std::uint32_t>(4), static_cast<std::uint8_t>(aot_gpr_4));
goto L_08965B34;
L_08965B34:
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast<std::uint32_t>(96)));
aot_mem.aot_direct_store8(aot_gpr_4 + static_cast<std::uint32_t>(40), static_cast<std::uint8_t>(ctx.gpr[16]));
{ std::uint32_t aot_run_words[3]{};
aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast<std::uint32_t>(20), aot_run_words);
ctx.gpr[16] = aot_run_words[0];
ctx.gpr[17] = aot_run_words[1];
aot_gpr_31 = aot_run_words[2];
}
jump_target = aot_gpr_31;
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(32));
// PSPRECOMP_V813_JR_FAST_EXIT: preserve the exact 256-transfer boundary; common JR path is shared.
if (++local_transfers < 256u) goto LOCAL_JR_DISPATCH;
// PSPRECOMP_V812_SHARED_SCHED_JUMP
goto LOCAL_SCHED_BOUNDARY;
L_08965B50:
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(-32));
aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast<std::uint32_t>(96)));
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(20), ctx.gpr[16]);
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(24), aot_gpr_31);
{ const bool branch_taken = aot_gpr_5 != 0u;
ctx.gpr[16] = (aot_gpr_4 | 0u);
if (branch_taken) {
goto L_08965B84;
}
goto L_08965B68;
}
L_08965B68:
aot_gpr_5 = (static_cast<std::uint32_t>(static_cast<std::int32_t>(static_cast<std::int16_t>(aot_mem.aot_direct_load16(ctx.gpr[16] + static_cast<std::uint32_t>(10))))));
aot_gpr_6 = (aot_gpr_29 + static_cast<std::uint32_t>(16));
aot_gpr_31 = (0x08965B78u);
aot_gpr_4 = (ctx.gpr[16] | 0u);
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0088->0166.
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
AOT_REGCACHE_SYNC_OUT();
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0088_entry, 221u, 0x08965B78u, 0x08A9C6FCu)) {
#if defined(__clang__)
[[clang::musttail]] return recomp_unit_0166_entry(rt, ctx, 47u, aot_mem);
#else
recomp_unit_0166_entry(rt, ctx, 47u, aot_mem); return;
#endif
}
return;
#else
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 == 0x08965B78u) goto L_08965B78;
AOT_REGCACHE_SYNC_OUT(); return;
#endif
L_08965B78:
aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast<std::uint32_t>(16)));
aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast<std::uint32_t>(96), ctx.gpr[2]);
aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast<std::uint32_t>(4), static_cast<std::uint8_t>(aot_gpr_4));
goto L_08965B84;
L_08965B84:
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast<std::uint32_t>(96)));
ctx.gpr[2] = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast<std::uint32_t>(40)));
ctx.gpr[16] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(20)));
aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(24)));
jump_target = aot_gpr_31;
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(32));
// PSPRECOMP_V813_JR_FAST_EXIT: preserve the exact 256-transfer boundary; common JR path is shared.
if (++local_transfers < 256u) goto LOCAL_JR_DISPATCH;
// PSPRECOMP_V812_SHARED_SCHED_JUMP
goto LOCAL_SCHED_BOUNDARY;
L_08965B9C:
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(-32));
aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast<std::uint32_t>(96)));
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(24), ctx.gpr[17]);
ctx.gpr[17] = (aot_gpr_4 | 0u);
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(20), ctx.gpr[16]);
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(28), aot_gpr_31);
{ const bool branch_taken = aot_gpr_6 != 0u;
ctx.gpr[16] = (aot_gpr_5 | 0u);
if (branch_taken) {
goto L_08965BD8;
}
goto L_08965BBC;
}
L_08965BBC:
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[17] + static_cast<std::uint32_t>(10))))));
aot_gpr_6 = (aot_gpr_29 + static_cast<std::uint32_t>(16));
aot_gpr_31 = (0x08965BCCu);
aot_gpr_4 = (ctx.gpr[17] | 0u);
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0088->0166.
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
AOT_REGCACHE_SYNC_OUT();
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0088_entry, 225u, 0x08965BCCu, 0x08A9C6FCu)) {
#if defined(__clang__)
[[clang::musttail]] return recomp_unit_0166_entry(rt, ctx, 47u, aot_mem);
#else
recomp_unit_0166_entry(rt, ctx, 47u, aot_mem); return;
#endif
}
return;
#else
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 == 0x08965BCCu) goto L_08965BCC;
AOT_REGCACHE_SYNC_OUT(); return;
#endif
L_08965BCC:
aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast<std::uint32_t>(16)));
aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast<std::uint32_t>(96), ctx.gpr[2]);
aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast<std::uint32_t>(4), static_cast<std::uint8_t>(aot_gpr_4));
goto L_08965BD8;
L_08965BD8:
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast<std::uint32_t>(96)));
aot_mem.aot_direct_store8(aot_gpr_4 + static_cast<std::uint32_t>(56), static_cast<std::uint8_t>(ctx.gpr[16]));
{ std::uint32_t aot_run_words[3]{};
aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast<std::uint32_t>(20), aot_run_words);
ctx.gpr[16] = aot_run_words[0];
ctx.gpr[17] = aot_run_words[1];
aot_gpr_31 = aot_run_words[2];
}
jump_target = aot_gpr_31;
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(32));
// PSPRECOMP_V813_JR_FAST_EXIT: preserve the exact 256-transfer boundary; common JR path is shared.
if (++local_transfers < 256u) goto LOCAL_JR_DISPATCH;
// PSPRECOMP_V812_SHARED_SCHED_JUMP
goto LOCAL_SCHED_BOUNDARY;
L_08965BF4:
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(-32));
aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast<std::uint32_t>(96)));
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(20), ctx.gpr[16]);
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(24), aot_gpr_31);
{ const bool branch_taken = aot_gpr_5 != 0u;
ctx.gpr[16] = (aot_gpr_4 | 0u);
if (branch_taken) {
goto L_08965C28;
}
goto L_08965C0C;
}
L_08965C0C:
aot_gpr_5 = (static_cast<std::uint32_t>(static_cast<std::int32_t>(static_cast<std::int16_t>(aot_mem.aot_direct_load16(ctx.gpr[16] + static_cast<std::uint32_t>(10))))));
aot_gpr_6 = (aot_gpr_29 + static_cast<std::uint32_t>(16));
aot_gpr_31 = (0x08965C1Cu);
aot_gpr_4 = (ctx.gpr[16] | 0u);
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0088->0166.
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
AOT_REGCACHE_SYNC_OUT();
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0088_entry, 229u, 0x08965C1Cu, 0x08A9C6FCu)) {
#if defined(__clang__)
[[clang::musttail]] return recomp_unit_0166_entry(rt, ctx, 47u, aot_mem);
#else
recomp_unit_0166_entry(rt, ctx, 47u, aot_mem); return;
#endif
}
return;
#else
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 == 0x08965C1Cu) goto L_08965C1C;
AOT_REGCACHE_SYNC_OUT(); return;
#endif
L_08965C1C:
aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast<std::uint32_t>(16)));
aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast<std::uint32_t>(96), ctx.gpr[2]);
aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast<std::uint32_t>(4), static_cast<std::uint8_t>(aot_gpr_4));
goto L_08965C28;
L_08965C28:
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast<std::uint32_t>(96)));
ctx.gpr[2] = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast<std::uint32_t>(56)));
ctx.gpr[16] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(20)));
aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(24)));
jump_target = aot_gpr_31;
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(32));
// PSPRECOMP_V813_JR_FAST_EXIT: preserve the exact 256-transfer boundary; common JR path is shared.
if (++local_transfers < 256u) goto LOCAL_JR_DISPATCH;
// PSPRECOMP_V812_SHARED_SCHED_JUMP
goto LOCAL_SCHED_BOUNDARY;
L_08965C40:
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(-32));
aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast<std::uint32_t>(96)));
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(24), ctx.gpr[17]);
ctx.gpr[17] = (aot_gpr_4 | 0u);
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(20), ctx.gpr[16]);
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(28), aot_gpr_31);
{ const bool branch_taken = aot_gpr_6 != 0u;
ctx.gpr[16] = (aot_gpr_5 | 0u);
if (branch_taken) {
goto L_08965C7C;
}
goto L_08965C60;
}
L_08965C60:
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[17] + static_cast<std::uint32_t>(10))))));
aot_gpr_6 = (aot_gpr_29 + static_cast<std::uint32_t>(16));
aot_gpr_31 = (0x08965C70u);
aot_gpr_4 = (ctx.gpr[17] | 0u);
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0088->0166.
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
AOT_REGCACHE_SYNC_OUT();
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0088_entry, 233u, 0x08965C70u, 0x08A9C6FCu)) {
#if defined(__clang__)
[[clang::musttail]] return recomp_unit_0166_entry(rt, ctx, 47u, aot_mem);
#else
recomp_unit_0166_entry(rt, ctx, 47u, aot_mem); return;
#endif
}
return;
#else
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 == 0x08965C70u) goto L_08965C70;
AOT_REGCACHE_SYNC_OUT(); return;
#endif
L_08965C70:
aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast<std::uint32_t>(16)));
aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast<std::uint32_t>(96), ctx.gpr[2]);
aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast<std::uint32_t>(4), static_cast<std::uint8_t>(aot_gpr_4));
goto L_08965C7C;
L_08965C7C:
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast<std::uint32_t>(96)));
aot_mem.aot_direct_store32(aot_gpr_4 + static_cast<std::uint32_t>(52), ctx.gpr[16]);
{ std::uint32_t aot_run_words[3]{};
aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast<std::uint32_t>(20), aot_run_words);
ctx.gpr[16] = aot_run_words[0];
ctx.gpr[17] = aot_run_words[1];
aot_gpr_31 = aot_run_words[2];
}
jump_target = aot_gpr_31;
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(32));
// PSPRECOMP_V813_JR_FAST_EXIT: preserve the exact 256-transfer boundary; common JR path is shared.
if (++local_transfers < 256u) goto LOCAL_JR_DISPATCH;
// PSPRECOMP_V812_SHARED_SCHED_JUMP
goto LOCAL_SCHED_BOUNDARY;
L_08965C98:
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(-32));
aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast<std::uint32_t>(96)));
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(20), ctx.gpr[16]);
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(24), aot_gpr_31);
{ const bool branch_taken = aot_gpr_5 != 0u;
ctx.gpr[16] = (aot_gpr_4 | 0u);
if (branch_taken) {
goto L_08965CCC;
}
goto L_08965CB0;
}
L_08965CB0:
aot_gpr_5 = (static_cast<std::uint32_t>(static_cast<std::int32_t>(static_cast<std::int16_t>(aot_mem.aot_direct_load16(ctx.gpr[16] + static_cast<std::uint32_t>(10))))));
aot_gpr_6 = (aot_gpr_29 + static_cast<std::uint32_t>(16));
aot_gpr_31 = (0x08965CC0u);
aot_gpr_4 = (ctx.gpr[16] | 0u);
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0088->0166.
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
AOT_REGCACHE_SYNC_OUT();
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0088_entry, 237u, 0x08965CC0u, 0x08A9C6FCu)) {
#if defined(__clang__)
[[clang::musttail]] return recomp_unit_0166_entry(rt, ctx, 47u, aot_mem);
#else
recomp_unit_0166_entry(rt, ctx, 47u, aot_mem); return;
#endif
}
return;
#else
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 == 0x08965CC0u) goto L_08965CC0;
AOT_REGCACHE_SYNC_OUT(); return;
#endif
L_08965CC0:
aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast<std::uint32_t>(16)));
aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast<std::uint32_t>(96), ctx.gpr[2]);
aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast<std::uint32_t>(4), static_cast<std::uint8_t>(aot_gpr_4));
goto L_08965CCC;
L_08965CCC:
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast<std::uint32_t>(96)));
ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast<std::uint32_t>(52)));
ctx.gpr[16] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(20)));
aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(24)));
jump_target = aot_gpr_31;
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(32));
// PSPRECOMP_V813_JR_FAST_EXIT: preserve the exact 256-transfer boundary; common JR path is shared.
if (++local_transfers < 256u) goto LOCAL_JR_DISPATCH;
// PSPRECOMP_V812_SHARED_SCHED_JUMP
goto LOCAL_SCHED_BOUNDARY;
L_08965CE4:
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(-32));
aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast<std::uint32_t>(96)));
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(24), ctx.gpr[17]);
ctx.gpr[17] = (aot_gpr_4 | 0u);
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(20), ctx.gpr[16]);
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(28), aot_gpr_31);
{ const bool branch_taken = aot_gpr_6 != 0u;
ctx.gpr[16] = (aot_gpr_5 | 0u);
if (branch_taken) {
goto L_08965D20;
}
goto L_08965D04;
}
L_08965D04:
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[17] + static_cast<std::uint32_t>(10))))));
aot_gpr_6 = (aot_gpr_29 + static_cast<std::uint32_t>(16));
aot_gpr_31 = (0x08965D14u);
aot_gpr_4 = (ctx.gpr[17] | 0u);
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0088->0166.
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
AOT_REGCACHE_SYNC_OUT();
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0088_entry, 241u, 0x08965D14u, 0x08A9C6FCu)) {
#if defined(__clang__)
[[clang::musttail]] return recomp_unit_0166_entry(rt, ctx, 47u, aot_mem);
#else
recomp_unit_0166_entry(rt, ctx, 47u, aot_mem); return;
#endif
}
return;
#else
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 == 0x08965D14u) goto L_08965D14;
AOT_REGCACHE_SYNC_OUT(); return;
#endif
L_08965D14:
aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast<std::uint32_t>(16)));
aot_mem.aot_direct_store32(ctx.gpr[17] + static_cast<std::uint32_t>(96), ctx.gpr[2]);
aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast<std::uint32_t>(4), static_cast<std::uint8_t>(aot_gpr_4));
goto L_08965D20;
L_08965D20:
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast<std::uint32_t>(96)));
aot_mem.aot_direct_store32(aot_gpr_4 + static_cast<std::uint32_t>(76), ctx.gpr[16]);
{ std::uint32_t aot_run_words[3]{};
aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast<std::uint32_t>(20), aot_run_words);
ctx.gpr[16] = aot_run_words[0];
ctx.gpr[17] = aot_run_words[1];
aot_gpr_31 = aot_run_words[2];
}
jump_target = aot_gpr_31;
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(32));
// PSPRECOMP_V813_JR_FAST_EXIT: preserve the exact 256-transfer boundary; common JR path is shared.
if (++local_transfers < 256u) goto LOCAL_JR_DISPATCH;
// PSPRECOMP_V812_SHARED_SCHED_JUMP
goto LOCAL_SCHED_BOUNDARY;
L_08965D3C:
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(-32));
aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast<std::uint32_t>(96)));
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(20), ctx.gpr[16]);
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(24), aot_gpr_31);
{ const bool branch_taken = aot_gpr_5 != 0u;
ctx.gpr[16] = (aot_gpr_4 | 0u);
if (branch_taken) {
goto L_08965D70;
}
goto L_08965D54;
}
L_08965D54:
aot_gpr_5 = (static_cast<std::uint32_t>(static_cast<std::int32_t>(static_cast<std::int16_t>(aot_mem.aot_direct_load16(ctx.gpr[16] + static_cast<std::uint32_t>(10))))));
aot_gpr_6 = (aot_gpr_29 + static_cast<std::uint32_t>(16));
aot_gpr_31 = (0x08965D64u);
aot_gpr_4 = (ctx.gpr[16] | 0u);
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0088->0166.
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
AOT_REGCACHE_SYNC_OUT();
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0088_entry, 245u, 0x08965D64u, 0x08A9C6FCu)) {
#if defined(__clang__)
[[clang::musttail]] return recomp_unit_0166_entry(rt, ctx, 47u, aot_mem);
#else
recomp_unit_0166_entry(rt, ctx, 47u, aot_mem); return;
#endif
}
return;
#else
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 == 0x08965D64u) goto L_08965D64;
AOT_REGCACHE_SYNC_OUT(); return;
#endif
L_08965D64:
aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast<std::uint32_t>(16)));
aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast<std::uint32_t>(96), ctx.gpr[2]);
aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast<std::uint32_t>(4), static_cast<std::uint8_t>(aot_gpr_4));
goto L_08965D70;
L_08965D70:
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast<std::uint32_t>(96)));
ctx.gpr[2] = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast<std::uint32_t>(76)));
ctx.gpr[16] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(20)));
aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(24)));
jump_target = aot_gpr_31;
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(32));
// PSPRECOMP_V813_JR_FAST_EXIT: preserve the exact 256-transfer boundary; common JR path is shared.
if (++local_transfers < 256u) goto LOCAL_JR_DISPATCH;
// PSPRECOMP_V812_SHARED_SCHED_JUMP
goto LOCAL_SCHED_BOUNDARY;
L_08965D88:
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(-16));
aot_gpr_4 = (aot_gpr_5 | 0u);
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(0), aot_gpr_31);
aot_gpr_31 = (0x08965D9Cu);
aot_gpr_5 = (aot_gpr_6 | 0u);
goto L_089650F8;
L_08965D9C:
aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(0)));
jump_target = aot_gpr_31;
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(16));
// PSPRECOMP_V813_JR_FAST_EXIT: preserve the exact 256-transfer boundary; common JR path is shared.
if (++local_transfers < 256u) goto LOCAL_JR_DISPATCH;
// PSPRECOMP_V812_SHARED_SCHED_JUMP
goto LOCAL_SCHED_BOUNDARY;
L_08965DA8:
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(-64));
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(64), aot_gpr_6);
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(68), aot_gpr_7);
aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast<std::uint32_t>(16)));
aot_gpr_7 = (static_cast<std::uint32_t>(static_cast<std::int32_t>(static_cast<std::int16_t>(aot_mem.aot_direct_load16(aot_gpr_29 + static_cast<std::uint32_t>(68))))));
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_6 + static_cast<std::uint32_t>(0))))));
aot_mem.aot_direct_store16(aot_gpr_29 + static_cast<std::uint32_t>(22), static_cast<std::uint16_t>(aot_gpr_6));
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_29 + static_cast<std::uint32_t>(22))))));
aot_gpr_6 = (aot_gpr_7 - aot_gpr_6);
aot_gpr_6 = (aot_gpr_6 << 16u);
aot_gpr_6 = (static_cast<std::uint32_t>(static_cast<std::int32_t>(aot_gpr_6) >> 16u));
aot_gpr_6 = (static_cast<std::int32_t>(aot_gpr_6) < 0 ? 1u : 0u);
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(40), ctx.gpr[17]);
ctx.gpr[17] = (aot_gpr_4 | 0u);
aot_gpr_6 = (aot_gpr_6 & 255u);
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(36), ctx.gpr[16]);
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(44), ctx.gpr[18]);
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(48), aot_gpr_31);
{ const bool branch_taken = aot_gpr_6 == 0u;
ctx.gpr[16] = (aot_gpr_5 | 0u);
if (branch_taken) {
goto L_08965E4C;
}
goto L_08965DF8;
}
L_08965DF8:
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_29 + static_cast<std::uint32_t>(64))))));
aot_gpr_4 = (ctx.gpr[17] | 0u);
aot_mem.aot_direct_store16(aot_gpr_29 + static_cast<std::uint32_t>(24), 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_29 + static_cast<std::uint32_t>(24))))));
aot_gpr_31 = (0x08965E10u);
aot_gpr_6 = (0u | 0u);
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0088->0166.
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
AOT_REGCACHE_SYNC_OUT();
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0088_entry, 251u, 0x08965E10u, 0x08A9C6FCu)) {
#if defined(__clang__)
[[clang::musttail]] return recomp_unit_0166_entry(rt, ctx, 47u, aot_mem);
#else
recomp_unit_0166_entry(rt, ctx, 47u, aot_mem); return;
#endif
}
return;
#else
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 == 0x08965E10u) goto L_08965E10;
AOT_REGCACHE_SYNC_OUT(); return;
#endif
L_08965E10:
ctx.gpr[18] = (ctx.gpr[2] | 0u);
aot_gpr_4 = (aot_gpr_29 + static_cast<std::uint32_t>(16));
aot_gpr_5 = (0u + static_cast<std::uint32_t>(-1));
aot_gpr_31 = (0x08965E24u);
aot_gpr_6 = (0u | 4u);
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, aot_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 == 0x08965E24u) goto L_08965E24;
AOT_REGCACHE_SYNC_OUT(); return;
L_08965E24:
aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(16)));
aot_gpr_4 = (ctx.gpr[17] | 0u);
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(0), aot_gpr_5);
aot_gpr_7 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(0)));
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(32), aot_gpr_5);
aot_gpr_5 = (ctx.gpr[16] | 0u);
aot_gpr_31 = (0x08965E44u);
aot_gpr_6 = (ctx.gpr[18] | 0u);
goto L_0896640C;
L_08965E44:
{ const bool branch_taken = 0u == 0u;
ctx.gpr[2] = (0u | 1u);
if (branch_taken) {
goto L_08965E90;
}
goto L_08965E4C;
}
L_08965E4C:
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_29 + static_cast<std::uint32_t>(64))))));
aot_gpr_4 = (ctx.gpr[17] | 0u);
aot_mem.aot_direct_store16(aot_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(aot_gpr_29 + static_cast<std::uint32_t>(26))))));
aot_gpr_31 = (0x08965E64u);
aot_gpr_6 = (0u | 0u);
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0088->0166.
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
AOT_REGCACHE_SYNC_OUT();
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0088_entry, 255u, 0x08965E64u, 0x08A9C6FCu)) {
#if defined(__clang__)
[[clang::musttail]] return recomp_unit_0166_entry(rt, ctx, 47u, aot_mem);
#else
recomp_unit_0166_entry(rt, ctx, 47u, aot_mem); return;
#endif
}
return;
#else
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 == 0x08965E64u) goto L_08965E64;
AOT_REGCACHE_SYNC_OUT(); return;
#endif
L_08965E64:
aot_gpr_4 = (static_cast<std::uint32_t>(static_cast<std::int32_t>(static_cast<std::int16_t>(aot_mem.aot_direct_load16(aot_gpr_29 + static_cast<std::uint32_t>(68))))));
ctx.gpr[18] = (ctx.gpr[2] | 0u);
aot_mem.aot_direct_store16(aot_gpr_29 + static_cast<std::uint32_t>(28), 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(aot_gpr_29 + static_cast<std::uint32_t>(28))))));
aot_gpr_31 = (0x08965E7Cu);
aot_gpr_4 = (ctx.gpr[17] | 0u);
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0088->0165.
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
AOT_REGCACHE_SYNC_OUT();
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0088_entry, 256u, 0x08965E7Cu, 0x08A9B864u)) {
#if defined(__clang__)
[[clang::musttail]] return recomp_unit_0165_entry(rt, ctx, 440u, aot_mem);
#else
recomp_unit_0165_entry(rt, ctx, 440u, aot_mem); return;
#endif
}
return;
#else
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0165_entry, 165u, 440u, 0x08A9B864u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08965E7Cu) goto L_08965E7C;
AOT_REGCACHE_SYNC_OUT(); return;
#endif
L_08965E7C:
aot_gpr_4 = (ctx.gpr[17] | 0u);
aot_gpr_5 = (ctx.gpr[16] | 0u);
aot_gpr_6 = (ctx.gpr[18] | 0u);
aot_gpr_31 = (0x08965E90u);
aot_gpr_7 = (ctx.gpr[2] | 0u);
goto L_08966358;
L_08965E90:
{ std::uint32_t aot_run_words[4]{};
aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast<std::uint32_t>(36), aot_run_words);
ctx.gpr[16] = aot_run_words[0];
ctx.gpr[17] = aot_run_words[1];
ctx.gpr[18] = aot_run_words[2];
aot_gpr_31 = aot_run_words[3];
}
jump_target = aot_gpr_31;
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(64));
// PSPRECOMP_V813_JR_FAST_EXIT: preserve the exact 256-transfer boundary; common JR path is shared.
if (++local_transfers < 256u) goto LOCAL_JR_DISPATCH;
// PSPRECOMP_V812_SHARED_SCHED_JUMP
goto LOCAL_SCHED_BOUNDARY;
L_08965EA8:
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(-32));
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(0), ctx.gpr[16]);
ctx.gpr[16] = (aot_gpr_5 | 0u);
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(8), ctx.gpr[18]);
ctx.gpr[18] = (ctx.gpr[16] + static_cast<std::uint32_t>(4));
aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast<std::uint32_t>(0)));
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(12), ctx.gpr[19]);
ctx.gpr[19] = (aot_gpr_6 | 0u);
aot_gpr_6 = (aot_gpr_5 + static_cast<std::uint32_t>(1));
aot_mem.aot_direct_store32(ctx.gpr[18] + static_cast<std::uint32_t>(0), aot_gpr_6);
aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast<std::uint32_t>(0)));
aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_5 + static_cast<std::uint32_t>(0)));
aot_gpr_7 = (aot_gpr_6 + static_cast<std::uint32_t>(1));
aot_mem.aot_direct_store32(ctx.gpr[18] + static_cast<std::uint32_t>(0), aot_gpr_7);
aot_gpr_6 = (aot_mem.aot_direct_load8(aot_gpr_6 + static_cast<std::uint32_t>(0)));
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(4), ctx.gpr[17]);
aot_gpr_6 = (aot_gpr_6 << 8u);
ctx.gpr[17] = (aot_gpr_5 | aot_gpr_6);
ctx.gpr[17] = (ctx.gpr[17] & 65535u);
aot_gpr_5 = (ctx.gpr[16] | 0u);
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(16), aot_gpr_31);
aot_gpr_31 = (0x08965F04u);
aot_gpr_6 = (ctx.gpr[19] | 0u);
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0088->0121.
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
AOT_REGCACHE_SYNC_OUT();
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0088_entry, 259u, 0x08965F04u, 0x089E825Cu)) {
#if defined(__clang__)
[[clang::musttail]] return recomp_unit_0121_entry(rt, ctx, 40u, aot_mem);
#else
recomp_unit_0121_entry(rt, ctx, 40u, aot_mem); return;
#endif
}
return;
#else
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0121_entry, 121u, 40u, 0x089E825Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08965F04u) goto L_08965F04;
AOT_REGCACHE_SYNC_OUT(); return;
#endif
L_08965F04:
aot_gpr_4 = (ctx.gpr[17] & 2u);
{ const bool branch_taken = aot_gpr_4 == 0u;
if (branch_taken) {
goto L_08965F1C;
}
goto L_08965F10;
}
L_08965F10:
aot_gpr_5 = (ctx.gpr[19] + static_cast<std::uint32_t>(32));
aot_gpr_31 = (0x08965F1Cu);
aot_gpr_4 = (ctx.gpr[16] | 0u);
goto L_08964EE0;
L_08965F1C:
aot_gpr_4 = (ctx.gpr[17] & 8u);
{ const bool branch_taken = aot_gpr_4 == 0u;
if (branch_taken) {
goto L_08965F34;
}
goto L_08965F28;
}
L_08965F28:
aot_gpr_5 = (ctx.gpr[19] + static_cast<std::uint32_t>(44));
aot_gpr_31 = (0x08965F34u);
aot_gpr_4 = (ctx.gpr[16] | 0u);
goto L_08964E08;
L_08965F34:
aot_gpr_4 = (ctx.gpr[17] & 16u);
{ const bool branch_taken = aot_gpr_4 == 0u;
if (branch_taken) {
goto L_08965FA4;
}
goto L_08965F40;
}
L_08965F40:
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + 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[18] + static_cast<std::uint32_t>(0), aot_gpr_5);
aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast<std::uint32_t>(0)));
aot_gpr_4 = (aot_mem.aot_direct_load8(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_store32(ctx.gpr[18] + 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[18] + static_cast<std::uint32_t>(0)));
aot_gpr_5 = (aot_gpr_5 << 8u);
aot_gpr_7 = (aot_gpr_6 + static_cast<std::uint32_t>(1));
aot_mem.aot_direct_store32(ctx.gpr[18] + static_cast<std::uint32_t>(0), aot_gpr_7);
aot_gpr_7 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast<std::uint32_t>(0)));
aot_gpr_6 = (aot_mem.aot_direct_load8(aot_gpr_6 + static_cast<std::uint32_t>(0)));
ctx.gpr[8] = (aot_gpr_7 + static_cast<std::uint32_t>(1));
aot_gpr_4 = (aot_gpr_4 | aot_gpr_5);
aot_mem.aot_direct_store32(ctx.gpr[18] + static_cast<std::uint32_t>(0), ctx.gpr[8]);
aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_7 + static_cast<std::uint32_t>(0)));
aot_gpr_4 = (aot_gpr_4 & 65535u);
aot_gpr_5 = (aot_gpr_5 << 8u);
aot_gpr_5 = (aot_gpr_6 | aot_gpr_5);
aot_gpr_5 = (aot_gpr_5 & 65535u);
aot_gpr_5 = (aot_gpr_5 << 16u);
aot_gpr_4 = (aot_gpr_4 | aot_gpr_5);
aot_mem.aot_direct_store32(ctx.gpr[19] + static_cast<std::uint32_t>(52), aot_gpr_4);
goto L_08965FA4;
L_08965FA4:
aot_gpr_4 = (ctx.gpr[17] & 32u);
{ const bool branch_taken = aot_gpr_4 == 0u;
if (branch_taken) {
goto L_08965FBC;
}
goto L_08965FB0;
}
L_08965FB0:
aot_gpr_5 = (ctx.gpr[19] + static_cast<std::uint32_t>(60));
aot_gpr_31 = (0x08965FBCu);
aot_gpr_4 = (ctx.gpr[16] | 0u);
goto L_08964E08;
L_08965FBC:
aot_gpr_4 = (ctx.gpr[17] & 64u);
{ const bool branch_taken = aot_gpr_4 == 0u;
if (branch_taken) {
goto L_08965FD4;
}
goto L_08965FC8;
}
L_08965FC8:
aot_gpr_5 = (ctx.gpr[19] + static_cast<std::uint32_t>(68));
aot_gpr_31 = (0x08965FD4u);
aot_gpr_4 = (ctx.gpr[16] | 0u);
goto L_08964E08;
L_08965FD4:
aot_gpr_4 = (ctx.gpr[17] & 128u);
{ const bool branch_taken = aot_gpr_4 == 0u;
if (branch_taken) {
goto L_08965FF4;
}
goto L_08965FE0;
}
L_08965FE0:
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + 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[18] + 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[19] + static_cast<std::uint32_t>(56), static_cast<std::uint8_t>(aot_gpr_4));
goto L_08965FF4;
L_08965FF4:
aot_gpr_4 = (ctx.gpr[17] & 4u);
{ const bool branch_taken = aot_gpr_4 == 0u;
if (branch_taken) {
goto L_08966014;
}
goto L_08966000;
}
L_08966000:
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + 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[18] + 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[19] + static_cast<std::uint32_t>(40), static_cast<std::uint8_t>(aot_gpr_4));
goto L_08966014;
L_08966014:
aot_gpr_4 = (ctx.gpr[17] & 256u);
{ const bool branch_taken = aot_gpr_4 == 0u;
if (branch_taken) {
goto L_08966084;
}
goto L_08966020;
}
L_08966020:
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[18] + 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[18] + static_cast<std::uint32_t>(0), aot_gpr_5);
aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast<std::uint32_t>(0)));
aot_gpr_4 = (aot_mem.aot_direct_load8(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_store32(ctx.gpr[18] + 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[18] + static_cast<std::uint32_t>(0)));
aot_gpr_5 = (aot_gpr_5 << 8u);
aot_gpr_7 = (aot_gpr_6 + static_cast<std::uint32_t>(1));
aot_mem.aot_direct_store32(ctx.gpr[18] + static_cast<std::uint32_t>(0), aot_gpr_7);
aot_gpr_7 = (aot_mem.aot_direct_load32(ctx.gpr[18] + static_cast<std::uint32_t>(0)));
aot_gpr_6 = (aot_mem.aot_direct_load8(aot_gpr_6 + static_cast<std::uint32_t>(0)));
ctx.gpr[8] = (aot_gpr_7 + static_cast<std::uint32_t>(1));
aot_gpr_4 = (aot_gpr_4 | aot_gpr_5);
aot_mem.aot_direct_store32(ctx.gpr[18] + static_cast<std::uint32_t>(0), ctx.gpr[8]);
aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_7 + static_cast<std::uint32_t>(0)));
aot_gpr_4 = (aot_gpr_4 & 65535u);
aot_gpr_5 = (aot_gpr_5 << 8u);
aot_gpr_5 = (aot_gpr_6 | aot_gpr_5);
aot_gpr_5 = (aot_gpr_5 & 65535u);
aot_gpr_5 = (aot_gpr_5 << 16u);
aot_gpr_4 = (aot_gpr_4 | aot_gpr_5);
aot_mem.aot_direct_store32(ctx.gpr[19] + static_cast<std::uint32_t>(76), aot_gpr_4);
goto L_08966084;
L_08966084:
{ std::uint32_t aot_run_words[5]{};
aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast<std::uint32_t>(0), aot_run_words);
ctx.gpr[16] = aot_run_words[0];
ctx.gpr[17] = aot_run_words[1];
ctx.gpr[18] = aot_run_words[2];
ctx.gpr[19] = aot_run_words[3];
aot_gpr_31 = aot_run_words[4];
}
jump_target = aot_gpr_31;
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(32));
// PSPRECOMP_V813_JR_FAST_EXIT: preserve the exact 256-transfer boundary; common JR path is shared.
if (++local_transfers < 256u) goto LOCAL_JR_DISPATCH;
// PSPRECOMP_V812_SHARED_SCHED_JUMP
goto LOCAL_SCHED_BOUNDARY;
L_089660A0:
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(-32));
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(20), ctx.gpr[16]);
ctx.gpr[16] = (aot_gpr_4 | 0u);
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast<std::uint32_t>(100)));
aot_gpr_5 = (2237u << 16u);
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>(0))))));
aot_gpr_4 = (aot_gpr_5 + static_cast<std::uint32_t>(-28736));
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(24), aot_gpr_31);
aot_gpr_31 = (0x089660C8u);
aot_gpr_5 = (aot_gpr_6 | 0u);
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0088->0182.
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
AOT_REGCACHE_SYNC_OUT();
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0088_entry, 277u, 0x089660C8u, 0x08ADC0B8u)) {
#if defined(__clang__)
[[clang::musttail]] return recomp_unit_0182_entry(rt, ctx, 8u, aot_mem);
#else
recomp_unit_0182_entry(rt, ctx, 8u, aot_mem); return;
#endif
}
return;
#else
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0182_entry, 182u, 8u, 0x08ADC0B8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089660C8u) goto L_089660C8;
AOT_REGCACHE_SYNC_OUT(); return;
#endif
L_089660C8:
{ const bool branch_taken = ctx.gpr[2] == 0u;
if (branch_taken) {
goto L_089660E4;
}
goto L_089660D0;
}
L_089660D0:
aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast<std::uint32_t>(4203)));
{ const bool branch_taken = aot_gpr_4 != 0u;
if (branch_taken) {
goto L_089660EC;
}
goto L_089660DC;
}
L_089660DC:
{ const bool branch_taken = 0u == 0u;
if (branch_taken) {
goto L_08966108;
}
goto L_089660E4;
}
L_089660E4:
{ const bool branch_taken = 0u == 0u;
if (branch_taken) {
goto L_08966148;
}
goto L_089660EC;
}
L_089660EC:
aot_gpr_31 = (0x089660F4u);
aot_gpr_4 = (ctx.gpr[16] | 0u);
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0088->0121.
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
AOT_REGCACHE_SYNC_OUT();
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0088_entry, 282u, 0x089660F4u, 0x089E8590u)) {
#if defined(__clang__)
[[clang::musttail]] return recomp_unit_0121_entry(rt, ctx, 65u, aot_mem);
#else
recomp_unit_0121_entry(rt, ctx, 65u, aot_mem); return;
#endif
}
return;
#else
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0121_entry, 121u, 65u, 0x089E8590u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089660F4u) goto L_089660F4;
AOT_REGCACHE_SYNC_OUT(); return;
#endif
L_089660F4:
aot_fpr_12 = std::bit_cast<float>(0u);
ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((ctx.fpr[0] < aot_fpr_12)) ? 0x00800000u : 0u);
{ const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u);
if (branch_taken) {
goto L_0896611C;
}
goto L_08966108;
}
L_08966108:
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast<std::uint32_t>(96)));
{ const bool branch_taken = aot_gpr_4 == 0u;
if (branch_taken) {
goto L_08966124;
}
goto L_08966114;
}
L_08966114:
{ const bool branch_taken = 0u == 0u;
if (branch_taken) {
goto L_08966140;
}
goto L_0896611C;
}
L_0896611C:
{ const bool branch_taken = 0u == 0u;
if (branch_taken) {
goto L_08966148;
}
goto L_08966124;
}
L_08966124:
aot_gpr_5 = (static_cast<std::uint32_t>(static_cast<std::int32_t>(static_cast<std::int16_t>(aot_mem.aot_direct_load16(ctx.gpr[16] + static_cast<std::uint32_t>(10))))));
aot_gpr_6 = (aot_gpr_29 + static_cast<std::uint32_t>(16));
aot_gpr_31 = (0x08966134u);
aot_gpr_4 = (ctx.gpr[16] | 0u);
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0088->0166.
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
AOT_REGCACHE_SYNC_OUT();
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0088_entry, 287u, 0x08966134u, 0x08A9C6FCu)) {
#if defined(__clang__)
[[clang::musttail]] return recomp_unit_0166_entry(rt, ctx, 47u, aot_mem);
#else
recomp_unit_0166_entry(rt, ctx, 47u, aot_mem); return;
#endif
}
return;
#else
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 == 0x08966134u) goto L_08966134;
AOT_REGCACHE_SYNC_OUT(); return;
#endif
L_08966134:
aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_29 + static_cast<std::uint32_t>(16)));
aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast<std::uint32_t>(96), ctx.gpr[2]);
aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast<std::uint32_t>(4), static_cast<std::uint8_t>(aot_gpr_4));
goto L_08966140;
L_08966140:
aot_gpr_31 = (0x08966148u);
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast<std::uint32_t>(96)));
goto L_08966A94;
L_08966148:
ctx.gpr[16] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(20)));
aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(24)));
jump_target = aot_gpr_31;
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(32));
// PSPRECOMP_V813_JR_FAST_EXIT: preserve the exact 256-transfer boundary; common JR path is shared.
if (++local_transfers < 256u) goto LOCAL_JR_DISPATCH;
// PSPRECOMP_V812_SHARED_SCHED_JUMP
goto LOCAL_SCHED_BOUNDARY;
L_08966158:
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(-32));
{ const std::uint32_t aot_run_words[3]{ctx.gpr[16], ctx.gpr[17], ctx.gpr[18]};
aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast<std::uint32_t>(0), aot_run_words); }
ctx.gpr[18] = (aot_gpr_7 | 0u);
ctx.gpr[16] = (aot_gpr_6 | 0u);
ctx.gpr[17] = (aot_gpr_5 | 0u);
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(12), ctx.gpr[19]);
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(16), aot_gpr_31);
aot_gpr_31 = (0x08966184u);
aot_gpr_7 = (aot_gpr_7 + static_cast<std::uint32_t>(2));
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0088->0121.
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
AOT_REGCACHE_SYNC_OUT();
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0088_entry, 291u, 0x08966184u, 0x089E85DCu)) {
#if defined(__clang__)
[[clang::musttail]] return recomp_unit_0121_entry(rt, ctx, 69u, aot_mem);
#else
recomp_unit_0121_entry(rt, ctx, 69u, aot_mem); return;
#endif
}
return;
#else
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0121_entry, 121u, 69u, 0x089E85DCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08966184u) goto L_08966184;
AOT_REGCACHE_SYNC_OUT(); return;
#endif
L_08966184:
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast<std::uint32_t>(32)));
aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast<std::uint32_t>(32)));
{ const bool branch_taken = aot_gpr_4 != aot_gpr_5;
ctx.gpr[19] = (0u | 0u);
if (branch_taken) {
goto L_089661B0;
}
goto L_08966194;
}
L_08966194:
aot_gpr_6 = (aot_gpr_4 | 0u);
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast<std::uint32_t>(36)));
aot_gpr_31 = (0x089661A4u);
aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast<std::uint32_t>(36)));
if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B58100, 213u, 23u, 0x08B58100u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_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, 23u, 0x08B58100u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089661A4u) goto L_089661A4;
AOT_REGCACHE_SYNC_OUT(); return;
L_089661A4:
{ const bool branch_taken = ctx.gpr[2] != 0u;
aot_gpr_4 = (ctx.gpr[19] & 255u);
if (branch_taken) {
goto L_089661B4;
}
goto L_089661AC;
}
L_089661AC:
ctx.gpr[19] = (0u | 1u);
goto L_089661B0;
L_089661B0:
aot_gpr_4 = (ctx.gpr[19] & 255u);
goto L_089661B4;
L_089661B4:
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_089661D0;
}
goto L_089661C4;
}
L_089661C4:
aot_gpr_4 = (aot_mem.aot_direct_load16(ctx.gpr[18] + static_cast<std::uint32_t>(0)));
aot_gpr_4 = (aot_gpr_4 | 2u);
aot_mem.aot_direct_store16(ctx.gpr[18] + static_cast<std::uint32_t>(0), static_cast<std::uint16_t>(aot_gpr_4));
goto L_089661D0;
L_089661D0:
aot_fpr_12 = std::bit_cast<float>(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast<std::uint32_t>(44)));
aot_fpr_13 = std::bit_cast<float>(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast<std::uint32_t>(44)));
ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((!(std::isnan(aot_fpr_12) || std::isnan(aot_fpr_13)) && aot_fpr_12 == aot_fpr_13)) ? 0x00800000u : 0u);
{ const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u);
aot_gpr_4 = (0u | 0u);
if (branch_taken) {
goto L_08966204;
}
goto L_089661E8;
}
L_089661E8:
aot_fpr_12 = std::bit_cast<float>(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast<std::uint32_t>(48)));
aot_fpr_13 = std::bit_cast<float>(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast<std::uint32_t>(48)));
ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((!(std::isnan(aot_fpr_12) || std::isnan(aot_fpr_13)) && aot_fpr_12 == aot_fpr_13)) ? 0x00800000u : 0u);
{ const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u);
aot_gpr_4 = (aot_gpr_4 & 255u);
if (branch_taken) {
goto L_08966208;
}
goto L_08966200;
}
L_08966200:
aot_gpr_4 = (0u | 1u);
goto L_08966204;
L_08966204:
aot_gpr_4 = (aot_gpr_4 & 255u);
goto L_08966208;
L_08966208:
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_08966224;
}
goto L_08966218;
}
L_08966218:
aot_gpr_4 = (aot_mem.aot_direct_load16(ctx.gpr[18] + static_cast<std::uint32_t>(0)));
aot_gpr_4 = (aot_gpr_4 | 8u);
aot_mem.aot_direct_store16(ctx.gpr[18] + static_cast<std::uint32_t>(0), static_cast<std::uint16_t>(aot_gpr_4));
goto L_08966224;
L_08966224:
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast<std::uint32_t>(52)));
aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast<std::uint32_t>(52)));
{ const bool branch_taken = aot_gpr_4 == aot_gpr_5;
if (branch_taken) {
goto L_08966240;
}
goto L_08966234;
}
L_08966234:
aot_gpr_4 = (aot_mem.aot_direct_load16(ctx.gpr[18] + static_cast<std::uint32_t>(0)));
aot_gpr_4 = (aot_gpr_4 | 16u);
aot_mem.aot_direct_store16(ctx.gpr[18] + static_cast<std::uint32_t>(0), static_cast<std::uint16_t>(aot_gpr_4));
goto L_08966240;
L_08966240:
aot_fpr_12 = std::bit_cast<float>(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast<std::uint32_t>(60)));
aot_fpr_13 = std::bit_cast<float>(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast<std::uint32_t>(60)));
ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((!(std::isnan(aot_fpr_12) || std::isnan(aot_fpr_13)) && aot_fpr_12 == aot_fpr_13)) ? 0x00800000u : 0u);
{ const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u);
aot_gpr_4 = (0u | 0u);
if (branch_taken) {
goto L_08966274;
}
goto L_08966258;
}
L_08966258:
aot_fpr_12 = std::bit_cast<float>(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast<std::uint32_t>(64)));
aot_fpr_13 = std::bit_cast<float>(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast<std::uint32_t>(64)));
ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((!(std::isnan(aot_fpr_12) || std::isnan(aot_fpr_13)) && aot_fpr_12 == aot_fpr_13)) ? 0x00800000u : 0u);
{ const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u);
aot_gpr_4 = (aot_gpr_4 & 255u);
if (branch_taken) {
goto L_08966278;
}
goto L_08966270;
}
L_08966270:
aot_gpr_4 = (0u | 1u);
goto L_08966274;
L_08966274:
aot_gpr_4 = (aot_gpr_4 & 255u);
goto L_08966278;
L_08966278:
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_08966294;
}
goto L_08966288;
}
L_08966288:
aot_gpr_4 = (aot_mem.aot_direct_load16(ctx.gpr[18] + static_cast<std::uint32_t>(0)));
aot_gpr_4 = (aot_gpr_4 | 32u);
aot_mem.aot_direct_store16(ctx.gpr[18] + static_cast<std::uint32_t>(0), static_cast<std::uint16_t>(aot_gpr_4));
goto L_08966294;
L_08966294:
aot_fpr_12 = std::bit_cast<float>(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast<std::uint32_t>(68)));
aot_fpr_13 = std::bit_cast<float>(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast<std::uint32_t>(68)));
ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((!(std::isnan(aot_fpr_12) || std::isnan(aot_fpr_13)) && aot_fpr_12 == aot_fpr_13)) ? 0x00800000u : 0u);
{ const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u);
aot_gpr_4 = (0u | 0u);
if (branch_taken) {
goto L_089662C8;
}
goto L_089662AC;
}
L_089662AC:
aot_fpr_12 = std::bit_cast<float>(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast<std::uint32_t>(72)));
aot_fpr_13 = std::bit_cast<float>(aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast<std::uint32_t>(72)));
ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((!(std::isnan(aot_fpr_12) || std::isnan(aot_fpr_13)) && aot_fpr_12 == aot_fpr_13)) ? 0x00800000u : 0u);
{ const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u);
aot_gpr_4 = (aot_gpr_4 & 255u);
if (branch_taken) {
goto L_089662CC;
}
goto L_089662C4;
}
L_089662C4:
aot_gpr_4 = (0u | 1u);
goto L_089662C8;
L_089662C8:
aot_gpr_4 = (aot_gpr_4 & 255u);
goto L_089662CC;
L_089662CC:
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_089662E8;
}
goto L_089662DC;
}
L_089662DC:
aot_gpr_4 = (aot_mem.aot_direct_load16(ctx.gpr[18] + static_cast<std::uint32_t>(0)));
aot_gpr_4 = (aot_gpr_4 | 64u);
aot_mem.aot_direct_store16(ctx.gpr[18] + static_cast<std::uint32_t>(0), static_cast<std::uint16_t>(aot_gpr_4));
goto L_089662E8;
L_089662E8:
aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast<std::uint32_t>(56)));
aot_gpr_5 = (aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast<std::uint32_t>(56)));
{ const bool branch_taken = aot_gpr_4 == aot_gpr_5;
if (branch_taken) {
goto L_08966304;
}
goto L_089662F8;
}
L_089662F8:
aot_gpr_4 = (aot_mem.aot_direct_load16(ctx.gpr[18] + static_cast<std::uint32_t>(0)));
aot_gpr_4 = (aot_gpr_4 | 128u);
aot_mem.aot_direct_store16(ctx.gpr[18] + static_cast<std::uint32_t>(0), static_cast<std::uint16_t>(aot_gpr_4));
goto L_08966304;
L_08966304:
aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast<std::uint32_t>(40)));
aot_gpr_5 = (aot_mem.aot_direct_load8(ctx.gpr[17] + static_cast<std::uint32_t>(40)));
{ const bool branch_taken = aot_gpr_4 == aot_gpr_5;
if (branch_taken) {
goto L_08966320;
}
goto L_08966314;
}
L_08966314:
aot_gpr_4 = (aot_mem.aot_direct_load16(ctx.gpr[18] + static_cast<std::uint32_t>(0)));
aot_gpr_4 = (aot_gpr_4 | 4u);
aot_mem.aot_direct_store16(ctx.gpr[18] + static_cast<std::uint32_t>(0), static_cast<std::uint16_t>(aot_gpr_4));
goto L_08966320;
L_08966320:
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast<std::uint32_t>(76)));
aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[17] + static_cast<std::uint32_t>(76)));
{ const bool branch_taken = aot_gpr_4 == aot_gpr_5;
if (branch_taken) {
goto L_0896633C;
}
goto L_08966330;
}
L_08966330:
aot_gpr_4 = (aot_mem.aot_direct_load16(ctx.gpr[18] + static_cast<std::uint32_t>(0)));
aot_gpr_4 = (aot_gpr_4 | 256u);
aot_mem.aot_direct_store16(ctx.gpr[18] + static_cast<std::uint32_t>(0), static_cast<std::uint16_t>(aot_gpr_4));
goto L_0896633C;
L_0896633C:
{ std::uint32_t aot_run_words[5]{};
aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast<std::uint32_t>(0), aot_run_words);
ctx.gpr[16] = aot_run_words[0];
ctx.gpr[17] = aot_run_words[1];
ctx.gpr[18] = aot_run_words[2];
ctx.gpr[19] = aot_run_words[3];
aot_gpr_31 = aot_run_words[4];
}
jump_target = aot_gpr_31;
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(32));
// PSPRECOMP_V813_JR_FAST_EXIT: preserve the exact 256-transfer boundary; common JR path is shared.
if (++local_transfers < 256u) goto LOCAL_JR_DISPATCH;
// PSPRECOMP_V812_SHARED_SCHED_JUMP
goto LOCAL_SCHED_BOUNDARY;
L_08966358:
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(-48));
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(24), ctx.gpr[17]);
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(28), ctx.gpr[18]);
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(36), ctx.gpr[20]);
ctx.gpr[17] = (aot_gpr_5 | 0u);
ctx.gpr[18] = (aot_gpr_4 | 0u);
ctx.gpr[20] = (aot_gpr_29 + static_cast<std::uint32_t>(16));
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(20), ctx.gpr[16]);
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(32), ctx.gpr[19]);
ctx.gpr[16] = (aot_gpr_6 | 0u);
ctx.gpr[19] = (aot_gpr_7 | 0u);
aot_gpr_4 = (ctx.gpr[20] | 0u);
aot_gpr_5 = (0u | 0u);
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(40), aot_gpr_31);
aot_gpr_31 = (0x08966398u);
aot_gpr_6 = (0u | 4u);
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, aot_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 == 0x08966398u) goto L_08966398;
AOT_REGCACHE_SYNC_OUT(); return;
L_08966398:
aot_gpr_4 = (ctx.gpr[18] | 0u);
aot_gpr_5 = (ctx.gpr[16] | 0u);
aot_gpr_6 = (ctx.gpr[19] | 0u);
aot_gpr_31 = (0x089663ACu);
aot_gpr_7 = (ctx.gpr[20] | 0u);
goto L_08966158;
L_089663AC:
aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_29 + static_cast<std::uint32_t>(16)));
{ const bool branch_taken = aot_gpr_4 != 0u;
if (branch_taken) {
goto L_089663C4;
}
goto L_089663B8;
}
L_089663B8:
aot_gpr_4 = (aot_mem.aot_direct_load16(aot_gpr_29 + static_cast<std::uint32_t>(18)));
{ const bool branch_taken = aot_gpr_4 == 0u;
if (branch_taken) {
goto L_089663E8;
}
goto L_089663C4;
}
L_089663C4:
aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(16)));
aot_gpr_4 = (ctx.gpr[18] | 0u);
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(0), aot_gpr_5);
aot_gpr_7 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(0)));
aot_gpr_5 = (ctx.gpr[17] | 0u);
aot_gpr_31 = (0x089663E0u);
aot_gpr_6 = (ctx.gpr[16] | 0u);
goto L_0896640C;
L_089663E0:
{ const bool branch_taken = 0u == 0u;
ctx.gpr[2] = (0u | 1u);
if (branch_taken) {
goto L_089663EC;
}
goto L_089663E8;
}
L_089663E8:
ctx.gpr[2] = (0u | 0u);
goto L_089663EC;
L_089663EC:
{ std::uint32_t aot_run_words[6]{};
aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast<std::uint32_t>(20), aot_run_words);
ctx.gpr[16] = aot_run_words[0];
ctx.gpr[17] = aot_run_words[1];
ctx.gpr[18] = aot_run_words[2];
ctx.gpr[19] = aot_run_words[3];
ctx.gpr[20] = aot_run_words[4];
aot_gpr_31 = aot_run_words[5];
}
jump_target = aot_gpr_31;
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(48));
// PSPRECOMP_V813_JR_FAST_EXIT: preserve the exact 256-transfer boundary; common JR path is shared.
if (++local_transfers < 256u) goto LOCAL_JR_DISPATCH;
// PSPRECOMP_V812_SHARED_SCHED_JUMP
goto LOCAL_SCHED_BOUNDARY;
L_0896640C:
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(-32));
{ const std::uint32_t aot_run_words[4]{ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], aot_gpr_31};
aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast<std::uint32_t>(16), aot_run_words); }
ctx.gpr[16] = (aot_gpr_6 | 0u);
ctx.gpr[17] = (aot_gpr_5 | 0u);
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(32), aot_gpr_7);
ctx.gpr[18] = (aot_mem.aot_direct_load16(aot_gpr_29 + static_cast<std::uint32_t>(32)));
aot_gpr_5 = (ctx.gpr[18] & 65535u);
aot_gpr_6 = (aot_gpr_5 & 255u);
aot_gpr_7 = (aot_mem.aot_direct_load_word_right(ctx.gpr[17] + static_cast<std::uint32_t>(0), aot_gpr_7));
aot_gpr_7 = (aot_mem.aot_direct_load_word_left(ctx.gpr[17] + static_cast<std::uint32_t>(3), aot_gpr_7));
aot_gpr_7 = (aot_gpr_7 & 65535u);
ctx.gpr[8] = (ctx.gpr[17] + aot_gpr_7);
aot_gpr_7 = (aot_gpr_7 + static_cast<std::uint32_t>(1));
aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast<std::uint32_t>(0), static_cast<std::uint8_t>(aot_gpr_7));
ctx.gpr[1] = (static_cast<std::uint32_t>(static_cast<std::int32_t>(aot_gpr_7) >> 8u));
aot_mem.aot_direct_store8(ctx.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(ctx.gpr[17] + static_cast<std::uint32_t>(0), aot_gpr_6));
aot_gpr_6 = (aot_mem.aot_direct_load_word_left(ctx.gpr[17] + static_cast<std::uint32_t>(3), aot_gpr_6));
aot_gpr_6 = (aot_gpr_6 & 65535u);
aot_gpr_7 = (ctx.gpr[17] + aot_gpr_6);
aot_gpr_6 = (aot_gpr_6 + static_cast<std::uint32_t>(1));
aot_mem.aot_direct_store8(ctx.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(ctx.gpr[17] + static_cast<std::uint32_t>(1), static_cast<std::uint8_t>(ctx.gpr[1]));
aot_mem.aot_direct_store8(aot_gpr_7 + static_cast<std::uint32_t>(0), static_cast<std::uint8_t>(aot_gpr_5));
aot_gpr_7 = (static_cast<std::uint32_t>(static_cast<std::int32_t>(static_cast<std::int16_t>(aot_mem.aot_direct_load16(aot_gpr_29 + static_cast<std::uint32_t>(34))))));
aot_gpr_5 = (ctx.gpr[17] | 0u);
aot_gpr_31 = (0x08966498u);
aot_gpr_6 = (ctx.gpr[16] | 0u);
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0088->0121.
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
AOT_REGCACHE_SYNC_OUT();
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0088_entry, 334u, 0x08966498u, 0x089E87C4u)) {
#if defined(__clang__)
[[clang::musttail]] return recomp_unit_0121_entry(rt, ctx, 103u, aot_mem);
#else
recomp_unit_0121_entry(rt, ctx, 103u, aot_mem); return;
#endif
}
return;
#else
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0121_entry, 121u, 103u, 0x089E87C4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08966498u) goto L_08966498;
AOT_REGCACHE_SYNC_OUT(); return;
#endif
L_08966498:
aot_gpr_4 = (ctx.gpr[18] & 2u);
{ const bool branch_taken = aot_gpr_4 == 0u;
if (branch_taken) {
goto L_089664B0;
}
goto L_089664A4;
}
L_089664A4:
aot_gpr_5 = (ctx.gpr[16] + static_cast<std::uint32_t>(32));
aot_gpr_31 = (0x089664B0u);
aot_gpr_4 = (ctx.gpr[17] | 0u);
goto L_08964B98;
L_089664B0:
aot_gpr_4 = (ctx.gpr[18] & 8u);
{ const bool branch_taken = aot_gpr_4 == 0u;
if (branch_taken) {
goto L_089664C8;
}
goto L_089664BC;
}
L_089664BC:
aot_gpr_5 = (ctx.gpr[16] + static_cast<std::uint32_t>(44));
aot_gpr_31 = (0x089664C8u);
aot_gpr_4 = (ctx.gpr[17] | 0u);
goto L_08964A14;
L_089664C8:
aot_gpr_4 = (ctx.gpr[18] & 16u);
{ const bool branch_taken = aot_gpr_4 == 0u;
if (branch_taken) {
goto L_08966590;
}
goto L_089664D4;
}
L_089664D4:
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast<std::uint32_t>(52)));
aot_gpr_5 = (aot_gpr_4 >> 16u);
aot_gpr_4 = (aot_gpr_4 & 65535u);
aot_gpr_4 = (aot_gpr_4 & 65535u);
aot_gpr_6 = (aot_gpr_4 & 255u);
aot_gpr_7 = (aot_mem.aot_direct_load_word_right(ctx.gpr[17] + static_cast<std::uint32_t>(0), aot_gpr_7));
aot_gpr_7 = (aot_mem.aot_direct_load_word_left(ctx.gpr[17] + static_cast<std::uint32_t>(3), aot_gpr_7));
aot_gpr_7 = (aot_gpr_7 & 65535u);
ctx.gpr[8] = (ctx.gpr[17] + aot_gpr_7);
aot_gpr_7 = (aot_gpr_7 + static_cast<std::uint32_t>(1));
aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast<std::uint32_t>(0), static_cast<std::uint8_t>(aot_gpr_7));
ctx.gpr[1] = (static_cast<std::uint32_t>(static_cast<std::int32_t>(aot_gpr_7) >> 8u));
aot_mem.aot_direct_store8(ctx.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_4 = (static_cast<std::uint32_t>(static_cast<std::int32_t>(aot_gpr_4) >> 8u));
aot_gpr_4 = (aot_gpr_4 & 255u);
aot_gpr_6 = (aot_mem.aot_direct_load_word_right(ctx.gpr[17] + static_cast<std::uint32_t>(0), aot_gpr_6));
aot_gpr_6 = (aot_mem.aot_direct_load_word_left(ctx.gpr[17] + static_cast<std::uint32_t>(3), aot_gpr_6));
aot_gpr_6 = (aot_gpr_6 & 65535u);
aot_gpr_7 = (ctx.gpr[17] + aot_gpr_6);
aot_gpr_6 = (aot_gpr_6 + static_cast<std::uint32_t>(1));
aot_mem.aot_direct_store8(ctx.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(ctx.gpr[17] + static_cast<std::uint32_t>(1), static_cast<std::uint8_t>(ctx.gpr[1]));
aot_mem.aot_direct_store8(aot_gpr_7 + static_cast<std::uint32_t>(0), static_cast<std::uint8_t>(aot_gpr_4));
aot_gpr_4 = (aot_gpr_5 & 65535u);
aot_gpr_5 = (aot_gpr_4 & 255u);
aot_gpr_6 = (aot_mem.aot_direct_load_word_right(ctx.gpr[17] + static_cast<std::uint32_t>(0), aot_gpr_6));
aot_gpr_6 = (aot_mem.aot_direct_load_word_left(ctx.gpr[17] + static_cast<std::uint32_t>(3), aot_gpr_6));
aot_gpr_6 = (aot_gpr_6 & 65535u);
aot_gpr_7 = (ctx.gpr[17] + aot_gpr_6);
aot_gpr_6 = (aot_gpr_6 + static_cast<std::uint32_t>(1));
aot_mem.aot_direct_store8(ctx.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(ctx.gpr[17] + static_cast<std::uint32_t>(1), static_cast<std::uint8_t>(ctx.gpr[1]));
aot_mem.aot_direct_store8(aot_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(ctx.gpr[17] + static_cast<std::uint32_t>(0), aot_gpr_5));
aot_gpr_5 = (aot_mem.aot_direct_load_word_left(ctx.gpr[17] + static_cast<std::uint32_t>(3), aot_gpr_5));
aot_gpr_5 = (aot_gpr_5 & 65535u);
aot_gpr_6 = (ctx.gpr[17] + aot_gpr_5);
aot_gpr_5 = (aot_gpr_5 + static_cast<std::uint32_t>(1));
aot_mem.aot_direct_store8(ctx.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(ctx.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_08966590;
L_08966590:
aot_gpr_4 = (ctx.gpr[18] & 32u);
{ const bool branch_taken = aot_gpr_4 == 0u;
if (branch_taken) {
goto L_089665A8;
}
goto L_0896659C;
}
L_0896659C:
aot_gpr_5 = (ctx.gpr[16] + static_cast<std::uint32_t>(60));
aot_gpr_31 = (0x089665A8u);
aot_gpr_4 = (ctx.gpr[17] | 0u);
goto L_08964A14;
L_089665A8:
aot_gpr_4 = (ctx.gpr[18] & 64u);
{ const bool branch_taken = aot_gpr_4 == 0u;
if (branch_taken) {
goto L_089665C0;
}
goto L_089665B4;
}
L_089665B4:
aot_gpr_5 = (ctx.gpr[16] + static_cast<std::uint32_t>(68));
aot_gpr_31 = (0x089665C0u);
aot_gpr_4 = (ctx.gpr[17] | 0u);
goto L_08964A14;
L_089665C0:
aot_gpr_4 = (ctx.gpr[18] & 128u);
{ const bool branch_taken = aot_gpr_4 == 0u;
if (branch_taken) {
goto L_089665F4;
}
goto L_089665CC;
}
L_089665CC:
aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast<std::uint32_t>(56)));
aot_gpr_5 = (aot_mem.aot_direct_load_word_right(ctx.gpr[17] + static_cast<std::uint32_t>(0), aot_gpr_5));
aot_gpr_5 = (aot_mem.aot_direct_load_word_left(ctx.gpr[17] + static_cast<std::uint32_t>(3), aot_gpr_5));
aot_gpr_5 = (aot_gpr_5 & 65535u);
aot_gpr_6 = (ctx.gpr[17] + aot_gpr_5);
aot_gpr_5 = (aot_gpr_5 + static_cast<std::uint32_t>(1));
aot_mem.aot_direct_store8(ctx.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(ctx.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_089665F4;
L_089665F4:
aot_gpr_4 = (ctx.gpr[18] & 4u);
{ const bool branch_taken = aot_gpr_4 == 0u;
if (branch_taken) {
goto L_08966628;
}
goto L_08966600;
}
L_08966600:
aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast<std::uint32_t>(40)));
aot_gpr_5 = (aot_mem.aot_direct_load_word_right(ctx.gpr[17] + static_cast<std::uint32_t>(0), aot_gpr_5));
aot_gpr_5 = (aot_mem.aot_direct_load_word_left(ctx.gpr[17] + static_cast<std::uint32_t>(3), aot_gpr_5));
aot_gpr_5 = (aot_gpr_5 & 65535u);
aot_gpr_6 = (ctx.gpr[17] + aot_gpr_5);
aot_gpr_5 = (aot_gpr_5 + static_cast<std::uint32_t>(1));
aot_mem.aot_direct_store8(ctx.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(ctx.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_08966628;
L_08966628:
aot_gpr_4 = (ctx.gpr[18] & 256u);
{ const bool branch_taken = aot_gpr_4 == 0u;
if (branch_taken) {
goto L_089666F0;
}
goto L_08966634;
}
L_08966634:
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast<std::uint32_t>(76)));
aot_gpr_5 = (aot_gpr_4 >> 16u);
aot_gpr_4 = (aot_gpr_4 & 65535u);
aot_gpr_4 = (aot_gpr_4 & 65535u);
aot_gpr_6 = (aot_gpr_4 & 255u);
aot_gpr_7 = (aot_mem.aot_direct_load_word_right(ctx.gpr[17] + static_cast<std::uint32_t>(0), aot_gpr_7));
aot_gpr_7 = (aot_mem.aot_direct_load_word_left(ctx.gpr[17] + static_cast<std::uint32_t>(3), aot_gpr_7));
aot_gpr_7 = (aot_gpr_7 & 65535u);
ctx.gpr[8] = (ctx.gpr[17] + aot_gpr_7);
aot_gpr_7 = (aot_gpr_7 + static_cast<std::uint32_t>(1));
aot_mem.aot_direct_store8(ctx.gpr[17] + static_cast<std::uint32_t>(0), static_cast<std::uint8_t>(aot_gpr_7));
ctx.gpr[1] = (static_cast<std::uint32_t>(static_cast<std::int32_t>(aot_gpr_7) >> 8u));
aot_mem.aot_direct_store8(ctx.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_4 = (static_cast<std::uint32_t>(static_cast<std::int32_t>(aot_gpr_4) >> 8u));
aot_gpr_4 = (aot_gpr_4 & 255u);
aot_gpr_6 = (aot_mem.aot_direct_load_word_right(ctx.gpr[17] + static_cast<std::uint32_t>(0), aot_gpr_6));
aot_gpr_6 = (aot_mem.aot_direct_load_word_left(ctx.gpr[17] + static_cast<std::uint32_t>(3), aot_gpr_6));
aot_gpr_6 = (aot_gpr_6 & 65535u);
aot_gpr_7 = (ctx.gpr[17] + aot_gpr_6);
aot_gpr_6 = (aot_gpr_6 + static_cast<std::uint32_t>(1));
aot_mem.aot_direct_store8(ctx.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(ctx.gpr[17] + static_cast<std::uint32_t>(1), static_cast<std::uint8_t>(ctx.gpr[1]));
aot_mem.aot_direct_store8(aot_gpr_7 + static_cast<std::uint32_t>(0), static_cast<std::uint8_t>(aot_gpr_4));
aot_gpr_4 = (aot_gpr_5 & 65535u);
aot_gpr_5 = (aot_gpr_4 & 255u);
aot_gpr_6 = (aot_mem.aot_direct_load_word_right(ctx.gpr[17] + static_cast<std::uint32_t>(0), aot_gpr_6));
aot_gpr_6 = (aot_mem.aot_direct_load_word_left(ctx.gpr[17] + static_cast<std::uint32_t>(3), aot_gpr_6));
aot_gpr_6 = (aot_gpr_6 & 65535u);
aot_gpr_7 = (ctx.gpr[17] + aot_gpr_6);
aot_gpr_6 = (aot_gpr_6 + static_cast<std::uint32_t>(1));
aot_mem.aot_direct_store8(ctx.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(ctx.gpr[17] + static_cast<std::uint32_t>(1), static_cast<std::uint8_t>(ctx.gpr[1]));
aot_mem.aot_direct_store8(aot_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(ctx.gpr[17] + static_cast<std::uint32_t>(0), aot_gpr_5));
aot_gpr_5 = (aot_mem.aot_direct_load_word_left(ctx.gpr[17] + static_cast<std::uint32_t>(3), aot_gpr_5));
aot_gpr_5 = (aot_gpr_5 & 65535u);
aot_gpr_6 = (ctx.gpr[17] + aot_gpr_5);
aot_gpr_5 = (aot_gpr_5 + static_cast<std::uint32_t>(1));
aot_mem.aot_direct_store8(ctx.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(ctx.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_089666F0;
L_089666F0:
{ std::uint32_t aot_run_words[4]{};
aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast<std::uint32_t>(16), aot_run_words);
ctx.gpr[16] = aot_run_words[0];
ctx.gpr[17] = aot_run_words[1];
ctx.gpr[18] = aot_run_words[2];
aot_gpr_31 = aot_run_words[3];
}
jump_target = aot_gpr_31;
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(32));
// PSPRECOMP_V813_JR_FAST_EXIT: preserve the exact 256-transfer boundary; common JR path is shared.
if (++local_transfers < 256u) goto LOCAL_JR_DISPATCH;
// PSPRECOMP_V812_SHARED_SCHED_JUMP
goto LOCAL_SCHED_BOUNDARY;
L_08966708:
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(-112));
{ const std::uint32_t aot_run_words[10]{ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], ctx.gpr[22], ctx.gpr[23], ctx.gpr[30], aot_gpr_31};
aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast<std::uint32_t>(64), aot_run_words); }
ctx.gpr[21] = (aot_gpr_5 | 0u);
ctx.gpr[20] = (aot_gpr_4 | 0u);
ctx.gpr[23] = (ctx.gpr[28] + static_cast<std::uint32_t>(-17544));
aot_gpr_31 = (0x08966748u);
aot_gpr_4 = (ctx.gpr[23] | 0u);
if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B58974, 213u, 150u, 0x08B58974u>(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_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08966748u) goto L_08966748;
AOT_REGCACHE_SYNC_OUT(); return;
L_08966748:
aot_gpr_4 = (aot_gpr_29 | 0u);
aot_gpr_5 = (ctx.gpr[23] | 0u);
aot_gpr_31 = (0x08966758u);
aot_gpr_6 = (ctx.gpr[2] | 0u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 283u, 0x08B653C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08966758u) goto L_08966758;
AOT_REGCACHE_SYNC_OUT(); return;
L_08966758:
aot_gpr_4 = (ctx.gpr[21] | 0u);
aot_gpr_31 = (0x08966764u);
aot_gpr_5 = (aot_gpr_29 | 0u);
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0088->0218.
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
AOT_REGCACHE_SYNC_OUT();
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0088_entry, 354u, 0x08966764u, 0x08B6C9FCu)) {
#if defined(__clang__)
[[clang::musttail]] return recomp_unit_0218_entry(rt, ctx, 103u, aot_mem);
#else
recomp_unit_0218_entry(rt, ctx, 103u, aot_mem); return;
#endif
}
return;
#else
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0218_entry, 218u, 103u, 0x08B6C9FCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08966764u) goto L_08966764;
AOT_REGCACHE_SYNC_OUT(); return;
#endif
L_08966764:
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(4)));
ctx.gpr[22] = (ctx.gpr[28] + static_cast<std::uint32_t>(5824));
{ const bool branch_taken = aot_gpr_4 == ctx.gpr[22];
ctx.gpr[16] = (ctx.gpr[2] | 0u);
if (branch_taken) {
goto L_08966784;
}
goto L_08966774;
}
L_08966774:
aot_gpr_5 = (aot_gpr_4 | 0u);
aot_gpr_4 = (2236u << 16u);
aot_gpr_31 = (0x08966784u);
aot_gpr_4 = (aot_gpr_4 + static_cast<std::uint32_t>(25856));
if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE8F4, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08966784u) goto L_08966784;
AOT_REGCACHE_SYNC_OUT(); return;
L_08966784:
ctx.gpr[18] = (ctx.gpr[16] | 0u);
aot_mem.aot_direct_store32(ctx.gpr[20] + static_cast<std::uint32_t>(0), 0u);
aot_mem.aot_direct_store32(ctx.gpr[20] + static_cast<std::uint32_t>(4), ctx.gpr[22]);
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[21] + static_cast<std::uint32_t>(4)));
aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[21] + static_cast<std::uint32_t>(0)));
aot_gpr_5 = (aot_gpr_4 + aot_gpr_5);
if (ctx.gpr[18] != aot_gpr_5) {
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(60), ctx.gpr[20]);
goto L_08966804;
}
goto L_089667A4;
L_089667A4:
ctx.gpr[16] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(-9752)));
{ const bool branch_taken = ctx.gpr[16] != 0u;
aot_gpr_5 = (aot_gpr_4 | 0u);
if (branch_taken) {
goto L_089667E0;
}
goto L_089667B0;
}
L_089667B0:
ctx.gpr[16] = (0u | 0u);
aot_gpr_31 = (0x089667BCu);
aot_gpr_4 = (0u | 2452u);
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0088->0174.
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
AOT_REGCACHE_SYNC_OUT();
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0088_entry, 359u, 0x089667BCu, 0x08ABE278u)) {
#if defined(__clang__)
[[clang::musttail]] return recomp_unit_0174_entry(rt, ctx, 466u, aot_mem);
#else
recomp_unit_0174_entry(rt, ctx, 466u, aot_mem); return;
#endif
}
return;
#else
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089667BCu) goto L_089667BC;
AOT_REGCACHE_SYNC_OUT(); return;
#endif
L_089667BC:
ctx.gpr[17] = (ctx.gpr[2] | 0u);
if (ctx.gpr[17] == 0u) {
aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast<std::uint32_t>(-9752), ctx.gpr[16]);
goto L_089667D8;
}
goto L_089667C8;
L_089667C8:
aot_gpr_31 = (0x089667D0u);
aot_gpr_4 = (ctx.gpr[17] | 0u);
if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089667D0u) goto L_089667D0;
AOT_REGCACHE_SYNC_OUT(); return;
L_089667D0:
ctx.gpr[16] = (ctx.gpr[17] | 0u);
aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast<std::uint32_t>(-9752), ctx.gpr[16]);
goto L_089667D8;
L_089667D8:
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[21] + static_cast<std::uint32_t>(4)));
aot_gpr_5 = (aot_gpr_4 | 0u);
goto L_089667E0;
L_089667E0:
aot_gpr_31 = (0x089667E8u);
aot_gpr_4 = (ctx.gpr[16] | 0u);
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0088->0124.
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
AOT_REGCACHE_SYNC_OUT();
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0088_entry, 364u, 0x089667E8u, 0x089F6390u)) {
#if defined(__clang__)
[[clang::musttail]] return recomp_unit_0124_entry(rt, ctx, 420u, aot_mem);
#else
recomp_unit_0124_entry(rt, ctx, 420u, aot_mem); return;
#endif
}
return;
#else
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 420u, 0x089F6390u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089667E8u) goto L_089667E8;
AOT_REGCACHE_SYNC_OUT(); return;
#endif
L_089667E8:
aot_gpr_31 = (0x089667F0u);
aot_gpr_4 = (ctx.gpr[2] | 0u);
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0088->0124.
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
AOT_REGCACHE_SYNC_OUT();
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0088_entry, 365u, 0x089667F0u, 0x089F5AC0u)) {
#if defined(__clang__)
[[clang::musttail]] return recomp_unit_0124_entry(rt, ctx, 309u, aot_mem);
#else
recomp_unit_0124_entry(rt, ctx, 309u, aot_mem); return;
#endif
}
return;
#else
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 309u, 0x089F5AC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089667F0u) goto L_089667F0;
AOT_REGCACHE_SYNC_OUT(); return;
#endif
L_089667F0:
aot_gpr_4 = (ctx.gpr[20] | 0u);
aot_gpr_31 = (0x089667FCu);
aot_gpr_5 = (ctx.gpr[2] | 0u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 737u, 0x08B670D0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089667FCu) goto L_089667FC;
AOT_REGCACHE_SYNC_OUT(); return;
L_089667FC:
{ const bool branch_taken = 0u == 0u;
if (branch_taken) {
goto L_08966A64;
}
goto L_08966804;
}
L_08966804:
{ const bool branch_taken = ctx.gpr[16] == aot_gpr_4;
if (branch_taken) {
goto L_08966898;
}
goto L_0896680C;
}
L_0896680C:
aot_gpr_5 = (aot_gpr_4 | 0u);
aot_gpr_4 = (aot_gpr_29 + static_cast<std::uint32_t>(16));
aot_mem.aot_direct_store8(aot_gpr_29 + static_cast<std::uint32_t>(56), static_cast<std::uint8_t>(0u));
aot_gpr_7 = (aot_gpr_29 + static_cast<std::uint32_t>(56));
aot_gpr_31 = (0x08966824u);
aot_gpr_6 = (ctx.gpr[18] | 0u);
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0088->0218.
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
AOT_REGCACHE_SYNC_OUT();
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0088_entry, 369u, 0x08966824u, 0x08B6CA88u)) {
#if defined(__clang__)
[[clang::musttail]] return recomp_unit_0218_entry(rt, ctx, 116u, aot_mem);
#else
recomp_unit_0218_entry(rt, ctx, 116u, aot_mem); return;
#endif
}
return;
#else
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0218_entry, 218u, 116u, 0x08B6CA88u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08966824u) goto L_08966824;
AOT_REGCACHE_SYNC_OUT(); return;
#endif
L_08966824:
ctx.gpr[17] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(-9752)));
if (ctx.gpr[17] != 0u) {
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(60), ctx.gpr[20]);
goto L_0896685C;
}
goto L_08966830;
L_08966830:
ctx.gpr[17] = (0u | 0u);
aot_gpr_31 = (0x0896683Cu);
aot_gpr_4 = (0u | 2452u);
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0088->0174.
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
AOT_REGCACHE_SYNC_OUT();
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0088_entry, 371u, 0x0896683Cu, 0x08ABE278u)) {
#if defined(__clang__)
[[clang::musttail]] return recomp_unit_0174_entry(rt, ctx, 466u, aot_mem);
#else
recomp_unit_0174_entry(rt, ctx, 466u, aot_mem); return;
#endif
}
return;
#else
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0896683Cu) goto L_0896683C;
AOT_REGCACHE_SYNC_OUT(); return;
#endif
L_0896683C:
ctx.gpr[19] = (ctx.gpr[2] | 0u);
if (ctx.gpr[19] == 0u) {
aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast<std::uint32_t>(-9752), ctx.gpr[17]);
goto L_08966858;
}
goto L_08966848;
L_08966848:
aot_gpr_31 = (0x08966850u);
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_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08966850u) goto L_08966850;
AOT_REGCACHE_SYNC_OUT(); return;
L_08966850:
ctx.gpr[17] = (ctx.gpr[19] | 0u);
aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast<std::uint32_t>(-9752), ctx.gpr[17]);
goto L_08966858;
L_08966858:
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(60), ctx.gpr[20]);
goto L_0896685C;
L_0896685C:
aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(20)));
aot_gpr_31 = (0x08966868u);
aot_gpr_4 = (ctx.gpr[17] | 0u);
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0088->0124.
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
AOT_REGCACHE_SYNC_OUT();
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0088_entry, 376u, 0x08966868u, 0x089F6390u)) {
#if defined(__clang__)
[[clang::musttail]] return recomp_unit_0124_entry(rt, ctx, 420u, aot_mem);
#else
recomp_unit_0124_entry(rt, ctx, 420u, aot_mem); return;
#endif
}
return;
#else
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 420u, 0x089F6390u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08966868u) goto L_08966868;
AOT_REGCACHE_SYNC_OUT(); return;
#endif
L_08966868:
aot_gpr_31 = (0x08966870u);
aot_gpr_4 = (ctx.gpr[2] | 0u);
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0088->0124.
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
AOT_REGCACHE_SYNC_OUT();
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0088_entry, 377u, 0x08966870u, 0x089F5AC0u)) {
#if defined(__clang__)
[[clang::musttail]] return recomp_unit_0124_entry(rt, ctx, 309u, aot_mem);
#else
recomp_unit_0124_entry(rt, ctx, 309u, aot_mem); return;
#endif
}
return;
#else
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 309u, 0x089F5AC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08966870u) goto L_08966870;
AOT_REGCACHE_SYNC_OUT(); return;
#endif
L_08966870:
aot_gpr_4 = (ctx.gpr[20] | 0u);
aot_gpr_31 = (0x0896687Cu);
aot_gpr_5 = (ctx.gpr[2] | 0u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 737u, 0x08B670D0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0896687Cu) goto L_0896687C;
AOT_REGCACHE_SYNC_OUT(); return;
L_0896687C:
ctx.gpr[17] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(20)));
{ const bool branch_taken = ctx.gpr[17] == ctx.gpr[22];
aot_gpr_4 = (2236u << 16u);
if (branch_taken) {
goto L_08966894;
}
goto L_08966888;
}
L_08966888:
aot_gpr_4 = (aot_gpr_4 + static_cast<std::uint32_t>(25856));
aot_gpr_31 = (0x08966894u);
aot_gpr_5 = (ctx.gpr[17] | 0u);
if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE8F4, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08966894u) goto L_08966894;
AOT_REGCACHE_SYNC_OUT(); return;
L_08966894:
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[21] + static_cast<std::uint32_t>(4)));
goto L_08966898;
L_08966898:
aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[21] + static_cast<std::uint32_t>(0)));
aot_gpr_4 = (aot_gpr_4 + aot_gpr_5);
{ const bool branch_taken = ctx.gpr[16] == aot_gpr_4;
ctx.gpr[20] = (2236u << 16u);
if (branch_taken) {
goto L_08966A64;
}
goto L_089668A8;
}
L_089668A8:
ctx.gpr[20] = (ctx.gpr[20] + static_cast<std::uint32_t>(25856));
ctx.gpr[30] = (aot_gpr_29 + static_cast<std::uint32_t>(40));
ctx.gpr[16] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(60)));
goto L_089668B4;
L_089668B4:
ctx.gpr[19] = (aot_gpr_4 | 0u);
ctx.gpr[18] = (ctx.gpr[18] + static_cast<std::uint32_t>(1));
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[18] + static_cast<std::uint32_t>(0))))));
aot_gpr_6 = (0u | 84u);
{ const bool branch_taken = aot_gpr_5 == aot_gpr_6;
aot_gpr_6 = (0u | 116u);
if (branch_taken) {
goto L_089668D4;
}
goto L_089668CC;
}
L_089668CC:
{ const bool branch_taken = aot_gpr_5 != aot_gpr_6;
if (branch_taken) {
goto L_089669B8;
}
goto L_089668D4;
}
L_089668D4:
ctx.gpr[18] = (ctx.gpr[18] + static_cast<std::uint32_t>(1));
ctx.gpr[18] = (ctx.gpr[18] + static_cast<std::uint32_t>(1));
aot_gpr_31 = (0x089668E4u);
aot_gpr_4 = (ctx.gpr[23] | 0u);
if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B58974, 213u, 150u, 0x08B58974u>(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_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089668E4u) goto L_089668E4;
AOT_REGCACHE_SYNC_OUT(); return;
L_089668E4:
ctx.gpr[17] = (aot_gpr_29 + static_cast<std::uint32_t>(24));
aot_gpr_4 = (ctx.gpr[17] | 0u);
aot_gpr_5 = (ctx.gpr[23] | 0u);
aot_gpr_31 = (0x089668F8u);
aot_gpr_6 = (ctx.gpr[2] | 0u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 283u, 0x08B653C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089668F8u) goto L_089668F8;
AOT_REGCACHE_SYNC_OUT(); return;
L_089668F8:
aot_gpr_4 = (ctx.gpr[21] | 0u);
aot_gpr_5 = (ctx.gpr[17] | 0u);
aot_gpr_31 = (0x08966908u);
aot_gpr_6 = (ctx.gpr[18] | 0u);
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0088->0218.
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
AOT_REGCACHE_SYNC_OUT();
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0088_entry, 388u, 0x08966908u, 0x08B6CA18u)) {
#if defined(__clang__)
[[clang::musttail]] return recomp_unit_0218_entry(rt, ctx, 105u, aot_mem);
#else
recomp_unit_0218_entry(rt, ctx, 105u, aot_mem); return;
#endif
}
return;
#else
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0218_entry, 218u, 105u, 0x08B6CA18u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08966908u) goto L_08966908;
AOT_REGCACHE_SYNC_OUT(); return;
#endif
L_08966908:
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(28)));
{ const bool branch_taken = aot_gpr_4 == ctx.gpr[22];
ctx.gpr[19] = (ctx.gpr[2] | 0u);
if (branch_taken) {
goto L_08966920;
}
goto L_08966914;
}
L_08966914:
aot_gpr_5 = (aot_gpr_4 | 0u);
aot_gpr_31 = (0x08966920u);
aot_gpr_4 = (ctx.gpr[20] | 0u);
if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE8F4, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08966920u) goto L_08966920;
AOT_REGCACHE_SYNC_OUT(); return;
L_08966920:
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(-9752)));
if (aot_gpr_4 != 0u) {
ctx.gpr[17] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(-9752)));
goto L_0896695C;
}
goto L_0896692C;
L_0896692C:
ctx.gpr[17] = (0u | 0u);
aot_gpr_31 = (0x08966938u);
aot_gpr_4 = (0u | 2452u);
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0088->0174.
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
AOT_REGCACHE_SYNC_OUT();
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0088_entry, 392u, 0x08966938u, 0x08ABE278u)) {
#if defined(__clang__)
[[clang::musttail]] return recomp_unit_0174_entry(rt, ctx, 466u, aot_mem);
#else
recomp_unit_0174_entry(rt, ctx, 466u, aot_mem); return;
#endif
}
return;
#else
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 466u, 0x08ABE278u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08966938u) goto L_08966938;
AOT_REGCACHE_SYNC_OUT(); return;
#endif
L_08966938:
ctx.gpr[16] = (ctx.gpr[2] | 0u);
if (ctx.gpr[16] == 0u) {
aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast<std::uint32_t>(-9752), ctx.gpr[17]);
goto L_08966954;
}
goto L_08966944;
L_08966944:
aot_gpr_31 = (0x0896694Cu);
aot_gpr_4 = (ctx.gpr[16] | 0u);
if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_089F620C, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0124_entry, 124u, 402u, 0x089F620Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0896694Cu) goto L_0896694C;
AOT_REGCACHE_SYNC_OUT(); return;
L_0896694C:
ctx.gpr[17] = (ctx.gpr[16] | 0u);
aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast<std::uint32_t>(-9752), ctx.gpr[17]);
goto L_08966954;
L_08966954:
ctx.gpr[16] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(60)));
ctx.gpr[17] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(-9752)));
goto L_0896695C;
L_0896695C:
aot_gpr_4 = (aot_gpr_29 + static_cast<std::uint32_t>(32));
aot_mem.aot_direct_store8(aot_gpr_29 + static_cast<std::uint32_t>(57), static_cast<std::uint8_t>(0u));
aot_gpr_7 = (aot_gpr_29 + static_cast<std::uint32_t>(57));
aot_gpr_5 = (ctx.gpr[18] | 0u);
aot_gpr_31 = (0x08966974u);
aot_gpr_6 = (ctx.gpr[19] | 0u);
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0088->0218.
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
AOT_REGCACHE_SYNC_OUT();
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0088_entry, 397u, 0x08966974u, 0x08B6CA88u)) {
#if defined(__clang__)
[[clang::musttail]] return recomp_unit_0218_entry(rt, ctx, 116u, aot_mem);
#else
recomp_unit_0218_entry(rt, ctx, 116u, aot_mem); return;
#endif
}
return;
#else
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0218_entry, 218u, 116u, 0x08B6CA88u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08966974u) goto L_08966974;
AOT_REGCACHE_SYNC_OUT(); return;
#endif
L_08966974:
aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(36)));
aot_gpr_31 = (0x08966980u);
aot_gpr_4 = (ctx.gpr[17] | 0u);
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0088->0124.
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
AOT_REGCACHE_SYNC_OUT();
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0088_entry, 398u, 0x08966980u, 0x089F6390u)) {
#if defined(__clang__)
[[clang::musttail]] return recomp_unit_0124_entry(rt, ctx, 420u, aot_mem);
#else
recomp_unit_0124_entry(rt, ctx, 420u, aot_mem); return;
#endif
}
return;
#else
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 420u, 0x089F6390u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08966980u) goto L_08966980;
AOT_REGCACHE_SYNC_OUT(); return;
#endif
L_08966980:
aot_gpr_31 = (0x08966988u);
aot_gpr_4 = (ctx.gpr[2] | 0u);
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0088->0124.
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
AOT_REGCACHE_SYNC_OUT();
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0088_entry, 399u, 0x08966988u, 0x089F5AC0u)) {
#if defined(__clang__)
[[clang::musttail]] return recomp_unit_0124_entry(rt, ctx, 309u, aot_mem);
#else
recomp_unit_0124_entry(rt, ctx, 309u, aot_mem); return;
#endif
}
return;
#else
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0124_entry, 124u, 309u, 0x089F5AC0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08966988u) goto L_08966988;
AOT_REGCACHE_SYNC_OUT(); return;
#endif
L_08966988:
aot_gpr_4 = (ctx.gpr[16] | 0u);
aot_gpr_31 = (0x08966994u);
aot_gpr_5 = (ctx.gpr[2] | 0u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 737u, 0x08B670D0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08966994u) goto L_08966994;
AOT_REGCACHE_SYNC_OUT(); return;
L_08966994:
ctx.gpr[18] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(36)));
{ const bool branch_taken = ctx.gpr[18] == ctx.gpr[22];
aot_gpr_4 = (ctx.gpr[20] | 0u);
if (branch_taken) {
goto L_089669A8;
}
goto L_089669A0;
}
L_089669A0:
aot_gpr_31 = (0x089669A8u);
aot_gpr_5 = (ctx.gpr[18] | 0u);
if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE8F4, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089669A8u) goto L_089669A8;
AOT_REGCACHE_SYNC_OUT(); return;
L_089669A8:
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[21] + static_cast<std::uint32_t>(4)));
aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[21] + static_cast<std::uint32_t>(0)));
{ const bool branch_taken = 0u == 0u;
aot_gpr_4 = (aot_gpr_4 + aot_gpr_5);
if (branch_taken) {
goto L_08966A58;
}
goto L_089669B8;
}
L_089669B8:
aot_gpr_6 = (0u | 83u);
{ const bool branch_taken = aot_gpr_5 == aot_gpr_6;
aot_gpr_6 = (0u | 115u);
if (branch_taken) {
goto L_089669CC;
}
goto L_089669C4;
}
L_089669C4:
{ const bool branch_taken = aot_gpr_5 != aot_gpr_6;
if (branch_taken) {
goto L_08966A58;
}
goto L_089669CC;
}
L_089669CC:
ctx.gpr[18] = (ctx.gpr[18] + static_cast<std::uint32_t>(1));
ctx.gpr[18] = (ctx.gpr[18] + static_cast<std::uint32_t>(1));
aot_gpr_31 = (0x089669DCu);
aot_gpr_4 = (ctx.gpr[23] | 0u);
if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B58974, 213u, 150u, 0x08B58974u>(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_0213_entry, 213u, 150u, 0x08B58974u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089669DCu) goto L_089669DC;
AOT_REGCACHE_SYNC_OUT(); return;
L_089669DC:
aot_gpr_4 = (ctx.gpr[30] | 0u);
aot_gpr_5 = (ctx.gpr[23] | 0u);
aot_gpr_31 = (0x089669ECu);
aot_gpr_6 = (ctx.gpr[2] | 0u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 283u, 0x08B653C0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089669ECu) goto L_089669EC;
AOT_REGCACHE_SYNC_OUT(); return;
L_089669EC:
aot_gpr_4 = (ctx.gpr[21] | 0u);
aot_gpr_5 = (ctx.gpr[30] | 0u);
aot_gpr_31 = (0x089669FCu);
aot_gpr_6 = (ctx.gpr[18] | 0u);
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0088->0218.
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
AOT_REGCACHE_SYNC_OUT();
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0088_entry, 408u, 0x089669FCu, 0x08B6CA18u)) {
#if defined(__clang__)
[[clang::musttail]] return recomp_unit_0218_entry(rt, ctx, 105u, aot_mem);
#else
recomp_unit_0218_entry(rt, ctx, 105u, aot_mem); return;
#endif
}
return;
#else
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0218_entry, 218u, 105u, 0x08B6CA18u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089669FCu) goto L_089669FC;
AOT_REGCACHE_SYNC_OUT(); return;
#endif
L_089669FC:
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(44)));
{ const bool branch_taken = aot_gpr_4 == ctx.gpr[22];
ctx.gpr[19] = (ctx.gpr[2] | 0u);
if (branch_taken) {
goto L_08966A14;
}
goto L_08966A08;
}
L_08966A08:
aot_gpr_5 = (aot_gpr_4 | 0u);
aot_gpr_31 = (0x08966A14u);
aot_gpr_4 = (ctx.gpr[20] | 0u);
if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE8F4, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08966A14u) goto L_08966A14;
AOT_REGCACHE_SYNC_OUT(); return;
L_08966A14:
aot_gpr_4 = (aot_gpr_29 + static_cast<std::uint32_t>(48));
aot_mem.aot_direct_store8(aot_gpr_29 + static_cast<std::uint32_t>(58), static_cast<std::uint8_t>(0u));
aot_gpr_7 = (aot_gpr_29 + static_cast<std::uint32_t>(58));
aot_gpr_5 = (ctx.gpr[18] | 0u);
aot_gpr_31 = (0x08966A2Cu);
aot_gpr_6 = (ctx.gpr[19] | 0u);
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0088->0218.
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
AOT_REGCACHE_SYNC_OUT();
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0088_entry, 411u, 0x08966A2Cu, 0x08B6CA88u)) {
#if defined(__clang__)
[[clang::musttail]] return recomp_unit_0218_entry(rt, ctx, 116u, aot_mem);
#else
recomp_unit_0218_entry(rt, ctx, 116u, aot_mem); return;
#endif
}
return;
#else
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0218_entry, 218u, 116u, 0x08B6CA88u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08966A2Cu) goto L_08966A2C;
AOT_REGCACHE_SYNC_OUT(); return;
#endif
L_08966A2C:
aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(52)));
aot_gpr_31 = (0x08966A38u);
aot_gpr_4 = (ctx.gpr[16] | 0u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 737u, 0x08B670D0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08966A38u) goto L_08966A38;
AOT_REGCACHE_SYNC_OUT(); return;
L_08966A38:
ctx.gpr[18] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(52)));
{ const bool branch_taken = ctx.gpr[18] == ctx.gpr[22];
aot_gpr_4 = (ctx.gpr[20] | 0u);
if (branch_taken) {
goto L_08966A4C;
}
goto L_08966A44;
}
L_08966A44:
aot_gpr_31 = (0x08966A4Cu);
aot_gpr_5 = (ctx.gpr[18] | 0u);
if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE8F4, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08966A4Cu) goto L_08966A4C;
AOT_REGCACHE_SYNC_OUT(); return;
L_08966A4C:
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[21] + static_cast<std::uint32_t>(4)));
aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[21] + static_cast<std::uint32_t>(0)));
aot_gpr_4 = (aot_gpr_4 + aot_gpr_5);
goto L_08966A58;
L_08966A58:
ctx.gpr[18] = (ctx.gpr[19] | 0u);
{ const bool branch_taken = ctx.gpr[18] != aot_gpr_4;
if (branch_taken) {
goto L_089668B4;
}
goto L_08966A64;
}
L_08966A64:
{ std::uint32_t aot_run_words[10]{};
aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast<std::uint32_t>(64), aot_run_words);
ctx.gpr[16] = aot_run_words[0];
ctx.gpr[17] = aot_run_words[1];
ctx.gpr[18] = aot_run_words[2];
ctx.gpr[19] = aot_run_words[3];
ctx.gpr[20] = aot_run_words[4];
ctx.gpr[21] = aot_run_words[5];
ctx.gpr[22] = aot_run_words[6];
ctx.gpr[23] = aot_run_words[7];
ctx.gpr[30] = aot_run_words[8];
aot_gpr_31 = aot_run_words[9];
}
jump_target = aot_gpr_31;
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(112));
// PSPRECOMP_V813_JR_FAST_EXIT: preserve the exact 256-transfer boundary; common JR path is shared.
if (++local_transfers < 256u) goto LOCAL_JR_DISPATCH;
// PSPRECOMP_V812_SHARED_SCHED_JUMP
goto LOCAL_SCHED_BOUNDARY;
L_08966A94:
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(-112));
{ const std::uint32_t aot_run_words[5]{std::bit_cast<std::uint32_t>(ctx.fpr[20]), ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], aot_gpr_31};
aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast<std::uint32_t>(92), aot_run_words); }
ctx.gpr[16] = (aot_gpr_4 | 0u);
aot_gpr_5 = (ctx.gpr[16] + static_cast<std::uint32_t>(32));
aot_gpr_31 = (0x08966ABCu);
aot_gpr_4 = (aot_gpr_29 | 0u);
goto L_08966708;
L_08966ABC:
ctx.gpr[18] = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast<std::uint32_t>(76)));
{ const bool branch_taken = ctx.gpr[18] == 0u;
if (branch_taken) {
goto L_08966AD4;
}
goto L_08966AC8;
}
L_08966AC8:
aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast<std::uint32_t>(80)));
{ const bool branch_taken = aot_gpr_4 == 0u;
if (branch_taken) {
goto L_08966D74;
}
goto L_08966AD4;
}
L_08966AD4:
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(0)));
aot_gpr_4 = (aot_gpr_4 + aot_gpr_4);
aot_gpr_31 = (0x08966AE4u);
aot_gpr_4 = (aot_gpr_4 + static_cast<std::uint32_t>(4));
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0088->0174.
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
AOT_REGCACHE_SYNC_OUT();
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0088_entry, 421u, 0x08966AE4u, 0x08ABE29Cu)) {
#if defined(__clang__)
[[clang::musttail]] return recomp_unit_0174_entry(rt, ctx, 468u, aot_mem);
#else
recomp_unit_0174_entry(rt, ctx, 468u, aot_mem); return;
#endif
}
return;
#else
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0174_entry, 174u, 468u, 0x08ABE29Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08966AE4u) goto L_08966AE4;
AOT_REGCACHE_SYNC_OUT(); return;
#endif
L_08966AE4:
ctx.gpr[18] = (ctx.gpr[2] | 0u);
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(0)));
aot_gpr_6 = (aot_gpr_4 + aot_gpr_4);
aot_gpr_6 = (aot_gpr_6 + static_cast<std::uint32_t>(4));
aot_gpr_4 = (ctx.gpr[18] | 0u);
aot_gpr_31 = (0x08966B00u);
aot_gpr_5 = (0u | 0u);
if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B5814C, 213u, 28u, 0x08B5814Cu>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_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 == 0x08966B00u) goto L_08966B00;
AOT_REGCACHE_SYNC_OUT(); return;
L_08966B00:
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(4)));
aot_gpr_31 = (0x08966B0Cu);
aot_gpr_5 = (ctx.gpr[18] | 0u);
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0088->0032.
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
AOT_REGCACHE_SYNC_OUT();
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0088_entry, 423u, 0x08966B0Cu, 0x08887B04u)) {
#if defined(__clang__)
[[clang::musttail]] return recomp_unit_0032_entry(rt, ctx, 843u, aot_mem);
#else
recomp_unit_0032_entry(rt, ctx, 843u, aot_mem); return;
#endif
}
return;
#else
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0032_entry, 32u, 843u, 0x08887B04u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08966B0Cu) goto L_08966B0C;
AOT_REGCACHE_SYNC_OUT(); return;
#endif
L_08966B0C:
aot_gpr_31 = (0x08966B14u);
aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast<std::uint32_t>(40)));
if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C498, 194u, 60u, 0x08B0C498u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 60u, 0x08B0C498u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08966B14u) goto L_08966B14;
AOT_REGCACHE_SYNC_OUT(); return;
L_08966B14:
aot_gpr_31 = (0x08966B1Cu);
if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C05C, 194u, 8u, 0x08B0C05Cu>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[16], ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 8u, 0x08B0C05Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08966B1Cu) goto L_08966B1C;
AOT_REGCACHE_SYNC_OUT(); return;
L_08966B1C:
ctx.gpr[17] = (aot_gpr_29 + static_cast<std::uint32_t>(12));
aot_gpr_31 = (0x08966B28u);
aot_gpr_4 = (ctx.gpr[17] | 0u);
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0088->0027.
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
AOT_REGCACHE_SYNC_OUT();
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0088_entry, 426u, 0x08966B28u, 0x088733D0u)) {
#if defined(__clang__)
[[clang::musttail]] return recomp_unit_0027_entry(rt, ctx, 731u, aot_mem);
#else
recomp_unit_0027_entry(rt, ctx, 731u, aot_mem); return;
#endif
}
return;
#else
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0027_entry, 27u, 731u, 0x088733D0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08966B28u) goto L_08966B28;
AOT_REGCACHE_SYNC_OUT(); return;
#endif
L_08966B28:
aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast<std::uint32_t>(56)));
aot_gpr_5 = (17288u << 16u);
{ const bool branch_taken = static_cast<std::int32_t>(aot_gpr_4) > 0;
ctx.fpr[20] = std::bit_cast<float>(aot_gpr_5);
if (branch_taken) {
goto L_08966B48;
}
goto L_08966B38;
}
L_08966B38:
{ const bool branch_taken = static_cast<std::int32_t>(aot_gpr_4) < 0;
if (branch_taken) {
goto L_08966CB0;
}
goto L_08966B40;
}
L_08966B40:
{ const bool branch_taken = 0u == 0u;
if (branch_taken) {
goto L_08966B5C;
}
goto L_08966B48;
}
L_08966B48:
aot_gpr_4 = (static_cast<std::int32_t>(aot_gpr_4) < 2 ? 1u : 0u);
{ const bool branch_taken = aot_gpr_4 != 0u;
if (branch_taken) {
goto L_08966BD8;
}
goto L_08966B54;
}
L_08966B54:
{ const bool branch_taken = 0u == 0u;
if (branch_taken) {
goto L_08966CB0;
}
goto L_08966B5C;
}
L_08966B5C:
aot_gpr_31 = (0x08966B64u);
aot_gpr_4 = (0u | 1u);
if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C604, 194u, 82u, 0x08B0C604u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 82u, 0x08B0C604u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08966B64u) goto L_08966B64;
AOT_REGCACHE_SYNC_OUT(); return;
L_08966B64:
aot_gpr_4 = (aot_gpr_29 + static_cast<std::uint32_t>(28));
aot_fpr_14 = std::bit_cast<float>(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast<std::uint32_t>(12)));
aot_fpr_13 = std::bit_cast<float>(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast<std::uint32_t>(16)));
aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast<std::uint32_t>(52)));
aot_fpr_12 = std::bit_cast<float>(aot_gpr_5);
{ const bool branch_taken = static_cast<std::int32_t>(aot_gpr_5) >= 0;
aot_fpr_12 = static_cast<float>(static_cast<std::int32_t>(std::bit_cast<std::uint32_t>(aot_fpr_12)));
if (branch_taken) {
goto L_08966B8C;
}
goto L_08966B80;
}
L_08966B80:
aot_gpr_5 = (20352u << 16u);
aot_fpr_15 = std::bit_cast<float>(aot_gpr_5);
aot_fpr_12 = aot_fpr_12 + aot_fpr_15;
goto L_08966B8C;
L_08966B8C:
aot_fpr_15 = 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>(aot_fpr_14));
aot_fpr_14 = std::bit_cast<float>(std::bit_cast<std::uint32_t>(aot_fpr_15));
aot_gpr_31 = (0x08966BA0u);
aot_fpr_15 = std::bit_cast<float>(std::bit_cast<std::uint32_t>(ctx.fpr[20]));
if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08873400, 27u, 732u, 0x08873400u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31, aot_fpr_12, aot_fpr_13, aot_fpr_14, aot_fpr_15); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0027_entry, 27u, 732u, 0x08873400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08966BA0u) goto L_08966BA0;
AOT_REGCACHE_SYNC_OUT(); return;
L_08966BA0:
aot_fpr_13 = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(28)));
aot_gpr_4 = (std::bit_cast<std::uint32_t>(aot_fpr_13));
aot_fpr_12 = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(32)));
aot_gpr_5 = (std::bit_cast<std::uint32_t>(aot_fpr_12));
aot_fpr_14 = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(36)));
aot_gpr_6 = (std::bit_cast<std::uint32_t>(aot_fpr_14));
{ const std::uint32_t aot_run_words[3]{aot_gpr_4, aot_gpr_5, aot_gpr_6};
aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast<std::uint32_t>(12), aot_run_words); }
aot_fpr_15 = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(40)));
aot_gpr_4 = (std::bit_cast<std::uint32_t>(aot_fpr_15));
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(24), aot_gpr_4);
{ const bool branch_taken = 0u == 0u;
ctx.fpr[20] = std::bit_cast<float>(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast<std::uint32_t>(44)));
if (branch_taken) {
goto L_08966D04;
}
goto L_08966BD8;
}
L_08966BD8:
aot_gpr_31 = (0x08966BE0u);
aot_gpr_4 = (0u | 2u);
if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C604, 194u, 82u, 0x08B0C604u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 82u, 0x08B0C604u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08966BE0u) goto L_08966BE0;
AOT_REGCACHE_SYNC_OUT(); return;
L_08966BE0:
aot_fpr_14 = std::bit_cast<float>(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast<std::uint32_t>(12)));
aot_gpr_4 = (17160u << 16u);
aot_fpr_12 = std::bit_cast<float>(aot_gpr_4);
ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_14 <= aot_fpr_12)) ? 0x00800000u : 0u);
{ const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u);
aot_fpr_13 = std::bit_cast<float>(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast<std::uint32_t>(16)));
if (branch_taken) {
goto L_08966C58;
}
goto L_08966BFC;
}
L_08966BFC:
aot_gpr_4 = (17389u << 16u);
aot_gpr_4 = (aot_gpr_4 | 32768u);
aot_fpr_15 = std::bit_cast<float>(aot_gpr_4);
aot_fpr_12 = aot_fpr_15 - aot_fpr_14;
aot_gpr_4 = (aot_gpr_29 + static_cast<std::uint32_t>(44));
aot_fpr_12 = aot_fpr_14 - aot_fpr_12;
aot_fpr_14 = std::bit_cast<float>(std::bit_cast<std::uint32_t>(aot_fpr_15));
aot_gpr_31 = (0x08966C20u);
aot_fpr_15 = std::bit_cast<float>(std::bit_cast<std::uint32_t>(ctx.fpr[20]));
if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08873400, 27u, 732u, 0x08873400u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31, aot_fpr_12, aot_fpr_13, aot_fpr_14, aot_fpr_15); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0027_entry, 27u, 732u, 0x08873400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08966C20u) goto L_08966C20;
AOT_REGCACHE_SYNC_OUT(); return;
L_08966C20:
aot_fpr_12 = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(44)));
aot_gpr_4 = (std::bit_cast<std::uint32_t>(aot_fpr_12));
aot_fpr_13 = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(48)));
aot_gpr_5 = (std::bit_cast<std::uint32_t>(aot_fpr_13));
aot_fpr_14 = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(52)));
aot_gpr_6 = (std::bit_cast<std::uint32_t>(aot_fpr_14));
{ const std::uint32_t aot_run_words[3]{aot_gpr_4, aot_gpr_5, aot_gpr_6};
aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast<std::uint32_t>(12), aot_run_words); }
aot_fpr_15 = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(56)));
aot_gpr_4 = (std::bit_cast<std::uint32_t>(aot_fpr_15));
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(24), aot_gpr_4);
{ const bool branch_taken = 0u == 0u;
ctx.fpr[20] = std::bit_cast<float>(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast<std::uint32_t>(44)));
if (branch_taken) {
goto L_08966CA8;
}
goto L_08966C58;
}
L_08966C58:
aot_gpr_4 = (16544u << 16u);
aot_fpr_12 = std::bit_cast<float>(aot_gpr_4);
aot_fpr_15 = aot_fpr_14 - aot_fpr_12;
aot_gpr_4 = (aot_gpr_29 + static_cast<std::uint32_t>(60));
aot_fpr_14 = aot_fpr_14 + aot_fpr_15;
aot_gpr_31 = (0x08966C74u);
aot_fpr_15 = std::bit_cast<float>(std::bit_cast<std::uint32_t>(ctx.fpr[20]));
if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08873400, 27u, 732u, 0x08873400u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31, aot_fpr_12, aot_fpr_13, aot_fpr_14, aot_fpr_15); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0027_entry, 27u, 732u, 0x08873400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08966C74u) goto L_08966C74;
AOT_REGCACHE_SYNC_OUT(); return;
L_08966C74:
aot_fpr_12 = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(60)));
aot_gpr_4 = (std::bit_cast<std::uint32_t>(aot_fpr_12));
aot_fpr_13 = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(64)));
aot_gpr_5 = (std::bit_cast<std::uint32_t>(aot_fpr_13));
aot_fpr_14 = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(68)));
aot_gpr_6 = (std::bit_cast<std::uint32_t>(aot_fpr_14));
{ const std::uint32_t aot_run_words[3]{aot_gpr_4, aot_gpr_5, aot_gpr_6};
aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast<std::uint32_t>(12), aot_run_words); }
aot_fpr_15 = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(72)));
aot_gpr_4 = (std::bit_cast<std::uint32_t>(aot_fpr_15));
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(24), aot_gpr_4);
ctx.fpr[20] = std::bit_cast<float>(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast<std::uint32_t>(44)));
goto L_08966CA8;
L_08966CA8:
{ const bool branch_taken = 0u == 0u;
if (branch_taken) {
goto L_08966D04;
}
goto L_08966CB0;
}
L_08966CB0:
aot_gpr_31 = (0x08966CB8u);
aot_gpr_4 = (0u | 4u);
if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B0C604, 194u, 82u, 0x08B0C604u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, ctx.gpr[28], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0194_entry, 194u, 82u, 0x08B0C604u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08966CB8u) goto L_08966CB8;
AOT_REGCACHE_SYNC_OUT(); return;
L_08966CB8:
aot_gpr_4 = (aot_gpr_29 + static_cast<std::uint32_t>(76));
aot_fpr_12 = std::bit_cast<float>(0u);
aot_fpr_13 = std::bit_cast<float>(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast<std::uint32_t>(16)));
aot_fpr_14 = std::bit_cast<float>(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast<std::uint32_t>(12)));
aot_gpr_31 = (0x08966CD0u);
aot_fpr_15 = std::bit_cast<float>(std::bit_cast<std::uint32_t>(ctx.fpr[20]));
if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08873400, 27u, 732u, 0x08873400u>(ctx, &aot_mem, ctx.pc, ctx.gpr[2], aot_gpr_4, aot_gpr_31, aot_fpr_12, aot_fpr_13, aot_fpr_14, aot_fpr_15); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0027_entry, 27u, 732u, 0x08873400u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08966CD0u) goto L_08966CD0;
AOT_REGCACHE_SYNC_OUT(); return;
L_08966CD0:
aot_fpr_12 = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(76)));
aot_gpr_4 = (std::bit_cast<std::uint32_t>(aot_fpr_12));
aot_fpr_13 = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(80)));
aot_gpr_5 = (std::bit_cast<std::uint32_t>(aot_fpr_13));
aot_fpr_14 = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(84)));
aot_gpr_6 = (std::bit_cast<std::uint32_t>(aot_fpr_14));
{ const std::uint32_t aot_run_words[3]{aot_gpr_4, aot_gpr_5, aot_gpr_6};
aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast<std::uint32_t>(12), aot_run_words); }
aot_fpr_15 = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(88)));
aot_gpr_4 = (std::bit_cast<std::uint32_t>(aot_fpr_15));
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(24), aot_gpr_4);
ctx.fpr[20] = std::bit_cast<float>(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast<std::uint32_t>(44)));
goto L_08966D04;
L_08966D04:
aot_gpr_31 = (0x08966D0Cu);
aot_fpr_12 = std::bit_cast<float>(std::bit_cast<std::uint32_t>(ctx.fpr[20]));
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0088->0194.
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
AOT_REGCACHE_SYNC_OUT();
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0088_entry, 447u, 0x08966D0Cu, 0x08B0C520u)) {
#if defined(__clang__)
[[clang::musttail]] return recomp_unit_0194_entry(rt, ctx, 68u, aot_mem);
#else
recomp_unit_0194_entry(rt, ctx, 68u, aot_mem); return;
#endif
}
return;
#else
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 68u, 0x08B0C520u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08966D0Cu) goto L_08966D0C;
AOT_REGCACHE_SYNC_OUT(); return;
#endif
L_08966D0C:
aot_fpr_12 = std::bit_cast<float>(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast<std::uint32_t>(12)));
aot_fpr_12 = std::bit_cast<float>(ctx.fpu_float_to_word_ct<1u>(aot_fpr_12));
aot_gpr_5 = (std::bit_cast<std::uint32_t>(aot_fpr_12));
aot_fpr_13 = std::bit_cast<float>(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast<std::uint32_t>(16)));
aot_fpr_13 = std::bit_cast<float>(ctx.fpu_float_to_word_ct<1u>(aot_fpr_13));
aot_gpr_6 = (std::bit_cast<std::uint32_t>(aot_fpr_13));
aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast<std::uint32_t>(8)));
aot_gpr_7 = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast<std::uint32_t>(9)));
ctx.gpr[8] = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast<std::uint32_t>(10)));
ctx.gpr[9] = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast<std::uint32_t>(11)));
aot_gpr_4 = (aot_gpr_4 & 255u);
aot_gpr_7 = (aot_gpr_7 & 255u);
ctx.gpr[8] = (ctx.gpr[8] & 255u);
ctx.gpr[9] = (ctx.gpr[9] & 255u);
aot_mem.aot_direct_store8(aot_gpr_29 + static_cast<std::uint32_t>(8), static_cast<std::uint8_t>(aot_gpr_4));
aot_mem.aot_direct_store8(aot_gpr_29 + static_cast<std::uint32_t>(9), static_cast<std::uint8_t>(aot_gpr_7));
aot_mem.aot_direct_store8(aot_gpr_29 + static_cast<std::uint32_t>(10), static_cast<std::uint8_t>(ctx.gpr[8]));
aot_mem.aot_direct_store8(aot_gpr_29 + static_cast<std::uint32_t>(11), static_cast<std::uint8_t>(ctx.gpr[9]));
aot_gpr_7 = (aot_gpr_29 + static_cast<std::uint32_t>(8));
aot_gpr_4 = (ctx.gpr[18] | 0u);
ctx.gpr[8] = (ctx.gpr[17] | 0u);
aot_gpr_31 = (0x08966D68u);
ctx.gpr[9] = (0u | 1u);
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0088->0194.
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
AOT_REGCACHE_SYNC_OUT();
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0088_entry, 448u, 0x08966D68u, 0x08B0C1B0u)) {
#if defined(__clang__)
[[clang::musttail]] return recomp_unit_0194_entry(rt, ctx, 24u, aot_mem);
#else
recomp_unit_0194_entry(rt, ctx, 24u, aot_mem); return;
#endif
}
return;
#else
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0194_entry, 194u, 24u, 0x08B0C1B0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08966D68u) goto L_08966D68;
AOT_REGCACHE_SYNC_OUT(); return;
#endif
L_08966D68:
aot_gpr_31 = (0x08966D70u);
aot_gpr_4 = (ctx.gpr[18] | 0u);
if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE2E4, 174u, 472u, 0x08ABE2E4u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 472u, 0x08ABE2E4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08966D70u) goto L_08966D70;
AOT_REGCACHE_SYNC_OUT(); return;
L_08966D70:
ctx.gpr[18] = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast<std::uint32_t>(76)));
goto L_08966D74;
L_08966D74:
{ const bool branch_taken = ctx.gpr[18] == 0u;
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(4)));
if (branch_taken) {
goto L_08966D94;
}
goto L_08966D7C;
}
L_08966D7C:
aot_gpr_5 = (ctx.gpr[18] + static_cast<std::uint32_t>(-1));
aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast<std::uint32_t>(76), aot_gpr_5);
aot_gpr_5 = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast<std::uint32_t>(80)));
aot_gpr_5 = (aot_gpr_5 ^ 1u);
aot_gpr_5 = (0u < aot_gpr_5 ? 1u : 0u);
aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast<std::uint32_t>(80), static_cast<std::uint8_t>(aot_gpr_5));
goto L_08966D94;
L_08966D94:
aot_gpr_5 = (ctx.gpr[28] + static_cast<std::uint32_t>(5824));
{ const bool branch_taken = aot_gpr_4 == aot_gpr_5;
aot_gpr_5 = (aot_gpr_4 | 0u);
if (branch_taken) {
goto L_08966DAC;
}
goto L_08966DA0;
}
L_08966DA0:
aot_gpr_4 = (2236u << 16u);
aot_gpr_31 = (0x08966DACu);
aot_gpr_4 = (aot_gpr_4 + static_cast<std::uint32_t>(25856));
if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08ABE8F4, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem, ctx.pc, aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[8], ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_29, aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0174_entry, 174u, 556u, 0x08ABE8F4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08966DACu) goto L_08966DAC;
AOT_REGCACHE_SYNC_OUT(); return;
L_08966DAC:
{ std::uint32_t aot_run_words[5]{};
aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast<std::uint32_t>(92), aot_run_words);
ctx.fpr[20] = std::bit_cast<float>(aot_run_words[0]);
ctx.gpr[16] = aot_run_words[1];
ctx.gpr[17] = aot_run_words[2];
ctx.gpr[18] = aot_run_words[3];
aot_gpr_31 = aot_run_words[4];
}
jump_target = aot_gpr_31;
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(112));
// PSPRECOMP_V813_JR_FAST_EXIT: preserve the exact 256-transfer boundary; common JR path is shared.
if (++local_transfers < 256u) goto LOCAL_JR_DISPATCH;
// PSPRECOMP_V812_SHARED_SCHED_JUMP
goto LOCAL_SCHED_BOUNDARY;
L_08966DC8:
aot_gpr_4 = (0u | 1u);
aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast<std::uint32_t>(9092), static_cast<std::uint8_t>(aot_gpr_4));
aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast<std::uint32_t>(9093), static_cast<std::uint8_t>(0u));
aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast<std::uint32_t>(8968), 0u);
jump_target = aot_gpr_31;
aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast<std::uint32_t>(9160), 0u);
// PSPRECOMP_V813_JR_FAST_EXIT: preserve the exact 256-transfer boundary; common JR path is shared.
if (++local_transfers < 256u) goto LOCAL_JR_DISPATCH;
// PSPRECOMP_V812_SHARED_SCHED_JUMP
goto LOCAL_SCHED_BOUNDARY;
L_08966DE0:
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(-16));
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(0), ctx.gpr[16]);
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(4), aot_gpr_31);
aot_gpr_31 = (0x08966DF4u);
ctx.gpr[16] = (aot_gpr_4 | 0u);
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0088->0131.
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
AOT_REGCACHE_SYNC_OUT();
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0088_entry, 457u, 0x08966DF4u, 0x08A11208u)) {
#if defined(__clang__)
[[clang::musttail]] return recomp_unit_0131_entry(rt, ctx, 127u, aot_mem);
#else
recomp_unit_0131_entry(rt, ctx, 127u, aot_mem); return;
#endif
}
return;
#else
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0131_entry, 131u, 127u, 0x08A11208u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08966DF4u) goto L_08966DF4;
AOT_REGCACHE_SYNC_OUT(); return;
#endif
L_08966DF4:
aot_gpr_31 = (0x08966DFCu);
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0088->0128.
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
AOT_REGCACHE_SYNC_OUT();
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0088_entry, 458u, 0x08966DFCu, 0x08A07508u)) {
#if defined(__clang__)
[[clang::musttail]] return recomp_unit_0128_entry(rt, ctx, 787u, aot_mem);
#else
recomp_unit_0128_entry(rt, ctx, 787u, aot_mem); return;
#endif
}
return;
#else
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0128_entry, 128u, 787u, 0x08A07508u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08966DFCu) goto L_08966DFC;
AOT_REGCACHE_SYNC_OUT(); return;
#endif
L_08966DFC:
aot_gpr_31 = (0x08966E04u);
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0088->0179.
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
AOT_REGCACHE_SYNC_OUT();
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0088_entry, 459u, 0x08966E04u, 0x08AD323Cu)) {
#if defined(__clang__)
[[clang::musttail]] return recomp_unit_0179_entry(rt, ctx, 544u, aot_mem);
#else
recomp_unit_0179_entry(rt, ctx, 544u, aot_mem); return;
#endif
}
return;
#else
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0179_entry, 179u, 544u, 0x08AD323Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08966E04u) goto L_08966E04;
AOT_REGCACHE_SYNC_OUT(); return;
#endif
L_08966E04:
aot_gpr_31 = (0x08966E0Cu);
aot_gpr_4 = (ctx.gpr[16] | 0u);
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0088->0179.
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
AOT_REGCACHE_SYNC_OUT();
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0088_entry, 460u, 0x08966E0Cu, 0x08AD35A8u)) {
#if defined(__clang__)
[[clang::musttail]] return recomp_unit_0179_entry(rt, ctx, 591u, aot_mem);
#else
recomp_unit_0179_entry(rt, ctx, 591u, aot_mem); return;
#endif
}
return;
#else
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0179_entry, 179u, 591u, 0x08AD35A8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08966E0Cu) goto L_08966E0C;
AOT_REGCACHE_SYNC_OUT(); return;
#endif
L_08966E0C:
aot_gpr_31 = (0x08966E14u);
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0088->0131.
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
AOT_REGCACHE_SYNC_OUT();
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0088_entry, 461u, 0x08966E14u, 0x08A11214u)) {
#if defined(__clang__)
[[clang::musttail]] return recomp_unit_0131_entry(rt, ctx, 128u, aot_mem);
#else
recomp_unit_0131_entry(rt, ctx, 128u, aot_mem); return;
#endif
}
return;
#else
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0131_entry, 131u, 128u, 0x08A11214u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08966E14u) goto L_08966E14;
AOT_REGCACHE_SYNC_OUT(); return;
#endif
L_08966E14:
aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast<std::uint32_t>(7800)));
aot_gpr_6 = (aot_gpr_4 + aot_gpr_4);
aot_gpr_7 = (aot_gpr_4 << 8u);
aot_gpr_4 = (aot_gpr_4 + aot_gpr_6);
aot_gpr_5 = (2238u << 16u);
aot_gpr_4 = (aot_gpr_4 << 5u);
aot_gpr_4 = (aot_gpr_7 + aot_gpr_4);
aot_gpr_5 = (aot_gpr_5 + static_cast<std::uint32_t>(-6992));
aot_gpr_4 = (aot_gpr_4 + aot_gpr_5);
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast<std::uint32_t>(0)));
aot_gpr_5 = (0u | 0u);
aot_gpr_31 = (0x08966E48u);
aot_gpr_4 = (aot_gpr_4 + static_cast<std::uint32_t>(48));
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0088->0001.
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
AOT_REGCACHE_SYNC_OUT();
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0088_entry, 462u, 0x08966E48u, 0x08809600u)) {
#if defined(__clang__)
[[clang::musttail]] return recomp_unit_0001_entry(rt, ctx, 257u, aot_mem);
#else
recomp_unit_0001_entry(rt, ctx, 257u, aot_mem); return;
#endif
}
return;
#else
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0001_entry, 1u, 257u, 0x08809600u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08966E48u) goto L_08966E48;
AOT_REGCACHE_SYNC_OUT(); return;
#endif
L_08966E48:
ctx.gpr[16] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(0)));
aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(4)));
jump_target = aot_gpr_31;
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(16));
// PSPRECOMP_V813_JR_FAST_EXIT: preserve the exact 256-transfer boundary; common JR path is shared.
if (++local_transfers < 256u) goto LOCAL_JR_DISPATCH;
// PSPRECOMP_V812_SHARED_SCHED_JUMP
goto LOCAL_SCHED_BOUNDARY;
L_08966E58:
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(-16));
aot_gpr_5 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast<std::uint32_t>(7649)));
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(0), ctx.gpr[16]);
ctx.gpr[16] = (aot_gpr_4 | 0u);
aot_gpr_5 = (aot_gpr_5 + ctx.gpr[16]);
aot_gpr_6 = (static_cast<std::int32_t>(aot_gpr_5) < 60 ? 1u : 0u);
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(4), aot_gpr_31);
{ const bool branch_taken = aot_gpr_6 != 0u;
aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast<std::uint32_t>(7648)));
if (branch_taken) {
goto L_08966E8C;
}
goto L_08966E7C;
}
L_08966E7C:
aot_gpr_5 = (aot_gpr_5 + static_cast<std::uint32_t>(-60));
aot_gpr_6 = (static_cast<std::int32_t>(aot_gpr_5) < 60 ? 1u : 0u);
{ const bool branch_taken = aot_gpr_6 == 0u;
aot_gpr_4 = (aot_gpr_4 + static_cast<std::uint32_t>(1));
if (branch_taken) {
goto L_08966E7C;
}
goto L_08966E8C;
}
L_08966E8C:
aot_gpr_6 = (static_cast<std::int32_t>(aot_gpr_4) < 24 ? 1u : 0u);
{ const bool branch_taken = aot_gpr_6 != 0u;
if (branch_taken) {
goto L_08966EB0;
}
goto L_08966E98;
}
L_08966E98:
aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(8912)));
goto L_08966E9C;
L_08966E9C:
aot_gpr_4 = (aot_gpr_4 + static_cast<std::uint32_t>(-24));
aot_gpr_7 = (static_cast<std::int32_t>(aot_gpr_4) < 24 ? 1u : 0u);
{ const bool branch_taken = aot_gpr_7 == 0u;
aot_gpr_6 = (aot_gpr_6 + static_cast<std::uint32_t>(1));
if (branch_taken) {
goto L_08966E9C;
}
goto L_08966EAC;
}
L_08966EAC:
aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast<std::uint32_t>(8912), aot_gpr_6);
goto L_08966EB0;
L_08966EB0:
aot_gpr_4 = (aot_gpr_4 & 255u);
aot_gpr_31 = (0x08966EBCu);
aot_gpr_5 = (aot_gpr_5 & 255u);
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0088->0079.
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
AOT_REGCACHE_SYNC_OUT();
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0088_entry, 470u, 0x08966EBCu, 0x08941948u)) {
#if defined(__clang__)
[[clang::musttail]] return recomp_unit_0079_entry(rt, ctx, 225u, aot_mem);
#else
recomp_unit_0079_entry(rt, ctx, 225u, aot_mem); return;
#endif
}
return;
#else
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0079_entry, 79u, 225u, 0x08941948u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08966EBCu) goto L_08966EBC;
AOT_REGCACHE_SYNC_OUT(); return;
#endif
L_08966EBC:
aot_gpr_4 = (ctx.gpr[16] << 3u);
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 << 5u);
aot_gpr_31 = (0x08966ED8u);
aot_gpr_4 = (aot_gpr_5 + aot_gpr_4);
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0088->0059.
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
AOT_REGCACHE_SYNC_OUT();
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0088_entry, 471u, 0x08966ED8u, 0x088F3420u)) {
#if defined(__clang__)
[[clang::musttail]] return recomp_unit_0059_entry(rt, ctx, 644u, aot_mem);
#else
recomp_unit_0059_entry(rt, ctx, 644u, aot_mem); return;
#endif
}
return;
#else
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0059_entry, 59u, 644u, 0x088F3420u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08966ED8u) goto L_08966ED8;
AOT_REGCACHE_SYNC_OUT(); return;
#endif
L_08966ED8:
ctx.gpr[16] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(0)));
aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(4)));
jump_target = aot_gpr_31;
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(16));
// PSPRECOMP_V813_JR_FAST_EXIT: preserve the exact 256-transfer boundary; common JR path is shared.
if (++local_transfers < 256u) goto LOCAL_JR_DISPATCH;
// PSPRECOMP_V812_SHARED_SCHED_JUMP
goto LOCAL_SCHED_BOUNDARY;
L_08966EE8:
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(-16));
aot_gpr_5 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast<std::uint32_t>(7649)));
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(0), aot_gpr_31);
aot_gpr_5 = (aot_gpr_5 - aot_gpr_4);
{ const bool branch_taken = static_cast<std::int32_t>(aot_gpr_5) >= 0;
aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast<std::uint32_t>(7648)));
if (branch_taken) {
goto L_08966F0C;
}
goto L_08966F00;
}
L_08966F00:
aot_gpr_5 = (aot_gpr_5 + static_cast<std::uint32_t>(60));
{ const bool branch_taken = static_cast<std::int32_t>(aot_gpr_5) < 0;
aot_gpr_4 = (aot_gpr_4 + static_cast<std::uint32_t>(-1));
if (branch_taken) {
goto L_08966F00;
}
goto L_08966F0C;
}
L_08966F0C:
{ const bool branch_taken = static_cast<std::int32_t>(aot_gpr_4) >= 0;
if (branch_taken) {
goto L_08966F28;
}
goto L_08966F14;
}
L_08966F14:
aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(8912)));
goto L_08966F18;
L_08966F18:
aot_gpr_4 = (aot_gpr_4 + static_cast<std::uint32_t>(24));
{ const bool branch_taken = static_cast<std::int32_t>(aot_gpr_4) < 0;
aot_gpr_6 = (aot_gpr_6 + static_cast<std::uint32_t>(-1));
if (branch_taken) {
goto L_08966F18;
}
goto L_08966F24;
}
L_08966F24:
aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast<std::uint32_t>(8912), aot_gpr_6);
goto L_08966F28;
L_08966F28:
aot_gpr_4 = (aot_gpr_4 & 255u);
aot_gpr_31 = (0x08966F34u);
aot_gpr_5 = (aot_gpr_5 & 255u);
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0088->0079.
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
AOT_REGCACHE_SYNC_OUT();
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0088_entry, 479u, 0x08966F34u, 0x08941948u)) {
#if defined(__clang__)
[[clang::musttail]] return recomp_unit_0079_entry(rt, ctx, 225u, aot_mem);
#else
recomp_unit_0079_entry(rt, ctx, 225u, aot_mem); return;
#endif
}
return;
#else
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0079_entry, 79u, 225u, 0x08941948u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08966F34u) goto L_08966F34;
AOT_REGCACHE_SYNC_OUT(); return;
#endif
L_08966F34:
aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(0)));
jump_target = aot_gpr_31;
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(16));
// PSPRECOMP_V813_JR_FAST_EXIT: preserve the exact 256-transfer boundary; common JR path is shared.
if (++local_transfers < 256u) goto LOCAL_JR_DISPATCH;
// PSPRECOMP_V812_SHARED_SCHED_JUMP
goto LOCAL_SCHED_BOUNDARY;
L_08966F40:
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(-32));
{ const std::uint32_t aot_run_words[5]{std::bit_cast<std::uint32_t>(ctx.fpr[20]), std::bit_cast<std::uint32_t>(ctx.fpr[22]), ctx.gpr[16], ctx.gpr[17], aot_gpr_31};
aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast<std::uint32_t>(8), aot_run_words); }
ctx.fpr[20] = std::bit_cast<float>(std::bit_cast<std::uint32_t>(aot_fpr_13));
ctx.fpr[22] = std::bit_cast<float>(std::bit_cast<std::uint32_t>(aot_fpr_12));
ctx.gpr[16] = (aot_gpr_4 | 0u);
ctx.gpr[17] = (aot_gpr_5 | 0u);
aot_gpr_31 = (0x08966F70u);
goto L_08966FCC;
L_08966F70:
aot_gpr_4 = (0u | 1u);
aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast<std::uint32_t>(9093), static_cast<std::uint8_t>(aot_gpr_4));
{ const std::uint32_t vfpu_address = ctx.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[28] + static_cast<std::uint32_t>(9104));
{ float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value);
const std::uint32_t vfpu_address = aot_gpr_4 + static_cast<std::uint32_t>(0);
const std::uint32_t vfpu_words[4]{std::bit_cast<std::uint32_t>(vfpu_value[0]), std::bit_cast<std::uint32_t>(vfpu_value[1]), std::bit_cast<std::uint32_t>(vfpu_value[2]), std::bit_cast<std::uint32_t>(vfpu_value[3])};
aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); }
aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast<std::uint32_t>(9120), std::bit_cast<std::uint32_t>(ctx.fpr[22]));
{ const std::uint32_t vfpu_address = ctx.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[28] + static_cast<std::uint32_t>(9136));
{ float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value);
const std::uint32_t vfpu_address = aot_gpr_4 + static_cast<std::uint32_t>(0);
const std::uint32_t vfpu_words[4]{std::bit_cast<std::uint32_t>(vfpu_value[0]), std::bit_cast<std::uint32_t>(vfpu_value[1]), std::bit_cast<std::uint32_t>(vfpu_value[2]), std::bit_cast<std::uint32_t>(vfpu_value[3])};
aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); }
aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast<std::uint32_t>(9152), std::bit_cast<std::uint32_t>(ctx.fpr[20]));
aot_gpr_6 = (ctx.gpr[28] + static_cast<std::uint32_t>(-17520));
aot_gpr_4 = (0u | 183u);
aot_gpr_31 = (0x08966FA8u);
aot_gpr_5 = (0u | 8u);
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0088->0179.
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
AOT_REGCACHE_SYNC_OUT();
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0088_entry, 482u, 0x08966FA8u, 0x08AD3258u)) {
#if defined(__clang__)
[[clang::musttail]] return recomp_unit_0179_entry(rt, ctx, 546u, aot_mem);
#else
recomp_unit_0179_entry(rt, ctx, 546u, aot_mem); return;
#endif
}
return;
#else
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0179_entry, 179u, 546u, 0x08AD3258u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08966FA8u) goto L_08966FA8;
AOT_REGCACHE_SYNC_OUT(); return;
#endif
L_08966FA8:
aot_gpr_31 = (0x08966FB0u);
aot_gpr_4 = (0u | 0u);
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0088->0179.
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
AOT_REGCACHE_SYNC_OUT();
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0088_entry, 483u, 0x08966FB0u, 0x08AD3610u)) {
#if defined(__clang__)
[[clang::musttail]] return recomp_unit_0179_entry(rt, ctx, 598u, aot_mem);
#else
recomp_unit_0179_entry(rt, ctx, 598u, aot_mem); return;
#endif
}
return;
#else
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_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 == 0x08966FB0u) goto L_08966FB0;
AOT_REGCACHE_SYNC_OUT(); return;
#endif
L_08966FB0:
{ std::uint32_t aot_run_words[5]{};
aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast<std::uint32_t>(8), aot_run_words);
ctx.fpr[20] = std::bit_cast<float>(aot_run_words[0]);
ctx.fpr[22] = std::bit_cast<float>(aot_run_words[1]);
ctx.gpr[16] = aot_run_words[2];
ctx.gpr[17] = aot_run_words[3];
aot_gpr_31 = aot_run_words[4];
}
jump_target = aot_gpr_31;
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(32));
// PSPRECOMP_V813_JR_FAST_EXIT: preserve the exact 256-transfer boundary; common JR path is shared.
if (++local_transfers < 256u) goto LOCAL_JR_DISPATCH;
// PSPRECOMP_V812_SHARED_SCHED_JUMP
goto LOCAL_SCHED_BOUNDARY;
L_08966FCC:
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(-16));
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(8968)));
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(0), ctx.gpr[16]);
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(4), aot_gpr_31);
{ const bool branch_taken = aot_gpr_4 == 0u;
if (branch_taken) {
goto L_08967048;
}
goto L_08966FE4;
}
L_08966FE4:
aot_gpr_5 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast<std::uint32_t>(612)));
aot_gpr_6 = (0u | 2u);
{ const bool branch_taken = aot_gpr_5 != aot_gpr_6;
aot_gpr_5 = (0u | 1u);
if (branch_taken) {
goto L_08967010;
}
goto L_08966FF4;
}
L_08966FF4:
aot_mem.aot_direct_store8(aot_gpr_4 + static_cast<std::uint32_t>(612), static_cast<std::uint8_t>(aot_gpr_5));
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(5444)));
aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(5436)));
aot_gpr_4 = (aot_gpr_4 + static_cast<std::uint32_t>(-1));
aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast<std::uint32_t>(5444), aot_gpr_4);
aot_gpr_4 = (aot_gpr_5 + static_cast<std::uint32_t>(1));
aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast<std::uint32_t>(5436), aot_gpr_4);
goto L_08967010;
L_08967010:
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(5852)));
if (aot_gpr_4 != 0u) {
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(-15972)));
goto L_08967028;
}
goto L_0896701C;
L_0896701C:
aot_gpr_31 = (0x08967024u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 358u, 0x08B65844u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08967024u) goto L_08967024;
AOT_REGCACHE_SYNC_OUT(); return;
L_08967024:
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(-15972)));
goto L_08967028;
L_08967028:
aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(8968)));
aot_gpr_31 = (0x08967034u);
ctx.gpr[16] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(5852)));
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0088->0218.
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
AOT_REGCACHE_SYNC_OUT();
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0088_entry, 491u, 0x08967034u, 0x08B6CC28u)) {
#if defined(__clang__)
[[clang::musttail]] return recomp_unit_0218_entry(rt, ctx, 139u, aot_mem);
#else
recomp_unit_0218_entry(rt, ctx, 139u, aot_mem); return;
#endif
}
return;
#else
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0218_entry, 218u, 139u, 0x08B6CC28u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08967034u) goto L_08967034;
AOT_REGCACHE_SYNC_OUT(); return;
#endif
L_08967034:
aot_gpr_4 = (ctx.gpr[16] | 0u);
aot_gpr_5 = (0u | 1u);
aot_gpr_31 = (0x08967044u);
aot_gpr_6 = (ctx.gpr[2] | 0u);
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0088->0002.
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
AOT_REGCACHE_SYNC_OUT();
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0088_entry, 492u, 0x08967044u, 0x0880DD60u)) {
#if defined(__clang__)
[[clang::musttail]] return recomp_unit_0002_entry(rt, ctx, 422u, aot_mem);
#else
recomp_unit_0002_entry(rt, ctx, 422u, aot_mem); return;
#endif
}
return;
#else
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0002_entry, 2u, 422u, 0x0880DD60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08967044u) goto L_08967044;
AOT_REGCACHE_SYNC_OUT(); return;
#endif
L_08967044:
aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast<std::uint32_t>(8968), 0u);
goto L_08967048;
L_08967048:
aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast<std::uint32_t>(9093), static_cast<std::uint8_t>(0u));
ctx.gpr[16] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(0)));
aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(4)));
jump_target = aot_gpr_31;
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(16));
// PSPRECOMP_V813_JR_FAST_EXIT: preserve the exact 256-transfer boundary; common JR path is shared.
if (++local_transfers < 256u) goto LOCAL_JR_DISPATCH;
// PSPRECOMP_V812_SHARED_SCHED_JUMP
goto LOCAL_SCHED_BOUNDARY;
L_0896705C:
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(-16));
aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(8968)));
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(0), aot_gpr_31);
{ const bool branch_taken = aot_gpr_5 == 0u;
if (branch_taken) {
goto L_08967198;
}
goto L_08967070;
}
L_08967070:
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast<std::uint32_t>(900)));
{ const bool branch_taken = aot_gpr_4 == 0u;
aot_gpr_6 = (aot_gpr_4 + static_cast<std::uint32_t>(2228));
if (branch_taken) {
goto L_089670F8;
}
goto L_0896707C;
}
L_0896707C:
aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_6 + static_cast<std::uint32_t>(0)));
aot_gpr_7 = (0u | 58u);
{ const bool branch_taken = aot_gpr_6 == aot_gpr_7;
aot_gpr_6 = (aot_gpr_4 + static_cast<std::uint32_t>(2228));
if (branch_taken) {
goto L_089670F8;
}
goto L_0896708C;
}
L_0896708C:
aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_6 + static_cast<std::uint32_t>(0)));
aot_gpr_7 = (0u | 57u);
{ const bool branch_taken = aot_gpr_6 == aot_gpr_7;
aot_gpr_6 = (aot_gpr_4 + static_cast<std::uint32_t>(2228));
if (branch_taken) {
goto L_089670F8;
}
goto L_0896709C;
}
L_0896709C:
aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_6 + static_cast<std::uint32_t>(0)));
aot_gpr_7 = (0u | 60u);
{ const bool branch_taken = aot_gpr_6 == aot_gpr_7;
aot_gpr_6 = (aot_gpr_4 + static_cast<std::uint32_t>(2228));
if (branch_taken) {
goto L_089670F8;
}
goto L_089670AC;
}
L_089670AC:
aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_6 + static_cast<std::uint32_t>(0)));
aot_gpr_7 = (0u | 32u);
{ const bool branch_taken = aot_gpr_6 == aot_gpr_7;
if (branch_taken) {
goto L_089670F8;
}
goto L_089670BC;
}
L_089670BC:
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast<std::uint32_t>(2196)));
aot_gpr_6 = (0u | 38u);
{ const bool branch_taken = aot_gpr_4 == aot_gpr_6;
if (branch_taken) {
goto L_089670F8;
}
goto L_089670CC;
}
L_089670CC:
aot_fpr_12 = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast<std::uint32_t>(636)));
aot_fpr_13 = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast<std::uint32_t>(632)));
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_089670F8;
}
goto L_089670E4;
}
L_089670E4:
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast<std::uint32_t>(72)));
aot_gpr_5 = (32u << 16u);
aot_gpr_4 = (aot_gpr_4 & aot_gpr_5);
{ const bool branch_taken = aot_gpr_4 == 0u;
if (branch_taken) {
goto L_08967198;
}
goto L_089670F8;
}
L_089670F8:
aot_gpr_31 = (0x08967100u);
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 == 0x08967100u) goto L_08967100;
AOT_REGCACHE_SYNC_OUT(); return;
L_08967100:
{ const bool branch_taken = ctx.gpr[2] == 0u;
aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(8968)));
if (branch_taken) {
goto L_08967134;
}
goto L_08967108;
}
L_08967108:
aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast<std::uint32_t>(7800)));
aot_gpr_6 = (aot_gpr_4 + aot_gpr_4);
aot_gpr_7 = (aot_gpr_4 << 8u);
aot_gpr_4 = (aot_gpr_4 + aot_gpr_6);
aot_gpr_4 = (aot_gpr_4 << 5u);
aot_gpr_6 = (2238u << 16u);
aot_gpr_4 = (aot_gpr_7 + aot_gpr_4);
aot_gpr_6 = (aot_gpr_6 + static_cast<std::uint32_t>(-6992));
aot_gpr_31 = (0x08967130u);
aot_gpr_4 = (aot_gpr_4 + aot_gpr_6);
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0088->0087.
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
AOT_REGCACHE_SYNC_OUT();
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0088_entry, 506u, 0x08967130u, 0x089616E8u)) {
#if defined(__clang__)
[[clang::musttail]] return recomp_unit_0087_entry(rt, ctx, 264u, aot_mem);
#else
recomp_unit_0087_entry(rt, ctx, 264u, aot_mem); return;
#endif
}
return;
#else
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 264u, 0x089616E8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08967130u) goto L_08967130;
AOT_REGCACHE_SYNC_OUT(); return;
#endif
L_08967130:
aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(8968)));
goto L_08967134;
L_08967134:
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast<std::uint32_t>(900)));
{ const bool branch_taken = aot_gpr_4 == 0u;
aot_gpr_4 = (aot_gpr_5 + static_cast<std::uint32_t>(384));
if (branch_taken) {
goto L_08967160;
}
goto L_08967140;
}
L_08967140:
aot_gpr_5 = (0u | 1u);
aot_mem.aot_direct_store8(aot_gpr_4 + static_cast<std::uint32_t>(149), static_cast<std::uint8_t>(aot_gpr_5));
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(8968)));
aot_gpr_5 = (0u | 18u);
aot_gpr_4 = (aot_gpr_4 + static_cast<std::uint32_t>(384));
aot_mem.aot_direct_store8(aot_gpr_4 + static_cast<std::uint32_t>(151), static_cast<std::uint8_t>(aot_gpr_5));
aot_gpr_31 = (0x08967160u);
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(8968)));
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0088->0207.
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
AOT_REGCACHE_SYNC_OUT();
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0088_entry, 509u, 0x08967160u, 0x08B41694u)) {
#if defined(__clang__)
[[clang::musttail]] return recomp_unit_0207_entry(rt, ctx, 374u, aot_mem);
#else
recomp_unit_0207_entry(rt, ctx, 374u, aot_mem); return;
#endif
}
return;
#else
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0207_entry, 207u, 374u, 0x08B41694u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08967160u) goto L_08967160;
AOT_REGCACHE_SYNC_OUT(); return;
#endif
L_08967160:
aot_gpr_31 = (0x08967168u);
goto L_08966FCC;
L_08967168:
aot_gpr_31 = (0x08967170u);
aot_gpr_4 = (0u | 0u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_0898B428, 97u, 0x0898B428u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08967170u) goto L_08967170;
AOT_REGCACHE_SYNC_OUT(); return;
L_08967170:
aot_gpr_4 = (aot_mem.aot_direct_load16(ctx.gpr[2] + static_cast<std::uint32_t>(154)));
aot_gpr_5 = (0u + static_cast<std::uint32_t>(-257));
aot_gpr_4 = (aot_gpr_4 & aot_gpr_5);
aot_gpr_31 = (0x08967184u);
aot_mem.aot_direct_store16(ctx.gpr[2] + static_cast<std::uint32_t>(154), static_cast<std::uint16_t>(aot_gpr_4));
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 == 0x08967184u) goto L_08967184;
AOT_REGCACHE_SYNC_OUT(); return;
L_08967184:
aot_gpr_4 = (ctx.gpr[2] + static_cast<std::uint32_t>(2318));
aot_gpr_5 = (static_cast<std::uint32_t>(static_cast<std::int32_t>(static_cast<std::int8_t>(aot_mem.aot_direct_load8(aot_gpr_4 + static_cast<std::uint32_t>(0))))));
aot_gpr_6 = (0u + static_cast<std::uint32_t>(-2));
aot_gpr_5 = (aot_gpr_5 & aot_gpr_6);
aot_mem.aot_direct_store8(aot_gpr_4 + static_cast<std::uint32_t>(0), static_cast<std::uint8_t>(aot_gpr_5));
goto L_08967198;
L_08967198:
aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(0)));
jump_target = aot_gpr_31;
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(16));
// PSPRECOMP_V813_JR_FAST_EXIT: preserve the exact 256-transfer boundary; common JR path is shared.
if (++local_transfers < 256u) goto LOCAL_JR_DISPATCH;
// PSPRECOMP_V812_SHARED_SCHED_JUMP
goto LOCAL_SCHED_BOUNDARY;
L_089671A4:
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(-64));
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(8968)));
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(48), ctx.gpr[16]);
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(52), aot_gpr_31);
{ const bool branch_taken = aot_gpr_4 == 0u;
if (branch_taken) {
goto L_0896724C;
}
goto L_089671BC;
}
L_089671BC:
ctx.gpr[16] = (aot_gpr_29 + static_cast<std::uint32_t>(16));
aot_gpr_31 = (0x089671C8u);
aot_gpr_4 = (ctx.gpr[16] | 0u);
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0088->0087.
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
AOT_REGCACHE_SYNC_OUT();
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0088_entry, 516u, 0x089671C8u, 0x08960154u)) {
#if defined(__clang__)
[[clang::musttail]] return recomp_unit_0087_entry(rt, ctx, 16u, aot_mem);
#else
recomp_unit_0087_entry(rt, ctx, 16u, aot_mem); return;
#endif
}
return;
#else
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 16u, 0x08960154u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089671C8u) goto L_089671C8;
AOT_REGCACHE_SYNC_OUT(); return;
#endif
L_089671C8:
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(8968)));
aot_gpr_4 = (aot_gpr_4 + static_cast<std::uint32_t>(48));
{ const std::uint32_t vfpu_address = aot_gpr_4 + static_cast<std::uint32_t>(0);
std::uint32_t vfpu_words[4]{};
aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words);
float vfpu_value[4]{
std::bit_cast<float>(vfpu_words[0]),
std::bit_cast<float>(vfpu_words[1]),
std::bit_cast<float>(vfpu_words[2]),
std::bit_cast<float>(vfpu_words[3])};
ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); }
{ const std::uint32_t vfpu_address = ctx.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<1u, 4u>(vfpu_value); }
ctx.execute_vfpu_vec3_ct<0u, 0u, 1u, 3u, 1u>();
{ float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value);
const std::uint32_t vfpu_address = aot_gpr_29 + static_cast<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_29 + static_cast<std::uint32_t>(0);
std::uint32_t vfpu_words[4]{};
aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words);
float vfpu_value[4]{
std::bit_cast<float>(vfpu_words[0]),
std::bit_cast<float>(vfpu_words[1]),
std::bit_cast<float>(vfpu_words[2]),
std::bit_cast<float>(vfpu_words[3])};
ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); }
ctx.execute_vfpu_vdot_ct<28u, 0u, 0u, 3u>();
ctx.execute_vfpu_unary_ct<28u, 28u, 1u, 22u>();
aot_gpr_4 = (ctx.vfpu_scalar_bits_ct<28u>());
aot_fpr_12 = std::bit_cast<float>(aot_gpr_4);
aot_gpr_4 = (17224u << 16u);
aot_fpr_13 = std::bit_cast<float>(aot_gpr_4);
ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 <= aot_fpr_13)) ? 0x00800000u : 0u);
{ const bool branch_taken = ((ctx.fcr31 & 0x00800000u) != 0u);
if (branch_taken) {
goto L_0896724C;
}
goto L_0896720C;
}
L_0896720C:
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(8968)));
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast<std::uint32_t>(900)));
{ const bool branch_taken = aot_gpr_4 == 0u;
if (branch_taken) {
goto L_08967244;
}
goto L_0896721C;
}
L_0896721C:
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(8968)));
aot_gpr_5 = (0u | 1u);
aot_gpr_4 = (aot_gpr_4 + static_cast<std::uint32_t>(384));
aot_mem.aot_direct_store8(aot_gpr_4 + static_cast<std::uint32_t>(149), static_cast<std::uint8_t>(aot_gpr_5));
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(8968)));
aot_gpr_5 = (0u | 18u);
aot_gpr_4 = (aot_gpr_4 + static_cast<std::uint32_t>(384));
aot_mem.aot_direct_store8(aot_gpr_4 + static_cast<std::uint32_t>(151), static_cast<std::uint8_t>(aot_gpr_5));
aot_gpr_31 = (0x08967244u);
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(8968)));
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0088->0207.
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
AOT_REGCACHE_SYNC_OUT();
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0088_entry, 519u, 0x08967244u, 0x08B41694u)) {
#if defined(__clang__)
[[clang::musttail]] return recomp_unit_0207_entry(rt, ctx, 374u, aot_mem);
#else
recomp_unit_0207_entry(rt, ctx, 374u, aot_mem); return;
#endif
}
return;
#else
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0207_entry, 207u, 374u, 0x08B41694u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08967244u) goto L_08967244;
AOT_REGCACHE_SYNC_OUT(); return;
#endif
L_08967244:
aot_gpr_31 = (0x0896724Cu);
goto L_08966FCC;
L_0896724C:
ctx.gpr[16] = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(48)));
aot_gpr_31 = (aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(52)));
jump_target = aot_gpr_31;
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(64));
// PSPRECOMP_V813_JR_FAST_EXIT: preserve the exact 256-transfer boundary; common JR path is shared.
if (++local_transfers < 256u) goto LOCAL_JR_DISPATCH;
// PSPRECOMP_V812_SHARED_SCHED_JUMP
goto LOCAL_SCHED_BOUNDARY;
L_0896725C:
aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(9160)));
aot_gpr_5 = (static_cast<std::int32_t>(aot_gpr_5) < 16 ? 1u : 0u);
{ const bool branch_taken = aot_gpr_5 == 0u;
if (branch_taken) {
goto L_089672A8;
}
goto L_0896726C;
}
L_0896726C:
aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(9160)));
aot_gpr_5 = (aot_gpr_5 << 4u);
aot_gpr_6 = (2247u << 16u);
aot_gpr_6 = (aot_gpr_6 + static_cast<std::uint32_t>(14448));
aot_gpr_5 = (aot_gpr_5 + aot_gpr_6);
{ 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_5 + static_cast<std::uint32_t>(0);
const std::uint32_t vfpu_words[4]{std::bit_cast<std::uint32_t>(vfpu_value[0]), std::bit_cast<std::uint32_t>(vfpu_value[1]), std::bit_cast<std::uint32_t>(vfpu_value[2]), std::bit_cast<std::uint32_t>(vfpu_value[3])};
aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); }
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(9160)));
aot_gpr_5 = (aot_gpr_4 << 2u);
aot_gpr_6 = (2247u << 16u);
aot_gpr_6 = (aot_gpr_6 + static_cast<std::uint32_t>(14704));
aot_gpr_5 = (aot_gpr_5 + aot_gpr_6);
aot_mem.aot_direct_store32(aot_gpr_5 + static_cast<std::uint32_t>(0), std::bit_cast<std::uint32_t>(aot_fpr_12));
aot_gpr_4 = (aot_gpr_4 + static_cast<std::uint32_t>(1));
aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast<std::uint32_t>(9160), aot_gpr_4);
goto L_089672A8;
L_089672A8:
jump_target = aot_gpr_31;
// PSPRECOMP_V813_JR_FAST_EXIT: preserve the exact 256-transfer boundary; common JR path is shared.
if (++local_transfers < 256u) goto LOCAL_JR_DISPATCH;
// PSPRECOMP_V812_SHARED_SCHED_JUMP
goto LOCAL_SCHED_BOUNDARY;
L_089672B0:
{ const std::uint32_t vfpu_address = aot_gpr_4 + static_cast<std::uint32_t>(0);
std::uint32_t vfpu_words[4]{};
aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words);
float vfpu_value[4]{
std::bit_cast<float>(vfpu_words[0]),
std::bit_cast<float>(vfpu_words[1]),
std::bit_cast<float>(vfpu_words[2]),
std::bit_cast<float>(vfpu_words[3])};
ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); }
aot_gpr_4 = (ctx.gpr[28] + static_cast<std::uint32_t>(9168));
{ float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value);
const std::uint32_t vfpu_address = aot_gpr_4 + static_cast<std::uint32_t>(0);
const std::uint32_t vfpu_words[4]{std::bit_cast<std::uint32_t>(vfpu_value[0]), std::bit_cast<std::uint32_t>(vfpu_value[1]), std::bit_cast<std::uint32_t>(vfpu_value[2]), std::bit_cast<std::uint32_t>(vfpu_value[3])};
aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); }
aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast<std::uint32_t>(9184), std::bit_cast<std::uint32_t>(aot_fpr_12));
aot_gpr_4 = (0u | 1u);
jump_target = aot_gpr_31;
aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast<std::uint32_t>(9188), static_cast<std::uint8_t>(aot_gpr_4));
// PSPRECOMP_V813_JR_FAST_EXIT: preserve the exact 256-transfer boundary; common JR path is shared.
if (++local_transfers < 256u) goto LOCAL_JR_DISPATCH;
// PSPRECOMP_V812_SHARED_SCHED_JUMP
goto LOCAL_SCHED_BOUNDARY;
L_089672CC:
jump_target = aot_gpr_31;
aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast<std::uint32_t>(9188), static_cast<std::uint8_t>(0u));
// PSPRECOMP_V813_JR_FAST_EXIT: preserve the exact 256-transfer boundary; common JR path is shared.
if (++local_transfers < 256u) goto LOCAL_JR_DISPATCH;
// PSPRECOMP_V812_SHARED_SCHED_JUMP
goto LOCAL_SCHED_BOUNDARY;
L_089672D4:
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(-112));
aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast<std::uint32_t>(9188)));
{ const std::uint32_t aot_run_words[6]{std::bit_cast<std::uint32_t>(ctx.fpr[20]), ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], aot_gpr_31};
aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast<std::uint32_t>(84), aot_run_words); }
{ const bool branch_taken = aot_gpr_4 == 0u;
if (branch_taken) {
goto L_089673EC;
}
goto L_089672FC;
}
L_089672FC:
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(9160)));
aot_gpr_5 = (18371u << 16u);
ctx.gpr[18] = (0u | 0u);
aot_gpr_5 = (aot_gpr_5 | 20467u);
ctx.gpr[19] = (0u + static_cast<std::uint32_t>(-1));
aot_gpr_4 = (static_cast<std::int32_t>(ctx.gpr[18]) < static_cast<std::int32_t>(aot_gpr_4) ? 1u : 0u);
{ const bool branch_taken = aot_gpr_4 == 0u;
ctx.fpr[20] = std::bit_cast<float>(aot_gpr_5);
if (branch_taken) {
goto L_08967388;
}
goto L_0896731C;
}
L_0896731C:
aot_gpr_4 = (2247u << 16u);
ctx.gpr[17] = (0u | 0u);
aot_gpr_4 = (aot_gpr_4 + static_cast<std::uint32_t>(14448));
ctx.gpr[16] = (aot_gpr_29 + static_cast<std::uint32_t>(16));
ctx.gpr[17] = (ctx.gpr[17] + aot_gpr_4);
goto L_08967330;
L_08967330:
aot_gpr_31 = (0x08967338u);
aot_gpr_4 = (ctx.gpr[16] | 0u);
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0088->0087.
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
AOT_REGCACHE_SYNC_OUT();
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0088_entry, 530u, 0x08967338u, 0x08960154u)) {
#if defined(__clang__)
[[clang::musttail]] return recomp_unit_0087_entry(rt, ctx, 16u, aot_mem);
#else
recomp_unit_0087_entry(rt, ctx, 16u, aot_mem); return;
#endif
}
return;
#else
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 16u, 0x08960154u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08967338u) goto L_08967338;
AOT_REGCACHE_SYNC_OUT(); return;
#endif
L_08967338:
{ const std::uint32_t vfpu_address = ctx.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); }
{ const std::uint32_t vfpu_address = ctx.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<1u, 4u>(vfpu_value); }
ctx.execute_vfpu_vec3_ct<0u, 0u, 1u, 3u, 1u>();
{ float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value);
const std::uint32_t vfpu_address = aot_gpr_29 + static_cast<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_29 + static_cast<std::uint32_t>(0);
std::uint32_t vfpu_words[4]{};
aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words);
float vfpu_value[4]{
std::bit_cast<float>(vfpu_words[0]),
std::bit_cast<float>(vfpu_words[1]),
std::bit_cast<float>(vfpu_words[2]),
std::bit_cast<float>(vfpu_words[3])};
ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); }
ctx.execute_vfpu_vdot_ct<28u, 0u, 0u, 3u>();
ctx.execute_vfpu_unary_ct<28u, 28u, 1u, 22u>();
aot_gpr_4 = (ctx.vfpu_scalar_bits_ct<28u>());
aot_fpr_12 = std::bit_cast<float>(aot_gpr_4);
ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((aot_fpr_12 < ctx.fpr[20])) ? 0x00800000u : 0u);
{ const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u);
if (branch_taken) {
goto L_08967374;
}
goto L_0896736C;
}
L_0896736C:
ctx.fpr[20] = std::bit_cast<float>(std::bit_cast<std::uint32_t>(aot_fpr_12));
ctx.gpr[19] = (ctx.gpr[18] | 0u);
goto L_08967374;
L_08967374:
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(9160)));
ctx.gpr[18] = (ctx.gpr[18] + static_cast<std::uint32_t>(1));
aot_gpr_4 = (static_cast<std::int32_t>(ctx.gpr[18]) < static_cast<std::int32_t>(aot_gpr_4) ? 1u : 0u);
{ const bool branch_taken = aot_gpr_4 != 0u;
ctx.gpr[17] = (ctx.gpr[17] + static_cast<std::uint32_t>(16));
if (branch_taken) {
goto L_08967330;
}
goto L_08967388;
}
L_08967388:
aot_gpr_4 = (17096u << 16u);
aot_fpr_12 = std::bit_cast<float>(aot_gpr_4);
ctx.fcr31 = (ctx.fcr31 & ~0x00800000u) | (((ctx.fpr[20] < aot_fpr_12)) ? 0x00800000u : 0u);
{ const bool branch_taken = !((ctx.fcr31 & 0x00800000u) != 0u);
if (branch_taken) {
goto L_089673E8;
}
goto L_089673A0;
}
L_089673A0:
aot_gpr_4 = (ctx.gpr[19] << 4u);
aot_gpr_5 = (2247u << 16u);
aot_gpr_5 = (aot_gpr_5 + static_cast<std::uint32_t>(14448));
aot_gpr_4 = (aot_gpr_4 + aot_gpr_5);
{ const std::uint32_t vfpu_address = aot_gpr_4 + static_cast<std::uint32_t>(0);
std::uint32_t vfpu_words[4]{};
aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words);
float vfpu_value[4]{
std::bit_cast<float>(vfpu_words[0]),
std::bit_cast<float>(vfpu_words[1]),
std::bit_cast<float>(vfpu_words[2]),
std::bit_cast<float>(vfpu_words[3])};
ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); }
aot_gpr_4 = (aot_gpr_29 + static_cast<std::uint32_t>(32));
{ float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value);
const std::uint32_t vfpu_address = aot_gpr_4 + static_cast<std::uint32_t>(0);
const std::uint32_t vfpu_words[4]{std::bit_cast<std::uint32_t>(vfpu_value[0]), std::bit_cast<std::uint32_t>(vfpu_value[1]), std::bit_cast<std::uint32_t>(vfpu_value[2]), std::bit_cast<std::uint32_t>(vfpu_value[3])};
aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); }
aot_gpr_5 = (ctx.gpr[19] << 2u);
aot_gpr_6 = (2247u << 16u);
aot_gpr_6 = (aot_gpr_6 + static_cast<std::uint32_t>(14704));
aot_gpr_5 = (aot_gpr_5 + aot_gpr_6);
aot_fpr_12 = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_5 + static_cast<std::uint32_t>(0)));
aot_gpr_5 = (ctx.gpr[28] + static_cast<std::uint32_t>(9168));
{ const std::uint32_t vfpu_address = aot_gpr_5 + static_cast<std::uint32_t>(0);
std::uint32_t vfpu_words[4]{};
aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words);
float vfpu_value[4]{
std::bit_cast<float>(vfpu_words[0]),
std::bit_cast<float>(vfpu_words[1]),
std::bit_cast<float>(vfpu_words[2]),
std::bit_cast<float>(vfpu_words[3])};
ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); }
aot_gpr_5 = (aot_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_5 + static_cast<std::uint32_t>(0);
const std::uint32_t vfpu_words[4]{std::bit_cast<std::uint32_t>(vfpu_value[0]), std::bit_cast<std::uint32_t>(vfpu_value[1]), std::bit_cast<std::uint32_t>(vfpu_value[2]), std::bit_cast<std::uint32_t>(vfpu_value[3])};
aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); }
aot_gpr_31 = (0x089673E8u);
aot_fpr_13 = std::bit_cast<float>(aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(9184)));
goto L_08966F40;
L_089673E8:
aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast<std::uint32_t>(9188), static_cast<std::uint8_t>(0u));
goto L_089673EC;
L_089673EC:
{ std::uint32_t aot_run_words[6]{};
aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast<std::uint32_t>(84), aot_run_words);
ctx.fpr[20] = std::bit_cast<float>(aot_run_words[0]);
ctx.gpr[16] = aot_run_words[1];
ctx.gpr[17] = aot_run_words[2];
ctx.gpr[18] = aot_run_words[3];
ctx.gpr[19] = aot_run_words[4];
aot_gpr_31 = aot_run_words[5];
}
jump_target = aot_gpr_31;
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(112));
// PSPRECOMP_V813_JR_FAST_EXIT: preserve the exact 256-transfer boundary; common JR path is shared.
if (++local_transfers < 256u) goto LOCAL_JR_DISPATCH;
// PSPRECOMP_V812_SHARED_SCHED_JUMP
goto LOCAL_SCHED_BOUNDARY;
L_0896740C:
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(-224));
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(5884)));
{ const std::uint32_t aot_run_words[8]{std::bit_cast<std::uint32_t>(ctx.fpr[20]), ctx.gpr[16], ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], ctx.gpr[21], aot_gpr_31};
aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast<std::uint32_t>(192), aot_run_words); }
if (aot_gpr_4 != 0u) {
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(5884)));
goto L_08967448;
}
goto L_0896743C;
L_0896743C:
aot_gpr_31 = (0x08967444u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 683u, 0x08B66DBCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08967444u) goto L_08967444;
AOT_REGCACHE_SYNC_OUT(); return;
L_08967444:
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(5884)));
goto L_08967448;
L_08967448:
aot_gpr_4 = (aot_mem.aot_direct_load8(aot_gpr_4 + static_cast<std::uint32_t>(19)));
{ const bool branch_taken = aot_gpr_4 != 0u;
if (branch_taken) {
goto L_08967468;
}
goto L_08967454;
}
L_08967454:
aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast<std::uint32_t>(-7080)));
{ const bool branch_taken = aot_gpr_4 == 0u;
if (branch_taken) {
goto L_08967470;
}
goto L_08967460;
}
L_08967460:
{ const bool branch_taken = 0u == 0u;
aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast<std::uint32_t>(7800)));
if (branch_taken) {
goto L_08967E90;
}
goto L_08967468;
}
L_08967468:
{ const bool branch_taken = 0u == 0u;
if (branch_taken) {
goto L_08967F08;
}
goto L_08967470;
}
L_08967470:
aot_gpr_31 = (0x08967478u);
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0088->0089.
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
AOT_REGCACHE_SYNC_OUT();
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0088_entry, 545u, 0x08967478u, 0x08968588u)) {
#if defined(__clang__)
[[clang::musttail]] return recomp_unit_0089_entry(rt, ctx, 96u, aot_mem);
#else
recomp_unit_0089_entry(rt, ctx, 96u, aot_mem); return;
#endif
}
return;
#else
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0089_entry, 89u, 96u, 0x08968588u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08967478u) goto L_08967478;
AOT_REGCACHE_SYNC_OUT(); return;
#endif
L_08967478:
aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast<std::uint32_t>(4211)));
{ const bool branch_taken = aot_gpr_4 != 0u;
if (branch_taken) {
goto L_08967F08;
}
goto L_08967484;
}
L_08967484:
aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast<std::uint32_t>(7800)));
aot_gpr_5 = (aot_gpr_4 + aot_gpr_4);
aot_gpr_6 = (aot_gpr_4 << 8u);
aot_gpr_4 = (aot_gpr_4 + aot_gpr_5);
aot_gpr_4 = (aot_gpr_4 << 5u);
ctx.gpr[21] = (aot_gpr_6 + aot_gpr_4);
aot_gpr_4 = (2238u << 16u);
aot_gpr_4 = (aot_gpr_4 + static_cast<std::uint32_t>(-6992));
ctx.gpr[21] = (ctx.gpr[21] + aot_gpr_4);
aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[21] + static_cast<std::uint32_t>(208)));
aot_gpr_5 = (aot_gpr_4 < static_cast<std::uint32_t>(5) ? 1u : 0u);
{ const bool branch_taken = aot_gpr_5 == 0u;
if (branch_taken) {
goto L_08967F08;
}
goto L_089674B8;
}
L_089674B8:
ctx.gpr[1] = (0u + static_cast<std::uint32_t>(1));
{ const bool branch_taken = aot_gpr_4 == ctx.gpr[1];
ctx.gpr[1] = (0u + static_cast<std::uint32_t>(2));
if (branch_taken) {
goto L_08967530;
}
goto L_089674C4;
}
L_089674C4:
{ const bool branch_taken = aot_gpr_4 == ctx.gpr[1];
ctx.gpr[1] = (0u + static_cast<std::uint32_t>(3));
if (branch_taken) {
goto L_08967890;
}
goto L_089674CC;
}
L_089674CC:
{ const bool branch_taken = aot_gpr_4 == ctx.gpr[1];
ctx.gpr[1] = (0u + static_cast<std::uint32_t>(4));
if (branch_taken) {
goto L_08967C64;
}
goto L_089674D4;
}
L_089674D4:
{ const bool branch_taken = aot_gpr_4 == ctx.gpr[1];
if (branch_taken) {
goto L_08967E88;
}
goto L_089674DC;
}
L_089674DC:
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[21] + static_cast<std::uint32_t>(0)));
aot_gpr_5 = (0u | 58u);
aot_gpr_4 = (aot_gpr_4 + static_cast<std::uint32_t>(2228));
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast<std::uint32_t>(0)));
{ const bool branch_taken = aot_gpr_4 != aot_gpr_5;
ctx.gpr[16] = (0u | 65u);
if (branch_taken) {
goto L_08967504;
}
goto L_089674F4;
}
L_089674F4:
aot_gpr_31 = (0x089674FCu);
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[21] + static_cast<std::uint32_t>(0)));
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0088->0080.
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
AOT_REGCACHE_SYNC_OUT();
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0088_entry, 553u, 0x089674FCu, 0x08947574u)) {
#if defined(__clang__)
[[clang::musttail]] return recomp_unit_0080_entry(rt, ctx, 676u, aot_mem);
#else
recomp_unit_0080_entry(rt, ctx, 676u, aot_mem); return;
#endif
}
return;
#else
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0080_entry, 80u, 676u, 0x08947574u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089674FCu) goto L_089674FC;
AOT_REGCACHE_SYNC_OUT(); return;
#endif
L_089674FC:
aot_gpr_31 = (0x08967504u);
aot_gpr_4 = (ctx.gpr[21] | 0u);
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0088->0087.
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
AOT_REGCACHE_SYNC_OUT();
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0088_entry, 554u, 0x08967504u, 0x089614B0u)) {
#if defined(__clang__)
[[clang::musttail]] return recomp_unit_0087_entry(rt, ctx, 222u, aot_mem);
#else
recomp_unit_0087_entry(rt, ctx, 222u, aot_mem); return;
#endif
}
return;
#else
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 222u, 0x089614B0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08967504u) goto L_08967504;
AOT_REGCACHE_SYNC_OUT(); return;
#endif
L_08967504:
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>(2228));
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast<std::uint32_t>(0)));
{ const bool branch_taken = aot_gpr_4 != ctx.gpr[16];
if (branch_taken) {
goto L_08967528;
}
goto L_08967518;
}
L_08967518:
aot_gpr_31 = (0x08967520u);
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[21] + static_cast<std::uint32_t>(0)));
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0088->0080.
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
AOT_REGCACHE_SYNC_OUT();
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0088_entry, 556u, 0x08967520u, 0x08947574u)) {
#if defined(__clang__)
[[clang::musttail]] return recomp_unit_0080_entry(rt, ctx, 676u, aot_mem);
#else
recomp_unit_0080_entry(rt, ctx, 676u, aot_mem); return;
#endif
}
return;
#else
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0080_entry, 80u, 676u, 0x08947574u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08967520u) goto L_08967520;
AOT_REGCACHE_SYNC_OUT(); return;
#endif
L_08967520:
aot_gpr_31 = (0x08967528u);
aot_gpr_4 = (ctx.gpr[21] | 0u);
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0088->0087.
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
AOT_REGCACHE_SYNC_OUT();
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0088_entry, 557u, 0x08967528u, 0x089615ACu)) {
#if defined(__clang__)
[[clang::musttail]] return recomp_unit_0087_entry(rt, ctx, 241u, aot_mem);
#else
recomp_unit_0087_entry(rt, ctx, 241u, aot_mem); return;
#endif
}
return;
#else
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 241u, 0x089615ACu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08967528u) goto L_08967528;
AOT_REGCACHE_SYNC_OUT(); return;
#endif
L_08967528:
{ const bool branch_taken = 0u == 0u;
if (branch_taken) {
goto L_08967F08;
}
goto L_08967530;
}
L_08967530:
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[21] + static_cast<std::uint32_t>(212)));
ctx.gpr[17] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(7668)));
aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(7660)));
ctx.gpr[17] = (ctx.gpr[17] - aot_gpr_4);
ctx.gpr[19] = (aot_gpr_5 - aot_gpr_4);
aot_gpr_4 = (ctx.gpr[19] < static_cast<std::uint32_t>(2049) ? 1u : 0u);
ctx.gpr[16] = (ctx.gpr[19] < static_cast<std::uint32_t>(4096) ? 1u : 0u);
{ const bool branch_taken = aot_gpr_4 != 0u;
ctx.gpr[19] = (ctx.gpr[19] < static_cast<std::uint32_t>(4608) ? 1u : 0u);
if (branch_taken) {
goto L_08967590;
}
goto L_08967554;
}
L_08967554:
aot_gpr_4 = (ctx.gpr[17] < static_cast<std::uint32_t>(2049) ? 1u : 0u);
{ const bool branch_taken = aot_gpr_4 == 0u;
if (branch_taken) {
goto L_08967590;
}
goto L_08967560;
}
L_08967560:
aot_gpr_4 = (2236u << 16u);
ctx.gpr[18] = (aot_gpr_4 + static_cast<std::uint32_t>(32304));
aot_gpr_4 = (ctx.gpr[18] | 0u);
aot_gpr_5 = (0u | 200u);
aot_gpr_6 = (0u | 200u);
aot_gpr_31 = (0x0896757Cu);
aot_gpr_7 = (0u | 200u);
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0088->0134.
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
AOT_REGCACHE_SYNC_OUT();
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0088_entry, 561u, 0x0896757Cu, 0x08A1CF7Cu)) {
#if defined(__clang__)
[[clang::musttail]] return recomp_unit_0134_entry(rt, ctx, 156u, aot_mem);
#else
recomp_unit_0134_entry(rt, ctx, 156u, aot_mem); return;
#endif
}
return;
#else
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0134_entry, 134u, 156u, 0x08A1CF7Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0896757Cu) goto L_0896757C;
AOT_REGCACHE_SYNC_OUT(); return;
#endif
L_0896757C:
aot_gpr_6 = (16384u << 16u);
aot_gpr_4 = (ctx.gpr[18] | 0u);
aot_fpr_12 = std::bit_cast<float>(aot_gpr_6);
aot_gpr_31 = (0x08967590u);
aot_gpr_5 = (0u | 0u);
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0088->0134.
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
AOT_REGCACHE_SYNC_OUT();
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0088_entry, 562u, 0x08967590u, 0x08A1C044u)) {
#if defined(__clang__)
[[clang::musttail]] return recomp_unit_0134_entry(rt, ctx, 4u, aot_mem);
#else
recomp_unit_0134_entry(rt, ctx, 4u, aot_mem); return;
#endif
}
return;
#else
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0134_entry, 134u, 4u, 0x08A1C044u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08967590u) goto L_08967590;
AOT_REGCACHE_SYNC_OUT(); return;
#endif
L_08967590:
{ const bool branch_taken = ctx.gpr[16] != 0u;
aot_gpr_4 = (ctx.gpr[17] < static_cast<std::uint32_t>(4097) ? 1u : 0u);
if (branch_taken) {
goto L_089677F8;
}
goto L_08967598;
}
L_08967598:
{ const bool branch_taken = aot_gpr_4 == 0u;
if (branch_taken) {
goto L_089677F8;
}
goto L_089675A0;
}
L_089675A0:
aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[21] + static_cast<std::uint32_t>(339)));
ctx.fpr[20] = std::bit_cast<float>(0u);
ctx.gpr[20] = (2236u << 16u);
ctx.gpr[16] = (aot_gpr_29 + static_cast<std::uint32_t>(16));
ctx.gpr[17] = (aot_gpr_29 + static_cast<std::uint32_t>(32));
ctx.gpr[20] = (ctx.gpr[20] + static_cast<std::uint32_t>(32304));
{ const bool branch_taken = aot_gpr_4 == 0u;
ctx.gpr[18] = (aot_gpr_29 + static_cast<std::uint32_t>(48));
if (branch_taken) {
goto L_089675C8;
}
goto L_089675C0;
}
L_089675C0:
{ const bool branch_taken = 0u == 0u;
aot_mem.aot_direct_store8(ctx.gpr[21] + static_cast<std::uint32_t>(339), static_cast<std::uint8_t>(0u));
if (branch_taken) {
goto L_089675EC;
}
goto L_089675C8;
}
L_089675C8:
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[21] + static_cast<std::uint32_t>(172)));
aot_gpr_4 = (aot_gpr_4 + static_cast<std::uint32_t>(-100));
aot_gpr_5 = (static_cast<std::int32_t>(aot_gpr_4) < 0 ? 1u : 0u);
if (aot_gpr_5 != 0u) {
aot_gpr_4 = (0u | 0u);
goto L_089675DC;
}
goto L_089675DC;
L_089675DC:
aot_gpr_31 = (0x089675E4u);
aot_mem.aot_direct_store32(ctx.gpr[21] + static_cast<std::uint32_t>(172), aot_gpr_4);
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0088->0023.
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
AOT_REGCACHE_SYNC_OUT();
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0088_entry, 568u, 0x089675E4u, 0x08863530u)) {
#if defined(__clang__)
[[clang::musttail]] return recomp_unit_0023_entry(rt, ctx, 622u, aot_mem);
#else
recomp_unit_0023_entry(rt, ctx, 622u, aot_mem); return;
#endif
}
return;
#else
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 622u, 0x08863530u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089675E4u) goto L_089675E4;
AOT_REGCACHE_SYNC_OUT(); return;
#endif
L_089675E4:
aot_gpr_31 = (0x089675ECu);
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[21] + static_cast<std::uint32_t>(0)));
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0088->0065.
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
AOT_REGCACHE_SYNC_OUT();
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0088_entry, 569u, 0x089675ECu, 0x0890849Cu)) {
#if defined(__clang__)
[[clang::musttail]] return recomp_unit_0065_entry(rt, ctx, 79u, aot_mem);
#else
recomp_unit_0065_entry(rt, ctx, 79u, aot_mem); return;
#endif
}
return;
#else
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 79u, 0x0890849Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089675ECu) goto L_089675EC;
AOT_REGCACHE_SYNC_OUT(); return;
#endif
L_089675EC:
aot_gpr_31 = (0x089675F4u);
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[21] + static_cast<std::uint32_t>(0)));
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0088->0067.
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
AOT_REGCACHE_SYNC_OUT();
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0088_entry, 570u, 0x089675F4u, 0x08910B38u)) {
#if defined(__clang__)
[[clang::musttail]] return recomp_unit_0067_entry(rt, ctx, 195u, aot_mem);
#else
recomp_unit_0067_entry(rt, ctx, 195u, aot_mem); return;
#endif
}
return;
#else
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0067_entry, 67u, 195u, 0x08910B38u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089675F4u) goto L_089675F4;
AOT_REGCACHE_SYNC_OUT(); return;
#endif
L_089675F4:
{ const bool branch_taken = ctx.gpr[2] == 0u;
if (branch_taken) {
goto L_0896767C;
}
goto L_089675FC;
}
L_089675FC:
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[21] + static_cast<std::uint32_t>(0)));
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast<std::uint32_t>(1152)));
{ const bool branch_taken = aot_gpr_4 == 0u;
if (branch_taken) {
goto L_0896767C;
}
goto L_0896760C;
}
L_0896760C:
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[21] + static_cast<std::uint32_t>(0)));
aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast<std::uint32_t>(1152)));
aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast<std::uint32_t>(900)));
{ const bool branch_taken = aot_gpr_5 != aot_gpr_4;
if (branch_taken) {
goto L_08967670;
}
goto L_08967620;
}
L_08967620:
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[21] + static_cast<std::uint32_t>(0)));
aot_gpr_5 = (0u | 0u);
aot_gpr_31 = (0x08967630u);
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast<std::uint32_t>(1152)));
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0088->0191.
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
AOT_REGCACHE_SYNC_OUT();
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0088_entry, 574u, 0x08967630u, 0x08B00520u)) {
#if defined(__clang__)
[[clang::musttail]] return recomp_unit_0191_entry(rt, ctx, 72u, aot_mem);
#else
recomp_unit_0191_entry(rt, ctx, 72u, aot_mem); return;
#endif
}
return;
#else
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 == 0x08967630u) goto L_08967630;
AOT_REGCACHE_SYNC_OUT(); return;
#endif
L_08967630:
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[21] + static_cast<std::uint32_t>(0)));
aot_gpr_5 = (0u | 5u);
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast<std::uint32_t>(1152)));
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast<std::uint32_t>(72)));
aot_gpr_4 = (aot_gpr_4 & 496u);
aot_gpr_4 = (aot_gpr_4 >> 4u);
{ const bool branch_taken = aot_gpr_4 == aot_gpr_5;
if (branch_taken) {
goto L_0896767C;
}
goto L_08967650;
}
L_08967650:
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[21] + static_cast<std::uint32_t>(0)));
aot_gpr_5 = (0u + static_cast<std::uint32_t>(-497));
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast<std::uint32_t>(1152)));
aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast<std::uint32_t>(72)));
aot_gpr_5 = (aot_gpr_6 & aot_gpr_5);
aot_gpr_5 = (aot_gpr_5 | 64u);
{ const bool branch_taken = 0u == 0u;
aot_mem.aot_direct_store32(aot_gpr_4 + static_cast<std::uint32_t>(72), aot_gpr_5);
if (branch_taken) {
goto L_0896767C;
}
goto L_08967670;
}
L_08967670:
aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[21] + static_cast<std::uint32_t>(0)));
aot_gpr_31 = (0x0896767Cu);
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast<std::uint32_t>(1152)));
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0088->0191.
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
AOT_REGCACHE_SYNC_OUT();
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0088_entry, 577u, 0x0896767Cu, 0x08B00384u)) {
#if defined(__clang__)
[[clang::musttail]] return recomp_unit_0191_entry(rt, ctx, 40u, aot_mem);
#else
recomp_unit_0191_entry(rt, ctx, 40u, aot_mem); return;
#endif
}
return;
#else
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0191_entry, 191u, 40u, 0x08B00384u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0896767Cu) goto L_0896767C;
AOT_REGCACHE_SYNC_OUT(); return;
#endif
L_0896767C:
aot_gpr_31 = (0x08967684u);
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0088->0094.
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
AOT_REGCACHE_SYNC_OUT();
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0088_entry, 578u, 0x08967684u, 0x0897FE60u)) {
#if defined(__clang__)
[[clang::musttail]] return recomp_unit_0094_entry(rt, ctx, 969u, aot_mem);
#else
recomp_unit_0094_entry(rt, ctx, 969u, aot_mem); return;
#endif
}
return;
#else
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0094_entry, 94u, 969u, 0x0897FE60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08967684u) goto L_08967684;
AOT_REGCACHE_SYNC_OUT(); return;
#endif
L_08967684:
aot_gpr_31 = (0x0896768Cu);
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0088->0173.
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
AOT_REGCACHE_SYNC_OUT();
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0088_entry, 579u, 0x0896768Cu, 0x08AB92E8u)) {
#if defined(__clang__)
[[clang::musttail]] return recomp_unit_0173_entry(rt, ctx, 231u, aot_mem);
#else
recomp_unit_0173_entry(rt, ctx, 231u, aot_mem); return;
#endif
}
return;
#else
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0173_entry, 173u, 231u, 0x08AB92E8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0896768Cu) goto L_0896768C;
AOT_REGCACHE_SYNC_OUT(); return;
#endif
L_0896768C:
aot_gpr_31 = (0x08967694u);
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0088->0207.
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
AOT_REGCACHE_SYNC_OUT();
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0088_entry, 580u, 0x08967694u, 0x08B41628u)) {
#if defined(__clang__)
[[clang::musttail]] return recomp_unit_0207_entry(rt, ctx, 366u, aot_mem);
#else
recomp_unit_0207_entry(rt, ctx, 366u, aot_mem); return;
#endif
}
return;
#else
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0207_entry, 207u, 366u, 0x08B41628u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08967694u) goto L_08967694;
AOT_REGCACHE_SYNC_OUT(); return;
#endif
L_08967694:
aot_gpr_4 = (ctx.gpr[21] | 0u);
aot_gpr_31 = (0x089676A0u);
aot_gpr_5 = (ctx.gpr[16] | 0u);
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0088->0087.
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
AOT_REGCACHE_SYNC_OUT();
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0088_entry, 581u, 0x089676A0u, 0x089609B4u)) {
#if defined(__clang__)
[[clang::musttail]] return recomp_unit_0087_entry(rt, ctx, 111u, aot_mem);
#else
recomp_unit_0087_entry(rt, ctx, 111u, aot_mem); return;
#endif
}
return;
#else
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 111u, 0x089609B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089676A0u) goto L_089676A0;
AOT_REGCACHE_SYNC_OUT(); return;
#endif
L_089676A0:
aot_gpr_6 = (17786u << 16u);
aot_gpr_4 = (ctx.gpr[16] | 0u);
aot_fpr_12 = std::bit_cast<float>(aot_gpr_6);
aot_gpr_31 = (0x089676B4u);
aot_gpr_5 = (0u | 1u);
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0088->0037.
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
AOT_REGCACHE_SYNC_OUT();
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0088_entry, 582u, 0x089676B4u, 0x0889B6ACu)) {
#if defined(__clang__)
[[clang::musttail]] return recomp_unit_0037_entry(rt, ctx, 595u, aot_mem);
#else
recomp_unit_0037_entry(rt, ctx, 595u, aot_mem); return;
#endif
}
return;
#else
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0037_entry, 37u, 595u, 0x0889B6ACu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089676B4u) goto L_089676B4;
AOT_REGCACHE_SYNC_OUT(); return;
#endif
L_089676B4:
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(5852)));
if (aot_gpr_4 != 0u) {
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(5852)));
goto L_089676CC;
}
goto L_089676C0;
L_089676C0:
aot_gpr_31 = (0x089676C8u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 358u, 0x08B65844u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089676C8u) goto L_089676C8;
AOT_REGCACHE_SYNC_OUT(); return;
L_089676C8:
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(5852)));
goto L_089676CC;
L_089676CC:
aot_gpr_4 = (aot_gpr_4 + static_cast<std::uint32_t>(6864));
{ 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 = ctx.gpr[16] + 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 aot_run_words[3]{std::bit_cast<std::uint32_t>(ctx.fpr[20]), std::bit_cast<std::uint32_t>(ctx.fpr[20]), std::bit_cast<std::uint32_t>(ctx.fpr[20])};
aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast<std::uint32_t>(32), aot_run_words); }
aot_gpr_4 = (ctx.gpr[16] | 0u);
aot_gpr_31 = (0x089676F0u);
aot_gpr_5 = (ctx.gpr[17] | 0u);
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0088->0163.
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
AOT_REGCACHE_SYNC_OUT();
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0088_entry, 586u, 0x089676F0u, 0x08A93198u)) {
#if defined(__clang__)
[[clang::musttail]] return recomp_unit_0163_entry(rt, ctx, 461u, aot_mem);
#else
recomp_unit_0163_entry(rt, ctx, 461u, aot_mem); return;
#endif
}
return;
#else
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0163_entry, 163u, 461u, 0x08A93198u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089676F0u) goto L_089676F0;
AOT_REGCACHE_SYNC_OUT(); return;
#endif
L_089676F0:
{ const bool branch_taken = ctx.gpr[2] == 0u;
if (branch_taken) {
goto L_08967734;
}
goto L_089676F8;
}
L_089676F8:
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(5852)));
if (aot_gpr_4 != 0u) {
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(5852)));
goto L_08967710;
}
goto L_08967704;
L_08967704:
aot_gpr_31 = (0x0896770Cu);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 358u, 0x08B65844u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0896770Cu) goto L_0896770C;
AOT_REGCACHE_SYNC_OUT(); return;
L_0896770C:
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(5852)));
goto L_08967710;
L_08967710:
aot_gpr_4 = (aot_gpr_4 + static_cast<std::uint32_t>(6864));
{ const std::uint32_t vfpu_address = aot_gpr_4 + static_cast<std::uint32_t>(0);
std::uint32_t vfpu_words[4]{};
aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words);
float vfpu_value[4]{
std::bit_cast<float>(vfpu_words[0]),
std::bit_cast<float>(vfpu_words[1]),
std::bit_cast<float>(vfpu_words[2]),
std::bit_cast<float>(vfpu_words[3])};
ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); }
aot_gpr_4 = (aot_gpr_29 + static_cast<std::uint32_t>(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_5 = (ctx.gpr[18] | 0u);
aot_gpr_31 = (0x0896772Cu);
aot_gpr_6 = (aot_gpr_29 | 0u);
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0088->0164.
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
AOT_REGCACHE_SYNC_OUT();
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0088_entry, 591u, 0x0896772Cu, 0x08A943CCu)) {
#if defined(__clang__)
[[clang::musttail]] return recomp_unit_0164_entry(rt, ctx, 42u, aot_mem);
#else
recomp_unit_0164_entry(rt, ctx, 42u, aot_mem); return;
#endif
}
return;
#else
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0164_entry, 164u, 42u, 0x08A943CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0896772Cu) goto L_0896772C;
AOT_REGCACHE_SYNC_OUT(); return;
#endif
L_0896772C:
{ const bool branch_taken = 0u == 0u;
if (branch_taken) {
goto L_08967748;
}
goto L_08967734;
}
L_08967734:
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[21] + static_cast<std::uint32_t>(0)));
aot_gpr_5 = (ctx.gpr[18] | 0u);
aot_gpr_4 = (aot_gpr_4 + static_cast<std::uint32_t>(48));
aot_gpr_31 = (0x08967748u);
aot_gpr_6 = (aot_gpr_29 | 0u);
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0088->0164.
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
AOT_REGCACHE_SYNC_OUT();
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0088_entry, 593u, 0x08967748u, 0x08A943CCu)) {
#if defined(__clang__)
[[clang::musttail]] return recomp_unit_0164_entry(rt, ctx, 42u, aot_mem);
#else
recomp_unit_0164_entry(rt, ctx, 42u, aot_mem); return;
#endif
}
return;
#else
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0164_entry, 164u, 42u, 0x08A943CCu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08967748u) goto L_08967748;
AOT_REGCACHE_SYNC_OUT(); return;
#endif
L_08967748:
aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast<std::uint32_t>(9189), static_cast<std::uint8_t>(0u));
aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast<std::uint32_t>(9190), static_cast<std::uint8_t>(0u));
aot_gpr_31 = (0x08967758u);
aot_gpr_4 = (0u | 720u);
goto L_08966E58;
L_08967758:
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(5848)));
if (aot_gpr_4 != 0u) {
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(5848)));
goto L_08967770;
}
goto L_08967764;
L_08967764:
aot_gpr_31 = (0x0896776Cu);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 351u, 0x08B657E8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0896776Cu) goto L_0896776C;
AOT_REGCACHE_SYNC_OUT(); return;
L_0896776C:
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(5848)));
goto L_08967770;
L_08967770:
aot_mem.aot_direct_store32(aot_gpr_4 + static_cast<std::uint32_t>(11240), 0u);
aot_gpr_4 = (16256u << 16u);
aot_fpr_12 = std::bit_cast<float>(aot_gpr_4);
aot_mem.aot_direct_store32(ctx.gpr[28] + static_cast<std::uint32_t>(5432), std::bit_cast<std::uint32_t>(aot_fpr_12));
aot_gpr_31 = (0x08967788u);
aot_gpr_4 = (0u | 1u);
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0088->0163.
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
AOT_REGCACHE_SYNC_OUT();
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0088_entry, 598u, 0x08967788u, 0x08A90840u)) {
#if defined(__clang__)
[[clang::musttail]] return recomp_unit_0163_entry(rt, ctx, 64u, aot_mem);
#else
recomp_unit_0163_entry(rt, ctx, 64u, aot_mem); return;
#endif
}
return;
#else
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0163_entry, 163u, 64u, 0x08A90840u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08967788u) goto L_08967788;
AOT_REGCACHE_SYNC_OUT(); return;
#endif
L_08967788:
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[21] + static_cast<std::uint32_t>(0)));
{ const std::uint32_t vfpu_address = ctx.gpr[18] + static_cast<std::uint32_t>(0);
std::uint32_t vfpu_words[4]{};
aot_mem.aot_direct_load32_block(vfpu_address, vfpu_words);
float vfpu_value[4]{
std::bit_cast<float>(vfpu_words[0]),
std::bit_cast<float>(vfpu_words[1]),
std::bit_cast<float>(vfpu_words[2]),
std::bit_cast<float>(vfpu_words[3])};
ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); }
{ float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value);
const std::uint32_t vfpu_address = ctx.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_fpr_12 = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(0)));
aot_gpr_31 = (0x089677A0u);
aot_gpr_5 = (ctx.gpr[17] | 0u);
goto L_08967F30;
L_089677A0:
aot_gpr_31 = (0x089677A8u);
aot_gpr_4 = (ctx.gpr[20] | 0u);
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0088->0135.
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
AOT_REGCACHE_SYNC_OUT();
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0088_entry, 600u, 0x089677A8u, 0x08A225A4u)) {
#if defined(__clang__)
[[clang::musttail]] return recomp_unit_0135_entry(rt, ctx, 316u, aot_mem);
#else
recomp_unit_0135_entry(rt, ctx, 316u, aot_mem); return;
#endif
}
return;
#else
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0135_entry, 135u, 316u, 0x08A225A4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089677A8u) goto L_089677A8;
AOT_REGCACHE_SYNC_OUT(); return;
#endif
L_089677A8:
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(5844)));
{ const bool branch_taken = aot_gpr_4 != 0u;
if (branch_taken) {
goto L_089677BC;
}
goto L_089677B4;
}
L_089677B4:
aot_gpr_31 = (0x089677BCu);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 339u, 0x08B6572Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089677BCu) goto L_089677BC;
AOT_REGCACHE_SYNC_OUT(); return;
L_089677BC:
aot_gpr_31 = (0x089677C4u);
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(5844)));
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0088->0122.
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
AOT_REGCACHE_SYNC_OUT();
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0088_entry, 603u, 0x089677C4u, 0x089EC260u)) {
#if defined(__clang__)
[[clang::musttail]] return recomp_unit_0122_entry(rt, ctx, 27u, aot_mem);
#else
recomp_unit_0122_entry(rt, ctx, 27u, aot_mem); return;
#endif
}
return;
#else
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0122_entry, 122u, 27u, 0x089EC260u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089677C4u) goto L_089677C4;
AOT_REGCACHE_SYNC_OUT(); return;
#endif
L_089677C4:
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[21] + static_cast<std::uint32_t>(0)));
aot_gpr_31 = (0x089677D0u);
aot_gpr_4 = (aot_gpr_4 + static_cast<std::uint32_t>(48));
goto L_08966DE0;
L_089677D0:
aot_gpr_31 = (0x089677D8u);
goto L_089672D4;
L_089677D8:
aot_mem.aot_direct_store32(ctx.gpr[20] + static_cast<std::uint32_t>(1936), std::bit_cast<std::uint32_t>(ctx.fpr[20]));
aot_gpr_31 = (0x089677E4u);
aot_gpr_4 = (ctx.gpr[20] + static_cast<std::uint32_t>(2856));
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0088->0045.
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
AOT_REGCACHE_SYNC_OUT();
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0088_entry, 606u, 0x089677E4u, 0x088BA740u)) {
#if defined(__clang__)
[[clang::musttail]] return recomp_unit_0045_entry(rt, ctx, 518u, aot_mem);
#else
recomp_unit_0045_entry(rt, ctx, 518u, aot_mem); return;
#endif
}
return;
#else
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0045_entry, 45u, 518u, 0x088BA740u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089677E4u) goto L_089677E4;
AOT_REGCACHE_SYNC_OUT(); return;
#endif
L_089677E4:
aot_gpr_31 = (0x089677ECu);
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0088->0163.
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
AOT_REGCACHE_SYNC_OUT();
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0088_entry, 607u, 0x089677ECu, 0x08A92D5Cu)) {
#if defined(__clang__)
[[clang::musttail]] return recomp_unit_0163_entry(rt, ctx, 376u, aot_mem);
#else
recomp_unit_0163_entry(rt, ctx, 376u, aot_mem); return;
#endif
}
return;
#else
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0163_entry, 163u, 376u, 0x08A92D5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089677ECu) goto L_089677EC;
AOT_REGCACHE_SYNC_OUT(); return;
#endif
L_089677EC:
aot_gpr_4 = (0u | 10u);
aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast<std::uint32_t>(5464), static_cast<std::uint8_t>(aot_gpr_4));
aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast<std::uint32_t>(9191), static_cast<std::uint8_t>(aot_gpr_4));
goto L_089677F8;
L_089677F8:
{ const bool branch_taken = ctx.gpr[19] != 0u;
if (branch_taken) {
goto L_08967888;
}
goto L_08967800;
}
L_08967800:
aot_mem.aot_direct_store8(ctx.gpr[21] + static_cast<std::uint32_t>(208), static_cast<std::uint8_t>(0u));
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[21] + static_cast<std::uint32_t>(0)));
{ const bool branch_taken = aot_gpr_4 == 0u;
if (branch_taken) {
goto L_08967830;
}
goto L_08967810;
}
L_08967810:
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[21] + static_cast<std::uint32_t>(0)));
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast<std::uint32_t>(3292)));
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_08967830;
}
goto L_08967828;
}
L_08967828:
aot_gpr_31 = (0x08967830u);
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[21] + static_cast<std::uint32_t>(0)));
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0088->0080.
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
AOT_REGCACHE_SYNC_OUT();
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0088_entry, 612u, 0x08967830u, 0x08946F00u)) {
#if defined(__clang__)
[[clang::musttail]] return recomp_unit_0080_entry(rt, ctx, 573u, aot_mem);
#else
recomp_unit_0080_entry(rt, ctx, 573u, aot_mem); return;
#endif
}
return;
#else
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0080_entry, 80u, 573u, 0x08946F00u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08967830u) goto L_08967830;
AOT_REGCACHE_SYNC_OUT(); return;
#endif
L_08967830:
aot_gpr_31 = (0x08967838u);
aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast<std::uint32_t>(7800)));
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_0898B428, 97u, 0x0898B428u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08967838u) goto L_08967838;
AOT_REGCACHE_SYNC_OUT(); return;
L_08967838:
aot_mem.aot_direct_store16(ctx.gpr[2] + static_cast<std::uint32_t>(154), static_cast<std::uint16_t>(0u));
aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast<std::uint32_t>(9192)));
{ const bool branch_taken = aot_gpr_4 == 0u;
if (branch_taken) {
goto L_08967880;
}
goto L_08967848;
}
L_08967848:
aot_gpr_4 = (2236u << 16u);
ctx.gpr[16] = (aot_gpr_4 + static_cast<std::uint32_t>(32304));
aot_gpr_4 = (ctx.gpr[16] | 0u);
aot_gpr_5 = (0u | 200u);
aot_gpr_6 = (0u | 200u);
aot_gpr_31 = (0x08967864u);
aot_gpr_7 = (0u | 200u);
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0088->0134.
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
AOT_REGCACHE_SYNC_OUT();
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0088_entry, 615u, 0x08967864u, 0x08A1CF7Cu)) {
#if defined(__clang__)
[[clang::musttail]] return recomp_unit_0134_entry(rt, ctx, 156u, aot_mem);
#else
recomp_unit_0134_entry(rt, ctx, 156u, aot_mem); return;
#endif
}
return;
#else
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0134_entry, 134u, 156u, 0x08A1CF7Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08967864u) goto L_08967864;
AOT_REGCACHE_SYNC_OUT(); return;
#endif
L_08967864:
aot_gpr_6 = (16448u << 16u);
aot_gpr_4 = (ctx.gpr[16] | 0u);
aot_fpr_12 = std::bit_cast<float>(aot_gpr_6);
aot_gpr_31 = (0x08967878u);
aot_gpr_5 = (0u | 1u);
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0088->0134.
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
AOT_REGCACHE_SYNC_OUT();
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0088_entry, 616u, 0x08967878u, 0x08A1C044u)) {
#if defined(__clang__)
[[clang::musttail]] return recomp_unit_0134_entry(rt, ctx, 4u, aot_mem);
#else
recomp_unit_0134_entry(rt, ctx, 4u, aot_mem); return;
#endif
}
return;
#else
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0134_entry, 134u, 4u, 0x08A1C044u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08967878u) goto L_08967878;
AOT_REGCACHE_SYNC_OUT(); return;
#endif
L_08967878:
{ const bool branch_taken = 0u == 0u;
if (branch_taken) {
goto L_08967888;
}
goto L_08967880;
}
L_08967880:
aot_gpr_4 = (0u | 1u);
aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast<std::uint32_t>(9192), static_cast<std::uint8_t>(aot_gpr_4));
goto L_08967888;
L_08967888:
{ const bool branch_taken = 0u == 0u;
if (branch_taken) {
goto L_08967F08;
}
goto L_08967890;
}
L_08967890:
ctx.gpr[16] = (aot_mem.aot_direct_load32(ctx.gpr[21] + static_cast<std::uint32_t>(212)));
ctx.gpr[19] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(7668)));
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(7660)));
ctx.gpr[19] = (ctx.gpr[19] - ctx.gpr[16]);
ctx.gpr[16] = (aot_gpr_4 - ctx.gpr[16]);
aot_gpr_4 = (ctx.gpr[16] < static_cast<std::uint32_t>(2049) ? 1u : 0u);
ctx.gpr[18] = (ctx.gpr[16] < static_cast<std::uint32_t>(4096) ? 1u : 0u);
{ const bool branch_taken = aot_gpr_4 != 0u;
ctx.gpr[17] = (ctx.gpr[16] < static_cast<std::uint32_t>(4608) ? 1u : 0u);
if (branch_taken) {
goto L_089678F0;
}
goto L_089678B4;
}
L_089678B4:
aot_gpr_4 = (ctx.gpr[19] < static_cast<std::uint32_t>(2049) ? 1u : 0u);
{ const bool branch_taken = aot_gpr_4 == 0u;
if (branch_taken) {
goto L_089678F0;
}
goto L_089678C0;
}
L_089678C0:
aot_gpr_4 = (2236u << 16u);
ctx.gpr[20] = (aot_gpr_4 + static_cast<std::uint32_t>(32304));
aot_gpr_4 = (ctx.gpr[20] | 0u);
aot_gpr_5 = (0u | 0u);
aot_gpr_6 = (0u | 0u);
aot_gpr_31 = (0x089678DCu);
aot_gpr_7 = (0u | 0u);
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0088->0134.
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
AOT_REGCACHE_SYNC_OUT();
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0088_entry, 622u, 0x089678DCu, 0x08A1CF7Cu)) {
#if defined(__clang__)
[[clang::musttail]] return recomp_unit_0134_entry(rt, ctx, 156u, aot_mem);
#else
recomp_unit_0134_entry(rt, ctx, 156u, aot_mem); return;
#endif
}
return;
#else
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0134_entry, 134u, 156u, 0x08A1CF7Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089678DCu) goto L_089678DC;
AOT_REGCACHE_SYNC_OUT(); return;
#endif
L_089678DC:
aot_gpr_6 = (16384u << 16u);
aot_gpr_4 = (ctx.gpr[20] | 0u);
aot_fpr_12 = std::bit_cast<float>(aot_gpr_6);
aot_gpr_31 = (0x089678F0u);
aot_gpr_5 = (0u | 0u);
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0088->0134.
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
AOT_REGCACHE_SYNC_OUT();
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0088_entry, 623u, 0x089678F0u, 0x08A1C044u)) {
#if defined(__clang__)
[[clang::musttail]] return recomp_unit_0134_entry(rt, ctx, 4u, aot_mem);
#else
recomp_unit_0134_entry(rt, ctx, 4u, aot_mem); return;
#endif
}
return;
#else
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0134_entry, 134u, 4u, 0x08A1C044u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089678F0u) goto L_089678F0;
AOT_REGCACHE_SYNC_OUT(); return;
#endif
L_089678F0:
aot_gpr_31 = (0x089678F8u);
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0088->0023.
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
AOT_REGCACHE_SYNC_OUT();
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0088_entry, 624u, 0x089678F8u, 0x088634F8u)) {
#if defined(__clang__)
[[clang::musttail]] return recomp_unit_0023_entry(rt, ctx, 617u, aot_mem);
#else
recomp_unit_0023_entry(rt, ctx, 617u, aot_mem); return;
#endif
}
return;
#else
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 617u, 0x088634F8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x089678F8u) goto L_089678F8;
AOT_REGCACHE_SYNC_OUT(); return;
#endif
L_089678F8:
{ const bool branch_taken = ctx.gpr[2] != 0u;
if (branch_taken) {
goto L_089679AC;
}
goto L_08967900;
}
L_08967900:
aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[21] + static_cast<std::uint32_t>(341)));
{ const bool branch_taken = aot_gpr_4 != 0u;
if (branch_taken) {
goto L_089679AC;
}
goto L_0896790C;
}
L_0896790C:
aot_gpr_31 = (0x08967914u);
if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B20934, 199u, 110u, 0x08B20934u>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[28], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0199_entry, 199u, 110u, 0x08B20934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08967914u) goto L_08967914;
AOT_REGCACHE_SYNC_OUT(); return;
L_08967914:
aot_gpr_7 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(-17452)));
aot_gpr_6 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(-17456)));
aot_gpr_4 = (ctx.gpr[2] | 0u);
aot_gpr_31 = (0x08967928u);
aot_gpr_5 = (0u | 0u);
if (([&]() { /*PSPRECOMP_RESIDENT_SCHED_SAFE*/ if (rt.resident_generated_leaf_fast_allowed()) return rt.invoke_resident_generated_leaf<&vcs_resident_region_08B60E5C, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem, ctx.pc, ctx.hi, ctx.lo, ctx.gpr[2], ctx.gpr[3], aot_gpr_4, aot_gpr_5, aot_gpr_6, aot_gpr_7, ctx.gpr[9], ctx.gpr[10], aot_gpr_31); AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_resident_scheduler_fallback<&recomp_unit_0215_entry, 215u, 177u, 0x08B60E5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08967928u) goto L_08967928;
AOT_REGCACHE_SYNC_OUT(); return;
L_08967928:
ctx.gpr[1] = (ctx.gpr[3] << 1u);
aot_gpr_4 = (ctx.gpr[2] >> 31u);
aot_gpr_5 = (static_cast<std::uint32_t>(static_cast<std::int32_t>(ctx.gpr[3]) >> 31u));
aot_gpr_4 = (ctx.gpr[1] | aot_gpr_4);
aot_gpr_4 = (aot_gpr_4 | 0u);
{ const bool branch_taken = aot_gpr_4 != 0u;
if (branch_taken) {
goto L_089679A4;
}
goto L_08967944;
}
L_08967944:
aot_gpr_4 = (0u | 1u);
aot_gpr_5 = (aot_mem.aot_direct_load16(ctx.gpr[21] + static_cast<std::uint32_t>(342)));
aot_mem.aot_direct_store8(ctx.gpr[21] + static_cast<std::uint32_t>(341), static_cast<std::uint8_t>(aot_gpr_4));
aot_gpr_5 = (static_cast<std::int32_t>(aot_gpr_5) < 10 ? 1u : 0u);
{ const bool branch_taken = aot_gpr_5 == 0u;
aot_gpr_4 = (aot_gpr_29 + static_cast<std::uint32_t>(96));
if (branch_taken) {
goto L_08967970;
}
goto L_0896795C;
}
L_0896795C:
aot_gpr_6 = (aot_mem.aot_direct_load16(ctx.gpr[21] + static_cast<std::uint32_t>(342)));
aot_gpr_31 = (0x08967968u);
aot_gpr_5 = (ctx.gpr[28] + static_cast<std::uint32_t>(-17488));
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0212_entry, 212u, 576u, 0x08B562D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08967968u) goto L_08967968;
AOT_REGCACHE_SYNC_OUT(); return;
L_08967968:
{ const bool branch_taken = 0u == 0u;
if (branch_taken) {
goto L_0896797C;
}
goto L_08967970;
}
L_08967970:
aot_gpr_6 = (aot_mem.aot_direct_load16(ctx.gpr[21] + static_cast<std::uint32_t>(342)));
aot_gpr_31 = (0x0896797Cu);
aot_gpr_5 = (ctx.gpr[28] + static_cast<std::uint32_t>(-17476));
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0212_entry, 212u, 576u, 0x08B562D8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x0896797Cu) goto L_0896797C;
AOT_REGCACHE_SYNC_OUT(); return;
L_0896797C:
aot_gpr_4 = (aot_mem.aot_direct_load16(ctx.gpr[21] + static_cast<std::uint32_t>(342)));
aot_gpr_4 = (aot_gpr_4 + static_cast<std::uint32_t>(1));
aot_mem.aot_direct_store16(ctx.gpr[21] + static_cast<std::uint32_t>(342), static_cast<std::uint16_t>(aot_gpr_4));
aot_gpr_4 = (aot_mem.aot_direct_load16(ctx.gpr[21] + static_cast<std::uint32_t>(342)));
aot_gpr_4 = (static_cast<std::int32_t>(aot_gpr_4) < 29 ? 1u : 0u);
{ const bool branch_taken = aot_gpr_4 != 0u;
if (branch_taken) {
goto L_089679AC;
}
goto L_08967998;
}
L_08967998:
aot_gpr_4 = (0u | 20u);
{ const bool branch_taken = 0u == 0u;
aot_mem.aot_direct_store16(ctx.gpr[21] + static_cast<std::uint32_t>(342), static_cast<std::uint16_t>(aot_gpr_4));
if (branch_taken) {
goto L_089679AC;
}
goto L_089679A4;
}
L_089679A4:
aot_gpr_4 = (0u | 2u);
aot_mem.aot_direct_store8(ctx.gpr[21] + static_cast<std::uint32_t>(341), static_cast<std::uint8_t>(aot_gpr_4));
goto L_089679AC;
L_089679AC:
aot_gpr_4 = (ctx.gpr[16] < static_cast<std::uint32_t>(4001) ? 1u : 0u);
{ const bool branch_taken = aot_gpr_4 != 0u;
if (branch_taken) {
goto L_089679D0;
}
goto L_089679B8;
}
L_089679B8:
aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[21] + static_cast<std::uint32_t>(341)));
aot_gpr_5 = (0u | 1u);
{ const bool branch_taken = aot_gpr_4 != aot_gpr_5;
if (branch_taken) {
goto L_089679D0;
}
goto L_089679C8;
}
L_089679C8:
aot_gpr_4 = (0u | 2u);
aot_mem.aot_direct_store8(ctx.gpr[21] + static_cast<std::uint32_t>(341), static_cast<std::uint8_t>(aot_gpr_4));
goto L_089679D0;
L_089679D0:
{ const bool branch_taken = ctx.gpr[18] != 0u;
aot_gpr_4 = (ctx.gpr[19] < static_cast<std::uint32_t>(4097) ? 1u : 0u);
if (branch_taken) {
goto L_08967BF8;
}
goto L_089679D8;
}
L_089679D8:
{ const bool branch_taken = aot_gpr_4 == 0u;
if (branch_taken) {
goto L_08967BF8;
}
goto L_089679E0;
}
L_089679E0:
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[21] + static_cast<std::uint32_t>(0)));
ctx.gpr[16] = (2236u << 16u);
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast<std::uint32_t>(2320)));
aot_gpr_4 = (aot_gpr_4 + static_cast<std::uint32_t>(-2));
aot_gpr_5 = (aot_gpr_4 < static_cast<std::uint32_t>(5) ? 1u : 0u);
{ const bool branch_taken = aot_gpr_5 == 0u;
ctx.gpr[16] = (ctx.gpr[16] + static_cast<std::uint32_t>(32304));
if (branch_taken) {
goto L_08967A24;
}
goto L_089679FC;
}
L_089679FC:
{ const bool branch_taken = aot_gpr_4 == 0u;
ctx.gpr[1] = (0u + static_cast<std::uint32_t>(1));
if (branch_taken) {
goto L_08967A2C;
}
goto L_08967A04;
}
L_08967A04:
{ const bool branch_taken = aot_gpr_4 == ctx.gpr[1];
ctx.gpr[1] = (0u + static_cast<std::uint32_t>(2));
if (branch_taken) {
goto L_08967A34;
}
goto L_08967A0C;
}
L_08967A0C:
{ const bool branch_taken = aot_gpr_4 == ctx.gpr[1];
ctx.gpr[1] = (0u + static_cast<std::uint32_t>(3));
if (branch_taken) {
goto L_08967A3C;
}
goto L_08967A14;
}
L_08967A14:
{ const bool branch_taken = aot_gpr_4 == ctx.gpr[1];
ctx.gpr[1] = (0u + static_cast<std::uint32_t>(4));
if (branch_taken) {
goto L_08967A44;
}
goto L_08967A1C;
}
L_08967A1C:
{ const bool branch_taken = aot_gpr_4 == ctx.gpr[1];
if (branch_taken) {
goto L_08967A4C;
}
goto L_08967A24;
}
L_08967A24:
{ const bool branch_taken = 0u == 0u;
aot_gpr_4 = (0u | 100u);
if (branch_taken) {
goto L_08967A50;
}
goto L_08967A2C;
}
L_08967A2C:
{ const bool branch_taken = 0u == 0u;
aot_gpr_4 = (0u | 200u);
if (branch_taken) {
goto L_08967A50;
}
goto L_08967A34;
}
L_08967A34:
{ const bool branch_taken = 0u == 0u;
aot_gpr_4 = (0u | 400u);
if (branch_taken) {
goto L_08967A50;
}
goto L_08967A3C;
}
L_08967A3C:
{ const bool branch_taken = 0u == 0u;
aot_gpr_4 = (0u | 600u);
if (branch_taken) {
goto L_08967A50;
}
goto L_08967A44;
}
L_08967A44:
{ const bool branch_taken = 0u == 0u;
aot_gpr_4 = (0u | 900u);
if (branch_taken) {
goto L_08967A50;
}
goto L_08967A4C;
}
L_08967A4C:
aot_gpr_4 = (0u | 1500u);
goto L_08967A50;
L_08967A50:
aot_gpr_5 = (aot_mem.aot_direct_load8(ctx.gpr[21] + static_cast<std::uint32_t>(338)));
{ const bool branch_taken = aot_gpr_5 == 0u;
if (branch_taken) {
goto L_08967A64;
}
goto L_08967A5C;
}
L_08967A5C:
{ const bool branch_taken = 0u == 0u;
aot_mem.aot_direct_store8(ctx.gpr[21] + static_cast<std::uint32_t>(338), static_cast<std::uint8_t>(0u));
if (branch_taken) {
goto L_08967A88;
}
goto L_08967A64;
}
L_08967A64:
aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[21] + static_cast<std::uint32_t>(172)));
aot_gpr_4 = (aot_gpr_5 - aot_gpr_4);
aot_gpr_5 = (static_cast<std::int32_t>(aot_gpr_4) < 0 ? 1u : 0u);
if (aot_gpr_5 != 0u) {
aot_gpr_4 = (0u | 0u);
goto L_08967A78;
}
goto L_08967A78;
L_08967A78:
aot_gpr_31 = (0x08967A80u);
aot_mem.aot_direct_store32(ctx.gpr[21] + static_cast<std::uint32_t>(172), aot_gpr_4);
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0088->0023.
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
AOT_REGCACHE_SYNC_OUT();
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0088_entry, 657u, 0x08967A80u, 0x08863530u)) {
#if defined(__clang__)
[[clang::musttail]] return recomp_unit_0023_entry(rt, ctx, 622u, aot_mem);
#else
recomp_unit_0023_entry(rt, ctx, 622u, aot_mem); return;
#endif
}
return;
#else
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0023_entry, 23u, 622u, 0x08863530u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08967A80u) goto L_08967A80;
AOT_REGCACHE_SYNC_OUT(); return;
#endif
L_08967A80:
aot_gpr_31 = (0x08967A88u);
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[21] + static_cast<std::uint32_t>(0)));
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0088->0065.
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
AOT_REGCACHE_SYNC_OUT();
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0088_entry, 658u, 0x08967A88u, 0x0890849Cu)) {
#if defined(__clang__)
[[clang::musttail]] return recomp_unit_0065_entry(rt, ctx, 79u, aot_mem);
#else
recomp_unit_0065_entry(rt, ctx, 79u, aot_mem); return;
#endif
}
return;
#else
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 79u, 0x0890849Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08967A88u) goto L_08967A88;
AOT_REGCACHE_SYNC_OUT(); return;
#endif
L_08967A88:
aot_gpr_31 = (0x08967A90u);
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[21] + static_cast<std::uint32_t>(0)));
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0088->0067.
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
AOT_REGCACHE_SYNC_OUT();
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0088_entry, 659u, 0x08967A90u, 0x08910B38u)) {
#if defined(__clang__)
[[clang::musttail]] return recomp_unit_0067_entry(rt, ctx, 195u, aot_mem);
#else
recomp_unit_0067_entry(rt, ctx, 195u, aot_mem); return;
#endif
}
return;
#else
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0067_entry, 67u, 195u, 0x08910B38u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08967A90u) goto L_08967A90;
AOT_REGCACHE_SYNC_OUT(); return;
#endif
L_08967A90:
{ const bool branch_taken = ctx.gpr[2] == 0u;
if (branch_taken) {
goto L_08967B18;
}
goto L_08967A98;
}
L_08967A98:
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[21] + static_cast<std::uint32_t>(0)));
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast<std::uint32_t>(1152)));
{ const bool branch_taken = aot_gpr_4 == 0u;
if (branch_taken) {
goto L_08967B18;
}
goto L_08967AA8;
}
L_08967AA8:
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[21] + static_cast<std::uint32_t>(0)));
aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast<std::uint32_t>(1152)));
aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast<std::uint32_t>(900)));
{ const bool branch_taken = aot_gpr_5 != aot_gpr_4;
if (branch_taken) {
goto L_08967B0C;
}
goto L_08967ABC;
}
L_08967ABC:
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[21] + static_cast<std::uint32_t>(0)));
aot_gpr_5 = (0u | 0u);
aot_gpr_31 = (0x08967ACCu);
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast<std::uint32_t>(1152)));
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0088->0191.
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
AOT_REGCACHE_SYNC_OUT();
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0088_entry, 663u, 0x08967ACCu, 0x08B00520u)) {
#if defined(__clang__)
[[clang::musttail]] return recomp_unit_0191_entry(rt, ctx, 72u, aot_mem);
#else
recomp_unit_0191_entry(rt, ctx, 72u, aot_mem); return;
#endif
}
return;
#else
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 == 0x08967ACCu) goto L_08967ACC;
AOT_REGCACHE_SYNC_OUT(); return;
#endif
L_08967ACC:
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[21] + static_cast<std::uint32_t>(0)));
aot_gpr_5 = (0u | 5u);
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast<std::uint32_t>(1152)));
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast<std::uint32_t>(72)));
aot_gpr_4 = (aot_gpr_4 & 496u);
aot_gpr_4 = (aot_gpr_4 >> 4u);
{ const bool branch_taken = aot_gpr_4 == aot_gpr_5;
if (branch_taken) {
goto L_08967B18;
}
goto L_08967AEC;
}
L_08967AEC:
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[21] + static_cast<std::uint32_t>(0)));
aot_gpr_5 = (0u + static_cast<std::uint32_t>(-497));
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast<std::uint32_t>(1152)));
aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast<std::uint32_t>(72)));
aot_gpr_5 = (aot_gpr_6 & aot_gpr_5);
aot_gpr_5 = (aot_gpr_5 | 64u);
{ const bool branch_taken = 0u == 0u;
aot_mem.aot_direct_store32(aot_gpr_4 + static_cast<std::uint32_t>(72), aot_gpr_5);
if (branch_taken) {
goto L_08967B18;
}
goto L_08967B0C;
}
L_08967B0C:
aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[21] + static_cast<std::uint32_t>(0)));
aot_gpr_31 = (0x08967B18u);
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast<std::uint32_t>(1152)));
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0088->0191.
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
AOT_REGCACHE_SYNC_OUT();
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0088_entry, 666u, 0x08967B18u, 0x08B00384u)) {
#if defined(__clang__)
[[clang::musttail]] return recomp_unit_0191_entry(rt, ctx, 40u, aot_mem);
#else
recomp_unit_0191_entry(rt, ctx, 40u, aot_mem); return;
#endif
}
return;
#else
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0191_entry, 191u, 40u, 0x08B00384u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08967B18u) goto L_08967B18;
AOT_REGCACHE_SYNC_OUT(); return;
#endif
L_08967B18:
aot_gpr_31 = (0x08967B20u);
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0088->0094.
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
AOT_REGCACHE_SYNC_OUT();
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0088_entry, 667u, 0x08967B20u, 0x0897FE60u)) {
#if defined(__clang__)
[[clang::musttail]] return recomp_unit_0094_entry(rt, ctx, 969u, aot_mem);
#else
recomp_unit_0094_entry(rt, ctx, 969u, aot_mem); return;
#endif
}
return;
#else
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0094_entry, 94u, 969u, 0x0897FE60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08967B20u) goto L_08967B20;
AOT_REGCACHE_SYNC_OUT(); return;
#endif
L_08967B20:
aot_gpr_31 = (0x08967B28u);
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0088->0173.
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
AOT_REGCACHE_SYNC_OUT();
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0088_entry, 668u, 0x08967B28u, 0x08AB92E8u)) {
#if defined(__clang__)
[[clang::musttail]] return recomp_unit_0173_entry(rt, ctx, 231u, aot_mem);
#else
recomp_unit_0173_entry(rt, ctx, 231u, aot_mem); return;
#endif
}
return;
#else
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0173_entry, 173u, 231u, 0x08AB92E8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08967B28u) goto L_08967B28;
AOT_REGCACHE_SYNC_OUT(); return;
#endif
L_08967B28:
aot_gpr_31 = (0x08967B30u);
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0088->0207.
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
AOT_REGCACHE_SYNC_OUT();
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0088_entry, 669u, 0x08967B30u, 0x08B41628u)) {
#if defined(__clang__)
[[clang::musttail]] return recomp_unit_0207_entry(rt, ctx, 366u, aot_mem);
#else
recomp_unit_0207_entry(rt, ctx, 366u, aot_mem); return;
#endif
}
return;
#else
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0207_entry, 207u, 366u, 0x08B41628u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08967B30u) goto L_08967B30;
AOT_REGCACHE_SYNC_OUT(); return;
#endif
L_08967B30:
ctx.gpr[18] = (aot_gpr_29 + static_cast<std::uint32_t>(112));
aot_gpr_4 = (ctx.gpr[21] | 0u);
aot_gpr_31 = (0x08967B40u);
aot_gpr_5 = (ctx.gpr[18] | 0u);
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0088->0087.
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
AOT_REGCACHE_SYNC_OUT();
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0088_entry, 670u, 0x08967B40u, 0x089609B4u)) {
#if defined(__clang__)
[[clang::musttail]] return recomp_unit_0087_entry(rt, ctx, 111u, aot_mem);
#else
recomp_unit_0087_entry(rt, ctx, 111u, aot_mem); return;
#endif
}
return;
#else
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 111u, 0x089609B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08967B40u) goto L_08967B40;
AOT_REGCACHE_SYNC_OUT(); return;
#endif
L_08967B40:
aot_gpr_4 = (17786u << 16u);
aot_fpr_12 = std::bit_cast<float>(aot_gpr_4);
aot_gpr_4 = (ctx.gpr[18] | 0u);
aot_gpr_31 = (0x08967B54u);
aot_gpr_5 = (0u | 1u);
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0088->0037.
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
AOT_REGCACHE_SYNC_OUT();
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0088_entry, 671u, 0x08967B54u, 0x0889B6ACu)) {
#if defined(__clang__)
[[clang::musttail]] return recomp_unit_0037_entry(rt, ctx, 595u, aot_mem);
#else
recomp_unit_0037_entry(rt, ctx, 595u, aot_mem); return;
#endif
}
return;
#else
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0037_entry, 37u, 595u, 0x0889B6ACu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08967B54u) goto L_08967B54;
AOT_REGCACHE_SYNC_OUT(); return;
#endif
L_08967B54:
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>(48));
ctx.gpr[19] = (aot_gpr_29 + static_cast<std::uint32_t>(128));
aot_gpr_5 = (ctx.gpr[19] | 0u);
aot_gpr_31 = (0x08967B6Cu);
aot_gpr_6 = (aot_gpr_29 | 0u);
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0088->0164.
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
AOT_REGCACHE_SYNC_OUT();
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0088_entry, 672u, 0x08967B6Cu, 0x08A946ACu)) {
#if defined(__clang__)
[[clang::musttail]] return recomp_unit_0164_entry(rt, ctx, 71u, aot_mem);
#else
recomp_unit_0164_entry(rt, ctx, 71u, aot_mem); return;
#endif
}
return;
#else
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0164_entry, 164u, 71u, 0x08A946ACu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08967B6Cu) goto L_08967B6C;
AOT_REGCACHE_SYNC_OUT(); return;
#endif
L_08967B6C:
aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast<std::uint32_t>(9189), static_cast<std::uint8_t>(0u));
aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast<std::uint32_t>(9190), static_cast<std::uint8_t>(0u));
aot_gpr_31 = (0x08967B7Cu);
aot_gpr_4 = (0u | 720u);
goto L_08966E58;
L_08967B7C:
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[21] + static_cast<std::uint32_t>(0)));
{ const std::uint32_t vfpu_address = ctx.gpr[19] + 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 = ctx.gpr[18] + static_cast<std::uint32_t>(0);
const std::uint32_t vfpu_words[4]{std::bit_cast<std::uint32_t>(vfpu_value[0]), std::bit_cast<std::uint32_t>(vfpu_value[1]), std::bit_cast<std::uint32_t>(vfpu_value[2]), std::bit_cast<std::uint32_t>(vfpu_value[3])};
aot_mem.aot_direct_store32_block(vfpu_address, vfpu_words); }
aot_fpr_12 = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(0)));
aot_gpr_31 = (0x08967B94u);
aot_gpr_5 = (ctx.gpr[18] | 0u);
goto L_08967F30;
L_08967B94:
aot_gpr_31 = (0x08967B9Cu);
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[21] + static_cast<std::uint32_t>(0)));
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0088->0065.
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
AOT_REGCACHE_SYNC_OUT();
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0088_entry, 675u, 0x08967B9Cu, 0x0890849Cu)) {
#if defined(__clang__)
[[clang::musttail]] return recomp_unit_0065_entry(rt, ctx, 79u, aot_mem);
#else
recomp_unit_0065_entry(rt, ctx, 79u, aot_mem); return;
#endif
}
return;
#else
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0065_entry, 65u, 79u, 0x0890849Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08967B9Cu) goto L_08967B9C;
AOT_REGCACHE_SYNC_OUT(); return;
#endif
L_08967B9C:
aot_gpr_31 = (0x08967BA4u);
goto L_089672D4;
L_08967BA4:
aot_gpr_31 = (0x08967BACu);
aot_gpr_4 = (ctx.gpr[16] | 0u);
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0088->0135.
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
AOT_REGCACHE_SYNC_OUT();
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0088_entry, 677u, 0x08967BACu, 0x08A225A4u)) {
#if defined(__clang__)
[[clang::musttail]] return recomp_unit_0135_entry(rt, ctx, 316u, aot_mem);
#else
recomp_unit_0135_entry(rt, ctx, 316u, aot_mem); return;
#endif
}
return;
#else
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0135_entry, 135u, 316u, 0x08A225A4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08967BACu) goto L_08967BAC;
AOT_REGCACHE_SYNC_OUT(); return;
#endif
L_08967BAC:
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(5844)));
{ const bool branch_taken = aot_gpr_4 != 0u;
if (branch_taken) {
goto L_08967BC0;
}
goto L_08967BB8;
}
L_08967BB8:
aot_gpr_31 = (0x08967BC0u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 339u, 0x08B6572Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08967BC0u) goto L_08967BC0;
AOT_REGCACHE_SYNC_OUT(); return;
L_08967BC0:
aot_gpr_31 = (0x08967BC8u);
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(5844)));
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0088->0122.
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
AOT_REGCACHE_SYNC_OUT();
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0088_entry, 680u, 0x08967BC8u, 0x089EC260u)) {
#if defined(__clang__)
[[clang::musttail]] return recomp_unit_0122_entry(rt, ctx, 27u, aot_mem);
#else
recomp_unit_0122_entry(rt, ctx, 27u, aot_mem); return;
#endif
}
return;
#else
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0122_entry, 122u, 27u, 0x089EC260u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08967BC8u) goto L_08967BC8;
AOT_REGCACHE_SYNC_OUT(); return;
#endif
L_08967BC8:
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[21] + static_cast<std::uint32_t>(0)));
aot_gpr_31 = (0x08967BD4u);
aot_gpr_4 = (aot_gpr_4 + static_cast<std::uint32_t>(48));
goto L_08966DE0;
L_08967BD4:
aot_fpr_12 = std::bit_cast<float>(0u);
aot_gpr_4 = (ctx.gpr[16] + static_cast<std::uint32_t>(2856));
aot_gpr_31 = (0x08967BE4u);
aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast<std::uint32_t>(1936), std::bit_cast<std::uint32_t>(aot_fpr_12));
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0088->0045.
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
AOT_REGCACHE_SYNC_OUT();
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0088_entry, 682u, 0x08967BE4u, 0x088BA740u)) {
#if defined(__clang__)
[[clang::musttail]] return recomp_unit_0045_entry(rt, ctx, 518u, aot_mem);
#else
recomp_unit_0045_entry(rt, ctx, 518u, aot_mem); return;
#endif
}
return;
#else
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0045_entry, 45u, 518u, 0x088BA740u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08967BE4u) goto L_08967BE4;
AOT_REGCACHE_SYNC_OUT(); return;
#endif
L_08967BE4:
aot_gpr_31 = (0x08967BECu);
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0088->0163.
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
AOT_REGCACHE_SYNC_OUT();
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0088_entry, 683u, 0x08967BECu, 0x08A92D5Cu)) {
#if defined(__clang__)
[[clang::musttail]] return recomp_unit_0163_entry(rt, ctx, 376u, aot_mem);
#else
recomp_unit_0163_entry(rt, ctx, 376u, aot_mem); return;
#endif
}
return;
#else
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0163_entry, 163u, 376u, 0x08A92D5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08967BECu) goto L_08967BEC;
AOT_REGCACHE_SYNC_OUT(); return;
#endif
L_08967BEC:
aot_gpr_4 = (0u | 10u);
aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast<std::uint32_t>(5464), static_cast<std::uint8_t>(aot_gpr_4));
aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast<std::uint32_t>(9191), static_cast<std::uint8_t>(aot_gpr_4));
goto L_08967BF8;
L_08967BF8:
{ const bool branch_taken = ctx.gpr[17] != 0u;
if (branch_taken) {
goto L_08967C5C;
}
goto L_08967C00;
}
L_08967C00:
aot_mem.aot_direct_store8(ctx.gpr[21] + static_cast<std::uint32_t>(208), static_cast<std::uint8_t>(0u));
aot_gpr_31 = (0x08967C0Cu);
aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast<std::uint32_t>(7800)));
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_0898B428, 97u, 0x0898B428u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08967C0Cu) goto L_08967C0C;
AOT_REGCACHE_SYNC_OUT(); return;
L_08967C0C:
aot_mem.aot_direct_store16(ctx.gpr[2] + static_cast<std::uint32_t>(154), static_cast<std::uint16_t>(0u));
aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast<std::uint32_t>(9193)));
{ const bool branch_taken = aot_gpr_4 == 0u;
if (branch_taken) {
goto L_08967C54;
}
goto L_08967C1C;
}
L_08967C1C:
aot_gpr_4 = (2236u << 16u);
ctx.gpr[16] = (aot_gpr_4 + static_cast<std::uint32_t>(32304));
aot_gpr_4 = (ctx.gpr[16] | 0u);
aot_gpr_5 = (0u | 0u);
aot_gpr_6 = (0u | 0u);
aot_gpr_31 = (0x08967C38u);
aot_gpr_7 = (0u | 0u);
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0088->0134.
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
AOT_REGCACHE_SYNC_OUT();
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0088_entry, 688u, 0x08967C38u, 0x08A1CF7Cu)) {
#if defined(__clang__)
[[clang::musttail]] return recomp_unit_0134_entry(rt, ctx, 156u, aot_mem);
#else
recomp_unit_0134_entry(rt, ctx, 156u, aot_mem); return;
#endif
}
return;
#else
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0134_entry, 134u, 156u, 0x08A1CF7Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08967C38u) goto L_08967C38;
AOT_REGCACHE_SYNC_OUT(); return;
#endif
L_08967C38:
aot_gpr_6 = (16448u << 16u);
aot_gpr_4 = (ctx.gpr[16] | 0u);
aot_fpr_12 = std::bit_cast<float>(aot_gpr_6);
aot_gpr_31 = (0x08967C4Cu);
aot_gpr_5 = (0u | 1u);
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0088->0134.
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
AOT_REGCACHE_SYNC_OUT();
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0088_entry, 689u, 0x08967C4Cu, 0x08A1C044u)) {
#if defined(__clang__)
[[clang::musttail]] return recomp_unit_0134_entry(rt, ctx, 4u, aot_mem);
#else
recomp_unit_0134_entry(rt, ctx, 4u, aot_mem); return;
#endif
}
return;
#else
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0134_entry, 134u, 4u, 0x08A1C044u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08967C4Cu) goto L_08967C4C;
AOT_REGCACHE_SYNC_OUT(); return;
#endif
L_08967C4C:
{ const bool branch_taken = 0u == 0u;
if (branch_taken) {
goto L_08967C5C;
}
goto L_08967C54;
}
L_08967C54:
aot_gpr_4 = (0u | 1u);
aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast<std::uint32_t>(9193), static_cast<std::uint8_t>(aot_gpr_4));
goto L_08967C5C;
L_08967C5C:
{ const bool branch_taken = 0u == 0u;
if (branch_taken) {
goto L_08967F08;
}
goto L_08967C64;
}
L_08967C64:
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[21] + static_cast<std::uint32_t>(212)));
ctx.gpr[16] = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(7668)));
aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(7660)));
ctx.gpr[16] = (ctx.gpr[16] - aot_gpr_4);
ctx.gpr[18] = (aot_gpr_5 - aot_gpr_4);
aot_gpr_4 = (ctx.gpr[18] < static_cast<std::uint32_t>(2049) ? 1u : 0u);
ctx.gpr[17] = (ctx.gpr[18] < static_cast<std::uint32_t>(4096) ? 1u : 0u);
{ const bool branch_taken = aot_gpr_4 != 0u;
ctx.gpr[18] = (ctx.gpr[18] < static_cast<std::uint32_t>(4608) ? 1u : 0u);
if (branch_taken) {
goto L_08967CC4;
}
goto L_08967C88;
}
L_08967C88:
aot_gpr_4 = (ctx.gpr[16] < static_cast<std::uint32_t>(2049) ? 1u : 0u);
{ const bool branch_taken = aot_gpr_4 == 0u;
if (branch_taken) {
goto L_08967CC4;
}
goto L_08967C94;
}
L_08967C94:
aot_gpr_4 = (2236u << 16u);
ctx.gpr[19] = (aot_gpr_4 + static_cast<std::uint32_t>(32304));
aot_gpr_4 = (ctx.gpr[19] | 0u);
aot_gpr_5 = (0u | 0u);
aot_gpr_6 = (0u | 0u);
aot_gpr_31 = (0x08967CB0u);
aot_gpr_7 = (0u | 0u);
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0088->0134.
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
AOT_REGCACHE_SYNC_OUT();
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0088_entry, 695u, 0x08967CB0u, 0x08A1CF7Cu)) {
#if defined(__clang__)
[[clang::musttail]] return recomp_unit_0134_entry(rt, ctx, 156u, aot_mem);
#else
recomp_unit_0134_entry(rt, ctx, 156u, aot_mem); return;
#endif
}
return;
#else
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0134_entry, 134u, 156u, 0x08A1CF7Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08967CB0u) goto L_08967CB0;
AOT_REGCACHE_SYNC_OUT(); return;
#endif
L_08967CB0:
aot_gpr_6 = (16384u << 16u);
aot_gpr_4 = (ctx.gpr[19] | 0u);
aot_fpr_12 = std::bit_cast<float>(aot_gpr_6);
aot_gpr_31 = (0x08967CC4u);
aot_gpr_5 = (0u | 0u);
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0088->0134.
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
AOT_REGCACHE_SYNC_OUT();
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0088_entry, 696u, 0x08967CC4u, 0x08A1C044u)) {
#if defined(__clang__)
[[clang::musttail]] return recomp_unit_0134_entry(rt, ctx, 4u, aot_mem);
#else
recomp_unit_0134_entry(rt, ctx, 4u, aot_mem); return;
#endif
}
return;
#else
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0134_entry, 134u, 4u, 0x08A1C044u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08967CC4u) goto L_08967CC4;
AOT_REGCACHE_SYNC_OUT(); return;
#endif
L_08967CC4:
{ const bool branch_taken = ctx.gpr[17] != 0u;
aot_gpr_4 = (ctx.gpr[16] < static_cast<std::uint32_t>(4097) ? 1u : 0u);
if (branch_taken) {
goto L_08967E38;
}
goto L_08967CCC;
}
L_08967CCC:
{ const bool branch_taken = aot_gpr_4 == 0u;
if (branch_taken) {
goto L_08967E38;
}
goto L_08967CD4;
}
L_08967CD4:
aot_gpr_31 = (0x08967CDCu);
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[21] + static_cast<std::uint32_t>(0)));
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0088->0067.
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
AOT_REGCACHE_SYNC_OUT();
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0088_entry, 699u, 0x08967CDCu, 0x08910B38u)) {
#if defined(__clang__)
[[clang::musttail]] return recomp_unit_0067_entry(rt, ctx, 195u, aot_mem);
#else
recomp_unit_0067_entry(rt, ctx, 195u, aot_mem); return;
#endif
}
return;
#else
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0067_entry, 67u, 195u, 0x08910B38u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08967CDCu) goto L_08967CDC;
AOT_REGCACHE_SYNC_OUT(); return;
#endif
L_08967CDC:
ctx.gpr[16] = (2236u << 16u);
{ const bool branch_taken = ctx.gpr[2] == 0u;
ctx.gpr[16] = (ctx.gpr[16] + static_cast<std::uint32_t>(32304));
if (branch_taken) {
goto L_08967D68;
}
goto L_08967CE8;
}
L_08967CE8:
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[21] + static_cast<std::uint32_t>(0)));
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast<std::uint32_t>(1152)));
{ const bool branch_taken = aot_gpr_4 == 0u;
if (branch_taken) {
goto L_08967D68;
}
goto L_08967CF8;
}
L_08967CF8:
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[21] + static_cast<std::uint32_t>(0)));
aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast<std::uint32_t>(1152)));
aot_gpr_5 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast<std::uint32_t>(900)));
{ const bool branch_taken = aot_gpr_5 != aot_gpr_4;
if (branch_taken) {
goto L_08967D5C;
}
goto L_08967D0C;
}
L_08967D0C:
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[21] + static_cast<std::uint32_t>(0)));
aot_gpr_5 = (0u | 0u);
aot_gpr_31 = (0x08967D1Cu);
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast<std::uint32_t>(1152)));
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0088->0191.
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
AOT_REGCACHE_SYNC_OUT();
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0088_entry, 703u, 0x08967D1Cu, 0x08B00520u)) {
#if defined(__clang__)
[[clang::musttail]] return recomp_unit_0191_entry(rt, ctx, 72u, aot_mem);
#else
recomp_unit_0191_entry(rt, ctx, 72u, aot_mem); return;
#endif
}
return;
#else
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 == 0x08967D1Cu) goto L_08967D1C;
AOT_REGCACHE_SYNC_OUT(); return;
#endif
L_08967D1C:
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[21] + static_cast<std::uint32_t>(0)));
aot_gpr_5 = (0u | 5u);
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast<std::uint32_t>(1152)));
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast<std::uint32_t>(72)));
aot_gpr_4 = (aot_gpr_4 & 496u);
aot_gpr_4 = (aot_gpr_4 >> 4u);
{ const bool branch_taken = aot_gpr_4 == aot_gpr_5;
if (branch_taken) {
goto L_08967D68;
}
goto L_08967D3C;
}
L_08967D3C:
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[21] + static_cast<std::uint32_t>(0)));
aot_gpr_5 = (0u + static_cast<std::uint32_t>(-497));
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast<std::uint32_t>(1152)));
aot_gpr_6 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast<std::uint32_t>(72)));
aot_gpr_5 = (aot_gpr_6 & aot_gpr_5);
aot_gpr_5 = (aot_gpr_5 | 64u);
{ const bool branch_taken = 0u == 0u;
aot_mem.aot_direct_store32(aot_gpr_4 + static_cast<std::uint32_t>(72), aot_gpr_5);
if (branch_taken) {
goto L_08967D68;
}
goto L_08967D5C;
}
L_08967D5C:
aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[21] + static_cast<std::uint32_t>(0)));
aot_gpr_31 = (0x08967D68u);
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_5 + static_cast<std::uint32_t>(1152)));
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0088->0191.
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
AOT_REGCACHE_SYNC_OUT();
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0088_entry, 706u, 0x08967D68u, 0x08B00384u)) {
#if defined(__clang__)
[[clang::musttail]] return recomp_unit_0191_entry(rt, ctx, 40u, aot_mem);
#else
recomp_unit_0191_entry(rt, ctx, 40u, aot_mem); return;
#endif
}
return;
#else
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0191_entry, 191u, 40u, 0x08B00384u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08967D68u) goto L_08967D68;
AOT_REGCACHE_SYNC_OUT(); return;
#endif
L_08967D68:
aot_gpr_31 = (0x08967D70u);
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0088->0094.
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
AOT_REGCACHE_SYNC_OUT();
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0088_entry, 707u, 0x08967D70u, 0x0897FE60u)) {
#if defined(__clang__)
[[clang::musttail]] return recomp_unit_0094_entry(rt, ctx, 969u, aot_mem);
#else
recomp_unit_0094_entry(rt, ctx, 969u, aot_mem); return;
#endif
}
return;
#else
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0094_entry, 94u, 969u, 0x0897FE60u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08967D70u) goto L_08967D70;
AOT_REGCACHE_SYNC_OUT(); return;
#endif
L_08967D70:
aot_gpr_31 = (0x08967D78u);
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0088->0173.
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
AOT_REGCACHE_SYNC_OUT();
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0088_entry, 708u, 0x08967D78u, 0x08AB92E8u)) {
#if defined(__clang__)
[[clang::musttail]] return recomp_unit_0173_entry(rt, ctx, 231u, aot_mem);
#else
recomp_unit_0173_entry(rt, ctx, 231u, aot_mem); return;
#endif
}
return;
#else
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0173_entry, 173u, 231u, 0x08AB92E8u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08967D78u) goto L_08967D78;
AOT_REGCACHE_SYNC_OUT(); return;
#endif
L_08967D78:
aot_gpr_31 = (0x08967D80u);
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0088->0207.
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
AOT_REGCACHE_SYNC_OUT();
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0088_entry, 709u, 0x08967D80u, 0x08B41628u)) {
#if defined(__clang__)
[[clang::musttail]] return recomp_unit_0207_entry(rt, ctx, 366u, aot_mem);
#else
recomp_unit_0207_entry(rt, ctx, 366u, aot_mem); return;
#endif
}
return;
#else
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0207_entry, 207u, 366u, 0x08B41628u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08967D80u) goto L_08967D80;
AOT_REGCACHE_SYNC_OUT(); return;
#endif
L_08967D80:
ctx.gpr[17] = (aot_gpr_29 + static_cast<std::uint32_t>(160));
aot_gpr_4 = (ctx.gpr[21] | 0u);
aot_gpr_31 = (0x08967D90u);
aot_gpr_5 = (ctx.gpr[17] | 0u);
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0088->0087.
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
AOT_REGCACHE_SYNC_OUT();
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0088_entry, 710u, 0x08967D90u, 0x089609B4u)) {
#if defined(__clang__)
[[clang::musttail]] return recomp_unit_0087_entry(rt, ctx, 111u, aot_mem);
#else
recomp_unit_0087_entry(rt, ctx, 111u, aot_mem); return;
#endif
}
return;
#else
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 111u, 0x089609B4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08967D90u) goto L_08967D90;
AOT_REGCACHE_SYNC_OUT(); return;
#endif
L_08967D90:
aot_gpr_4 = (17786u << 16u);
aot_fpr_12 = std::bit_cast<float>(aot_gpr_4);
aot_gpr_4 = (ctx.gpr[17] | 0u);
aot_gpr_31 = (0x08967DA4u);
aot_gpr_5 = (0u | 1u);
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0088->0037.
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
AOT_REGCACHE_SYNC_OUT();
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0088_entry, 711u, 0x08967DA4u, 0x0889B6ACu)) {
#if defined(__clang__)
[[clang::musttail]] return recomp_unit_0037_entry(rt, ctx, 595u, aot_mem);
#else
recomp_unit_0037_entry(rt, ctx, 595u, aot_mem); return;
#endif
}
return;
#else
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0037_entry, 37u, 595u, 0x0889B6ACu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08967DA4u) goto L_08967DA4;
AOT_REGCACHE_SYNC_OUT(); return;
#endif
L_08967DA4:
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>(48));
ctx.gpr[19] = (aot_gpr_29 + static_cast<std::uint32_t>(176));
aot_gpr_5 = (ctx.gpr[19] | 0u);
aot_gpr_31 = (0x08967DBCu);
aot_gpr_6 = (aot_gpr_29 | 0u);
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0088->0164.
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
AOT_REGCACHE_SYNC_OUT();
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0088_entry, 712u, 0x08967DBCu, 0x08A946ACu)) {
#if defined(__clang__)
[[clang::musttail]] return recomp_unit_0164_entry(rt, ctx, 71u, aot_mem);
#else
recomp_unit_0164_entry(rt, ctx, 71u, aot_mem); return;
#endif
}
return;
#else
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0164_entry, 164u, 71u, 0x08A946ACu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08967DBCu) goto L_08967DBC;
AOT_REGCACHE_SYNC_OUT(); return;
#endif
L_08967DBC:
aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast<std::uint32_t>(9189), static_cast<std::uint8_t>(0u));
aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast<std::uint32_t>(9190), static_cast<std::uint8_t>(0u));
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[21] + static_cast<std::uint32_t>(0)));
{ const std::uint32_t vfpu_address = ctx.gpr[19] + 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 = ctx.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_fpr_12 = std::bit_cast<float>(aot_mem.aot_direct_load32(aot_gpr_29 + static_cast<std::uint32_t>(0)));
aot_gpr_31 = (0x08967DDCu);
aot_gpr_5 = (ctx.gpr[17] | 0u);
goto L_08967F30;
L_08967DDC:
aot_gpr_31 = (0x08967DE4u);
goto L_089672CC;
L_08967DE4:
aot_gpr_31 = (0x08967DECu);
aot_gpr_4 = (ctx.gpr[16] | 0u);
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0088->0135.
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
AOT_REGCACHE_SYNC_OUT();
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0088_entry, 715u, 0x08967DECu, 0x08A225A4u)) {
#if defined(__clang__)
[[clang::musttail]] return recomp_unit_0135_entry(rt, ctx, 316u, aot_mem);
#else
recomp_unit_0135_entry(rt, ctx, 316u, aot_mem); return;
#endif
}
return;
#else
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0135_entry, 135u, 316u, 0x08A225A4u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08967DECu) goto L_08967DEC;
AOT_REGCACHE_SYNC_OUT(); return;
#endif
L_08967DEC:
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(5844)));
{ const bool branch_taken = aot_gpr_4 != 0u;
if (branch_taken) {
goto L_08967E00;
}
goto L_08967DF8;
}
L_08967DF8:
aot_gpr_31 = (0x08967E00u);
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_direct<&recomp_unit_0216_entry, 216u, 339u, 0x08B6572Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08967E00u) goto L_08967E00;
AOT_REGCACHE_SYNC_OUT(); return;
L_08967E00:
aot_gpr_31 = (0x08967E08u);
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[28] + static_cast<std::uint32_t>(5844)));
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0088->0122.
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
AOT_REGCACHE_SYNC_OUT();
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0088_entry, 718u, 0x08967E08u, 0x089EC260u)) {
#if defined(__clang__)
[[clang::musttail]] return recomp_unit_0122_entry(rt, ctx, 27u, aot_mem);
#else
recomp_unit_0122_entry(rt, ctx, 27u, aot_mem); return;
#endif
}
return;
#else
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0122_entry, 122u, 27u, 0x089EC260u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08967E08u) goto L_08967E08;
AOT_REGCACHE_SYNC_OUT(); return;
#endif
L_08967E08:
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[21] + static_cast<std::uint32_t>(0)));
aot_gpr_31 = (0x08967E14u);
aot_gpr_4 = (aot_gpr_4 + static_cast<std::uint32_t>(48));
goto L_08966DE0;
L_08967E14:
aot_fpr_12 = std::bit_cast<float>(0u);
aot_gpr_4 = (ctx.gpr[16] + static_cast<std::uint32_t>(2856));
aot_gpr_31 = (0x08967E24u);
aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast<std::uint32_t>(1936), std::bit_cast<std::uint32_t>(aot_fpr_12));
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0088->0045.
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
AOT_REGCACHE_SYNC_OUT();
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0088_entry, 720u, 0x08967E24u, 0x088BA740u)) {
#if defined(__clang__)
[[clang::musttail]] return recomp_unit_0045_entry(rt, ctx, 518u, aot_mem);
#else
recomp_unit_0045_entry(rt, ctx, 518u, aot_mem); return;
#endif
}
return;
#else
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0045_entry, 45u, 518u, 0x088BA740u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08967E24u) goto L_08967E24;
AOT_REGCACHE_SYNC_OUT(); return;
#endif
L_08967E24:
aot_gpr_31 = (0x08967E2Cu);
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0088->0163.
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
AOT_REGCACHE_SYNC_OUT();
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0088_entry, 721u, 0x08967E2Cu, 0x08A92D5Cu)) {
#if defined(__clang__)
[[clang::musttail]] return recomp_unit_0163_entry(rt, ctx, 376u, aot_mem);
#else
recomp_unit_0163_entry(rt, ctx, 376u, aot_mem); return;
#endif
}
return;
#else
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0163_entry, 163u, 376u, 0x08A92D5Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08967E2Cu) goto L_08967E2C;
AOT_REGCACHE_SYNC_OUT(); return;
#endif
L_08967E2C:
aot_gpr_4 = (0u | 10u);
aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast<std::uint32_t>(5464), static_cast<std::uint8_t>(aot_gpr_4));
aot_mem.aot_direct_store8(ctx.gpr[28] + static_cast<std::uint32_t>(9191), static_cast<std::uint8_t>(aot_gpr_4));
goto L_08967E38;
L_08967E38:
{ const bool branch_taken = ctx.gpr[18] != 0u;
if (branch_taken) {
goto L_08967E80;
}
goto L_08967E40;
}
L_08967E40:
aot_mem.aot_direct_store8(ctx.gpr[21] + static_cast<std::uint32_t>(208), static_cast<std::uint8_t>(0u));
aot_gpr_31 = (0x08967E4Cu);
aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[28] + static_cast<std::uint32_t>(7800)));
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_compact_generated_leaf<&vcs_compact_leaf_0898B428, 97u, 0x0898B428u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08967E4Cu) goto L_08967E4C;
AOT_REGCACHE_SYNC_OUT(); return;
L_08967E4C:
aot_gpr_4 = (2236u << 16u);
ctx.gpr[16] = (aot_gpr_4 + static_cast<std::uint32_t>(32304));
aot_mem.aot_direct_store16(ctx.gpr[2] + static_cast<std::uint32_t>(154), static_cast<std::uint16_t>(0u));
aot_gpr_4 = (ctx.gpr[16] | 0u);
aot_gpr_5 = (0u | 0u);
aot_gpr_6 = (0u | 0u);
aot_gpr_31 = (0x08967E6Cu);
aot_gpr_7 = (0u | 0u);
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0088->0134.
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
AOT_REGCACHE_SYNC_OUT();
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0088_entry, 725u, 0x08967E6Cu, 0x08A1CF7Cu)) {
#if defined(__clang__)
[[clang::musttail]] return recomp_unit_0134_entry(rt, ctx, 156u, aot_mem);
#else
recomp_unit_0134_entry(rt, ctx, 156u, aot_mem); return;
#endif
}
return;
#else
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0134_entry, 134u, 156u, 0x08A1CF7Cu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08967E6Cu) goto L_08967E6C;
AOT_REGCACHE_SYNC_OUT(); return;
#endif
L_08967E6C:
aot_gpr_6 = (16448u << 16u);
aot_gpr_4 = (ctx.gpr[16] | 0u);
aot_fpr_12 = std::bit_cast<float>(aot_gpr_6);
aot_gpr_31 = (0x08967E80u);
aot_gpr_5 = (0u | 1u);
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0088->0134.
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
AOT_REGCACHE_SYNC_OUT();
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0088_entry, 726u, 0x08967E80u, 0x08A1C044u)) {
#if defined(__clang__)
[[clang::musttail]] return recomp_unit_0134_entry(rt, ctx, 4u, aot_mem);
#else
recomp_unit_0134_entry(rt, ctx, 4u, aot_mem); return;
#endif
}
return;
#else
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0134_entry, 134u, 4u, 0x08A1C044u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08967E80u) goto L_08967E80;
AOT_REGCACHE_SYNC_OUT(); return;
#endif
L_08967E80:
{ const bool branch_taken = 0u == 0u;
if (branch_taken) {
goto L_08967F08;
}
goto L_08967E88;
}
L_08967E88:
{ const bool branch_taken = 0u == 0u;
if (branch_taken) {
goto L_08967F08;
}
goto L_08967E90;
}
L_08967E90:
aot_gpr_5 = (aot_gpr_4 + aot_gpr_4);
aot_gpr_6 = (aot_gpr_4 << 8u);
aot_gpr_4 = (aot_gpr_4 + aot_gpr_5);
aot_gpr_4 = (aot_gpr_4 << 5u);
ctx.gpr[16] = (aot_gpr_6 + aot_gpr_4);
aot_gpr_4 = (2238u << 16u);
aot_gpr_4 = (aot_gpr_4 + static_cast<std::uint32_t>(-6992));
ctx.gpr[16] = (ctx.gpr[16] + aot_gpr_4);
aot_gpr_4 = (aot_mem.aot_direct_load8(ctx.gpr[16] + static_cast<std::uint32_t>(208)));
{ const bool branch_taken = aot_gpr_4 != 0u;
if (branch_taken) {
goto L_08967F08;
}
goto L_08967EBC;
}
L_08967EBC:
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast<std::uint32_t>(0)));
aot_gpr_5 = (0u | 58u);
aot_gpr_4 = (aot_gpr_4 + static_cast<std::uint32_t>(2228));
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast<std::uint32_t>(0)));
{ const bool branch_taken = aot_gpr_4 != aot_gpr_5;
ctx.gpr[17] = (0u | 65u);
if (branch_taken) {
goto L_08967EE4;
}
goto L_08967ED4;
}
L_08967ED4:
aot_gpr_31 = (0x08967EDCu);
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast<std::uint32_t>(0)));
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0088->0080.
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
AOT_REGCACHE_SYNC_OUT();
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0088_entry, 731u, 0x08967EDCu, 0x08947574u)) {
#if defined(__clang__)
[[clang::musttail]] return recomp_unit_0080_entry(rt, ctx, 676u, aot_mem);
#else
recomp_unit_0080_entry(rt, ctx, 676u, aot_mem); return;
#endif
}
return;
#else
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0080_entry, 80u, 676u, 0x08947574u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08967EDCu) goto L_08967EDC;
AOT_REGCACHE_SYNC_OUT(); return;
#endif
L_08967EDC:
aot_gpr_31 = (0x08967EE4u);
aot_gpr_4 = (ctx.gpr[16] | 0u);
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0088->0087.
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
AOT_REGCACHE_SYNC_OUT();
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0088_entry, 732u, 0x08967EE4u, 0x089614B0u)) {
#if defined(__clang__)
[[clang::musttail]] return recomp_unit_0087_entry(rt, ctx, 222u, aot_mem);
#else
recomp_unit_0087_entry(rt, ctx, 222u, aot_mem); return;
#endif
}
return;
#else
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 222u, 0x089614B0u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08967EE4u) goto L_08967EE4;
AOT_REGCACHE_SYNC_OUT(); return;
#endif
L_08967EE4:
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast<std::uint32_t>(0)));
aot_gpr_4 = (aot_gpr_4 + static_cast<std::uint32_t>(2228));
aot_gpr_4 = (aot_mem.aot_direct_load32(aot_gpr_4 + static_cast<std::uint32_t>(0)));
{ const bool branch_taken = aot_gpr_4 != ctx.gpr[17];
if (branch_taken) {
goto L_08967F08;
}
goto L_08967EF8;
}
L_08967EF8:
aot_gpr_31 = (0x08967F00u);
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast<std::uint32_t>(0)));
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0088->0080.
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
AOT_REGCACHE_SYNC_OUT();
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0088_entry, 734u, 0x08967F00u, 0x08947574u)) {
#if defined(__clang__)
[[clang::musttail]] return recomp_unit_0080_entry(rt, ctx, 676u, aot_mem);
#else
recomp_unit_0080_entry(rt, ctx, 676u, aot_mem); return;
#endif
}
return;
#else
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0080_entry, 80u, 676u, 0x08947574u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08967F00u) goto L_08967F00;
AOT_REGCACHE_SYNC_OUT(); return;
#endif
L_08967F00:
aot_gpr_31 = (0x08967F08u);
aot_gpr_4 = (ctx.gpr[16] | 0u);
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0088->0087.
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
AOT_REGCACHE_SYNC_OUT();
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0088_entry, 735u, 0x08967F08u, 0x089615ACu)) {
#if defined(__clang__)
[[clang::musttail]] return recomp_unit_0087_entry(rt, ctx, 241u, aot_mem);
#else
recomp_unit_0087_entry(rt, ctx, 241u, aot_mem); return;
#endif
}
return;
#else
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0087_entry, 87u, 241u, 0x089615ACu>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08967F08u) goto L_08967F08;
AOT_REGCACHE_SYNC_OUT(); return;
#endif
L_08967F08:
{ std::uint32_t aot_run_words[8]{};
aot_mem.aot_direct_load32_block(aot_gpr_29 + static_cast<std::uint32_t>(192), aot_run_words);
ctx.fpr[20] = std::bit_cast<float>(aot_run_words[0]);
ctx.gpr[16] = aot_run_words[1];
ctx.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];
aot_gpr_31 = aot_run_words[7];
}
jump_target = aot_gpr_31;
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(224));
// PSPRECOMP_V813_JR_FAST_EXIT: preserve the exact 256-transfer boundary; common JR path is shared.
if (++local_transfers < 256u) goto LOCAL_JR_DISPATCH;
// PSPRECOMP_V812_SHARED_SCHED_JUMP
goto LOCAL_SCHED_BOUNDARY;
L_08967F30:
aot_gpr_29 = (aot_gpr_29 + static_cast<std::uint32_t>(-112));
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(68), std::bit_cast<std::uint32_t>(ctx.fpr[20]));
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(76), ctx.gpr[16]);
ctx.fpr[20] = std::bit_cast<float>(std::bit_cast<std::uint32_t>(aot_fpr_12));
ctx.gpr[16] = (aot_gpr_4 | 0u);
aot_mem.aot_direct_store32(aot_gpr_29 + static_cast<std::uint32_t>(72), std::bit_cast<std::uint32_t>(ctx.fpr[22]));
{ const std::uint32_t aot_run_words[5]{ctx.gpr[17], ctx.gpr[18], ctx.gpr[19], ctx.gpr[20], aot_gpr_31};
aot_mem.aot_direct_store32_block(aot_gpr_29 + static_cast<std::uint32_t>(80), aot_run_words); }
aot_gpr_31 = (0x08967F64u);
ctx.gpr[17] = (aot_gpr_5 | 0u);
goto L_08966FCC;
L_08967F64:
aot_gpr_4 = (17096u << 16u);
aot_fpr_13 = std::bit_cast<float>(aot_gpr_4);
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast<std::uint32_t>(72)));
ctx.fpr[22] = std::bit_cast<float>(0u);
aot_gpr_5 = (8u << 16u);
aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast<std::uint32_t>(1252), std::bit_cast<std::uint32_t>(aot_fpr_13));
aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast<std::uint32_t>(1256), std::bit_cast<std::uint32_t>(ctx.fpr[22]));
aot_gpr_4 = (aot_gpr_4 | aot_gpr_5);
aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast<std::uint32_t>(472)));
aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast<std::uint32_t>(72), aot_gpr_4);
aot_gpr_4 = (0u + static_cast<std::uint32_t>(-12289));
aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast<std::uint32_t>(1768), 0u);
aot_gpr_4 = (aot_gpr_5 & aot_gpr_4);
aot_gpr_5 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast<std::uint32_t>(236)));
aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast<std::uint32_t>(472), aot_gpr_4);
aot_gpr_4 = (49152u << 16u);
aot_gpr_4 = (aot_gpr_4 + static_cast<std::uint32_t>(-1));
aot_gpr_4 = (aot_gpr_5 & aot_gpr_4);
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[16] + static_cast<std::uint32_t>(3261))))));
aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast<std::uint32_t>(236), aot_gpr_4);
ctx.gpr[19] = (0u + static_cast<std::uint32_t>(-2));
aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast<std::uint32_t>(3258), static_cast<std::uint8_t>(0u));
aot_gpr_4 = (aot_gpr_5 & ctx.gpr[19]);
ctx.gpr[18] = (2236u << 16u);
aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast<std::uint32_t>(3261), static_cast<std::uint8_t>(aot_gpr_4));
ctx.gpr[18] = (ctx.gpr[18] + static_cast<std::uint32_t>(32304));
aot_gpr_31 = (0x08967FD4u);
aot_gpr_4 = (ctx.gpr[18] + static_cast<std::uint32_t>(2856));
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0088->0045.
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
AOT_REGCACHE_SYNC_OUT();
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0088_entry, 738u, 0x08967FD4u, 0x088BA728u)) {
#if defined(__clang__)
[[clang::musttail]] return recomp_unit_0045_entry(rt, ctx, 517u, aot_mem);
#else
recomp_unit_0045_entry(rt, ctx, 517u, aot_mem); return;
#endif
}
return;
#else
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0045_entry, 45u, 517u, 0x088BA728u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08967FD4u) goto L_08967FD4;
AOT_REGCACHE_SYNC_OUT(); return;
#endif
L_08967FD4:
aot_mem.aot_direct_store8(ctx.gpr[16] + static_cast<std::uint32_t>(3259), static_cast<std::uint8_t>(0u));
aot_gpr_31 = (0x08967FE0u);
aot_gpr_4 = (ctx.gpr[16] | 0u);
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0088->0080.
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
AOT_REGCACHE_SYNC_OUT();
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0088_entry, 739u, 0x08967FE0u, 0x08947574u)) {
#if defined(__clang__)
[[clang::musttail]] return recomp_unit_0080_entry(rt, ctx, 676u, aot_mem);
#else
recomp_unit_0080_entry(rt, ctx, 676u, aot_mem); return;
#endif
}
return;
#else
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0080_entry, 80u, 676u, 0x08947574u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08967FE0u) goto L_08967FE0;
AOT_REGCACHE_SYNC_OUT(); return;
#endif
L_08967FE0:
aot_fpr_12 = std::bit_cast<float>(aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast<std::uint32_t>(3160)));
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast<std::uint32_t>(1712)));
{ const bool branch_taken = aot_gpr_4 == 0u;
aot_mem.aot_direct_store32(ctx.gpr[16] + static_cast<std::uint32_t>(3264), std::bit_cast<std::uint32_t>(aot_fpr_12));
if (branch_taken) {
goto L_08967FF8;
}
goto L_08967FF0;
}
L_08967FF0:
aot_gpr_31 = (0x08967FF8u);
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast<std::uint32_t>(1712)));
// PSPRECOMP_V814_LINKED_CALL: non-recursive generated call 0088->0114.
#if defined(PSPRECOMP_AOT_PRODUCTION_FASTPATHS)
AOT_REGCACHE_SYNC_OUT();
if (rt.prepare_aot_linked_call(ctx, &recomp_unit_0088_entry, 741u, 0x08967FF8u, 0x089CF934u)) {
#if defined(__clang__)
[[clang::musttail]] return recomp_unit_0114_entry(rt, ctx, 649u, aot_mem);
#else
recomp_unit_0114_entry(rt, ctx, 649u, aot_mem); return;
#endif
}
return;
#else
if (([&]() { AOT_REGCACHE_SYNC_OUT(); const bool aot_regcache_same_ = (rt.invoke_chained_trusted_direct<&recomp_unit_0114_entry, 114u, 649u, 0x089CF934u>(ctx, &aot_mem)); if (aot_regcache_same_) AOT_REGCACHE_SYNC_IN(); else aot_regcache_valid = false; return aot_regcache_same_; }()) && ctx.pc == 0x08967FF8u) goto L_08967FF8;
AOT_REGCACHE_SYNC_OUT(); return;
#endif
L_08967FF8:
aot_gpr_4 = (aot_mem.aot_direct_load32(ctx.gpr[16] + static_cast<std::uint32_t>(2196)));
aot_gpr_5 = (0u | 17u);
ctx.pc = 0x08968000u; AOT_REGCACHE_SYNC_OUT(); return;
}
#undef AOT_REGCACHE_SYNC_IN
#undef AOT_REGCACHE_SYNC_OUT
void recomp_unit_0088(Runtime &rt, AllegrexContext &ctx) {
auto aot_mem = rt.memory().aot_fast_view();
recomp_unit_0088_entry(rt, ctx, 0u, aot_mem);
}
void register_generated_unit_88(Runtime &runtime) {
runtime.register_generated_unit(88u, 0x08964000u, 16384u, &recomp_unit_0088, &recomp_unit_0088_entry);
// PSPRECOMP_V812_COMPACT_REGISTRATION: same entry set, looped once in Runtime instead of source-expanded calls.
runtime.register_generated_entry_mask(0x08964000u, &recomp_unit_0088, "recomp_unit_0088",
kEntryMasks_recomp_unit_0088, 64u);
}
} // namespace psprecomp