mirror of
https://github.com/elmasas/lcs-recomp
synced 2026-10-24 08:16:47 -04:00
10346 lines
490 KiB
C++
10346 lines
490 KiB
C++
#include "psprecomp/runtime.hpp"
|
|
#include "generated_units.hpp"
|
|
#include <bit>
|
|
#include <cmath>
|
|
#include <cstdint>
|
|
#include <limits>
|
|
|
|
namespace psprecomp {
|
|
static const std::uint16_t kEntryIds_recomp_unit_0082[4094] = {
|
|
1, 0, 2, 0, 0, 0, 3, 0, 0, 4, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 0, 7, 0, 0, 0,
|
|
0, 0, 0, 0, 8, 0, 0, 0, 9, 0, 0, 10, 0, 0, 0, 11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 0, 13, 0,
|
|
0, 0, 0, 0, 0, 0, 14, 0, 0, 15, 0, 0, 16, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0, 18, 0, 0, 0, 0,
|
|
19, 20, 0, 21, 0, 0, 0, 0, 0, 0, 0, 22, 0, 0, 23, 0, 0, 24, 0, 25, 26, 0, 0, 0, 0, 0, 0, 0, 0, 27, 0, 0,
|
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 28, 0, 0, 0, 0, 0, 0, 0,
|
|
0, 0, 29, 0, 0, 0, 0, 0, 0, 0, 0, 30, 0, 0, 0, 31, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 0, 0,
|
|
0, 0, 33, 0, 0, 34, 0, 0, 0, 0, 0, 35, 0, 0, 0, 0, 0, 36, 0, 0, 0, 0, 0, 37, 0, 38, 39, 0, 0, 40, 0, 41,
|
|
0, 0, 42, 0, 0, 0, 43, 0, 0, 0, 44, 0, 0, 45, 0, 0, 46, 0, 0, 0, 0, 47, 48, 0, 49, 0, 0, 0, 50, 0, 0, 0,
|
|
51, 0, 52, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 53, 0, 54, 0, 0, 55, 0, 0, 0, 0, 0, 0, 0, 0, 56, 0, 0,
|
|
0, 0, 57, 0, 0, 0, 0, 0, 58, 0, 0, 0, 0, 59, 0, 0, 60, 0, 0, 0, 61, 0, 0, 62, 0, 0, 0, 63, 0, 0, 0, 64,
|
|
0, 0, 0, 65, 0, 0, 66, 0, 0, 0, 67, 0, 0, 0, 68, 0, 0, 0, 69, 0, 70, 0, 71, 0, 0, 0, 72, 0, 73, 0, 0, 74,
|
|
0, 0, 0, 75, 0, 0, 0, 76, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 77, 0, 78, 0, 79, 0, 0, 0, 0, 0, 0, 0,
|
|
0, 80, 0, 0, 0, 0, 81, 0, 0, 0, 82, 0, 0, 83, 0, 0, 0, 84, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 85, 0,
|
|
86, 0, 0, 0, 0, 0, 0, 0, 0, 87, 0, 0, 0, 88, 0, 0, 89, 0, 0, 0, 90, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
0, 91, 0, 92, 0, 0, 0, 0, 0, 0, 0, 0, 93, 0, 0, 0, 94, 0, 0, 95, 0, 0, 0, 96, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
0, 0, 0, 0, 97, 0, 98, 0, 0, 0, 0, 0, 0, 0, 0, 99, 0, 0, 0, 100, 0, 0, 101, 0, 0, 0, 102, 0, 0, 0, 0, 0,
|
|
0, 0, 0, 0, 0, 0, 0, 103, 0, 104, 0, 0, 0, 0, 0, 0, 0, 0, 105, 0, 0, 106, 0, 0, 107, 0, 0, 0, 0, 0, 108, 0,
|
|
109, 110, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 111, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
0, 112, 0, 0, 0, 0, 113, 0, 0, 0, 0, 0, 0, 114, 0, 0, 0, 0, 115, 0, 0, 0, 116, 0, 0, 0, 117, 0, 0, 0, 118, 0,
|
|
119, 0, 120, 0, 0, 0, 121, 0, 0, 0, 122, 0, 0, 0, 123, 0, 124, 0, 125, 0, 126, 0, 0, 0, 127, 0, 0, 0, 0, 0, 0, 0,
|
|
0, 128, 0, 129, 0, 0, 0, 0, 0, 130, 0, 0, 0, 0, 131, 0, 0, 132, 0, 0, 133, 0, 0, 0, 0, 0, 0, 134, 0, 0, 0, 135,
|
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 136, 0, 0, 0, 0, 137, 0, 0, 0, 0, 0, 0, 0, 0, 0, 138,
|
|
0, 0, 0, 139, 0, 0, 0, 140, 0, 0, 0, 141, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 142, 0, 0, 0, 0,
|
|
143, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 144, 0, 0, 0, 0, 145, 0, 0, 0, 146, 0, 147, 0, 0, 0, 0, 148,
|
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 149, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
0, 150, 0, 0, 0, 151, 0, 0, 0, 0, 152, 0, 0, 0, 153, 0, 0, 154, 0, 0, 0, 0, 0, 0, 155, 0, 0, 0, 0, 156, 0, 0,
|
|
0, 0, 0, 157, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 158, 0, 0, 0, 0, 159, 0, 0, 0, 0, 0, 0,
|
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 160, 0, 0, 0, 0, 0, 0, 0, 0, 161, 0, 0, 162, 163, 0, 0, 0, 164, 0, 0, 0, 165,
|
|
0, 0, 0, 166, 0, 0, 0, 167, 0, 0, 0, 168, 0, 0, 0, 169, 0, 0, 0, 170, 0, 0, 0, 171, 0, 0, 0, 172, 0, 0, 0, 173,
|
|
0, 0, 0, 174, 0, 0, 0, 175, 0, 0, 0, 176, 0, 0, 0, 177, 0, 178, 0, 179, 0, 0, 0, 0, 180, 0, 0, 0, 0, 181, 0, 0,
|
|
0, 0, 182, 0, 0, 0, 0, 183, 0, 0, 0, 0, 184, 0, 0, 0, 0, 0, 0, 185, 0, 0, 0, 0, 186, 0, 0, 0, 0, 0, 0, 0,
|
|
0, 187, 0, 0, 0, 0, 188, 0, 0, 0, 0, 189, 0, 0, 0, 0, 190, 0, 0, 0, 0, 191, 0, 0, 0, 0, 192, 0, 0, 0, 0, 193,
|
|
0, 0, 0, 0, 194, 0, 0, 0, 0, 195, 0, 0, 0, 0, 196, 0, 0, 0, 0, 197, 0, 0, 0, 0, 198, 0, 0, 0, 199, 0, 0, 0,
|
|
200, 0, 0, 0, 201, 0, 0, 0, 202, 0, 0, 0, 203, 0, 0, 0, 204, 0, 0, 0, 205, 0, 0, 0, 206, 0, 0, 0, 207, 0, 0, 0,
|
|
208, 0, 0, 0, 209, 0, 0, 0, 210, 0, 0, 0, 211, 0, 212, 0, 213, 0, 0, 0, 0, 214, 0, 215, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 216, 0, 0, 0, 0, 0, 217, 0, 218, 0, 0, 0, 0, 219, 0, 0, 0, 0, 0, 0, 220, 0, 221,
|
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 222, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 223, 0, 0, 0, 0, 0, 0, 224, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 225, 0, 226,
|
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 227, 0, 228, 0, 0, 0, 0, 229, 0, 0, 0, 0, 0, 230,
|
|
0, 0, 0, 231, 0, 0, 0, 0, 0, 0, 0, 232, 233, 0, 0, 0, 0, 0, 0, 0, 234, 0, 0, 0, 0, 235, 0, 0, 236, 0, 0, 0,
|
|
237, 0, 0, 0, 238, 0, 239, 0, 0, 0, 240, 0, 0, 0, 241, 0, 0, 0, 242, 0, 243, 0, 0, 0, 0, 0, 244, 0, 0, 0, 0, 0,
|
|
0, 0, 0, 0, 0, 0, 0, 245, 246, 0, 0, 0, 0, 0, 247, 0, 0, 248, 0, 0, 249, 0, 0, 250, 0, 0, 251, 0, 0, 252, 0, 0,
|
|
253, 0, 0, 254, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 256, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
0, 0, 0, 257, 0, 0, 0, 0, 258, 0, 259, 0, 260, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 261, 0, 0, 262, 0, 0, 0, 0, 0,
|
|
263, 0, 264, 0, 265, 0, 0, 266, 0, 267, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 268, 0, 0, 0, 0, 0, 269, 0, 270, 0, 0, 0, 0, 0, 0, 271, 0, 0,
|
|
0, 0, 0, 272, 0, 273, 0, 0, 0, 0, 0, 0, 0, 274, 0, 0, 275, 0, 0, 0, 276, 0, 0, 0, 0, 0, 0, 277, 0, 278, 0, 279,
|
|
0, 280, 0, 0, 281, 0, 0, 282, 0, 283, 0, 284, 0, 0, 0, 285, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 286, 0,
|
|
0, 0, 0, 0, 0, 0, 0, 287, 0, 288, 0, 0, 289, 0, 0, 0, 290, 0, 0, 0, 0, 291, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
0, 0, 0, 292, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
293, 0, 0, 294, 0, 0, 0, 0, 0, 0, 0, 295, 0, 0, 296, 0, 297, 0, 298, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 299, 0, 0, 0, 300, 0, 301, 0, 0,
|
|
0, 0, 302, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 303, 0, 0, 0, 304, 0, 305, 0, 0, 0,
|
|
306, 0, 0, 307, 0, 0, 308, 0, 0, 0, 0, 0, 309, 0, 0, 0, 0, 0, 0, 0, 0, 310, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
311, 0, 312, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 313, 0, 0, 0, 0, 0, 0, 0, 0, 314, 0, 315, 0, 0,
|
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 316, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
0, 317, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 318, 0, 0, 0, 0, 0, 0, 319, 0,
|
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 320, 0, 0, 0, 0, 0, 0, 321, 0, 322, 0, 0,
|
|
0, 0, 0, 0, 323, 0, 0, 0, 324, 0, 325, 0, 0, 0, 0, 0, 0, 326, 0, 0, 0, 0, 0, 327, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
0, 328, 0, 0, 0, 0, 0, 329, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 330, 0, 331, 0, 0, 332, 0, 333, 0, 334, 0, 0, 335, 0,
|
|
0, 0, 336, 0, 337, 0, 0, 0, 338, 0, 339, 0, 340, 0, 0, 341, 0, 342, 0, 343, 0, 344, 0, 0, 0, 0, 0, 0, 0, 345, 346, 0,
|
|
0, 0, 0, 0, 0, 347, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 348, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 349,
|
|
0, 0, 0, 0, 350, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 351, 0, 352, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 353,
|
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 354, 0, 0, 355, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
0, 0, 0, 0, 356, 0, 0, 0, 0, 0, 0, 0, 0, 357, 0, 0, 358, 0, 0, 0, 0, 0, 0, 0, 0, 0, 359, 0, 0, 0, 0, 0,
|
|
0, 0, 0, 0, 360, 361, 0, 0, 0, 0, 0, 362, 0, 0, 363, 0, 0, 0, 0, 364, 0, 0, 0, 0, 365, 0, 366, 0, 0, 367, 0, 368,
|
|
0, 0, 369, 0, 0, 0, 0, 370, 0, 0, 371, 0, 0, 372, 0, 373, 0, 374, 0, 0, 0, 0, 0, 375, 0, 0, 376, 0, 0, 0, 0, 0,
|
|
0, 377, 0, 0, 378, 0, 379, 0, 380, 0, 0, 0, 0, 381, 382, 0, 383, 0, 384, 385, 0, 0, 0, 386, 0, 0, 0, 0, 0, 0, 0, 387,
|
|
0, 0, 388, 0, 389, 0, 0, 390, 0, 0, 0, 391, 0, 392, 0, 0, 0, 0, 393, 0, 0, 0, 394, 0, 0, 0, 395, 0, 0, 396, 0, 0,
|
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 397, 0, 0, 398, 0, 0, 0, 0, 0, 0, 0,
|
|
0, 0, 399, 0, 0, 0, 0, 0, 0, 0, 400, 0, 401, 0, 0, 0, 0, 0, 0, 402, 0, 0, 403, 0, 0, 0, 0, 0, 0, 404, 0, 0,
|
|
405, 0, 0, 0, 0, 0, 0, 406, 0, 0, 407, 0, 0, 0, 0, 0, 408, 0, 0, 0, 0, 0, 0, 409, 0, 0, 410, 0, 0, 411, 0, 0,
|
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 412, 0, 0,
|
|
0, 0, 0, 0, 413, 0, 0, 0, 414, 0, 0, 0, 415, 0, 0, 0, 416, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
0, 0, 0, 0, 0, 0, 0, 0, 417, 0, 0, 0, 0, 0, 0, 0, 0, 418, 0, 0, 0, 0, 0, 419, 0, 0, 420, 0, 0, 0, 0, 0,
|
|
0, 0, 0, 0, 0, 421, 0, 0, 422, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 423, 0, 0, 0, 0, 0, 0, 0, 0, 424, 425, 0,
|
|
0, 0, 426, 0, 0, 0, 0, 0, 427, 0, 0, 0, 0, 0, 0, 0, 0, 0, 428, 0, 429, 0, 430, 0, 431, 0, 0, 432, 0, 0, 433, 0,
|
|
0, 0, 0, 434, 0, 435, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 436, 0, 0, 437,
|
|
0, 438, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 439, 0, 0, 0, 0, 0, 0, 440, 441,
|
|
0, 0, 0, 0, 0, 0, 442, 0, 0, 0, 0, 0, 0, 443, 0, 0, 0, 0, 0, 0, 444, 0, 0, 445, 0, 0, 0, 0, 446, 0, 447, 0,
|
|
0, 0, 0, 0, 0, 448, 0, 449, 0, 0, 0, 0, 0, 0, 450, 0, 0, 451, 0, 0, 0, 0, 452, 0, 0, 0, 0, 0, 0, 453, 0, 0,
|
|
0, 0, 0, 454, 0, 0, 455, 0, 456, 0, 0, 0, 0, 457, 0, 0, 0, 458, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
0, 0, 0, 0, 0, 0, 459, 0, 460, 461, 0, 462, 0, 0, 0, 0, 463, 0, 0, 0, 0, 0, 0, 464, 0, 0, 0, 465, 0, 0, 0, 466,
|
|
0, 0, 0, 0, 0, 0, 0, 0, 467, 0, 468, 0, 469, 0, 470, 0, 471, 0, 472, 0, 473, 0, 0, 0, 0, 0, 0, 0, 0, 0, 474, 0,
|
|
475, 0, 0, 0, 476, 0, 0, 477, 0, 478, 0, 479, 0, 0, 480, 0, 0, 0, 0, 0, 0, 481, 0, 482, 0, 483, 0, 484, 0, 485, 0, 0,
|
|
0, 486, 0, 0, 487, 0, 488, 0, 489, 0, 490, 0, 491, 0, 492, 0, 0, 0, 493, 0, 494, 0, 495, 0, 496, 0, 497, 0, 498, 0, 499, 0,
|
|
0, 0, 500, 0, 0, 0, 0, 0, 0, 0, 0, 0, 501, 0, 502, 0, 503, 0, 504, 0, 0, 505, 0, 0, 0, 0, 0, 506, 0, 507, 0, 0,
|
|
0, 0, 508, 0, 0, 0, 0, 0, 0, 509, 0, 0, 510, 0, 511, 0, 0, 0, 0, 0, 0, 512, 0, 513, 0, 0, 0, 514, 0, 515, 0, 0,
|
|
0, 516, 0, 0, 517, 0, 518, 0, 0, 519, 0, 0, 520, 0, 0, 0, 521, 0, 0, 0, 522, 0, 0, 0, 0, 0, 0, 0, 0, 523, 0, 524,
|
|
0, 0, 0, 0, 0, 0, 525, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 526, 0, 0, 0, 0, 527, 0, 0, 528, 0, 529, 0,
|
|
0, 0, 530, 0, 0, 0, 531, 0, 0, 532, 0, 533, 0, 0, 0, 534, 0, 0, 0, 0, 535, 0, 0, 0, 0, 0, 0, 536, 0, 0, 0, 0,
|
|
0, 537, 0, 0, 0, 0, 0, 0, 538, 539, 0, 0, 0, 0, 0, 540, 0, 541, 0, 0, 0, 0, 542, 0, 543, 0, 544, 0, 0, 0, 0, 0,
|
|
0, 0, 0, 0, 545, 0, 0, 0, 0, 0, 0, 0, 546, 0, 547, 0, 548, 0, 0, 0, 549, 0, 0, 550, 0, 551, 0, 0, 0, 0, 0, 552,
|
|
0, 553, 0, 0, 0, 0, 0, 554, 0, 555, 0, 0, 556, 0, 557, 0, 558, 0, 559, 0, 0, 0, 0, 0, 0, 0, 560, 0, 0, 0, 561, 0,
|
|
0, 0, 562, 0, 0, 0, 0, 0, 0, 563, 0, 0, 0, 0, 0, 564, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 565, 0, 0, 0, 0, 0, 0, 0, 0, 0, 566, 0, 0, 567, 0, 0, 568, 0, 0, 0, 569, 0, 0,
|
|
0, 570, 0, 0, 0, 571, 0, 0, 0, 572, 0, 573, 0, 0, 0, 574, 0, 0, 0, 0, 0, 575, 0, 0, 0, 576, 0, 0, 0, 0, 577, 0,
|
|
578, 0, 0, 0, 579, 0, 0, 0, 580, 0, 0, 0, 581, 0, 0, 0, 582, 0, 583, 0, 0, 0, 584, 0, 585, 0, 0, 586, 0, 0, 0, 587,
|
|
0, 0, 0, 588, 0, 589, 0, 0, 0, 0, 0, 0, 0, 590, 0, 0, 591, 0, 0, 592, 0, 0, 0, 593, 0, 0, 0, 594, 0, 0, 595, 0,
|
|
596, 0, 0, 597, 0, 0, 0, 0, 0, 598, 0, 0, 0, 0, 0, 599, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
0, 0, 0, 0, 600, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 601, 0, 0, 0, 0, 0, 602, 0, 0, 0, 0, 0, 0, 603, 0,
|
|
0, 0, 604, 0, 0, 0, 0, 0, 0, 605, 0, 606, 0, 0, 0, 0, 0, 0, 607, 0, 0, 0, 0, 0, 0, 608, 0, 0, 0, 0, 0, 0,
|
|
609, 0, 0, 0, 0, 0, 0, 610, 0, 0, 0, 611, 0, 612, 0, 613, 0, 0, 614, 0, 0, 0, 0, 0, 0, 615, 0, 0, 0, 0, 0, 616,
|
|
0, 0, 617, 0, 0, 0, 0, 0, 0, 618, 0, 0, 0, 619, 0, 0, 620, 0, 0, 621, 0, 0, 622, 623, 0, 624, 0, 0, 0, 0, 0, 0,
|
|
0, 625, 0, 0, 626, 0, 0, 627, 0, 0, 0, 628, 0, 629, 0, 0, 0, 0, 630, 0, 631, 0, 0, 0, 0, 0, 0, 0, 0, 632, 0, 0,
|
|
0, 0, 0, 0, 633, 0, 0, 0, 0, 0, 0, 634, 0, 0, 635, 0, 0, 0, 0, 0, 0, 636, 0, 0, 637, 0, 0, 0, 0, 0, 638, 0,
|
|
0, 0, 0, 0, 639, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 640, 0, 0, 641,
|
|
0, 0, 0, 0, 642, 0, 643, 0, 0, 0, 0, 0, 0, 0, 644, 0, 0, 0, 0, 0, 0, 645, 0, 0, 646, 0, 0, 0, 0, 0, 647, 0,
|
|
648, 0, 0, 649, 0, 0, 0, 0, 0, 0, 650, 0, 0, 651, 0, 0, 0, 0, 0, 652, 0, 0, 0, 0, 0, 653, 0, 0, 0, 0, 0, 0,
|
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 654, 0, 0, 655, 0, 0, 0, 0, 656, 0, 657, 0, 0, 0, 0,
|
|
0, 658, 0, 0, 0, 0, 0, 659, 0, 0, 660, 0, 0, 661, 0, 0, 662, 663, 0, 664, 0, 0, 0, 665, 0, 0, 0, 0, 0, 0, 666, 0,
|
|
0, 0, 0, 0, 0, 0, 0, 667, 0, 0, 668, 0, 0, 669, 0, 0, 670, 671, 0, 672, 0, 0, 0, 0, 0, 673, 0, 0, 0, 0, 0, 0,
|
|
0, 0, 0, 0, 0, 674, 0, 675, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 676, 0, 677,
|
|
0, 0, 678, 0, 679, 0, 0, 680, 0, 0, 0, 0, 0, 0, 681, 0, 0, 682, 0, 0, 0, 683, 0, 684, 0, 0, 0, 685, 0, 686, 0, 0,
|
|
687, 0, 688, 0, 689, 0, 690, 0, 0, 0, 0, 691, 0, 0, 692, 0, 0, 693, 0, 0, 694, 695, 0, 696, 0, 0, 0, 697, 0, 0, 0, 0,
|
|
0, 0, 698, 0, 699, 0, 0, 700, 0, 0, 0, 701, 0, 0, 0, 702, 0, 0, 0, 0, 703, 0, 0, 0, 0, 0, 0, 0, 704, 0, 0, 0,
|
|
0, 0, 0, 0, 0, 705, 0, 706, 0, 707, 0, 708, 0, 0, 0, 0, 0, 0, 0, 709, 0, 0, 710, 0, 0, 0, 711, 0, 0, 712, 0, 0,
|
|
713, 0, 0, 714, 715, 0, 716, 717, 0, 0, 0, 0, 0, 0, 0, 718, 0, 0, 719, 0, 0, 720, 0, 721, 0, 0, 0, 0, 0, 0, 0, 722,
|
|
0, 0, 723, 0, 0, 724, 0, 0, 0, 725, 0, 0, 726, 0, 0, 727, 0, 0, 728, 729, 0, 730, 731, 0, 0, 0, 0, 0, 0, 0, 732, 0,
|
|
0, 733, 0, 0, 734, 0, 735, 0, 0, 0, 0, 0, 0, 736, 0, 737, 0, 738, 0, 739, 0, 0, 0, 740, 0, 741, 0, 0, 0, 0, 0, 0,
|
|
0, 0, 0, 0, 742, 0, 743, 0, 744, 0, 0, 745, 0, 746, 0, 0, 0, 747, 0, 0, 748, 0, 0, 749, 0, 0, 750, 751, 0, 752, 0, 753,
|
|
0, 0, 754, 0, 0, 0, 755, 0, 0, 0, 756, 0, 0, 0, 0, 757, 0, 758, 0, 0, 0, 0, 759, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 760, 0, 0, 0, 0,
|
|
0, 0, 0, 0, 0, 0, 761, 0, 0, 0, 0, 0, 0, 0, 762, 0, 0, 0, 0, 0, 0, 0, 0, 0, 763, 0, 0, 0, 0, 764, 0, 0,
|
|
0, 0, 0, 0, 0, 765, 0, 766, 0, 0, 767, 0, 0, 0, 0, 768, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 769, 0, 0, 0, 0, 770,
|
|
};
|
|
void recomp_unit_0082_entry(Runtime &rt, AllegrexContext &ctx, std::uint16_t direct_entry_id, GuestMemory::AotFastView &aot_mem) {
|
|
std::uint32_t jump_target = 0u;
|
|
std::uint32_t local_transfers = 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 - 0x0894C000u;
|
|
entry_id = (entry_delta < 16376u && (entry_delta & 3u) == 0u) ? kEntryIds_recomp_unit_0082[entry_delta >> 2u] : 0u;
|
|
}
|
|
switch (entry_id) {
|
|
case 1u: goto L_0894C000;
|
|
case 2u: goto L_0894C008;
|
|
case 3u: goto L_0894C018;
|
|
case 4u: goto L_0894C024;
|
|
case 5u: goto L_0894C034;
|
|
case 6u: goto L_0894C068;
|
|
case 7u: goto L_0894C070;
|
|
case 8u: goto L_0894C090;
|
|
case 9u: goto L_0894C0A0;
|
|
case 10u: goto L_0894C0AC;
|
|
case 11u: goto L_0894C0BC;
|
|
case 12u: goto L_0894C0F0;
|
|
case 13u: goto L_0894C0F8;
|
|
case 14u: goto L_0894C118;
|
|
case 15u: goto L_0894C124;
|
|
case 16u: goto L_0894C130;
|
|
case 17u: goto L_0894C14C;
|
|
case 18u: goto L_0894C16C;
|
|
case 19u: goto L_0894C180;
|
|
case 20u: goto L_0894C184;
|
|
case 21u: goto L_0894C18C;
|
|
case 22u: goto L_0894C1AC;
|
|
case 23u: goto L_0894C1B8;
|
|
case 24u: goto L_0894C1C4;
|
|
case 25u: goto L_0894C1CC;
|
|
case 26u: goto L_0894C1D0;
|
|
case 27u: goto L_0894C1F4;
|
|
case 28u: goto L_0894C260;
|
|
case 29u: goto L_0894C288;
|
|
case 30u: goto L_0894C2AC;
|
|
case 31u: goto L_0894C2BC;
|
|
case 32u: goto L_0894C2F4;
|
|
case 33u: goto L_0894C308;
|
|
case 34u: goto L_0894C314;
|
|
case 35u: goto L_0894C32C;
|
|
case 36u: goto L_0894C344;
|
|
case 37u: goto L_0894C35C;
|
|
case 38u: goto L_0894C364;
|
|
case 39u: goto L_0894C368;
|
|
case 40u: goto L_0894C374;
|
|
case 41u: goto L_0894C37C;
|
|
case 42u: goto L_0894C388;
|
|
case 43u: goto L_0894C398;
|
|
case 44u: goto L_0894C3A8;
|
|
case 45u: goto L_0894C3B4;
|
|
case 46u: goto L_0894C3C0;
|
|
case 47u: goto L_0894C3D4;
|
|
case 48u: goto L_0894C3D8;
|
|
case 49u: goto L_0894C3E0;
|
|
case 50u: goto L_0894C3F0;
|
|
case 51u: goto L_0894C400;
|
|
case 52u: goto L_0894C408;
|
|
case 53u: goto L_0894C43C;
|
|
case 54u: goto L_0894C444;
|
|
case 55u: goto L_0894C450;
|
|
case 56u: goto L_0894C474;
|
|
case 57u: goto L_0894C488;
|
|
case 58u: goto L_0894C4A0;
|
|
case 59u: goto L_0894C4B4;
|
|
case 60u: goto L_0894C4C0;
|
|
case 61u: goto L_0894C4D0;
|
|
case 62u: goto L_0894C4DC;
|
|
case 63u: goto L_0894C4EC;
|
|
case 64u: goto L_0894C4FC;
|
|
case 65u: goto L_0894C50C;
|
|
case 66u: goto L_0894C518;
|
|
case 67u: goto L_0894C528;
|
|
case 68u: goto L_0894C538;
|
|
case 69u: goto L_0894C548;
|
|
case 70u: goto L_0894C550;
|
|
case 71u: goto L_0894C558;
|
|
case 72u: goto L_0894C568;
|
|
case 73u: goto L_0894C570;
|
|
case 74u: goto L_0894C57C;
|
|
case 75u: goto L_0894C58C;
|
|
case 76u: goto L_0894C59C;
|
|
case 77u: goto L_0894C5D0;
|
|
case 78u: goto L_0894C5D8;
|
|
case 79u: goto L_0894C5E0;
|
|
case 80u: goto L_0894C604;
|
|
case 81u: goto L_0894C618;
|
|
case 82u: goto L_0894C628;
|
|
case 83u: goto L_0894C634;
|
|
case 84u: goto L_0894C644;
|
|
case 85u: goto L_0894C678;
|
|
case 86u: goto L_0894C680;
|
|
case 87u: goto L_0894C6A4;
|
|
case 88u: goto L_0894C6B4;
|
|
case 89u: goto L_0894C6C0;
|
|
case 90u: goto L_0894C6D0;
|
|
case 91u: goto L_0894C704;
|
|
case 92u: goto L_0894C70C;
|
|
case 93u: goto L_0894C730;
|
|
case 94u: goto L_0894C740;
|
|
case 95u: goto L_0894C74C;
|
|
case 96u: goto L_0894C75C;
|
|
case 97u: goto L_0894C790;
|
|
case 98u: goto L_0894C798;
|
|
case 99u: goto L_0894C7BC;
|
|
case 100u: goto L_0894C7CC;
|
|
case 101u: goto L_0894C7D8;
|
|
case 102u: goto L_0894C7E8;
|
|
case 103u: goto L_0894C81C;
|
|
case 104u: goto L_0894C824;
|
|
case 105u: goto L_0894C848;
|
|
case 106u: goto L_0894C854;
|
|
case 107u: goto L_0894C860;
|
|
case 108u: goto L_0894C878;
|
|
case 109u: goto L_0894C880;
|
|
case 110u: goto L_0894C884;
|
|
case 111u: goto L_0894C8C4;
|
|
case 112u: goto L_0894C904;
|
|
case 113u: goto L_0894C918;
|
|
case 114u: goto L_0894C934;
|
|
case 115u: goto L_0894C948;
|
|
case 116u: goto L_0894C958;
|
|
case 117u: goto L_0894C968;
|
|
case 118u: goto L_0894C978;
|
|
case 119u: goto L_0894C980;
|
|
case 120u: goto L_0894C988;
|
|
case 121u: goto L_0894C998;
|
|
case 122u: goto L_0894C9A8;
|
|
case 123u: goto L_0894C9B8;
|
|
case 124u: goto L_0894C9C0;
|
|
case 125u: goto L_0894C9C8;
|
|
case 126u: goto L_0894C9D0;
|
|
case 127u: goto L_0894C9E0;
|
|
case 128u: goto L_0894CA04;
|
|
case 129u: goto L_0894CA0C;
|
|
case 130u: goto L_0894CA24;
|
|
case 131u: goto L_0894CA38;
|
|
case 132u: goto L_0894CA44;
|
|
case 133u: goto L_0894CA50;
|
|
case 134u: goto L_0894CA6C;
|
|
case 135u: goto L_0894CA7C;
|
|
case 136u: goto L_0894CAC0;
|
|
case 137u: goto L_0894CAD4;
|
|
case 138u: goto L_0894CAFC;
|
|
case 139u: goto L_0894CB0C;
|
|
case 140u: goto L_0894CB1C;
|
|
case 141u: goto L_0894CB2C;
|
|
case 142u: goto L_0894CB6C;
|
|
case 143u: goto L_0894CB80;
|
|
case 144u: goto L_0894CBBC;
|
|
case 145u: goto L_0894CBD0;
|
|
case 146u: goto L_0894CBE0;
|
|
case 147u: goto L_0894CBE8;
|
|
case 148u: goto L_0894CBFC;
|
|
case 149u: goto L_0894CC34;
|
|
case 150u: goto L_0894CC84;
|
|
case 151u: goto L_0894CC94;
|
|
case 152u: goto L_0894CCA8;
|
|
case 153u: goto L_0894CCB8;
|
|
case 154u: goto L_0894CCC4;
|
|
case 155u: goto L_0894CCE0;
|
|
case 156u: goto L_0894CCF4;
|
|
case 157u: goto L_0894CD0C;
|
|
case 158u: goto L_0894CD50;
|
|
case 159u: goto L_0894CD64;
|
|
case 160u: goto L_0894CDA8;
|
|
case 161u: goto L_0894CDCC;
|
|
case 162u: goto L_0894CDD8;
|
|
case 163u: goto L_0894CDDC;
|
|
case 164u: goto L_0894CDEC;
|
|
case 165u: goto L_0894CDFC;
|
|
case 166u: goto L_0894CE0C;
|
|
case 167u: goto L_0894CE1C;
|
|
case 168u: goto L_0894CE2C;
|
|
case 169u: goto L_0894CE3C;
|
|
case 170u: goto L_0894CE4C;
|
|
case 171u: goto L_0894CE5C;
|
|
case 172u: goto L_0894CE6C;
|
|
case 173u: goto L_0894CE7C;
|
|
case 174u: goto L_0894CE8C;
|
|
case 175u: goto L_0894CE9C;
|
|
case 176u: goto L_0894CEAC;
|
|
case 177u: goto L_0894CEBC;
|
|
case 178u: goto L_0894CEC4;
|
|
case 179u: goto L_0894CECC;
|
|
case 180u: goto L_0894CEE0;
|
|
case 181u: goto L_0894CEF4;
|
|
case 182u: goto L_0894CF08;
|
|
case 183u: goto L_0894CF1C;
|
|
case 184u: goto L_0894CF30;
|
|
case 185u: goto L_0894CF4C;
|
|
case 186u: goto L_0894CF60;
|
|
case 187u: goto L_0894CF84;
|
|
case 188u: goto L_0894CF98;
|
|
case 189u: goto L_0894CFAC;
|
|
case 190u: goto L_0894CFC0;
|
|
case 191u: goto L_0894CFD4;
|
|
case 192u: goto L_0894CFE8;
|
|
case 193u: goto L_0894CFFC;
|
|
case 194u: goto L_0894D010;
|
|
case 195u: goto L_0894D024;
|
|
case 196u: goto L_0894D038;
|
|
case 197u: goto L_0894D04C;
|
|
case 198u: goto L_0894D060;
|
|
case 199u: goto L_0894D070;
|
|
case 200u: goto L_0894D080;
|
|
case 201u: goto L_0894D090;
|
|
case 202u: goto L_0894D0A0;
|
|
case 203u: goto L_0894D0B0;
|
|
case 204u: goto L_0894D0C0;
|
|
case 205u: goto L_0894D0D0;
|
|
case 206u: goto L_0894D0E0;
|
|
case 207u: goto L_0894D0F0;
|
|
case 208u: goto L_0894D100;
|
|
case 209u: goto L_0894D110;
|
|
case 210u: goto L_0894D120;
|
|
case 211u: goto L_0894D130;
|
|
case 212u: goto L_0894D138;
|
|
case 213u: goto L_0894D140;
|
|
case 214u: goto L_0894D154;
|
|
case 215u: goto L_0894D15C;
|
|
case 216u: goto L_0894D224;
|
|
case 217u: goto L_0894D23C;
|
|
case 218u: goto L_0894D244;
|
|
case 219u: goto L_0894D258;
|
|
case 220u: goto L_0894D274;
|
|
case 221u: goto L_0894D27C;
|
|
case 222u: goto L_0894D2C4;
|
|
case 223u: goto L_0894D32C;
|
|
case 224u: goto L_0894D348;
|
|
case 225u: goto L_0894D374;
|
|
case 226u: goto L_0894D37C;
|
|
case 227u: goto L_0894D3C8;
|
|
case 228u: goto L_0894D3D0;
|
|
case 229u: goto L_0894D3E4;
|
|
case 230u: goto L_0894D3FC;
|
|
case 231u: goto L_0894D40C;
|
|
case 232u: goto L_0894D42C;
|
|
case 233u: goto L_0894D430;
|
|
case 234u: goto L_0894D450;
|
|
case 235u: goto L_0894D464;
|
|
case 236u: goto L_0894D470;
|
|
case 237u: goto L_0894D480;
|
|
case 238u: goto L_0894D490;
|
|
case 239u: goto L_0894D498;
|
|
case 240u: goto L_0894D4A8;
|
|
case 241u: goto L_0894D4B8;
|
|
case 242u: goto L_0894D4C8;
|
|
case 243u: goto L_0894D4D0;
|
|
case 244u: goto L_0894D4E8;
|
|
case 245u: goto L_0894D51C;
|
|
case 246u: goto L_0894D520;
|
|
case 247u: goto L_0894D538;
|
|
case 248u: goto L_0894D544;
|
|
case 249u: goto L_0894D550;
|
|
case 250u: goto L_0894D55C;
|
|
case 251u: goto L_0894D568;
|
|
case 252u: goto L_0894D574;
|
|
case 253u: goto L_0894D580;
|
|
case 254u: goto L_0894D58C;
|
|
case 255u: goto L_0894D590;
|
|
case 256u: goto L_0894D5C8;
|
|
case 257u: goto L_0894D60C;
|
|
case 258u: goto L_0894D620;
|
|
case 259u: goto L_0894D628;
|
|
case 260u: goto L_0894D630;
|
|
case 261u: goto L_0894D65C;
|
|
case 262u: goto L_0894D668;
|
|
case 263u: goto L_0894D680;
|
|
case 264u: goto L_0894D688;
|
|
case 265u: goto L_0894D690;
|
|
case 266u: goto L_0894D69C;
|
|
case 267u: goto L_0894D6A4;
|
|
case 268u: goto L_0894D738;
|
|
case 269u: goto L_0894D750;
|
|
case 270u: goto L_0894D758;
|
|
case 271u: goto L_0894D774;
|
|
case 272u: goto L_0894D78C;
|
|
case 273u: goto L_0894D794;
|
|
case 274u: goto L_0894D7B4;
|
|
case 275u: goto L_0894D7C0;
|
|
case 276u: goto L_0894D7D0;
|
|
case 277u: goto L_0894D7EC;
|
|
case 278u: goto L_0894D7F4;
|
|
case 279u: goto L_0894D7FC;
|
|
case 280u: goto L_0894D804;
|
|
case 281u: goto L_0894D810;
|
|
case 282u: goto L_0894D81C;
|
|
case 283u: goto L_0894D824;
|
|
case 284u: goto L_0894D82C;
|
|
case 285u: goto L_0894D83C;
|
|
case 286u: goto L_0894D878;
|
|
case 287u: goto L_0894D89C;
|
|
case 288u: goto L_0894D8A4;
|
|
case 289u: goto L_0894D8B0;
|
|
case 290u: goto L_0894D8C0;
|
|
case 291u: goto L_0894D8D4;
|
|
case 292u: goto L_0894D90C;
|
|
case 293u: goto L_0894DA00;
|
|
case 294u: goto L_0894DA0C;
|
|
case 295u: goto L_0894DA2C;
|
|
case 296u: goto L_0894DA38;
|
|
case 297u: goto L_0894DA40;
|
|
case 298u: goto L_0894DA48;
|
|
case 299u: goto L_0894DADC;
|
|
case 300u: goto L_0894DAEC;
|
|
case 301u: goto L_0894DAF4;
|
|
case 302u: goto L_0894DB08;
|
|
case 303u: goto L_0894DB58;
|
|
case 304u: goto L_0894DB68;
|
|
case 305u: goto L_0894DB70;
|
|
case 306u: goto L_0894DB80;
|
|
case 307u: goto L_0894DB8C;
|
|
case 308u: goto L_0894DB98;
|
|
case 309u: goto L_0894DBB0;
|
|
case 310u: goto L_0894DBD4;
|
|
case 311u: goto L_0894DC00;
|
|
case 312u: goto L_0894DC08;
|
|
case 313u: goto L_0894DC48;
|
|
case 314u: goto L_0894DC6C;
|
|
case 315u: goto L_0894DC74;
|
|
case 316u: goto L_0894DCBC;
|
|
case 317u: goto L_0894DD04;
|
|
case 318u: goto L_0894DD5C;
|
|
case 319u: goto L_0894DD78;
|
|
case 320u: goto L_0894DDD0;
|
|
case 321u: goto L_0894DDEC;
|
|
case 322u: goto L_0894DDF4;
|
|
case 323u: goto L_0894DE10;
|
|
case 324u: goto L_0894DE20;
|
|
case 325u: goto L_0894DE28;
|
|
case 326u: goto L_0894DE44;
|
|
case 327u: goto L_0894DE5C;
|
|
case 328u: goto L_0894DE84;
|
|
case 329u: goto L_0894DE9C;
|
|
case 330u: goto L_0894DEC8;
|
|
case 331u: goto L_0894DED0;
|
|
case 332u: goto L_0894DEDC;
|
|
case 333u: goto L_0894DEE4;
|
|
case 334u: goto L_0894DEEC;
|
|
case 335u: goto L_0894DEF8;
|
|
case 336u: goto L_0894DF08;
|
|
case 337u: goto L_0894DF10;
|
|
case 338u: goto L_0894DF20;
|
|
case 339u: goto L_0894DF28;
|
|
case 340u: goto L_0894DF30;
|
|
case 341u: goto L_0894DF3C;
|
|
case 342u: goto L_0894DF44;
|
|
case 343u: goto L_0894DF4C;
|
|
case 344u: goto L_0894DF54;
|
|
case 345u: goto L_0894DF74;
|
|
case 346u: goto L_0894DF78;
|
|
case 347u: goto L_0894DF94;
|
|
case 348u: goto L_0894DFC0;
|
|
case 349u: goto L_0894DFFC;
|
|
case 350u: goto L_0894E010;
|
|
case 351u: goto L_0894E040;
|
|
case 352u: goto L_0894E048;
|
|
case 353u: goto L_0894E07C;
|
|
case 354u: goto L_0894E0C0;
|
|
case 355u: goto L_0894E0CC;
|
|
case 356u: goto L_0894E110;
|
|
case 357u: goto L_0894E134;
|
|
case 358u: goto L_0894E140;
|
|
case 359u: goto L_0894E168;
|
|
case 360u: goto L_0894E190;
|
|
case 361u: goto L_0894E194;
|
|
case 362u: goto L_0894E1AC;
|
|
case 363u: goto L_0894E1B8;
|
|
case 364u: goto L_0894E1CC;
|
|
case 365u: goto L_0894E1E0;
|
|
case 366u: goto L_0894E1E8;
|
|
case 367u: goto L_0894E1F4;
|
|
case 368u: goto L_0894E1FC;
|
|
case 369u: goto L_0894E208;
|
|
case 370u: goto L_0894E21C;
|
|
case 371u: goto L_0894E228;
|
|
case 372u: goto L_0894E234;
|
|
case 373u: goto L_0894E23C;
|
|
case 374u: goto L_0894E244;
|
|
case 375u: goto L_0894E25C;
|
|
case 376u: goto L_0894E268;
|
|
case 377u: goto L_0894E284;
|
|
case 378u: goto L_0894E290;
|
|
case 379u: goto L_0894E298;
|
|
case 380u: goto L_0894E2A0;
|
|
case 381u: goto L_0894E2B4;
|
|
case 382u: goto L_0894E2B8;
|
|
case 383u: goto L_0894E2C0;
|
|
case 384u: goto L_0894E2C8;
|
|
case 385u: goto L_0894E2CC;
|
|
case 386u: goto L_0894E2DC;
|
|
case 387u: goto L_0894E2FC;
|
|
case 388u: goto L_0894E308;
|
|
case 389u: goto L_0894E310;
|
|
case 390u: goto L_0894E31C;
|
|
case 391u: goto L_0894E32C;
|
|
case 392u: goto L_0894E334;
|
|
case 393u: goto L_0894E348;
|
|
case 394u: goto L_0894E358;
|
|
case 395u: goto L_0894E368;
|
|
case 396u: goto L_0894E374;
|
|
case 397u: goto L_0894E3D4;
|
|
case 398u: goto L_0894E3E0;
|
|
case 399u: goto L_0894E408;
|
|
case 400u: goto L_0894E428;
|
|
case 401u: goto L_0894E430;
|
|
case 402u: goto L_0894E44C;
|
|
case 403u: goto L_0894E458;
|
|
case 404u: goto L_0894E474;
|
|
case 405u: goto L_0894E480;
|
|
case 406u: goto L_0894E49C;
|
|
case 407u: goto L_0894E4A8;
|
|
case 408u: goto L_0894E4C0;
|
|
case 409u: goto L_0894E4DC;
|
|
case 410u: goto L_0894E4E8;
|
|
case 411u: goto L_0894E4F4;
|
|
case 412u: goto L_0894E574;
|
|
case 413u: goto L_0894E590;
|
|
case 414u: goto L_0894E5A0;
|
|
case 415u: goto L_0894E5B0;
|
|
case 416u: goto L_0894E5C0;
|
|
case 417u: goto L_0894E620;
|
|
case 418u: goto L_0894E644;
|
|
case 419u: goto L_0894E65C;
|
|
case 420u: goto L_0894E668;
|
|
case 421u: goto L_0894E694;
|
|
case 422u: goto L_0894E6A0;
|
|
case 423u: goto L_0894E6D0;
|
|
case 424u: goto L_0894E6F4;
|
|
case 425u: goto L_0894E6F8;
|
|
case 426u: goto L_0894E708;
|
|
case 427u: goto L_0894E720;
|
|
case 428u: goto L_0894E748;
|
|
case 429u: goto L_0894E750;
|
|
case 430u: goto L_0894E758;
|
|
case 431u: goto L_0894E760;
|
|
case 432u: goto L_0894E76C;
|
|
case 433u: goto L_0894E778;
|
|
case 434u: goto L_0894E78C;
|
|
case 435u: goto L_0894E794;
|
|
case 436u: goto L_0894E7F0;
|
|
case 437u: goto L_0894E7FC;
|
|
case 438u: goto L_0894E804;
|
|
case 439u: goto L_0894E85C;
|
|
case 440u: goto L_0894E878;
|
|
case 441u: goto L_0894E87C;
|
|
case 442u: goto L_0894E898;
|
|
case 443u: goto L_0894E8B4;
|
|
case 444u: goto L_0894E8D0;
|
|
case 445u: goto L_0894E8DC;
|
|
case 446u: goto L_0894E8F0;
|
|
case 447u: goto L_0894E8F8;
|
|
case 448u: goto L_0894E914;
|
|
case 449u: goto L_0894E91C;
|
|
case 450u: goto L_0894E938;
|
|
case 451u: goto L_0894E944;
|
|
case 452u: goto L_0894E958;
|
|
case 453u: goto L_0894E974;
|
|
case 454u: goto L_0894E98C;
|
|
case 455u: goto L_0894E998;
|
|
case 456u: goto L_0894E9A0;
|
|
case 457u: goto L_0894E9B4;
|
|
case 458u: goto L_0894E9C4;
|
|
case 459u: goto L_0894EA18;
|
|
case 460u: goto L_0894EA20;
|
|
case 461u: goto L_0894EA24;
|
|
case 462u: goto L_0894EA2C;
|
|
case 463u: goto L_0894EA40;
|
|
case 464u: goto L_0894EA5C;
|
|
case 465u: goto L_0894EA6C;
|
|
case 466u: goto L_0894EA7C;
|
|
case 467u: goto L_0894EAA0;
|
|
case 468u: goto L_0894EAA8;
|
|
case 469u: goto L_0894EAB0;
|
|
case 470u: goto L_0894EAB8;
|
|
case 471u: goto L_0894EAC0;
|
|
case 472u: goto L_0894EAC8;
|
|
case 473u: goto L_0894EAD0;
|
|
case 474u: goto L_0894EAF8;
|
|
case 475u: goto L_0894EB00;
|
|
case 476u: goto L_0894EB10;
|
|
case 477u: goto L_0894EB1C;
|
|
case 478u: goto L_0894EB24;
|
|
case 479u: goto L_0894EB2C;
|
|
case 480u: goto L_0894EB38;
|
|
case 481u: goto L_0894EB54;
|
|
case 482u: goto L_0894EB5C;
|
|
case 483u: goto L_0894EB64;
|
|
case 484u: goto L_0894EB6C;
|
|
case 485u: goto L_0894EB74;
|
|
case 486u: goto L_0894EB84;
|
|
case 487u: goto L_0894EB90;
|
|
case 488u: goto L_0894EB98;
|
|
case 489u: goto L_0894EBA0;
|
|
case 490u: goto L_0894EBA8;
|
|
case 491u: goto L_0894EBB0;
|
|
case 492u: goto L_0894EBB8;
|
|
case 493u: goto L_0894EBC8;
|
|
case 494u: goto L_0894EBD0;
|
|
case 495u: goto L_0894EBD8;
|
|
case 496u: goto L_0894EBE0;
|
|
case 497u: goto L_0894EBE8;
|
|
case 498u: goto L_0894EBF0;
|
|
case 499u: goto L_0894EBF8;
|
|
case 500u: goto L_0894EC08;
|
|
case 501u: goto L_0894EC30;
|
|
case 502u: goto L_0894EC38;
|
|
case 503u: goto L_0894EC40;
|
|
case 504u: goto L_0894EC48;
|
|
case 505u: goto L_0894EC54;
|
|
case 506u: goto L_0894EC6C;
|
|
case 507u: goto L_0894EC74;
|
|
case 508u: goto L_0894EC88;
|
|
case 509u: goto L_0894ECA4;
|
|
case 510u: goto L_0894ECB0;
|
|
case 511u: goto L_0894ECB8;
|
|
case 512u: goto L_0894ECD4;
|
|
case 513u: goto L_0894ECDC;
|
|
case 514u: goto L_0894ECEC;
|
|
case 515u: goto L_0894ECF4;
|
|
case 516u: goto L_0894ED04;
|
|
case 517u: goto L_0894ED10;
|
|
case 518u: goto L_0894ED18;
|
|
case 519u: goto L_0894ED24;
|
|
case 520u: goto L_0894ED30;
|
|
case 521u: goto L_0894ED40;
|
|
case 522u: goto L_0894ED50;
|
|
case 523u: goto L_0894ED74;
|
|
case 524u: goto L_0894ED7C;
|
|
case 525u: goto L_0894ED98;
|
|
case 526u: goto L_0894EDD0;
|
|
case 527u: goto L_0894EDE4;
|
|
case 528u: goto L_0894EDF0;
|
|
case 529u: goto L_0894EDF8;
|
|
case 530u: goto L_0894EE08;
|
|
case 531u: goto L_0894EE18;
|
|
case 532u: goto L_0894EE24;
|
|
case 533u: goto L_0894EE2C;
|
|
case 534u: goto L_0894EE3C;
|
|
case 535u: goto L_0894EE50;
|
|
case 536u: goto L_0894EE6C;
|
|
case 537u: goto L_0894EE84;
|
|
case 538u: goto L_0894EEA0;
|
|
case 539u: goto L_0894EEA4;
|
|
case 540u: goto L_0894EEBC;
|
|
case 541u: goto L_0894EEC4;
|
|
case 542u: goto L_0894EED8;
|
|
case 543u: goto L_0894EEE0;
|
|
case 544u: goto L_0894EEE8;
|
|
case 545u: goto L_0894EF10;
|
|
case 546u: goto L_0894EF30;
|
|
case 547u: goto L_0894EF38;
|
|
case 548u: goto L_0894EF40;
|
|
case 549u: goto L_0894EF50;
|
|
case 550u: goto L_0894EF5C;
|
|
case 551u: goto L_0894EF64;
|
|
case 552u: goto L_0894EF7C;
|
|
case 553u: goto L_0894EF84;
|
|
case 554u: goto L_0894EF9C;
|
|
case 555u: goto L_0894EFA4;
|
|
case 556u: goto L_0894EFB0;
|
|
case 557u: goto L_0894EFB8;
|
|
case 558u: goto L_0894EFC0;
|
|
case 559u: goto L_0894EFC8;
|
|
case 560u: goto L_0894EFE8;
|
|
case 561u: goto L_0894EFF8;
|
|
case 562u: goto L_0894F008;
|
|
case 563u: goto L_0894F024;
|
|
case 564u: goto L_0894F03C;
|
|
case 565u: goto L_0894F0A4;
|
|
case 566u: goto L_0894F0CC;
|
|
case 567u: goto L_0894F0D8;
|
|
case 568u: goto L_0894F0E4;
|
|
case 569u: goto L_0894F0F4;
|
|
case 570u: goto L_0894F104;
|
|
case 571u: goto L_0894F114;
|
|
case 572u: goto L_0894F124;
|
|
case 573u: goto L_0894F12C;
|
|
case 574u: goto L_0894F13C;
|
|
case 575u: goto L_0894F154;
|
|
case 576u: goto L_0894F164;
|
|
case 577u: goto L_0894F178;
|
|
case 578u: goto L_0894F180;
|
|
case 579u: goto L_0894F190;
|
|
case 580u: goto L_0894F1A0;
|
|
case 581u: goto L_0894F1B0;
|
|
case 582u: goto L_0894F1C0;
|
|
case 583u: goto L_0894F1C8;
|
|
case 584u: goto L_0894F1D8;
|
|
case 585u: goto L_0894F1E0;
|
|
case 586u: goto L_0894F1EC;
|
|
case 587u: goto L_0894F1FC;
|
|
case 588u: goto L_0894F20C;
|
|
case 589u: goto L_0894F214;
|
|
case 590u: goto L_0894F234;
|
|
case 591u: goto L_0894F240;
|
|
case 592u: goto L_0894F24C;
|
|
case 593u: goto L_0894F25C;
|
|
case 594u: goto L_0894F26C;
|
|
case 595u: goto L_0894F278;
|
|
case 596u: goto L_0894F280;
|
|
case 597u: goto L_0894F28C;
|
|
case 598u: goto L_0894F2A4;
|
|
case 599u: goto L_0894F2BC;
|
|
case 600u: goto L_0894F310;
|
|
case 601u: goto L_0894F344;
|
|
case 602u: goto L_0894F35C;
|
|
case 603u: goto L_0894F378;
|
|
case 604u: goto L_0894F388;
|
|
case 605u: goto L_0894F3A4;
|
|
case 606u: goto L_0894F3AC;
|
|
case 607u: goto L_0894F3C8;
|
|
case 608u: goto L_0894F3E4;
|
|
case 609u: goto L_0894F400;
|
|
case 610u: goto L_0894F41C;
|
|
case 611u: goto L_0894F42C;
|
|
case 612u: goto L_0894F434;
|
|
case 613u: goto L_0894F43C;
|
|
case 614u: goto L_0894F448;
|
|
case 615u: goto L_0894F464;
|
|
case 616u: goto L_0894F47C;
|
|
case 617u: goto L_0894F488;
|
|
case 618u: goto L_0894F4A4;
|
|
case 619u: goto L_0894F4B4;
|
|
case 620u: goto L_0894F4C0;
|
|
case 621u: goto L_0894F4CC;
|
|
case 622u: goto L_0894F4D8;
|
|
case 623u: goto L_0894F4DC;
|
|
case 624u: goto L_0894F4E4;
|
|
case 625u: goto L_0894F504;
|
|
case 626u: goto L_0894F510;
|
|
case 627u: goto L_0894F51C;
|
|
case 628u: goto L_0894F52C;
|
|
case 629u: goto L_0894F534;
|
|
case 630u: goto L_0894F548;
|
|
case 631u: goto L_0894F550;
|
|
case 632u: goto L_0894F574;
|
|
case 633u: goto L_0894F590;
|
|
case 634u: goto L_0894F5AC;
|
|
case 635u: goto L_0894F5B8;
|
|
case 636u: goto L_0894F5D4;
|
|
case 637u: goto L_0894F5E0;
|
|
case 638u: goto L_0894F5F8;
|
|
case 639u: goto L_0894F610;
|
|
case 640u: goto L_0894F670;
|
|
case 641u: goto L_0894F67C;
|
|
case 642u: goto L_0894F690;
|
|
case 643u: goto L_0894F698;
|
|
case 644u: goto L_0894F6B8;
|
|
case 645u: goto L_0894F6D4;
|
|
case 646u: goto L_0894F6E0;
|
|
case 647u: goto L_0894F6F8;
|
|
case 648u: goto L_0894F700;
|
|
case 649u: goto L_0894F70C;
|
|
case 650u: goto L_0894F728;
|
|
case 651u: goto L_0894F734;
|
|
case 652u: goto L_0894F74C;
|
|
case 653u: goto L_0894F764;
|
|
case 654u: goto L_0894F7C4;
|
|
case 655u: goto L_0894F7D0;
|
|
case 656u: goto L_0894F7E4;
|
|
case 657u: goto L_0894F7EC;
|
|
case 658u: goto L_0894F804;
|
|
case 659u: goto L_0894F81C;
|
|
case 660u: goto L_0894F828;
|
|
case 661u: goto L_0894F834;
|
|
case 662u: goto L_0894F840;
|
|
case 663u: goto L_0894F844;
|
|
case 664u: goto L_0894F84C;
|
|
case 665u: goto L_0894F85C;
|
|
case 666u: goto L_0894F878;
|
|
case 667u: goto L_0894F89C;
|
|
case 668u: goto L_0894F8A8;
|
|
case 669u: goto L_0894F8B4;
|
|
case 670u: goto L_0894F8C0;
|
|
case 671u: goto L_0894F8C4;
|
|
case 672u: goto L_0894F8CC;
|
|
case 673u: goto L_0894F8E4;
|
|
case 674u: goto L_0894F914;
|
|
case 675u: goto L_0894F91C;
|
|
case 676u: goto L_0894F974;
|
|
case 677u: goto L_0894F97C;
|
|
case 678u: goto L_0894F988;
|
|
case 679u: goto L_0894F990;
|
|
case 680u: goto L_0894F99C;
|
|
case 681u: goto L_0894F9B8;
|
|
case 682u: goto L_0894F9C4;
|
|
case 683u: goto L_0894F9D4;
|
|
case 684u: goto L_0894F9DC;
|
|
case 685u: goto L_0894F9EC;
|
|
case 686u: goto L_0894F9F4;
|
|
case 687u: goto L_0894FA00;
|
|
case 688u: goto L_0894FA08;
|
|
case 689u: goto L_0894FA10;
|
|
case 690u: goto L_0894FA18;
|
|
case 691u: goto L_0894FA2C;
|
|
case 692u: goto L_0894FA38;
|
|
case 693u: goto L_0894FA44;
|
|
case 694u: goto L_0894FA50;
|
|
case 695u: goto L_0894FA54;
|
|
case 696u: goto L_0894FA5C;
|
|
case 697u: goto L_0894FA6C;
|
|
case 698u: goto L_0894FA88;
|
|
case 699u: goto L_0894FA90;
|
|
case 700u: goto L_0894FA9C;
|
|
case 701u: goto L_0894FAAC;
|
|
case 702u: goto L_0894FABC;
|
|
case 703u: goto L_0894FAD0;
|
|
case 704u: goto L_0894FAF0;
|
|
case 705u: goto L_0894FB14;
|
|
case 706u: goto L_0894FB1C;
|
|
case 707u: goto L_0894FB24;
|
|
case 708u: goto L_0894FB2C;
|
|
case 709u: goto L_0894FB4C;
|
|
case 710u: goto L_0894FB58;
|
|
case 711u: goto L_0894FB68;
|
|
case 712u: goto L_0894FB74;
|
|
case 713u: goto L_0894FB80;
|
|
case 714u: goto L_0894FB8C;
|
|
case 715u: goto L_0894FB90;
|
|
case 716u: goto L_0894FB98;
|
|
case 717u: goto L_0894FB9C;
|
|
case 718u: goto L_0894FBBC;
|
|
case 719u: goto L_0894FBC8;
|
|
case 720u: goto L_0894FBD4;
|
|
case 721u: goto L_0894FBDC;
|
|
case 722u: goto L_0894FBFC;
|
|
case 723u: goto L_0894FC08;
|
|
case 724u: goto L_0894FC14;
|
|
case 725u: goto L_0894FC24;
|
|
case 726u: goto L_0894FC30;
|
|
case 727u: goto L_0894FC3C;
|
|
case 728u: goto L_0894FC48;
|
|
case 729u: goto L_0894FC4C;
|
|
case 730u: goto L_0894FC54;
|
|
case 731u: goto L_0894FC58;
|
|
case 732u: goto L_0894FC78;
|
|
case 733u: goto L_0894FC84;
|
|
case 734u: goto L_0894FC90;
|
|
case 735u: goto L_0894FC98;
|
|
case 736u: goto L_0894FCB4;
|
|
case 737u: goto L_0894FCBC;
|
|
case 738u: goto L_0894FCC4;
|
|
case 739u: goto L_0894FCCC;
|
|
case 740u: goto L_0894FCDC;
|
|
case 741u: goto L_0894FCE4;
|
|
case 742u: goto L_0894FD10;
|
|
case 743u: goto L_0894FD18;
|
|
case 744u: goto L_0894FD20;
|
|
case 745u: goto L_0894FD2C;
|
|
case 746u: goto L_0894FD34;
|
|
case 747u: goto L_0894FD44;
|
|
case 748u: goto L_0894FD50;
|
|
case 749u: goto L_0894FD5C;
|
|
case 750u: goto L_0894FD68;
|
|
case 751u: goto L_0894FD6C;
|
|
case 752u: goto L_0894FD74;
|
|
case 753u: goto L_0894FD7C;
|
|
case 754u: goto L_0894FD88;
|
|
case 755u: goto L_0894FD98;
|
|
case 756u: goto L_0894FDA8;
|
|
case 757u: goto L_0894FDBC;
|
|
case 758u: goto L_0894FDC4;
|
|
case 759u: goto L_0894FDD8;
|
|
case 760u: goto L_0894FE6C;
|
|
case 761u: goto L_0894FE98;
|
|
case 762u: goto L_0894FEB8;
|
|
case 763u: goto L_0894FEE0;
|
|
case 764u: goto L_0894FEF4;
|
|
case 765u: goto L_0894FF14;
|
|
case 766u: goto L_0894FF1C;
|
|
case 767u: goto L_0894FF28;
|
|
case 768u: goto L_0894FF3C;
|
|
case 769u: goto L_0894FFE0;
|
|
case 770u: goto L_0894FFF4;
|
|
default:
|
|
if (local_transfers == 0u) rt.unsupported(ctx.pc, 0u, "invalid internal function entry");
|
|
else ctx.pc = local_pc;
|
|
return;
|
|
}
|
|
}
|
|
L_0894C000:
|
|
ctx.gpr[31] = (0x0894C008u);
|
|
ctx.gpr[8] = (0u | 1u);
|
|
if (rt.invoke_chained_direct<&recomp_unit_0080_entry, 80u, 73u, 0x089444ECu>(ctx, &aot_mem) && ctx.pc == 0x0894C008u) goto L_0894C008;
|
|
return;
|
|
L_0894C008:
|
|
ctx.gpr[5] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast<std::uint32_t>(2980)));
|
|
ctx.gpr[4] = (2229u << 16u);
|
|
ctx.gpr[31] = (0x0894C018u);
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[4] + static_cast<std::uint32_t>(-15300)));
|
|
if (rt.invoke_chained_direct<&recomp_unit_0189_entry, 189u, 832u, 0x08AFB9BCu>(ctx, &aot_mem) && ctx.pc == 0x0894C018u) goto L_0894C018;
|
|
return;
|
|
L_0894C018:
|
|
ctx.gpr[17] = (ctx.gpr[2] | 0u);
|
|
{ const bool branch_taken = ctx.gpr[17] == 0u;
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_0894C090;
|
|
}
|
|
goto L_0894C024;
|
|
}
|
|
L_0894C024:
|
|
ctx.gpr[4] = (static_cast<std::uint32_t>(static_cast<std::int32_t>(static_cast<std::int8_t>(aot_mem.aot_load8(ctx.gpr[17] + static_cast<std::uint32_t>(421))))));
|
|
ctx.gpr[4] = (ctx.gpr[4] & 64u);
|
|
{ const bool branch_taken = ctx.gpr[4] != 0u;
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_0894C090;
|
|
}
|
|
goto L_0894C034;
|
|
}
|
|
L_0894C034:
|
|
ctx.gpr[4] = (ctx.gpr[17] + static_cast<std::uint32_t>(48));
|
|
{ const std::uint32_t vfpu_address = ctx.gpr[4] + static_cast<std::uint32_t>(0);
|
|
float vfpu_value[4]{
|
|
std::bit_cast<float>(aot_mem.aot_load32(vfpu_address + 0u)),
|
|
std::bit_cast<float>(aot_mem.aot_load32(vfpu_address + 4u)),
|
|
std::bit_cast<float>(aot_mem.aot_load32(vfpu_address + 8u)),
|
|
std::bit_cast<float>(aot_mem.aot_load32(vfpu_address + 12u))};
|
|
ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); }
|
|
ctx.gpr[5] = (ctx.gpr[29] + static_cast<std::uint32_t>(32));
|
|
{ float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value);
|
|
const std::uint32_t vfpu_address = ctx.gpr[5] + static_cast<std::uint32_t>(0);
|
|
aot_mem.aot_store32(vfpu_address + 0u, std::bit_cast<std::uint32_t>(vfpu_value[0]));
|
|
aot_mem.aot_store32(vfpu_address + 4u, std::bit_cast<std::uint32_t>(vfpu_value[1]));
|
|
aot_mem.aot_store32(vfpu_address + 8u, std::bit_cast<std::uint32_t>(vfpu_value[2]));
|
|
aot_mem.aot_store32(vfpu_address + 12u, std::bit_cast<std::uint32_t>(vfpu_value[3])); }
|
|
ctx.gpr[4] = (static_cast<std::uint32_t>(static_cast<std::int32_t>(static_cast<std::int8_t>(aot_mem.aot_load8(ctx.gpr[16] + static_cast<std::uint32_t>(1720))))));
|
|
ctx.gpr[6] = (ctx.gpr[4] << 5u);
|
|
ctx.gpr[4] = (ctx.gpr[4] << 2u);
|
|
ctx.gpr[4] = (ctx.gpr[6] - ctx.gpr[4]);
|
|
ctx.gpr[6] = (ctx.gpr[16] + ctx.gpr[4]);
|
|
ctx.gpr[6] = (ctx.gpr[6] + static_cast<std::uint32_t>(1428));
|
|
ctx.gpr[4] = (ctx.gpr[16] | 0u);
|
|
ctx.gpr[31] = (0x0894C068u);
|
|
ctx.gpr[7] = (0u | 1u);
|
|
if (rt.invoke_chained_direct<&recomp_unit_0080_entry, 80u, 251u, 0x08945118u>(ctx, &aot_mem) && ctx.pc == 0x0894C068u) goto L_0894C068;
|
|
return;
|
|
L_0894C068:
|
|
{ const bool branch_taken = ctx.gpr[2] == 0u;
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_0894C090;
|
|
}
|
|
goto L_0894C070;
|
|
}
|
|
L_0894C070:
|
|
ctx.gpr[6] = (ctx.gpr[29] + static_cast<std::uint32_t>(52));
|
|
ctx.fpr[12] = std::bit_cast<float>(std::bit_cast<std::uint32_t>(ctx.fpr[22]));
|
|
ctx.gpr[7] = (ctx.gpr[29] + static_cast<std::uint32_t>(48));
|
|
ctx.fpr[13] = std::bit_cast<float>(std::bit_cast<std::uint32_t>(ctx.fpr[20]));
|
|
ctx.gpr[4] = (ctx.gpr[16] | 0u);
|
|
ctx.gpr[5] = (ctx.gpr[17] | 0u);
|
|
ctx.gpr[31] = (0x0894C090u);
|
|
ctx.gpr[8] = (0u | 1u);
|
|
if (rt.invoke_chained_direct<&recomp_unit_0080_entry, 80u, 73u, 0x089444ECu>(ctx, &aot_mem) && ctx.pc == 0x0894C090u) goto L_0894C090;
|
|
return;
|
|
L_0894C090:
|
|
ctx.gpr[5] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast<std::uint32_t>(2984)));
|
|
ctx.gpr[4] = (2229u << 16u);
|
|
ctx.gpr[31] = (0x0894C0A0u);
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[4] + static_cast<std::uint32_t>(-15300)));
|
|
if (rt.invoke_chained_direct<&recomp_unit_0189_entry, 189u, 832u, 0x08AFB9BCu>(ctx, &aot_mem) && ctx.pc == 0x0894C0A0u) goto L_0894C0A0;
|
|
return;
|
|
L_0894C0A0:
|
|
ctx.gpr[17] = (ctx.gpr[2] | 0u);
|
|
{ const bool branch_taken = ctx.gpr[17] == 0u;
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_0894C118;
|
|
}
|
|
goto L_0894C0AC;
|
|
}
|
|
L_0894C0AC:
|
|
ctx.gpr[4] = (static_cast<std::uint32_t>(static_cast<std::int32_t>(static_cast<std::int8_t>(aot_mem.aot_load8(ctx.gpr[17] + static_cast<std::uint32_t>(421))))));
|
|
ctx.gpr[4] = (ctx.gpr[4] & 64u);
|
|
{ const bool branch_taken = ctx.gpr[4] != 0u;
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_0894C118;
|
|
}
|
|
goto L_0894C0BC;
|
|
}
|
|
L_0894C0BC:
|
|
ctx.gpr[4] = (ctx.gpr[17] + static_cast<std::uint32_t>(48));
|
|
{ const std::uint32_t vfpu_address = ctx.gpr[4] + static_cast<std::uint32_t>(0);
|
|
float vfpu_value[4]{
|
|
std::bit_cast<float>(aot_mem.aot_load32(vfpu_address + 0u)),
|
|
std::bit_cast<float>(aot_mem.aot_load32(vfpu_address + 4u)),
|
|
std::bit_cast<float>(aot_mem.aot_load32(vfpu_address + 8u)),
|
|
std::bit_cast<float>(aot_mem.aot_load32(vfpu_address + 12u))};
|
|
ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); }
|
|
ctx.gpr[5] = (ctx.gpr[29] + static_cast<std::uint32_t>(32));
|
|
{ float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value);
|
|
const std::uint32_t vfpu_address = ctx.gpr[5] + static_cast<std::uint32_t>(0);
|
|
aot_mem.aot_store32(vfpu_address + 0u, std::bit_cast<std::uint32_t>(vfpu_value[0]));
|
|
aot_mem.aot_store32(vfpu_address + 4u, std::bit_cast<std::uint32_t>(vfpu_value[1]));
|
|
aot_mem.aot_store32(vfpu_address + 8u, std::bit_cast<std::uint32_t>(vfpu_value[2]));
|
|
aot_mem.aot_store32(vfpu_address + 12u, std::bit_cast<std::uint32_t>(vfpu_value[3])); }
|
|
ctx.gpr[4] = (static_cast<std::uint32_t>(static_cast<std::int32_t>(static_cast<std::int8_t>(aot_mem.aot_load8(ctx.gpr[16] + static_cast<std::uint32_t>(1720))))));
|
|
ctx.gpr[6] = (ctx.gpr[4] << 5u);
|
|
ctx.gpr[4] = (ctx.gpr[4] << 2u);
|
|
ctx.gpr[4] = (ctx.gpr[6] - ctx.gpr[4]);
|
|
ctx.gpr[6] = (ctx.gpr[16] + ctx.gpr[4]);
|
|
ctx.gpr[6] = (ctx.gpr[6] + static_cast<std::uint32_t>(1428));
|
|
ctx.gpr[4] = (ctx.gpr[16] | 0u);
|
|
ctx.gpr[31] = (0x0894C0F0u);
|
|
ctx.gpr[7] = (0u | 1u);
|
|
if (rt.invoke_chained_direct<&recomp_unit_0080_entry, 80u, 251u, 0x08945118u>(ctx, &aot_mem) && ctx.pc == 0x0894C0F0u) goto L_0894C0F0;
|
|
return;
|
|
L_0894C0F0:
|
|
{ const bool branch_taken = ctx.gpr[2] == 0u;
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_0894C118;
|
|
}
|
|
goto L_0894C0F8;
|
|
}
|
|
L_0894C0F8:
|
|
ctx.gpr[6] = (ctx.gpr[29] + static_cast<std::uint32_t>(52));
|
|
ctx.fpr[12] = std::bit_cast<float>(std::bit_cast<std::uint32_t>(ctx.fpr[22]));
|
|
ctx.gpr[7] = (ctx.gpr[29] + static_cast<std::uint32_t>(48));
|
|
ctx.fpr[13] = std::bit_cast<float>(std::bit_cast<std::uint32_t>(ctx.fpr[20]));
|
|
ctx.gpr[4] = (ctx.gpr[16] | 0u);
|
|
ctx.gpr[5] = (ctx.gpr[17] | 0u);
|
|
ctx.gpr[31] = (0x0894C118u);
|
|
ctx.gpr[8] = (0u | 1u);
|
|
if (rt.invoke_chained_direct<&recomp_unit_0080_entry, 80u, 73u, 0x089444ECu>(ctx, &aot_mem) && ctx.pc == 0x0894C118u) goto L_0894C118;
|
|
return;
|
|
L_0894C118:
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast<std::uint32_t>(52)));
|
|
{ const bool branch_taken = ctx.gpr[4] == 0u;
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_0894C1CC;
|
|
}
|
|
goto L_0894C124;
|
|
}
|
|
L_0894C124:
|
|
ctx.gpr[5] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast<std::uint32_t>(52)));
|
|
ctx.gpr[31] = (0x0894C130u);
|
|
ctx.gpr[4] = (ctx.gpr[16] | 0u);
|
|
if (rt.invoke_chained_direct<&recomp_unit_0102_entry, 102u, 516u, 0x0899EDBCu>(ctx, &aot_mem) && ctx.pc == 0x0894C130u) goto L_0894C130;
|
|
return;
|
|
L_0894C130:
|
|
ctx.gpr[4] = (0u | 1u);
|
|
ctx.gpr[5] = (2228u << 16u);
|
|
ctx.gpr[6] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast<std::uint32_t>(52)));
|
|
aot_mem.aot_store8(ctx.gpr[5] + static_cast<std::uint32_t>(-30152), static_cast<std::uint8_t>(ctx.gpr[4]));
|
|
ctx.gpr[4] = (ctx.gpr[16] | 0u);
|
|
ctx.gpr[31] = (0x0894C14Cu);
|
|
ctx.gpr[5] = (ctx.gpr[6] | 0u);
|
|
if (rt.invoke_chained_direct<&recomp_unit_0052_entry, 52u, 266u, 0x088D534Cu>(ctx, &aot_mem) && ctx.pc == 0x0894C14Cu) goto L_0894C14C;
|
|
return;
|
|
L_0894C14C:
|
|
ctx.gpr[5] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast<std::uint32_t>(52)));
|
|
ctx.gpr[5] = (aot_mem.aot_load32(ctx.gpr[5] + static_cast<std::uint32_t>(68)));
|
|
ctx.gpr[5] = (ctx.gpr[5] & 14u);
|
|
ctx.gpr[5] = (ctx.gpr[5] ^ 6u);
|
|
ctx.gpr[5] = (ctx.gpr[5] < static_cast<std::uint32_t>(1) ? 1u : 0u);
|
|
ctx.gpr[5] = (ctx.gpr[5] & 255u);
|
|
{ const bool branch_taken = ctx.gpr[5] == 0u;
|
|
ctx.gpr[4] = (0u | 1u);
|
|
if (branch_taken) {
|
|
goto L_0894C184;
|
|
}
|
|
goto L_0894C16C;
|
|
}
|
|
L_0894C16C:
|
|
ctx.gpr[5] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast<std::uint32_t>(52)));
|
|
ctx.gpr[5] = (aot_mem.aot_load32(ctx.gpr[5] + static_cast<std::uint32_t>(416)));
|
|
ctx.gpr[5] = (ctx.gpr[5] & 2u);
|
|
{ const bool branch_taken = ctx.gpr[5] == 0u;
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_0894C184;
|
|
}
|
|
goto L_0894C180;
|
|
}
|
|
L_0894C180:
|
|
ctx.gpr[4] = (0u | 0u);
|
|
goto L_0894C184;
|
|
L_0894C184:
|
|
{ const bool branch_taken = ctx.gpr[4] == 0u;
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_0894C1C4;
|
|
}
|
|
goto L_0894C18C;
|
|
}
|
|
L_0894C18C:
|
|
ctx.gpr[4] = (static_cast<std::uint32_t>(static_cast<std::int32_t>(static_cast<std::int8_t>(aot_mem.aot_load8(ctx.gpr[16] + static_cast<std::uint32_t>(1720))))));
|
|
ctx.gpr[5] = (ctx.gpr[4] << 5u);
|
|
ctx.gpr[4] = (ctx.gpr[4] << 2u);
|
|
ctx.gpr[4] = (ctx.gpr[5] - ctx.gpr[4]);
|
|
ctx.gpr[4] = (ctx.gpr[16] + ctx.gpr[4]);
|
|
ctx.gpr[4] = (ctx.gpr[4] + static_cast<std::uint32_t>(1428));
|
|
ctx.gpr[31] = (0x0894C1ACu);
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[4] + static_cast<std::uint32_t>(0)));
|
|
goto L_0894DA0C;
|
|
L_0894C1AC:
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[2] + static_cast<std::uint32_t>(0)));
|
|
{ const bool branch_taken = ctx.gpr[4] == 0u;
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_0894C1C4;
|
|
}
|
|
goto L_0894C1B8;
|
|
}
|
|
L_0894C1B8:
|
|
ctx.gpr[4] = (ctx.gpr[16] | 0u);
|
|
ctx.gpr[31] = (0x0894C1C4u);
|
|
ctx.gpr[5] = (0u | 117u);
|
|
if (rt.invoke_chained_direct<&recomp_unit_0044_entry, 44u, 499u, 0x088B6D24u>(ctx, &aot_mem) && ctx.pc == 0x0894C1C4u) goto L_0894C1C4;
|
|
return;
|
|
L_0894C1C4:
|
|
{ const bool branch_taken = 0u == 0u;
|
|
ctx.gpr[2] = (0u | 1u);
|
|
if (branch_taken) {
|
|
goto L_0894C1D0;
|
|
}
|
|
goto L_0894C1CC;
|
|
}
|
|
L_0894C1CC:
|
|
ctx.gpr[2] = (0u | 0u);
|
|
goto L_0894C1D0;
|
|
L_0894C1D0:
|
|
ctx.fpr[20] = std::bit_cast<float>(aot_mem.aot_load32(ctx.gpr[29] + static_cast<std::uint32_t>(100)));
|
|
ctx.fpr[22] = std::bit_cast<float>(aot_mem.aot_load32(ctx.gpr[29] + static_cast<std::uint32_t>(104)));
|
|
ctx.gpr[16] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast<std::uint32_t>(108)));
|
|
ctx.gpr[17] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast<std::uint32_t>(112)));
|
|
ctx.gpr[18] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast<std::uint32_t>(116)));
|
|
ctx.gpr[19] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast<std::uint32_t>(120)));
|
|
ctx.gpr[31] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast<std::uint32_t>(124)));
|
|
jump_target = ctx.gpr[31];
|
|
ctx.gpr[29] = (ctx.gpr[29] + static_cast<std::uint32_t>(128));
|
|
local_pc = jump_target;
|
|
if (++local_transfers < 2048u) { entry_id = 0u; goto LOCAL_DISPATCH; }
|
|
ctx.pc = jump_target;
|
|
return;
|
|
L_0894C1F4:
|
|
ctx.gpr[29] = (ctx.gpr[29] + static_cast<std::uint32_t>(-176));
|
|
aot_mem.aot_store32(ctx.gpr[29] + static_cast<std::uint32_t>(132), ctx.gpr[17]);
|
|
ctx.gpr[17] = (ctx.gpr[4] | 0u);
|
|
ctx.gpr[4] = (static_cast<std::uint32_t>(static_cast<std::int32_t>(static_cast<std::int8_t>(aot_mem.aot_load8(ctx.gpr[17] + static_cast<std::uint32_t>(1720))))));
|
|
ctx.gpr[7] = (ctx.gpr[4] << 5u);
|
|
ctx.gpr[4] = (ctx.gpr[4] << 2u);
|
|
ctx.gpr[4] = (ctx.gpr[7] - ctx.gpr[4]);
|
|
ctx.gpr[4] = (ctx.gpr[17] + ctx.gpr[4]);
|
|
aot_mem.aot_store32(ctx.gpr[29] + static_cast<std::uint32_t>(128), ctx.gpr[16]);
|
|
aot_mem.aot_store32(ctx.gpr[29] + static_cast<std::uint32_t>(136), ctx.gpr[18]);
|
|
aot_mem.aot_store32(ctx.gpr[29] + static_cast<std::uint32_t>(52), 0u);
|
|
ctx.gpr[4] = (ctx.gpr[4] + static_cast<std::uint32_t>(1428));
|
|
ctx.gpr[16] = (ctx.gpr[5] | 0u);
|
|
ctx.gpr[18] = (ctx.gpr[6] & 255u);
|
|
aot_mem.aot_store32(ctx.gpr[29] + static_cast<std::uint32_t>(112), std::bit_cast<std::uint32_t>(ctx.fpr[20]));
|
|
aot_mem.aot_store32(ctx.gpr[29] + static_cast<std::uint32_t>(116), std::bit_cast<std::uint32_t>(ctx.fpr[22]));
|
|
aot_mem.aot_store32(ctx.gpr[29] + static_cast<std::uint32_t>(120), std::bit_cast<std::uint32_t>(ctx.fpr[24]));
|
|
aot_mem.aot_store32(ctx.gpr[29] + static_cast<std::uint32_t>(124), std::bit_cast<std::uint32_t>(ctx.fpr[26]));
|
|
aot_mem.aot_store32(ctx.gpr[29] + static_cast<std::uint32_t>(140), ctx.gpr[19]);
|
|
aot_mem.aot_store32(ctx.gpr[29] + static_cast<std::uint32_t>(144), ctx.gpr[20]);
|
|
aot_mem.aot_store32(ctx.gpr[29] + static_cast<std::uint32_t>(148), ctx.gpr[21]);
|
|
aot_mem.aot_store32(ctx.gpr[29] + static_cast<std::uint32_t>(152), ctx.gpr[22]);
|
|
aot_mem.aot_store32(ctx.gpr[29] + static_cast<std::uint32_t>(156), ctx.gpr[23]);
|
|
aot_mem.aot_store32(ctx.gpr[29] + static_cast<std::uint32_t>(160), ctx.gpr[30]);
|
|
aot_mem.aot_store32(ctx.gpr[29] + static_cast<std::uint32_t>(164), ctx.gpr[31]);
|
|
ctx.gpr[31] = (0x0894C260u);
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[4] + static_cast<std::uint32_t>(0)));
|
|
goto L_0894DA0C;
|
|
L_0894C260:
|
|
ctx.gpr[4] = (50716u << 16u);
|
|
ctx.fpr[20] = std::bit_cast<float>(aot_mem.aot_load32(ctx.gpr[2] + static_cast<std::uint32_t>(4)));
|
|
ctx.gpr[4] = (ctx.gpr[4] | 16384u);
|
|
aot_mem.aot_store32(ctx.gpr[29] + static_cast<std::uint32_t>(52), 0u);
|
|
ctx.fpr[12] = std::bit_cast<float>(ctx.gpr[4]);
|
|
ctx.gpr[4] = (ctx.gpr[17] + static_cast<std::uint32_t>(16));
|
|
aot_mem.aot_store32(ctx.gpr[29] + static_cast<std::uint32_t>(48), std::bit_cast<std::uint32_t>(ctx.fpr[12]));
|
|
ctx.fpr[13] = std::bit_cast<float>(aot_mem.aot_load32(ctx.gpr[4] + static_cast<std::uint32_t>(0)));
|
|
ctx.gpr[31] = (0x0894C288u);
|
|
ctx.fpr[12] = std::bit_cast<float>(aot_mem.aot_load32(ctx.gpr[4] + static_cast<std::uint32_t>(4)));
|
|
if (rt.invoke_chained_direct<&recomp_unit_0117_entry, 117u, 288u, 0x089D96E8u>(ctx, &aot_mem) && ctx.pc == 0x0894C288u) goto L_0894C288;
|
|
return;
|
|
L_0894C288:
|
|
ctx.gpr[4] = (2276u << 16u);
|
|
ctx.fpr[12] = std::bit_cast<float>(std::bit_cast<std::uint32_t>(ctx.fpr[0]));
|
|
ctx.fpr[22] = std::bit_cast<float>(0u);
|
|
ctx.gpr[4] = (ctx.gpr[4] + static_cast<std::uint32_t>(-28216));
|
|
aot_mem.aot_store8(ctx.gpr[29] + static_cast<std::uint32_t>(104), static_cast<std::uint8_t>(ctx.gpr[18]));
|
|
ctx.set_fpu_condition((ctx.fpr[12] < ctx.fpr[22]));
|
|
// nop
|
|
{ const bool branch_taken = !ctx.fpu_condition();
|
|
aot_mem.aot_store32(ctx.gpr[29] + static_cast<std::uint32_t>(108), ctx.gpr[4]);
|
|
if (branch_taken) {
|
|
goto L_0894C2BC;
|
|
}
|
|
goto L_0894C2AC;
|
|
}
|
|
L_0894C2AC:
|
|
ctx.gpr[4] = (16585u << 16u);
|
|
ctx.gpr[4] = (ctx.gpr[4] | 4059u);
|
|
ctx.fpr[13] = std::bit_cast<float>(ctx.gpr[4]);
|
|
ctx.fpr[12] = ctx.fpr[12] + ctx.fpr[13];
|
|
goto L_0894C2BC;
|
|
L_0894C2BC:
|
|
ctx.gpr[4] = (2232u << 16u);
|
|
ctx.fpr[26] = std::bit_cast<float>(std::bit_cast<std::uint32_t>(ctx.fpr[22]));
|
|
ctx.gpr[5] = (ctx.gpr[16] + static_cast<std::uint32_t>(48));
|
|
ctx.fpr[22] = std::bit_cast<float>(std::bit_cast<std::uint32_t>(ctx.fpr[12]));
|
|
aot_mem.aot_store32(ctx.gpr[29] + static_cast<std::uint32_t>(100), ctx.gpr[16]);
|
|
ctx.gpr[4] = (ctx.gpr[4] + static_cast<std::uint32_t>(12960));
|
|
ctx.fpr[13] = std::bit_cast<float>(aot_mem.aot_load32(ctx.gpr[5] + static_cast<std::uint32_t>(0)));
|
|
ctx.gpr[4] = (ctx.gpr[4] + static_cast<std::uint32_t>(48));
|
|
ctx.fpr[14] = std::bit_cast<float>(aot_mem.aot_load32(ctx.gpr[4] + static_cast<std::uint32_t>(0)));
|
|
ctx.fpr[12] = std::bit_cast<float>(aot_mem.aot_load32(ctx.gpr[5] + static_cast<std::uint32_t>(4)));
|
|
ctx.fpr[15] = std::bit_cast<float>(aot_mem.aot_load32(ctx.gpr[4] + static_cast<std::uint32_t>(4)));
|
|
ctx.fpr[13] = ctx.fpr[13] - ctx.fpr[14];
|
|
ctx.gpr[31] = (0x0894C2F4u);
|
|
ctx.fpr[12] = ctx.fpr[12] - ctx.fpr[15];
|
|
if (rt.invoke_chained_direct<&recomp_unit_0117_entry, 117u, 288u, 0x089D96E8u>(ctx, &aot_mem) && ctx.pc == 0x0894C2F4u) goto L_0894C2F4;
|
|
return;
|
|
L_0894C2F4:
|
|
ctx.fpr[24] = std::bit_cast<float>(std::bit_cast<std::uint32_t>(ctx.fpr[0]));
|
|
ctx.set_fpu_condition((ctx.fpr[24] < ctx.fpr[26]));
|
|
// nop
|
|
{ const bool branch_taken = !ctx.fpu_condition();
|
|
ctx.gpr[4] = (16585u << 16u);
|
|
if (branch_taken) {
|
|
goto L_0894C314;
|
|
}
|
|
goto L_0894C308;
|
|
}
|
|
L_0894C308:
|
|
ctx.gpr[4] = (ctx.gpr[4] | 4059u);
|
|
ctx.fpr[12] = std::bit_cast<float>(ctx.gpr[4]);
|
|
ctx.fpr[24] = ctx.fpr[24] + ctx.fpr[12];
|
|
goto L_0894C314;
|
|
L_0894C314:
|
|
ctx.gpr[4] = (2229u << 16u);
|
|
ctx.gpr[21] = (aot_mem.aot_load32(ctx.gpr[4] + static_cast<std::uint32_t>(-15316)));
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[21] + static_cast<std::uint32_t>(8)));
|
|
ctx.gpr[18] = (ctx.gpr[4] + static_cast<std::uint32_t>(-1));
|
|
{ const bool branch_taken = ctx.gpr[4] == 0u;
|
|
ctx.gpr[22] = (ctx.gpr[18] | 0u);
|
|
if (branch_taken) {
|
|
goto L_0894C488;
|
|
}
|
|
goto L_0894C32C;
|
|
}
|
|
L_0894C32C:
|
|
ctx.gpr[4] = (0u + static_cast<std::uint32_t>(3248));
|
|
{ const std::int64_t product = static_cast<std::int64_t>(static_cast<std::int32_t>(ctx.gpr[18])) * static_cast<std::int64_t>(static_cast<std::int32_t>(ctx.gpr[4])); ctx.lo = static_cast<std::uint32_t>(product); ctx.hi = static_cast<std::uint32_t>(static_cast<std::uint64_t>(product) >> 32u); }
|
|
ctx.gpr[20] = (ctx.gpr[29] + static_cast<std::uint32_t>(64));
|
|
ctx.gpr[30] = (ctx.gpr[29] + static_cast<std::uint32_t>(52));
|
|
ctx.gpr[23] = (ctx.gpr[29] + static_cast<std::uint32_t>(48));
|
|
ctx.gpr[19] = (ctx.lo);
|
|
goto L_0894C344;
|
|
L_0894C344:
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[21] + static_cast<std::uint32_t>(4)));
|
|
ctx.gpr[4] = (ctx.gpr[4] + ctx.gpr[18]);
|
|
ctx.gpr[4] = (aot_mem.aot_load8(ctx.gpr[4] + static_cast<std::uint32_t>(0)));
|
|
ctx.gpr[4] = (ctx.gpr[4] & 128u);
|
|
if (ctx.gpr[4] == 0u) {
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[21] + static_cast<std::uint32_t>(0)));
|
|
goto L_0894C364;
|
|
}
|
|
goto L_0894C35C;
|
|
L_0894C35C:
|
|
{ const bool branch_taken = 0u == 0u;
|
|
ctx.gpr[4] = (0u | 0u);
|
|
if (branch_taken) {
|
|
goto L_0894C368;
|
|
}
|
|
goto L_0894C364;
|
|
}
|
|
L_0894C364:
|
|
ctx.gpr[4] = (ctx.gpr[4] + ctx.gpr[19]);
|
|
goto L_0894C368;
|
|
L_0894C368:
|
|
ctx.gpr[16] = (ctx.gpr[4] | 0u);
|
|
{ const bool branch_taken = ctx.gpr[16] == 0u;
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_0894C474;
|
|
}
|
|
goto L_0894C374;
|
|
}
|
|
L_0894C374:
|
|
{ const bool branch_taken = ctx.gpr[4] == ctx.gpr[17];
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_0894C474;
|
|
}
|
|
goto L_0894C37C;
|
|
}
|
|
L_0894C37C:
|
|
ctx.gpr[5] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast<std::uint32_t>(100)));
|
|
{ const bool branch_taken = ctx.gpr[4] == ctx.gpr[5];
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_0894C474;
|
|
}
|
|
goto L_0894C388;
|
|
}
|
|
L_0894C388:
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast<std::uint32_t>(844)));
|
|
ctx.gpr[5] = (0u | 54u);
|
|
{ const bool branch_taken = ctx.gpr[4] == ctx.gpr[5];
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_0894C474;
|
|
}
|
|
goto L_0894C398;
|
|
}
|
|
L_0894C398:
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast<std::uint32_t>(844)));
|
|
ctx.gpr[5] = (0u | 55u);
|
|
{ const bool branch_taken = ctx.gpr[4] == ctx.gpr[5];
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_0894C474;
|
|
}
|
|
goto L_0894C3A8;
|
|
}
|
|
L_0894C3A8:
|
|
ctx.gpr[4] = (aot_mem.aot_load8(ctx.gpr[16] + static_cast<std::uint32_t>(1336)));
|
|
if (ctx.gpr[4] == 0u) {
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast<std::uint32_t>(628)));
|
|
goto L_0894C3D8;
|
|
}
|
|
goto L_0894C3B4;
|
|
L_0894C3B4:
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast<std::uint32_t>(1332)));
|
|
{ const bool branch_taken = ctx.gpr[4] == 0u;
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_0894C474;
|
|
}
|
|
goto L_0894C3C0;
|
|
}
|
|
L_0894C3C0:
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast<std::uint32_t>(1332)));
|
|
ctx.gpr[5] = (0u | 5u);
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[4] + static_cast<std::uint32_t>(836)));
|
|
{ const bool branch_taken = ctx.gpr[4] != ctx.gpr[5];
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_0894C474;
|
|
}
|
|
goto L_0894C3D4;
|
|
}
|
|
L_0894C3D4:
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast<std::uint32_t>(628)));
|
|
goto L_0894C3D8;
|
|
L_0894C3D8:
|
|
{ const bool branch_taken = ctx.gpr[4] == ctx.gpr[17];
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_0894C474;
|
|
}
|
|
goto L_0894C3E0;
|
|
}
|
|
L_0894C3E0:
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast<std::uint32_t>(416)));
|
|
ctx.gpr[4] = (ctx.gpr[4] & 2u);
|
|
{ const bool branch_taken = ctx.gpr[4] != 0u;
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_0894C474;
|
|
}
|
|
goto L_0894C3F0;
|
|
}
|
|
L_0894C3F0:
|
|
ctx.gpr[4] = (ctx.gpr[17] | 0u);
|
|
ctx.gpr[5] = (ctx.gpr[16] | 0u);
|
|
ctx.gpr[31] = (0x0894C400u);
|
|
ctx.gpr[6] = (0u | 1u);
|
|
if (rt.invoke_chained_direct<&recomp_unit_0102_entry, 102u, 310u, 0x0899DDECu>(ctx, &aot_mem) && ctx.pc == 0x0894C400u) goto L_0894C400;
|
|
return;
|
|
L_0894C400:
|
|
{ const bool branch_taken = ctx.gpr[2] == 0u;
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_0894C474;
|
|
}
|
|
goto L_0894C408;
|
|
}
|
|
L_0894C408:
|
|
ctx.gpr[4] = (ctx.gpr[16] + static_cast<std::uint32_t>(48));
|
|
{ const std::uint32_t vfpu_address = ctx.gpr[4] + static_cast<std::uint32_t>(0);
|
|
float vfpu_value[4]{
|
|
std::bit_cast<float>(aot_mem.aot_load32(vfpu_address + 0u)),
|
|
std::bit_cast<float>(aot_mem.aot_load32(vfpu_address + 4u)),
|
|
std::bit_cast<float>(aot_mem.aot_load32(vfpu_address + 8u)),
|
|
std::bit_cast<float>(aot_mem.aot_load32(vfpu_address + 12u))};
|
|
ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); }
|
|
{ float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value);
|
|
const std::uint32_t vfpu_address = ctx.gpr[20] + static_cast<std::uint32_t>(0);
|
|
aot_mem.aot_store32(vfpu_address + 0u, std::bit_cast<std::uint32_t>(vfpu_value[0]));
|
|
aot_mem.aot_store32(vfpu_address + 4u, std::bit_cast<std::uint32_t>(vfpu_value[1]));
|
|
aot_mem.aot_store32(vfpu_address + 8u, std::bit_cast<std::uint32_t>(vfpu_value[2]));
|
|
aot_mem.aot_store32(vfpu_address + 12u, std::bit_cast<std::uint32_t>(vfpu_value[3])); }
|
|
ctx.gpr[4] = (static_cast<std::uint32_t>(static_cast<std::int32_t>(static_cast<std::int8_t>(aot_mem.aot_load8(ctx.gpr[17] + static_cast<std::uint32_t>(1720))))));
|
|
ctx.gpr[5] = (ctx.gpr[4] << 5u);
|
|
ctx.gpr[4] = (ctx.gpr[4] << 2u);
|
|
ctx.gpr[4] = (ctx.gpr[5] - ctx.gpr[4]);
|
|
ctx.gpr[6] = (ctx.gpr[17] + ctx.gpr[4]);
|
|
ctx.gpr[6] = (ctx.gpr[6] + static_cast<std::uint32_t>(1428));
|
|
ctx.gpr[4] = (ctx.gpr[17] | 0u);
|
|
ctx.gpr[5] = (ctx.gpr[20] | 0u);
|
|
ctx.gpr[31] = (0x0894C43Cu);
|
|
ctx.gpr[7] = (0u | 1u);
|
|
if (rt.invoke_chained_direct<&recomp_unit_0080_entry, 80u, 251u, 0x08945118u>(ctx, &aot_mem) && ctx.pc == 0x0894C43Cu) goto L_0894C43C;
|
|
return;
|
|
L_0894C43C:
|
|
{ const bool branch_taken = ctx.gpr[2] == 0u;
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_0894C474;
|
|
}
|
|
goto L_0894C444;
|
|
}
|
|
L_0894C444:
|
|
ctx.gpr[4] = (ctx.gpr[17] | 0u);
|
|
ctx.gpr[31] = (0x0894C450u);
|
|
ctx.gpr[5] = (ctx.gpr[16] | 0u);
|
|
if (rt.invoke_chained_direct<&recomp_unit_0080_entry, 80u, 149u, 0x08944AC8u>(ctx, &aot_mem) && ctx.pc == 0x0894C450u) goto L_0894C450;
|
|
return;
|
|
L_0894C450:
|
|
ctx.gpr[4] = (ctx.gpr[17] | 0u);
|
|
ctx.fpr[12] = std::bit_cast<float>(std::bit_cast<std::uint32_t>(ctx.fpr[20]));
|
|
ctx.gpr[5] = (ctx.gpr[16] | 0u);
|
|
ctx.fpr[13] = std::bit_cast<float>(std::bit_cast<std::uint32_t>(ctx.fpr[24]));
|
|
ctx.gpr[6] = (ctx.gpr[30] | 0u);
|
|
ctx.gpr[7] = (ctx.gpr[23] | 0u);
|
|
ctx.gpr[8] = (aot_mem.aot_load8(ctx.gpr[29] + static_cast<std::uint32_t>(104)));
|
|
ctx.gpr[31] = (0x0894C474u);
|
|
ctx.gpr[9] = (ctx.gpr[2] | 0u);
|
|
if (rt.invoke_chained_direct<&recomp_unit_0080_entry, 80u, 109u, 0x089447E4u>(ctx, &aot_mem) && ctx.pc == 0x0894C474u) goto L_0894C474;
|
|
return;
|
|
L_0894C474:
|
|
ctx.gpr[4] = (ctx.gpr[18] | 0u);
|
|
ctx.gpr[18] = (ctx.gpr[22] + static_cast<std::uint32_t>(-1));
|
|
ctx.gpr[22] = (ctx.gpr[18] | 0u);
|
|
{ const bool branch_taken = ctx.gpr[4] != 0u;
|
|
ctx.gpr[19] = (ctx.gpr[19] + static_cast<std::uint32_t>(-3248));
|
|
if (branch_taken) {
|
|
goto L_0894C344;
|
|
}
|
|
goto L_0894C488;
|
|
}
|
|
L_0894C488:
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast<std::uint32_t>(108)));
|
|
ctx.gpr[5] = (2276u << 16u);
|
|
ctx.gpr[18] = (aot_mem.aot_load32(ctx.gpr[5] + static_cast<std::uint32_t>(-28216)));
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[4] + static_cast<std::uint32_t>(4)));
|
|
{ const bool branch_taken = ctx.gpr[18] == ctx.gpr[4];
|
|
ctx.gpr[22] = (ctx.gpr[29] + static_cast<std::uint32_t>(96));
|
|
if (branch_taken) {
|
|
goto L_0894C618;
|
|
}
|
|
goto L_0894C4A0;
|
|
}
|
|
L_0894C4A0:
|
|
ctx.gpr[21] = (ctx.gpr[29] + static_cast<std::uint32_t>(97));
|
|
ctx.gpr[20] = (ctx.gpr[29] + static_cast<std::uint32_t>(98));
|
|
ctx.gpr[19] = (ctx.gpr[29] + static_cast<std::uint32_t>(80));
|
|
ctx.gpr[30] = (ctx.gpr[29] + static_cast<std::uint32_t>(52));
|
|
ctx.gpr[23] = (ctx.gpr[29] + static_cast<std::uint32_t>(48));
|
|
goto L_0894C4B4;
|
|
L_0894C4B4:
|
|
ctx.gpr[16] = (aot_mem.aot_load32(ctx.gpr[18] + static_cast<std::uint32_t>(0)));
|
|
{ const bool branch_taken = ctx.gpr[16] == 0u;
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_0894C604;
|
|
}
|
|
goto L_0894C4C0;
|
|
}
|
|
L_0894C4C0:
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast<std::uint32_t>(112)));
|
|
ctx.gpr[5] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast<std::uint32_t>(100)));
|
|
{ const bool branch_taken = ctx.gpr[4] == ctx.gpr[5];
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_0894C604;
|
|
}
|
|
goto L_0894C4D0;
|
|
}
|
|
L_0894C4D0:
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast<std::uint32_t>(96)));
|
|
if (ctx.gpr[4] != 0u) {
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast<std::uint32_t>(96)));
|
|
goto L_0894C4FC;
|
|
}
|
|
goto L_0894C4DC;
|
|
L_0894C4DC:
|
|
ctx.gpr[5] = (static_cast<std::uint32_t>(static_cast<std::int32_t>(static_cast<std::int16_t>(aot_mem.aot_load16(ctx.gpr[16] + static_cast<std::uint32_t>(10))))));
|
|
ctx.gpr[4] = (ctx.gpr[16] | 0u);
|
|
ctx.gpr[31] = (0x0894C4ECu);
|
|
ctx.gpr[6] = (ctx.gpr[22] | 0u);
|
|
if (rt.invoke_chained_direct<&recomp_unit_0176_entry, 176u, 222u, 0x08AC5938u>(ctx, &aot_mem) && ctx.pc == 0x0894C4ECu) goto L_0894C4EC;
|
|
return;
|
|
L_0894C4EC:
|
|
aot_mem.aot_store32(ctx.gpr[16] + static_cast<std::uint32_t>(96), ctx.gpr[2]);
|
|
ctx.gpr[4] = (aot_mem.aot_load8(ctx.gpr[29] + static_cast<std::uint32_t>(96)));
|
|
aot_mem.aot_store8(ctx.gpr[16] + static_cast<std::uint32_t>(4), static_cast<std::uint8_t>(ctx.gpr[4]));
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast<std::uint32_t>(96)));
|
|
goto L_0894C4FC;
|
|
L_0894C4FC:
|
|
ctx.gpr[5] = (0u | 54u);
|
|
ctx.gpr[4] = (aot_mem.aot_load8(ctx.gpr[4] + static_cast<std::uint32_t>(180)));
|
|
{ const bool branch_taken = ctx.gpr[4] == ctx.gpr[5];
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_0894C604;
|
|
}
|
|
goto L_0894C50C;
|
|
}
|
|
L_0894C50C:
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast<std::uint32_t>(96)));
|
|
if (ctx.gpr[4] != 0u) {
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast<std::uint32_t>(96)));
|
|
goto L_0894C538;
|
|
}
|
|
goto L_0894C518;
|
|
L_0894C518:
|
|
ctx.gpr[5] = (static_cast<std::uint32_t>(static_cast<std::int32_t>(static_cast<std::int16_t>(aot_mem.aot_load16(ctx.gpr[16] + static_cast<std::uint32_t>(10))))));
|
|
ctx.gpr[4] = (ctx.gpr[16] | 0u);
|
|
ctx.gpr[31] = (0x0894C528u);
|
|
ctx.gpr[6] = (ctx.gpr[21] | 0u);
|
|
if (rt.invoke_chained_direct<&recomp_unit_0176_entry, 176u, 222u, 0x08AC5938u>(ctx, &aot_mem) && ctx.pc == 0x0894C528u) goto L_0894C528;
|
|
return;
|
|
L_0894C528:
|
|
aot_mem.aot_store32(ctx.gpr[16] + static_cast<std::uint32_t>(96), ctx.gpr[2]);
|
|
ctx.gpr[4] = (aot_mem.aot_load8(ctx.gpr[29] + static_cast<std::uint32_t>(97)));
|
|
aot_mem.aot_store8(ctx.gpr[16] + static_cast<std::uint32_t>(4), static_cast<std::uint8_t>(ctx.gpr[4]));
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast<std::uint32_t>(96)));
|
|
goto L_0894C538;
|
|
L_0894C538:
|
|
ctx.gpr[5] = (0u | 55u);
|
|
ctx.gpr[4] = (aot_mem.aot_load8(ctx.gpr[4] + static_cast<std::uint32_t>(180)));
|
|
{ const bool branch_taken = ctx.gpr[4] == ctx.gpr[5];
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_0894C604;
|
|
}
|
|
goto L_0894C548;
|
|
}
|
|
L_0894C548:
|
|
ctx.gpr[31] = (0x0894C550u);
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast<std::uint32_t>(112)));
|
|
if (rt.invoke_chained_direct<&recomp_unit_0138_entry, 138u, 751u, 0x08A2F85Cu>(ctx, &aot_mem) && ctx.pc == 0x0894C550u) goto L_0894C550;
|
|
return;
|
|
L_0894C550:
|
|
{ const bool branch_taken = ctx.gpr[2] != 0u;
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_0894C5D8;
|
|
}
|
|
goto L_0894C558;
|
|
}
|
|
L_0894C558:
|
|
ctx.gpr[5] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast<std::uint32_t>(112)));
|
|
ctx.gpr[4] = (ctx.gpr[17] | 0u);
|
|
ctx.gpr[31] = (0x0894C568u);
|
|
ctx.gpr[6] = (0u | 1u);
|
|
if (rt.invoke_chained_direct<&recomp_unit_0102_entry, 102u, 310u, 0x0899DDECu>(ctx, &aot_mem) && ctx.pc == 0x0894C568u) goto L_0894C568;
|
|
return;
|
|
L_0894C568:
|
|
{ const bool branch_taken = ctx.gpr[2] == 0u;
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_0894C604;
|
|
}
|
|
goto L_0894C570;
|
|
}
|
|
L_0894C570:
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast<std::uint32_t>(96)));
|
|
if (ctx.gpr[4] != 0u) {
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast<std::uint32_t>(96)));
|
|
goto L_0894C59C;
|
|
}
|
|
goto L_0894C57C;
|
|
L_0894C57C:
|
|
ctx.gpr[5] = (static_cast<std::uint32_t>(static_cast<std::int32_t>(static_cast<std::int16_t>(aot_mem.aot_load16(ctx.gpr[16] + static_cast<std::uint32_t>(10))))));
|
|
ctx.gpr[4] = (ctx.gpr[16] | 0u);
|
|
ctx.gpr[31] = (0x0894C58Cu);
|
|
ctx.gpr[6] = (ctx.gpr[20] | 0u);
|
|
if (rt.invoke_chained_direct<&recomp_unit_0176_entry, 176u, 222u, 0x08AC5938u>(ctx, &aot_mem) && ctx.pc == 0x0894C58Cu) goto L_0894C58C;
|
|
return;
|
|
L_0894C58C:
|
|
aot_mem.aot_store32(ctx.gpr[16] + static_cast<std::uint32_t>(96), ctx.gpr[2]);
|
|
ctx.gpr[4] = (aot_mem.aot_load8(ctx.gpr[29] + static_cast<std::uint32_t>(98)));
|
|
aot_mem.aot_store8(ctx.gpr[16] + static_cast<std::uint32_t>(4), static_cast<std::uint8_t>(ctx.gpr[4]));
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast<std::uint32_t>(96)));
|
|
goto L_0894C59C;
|
|
L_0894C59C:
|
|
ctx.gpr[4] = (ctx.gpr[4] + static_cast<std::uint32_t>(64));
|
|
{ const std::uint32_t vfpu_address = ctx.gpr[4] + static_cast<std::uint32_t>(0);
|
|
float vfpu_value[4]{
|
|
std::bit_cast<float>(aot_mem.aot_load32(vfpu_address + 0u)),
|
|
std::bit_cast<float>(aot_mem.aot_load32(vfpu_address + 4u)),
|
|
std::bit_cast<float>(aot_mem.aot_load32(vfpu_address + 8u)),
|
|
std::bit_cast<float>(aot_mem.aot_load32(vfpu_address + 12u))};
|
|
ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); }
|
|
{ float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value);
|
|
const std::uint32_t vfpu_address = ctx.gpr[19] + static_cast<std::uint32_t>(0);
|
|
aot_mem.aot_store32(vfpu_address + 0u, std::bit_cast<std::uint32_t>(vfpu_value[0]));
|
|
aot_mem.aot_store32(vfpu_address + 4u, std::bit_cast<std::uint32_t>(vfpu_value[1]));
|
|
aot_mem.aot_store32(vfpu_address + 8u, std::bit_cast<std::uint32_t>(vfpu_value[2]));
|
|
aot_mem.aot_store32(vfpu_address + 12u, std::bit_cast<std::uint32_t>(vfpu_value[3])); }
|
|
ctx.gpr[4] = (static_cast<std::uint32_t>(static_cast<std::int32_t>(static_cast<std::int8_t>(aot_mem.aot_load8(ctx.gpr[17] + static_cast<std::uint32_t>(1720))))));
|
|
ctx.gpr[5] = (ctx.gpr[4] << 5u);
|
|
ctx.gpr[4] = (ctx.gpr[4] << 2u);
|
|
ctx.gpr[4] = (ctx.gpr[5] - ctx.gpr[4]);
|
|
ctx.gpr[6] = (ctx.gpr[17] + ctx.gpr[4]);
|
|
ctx.gpr[6] = (ctx.gpr[6] + static_cast<std::uint32_t>(1428));
|
|
ctx.gpr[4] = (ctx.gpr[17] | 0u);
|
|
ctx.gpr[5] = (ctx.gpr[19] | 0u);
|
|
ctx.gpr[31] = (0x0894C5D0u);
|
|
ctx.gpr[7] = (0u | 1u);
|
|
if (rt.invoke_chained_direct<&recomp_unit_0080_entry, 80u, 251u, 0x08945118u>(ctx, &aot_mem) && ctx.pc == 0x0894C5D0u) goto L_0894C5D0;
|
|
return;
|
|
L_0894C5D0:
|
|
{ const bool branch_taken = ctx.gpr[2] == 0u;
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_0894C604;
|
|
}
|
|
goto L_0894C5D8;
|
|
}
|
|
L_0894C5D8:
|
|
ctx.gpr[31] = (0x0894C5E0u);
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast<std::uint32_t>(112)));
|
|
if (rt.invoke_chained_direct<&recomp_unit_0138_entry, 138u, 751u, 0x08A2F85Cu>(ctx, &aot_mem) && ctx.pc == 0x0894C5E0u) goto L_0894C5E0;
|
|
return;
|
|
L_0894C5E0:
|
|
ctx.gpr[5] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast<std::uint32_t>(112)));
|
|
ctx.fpr[12] = std::bit_cast<float>(std::bit_cast<std::uint32_t>(ctx.fpr[20]));
|
|
ctx.gpr[4] = (ctx.gpr[17] | 0u);
|
|
ctx.fpr[13] = std::bit_cast<float>(std::bit_cast<std::uint32_t>(ctx.fpr[22]));
|
|
ctx.gpr[6] = (ctx.gpr[30] | 0u);
|
|
ctx.gpr[7] = (ctx.gpr[23] | 0u);
|
|
ctx.gpr[8] = (aot_mem.aot_load8(ctx.gpr[29] + static_cast<std::uint32_t>(104)));
|
|
ctx.gpr[31] = (0x0894C604u);
|
|
ctx.gpr[9] = (ctx.gpr[2] | 0u);
|
|
if (rt.invoke_chained_direct<&recomp_unit_0080_entry, 80u, 109u, 0x089447E4u>(ctx, &aot_mem) && ctx.pc == 0x0894C604u) goto L_0894C604;
|
|
return;
|
|
L_0894C604:
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast<std::uint32_t>(108)));
|
|
ctx.gpr[18] = (ctx.gpr[18] + static_cast<std::uint32_t>(4));
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[4] + static_cast<std::uint32_t>(4)));
|
|
{ const bool branch_taken = ctx.gpr[18] != ctx.gpr[4];
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_0894C4B4;
|
|
}
|
|
goto L_0894C618;
|
|
}
|
|
L_0894C618:
|
|
ctx.gpr[5] = (aot_mem.aot_load32(ctx.gpr[17] + static_cast<std::uint32_t>(2972)));
|
|
ctx.gpr[4] = (2229u << 16u);
|
|
ctx.gpr[31] = (0x0894C628u);
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[4] + static_cast<std::uint32_t>(-15300)));
|
|
if (rt.invoke_chained_direct<&recomp_unit_0189_entry, 189u, 832u, 0x08AFB9BCu>(ctx, &aot_mem) && ctx.pc == 0x0894C628u) goto L_0894C628;
|
|
return;
|
|
L_0894C628:
|
|
ctx.gpr[16] = (ctx.gpr[2] | 0u);
|
|
{ const bool branch_taken = ctx.gpr[16] == 0u;
|
|
ctx.gpr[18] = (aot_mem.aot_load8(ctx.gpr[29] + static_cast<std::uint32_t>(104)));
|
|
if (branch_taken) {
|
|
goto L_0894C6A4;
|
|
}
|
|
goto L_0894C634;
|
|
}
|
|
L_0894C634:
|
|
ctx.gpr[4] = (static_cast<std::uint32_t>(static_cast<std::int32_t>(static_cast<std::int8_t>(aot_mem.aot_load8(ctx.gpr[16] + static_cast<std::uint32_t>(421))))));
|
|
ctx.gpr[4] = (ctx.gpr[4] & 64u);
|
|
{ const bool branch_taken = ctx.gpr[4] != 0u;
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_0894C6A4;
|
|
}
|
|
goto L_0894C644;
|
|
}
|
|
L_0894C644:
|
|
ctx.gpr[4] = (ctx.gpr[16] + static_cast<std::uint32_t>(48));
|
|
{ const std::uint32_t vfpu_address = ctx.gpr[4] + static_cast<std::uint32_t>(0);
|
|
float vfpu_value[4]{
|
|
std::bit_cast<float>(aot_mem.aot_load32(vfpu_address + 0u)),
|
|
std::bit_cast<float>(aot_mem.aot_load32(vfpu_address + 4u)),
|
|
std::bit_cast<float>(aot_mem.aot_load32(vfpu_address + 8u)),
|
|
std::bit_cast<float>(aot_mem.aot_load32(vfpu_address + 12u))};
|
|
ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); }
|
|
ctx.gpr[5] = (ctx.gpr[29] + static_cast<std::uint32_t>(32));
|
|
{ float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value);
|
|
const std::uint32_t vfpu_address = ctx.gpr[5] + static_cast<std::uint32_t>(0);
|
|
aot_mem.aot_store32(vfpu_address + 0u, std::bit_cast<std::uint32_t>(vfpu_value[0]));
|
|
aot_mem.aot_store32(vfpu_address + 4u, std::bit_cast<std::uint32_t>(vfpu_value[1]));
|
|
aot_mem.aot_store32(vfpu_address + 8u, std::bit_cast<std::uint32_t>(vfpu_value[2]));
|
|
aot_mem.aot_store32(vfpu_address + 12u, std::bit_cast<std::uint32_t>(vfpu_value[3])); }
|
|
ctx.gpr[4] = (static_cast<std::uint32_t>(static_cast<std::int32_t>(static_cast<std::int8_t>(aot_mem.aot_load8(ctx.gpr[17] + static_cast<std::uint32_t>(1720))))));
|
|
ctx.gpr[6] = (ctx.gpr[4] << 5u);
|
|
ctx.gpr[4] = (ctx.gpr[4] << 2u);
|
|
ctx.gpr[4] = (ctx.gpr[6] - ctx.gpr[4]);
|
|
ctx.gpr[6] = (ctx.gpr[17] + ctx.gpr[4]);
|
|
ctx.gpr[6] = (ctx.gpr[6] + static_cast<std::uint32_t>(1428));
|
|
ctx.gpr[4] = (ctx.gpr[17] | 0u);
|
|
ctx.gpr[31] = (0x0894C678u);
|
|
ctx.gpr[7] = (0u | 1u);
|
|
if (rt.invoke_chained_direct<&recomp_unit_0080_entry, 80u, 251u, 0x08945118u>(ctx, &aot_mem) && ctx.pc == 0x0894C678u) goto L_0894C678;
|
|
return;
|
|
L_0894C678:
|
|
{ const bool branch_taken = ctx.gpr[2] == 0u;
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_0894C6A4;
|
|
}
|
|
goto L_0894C680;
|
|
}
|
|
L_0894C680:
|
|
ctx.gpr[6] = (ctx.gpr[29] + static_cast<std::uint32_t>(52));
|
|
ctx.fpr[12] = std::bit_cast<float>(std::bit_cast<std::uint32_t>(ctx.fpr[20]));
|
|
ctx.gpr[7] = (ctx.gpr[29] + static_cast<std::uint32_t>(48));
|
|
ctx.fpr[13] = std::bit_cast<float>(std::bit_cast<std::uint32_t>(ctx.fpr[24]));
|
|
ctx.gpr[4] = (ctx.gpr[17] | 0u);
|
|
ctx.gpr[5] = (ctx.gpr[16] | 0u);
|
|
ctx.gpr[8] = (ctx.gpr[18] | 0u);
|
|
ctx.gpr[31] = (0x0894C6A4u);
|
|
ctx.gpr[9] = (0u | 1u);
|
|
if (rt.invoke_chained_direct<&recomp_unit_0080_entry, 80u, 109u, 0x089447E4u>(ctx, &aot_mem) && ctx.pc == 0x0894C6A4u) goto L_0894C6A4;
|
|
return;
|
|
L_0894C6A4:
|
|
ctx.gpr[5] = (aot_mem.aot_load32(ctx.gpr[17] + static_cast<std::uint32_t>(2976)));
|
|
ctx.gpr[4] = (2229u << 16u);
|
|
ctx.gpr[31] = (0x0894C6B4u);
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[4] + static_cast<std::uint32_t>(-15300)));
|
|
if (rt.invoke_chained_direct<&recomp_unit_0189_entry, 189u, 832u, 0x08AFB9BCu>(ctx, &aot_mem) && ctx.pc == 0x0894C6B4u) goto L_0894C6B4;
|
|
return;
|
|
L_0894C6B4:
|
|
ctx.gpr[16] = (ctx.gpr[2] | 0u);
|
|
{ const bool branch_taken = ctx.gpr[16] == 0u;
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_0894C730;
|
|
}
|
|
goto L_0894C6C0;
|
|
}
|
|
L_0894C6C0:
|
|
ctx.gpr[4] = (static_cast<std::uint32_t>(static_cast<std::int32_t>(static_cast<std::int8_t>(aot_mem.aot_load8(ctx.gpr[16] + static_cast<std::uint32_t>(421))))));
|
|
ctx.gpr[4] = (ctx.gpr[4] & 64u);
|
|
{ const bool branch_taken = ctx.gpr[4] != 0u;
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_0894C730;
|
|
}
|
|
goto L_0894C6D0;
|
|
}
|
|
L_0894C6D0:
|
|
ctx.gpr[4] = (ctx.gpr[16] + static_cast<std::uint32_t>(48));
|
|
{ const std::uint32_t vfpu_address = ctx.gpr[4] + static_cast<std::uint32_t>(0);
|
|
float vfpu_value[4]{
|
|
std::bit_cast<float>(aot_mem.aot_load32(vfpu_address + 0u)),
|
|
std::bit_cast<float>(aot_mem.aot_load32(vfpu_address + 4u)),
|
|
std::bit_cast<float>(aot_mem.aot_load32(vfpu_address + 8u)),
|
|
std::bit_cast<float>(aot_mem.aot_load32(vfpu_address + 12u))};
|
|
ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); }
|
|
ctx.gpr[5] = (ctx.gpr[29] + static_cast<std::uint32_t>(32));
|
|
{ float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value);
|
|
const std::uint32_t vfpu_address = ctx.gpr[5] + static_cast<std::uint32_t>(0);
|
|
aot_mem.aot_store32(vfpu_address + 0u, std::bit_cast<std::uint32_t>(vfpu_value[0]));
|
|
aot_mem.aot_store32(vfpu_address + 4u, std::bit_cast<std::uint32_t>(vfpu_value[1]));
|
|
aot_mem.aot_store32(vfpu_address + 8u, std::bit_cast<std::uint32_t>(vfpu_value[2]));
|
|
aot_mem.aot_store32(vfpu_address + 12u, std::bit_cast<std::uint32_t>(vfpu_value[3])); }
|
|
ctx.gpr[4] = (static_cast<std::uint32_t>(static_cast<std::int32_t>(static_cast<std::int8_t>(aot_mem.aot_load8(ctx.gpr[17] + static_cast<std::uint32_t>(1720))))));
|
|
ctx.gpr[6] = (ctx.gpr[4] << 5u);
|
|
ctx.gpr[4] = (ctx.gpr[4] << 2u);
|
|
ctx.gpr[4] = (ctx.gpr[6] - ctx.gpr[4]);
|
|
ctx.gpr[6] = (ctx.gpr[17] + ctx.gpr[4]);
|
|
ctx.gpr[6] = (ctx.gpr[6] + static_cast<std::uint32_t>(1428));
|
|
ctx.gpr[4] = (ctx.gpr[17] | 0u);
|
|
ctx.gpr[31] = (0x0894C704u);
|
|
ctx.gpr[7] = (0u | 1u);
|
|
if (rt.invoke_chained_direct<&recomp_unit_0080_entry, 80u, 251u, 0x08945118u>(ctx, &aot_mem) && ctx.pc == 0x0894C704u) goto L_0894C704;
|
|
return;
|
|
L_0894C704:
|
|
{ const bool branch_taken = ctx.gpr[2] == 0u;
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_0894C730;
|
|
}
|
|
goto L_0894C70C;
|
|
}
|
|
L_0894C70C:
|
|
ctx.gpr[6] = (ctx.gpr[29] + static_cast<std::uint32_t>(52));
|
|
ctx.fpr[12] = std::bit_cast<float>(std::bit_cast<std::uint32_t>(ctx.fpr[20]));
|
|
ctx.gpr[7] = (ctx.gpr[29] + static_cast<std::uint32_t>(48));
|
|
ctx.fpr[13] = std::bit_cast<float>(std::bit_cast<std::uint32_t>(ctx.fpr[24]));
|
|
ctx.gpr[4] = (ctx.gpr[17] | 0u);
|
|
ctx.gpr[5] = (ctx.gpr[16] | 0u);
|
|
ctx.gpr[8] = (ctx.gpr[18] | 0u);
|
|
ctx.gpr[31] = (0x0894C730u);
|
|
ctx.gpr[9] = (0u | 1u);
|
|
if (rt.invoke_chained_direct<&recomp_unit_0080_entry, 80u, 109u, 0x089447E4u>(ctx, &aot_mem) && ctx.pc == 0x0894C730u) goto L_0894C730;
|
|
return;
|
|
L_0894C730:
|
|
ctx.gpr[5] = (aot_mem.aot_load32(ctx.gpr[17] + static_cast<std::uint32_t>(2980)));
|
|
ctx.gpr[4] = (2229u << 16u);
|
|
ctx.gpr[31] = (0x0894C740u);
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[4] + static_cast<std::uint32_t>(-15300)));
|
|
if (rt.invoke_chained_direct<&recomp_unit_0189_entry, 189u, 832u, 0x08AFB9BCu>(ctx, &aot_mem) && ctx.pc == 0x0894C740u) goto L_0894C740;
|
|
return;
|
|
L_0894C740:
|
|
ctx.gpr[16] = (ctx.gpr[2] | 0u);
|
|
{ const bool branch_taken = ctx.gpr[16] == 0u;
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_0894C7BC;
|
|
}
|
|
goto L_0894C74C;
|
|
}
|
|
L_0894C74C:
|
|
ctx.gpr[4] = (static_cast<std::uint32_t>(static_cast<std::int32_t>(static_cast<std::int8_t>(aot_mem.aot_load8(ctx.gpr[16] + static_cast<std::uint32_t>(421))))));
|
|
ctx.gpr[4] = (ctx.gpr[4] & 64u);
|
|
{ const bool branch_taken = ctx.gpr[4] != 0u;
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_0894C7BC;
|
|
}
|
|
goto L_0894C75C;
|
|
}
|
|
L_0894C75C:
|
|
ctx.gpr[4] = (ctx.gpr[16] + static_cast<std::uint32_t>(48));
|
|
{ const std::uint32_t vfpu_address = ctx.gpr[4] + static_cast<std::uint32_t>(0);
|
|
float vfpu_value[4]{
|
|
std::bit_cast<float>(aot_mem.aot_load32(vfpu_address + 0u)),
|
|
std::bit_cast<float>(aot_mem.aot_load32(vfpu_address + 4u)),
|
|
std::bit_cast<float>(aot_mem.aot_load32(vfpu_address + 8u)),
|
|
std::bit_cast<float>(aot_mem.aot_load32(vfpu_address + 12u))};
|
|
ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); }
|
|
ctx.gpr[5] = (ctx.gpr[29] + static_cast<std::uint32_t>(32));
|
|
{ float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value);
|
|
const std::uint32_t vfpu_address = ctx.gpr[5] + static_cast<std::uint32_t>(0);
|
|
aot_mem.aot_store32(vfpu_address + 0u, std::bit_cast<std::uint32_t>(vfpu_value[0]));
|
|
aot_mem.aot_store32(vfpu_address + 4u, std::bit_cast<std::uint32_t>(vfpu_value[1]));
|
|
aot_mem.aot_store32(vfpu_address + 8u, std::bit_cast<std::uint32_t>(vfpu_value[2]));
|
|
aot_mem.aot_store32(vfpu_address + 12u, std::bit_cast<std::uint32_t>(vfpu_value[3])); }
|
|
ctx.gpr[4] = (static_cast<std::uint32_t>(static_cast<std::int32_t>(static_cast<std::int8_t>(aot_mem.aot_load8(ctx.gpr[17] + static_cast<std::uint32_t>(1720))))));
|
|
ctx.gpr[6] = (ctx.gpr[4] << 5u);
|
|
ctx.gpr[4] = (ctx.gpr[4] << 2u);
|
|
ctx.gpr[4] = (ctx.gpr[6] - ctx.gpr[4]);
|
|
ctx.gpr[6] = (ctx.gpr[17] + ctx.gpr[4]);
|
|
ctx.gpr[6] = (ctx.gpr[6] + static_cast<std::uint32_t>(1428));
|
|
ctx.gpr[4] = (ctx.gpr[17] | 0u);
|
|
ctx.gpr[31] = (0x0894C790u);
|
|
ctx.gpr[7] = (0u | 1u);
|
|
if (rt.invoke_chained_direct<&recomp_unit_0080_entry, 80u, 251u, 0x08945118u>(ctx, &aot_mem) && ctx.pc == 0x0894C790u) goto L_0894C790;
|
|
return;
|
|
L_0894C790:
|
|
{ const bool branch_taken = ctx.gpr[2] == 0u;
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_0894C7BC;
|
|
}
|
|
goto L_0894C798;
|
|
}
|
|
L_0894C798:
|
|
ctx.gpr[6] = (ctx.gpr[29] + static_cast<std::uint32_t>(52));
|
|
ctx.fpr[12] = std::bit_cast<float>(std::bit_cast<std::uint32_t>(ctx.fpr[20]));
|
|
ctx.gpr[7] = (ctx.gpr[29] + static_cast<std::uint32_t>(48));
|
|
ctx.fpr[13] = std::bit_cast<float>(std::bit_cast<std::uint32_t>(ctx.fpr[24]));
|
|
ctx.gpr[4] = (ctx.gpr[17] | 0u);
|
|
ctx.gpr[5] = (ctx.gpr[16] | 0u);
|
|
ctx.gpr[8] = (ctx.gpr[18] | 0u);
|
|
ctx.gpr[31] = (0x0894C7BCu);
|
|
ctx.gpr[9] = (0u | 1u);
|
|
if (rt.invoke_chained_direct<&recomp_unit_0080_entry, 80u, 109u, 0x089447E4u>(ctx, &aot_mem) && ctx.pc == 0x0894C7BCu) goto L_0894C7BC;
|
|
return;
|
|
L_0894C7BC:
|
|
ctx.gpr[5] = (aot_mem.aot_load32(ctx.gpr[17] + static_cast<std::uint32_t>(2984)));
|
|
ctx.gpr[4] = (2229u << 16u);
|
|
ctx.gpr[31] = (0x0894C7CCu);
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[4] + static_cast<std::uint32_t>(-15300)));
|
|
if (rt.invoke_chained_direct<&recomp_unit_0189_entry, 189u, 832u, 0x08AFB9BCu>(ctx, &aot_mem) && ctx.pc == 0x0894C7CCu) goto L_0894C7CC;
|
|
return;
|
|
L_0894C7CC:
|
|
ctx.gpr[16] = (ctx.gpr[2] | 0u);
|
|
{ const bool branch_taken = ctx.gpr[16] == 0u;
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_0894C848;
|
|
}
|
|
goto L_0894C7D8;
|
|
}
|
|
L_0894C7D8:
|
|
ctx.gpr[4] = (static_cast<std::uint32_t>(static_cast<std::int32_t>(static_cast<std::int8_t>(aot_mem.aot_load8(ctx.gpr[16] + static_cast<std::uint32_t>(421))))));
|
|
ctx.gpr[4] = (ctx.gpr[4] & 64u);
|
|
{ const bool branch_taken = ctx.gpr[4] != 0u;
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_0894C848;
|
|
}
|
|
goto L_0894C7E8;
|
|
}
|
|
L_0894C7E8:
|
|
ctx.gpr[4] = (ctx.gpr[16] + static_cast<std::uint32_t>(48));
|
|
{ const std::uint32_t vfpu_address = ctx.gpr[4] + static_cast<std::uint32_t>(0);
|
|
float vfpu_value[4]{
|
|
std::bit_cast<float>(aot_mem.aot_load32(vfpu_address + 0u)),
|
|
std::bit_cast<float>(aot_mem.aot_load32(vfpu_address + 4u)),
|
|
std::bit_cast<float>(aot_mem.aot_load32(vfpu_address + 8u)),
|
|
std::bit_cast<float>(aot_mem.aot_load32(vfpu_address + 12u))};
|
|
ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); }
|
|
ctx.gpr[5] = (ctx.gpr[29] + static_cast<std::uint32_t>(32));
|
|
{ float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value);
|
|
const std::uint32_t vfpu_address = ctx.gpr[5] + static_cast<std::uint32_t>(0);
|
|
aot_mem.aot_store32(vfpu_address + 0u, std::bit_cast<std::uint32_t>(vfpu_value[0]));
|
|
aot_mem.aot_store32(vfpu_address + 4u, std::bit_cast<std::uint32_t>(vfpu_value[1]));
|
|
aot_mem.aot_store32(vfpu_address + 8u, std::bit_cast<std::uint32_t>(vfpu_value[2]));
|
|
aot_mem.aot_store32(vfpu_address + 12u, std::bit_cast<std::uint32_t>(vfpu_value[3])); }
|
|
ctx.gpr[4] = (static_cast<std::uint32_t>(static_cast<std::int32_t>(static_cast<std::int8_t>(aot_mem.aot_load8(ctx.gpr[17] + static_cast<std::uint32_t>(1720))))));
|
|
ctx.gpr[6] = (ctx.gpr[4] << 5u);
|
|
ctx.gpr[4] = (ctx.gpr[4] << 2u);
|
|
ctx.gpr[4] = (ctx.gpr[6] - ctx.gpr[4]);
|
|
ctx.gpr[6] = (ctx.gpr[17] + ctx.gpr[4]);
|
|
ctx.gpr[6] = (ctx.gpr[6] + static_cast<std::uint32_t>(1428));
|
|
ctx.gpr[4] = (ctx.gpr[17] | 0u);
|
|
ctx.gpr[31] = (0x0894C81Cu);
|
|
ctx.gpr[7] = (0u | 1u);
|
|
if (rt.invoke_chained_direct<&recomp_unit_0080_entry, 80u, 251u, 0x08945118u>(ctx, &aot_mem) && ctx.pc == 0x0894C81Cu) goto L_0894C81C;
|
|
return;
|
|
L_0894C81C:
|
|
{ const bool branch_taken = ctx.gpr[2] == 0u;
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_0894C848;
|
|
}
|
|
goto L_0894C824;
|
|
}
|
|
L_0894C824:
|
|
ctx.gpr[6] = (ctx.gpr[29] + static_cast<std::uint32_t>(52));
|
|
ctx.fpr[12] = std::bit_cast<float>(std::bit_cast<std::uint32_t>(ctx.fpr[20]));
|
|
ctx.gpr[7] = (ctx.gpr[29] + static_cast<std::uint32_t>(48));
|
|
ctx.fpr[13] = std::bit_cast<float>(std::bit_cast<std::uint32_t>(ctx.fpr[24]));
|
|
ctx.gpr[4] = (ctx.gpr[17] | 0u);
|
|
ctx.gpr[5] = (ctx.gpr[16] | 0u);
|
|
ctx.gpr[8] = (ctx.gpr[18] | 0u);
|
|
ctx.gpr[31] = (0x0894C848u);
|
|
ctx.gpr[9] = (0u | 1u);
|
|
if (rt.invoke_chained_direct<&recomp_unit_0080_entry, 80u, 109u, 0x089447E4u>(ctx, &aot_mem) && ctx.pc == 0x0894C848u) goto L_0894C848;
|
|
return;
|
|
L_0894C848:
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast<std::uint32_t>(52)));
|
|
{ const bool branch_taken = ctx.gpr[4] == 0u;
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_0894C880;
|
|
}
|
|
goto L_0894C854;
|
|
}
|
|
L_0894C854:
|
|
ctx.gpr[5] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast<std::uint32_t>(52)));
|
|
ctx.gpr[31] = (0x0894C860u);
|
|
ctx.gpr[4] = (ctx.gpr[17] | 0u);
|
|
if (rt.invoke_chained_direct<&recomp_unit_0102_entry, 102u, 516u, 0x0899EDBCu>(ctx, &aot_mem) && ctx.pc == 0x0894C860u) goto L_0894C860;
|
|
return;
|
|
L_0894C860:
|
|
ctx.gpr[16] = (0u | 1u);
|
|
ctx.gpr[4] = (2228u << 16u);
|
|
ctx.gpr[5] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast<std::uint32_t>(52)));
|
|
aot_mem.aot_store8(ctx.gpr[4] + static_cast<std::uint32_t>(-30152), static_cast<std::uint8_t>(ctx.gpr[16]));
|
|
ctx.gpr[31] = (0x0894C878u);
|
|
ctx.gpr[4] = (ctx.gpr[17] | 0u);
|
|
if (rt.invoke_chained_direct<&recomp_unit_0052_entry, 52u, 266u, 0x088D534Cu>(ctx, &aot_mem) && ctx.pc == 0x0894C878u) goto L_0894C878;
|
|
return;
|
|
L_0894C878:
|
|
{ const bool branch_taken = 0u == 0u;
|
|
ctx.gpr[2] = (ctx.gpr[16] | 0u);
|
|
if (branch_taken) {
|
|
goto L_0894C884;
|
|
}
|
|
goto L_0894C880;
|
|
}
|
|
L_0894C880:
|
|
ctx.gpr[2] = (0u | 0u);
|
|
goto L_0894C884;
|
|
L_0894C884:
|
|
ctx.fpr[20] = std::bit_cast<float>(aot_mem.aot_load32(ctx.gpr[29] + static_cast<std::uint32_t>(112)));
|
|
ctx.fpr[22] = std::bit_cast<float>(aot_mem.aot_load32(ctx.gpr[29] + static_cast<std::uint32_t>(116)));
|
|
ctx.fpr[24] = std::bit_cast<float>(aot_mem.aot_load32(ctx.gpr[29] + static_cast<std::uint32_t>(120)));
|
|
ctx.fpr[26] = std::bit_cast<float>(aot_mem.aot_load32(ctx.gpr[29] + static_cast<std::uint32_t>(124)));
|
|
ctx.gpr[16] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast<std::uint32_t>(128)));
|
|
ctx.gpr[17] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast<std::uint32_t>(132)));
|
|
ctx.gpr[18] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast<std::uint32_t>(136)));
|
|
ctx.gpr[19] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast<std::uint32_t>(140)));
|
|
ctx.gpr[20] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast<std::uint32_t>(144)));
|
|
ctx.gpr[21] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast<std::uint32_t>(148)));
|
|
ctx.gpr[22] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast<std::uint32_t>(152)));
|
|
ctx.gpr[23] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast<std::uint32_t>(156)));
|
|
ctx.gpr[30] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast<std::uint32_t>(160)));
|
|
ctx.gpr[31] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast<std::uint32_t>(164)));
|
|
jump_target = ctx.gpr[31];
|
|
ctx.gpr[29] = (ctx.gpr[29] + static_cast<std::uint32_t>(176));
|
|
local_pc = jump_target;
|
|
if (++local_transfers < 2048u) { entry_id = 0u; goto LOCAL_DISPATCH; }
|
|
ctx.pc = jump_target;
|
|
return;
|
|
L_0894C8C4:
|
|
ctx.gpr[29] = (ctx.gpr[29] + static_cast<std::uint32_t>(-240));
|
|
aot_mem.aot_store32(ctx.gpr[29] + static_cast<std::uint32_t>(200), ctx.gpr[18]);
|
|
ctx.gpr[18] = (ctx.gpr[4] | 0u);
|
|
aot_mem.aot_store32(ctx.gpr[29] + static_cast<std::uint32_t>(184), std::bit_cast<std::uint32_t>(ctx.fpr[20]));
|
|
aot_mem.aot_store32(ctx.gpr[29] + static_cast<std::uint32_t>(188), std::bit_cast<std::uint32_t>(ctx.fpr[22]));
|
|
aot_mem.aot_store32(ctx.gpr[29] + static_cast<std::uint32_t>(192), ctx.gpr[16]);
|
|
aot_mem.aot_store32(ctx.gpr[29] + static_cast<std::uint32_t>(196), ctx.gpr[17]);
|
|
aot_mem.aot_store32(ctx.gpr[29] + static_cast<std::uint32_t>(204), ctx.gpr[19]);
|
|
aot_mem.aot_store32(ctx.gpr[29] + static_cast<std::uint32_t>(208), ctx.gpr[20]);
|
|
aot_mem.aot_store32(ctx.gpr[29] + static_cast<std::uint32_t>(212), ctx.gpr[21]);
|
|
aot_mem.aot_store32(ctx.gpr[29] + static_cast<std::uint32_t>(216), ctx.gpr[22]);
|
|
aot_mem.aot_store32(ctx.gpr[29] + static_cast<std::uint32_t>(220), ctx.gpr[23]);
|
|
aot_mem.aot_store32(ctx.gpr[29] + static_cast<std::uint32_t>(224), ctx.gpr[30]);
|
|
aot_mem.aot_store32(ctx.gpr[29] + static_cast<std::uint32_t>(228), ctx.gpr[31]);
|
|
ctx.gpr[31] = (0x0894C904u);
|
|
ctx.gpr[17] = (0u | 0u);
|
|
if (rt.invoke_chained_direct<&recomp_unit_0104_entry, 104u, 432u, 0x089A66B8u>(ctx, &aot_mem) && ctx.pc == 0x0894C904u) goto L_0894C904;
|
|
return;
|
|
L_0894C904:
|
|
ctx.gpr[4] = (aot_mem.aot_load16(ctx.gpr[18] + static_cast<std::uint32_t>(1868)));
|
|
ctx.gpr[5] = (ctx.gpr[18] + static_cast<std::uint32_t>(48));
|
|
ctx.gpr[4] = (static_cast<std::int32_t>(ctx.gpr[17]) < static_cast<std::int32_t>(ctx.gpr[4]) ? 1u : 0u);
|
|
{ const bool branch_taken = ctx.gpr[4] == 0u;
|
|
aot_mem.aot_store32(ctx.gpr[29] + static_cast<std::uint32_t>(180), ctx.gpr[5]);
|
|
if (branch_taken) {
|
|
goto L_0894CA38;
|
|
}
|
|
goto L_0894C918;
|
|
}
|
|
L_0894C918:
|
|
ctx.gpr[30] = (0u | 50u);
|
|
ctx.gpr[23] = (0u | 55u);
|
|
ctx.gpr[22] = (0u | 54u);
|
|
ctx.gpr[21] = (0u | 56u);
|
|
ctx.gpr[20] = (0u | 58u);
|
|
ctx.gpr[16] = (ctx.gpr[18] | 0u);
|
|
ctx.gpr[19] = (8192u << 16u);
|
|
goto L_0894C934;
|
|
L_0894C934:
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast<std::uint32_t>(1828)));
|
|
ctx.gpr[5] = (0u | 1u);
|
|
ctx.gpr[4] = (aot_mem.aot_load8(ctx.gpr[4] + static_cast<std::uint32_t>(428)));
|
|
{ const bool branch_taken = ctx.gpr[4] != ctx.gpr[5];
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_0894CA24;
|
|
}
|
|
goto L_0894C948;
|
|
}
|
|
L_0894C948:
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast<std::uint32_t>(1828)));
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[4] + static_cast<std::uint32_t>(844)));
|
|
{ const bool branch_taken = ctx.gpr[4] == ctx.gpr[30];
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_0894CA24;
|
|
}
|
|
goto L_0894C958;
|
|
}
|
|
L_0894C958:
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast<std::uint32_t>(1828)));
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[4] + static_cast<std::uint32_t>(844)));
|
|
{ const bool branch_taken = ctx.gpr[4] == ctx.gpr[23];
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_0894CA24;
|
|
}
|
|
goto L_0894C968;
|
|
}
|
|
L_0894C968:
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast<std::uint32_t>(1828)));
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[4] + static_cast<std::uint32_t>(844)));
|
|
{ const bool branch_taken = ctx.gpr[4] == ctx.gpr[22];
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_0894CA24;
|
|
}
|
|
goto L_0894C978;
|
|
}
|
|
L_0894C978:
|
|
ctx.gpr[31] = (0x0894C980u);
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast<std::uint32_t>(1828)));
|
|
if (rt.invoke_chained_direct<&recomp_unit_0138_entry, 138u, 745u, 0x08A2F7ACu>(ctx, &aot_mem) && ctx.pc == 0x0894C980u) goto L_0894C980;
|
|
return;
|
|
L_0894C980:
|
|
if (ctx.gpr[2] == 0u) {
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast<std::uint32_t>(1828)));
|
|
goto L_0894CA0C;
|
|
}
|
|
goto L_0894C988;
|
|
L_0894C988:
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast<std::uint32_t>(1828)));
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[4] + static_cast<std::uint32_t>(592)));
|
|
{ const bool branch_taken = ctx.gpr[4] == 0u;
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_0894C9D0;
|
|
}
|
|
goto L_0894C998;
|
|
}
|
|
L_0894C998:
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast<std::uint32_t>(1828)));
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[4] + static_cast<std::uint32_t>(844)));
|
|
{ const bool branch_taken = ctx.gpr[4] == ctx.gpr[21];
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_0894C9B8;
|
|
}
|
|
goto L_0894C9A8;
|
|
}
|
|
L_0894C9A8:
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast<std::uint32_t>(1828)));
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[4] + static_cast<std::uint32_t>(844)));
|
|
{ const bool branch_taken = ctx.gpr[4] != ctx.gpr[20];
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_0894C9C0;
|
|
}
|
|
goto L_0894C9B8;
|
|
}
|
|
L_0894C9B8:
|
|
ctx.gpr[31] = (0x0894C9C0u);
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast<std::uint32_t>(1828)));
|
|
if (rt.invoke_chained_direct<&recomp_unit_0034_entry, 34u, 621u, 0x0888F0A4u>(ctx, &aot_mem) && ctx.pc == 0x0894C9C0u) goto L_0894C9C0;
|
|
return;
|
|
L_0894C9C0:
|
|
ctx.gpr[31] = (0x0894C9C8u);
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast<std::uint32_t>(1828)));
|
|
if (rt.invoke_chained_direct<&recomp_unit_0032_entry, 32u, 474u, 0x088868F4u>(ctx, &aot_mem) && ctx.pc == 0x0894C9C8u) goto L_0894C9C8;
|
|
return;
|
|
L_0894C9C8:
|
|
{ const bool branch_taken = 0u == 0u;
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_0894CA24;
|
|
}
|
|
goto L_0894C9D0;
|
|
}
|
|
L_0894C9D0:
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast<std::uint32_t>(1828)));
|
|
ctx.gpr[5] = (ctx.gpr[18] | 0u);
|
|
ctx.gpr[31] = (0x0894C9E0u);
|
|
ctx.gpr[6] = (0u | 5000u);
|
|
if (rt.invoke_chained_direct<&recomp_unit_0103_entry, 103u, 385u, 0x089A1B10u>(ctx, &aot_mem) && ctx.pc == 0x0894C9E0u) goto L_0894C9E0;
|
|
return;
|
|
L_0894C9E0:
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast<std::uint32_t>(1828)));
|
|
ctx.gpr[5] = (aot_mem.aot_load32(ctx.gpr[4] + static_cast<std::uint32_t>(404)));
|
|
ctx.gpr[5] = (ctx.gpr[5] | ctx.gpr[19]);
|
|
aot_mem.aot_store32(ctx.gpr[4] + static_cast<std::uint32_t>(404), ctx.gpr[5]);
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast<std::uint32_t>(1828)));
|
|
ctx.gpr[5] = (0u | 2u);
|
|
aot_mem.aot_store32(ctx.gpr[4] + static_cast<std::uint32_t>(1176), 0u);
|
|
ctx.gpr[31] = (0x0894CA04u);
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast<std::uint32_t>(1828)));
|
|
if (rt.invoke_chained_direct<&recomp_unit_0103_entry, 103u, 546u, 0x089A2520u>(ctx, &aot_mem) && ctx.pc == 0x0894CA04u) goto L_0894CA04;
|
|
return;
|
|
L_0894CA04:
|
|
{ const bool branch_taken = 0u == 0u;
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_0894CA24;
|
|
}
|
|
goto L_0894CA0C;
|
|
}
|
|
L_0894CA0C:
|
|
ctx.gpr[5] = (aot_mem.aot_load32(ctx.gpr[4] + static_cast<std::uint32_t>(92)));
|
|
ctx.gpr[5] = (ctx.gpr[5] + static_cast<std::uint32_t>(152));
|
|
ctx.gpr[6] = (static_cast<std::uint32_t>(static_cast<std::int32_t>(static_cast<std::int16_t>(aot_mem.aot_load16(ctx.gpr[5] + static_cast<std::uint32_t>(0))))));
|
|
ctx.gpr[5] = (aot_mem.aot_load32(ctx.gpr[5] + static_cast<std::uint32_t>(4)));
|
|
jump_target = ctx.gpr[5];
|
|
ctx.gpr[31] = (0x0894CA24u);
|
|
ctx.gpr[4] = (ctx.gpr[4] + ctx.gpr[6]);
|
|
ctx.pc = jump_target;
|
|
if (rt.invoke_chained_call(ctx, &aot_mem) && ctx.pc == 0x0894CA24u) goto L_0894CA24;
|
|
return;
|
|
L_0894CA24:
|
|
ctx.gpr[4] = (aot_mem.aot_load16(ctx.gpr[18] + static_cast<std::uint32_t>(1868)));
|
|
ctx.gpr[17] = (ctx.gpr[17] + static_cast<std::uint32_t>(1));
|
|
ctx.gpr[4] = (static_cast<std::int32_t>(ctx.gpr[17]) < static_cast<std::int32_t>(ctx.gpr[4]) ? 1u : 0u);
|
|
{ const bool branch_taken = ctx.gpr[4] != 0u;
|
|
ctx.gpr[16] = (ctx.gpr[16] + static_cast<std::uint32_t>(4));
|
|
if (branch_taken) {
|
|
goto L_0894C934;
|
|
}
|
|
goto L_0894CA38;
|
|
}
|
|
L_0894CA38:
|
|
ctx.gpr[4] = (aot_mem.aot_load8(ctx.gpr[18] + static_cast<std::uint32_t>(1336)));
|
|
{ const bool branch_taken = ctx.gpr[4] == 0u;
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_0894CA6C;
|
|
}
|
|
goto L_0894CA44;
|
|
}
|
|
L_0894CA44:
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[18] + static_cast<std::uint32_t>(1332)));
|
|
{ const bool branch_taken = ctx.gpr[4] == 0u;
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_0894CA6C;
|
|
}
|
|
goto L_0894CA50;
|
|
}
|
|
L_0894CA50:
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[18] + static_cast<std::uint32_t>(1332)));
|
|
ctx.gpr[4] = (ctx.gpr[4] + static_cast<std::uint32_t>(48));
|
|
{ const std::uint32_t vfpu_address = ctx.gpr[4] + static_cast<std::uint32_t>(0);
|
|
float vfpu_value[4]{
|
|
std::bit_cast<float>(aot_mem.aot_load32(vfpu_address + 0u)),
|
|
std::bit_cast<float>(aot_mem.aot_load32(vfpu_address + 4u)),
|
|
std::bit_cast<float>(aot_mem.aot_load32(vfpu_address + 8u)),
|
|
std::bit_cast<float>(aot_mem.aot_load32(vfpu_address + 12u))};
|
|
ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); }
|
|
ctx.gpr[4] = (ctx.gpr[29] + static_cast<std::uint32_t>(80));
|
|
{ float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value);
|
|
const std::uint32_t vfpu_address = ctx.gpr[4] + static_cast<std::uint32_t>(0);
|
|
aot_mem.aot_store32(vfpu_address + 0u, std::bit_cast<std::uint32_t>(vfpu_value[0]));
|
|
aot_mem.aot_store32(vfpu_address + 4u, std::bit_cast<std::uint32_t>(vfpu_value[1]));
|
|
aot_mem.aot_store32(vfpu_address + 8u, std::bit_cast<std::uint32_t>(vfpu_value[2]));
|
|
aot_mem.aot_store32(vfpu_address + 12u, std::bit_cast<std::uint32_t>(vfpu_value[3])); }
|
|
{ const bool branch_taken = 0u == 0u;
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_0894CA7C;
|
|
}
|
|
goto L_0894CA6C;
|
|
}
|
|
L_0894CA6C:
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast<std::uint32_t>(180)));
|
|
{ const std::uint32_t vfpu_address = ctx.gpr[4] + static_cast<std::uint32_t>(0);
|
|
float vfpu_value[4]{
|
|
std::bit_cast<float>(aot_mem.aot_load32(vfpu_address + 0u)),
|
|
std::bit_cast<float>(aot_mem.aot_load32(vfpu_address + 4u)),
|
|
std::bit_cast<float>(aot_mem.aot_load32(vfpu_address + 8u)),
|
|
std::bit_cast<float>(aot_mem.aot_load32(vfpu_address + 12u))};
|
|
ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); }
|
|
ctx.gpr[4] = (ctx.gpr[29] + static_cast<std::uint32_t>(80));
|
|
{ float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value);
|
|
const std::uint32_t vfpu_address = ctx.gpr[4] + static_cast<std::uint32_t>(0);
|
|
aot_mem.aot_store32(vfpu_address + 0u, std::bit_cast<std::uint32_t>(vfpu_value[0]));
|
|
aot_mem.aot_store32(vfpu_address + 4u, std::bit_cast<std::uint32_t>(vfpu_value[1]));
|
|
aot_mem.aot_store32(vfpu_address + 8u, std::bit_cast<std::uint32_t>(vfpu_value[2]));
|
|
aot_mem.aot_store32(vfpu_address + 12u, std::bit_cast<std::uint32_t>(vfpu_value[3])); }
|
|
goto L_0894CA7C;
|
|
L_0894CA7C:
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast<std::uint32_t>(180)));
|
|
{ const std::uint32_t vfpu_address = ctx.gpr[4] + static_cast<std::uint32_t>(0);
|
|
float vfpu_value[4]{
|
|
std::bit_cast<float>(aot_mem.aot_load32(vfpu_address + 0u)),
|
|
std::bit_cast<float>(aot_mem.aot_load32(vfpu_address + 4u)),
|
|
std::bit_cast<float>(aot_mem.aot_load32(vfpu_address + 8u)),
|
|
std::bit_cast<float>(aot_mem.aot_load32(vfpu_address + 12u))};
|
|
ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); }
|
|
ctx.gpr[4] = (ctx.gpr[29] + static_cast<std::uint32_t>(48));
|
|
{ float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value);
|
|
const std::uint32_t vfpu_address = ctx.gpr[4] + static_cast<std::uint32_t>(0);
|
|
aot_mem.aot_store32(vfpu_address + 0u, std::bit_cast<std::uint32_t>(vfpu_value[0]));
|
|
aot_mem.aot_store32(vfpu_address + 4u, std::bit_cast<std::uint32_t>(vfpu_value[1]));
|
|
aot_mem.aot_store32(vfpu_address + 8u, std::bit_cast<std::uint32_t>(vfpu_value[2]));
|
|
aot_mem.aot_store32(vfpu_address + 12u, std::bit_cast<std::uint32_t>(vfpu_value[3])); }
|
|
ctx.gpr[5] = (16752u << 16u);
|
|
ctx.fpr[12] = std::bit_cast<float>(ctx.gpr[5]);
|
|
ctx.gpr[6] = (ctx.gpr[29] + static_cast<std::uint32_t>(128));
|
|
ctx.gpr[8] = (ctx.gpr[29] + static_cast<std::uint32_t>(96));
|
|
ctx.gpr[5] = (0u | 1u);
|
|
ctx.gpr[7] = (0u | 6u);
|
|
ctx.gpr[9] = (0u | 0u);
|
|
ctx.gpr[10] = (0u | 1u);
|
|
ctx.gpr[11] = (0u | 0u);
|
|
aot_mem.aot_store32(ctx.gpr[29] + static_cast<std::uint32_t>(0), 0u);
|
|
aot_mem.aot_store32(ctx.gpr[29] + static_cast<std::uint32_t>(4), 0u);
|
|
ctx.gpr[31] = (0x0894CAC0u);
|
|
aot_mem.aot_store32(ctx.gpr[29] + static_cast<std::uint32_t>(8), 0u);
|
|
if (rt.invoke_chained_direct<&recomp_unit_0047_entry, 47u, 158u, 0x088C0F80u>(ctx, &aot_mem) && ctx.pc == 0x0894CAC0u) goto L_0894CAC0;
|
|
return;
|
|
L_0894CAC0:
|
|
ctx.gpr[18] = (0u | 0u);
|
|
ctx.gpr[4] = (static_cast<std::uint32_t>(static_cast<std::int32_t>(static_cast<std::int16_t>(aot_mem.aot_load16(ctx.gpr[29] + static_cast<std::uint32_t>(128))))));
|
|
ctx.gpr[4] = (static_cast<std::int32_t>(ctx.gpr[18]) < static_cast<std::int32_t>(ctx.gpr[4]) ? 1u : 0u);
|
|
{ const bool branch_taken = ctx.gpr[4] == 0u;
|
|
ctx.gpr[4] = (16840u << 16u);
|
|
if (branch_taken) {
|
|
goto L_0894CBFC;
|
|
}
|
|
goto L_0894CAD4;
|
|
}
|
|
L_0894CAD4:
|
|
ctx.fpr[22] = std::bit_cast<float>(0u);
|
|
ctx.gpr[21] = (0u | 2u);
|
|
ctx.fpr[20] = std::bit_cast<float>(ctx.gpr[4]);
|
|
ctx.gpr[23] = (0u | 208u);
|
|
ctx.gpr[20] = (ctx.gpr[29] + static_cast<std::uint32_t>(144));
|
|
ctx.gpr[19] = (ctx.gpr[29] + static_cast<std::uint32_t>(64));
|
|
ctx.gpr[30] = (0u | 1u);
|
|
ctx.gpr[22] = (0u | 8u);
|
|
ctx.gpr[17] = (ctx.gpr[29] | 0u);
|
|
ctx.gpr[16] = (2230u << 16u);
|
|
goto L_0894CAFC;
|
|
L_0894CAFC:
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[17] + static_cast<std::uint32_t>(96)));
|
|
ctx.gpr[5] = (aot_mem.aot_load8(ctx.gpr[4] + static_cast<std::uint32_t>(596)));
|
|
{ const bool branch_taken = ctx.gpr[5] == ctx.gpr[21];
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_0894CBE8;
|
|
}
|
|
goto L_0894CB0C;
|
|
}
|
|
L_0894CB0C:
|
|
ctx.gpr[5] = (aot_mem.aot_load32(ctx.gpr[4] + static_cast<std::uint32_t>(68)));
|
|
ctx.gpr[5] = (ctx.gpr[5] & 496u);
|
|
{ const bool branch_taken = ctx.gpr[5] == 0u;
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_0894CBE8;
|
|
}
|
|
goto L_0894CB1C;
|
|
}
|
|
L_0894CB1C:
|
|
ctx.gpr[5] = (aot_mem.aot_load32(ctx.gpr[4] + static_cast<std::uint32_t>(68)));
|
|
ctx.gpr[5] = (ctx.gpr[5] & 496u);
|
|
{ const bool branch_taken = ctx.gpr[5] == ctx.gpr[23];
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_0894CBE8;
|
|
}
|
|
goto L_0894CB2C;
|
|
}
|
|
L_0894CB2C:
|
|
ctx.gpr[5] = (ctx.gpr[4] + static_cast<std::uint32_t>(48));
|
|
{ const std::uint32_t vfpu_address = ctx.gpr[5] + static_cast<std::uint32_t>(0);
|
|
float vfpu_value[4]{
|
|
std::bit_cast<float>(aot_mem.aot_load32(vfpu_address + 0u)),
|
|
std::bit_cast<float>(aot_mem.aot_load32(vfpu_address + 4u)),
|
|
std::bit_cast<float>(aot_mem.aot_load32(vfpu_address + 8u)),
|
|
std::bit_cast<float>(aot_mem.aot_load32(vfpu_address + 12u))};
|
|
ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); }
|
|
ctx.gpr[6] = (ctx.gpr[29] + static_cast<std::uint32_t>(80));
|
|
{ const std::uint32_t vfpu_address = ctx.gpr[6] + static_cast<std::uint32_t>(0);
|
|
float vfpu_value[4]{
|
|
std::bit_cast<float>(aot_mem.aot_load32(vfpu_address + 0u)),
|
|
std::bit_cast<float>(aot_mem.aot_load32(vfpu_address + 4u)),
|
|
std::bit_cast<float>(aot_mem.aot_load32(vfpu_address + 8u)),
|
|
std::bit_cast<float>(aot_mem.aot_load32(vfpu_address + 12u))};
|
|
ctx.write_vfpu_vector_ct<1u, 4u>(vfpu_value); }
|
|
{ float vfpu_s[4]{}, vfpu_t[4]{}, vfpu_d[4]{};
|
|
ctx.read_vfpu_vector_with_source_prefix_ct<0u, 3u, 0u>(vfpu_s);
|
|
ctx.read_vfpu_vector_with_source_prefix_ct<1u, 3u, 1u>(vfpu_t);
|
|
for (std::uint32_t i = 0; i < 3u; ++i) vfpu_d[i] = vfpu_s[i] - vfpu_t[i];
|
|
ctx.write_vfpu_vector_with_destination_prefix_ct<0u, 3u>(vfpu_d); }
|
|
{ float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value);
|
|
const std::uint32_t vfpu_address = ctx.gpr[20] + static_cast<std::uint32_t>(0);
|
|
aot_mem.aot_store32(vfpu_address + 0u, std::bit_cast<std::uint32_t>(vfpu_value[0]));
|
|
aot_mem.aot_store32(vfpu_address + 4u, std::bit_cast<std::uint32_t>(vfpu_value[1]));
|
|
aot_mem.aot_store32(vfpu_address + 8u, std::bit_cast<std::uint32_t>(vfpu_value[2]));
|
|
aot_mem.aot_store32(vfpu_address + 12u, std::bit_cast<std::uint32_t>(vfpu_value[3])); }
|
|
{ const std::uint32_t vfpu_address = ctx.gpr[20] + static_cast<std::uint32_t>(0);
|
|
float vfpu_value[4]{
|
|
std::bit_cast<float>(aot_mem.aot_load32(vfpu_address + 0u)),
|
|
std::bit_cast<float>(aot_mem.aot_load32(vfpu_address + 4u)),
|
|
std::bit_cast<float>(aot_mem.aot_load32(vfpu_address + 8u)),
|
|
std::bit_cast<float>(aot_mem.aot_load32(vfpu_address + 12u))};
|
|
ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); }
|
|
{ float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value);
|
|
const std::uint32_t vfpu_address = ctx.gpr[19] + static_cast<std::uint32_t>(0);
|
|
aot_mem.aot_store32(vfpu_address + 0u, std::bit_cast<std::uint32_t>(vfpu_value[0]));
|
|
aot_mem.aot_store32(vfpu_address + 4u, std::bit_cast<std::uint32_t>(vfpu_value[1]));
|
|
aot_mem.aot_store32(vfpu_address + 8u, std::bit_cast<std::uint32_t>(vfpu_value[2]));
|
|
aot_mem.aot_store32(vfpu_address + 12u, std::bit_cast<std::uint32_t>(vfpu_value[3])); }
|
|
{ const std::uint32_t vfpu_address = ctx.gpr[19] + static_cast<std::uint32_t>(0);
|
|
float vfpu_value[4]{
|
|
std::bit_cast<float>(aot_mem.aot_load32(vfpu_address + 0u)),
|
|
std::bit_cast<float>(aot_mem.aot_load32(vfpu_address + 4u)),
|
|
std::bit_cast<float>(aot_mem.aot_load32(vfpu_address + 8u)),
|
|
std::bit_cast<float>(aot_mem.aot_load32(vfpu_address + 12u))};
|
|
ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); }
|
|
ctx.execute_vfpu_vdot_ct<28u, 0u, 0u, 3u>();
|
|
ctx.gpr[6] = (ctx.vfpu_scalar_bits_ct<28u>());
|
|
ctx.fpr[12] = std::bit_cast<float>(ctx.gpr[6]);
|
|
ctx.set_fpu_condition((ctx.fpr[12] <= ctx.fpr[20]));
|
|
// nop
|
|
if (ctx.fpu_condition()) {
|
|
ctx.fpr[12] = std::bit_cast<float>(aot_mem.aot_load32(ctx.gpr[29] + static_cast<std::uint32_t>(80)));
|
|
goto L_0894CB80;
|
|
}
|
|
goto L_0894CB6C;
|
|
L_0894CB6C:
|
|
aot_mem.aot_store8(ctx.gpr[4] + static_cast<std::uint32_t>(399), static_cast<std::uint8_t>(ctx.gpr[30]));
|
|
ctx.gpr[5] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast<std::uint32_t>(-8148)));
|
|
ctx.gpr[5] = (ctx.gpr[5] + static_cast<std::uint32_t>(5000));
|
|
{ const bool branch_taken = 0u == 0u;
|
|
aot_mem.aot_store32(ctx.gpr[4] + static_cast<std::uint32_t>(400), ctx.gpr[5]);
|
|
if (branch_taken) {
|
|
goto L_0894CBE0;
|
|
}
|
|
goto L_0894CB80;
|
|
}
|
|
L_0894CB80:
|
|
ctx.fpr[13] = std::bit_cast<float>(aot_mem.aot_load32(ctx.gpr[5] + static_cast<std::uint32_t>(0)));
|
|
ctx.gpr[6] = (ctx.gpr[4] + static_cast<std::uint32_t>(16));
|
|
ctx.fpr[14] = std::bit_cast<float>(aot_mem.aot_load32(ctx.gpr[6] + static_cast<std::uint32_t>(0)));
|
|
ctx.fpr[12] = ctx.fpr[12] - ctx.fpr[13];
|
|
ctx.fpr[15] = std::bit_cast<float>(aot_mem.aot_load32(ctx.gpr[29] + static_cast<std::uint32_t>(84)));
|
|
ctx.fpr[16] = std::bit_cast<float>(aot_mem.aot_load32(ctx.gpr[5] + static_cast<std::uint32_t>(4)));
|
|
ctx.fpr[17] = std::bit_cast<float>(aot_mem.aot_load32(ctx.gpr[6] + static_cast<std::uint32_t>(4)));
|
|
ctx.fpr[15] = ctx.fpr[15] - ctx.fpr[16];
|
|
{ const float fs = ctx.fpr[14]; const float ft = ctx.fpr[12]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[12] = std::bit_cast<float>(0x7FC00000u); else ctx.fpr[12] = fs * ft; }
|
|
{ const float fs = ctx.fpr[17]; const float ft = ctx.fpr[15]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[15] = std::bit_cast<float>(0x7FC00000u); else ctx.fpr[15] = fs * ft; }
|
|
ctx.fpr[12] = ctx.fpr[12] + ctx.fpr[15];
|
|
ctx.set_fpu_condition((ctx.fpr[12] <= ctx.fpr[22]));
|
|
// nop
|
|
{ const bool branch_taken = ctx.fpu_condition();
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_0894CBD0;
|
|
}
|
|
goto L_0894CBBC;
|
|
}
|
|
L_0894CBBC:
|
|
aot_mem.aot_store8(ctx.gpr[4] + static_cast<std::uint32_t>(399), static_cast<std::uint8_t>(ctx.gpr[21]));
|
|
ctx.gpr[5] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast<std::uint32_t>(-8148)));
|
|
ctx.gpr[5] = (ctx.gpr[5] + static_cast<std::uint32_t>(2000));
|
|
{ const bool branch_taken = 0u == 0u;
|
|
aot_mem.aot_store32(ctx.gpr[4] + static_cast<std::uint32_t>(400), ctx.gpr[5]);
|
|
if (branch_taken) {
|
|
goto L_0894CBE0;
|
|
}
|
|
goto L_0894CBD0;
|
|
}
|
|
L_0894CBD0:
|
|
aot_mem.aot_store8(ctx.gpr[4] + static_cast<std::uint32_t>(399), static_cast<std::uint8_t>(ctx.gpr[22]));
|
|
ctx.gpr[5] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast<std::uint32_t>(-8148)));
|
|
ctx.gpr[5] = (ctx.gpr[5] + static_cast<std::uint32_t>(2000));
|
|
aot_mem.aot_store32(ctx.gpr[4] + static_cast<std::uint32_t>(400), ctx.gpr[5]);
|
|
goto L_0894CBE0;
|
|
L_0894CBE0:
|
|
ctx.gpr[31] = (0x0894CBE8u);
|
|
// nop
|
|
if (rt.invoke_chained_direct<&recomp_unit_0123_entry, 123u, 184u, 0x089F128Cu>(ctx, &aot_mem) && ctx.pc == 0x0894CBE8u) goto L_0894CBE8;
|
|
return;
|
|
L_0894CBE8:
|
|
ctx.gpr[4] = (static_cast<std::uint32_t>(static_cast<std::int32_t>(static_cast<std::int16_t>(aot_mem.aot_load16(ctx.gpr[29] + static_cast<std::uint32_t>(128))))));
|
|
ctx.gpr[18] = (ctx.gpr[18] + static_cast<std::uint32_t>(1));
|
|
ctx.gpr[4] = (static_cast<std::int32_t>(ctx.gpr[18]) < static_cast<std::int32_t>(ctx.gpr[4]) ? 1u : 0u);
|
|
{ const bool branch_taken = ctx.gpr[4] != 0u;
|
|
ctx.gpr[17] = (ctx.gpr[17] + static_cast<std::uint32_t>(4));
|
|
if (branch_taken) {
|
|
goto L_0894CAFC;
|
|
}
|
|
goto L_0894CBFC;
|
|
}
|
|
L_0894CBFC:
|
|
ctx.fpr[20] = std::bit_cast<float>(aot_mem.aot_load32(ctx.gpr[29] + static_cast<std::uint32_t>(184)));
|
|
ctx.fpr[22] = std::bit_cast<float>(aot_mem.aot_load32(ctx.gpr[29] + static_cast<std::uint32_t>(188)));
|
|
ctx.gpr[16] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast<std::uint32_t>(192)));
|
|
ctx.gpr[17] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast<std::uint32_t>(196)));
|
|
ctx.gpr[18] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast<std::uint32_t>(200)));
|
|
ctx.gpr[19] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast<std::uint32_t>(204)));
|
|
ctx.gpr[20] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast<std::uint32_t>(208)));
|
|
ctx.gpr[21] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast<std::uint32_t>(212)));
|
|
ctx.gpr[22] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast<std::uint32_t>(216)));
|
|
ctx.gpr[23] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast<std::uint32_t>(220)));
|
|
ctx.gpr[30] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast<std::uint32_t>(224)));
|
|
ctx.gpr[31] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast<std::uint32_t>(228)));
|
|
jump_target = ctx.gpr[31];
|
|
ctx.gpr[29] = (ctx.gpr[29] + static_cast<std::uint32_t>(240));
|
|
local_pc = jump_target;
|
|
if (++local_transfers < 2048u) { entry_id = 0u; goto LOCAL_DISPATCH; }
|
|
ctx.pc = jump_target;
|
|
return;
|
|
L_0894CC34:
|
|
ctx.gpr[29] = (ctx.gpr[29] + static_cast<std::uint32_t>(-304));
|
|
aot_mem.aot_store32(ctx.gpr[29] + static_cast<std::uint32_t>(264), ctx.gpr[16]);
|
|
ctx.gpr[16] = (ctx.gpr[4] | 0u);
|
|
aot_mem.aot_store32(ctx.gpr[29] + static_cast<std::uint32_t>(240), std::bit_cast<std::uint32_t>(ctx.fpr[20]));
|
|
aot_mem.aot_store32(ctx.gpr[29] + static_cast<std::uint32_t>(244), std::bit_cast<std::uint32_t>(ctx.fpr[22]));
|
|
aot_mem.aot_store32(ctx.gpr[29] + static_cast<std::uint32_t>(248), std::bit_cast<std::uint32_t>(ctx.fpr[24]));
|
|
aot_mem.aot_store32(ctx.gpr[29] + static_cast<std::uint32_t>(252), std::bit_cast<std::uint32_t>(ctx.fpr[26]));
|
|
aot_mem.aot_store32(ctx.gpr[29] + static_cast<std::uint32_t>(256), std::bit_cast<std::uint32_t>(ctx.fpr[28]));
|
|
aot_mem.aot_store32(ctx.gpr[29] + static_cast<std::uint32_t>(260), std::bit_cast<std::uint32_t>(ctx.fpr[30]));
|
|
aot_mem.aot_store32(ctx.gpr[29] + static_cast<std::uint32_t>(268), ctx.gpr[17]);
|
|
aot_mem.aot_store32(ctx.gpr[29] + static_cast<std::uint32_t>(272), ctx.gpr[18]);
|
|
aot_mem.aot_store32(ctx.gpr[29] + static_cast<std::uint32_t>(276), ctx.gpr[19]);
|
|
aot_mem.aot_store32(ctx.gpr[29] + static_cast<std::uint32_t>(280), ctx.gpr[20]);
|
|
aot_mem.aot_store32(ctx.gpr[29] + static_cast<std::uint32_t>(284), ctx.gpr[21]);
|
|
aot_mem.aot_store32(ctx.gpr[29] + static_cast<std::uint32_t>(288), ctx.gpr[22]);
|
|
aot_mem.aot_store32(ctx.gpr[29] + static_cast<std::uint32_t>(292), ctx.gpr[23]);
|
|
aot_mem.aot_store32(ctx.gpr[29] + static_cast<std::uint32_t>(296), ctx.gpr[30]);
|
|
aot_mem.aot_store32(ctx.gpr[29] + static_cast<std::uint32_t>(300), ctx.gpr[31]);
|
|
ctx.gpr[31] = (0x0894CC84u);
|
|
ctx.gpr[4] = (ctx.gpr[29] + static_cast<std::uint32_t>(160));
|
|
if (rt.invoke_chained_direct<&recomp_unit_0126_entry, 126u, 136u, 0x089FD404u>(ctx, &aot_mem) && ctx.pc == 0x0894CC84u) goto L_0894CC84;
|
|
return;
|
|
L_0894CC84:
|
|
ctx.gpr[5] = (0u | 0u);
|
|
ctx.fpr[24] = std::bit_cast<float>(0u);
|
|
ctx.gpr[4] = (0u | 55u);
|
|
ctx.gpr[18] = (ctx.gpr[16] + static_cast<std::uint32_t>(48));
|
|
goto L_0894CC94;
|
|
L_0894CC94:
|
|
ctx.gpr[6] = (ctx.gpr[5] << 2u);
|
|
ctx.gpr[6] = (ctx.gpr[16] + ctx.gpr[6]);
|
|
ctx.gpr[7] = (aot_mem.aot_load32(ctx.gpr[6] + static_cast<std::uint32_t>(3136)));
|
|
{ const bool branch_taken = ctx.gpr[7] == 0u;
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_0894CCE0;
|
|
}
|
|
goto L_0894CCA8;
|
|
}
|
|
L_0894CCA8:
|
|
ctx.gpr[7] = (aot_mem.aot_load32(ctx.gpr[6] + static_cast<std::uint32_t>(3136)));
|
|
ctx.gpr[8] = (aot_mem.aot_load32(ctx.gpr[7] + static_cast<std::uint32_t>(844)));
|
|
{ const bool branch_taken = ctx.gpr[8] == ctx.gpr[4];
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_0894CCC4;
|
|
}
|
|
goto L_0894CCB8;
|
|
}
|
|
L_0894CCB8:
|
|
ctx.gpr[7] = (aot_mem.aot_load32(ctx.gpr[7] + static_cast<std::uint32_t>(600)));
|
|
{ const bool branch_taken = ctx.gpr[7] == ctx.gpr[16];
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_0894CCF4;
|
|
}
|
|
goto L_0894CCC4;
|
|
}
|
|
L_0894CCC4:
|
|
ctx.gpr[7] = (ctx.gpr[5] << 4u);
|
|
ctx.gpr[7] = (ctx.gpr[16] + ctx.gpr[7]);
|
|
aot_mem.aot_store32(ctx.gpr[7] + static_cast<std::uint32_t>(3040), std::bit_cast<std::uint32_t>(ctx.fpr[24]));
|
|
aot_mem.aot_store32(ctx.gpr[7] + static_cast<std::uint32_t>(3044), std::bit_cast<std::uint32_t>(ctx.fpr[24]));
|
|
aot_mem.aot_store32(ctx.gpr[7] + static_cast<std::uint32_t>(3048), std::bit_cast<std::uint32_t>(ctx.fpr[24]));
|
|
{ const bool branch_taken = 0u == 0u;
|
|
aot_mem.aot_store32(ctx.gpr[6] + static_cast<std::uint32_t>(3136), 0u);
|
|
if (branch_taken) {
|
|
goto L_0894CCF4;
|
|
}
|
|
goto L_0894CCE0;
|
|
}
|
|
L_0894CCE0:
|
|
ctx.gpr[6] = (ctx.gpr[5] << 4u);
|
|
ctx.gpr[6] = (ctx.gpr[16] + ctx.gpr[6]);
|
|
aot_mem.aot_store32(ctx.gpr[6] + static_cast<std::uint32_t>(3040), std::bit_cast<std::uint32_t>(ctx.fpr[24]));
|
|
aot_mem.aot_store32(ctx.gpr[6] + static_cast<std::uint32_t>(3044), std::bit_cast<std::uint32_t>(ctx.fpr[24]));
|
|
aot_mem.aot_store32(ctx.gpr[6] + static_cast<std::uint32_t>(3048), std::bit_cast<std::uint32_t>(ctx.fpr[24]));
|
|
goto L_0894CCF4;
|
|
L_0894CCF4:
|
|
ctx.gpr[5] = (ctx.gpr[5] + static_cast<std::uint32_t>(1));
|
|
ctx.gpr[5] = (ctx.gpr[5] << 16u);
|
|
ctx.gpr[5] = (static_cast<std::uint32_t>(static_cast<std::int32_t>(ctx.gpr[5]) >> 16u));
|
|
ctx.gpr[6] = (static_cast<std::int32_t>(ctx.gpr[5]) < 6 ? 1u : 0u);
|
|
{ const bool branch_taken = ctx.gpr[6] != 0u;
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_0894CC94;
|
|
}
|
|
goto L_0894CD0C;
|
|
}
|
|
L_0894CD0C:
|
|
{ const std::uint32_t vfpu_address = ctx.gpr[18] + static_cast<std::uint32_t>(0);
|
|
float vfpu_value[4]{
|
|
std::bit_cast<float>(aot_mem.aot_load32(vfpu_address + 0u)),
|
|
std::bit_cast<float>(aot_mem.aot_load32(vfpu_address + 4u)),
|
|
std::bit_cast<float>(aot_mem.aot_load32(vfpu_address + 8u)),
|
|
std::bit_cast<float>(aot_mem.aot_load32(vfpu_address + 12u))};
|
|
ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); }
|
|
ctx.gpr[4] = (ctx.gpr[29] + static_cast<std::uint32_t>(48));
|
|
{ float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value);
|
|
const std::uint32_t vfpu_address = ctx.gpr[4] + static_cast<std::uint32_t>(0);
|
|
aot_mem.aot_store32(vfpu_address + 0u, std::bit_cast<std::uint32_t>(vfpu_value[0]));
|
|
aot_mem.aot_store32(vfpu_address + 4u, std::bit_cast<std::uint32_t>(vfpu_value[1]));
|
|
aot_mem.aot_store32(vfpu_address + 8u, std::bit_cast<std::uint32_t>(vfpu_value[2]));
|
|
aot_mem.aot_store32(vfpu_address + 12u, std::bit_cast<std::uint32_t>(vfpu_value[3])); }
|
|
ctx.gpr[5] = (16784u << 16u);
|
|
ctx.fpr[12] = std::bit_cast<float>(ctx.gpr[5]);
|
|
ctx.gpr[2] = (0u | 1u);
|
|
ctx.gpr[6] = (ctx.gpr[29] + static_cast<std::uint32_t>(96));
|
|
ctx.gpr[8] = (ctx.gpr[29] + static_cast<std::uint32_t>(64));
|
|
ctx.gpr[5] = (0u | 1u);
|
|
ctx.gpr[7] = (0u | 6u);
|
|
ctx.gpr[9] = (0u | 1u);
|
|
ctx.gpr[10] = (0u | 0u);
|
|
ctx.gpr[11] = (0u | 0u);
|
|
aot_mem.aot_store32(ctx.gpr[29] + static_cast<std::uint32_t>(0), ctx.gpr[2]);
|
|
aot_mem.aot_store32(ctx.gpr[29] + static_cast<std::uint32_t>(4), 0u);
|
|
ctx.gpr[31] = (0x0894CD50u);
|
|
aot_mem.aot_store32(ctx.gpr[29] + static_cast<std::uint32_t>(8), 0u);
|
|
if (rt.invoke_chained_direct<&recomp_unit_0047_entry, 47u, 158u, 0x088C0F80u>(ctx, &aot_mem) && ctx.pc == 0x0894CD50u) goto L_0894CD50;
|
|
return;
|
|
L_0894CD50:
|
|
ctx.gpr[17] = (0u | 0u);
|
|
ctx.gpr[4] = (static_cast<std::uint32_t>(static_cast<std::int32_t>(static_cast<std::int16_t>(aot_mem.aot_load16(ctx.gpr[29] + static_cast<std::uint32_t>(96))))));
|
|
ctx.gpr[4] = (static_cast<std::int32_t>(ctx.gpr[17]) < static_cast<std::int32_t>(ctx.gpr[4]) ? 1u : 0u);
|
|
{ const bool branch_taken = ctx.gpr[4] == 0u;
|
|
ctx.gpr[4] = (16445u << 16u);
|
|
if (branch_taken) {
|
|
goto L_0894D27C;
|
|
}
|
|
goto L_0894CD64;
|
|
}
|
|
L_0894CD64:
|
|
ctx.gpr[4] = (ctx.gpr[4] | 16253u);
|
|
ctx.fpr[30] = std::bit_cast<float>(ctx.gpr[4]);
|
|
ctx.fpr[20] = std::bit_cast<float>(aot_mem.aot_load32(ctx.gpr[29] + static_cast<std::uint32_t>(176)));
|
|
ctx.gpr[4] = (15894u << 16u);
|
|
ctx.gpr[4] = (ctx.gpr[4] | 34603u);
|
|
ctx.fpr[28] = std::bit_cast<float>(ctx.gpr[4]);
|
|
ctx.gpr[19] = (0u | 4u);
|
|
ctx.gpr[4] = (16190u << 16u);
|
|
ctx.gpr[4] = (ctx.gpr[4] | 30409u);
|
|
ctx.gpr[21] = (ctx.gpr[29] + static_cast<std::uint32_t>(144));
|
|
ctx.fpr[26] = std::bit_cast<float>(ctx.gpr[4]);
|
|
ctx.gpr[22] = (ctx.gpr[29] + static_cast<std::uint32_t>(192));
|
|
ctx.gpr[23] = (ctx.gpr[29] + static_cast<std::uint32_t>(112));
|
|
ctx.gpr[30] = (ctx.gpr[29] + static_cast<std::uint32_t>(128));
|
|
ctx.fpr[22] = std::bit_cast<float>(aot_mem.aot_load32(ctx.gpr[29] + static_cast<std::uint32_t>(180)));
|
|
ctx.gpr[20] = (2228u << 16u);
|
|
ctx.gpr[4] = (ctx.gpr[17] << 2u);
|
|
goto L_0894CDA8;
|
|
L_0894CDA8:
|
|
ctx.gpr[4] = (ctx.gpr[29] + ctx.gpr[4]);
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[4] + static_cast<std::uint32_t>(64)));
|
|
ctx.gpr[5] = (aot_mem.aot_load32(ctx.gpr[4] + static_cast<std::uint32_t>(68)));
|
|
ctx.gpr[5] = (ctx.gpr[5] & 14u);
|
|
ctx.gpr[5] = (ctx.gpr[5] ^ 8u);
|
|
ctx.gpr[5] = (ctx.gpr[5] < static_cast<std::uint32_t>(1) ? 1u : 0u);
|
|
ctx.gpr[5] = (ctx.gpr[5] & 255u);
|
|
if (ctx.gpr[5] == 0u) {
|
|
ctx.gpr[6] = (aot_mem.aot_load32(ctx.gpr[20] + static_cast<std::uint32_t>(-31116)));
|
|
goto L_0894CDDC;
|
|
}
|
|
goto L_0894CDCC;
|
|
L_0894CDCC:
|
|
ctx.gpr[5] = (aot_mem.aot_load8(ctx.gpr[4] + static_cast<std::uint32_t>(433)));
|
|
{ const bool branch_taken = ctx.gpr[5] != ctx.gpr[19];
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_0894CECC;
|
|
}
|
|
goto L_0894CDD8;
|
|
}
|
|
L_0894CDD8:
|
|
ctx.gpr[6] = (aot_mem.aot_load32(ctx.gpr[20] + static_cast<std::uint32_t>(-31116)));
|
|
goto L_0894CDDC;
|
|
L_0894CDDC:
|
|
ctx.gpr[5] = (static_cast<std::uint32_t>(static_cast<std::int32_t>(static_cast<std::int16_t>(aot_mem.aot_load16(ctx.gpr[4] + static_cast<std::uint32_t>(88))))));
|
|
ctx.gpr[6] = (aot_mem.aot_load16(ctx.gpr[6] + static_cast<std::uint32_t>(40)));
|
|
{ const bool branch_taken = ctx.gpr[5] == ctx.gpr[6];
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_0894CEBC;
|
|
}
|
|
goto L_0894CDEC;
|
|
}
|
|
L_0894CDEC:
|
|
ctx.gpr[6] = (aot_mem.aot_load32(ctx.gpr[20] + static_cast<std::uint32_t>(-31116)));
|
|
ctx.gpr[6] = (aot_mem.aot_load16(ctx.gpr[6] + static_cast<std::uint32_t>(32)));
|
|
{ const bool branch_taken = ctx.gpr[5] == ctx.gpr[6];
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_0894CEBC;
|
|
}
|
|
goto L_0894CDFC;
|
|
}
|
|
L_0894CDFC:
|
|
ctx.gpr[6] = (aot_mem.aot_load32(ctx.gpr[20] + static_cast<std::uint32_t>(-31116)));
|
|
ctx.gpr[6] = (aot_mem.aot_load16(ctx.gpr[6] + static_cast<std::uint32_t>(34)));
|
|
{ const bool branch_taken = ctx.gpr[5] == ctx.gpr[6];
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_0894CEBC;
|
|
}
|
|
goto L_0894CE0C;
|
|
}
|
|
L_0894CE0C:
|
|
ctx.gpr[6] = (aot_mem.aot_load32(ctx.gpr[20] + static_cast<std::uint32_t>(-31116)));
|
|
ctx.gpr[6] = (aot_mem.aot_load16(ctx.gpr[6] + static_cast<std::uint32_t>(42)));
|
|
{ const bool branch_taken = ctx.gpr[5] == ctx.gpr[6];
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_0894CEBC;
|
|
}
|
|
goto L_0894CE1C;
|
|
}
|
|
L_0894CE1C:
|
|
ctx.gpr[6] = (aot_mem.aot_load32(ctx.gpr[20] + static_cast<std::uint32_t>(-31116)));
|
|
ctx.gpr[6] = (aot_mem.aot_load16(ctx.gpr[6] + static_cast<std::uint32_t>(44)));
|
|
{ const bool branch_taken = ctx.gpr[5] == ctx.gpr[6];
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_0894CEBC;
|
|
}
|
|
goto L_0894CE2C;
|
|
}
|
|
L_0894CE2C:
|
|
ctx.gpr[6] = (aot_mem.aot_load32(ctx.gpr[20] + static_cast<std::uint32_t>(-31116)));
|
|
ctx.gpr[6] = (aot_mem.aot_load16(ctx.gpr[6] + static_cast<std::uint32_t>(36)));
|
|
{ const bool branch_taken = ctx.gpr[5] == ctx.gpr[6];
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_0894CEBC;
|
|
}
|
|
goto L_0894CE3C;
|
|
}
|
|
L_0894CE3C:
|
|
ctx.gpr[6] = (aot_mem.aot_load32(ctx.gpr[20] + static_cast<std::uint32_t>(-31116)));
|
|
ctx.gpr[6] = (aot_mem.aot_load16(ctx.gpr[6] + static_cast<std::uint32_t>(46)));
|
|
{ const bool branch_taken = ctx.gpr[5] == ctx.gpr[6];
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_0894CEBC;
|
|
}
|
|
goto L_0894CE4C;
|
|
}
|
|
L_0894CE4C:
|
|
ctx.gpr[6] = (aot_mem.aot_load32(ctx.gpr[20] + static_cast<std::uint32_t>(-31116)));
|
|
ctx.gpr[6] = (aot_mem.aot_load16(ctx.gpr[6] + static_cast<std::uint32_t>(38)));
|
|
{ const bool branch_taken = ctx.gpr[5] == ctx.gpr[6];
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_0894CEBC;
|
|
}
|
|
goto L_0894CE5C;
|
|
}
|
|
L_0894CE5C:
|
|
ctx.gpr[6] = (aot_mem.aot_load32(ctx.gpr[20] + static_cast<std::uint32_t>(-31116)));
|
|
ctx.gpr[6] = (aot_mem.aot_load16(ctx.gpr[6] + static_cast<std::uint32_t>(48)));
|
|
{ const bool branch_taken = ctx.gpr[5] == ctx.gpr[6];
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_0894CEBC;
|
|
}
|
|
goto L_0894CE6C;
|
|
}
|
|
L_0894CE6C:
|
|
ctx.gpr[6] = (aot_mem.aot_load32(ctx.gpr[20] + static_cast<std::uint32_t>(-31116)));
|
|
ctx.gpr[6] = (aot_mem.aot_load16(ctx.gpr[6] + static_cast<std::uint32_t>(50)));
|
|
{ const bool branch_taken = ctx.gpr[5] == ctx.gpr[6];
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_0894CEBC;
|
|
}
|
|
goto L_0894CE7C;
|
|
}
|
|
L_0894CE7C:
|
|
ctx.gpr[6] = (aot_mem.aot_load32(ctx.gpr[20] + static_cast<std::uint32_t>(-31116)));
|
|
ctx.gpr[6] = (aot_mem.aot_load16(ctx.gpr[6] + static_cast<std::uint32_t>(52)));
|
|
{ const bool branch_taken = ctx.gpr[5] == ctx.gpr[6];
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_0894CEBC;
|
|
}
|
|
goto L_0894CE8C;
|
|
}
|
|
L_0894CE8C:
|
|
ctx.gpr[6] = (aot_mem.aot_load32(ctx.gpr[20] + static_cast<std::uint32_t>(-31116)));
|
|
ctx.gpr[6] = (aot_mem.aot_load16(ctx.gpr[6] + static_cast<std::uint32_t>(54)));
|
|
{ const bool branch_taken = ctx.gpr[5] == ctx.gpr[6];
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_0894CEBC;
|
|
}
|
|
goto L_0894CE9C;
|
|
}
|
|
L_0894CE9C:
|
|
ctx.gpr[6] = (aot_mem.aot_load32(ctx.gpr[20] + static_cast<std::uint32_t>(-31116)));
|
|
ctx.gpr[6] = (aot_mem.aot_load16(ctx.gpr[6] + static_cast<std::uint32_t>(56)));
|
|
{ const bool branch_taken = ctx.gpr[5] == ctx.gpr[6];
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_0894CEBC;
|
|
}
|
|
goto L_0894CEAC;
|
|
}
|
|
L_0894CEAC:
|
|
ctx.gpr[6] = (aot_mem.aot_load32(ctx.gpr[20] + static_cast<std::uint32_t>(-31116)));
|
|
ctx.gpr[6] = (aot_mem.aot_load16(ctx.gpr[6] + static_cast<std::uint32_t>(58)));
|
|
{ const bool branch_taken = ctx.gpr[5] != ctx.gpr[6];
|
|
ctx.gpr[5] = (0u | 0u);
|
|
if (branch_taken) {
|
|
goto L_0894CEC4;
|
|
}
|
|
goto L_0894CEBC;
|
|
}
|
|
L_0894CEBC:
|
|
{ const bool branch_taken = 0u == 0u;
|
|
ctx.gpr[5] = (0u | 1u);
|
|
if (branch_taken) {
|
|
goto L_0894CEC4;
|
|
}
|
|
goto L_0894CEC4;
|
|
}
|
|
L_0894CEC4:
|
|
{ const bool branch_taken = ctx.gpr[5] == 0u;
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_0894D258;
|
|
}
|
|
goto L_0894CECC;
|
|
}
|
|
L_0894CECC:
|
|
ctx.gpr[5] = (aot_mem.aot_load32(ctx.gpr[20] + static_cast<std::uint32_t>(-31116)));
|
|
ctx.gpr[6] = (static_cast<std::uint32_t>(static_cast<std::int32_t>(static_cast<std::int16_t>(aot_mem.aot_load16(ctx.gpr[4] + static_cast<std::uint32_t>(88))))));
|
|
ctx.gpr[5] = (aot_mem.aot_load16(ctx.gpr[5] + static_cast<std::uint32_t>(0)));
|
|
{ const bool branch_taken = ctx.gpr[6] != ctx.gpr[5];
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_0894CEF4;
|
|
}
|
|
goto L_0894CEE0;
|
|
}
|
|
L_0894CEE0:
|
|
ctx.fpr[20] = std::bit_cast<float>(std::bit_cast<std::uint32_t>(ctx.fpr[30]));
|
|
ctx.gpr[5] = (ctx.gpr[4] + static_cast<std::uint32_t>(48));
|
|
ctx.fpr[22] = std::bit_cast<float>(std::bit_cast<std::uint32_t>(ctx.fpr[28]));
|
|
{ const bool branch_taken = 0u == 0u;
|
|
ctx.gpr[6] = (ctx.gpr[4] + static_cast<std::uint32_t>(16));
|
|
if (branch_taken) {
|
|
goto L_0894D15C;
|
|
}
|
|
goto L_0894CEF4;
|
|
}
|
|
L_0894CEF4:
|
|
ctx.gpr[5] = (aot_mem.aot_load32(ctx.gpr[20] + static_cast<std::uint32_t>(-31116)));
|
|
ctx.gpr[6] = (static_cast<std::uint32_t>(static_cast<std::int32_t>(static_cast<std::int16_t>(aot_mem.aot_load16(ctx.gpr[4] + static_cast<std::uint32_t>(88))))));
|
|
ctx.gpr[5] = (aot_mem.aot_load16(ctx.gpr[5] + static_cast<std::uint32_t>(16)));
|
|
{ const bool branch_taken = ctx.gpr[6] != ctx.gpr[5];
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_0894CF1C;
|
|
}
|
|
goto L_0894CF08;
|
|
}
|
|
L_0894CF08:
|
|
ctx.fpr[20] = std::bit_cast<float>(std::bit_cast<std::uint32_t>(ctx.fpr[26]));
|
|
ctx.gpr[5] = (ctx.gpr[4] + static_cast<std::uint32_t>(48));
|
|
ctx.fpr[22] = std::bit_cast<float>(std::bit_cast<std::uint32_t>(ctx.fpr[24]));
|
|
{ const bool branch_taken = 0u == 0u;
|
|
ctx.gpr[6] = (ctx.gpr[4] + static_cast<std::uint32_t>(16));
|
|
if (branch_taken) {
|
|
goto L_0894D15C;
|
|
}
|
|
goto L_0894CF1C;
|
|
}
|
|
L_0894CF1C:
|
|
ctx.gpr[5] = (aot_mem.aot_load32(ctx.gpr[20] + static_cast<std::uint32_t>(-31116)));
|
|
ctx.gpr[6] = (static_cast<std::uint32_t>(static_cast<std::int32_t>(static_cast<std::int16_t>(aot_mem.aot_load16(ctx.gpr[4] + static_cast<std::uint32_t>(88))))));
|
|
ctx.gpr[5] = (aot_mem.aot_load16(ctx.gpr[5] + static_cast<std::uint32_t>(18)));
|
|
{ const bool branch_taken = ctx.gpr[6] != ctx.gpr[5];
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_0894CF4C;
|
|
}
|
|
goto L_0894CF30;
|
|
}
|
|
L_0894CF30:
|
|
ctx.gpr[7] = (15664u << 16u);
|
|
ctx.fpr[22] = std::bit_cast<float>(std::bit_cast<std::uint32_t>(ctx.fpr[24]));
|
|
ctx.gpr[7] = (ctx.gpr[7] | 8389u);
|
|
ctx.gpr[5] = (ctx.gpr[4] + static_cast<std::uint32_t>(48));
|
|
ctx.fpr[20] = std::bit_cast<float>(ctx.gpr[7]);
|
|
{ const bool branch_taken = 0u == 0u;
|
|
ctx.gpr[6] = (ctx.gpr[4] + static_cast<std::uint32_t>(16));
|
|
if (branch_taken) {
|
|
goto L_0894D15C;
|
|
}
|
|
goto L_0894CF4C;
|
|
}
|
|
L_0894CF4C:
|
|
ctx.gpr[5] = (aot_mem.aot_load32(ctx.gpr[20] + static_cast<std::uint32_t>(-31116)));
|
|
ctx.gpr[6] = (static_cast<std::uint32_t>(static_cast<std::int32_t>(static_cast<std::int16_t>(aot_mem.aot_load16(ctx.gpr[4] + static_cast<std::uint32_t>(88))))));
|
|
ctx.gpr[5] = (aot_mem.aot_load16(ctx.gpr[5] + static_cast<std::uint32_t>(20)));
|
|
{ const bool branch_taken = ctx.gpr[6] != ctx.gpr[5];
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_0894CF84;
|
|
}
|
|
goto L_0894CF60;
|
|
}
|
|
L_0894CF60:
|
|
ctx.gpr[7] = (16274u << 16u);
|
|
ctx.gpr[7] = (ctx.gpr[7] | 19923u);
|
|
ctx.fpr[20] = std::bit_cast<float>(ctx.gpr[7]);
|
|
ctx.gpr[5] = (ctx.gpr[4] + static_cast<std::uint32_t>(48));
|
|
ctx.gpr[7] = (15892u << 16u);
|
|
ctx.gpr[7] = (ctx.gpr[7] | 31457u);
|
|
ctx.gpr[6] = (ctx.gpr[4] + static_cast<std::uint32_t>(16));
|
|
{ const bool branch_taken = 0u == 0u;
|
|
ctx.fpr[22] = std::bit_cast<float>(ctx.gpr[7]);
|
|
if (branch_taken) {
|
|
goto L_0894D15C;
|
|
}
|
|
goto L_0894CF84;
|
|
}
|
|
L_0894CF84:
|
|
ctx.gpr[5] = (aot_mem.aot_load32(ctx.gpr[20] + static_cast<std::uint32_t>(-31116)));
|
|
ctx.gpr[6] = (static_cast<std::uint32_t>(static_cast<std::int32_t>(static_cast<std::int16_t>(aot_mem.aot_load16(ctx.gpr[4] + static_cast<std::uint32_t>(88))))));
|
|
ctx.gpr[5] = (aot_mem.aot_load16(ctx.gpr[5] + static_cast<std::uint32_t>(22)));
|
|
{ const bool branch_taken = ctx.gpr[6] != ctx.gpr[5];
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_0894CFAC;
|
|
}
|
|
goto L_0894CF98;
|
|
}
|
|
L_0894CF98:
|
|
ctx.fpr[20] = std::bit_cast<float>(std::bit_cast<std::uint32_t>(ctx.fpr[26]));
|
|
ctx.gpr[5] = (ctx.gpr[4] + static_cast<std::uint32_t>(48));
|
|
ctx.fpr[22] = std::bit_cast<float>(std::bit_cast<std::uint32_t>(ctx.fpr[24]));
|
|
{ const bool branch_taken = 0u == 0u;
|
|
ctx.gpr[6] = (ctx.gpr[4] + static_cast<std::uint32_t>(16));
|
|
if (branch_taken) {
|
|
goto L_0894D15C;
|
|
}
|
|
goto L_0894CFAC;
|
|
}
|
|
L_0894CFAC:
|
|
ctx.gpr[5] = (aot_mem.aot_load32(ctx.gpr[20] + static_cast<std::uint32_t>(-31116)));
|
|
ctx.gpr[6] = (static_cast<std::uint32_t>(static_cast<std::int32_t>(static_cast<std::int16_t>(aot_mem.aot_load16(ctx.gpr[4] + static_cast<std::uint32_t>(88))))));
|
|
ctx.gpr[5] = (aot_mem.aot_load16(ctx.gpr[5] + static_cast<std::uint32_t>(400)));
|
|
{ const bool branch_taken = ctx.gpr[6] != ctx.gpr[5];
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_0894CFD4;
|
|
}
|
|
goto L_0894CFC0;
|
|
}
|
|
L_0894CFC0:
|
|
ctx.fpr[20] = std::bit_cast<float>(std::bit_cast<std::uint32_t>(ctx.fpr[26]));
|
|
ctx.gpr[5] = (ctx.gpr[4] + static_cast<std::uint32_t>(48));
|
|
ctx.fpr[22] = std::bit_cast<float>(std::bit_cast<std::uint32_t>(ctx.fpr[24]));
|
|
{ const bool branch_taken = 0u == 0u;
|
|
ctx.gpr[6] = (ctx.gpr[4] + static_cast<std::uint32_t>(16));
|
|
if (branch_taken) {
|
|
goto L_0894D15C;
|
|
}
|
|
goto L_0894CFD4;
|
|
}
|
|
L_0894CFD4:
|
|
ctx.gpr[5] = (aot_mem.aot_load32(ctx.gpr[20] + static_cast<std::uint32_t>(-31116)));
|
|
ctx.gpr[6] = (static_cast<std::uint32_t>(static_cast<std::int32_t>(static_cast<std::int16_t>(aot_mem.aot_load16(ctx.gpr[4] + static_cast<std::uint32_t>(88))))));
|
|
ctx.gpr[5] = (aot_mem.aot_load16(ctx.gpr[5] + static_cast<std::uint32_t>(426)));
|
|
{ const bool branch_taken = ctx.gpr[6] != ctx.gpr[5];
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_0894CFFC;
|
|
}
|
|
goto L_0894CFE8;
|
|
}
|
|
L_0894CFE8:
|
|
ctx.fpr[20] = std::bit_cast<float>(std::bit_cast<std::uint32_t>(ctx.fpr[30]));
|
|
ctx.gpr[5] = (ctx.gpr[4] + static_cast<std::uint32_t>(48));
|
|
ctx.fpr[22] = std::bit_cast<float>(std::bit_cast<std::uint32_t>(ctx.fpr[28]));
|
|
{ const bool branch_taken = 0u == 0u;
|
|
ctx.gpr[6] = (ctx.gpr[4] + static_cast<std::uint32_t>(16));
|
|
if (branch_taken) {
|
|
goto L_0894D15C;
|
|
}
|
|
goto L_0894CFFC;
|
|
}
|
|
L_0894CFFC:
|
|
ctx.gpr[5] = (aot_mem.aot_load32(ctx.gpr[20] + static_cast<std::uint32_t>(-31116)));
|
|
ctx.gpr[6] = (static_cast<std::uint32_t>(static_cast<std::int32_t>(static_cast<std::int16_t>(aot_mem.aot_load16(ctx.gpr[4] + static_cast<std::uint32_t>(88))))));
|
|
ctx.gpr[5] = (aot_mem.aot_load16(ctx.gpr[5] + static_cast<std::uint32_t>(422)));
|
|
{ const bool branch_taken = ctx.gpr[6] != ctx.gpr[5];
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_0894D024;
|
|
}
|
|
goto L_0894D010;
|
|
}
|
|
L_0894D010:
|
|
ctx.fpr[20] = std::bit_cast<float>(std::bit_cast<std::uint32_t>(ctx.fpr[24]));
|
|
ctx.gpr[5] = (ctx.gpr[4] + static_cast<std::uint32_t>(48));
|
|
ctx.fpr[22] = std::bit_cast<float>(std::bit_cast<std::uint32_t>(ctx.fpr[20]));
|
|
{ const bool branch_taken = 0u == 0u;
|
|
ctx.gpr[6] = (ctx.gpr[4] + static_cast<std::uint32_t>(16));
|
|
if (branch_taken) {
|
|
goto L_0894D15C;
|
|
}
|
|
goto L_0894D024;
|
|
}
|
|
L_0894D024:
|
|
ctx.gpr[5] = (aot_mem.aot_load32(ctx.gpr[20] + static_cast<std::uint32_t>(-31116)));
|
|
ctx.gpr[6] = (static_cast<std::uint32_t>(static_cast<std::int32_t>(static_cast<std::int16_t>(aot_mem.aot_load16(ctx.gpr[4] + static_cast<std::uint32_t>(88))))));
|
|
ctx.gpr[5] = (aot_mem.aot_load16(ctx.gpr[5] + static_cast<std::uint32_t>(428)));
|
|
{ const bool branch_taken = ctx.gpr[6] != ctx.gpr[5];
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_0894D04C;
|
|
}
|
|
goto L_0894D038;
|
|
}
|
|
L_0894D038:
|
|
ctx.fpr[20] = std::bit_cast<float>(std::bit_cast<std::uint32_t>(ctx.fpr[24]));
|
|
ctx.gpr[5] = (ctx.gpr[4] + static_cast<std::uint32_t>(48));
|
|
ctx.fpr[22] = std::bit_cast<float>(std::bit_cast<std::uint32_t>(ctx.fpr[20]));
|
|
{ const bool branch_taken = 0u == 0u;
|
|
ctx.gpr[6] = (ctx.gpr[4] + static_cast<std::uint32_t>(16));
|
|
if (branch_taken) {
|
|
goto L_0894D15C;
|
|
}
|
|
goto L_0894D04C;
|
|
}
|
|
L_0894D04C:
|
|
ctx.gpr[6] = (aot_mem.aot_load32(ctx.gpr[20] + static_cast<std::uint32_t>(-31116)));
|
|
ctx.gpr[5] = (static_cast<std::uint32_t>(static_cast<std::int32_t>(static_cast<std::int16_t>(aot_mem.aot_load16(ctx.gpr[4] + static_cast<std::uint32_t>(88))))));
|
|
ctx.gpr[6] = (aot_mem.aot_load16(ctx.gpr[6] + static_cast<std::uint32_t>(40)));
|
|
{ const bool branch_taken = ctx.gpr[5] == ctx.gpr[6];
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_0894D130;
|
|
}
|
|
goto L_0894D060;
|
|
}
|
|
L_0894D060:
|
|
ctx.gpr[6] = (aot_mem.aot_load32(ctx.gpr[20] + static_cast<std::uint32_t>(-31116)));
|
|
ctx.gpr[6] = (aot_mem.aot_load16(ctx.gpr[6] + static_cast<std::uint32_t>(32)));
|
|
{ const bool branch_taken = ctx.gpr[5] == ctx.gpr[6];
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_0894D130;
|
|
}
|
|
goto L_0894D070;
|
|
}
|
|
L_0894D070:
|
|
ctx.gpr[6] = (aot_mem.aot_load32(ctx.gpr[20] + static_cast<std::uint32_t>(-31116)));
|
|
ctx.gpr[6] = (aot_mem.aot_load16(ctx.gpr[6] + static_cast<std::uint32_t>(34)));
|
|
{ const bool branch_taken = ctx.gpr[5] == ctx.gpr[6];
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_0894D130;
|
|
}
|
|
goto L_0894D080;
|
|
}
|
|
L_0894D080:
|
|
ctx.gpr[6] = (aot_mem.aot_load32(ctx.gpr[20] + static_cast<std::uint32_t>(-31116)));
|
|
ctx.gpr[6] = (aot_mem.aot_load16(ctx.gpr[6] + static_cast<std::uint32_t>(42)));
|
|
{ const bool branch_taken = ctx.gpr[5] == ctx.gpr[6];
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_0894D130;
|
|
}
|
|
goto L_0894D090;
|
|
}
|
|
L_0894D090:
|
|
ctx.gpr[6] = (aot_mem.aot_load32(ctx.gpr[20] + static_cast<std::uint32_t>(-31116)));
|
|
ctx.gpr[6] = (aot_mem.aot_load16(ctx.gpr[6] + static_cast<std::uint32_t>(44)));
|
|
{ const bool branch_taken = ctx.gpr[5] == ctx.gpr[6];
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_0894D130;
|
|
}
|
|
goto L_0894D0A0;
|
|
}
|
|
L_0894D0A0:
|
|
ctx.gpr[6] = (aot_mem.aot_load32(ctx.gpr[20] + static_cast<std::uint32_t>(-31116)));
|
|
ctx.gpr[6] = (aot_mem.aot_load16(ctx.gpr[6] + static_cast<std::uint32_t>(36)));
|
|
{ const bool branch_taken = ctx.gpr[5] == ctx.gpr[6];
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_0894D130;
|
|
}
|
|
goto L_0894D0B0;
|
|
}
|
|
L_0894D0B0:
|
|
ctx.gpr[6] = (aot_mem.aot_load32(ctx.gpr[20] + static_cast<std::uint32_t>(-31116)));
|
|
ctx.gpr[6] = (aot_mem.aot_load16(ctx.gpr[6] + static_cast<std::uint32_t>(46)));
|
|
{ const bool branch_taken = ctx.gpr[5] == ctx.gpr[6];
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_0894D130;
|
|
}
|
|
goto L_0894D0C0;
|
|
}
|
|
L_0894D0C0:
|
|
ctx.gpr[6] = (aot_mem.aot_load32(ctx.gpr[20] + static_cast<std::uint32_t>(-31116)));
|
|
ctx.gpr[6] = (aot_mem.aot_load16(ctx.gpr[6] + static_cast<std::uint32_t>(38)));
|
|
{ const bool branch_taken = ctx.gpr[5] == ctx.gpr[6];
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_0894D130;
|
|
}
|
|
goto L_0894D0D0;
|
|
}
|
|
L_0894D0D0:
|
|
ctx.gpr[6] = (aot_mem.aot_load32(ctx.gpr[20] + static_cast<std::uint32_t>(-31116)));
|
|
ctx.gpr[6] = (aot_mem.aot_load16(ctx.gpr[6] + static_cast<std::uint32_t>(48)));
|
|
{ const bool branch_taken = ctx.gpr[5] == ctx.gpr[6];
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_0894D130;
|
|
}
|
|
goto L_0894D0E0;
|
|
}
|
|
L_0894D0E0:
|
|
ctx.gpr[6] = (aot_mem.aot_load32(ctx.gpr[20] + static_cast<std::uint32_t>(-31116)));
|
|
ctx.gpr[6] = (aot_mem.aot_load16(ctx.gpr[6] + static_cast<std::uint32_t>(50)));
|
|
{ const bool branch_taken = ctx.gpr[5] == ctx.gpr[6];
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_0894D130;
|
|
}
|
|
goto L_0894D0F0;
|
|
}
|
|
L_0894D0F0:
|
|
ctx.gpr[6] = (aot_mem.aot_load32(ctx.gpr[20] + static_cast<std::uint32_t>(-31116)));
|
|
ctx.gpr[6] = (aot_mem.aot_load16(ctx.gpr[6] + static_cast<std::uint32_t>(52)));
|
|
{ const bool branch_taken = ctx.gpr[5] == ctx.gpr[6];
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_0894D130;
|
|
}
|
|
goto L_0894D100;
|
|
}
|
|
L_0894D100:
|
|
ctx.gpr[6] = (aot_mem.aot_load32(ctx.gpr[20] + static_cast<std::uint32_t>(-31116)));
|
|
ctx.gpr[6] = (aot_mem.aot_load16(ctx.gpr[6] + static_cast<std::uint32_t>(54)));
|
|
{ const bool branch_taken = ctx.gpr[5] == ctx.gpr[6];
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_0894D130;
|
|
}
|
|
goto L_0894D110;
|
|
}
|
|
L_0894D110:
|
|
ctx.gpr[6] = (aot_mem.aot_load32(ctx.gpr[20] + static_cast<std::uint32_t>(-31116)));
|
|
ctx.gpr[6] = (aot_mem.aot_load16(ctx.gpr[6] + static_cast<std::uint32_t>(56)));
|
|
{ const bool branch_taken = ctx.gpr[5] == ctx.gpr[6];
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_0894D130;
|
|
}
|
|
goto L_0894D120;
|
|
}
|
|
L_0894D120:
|
|
ctx.gpr[6] = (aot_mem.aot_load32(ctx.gpr[20] + static_cast<std::uint32_t>(-31116)));
|
|
ctx.gpr[6] = (aot_mem.aot_load16(ctx.gpr[6] + static_cast<std::uint32_t>(58)));
|
|
{ const bool branch_taken = ctx.gpr[5] != ctx.gpr[6];
|
|
ctx.gpr[5] = (0u | 0u);
|
|
if (branch_taken) {
|
|
goto L_0894D138;
|
|
}
|
|
goto L_0894D130;
|
|
}
|
|
L_0894D130:
|
|
{ const bool branch_taken = 0u == 0u;
|
|
ctx.gpr[5] = (0u | 1u);
|
|
if (branch_taken) {
|
|
goto L_0894D138;
|
|
}
|
|
goto L_0894D138;
|
|
}
|
|
L_0894D138:
|
|
{ const bool branch_taken = ctx.gpr[5] == 0u;
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_0894D154;
|
|
}
|
|
goto L_0894D140;
|
|
}
|
|
L_0894D140:
|
|
ctx.fpr[20] = std::bit_cast<float>(std::bit_cast<std::uint32_t>(ctx.fpr[24]));
|
|
ctx.gpr[5] = (ctx.gpr[4] + static_cast<std::uint32_t>(48));
|
|
ctx.fpr[22] = std::bit_cast<float>(std::bit_cast<std::uint32_t>(ctx.fpr[20]));
|
|
{ const bool branch_taken = 0u == 0u;
|
|
ctx.gpr[6] = (ctx.gpr[4] + static_cast<std::uint32_t>(16));
|
|
if (branch_taken) {
|
|
goto L_0894D15C;
|
|
}
|
|
goto L_0894D154;
|
|
}
|
|
L_0894D154:
|
|
{ const bool branch_taken = 0u == 0u;
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_0894D258;
|
|
}
|
|
goto L_0894D15C;
|
|
}
|
|
L_0894D15C:
|
|
{ const std::uint32_t vfpu_address = ctx.gpr[5] + static_cast<std::uint32_t>(0);
|
|
float vfpu_value[4]{
|
|
std::bit_cast<float>(aot_mem.aot_load32(vfpu_address + 0u)),
|
|
std::bit_cast<float>(aot_mem.aot_load32(vfpu_address + 4u)),
|
|
std::bit_cast<float>(aot_mem.aot_load32(vfpu_address + 8u)),
|
|
std::bit_cast<float>(aot_mem.aot_load32(vfpu_address + 12u))};
|
|
ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); }
|
|
{ float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value);
|
|
const std::uint32_t vfpu_address = ctx.gpr[21] + static_cast<std::uint32_t>(0);
|
|
aot_mem.aot_store32(vfpu_address + 0u, std::bit_cast<std::uint32_t>(vfpu_value[0]));
|
|
aot_mem.aot_store32(vfpu_address + 4u, std::bit_cast<std::uint32_t>(vfpu_value[1]));
|
|
aot_mem.aot_store32(vfpu_address + 8u, std::bit_cast<std::uint32_t>(vfpu_value[2]));
|
|
aot_mem.aot_store32(vfpu_address + 12u, std::bit_cast<std::uint32_t>(vfpu_value[3])); }
|
|
ctx.fpr[12] = std::bit_cast<float>(aot_mem.aot_load32(ctx.gpr[6] + static_cast<std::uint32_t>(0)));
|
|
{ const float fs = ctx.fpr[22]; const float ft = ctx.fpr[12]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[12] = std::bit_cast<float>(0x7FC00000u); else ctx.fpr[12] = fs * ft; }
|
|
ctx.fpr[13] = std::bit_cast<float>(aot_mem.aot_load32(ctx.gpr[4] + static_cast<std::uint32_t>(0)));
|
|
{ const float fs = ctx.fpr[20]; const float ft = ctx.fpr[13]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[13] = std::bit_cast<float>(0x7FC00000u); else ctx.fpr[13] = fs * ft; }
|
|
ctx.fpr[12] = ctx.fpr[12] + ctx.fpr[13];
|
|
ctx.fpr[14] = std::bit_cast<float>(aot_mem.aot_load32(ctx.gpr[29] + static_cast<std::uint32_t>(144)));
|
|
ctx.fpr[12] = ctx.fpr[12] + ctx.fpr[14];
|
|
aot_mem.aot_store32(ctx.gpr[29] + static_cast<std::uint32_t>(144), std::bit_cast<std::uint32_t>(ctx.fpr[12]));
|
|
ctx.fpr[12] = std::bit_cast<float>(aot_mem.aot_load32(ctx.gpr[6] + static_cast<std::uint32_t>(4)));
|
|
{ const float fs = ctx.fpr[22]; const float ft = ctx.fpr[12]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[12] = std::bit_cast<float>(0x7FC00000u); else ctx.fpr[12] = fs * ft; }
|
|
ctx.fpr[15] = std::bit_cast<float>(aot_mem.aot_load32(ctx.gpr[4] + static_cast<std::uint32_t>(4)));
|
|
{ const float fs = ctx.fpr[20]; const float ft = ctx.fpr[15]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[15] = std::bit_cast<float>(0x7FC00000u); else ctx.fpr[15] = fs * ft; }
|
|
ctx.fpr[12] = ctx.fpr[12] + ctx.fpr[15];
|
|
ctx.fpr[13] = std::bit_cast<float>(aot_mem.aot_load32(ctx.gpr[29] + static_cast<std::uint32_t>(148)));
|
|
ctx.fpr[12] = ctx.fpr[12] + ctx.fpr[13];
|
|
aot_mem.aot_store32(ctx.gpr[29] + static_cast<std::uint32_t>(148), std::bit_cast<std::uint32_t>(ctx.fpr[12]));
|
|
{ const std::uint32_t vfpu_address = ctx.gpr[18] + static_cast<std::uint32_t>(0);
|
|
float vfpu_value[4]{
|
|
std::bit_cast<float>(aot_mem.aot_load32(vfpu_address + 0u)),
|
|
std::bit_cast<float>(aot_mem.aot_load32(vfpu_address + 4u)),
|
|
std::bit_cast<float>(aot_mem.aot_load32(vfpu_address + 8u)),
|
|
std::bit_cast<float>(aot_mem.aot_load32(vfpu_address + 12u))};
|
|
ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); }
|
|
{ const std::uint32_t vfpu_address = ctx.gpr[21] + static_cast<std::uint32_t>(0);
|
|
float vfpu_value[4]{
|
|
std::bit_cast<float>(aot_mem.aot_load32(vfpu_address + 0u)),
|
|
std::bit_cast<float>(aot_mem.aot_load32(vfpu_address + 4u)),
|
|
std::bit_cast<float>(aot_mem.aot_load32(vfpu_address + 8u)),
|
|
std::bit_cast<float>(aot_mem.aot_load32(vfpu_address + 12u))};
|
|
ctx.write_vfpu_vector_ct<1u, 4u>(vfpu_value); }
|
|
{ float vfpu_s[4]{}, vfpu_t[4]{}, vfpu_d[4]{};
|
|
ctx.read_vfpu_vector_with_source_prefix_ct<0u, 3u, 0u>(vfpu_s);
|
|
ctx.read_vfpu_vector_with_source_prefix_ct<1u, 3u, 1u>(vfpu_t);
|
|
for (std::uint32_t i = 0; i < 3u; ++i) vfpu_d[i] = vfpu_s[i] - vfpu_t[i];
|
|
ctx.write_vfpu_vector_with_destination_prefix_ct<0u, 3u>(vfpu_d); }
|
|
{ float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value);
|
|
const std::uint32_t vfpu_address = ctx.gpr[22] + static_cast<std::uint32_t>(0);
|
|
aot_mem.aot_store32(vfpu_address + 0u, std::bit_cast<std::uint32_t>(vfpu_value[0]));
|
|
aot_mem.aot_store32(vfpu_address + 4u, std::bit_cast<std::uint32_t>(vfpu_value[1]));
|
|
aot_mem.aot_store32(vfpu_address + 8u, std::bit_cast<std::uint32_t>(vfpu_value[2]));
|
|
aot_mem.aot_store32(vfpu_address + 12u, std::bit_cast<std::uint32_t>(vfpu_value[3])); }
|
|
{ const std::uint32_t vfpu_address = ctx.gpr[22] + static_cast<std::uint32_t>(0);
|
|
float vfpu_value[4]{
|
|
std::bit_cast<float>(aot_mem.aot_load32(vfpu_address + 0u)),
|
|
std::bit_cast<float>(aot_mem.aot_load32(vfpu_address + 4u)),
|
|
std::bit_cast<float>(aot_mem.aot_load32(vfpu_address + 8u)),
|
|
std::bit_cast<float>(aot_mem.aot_load32(vfpu_address + 12u))};
|
|
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[23] + static_cast<std::uint32_t>(0);
|
|
aot_mem.aot_store32(vfpu_address + 0u, std::bit_cast<std::uint32_t>(vfpu_value[0]));
|
|
aot_mem.aot_store32(vfpu_address + 4u, std::bit_cast<std::uint32_t>(vfpu_value[1]));
|
|
aot_mem.aot_store32(vfpu_address + 8u, std::bit_cast<std::uint32_t>(vfpu_value[2]));
|
|
aot_mem.aot_store32(vfpu_address + 12u, std::bit_cast<std::uint32_t>(vfpu_value[3])); }
|
|
{ const std::uint32_t vfpu_address = ctx.gpr[23] + static_cast<std::uint32_t>(0);
|
|
float vfpu_value[4]{
|
|
std::bit_cast<float>(aot_mem.aot_load32(vfpu_address + 0u)),
|
|
std::bit_cast<float>(aot_mem.aot_load32(vfpu_address + 4u)),
|
|
std::bit_cast<float>(aot_mem.aot_load32(vfpu_address + 8u)),
|
|
std::bit_cast<float>(aot_mem.aot_load32(vfpu_address + 12u))};
|
|
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[30] + static_cast<std::uint32_t>(0);
|
|
aot_mem.aot_store32(vfpu_address + 0u, std::bit_cast<std::uint32_t>(vfpu_value[0]));
|
|
aot_mem.aot_store32(vfpu_address + 4u, std::bit_cast<std::uint32_t>(vfpu_value[1]));
|
|
aot_mem.aot_store32(vfpu_address + 8u, std::bit_cast<std::uint32_t>(vfpu_value[2]));
|
|
aot_mem.aot_store32(vfpu_address + 12u, std::bit_cast<std::uint32_t>(vfpu_value[3])); }
|
|
{ const std::uint32_t vfpu_address = ctx.gpr[30] + static_cast<std::uint32_t>(0);
|
|
float vfpu_value[4]{
|
|
std::bit_cast<float>(aot_mem.aot_load32(vfpu_address + 0u)),
|
|
std::bit_cast<float>(aot_mem.aot_load32(vfpu_address + 4u)),
|
|
std::bit_cast<float>(aot_mem.aot_load32(vfpu_address + 8u)),
|
|
std::bit_cast<float>(aot_mem.aot_load32(vfpu_address + 12u))};
|
|
ctx.write_vfpu_vector_ct<1u, 4u>(vfpu_value); }
|
|
{ float vfpu_value[4]{}; vfpu_value[0u] = 1.0f;
|
|
ctx.write_vfpu_vector_with_destination_prefix_ct<0u, 4u>(vfpu_value); }
|
|
ctx.execute_vfpu_vdot_ct<28u, 1u, 1u, 3u>();
|
|
ctx.execute_vfpu_vcmp_ct<28u, 32u, 1u, 3u>();
|
|
{ float vfpu_s[4]{}, vfpu_d[4]{};
|
|
ctx.read_vfpu_vector_with_source_prefix_ct<28u, 1u, 0u>(vfpu_s);
|
|
for (std::uint32_t i = 0; i < 1u; ++i) vfpu_d[i] = 1.0f / std::sqrt(vfpu_s[i]);
|
|
ctx.write_vfpu_vector_with_destination_prefix_ct<28u, 1u>(vfpu_d); }
|
|
ctx.execute_vfpu_vscl_ct<1u, 1u, 28u, 3u>();
|
|
ctx.execute_vfpu_vcmov_ct<1u, 0u, 3u, 0u, false>();
|
|
{ float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<1u, 4u>(vfpu_value);
|
|
const std::uint32_t vfpu_address = ctx.gpr[30] + static_cast<std::uint32_t>(0);
|
|
aot_mem.aot_store32(vfpu_address + 0u, std::bit_cast<std::uint32_t>(vfpu_value[0]));
|
|
aot_mem.aot_store32(vfpu_address + 4u, std::bit_cast<std::uint32_t>(vfpu_value[1]));
|
|
aot_mem.aot_store32(vfpu_address + 8u, std::bit_cast<std::uint32_t>(vfpu_value[2]));
|
|
aot_mem.aot_store32(vfpu_address + 12u, std::bit_cast<std::uint32_t>(vfpu_value[3])); }
|
|
ctx.gpr[4] = (16384u << 16u);
|
|
ctx.fpr[12] = std::bit_cast<float>(ctx.gpr[4]);
|
|
ctx.gpr[4] = (std::bit_cast<std::uint32_t>(ctx.fpr[12]));
|
|
ctx.set_vfpu_scalar_bits_ct<1u>(ctx.gpr[4]);
|
|
{ const std::uint32_t vfpu_address = ctx.gpr[30] + static_cast<std::uint32_t>(0);
|
|
float vfpu_value[4]{
|
|
std::bit_cast<float>(aot_mem.aot_load32(vfpu_address + 0u)),
|
|
std::bit_cast<float>(aot_mem.aot_load32(vfpu_address + 4u)),
|
|
std::bit_cast<float>(aot_mem.aot_load32(vfpu_address + 8u)),
|
|
std::bit_cast<float>(aot_mem.aot_load32(vfpu_address + 12u))};
|
|
ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); }
|
|
ctx.execute_vfpu_vscl_ct<0u, 0u, 1u, 3u>();
|
|
{ float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value);
|
|
const std::uint32_t vfpu_address = ctx.gpr[30] + static_cast<std::uint32_t>(0);
|
|
aot_mem.aot_store32(vfpu_address + 0u, std::bit_cast<std::uint32_t>(vfpu_value[0]));
|
|
aot_mem.aot_store32(vfpu_address + 4u, std::bit_cast<std::uint32_t>(vfpu_value[1]));
|
|
aot_mem.aot_store32(vfpu_address + 8u, std::bit_cast<std::uint32_t>(vfpu_value[2]));
|
|
aot_mem.aot_store32(vfpu_address + 12u, std::bit_cast<std::uint32_t>(vfpu_value[3])); }
|
|
{ const std::uint32_t vfpu_address = ctx.gpr[21] + static_cast<std::uint32_t>(0);
|
|
float vfpu_value[4]{
|
|
std::bit_cast<float>(aot_mem.aot_load32(vfpu_address + 0u)),
|
|
std::bit_cast<float>(aot_mem.aot_load32(vfpu_address + 4u)),
|
|
std::bit_cast<float>(aot_mem.aot_load32(vfpu_address + 8u)),
|
|
std::bit_cast<float>(aot_mem.aot_load32(vfpu_address + 12u))};
|
|
ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); }
|
|
{ const std::uint32_t vfpu_address = ctx.gpr[30] + static_cast<std::uint32_t>(0);
|
|
float vfpu_value[4]{
|
|
std::bit_cast<float>(aot_mem.aot_load32(vfpu_address + 0u)),
|
|
std::bit_cast<float>(aot_mem.aot_load32(vfpu_address + 4u)),
|
|
std::bit_cast<float>(aot_mem.aot_load32(vfpu_address + 8u)),
|
|
std::bit_cast<float>(aot_mem.aot_load32(vfpu_address + 12u))};
|
|
ctx.write_vfpu_vector_ct<1u, 4u>(vfpu_value); }
|
|
{ float vfpu_s[4]{}, vfpu_t[4]{}, vfpu_d[4]{};
|
|
ctx.read_vfpu_vector_with_source_prefix_ct<0u, 3u, 0u>(vfpu_s);
|
|
ctx.read_vfpu_vector_with_source_prefix_ct<1u, 3u, 1u>(vfpu_t);
|
|
for (std::uint32_t i = 0; i < 3u; ++i) vfpu_d[i] = vfpu_s[i] - vfpu_t[i];
|
|
ctx.write_vfpu_vector_with_destination_prefix_ct<0u, 3u>(vfpu_d); }
|
|
{ float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value);
|
|
const std::uint32_t vfpu_address = ctx.gpr[22] + static_cast<std::uint32_t>(0);
|
|
aot_mem.aot_store32(vfpu_address + 0u, std::bit_cast<std::uint32_t>(vfpu_value[0]));
|
|
aot_mem.aot_store32(vfpu_address + 4u, std::bit_cast<std::uint32_t>(vfpu_value[1]));
|
|
aot_mem.aot_store32(vfpu_address + 8u, std::bit_cast<std::uint32_t>(vfpu_value[2]));
|
|
aot_mem.aot_store32(vfpu_address + 12u, std::bit_cast<std::uint32_t>(vfpu_value[3])); }
|
|
{ const std::uint32_t vfpu_address = ctx.gpr[22] + static_cast<std::uint32_t>(0);
|
|
float vfpu_value[4]{
|
|
std::bit_cast<float>(aot_mem.aot_load32(vfpu_address + 0u)),
|
|
std::bit_cast<float>(aot_mem.aot_load32(vfpu_address + 4u)),
|
|
std::bit_cast<float>(aot_mem.aot_load32(vfpu_address + 8u)),
|
|
std::bit_cast<float>(aot_mem.aot_load32(vfpu_address + 12u))};
|
|
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[23] + static_cast<std::uint32_t>(0);
|
|
aot_mem.aot_store32(vfpu_address + 0u, std::bit_cast<std::uint32_t>(vfpu_value[0]));
|
|
aot_mem.aot_store32(vfpu_address + 4u, std::bit_cast<std::uint32_t>(vfpu_value[1]));
|
|
aot_mem.aot_store32(vfpu_address + 8u, std::bit_cast<std::uint32_t>(vfpu_value[2]));
|
|
aot_mem.aot_store32(vfpu_address + 12u, std::bit_cast<std::uint32_t>(vfpu_value[3])); }
|
|
ctx.gpr[4] = (ctx.gpr[23] | 0u);
|
|
ctx.gpr[31] = (0x0894D224u);
|
|
ctx.gpr[5] = (0u | 0u);
|
|
if (rt.invoke_chained_direct<&recomp_unit_0040_entry, 40u, 433u, 0x088A6DC0u>(ctx, &aot_mem) && ctx.pc == 0x0894D224u) goto L_0894D224;
|
|
return;
|
|
L_0894D224:
|
|
ctx.gpr[4] = (49024u << 16u);
|
|
ctx.fpr[12] = std::bit_cast<float>(ctx.gpr[4]);
|
|
ctx.gpr[4] = (ctx.gpr[23] | 0u);
|
|
ctx.gpr[5] = (0u + static_cast<std::uint32_t>(-1));
|
|
ctx.gpr[31] = (0x0894D23Cu);
|
|
ctx.gpr[6] = (0u | 0u);
|
|
if (rt.invoke_chained_direct<&recomp_unit_0040_entry, 40u, 422u, 0x088A6CD4u>(ctx, &aot_mem) && ctx.pc == 0x0894D23Cu) goto L_0894D23C;
|
|
return;
|
|
L_0894D23C:
|
|
{ const bool branch_taken = ctx.gpr[2] == 0u;
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_0894D258;
|
|
}
|
|
goto L_0894D244;
|
|
}
|
|
L_0894D244:
|
|
ctx.gpr[4] = (ctx.gpr[17] << 4u);
|
|
ctx.gpr[4] = (ctx.gpr[16] + ctx.gpr[4]);
|
|
ctx.gpr[4] = (ctx.gpr[4] + static_cast<std::uint32_t>(3040));
|
|
{ const std::uint32_t vfpu_address = ctx.gpr[23] + static_cast<std::uint32_t>(0);
|
|
float vfpu_value[4]{
|
|
std::bit_cast<float>(aot_mem.aot_load32(vfpu_address + 0u)),
|
|
std::bit_cast<float>(aot_mem.aot_load32(vfpu_address + 4u)),
|
|
std::bit_cast<float>(aot_mem.aot_load32(vfpu_address + 8u)),
|
|
std::bit_cast<float>(aot_mem.aot_load32(vfpu_address + 12u))};
|
|
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[4] + static_cast<std::uint32_t>(0);
|
|
aot_mem.aot_store32(vfpu_address + 0u, std::bit_cast<std::uint32_t>(vfpu_value[0]));
|
|
aot_mem.aot_store32(vfpu_address + 4u, std::bit_cast<std::uint32_t>(vfpu_value[1]));
|
|
aot_mem.aot_store32(vfpu_address + 8u, std::bit_cast<std::uint32_t>(vfpu_value[2]));
|
|
aot_mem.aot_store32(vfpu_address + 12u, std::bit_cast<std::uint32_t>(vfpu_value[3])); }
|
|
goto L_0894D258;
|
|
L_0894D258:
|
|
ctx.gpr[4] = (ctx.gpr[17] + static_cast<std::uint32_t>(1));
|
|
ctx.gpr[17] = (ctx.gpr[4] << 16u);
|
|
ctx.gpr[4] = (static_cast<std::uint32_t>(static_cast<std::int32_t>(static_cast<std::int16_t>(aot_mem.aot_load16(ctx.gpr[29] + static_cast<std::uint32_t>(96))))));
|
|
ctx.gpr[17] = (static_cast<std::uint32_t>(static_cast<std::int32_t>(ctx.gpr[17]) >> 16u));
|
|
ctx.gpr[4] = (static_cast<std::int32_t>(ctx.gpr[17]) < static_cast<std::int32_t>(ctx.gpr[4]) ? 1u : 0u);
|
|
{ const bool branch_taken = ctx.gpr[4] != 0u;
|
|
ctx.gpr[4] = (ctx.gpr[17] << 2u);
|
|
if (branch_taken) {
|
|
goto L_0894CDA8;
|
|
}
|
|
goto L_0894D274;
|
|
}
|
|
L_0894D274:
|
|
aot_mem.aot_store32(ctx.gpr[29] + static_cast<std::uint32_t>(176), std::bit_cast<std::uint32_t>(ctx.fpr[20]));
|
|
aot_mem.aot_store32(ctx.gpr[29] + static_cast<std::uint32_t>(180), std::bit_cast<std::uint32_t>(ctx.fpr[22]));
|
|
goto L_0894D27C;
|
|
L_0894D27C:
|
|
ctx.fpr[20] = std::bit_cast<float>(aot_mem.aot_load32(ctx.gpr[29] + static_cast<std::uint32_t>(240)));
|
|
ctx.fpr[22] = std::bit_cast<float>(aot_mem.aot_load32(ctx.gpr[29] + static_cast<std::uint32_t>(244)));
|
|
ctx.fpr[24] = std::bit_cast<float>(aot_mem.aot_load32(ctx.gpr[29] + static_cast<std::uint32_t>(248)));
|
|
ctx.fpr[26] = std::bit_cast<float>(aot_mem.aot_load32(ctx.gpr[29] + static_cast<std::uint32_t>(252)));
|
|
ctx.fpr[28] = std::bit_cast<float>(aot_mem.aot_load32(ctx.gpr[29] + static_cast<std::uint32_t>(256)));
|
|
ctx.fpr[30] = std::bit_cast<float>(aot_mem.aot_load32(ctx.gpr[29] + static_cast<std::uint32_t>(260)));
|
|
ctx.gpr[16] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast<std::uint32_t>(264)));
|
|
ctx.gpr[17] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast<std::uint32_t>(268)));
|
|
ctx.gpr[18] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast<std::uint32_t>(272)));
|
|
ctx.gpr[19] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast<std::uint32_t>(276)));
|
|
ctx.gpr[20] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast<std::uint32_t>(280)));
|
|
ctx.gpr[21] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast<std::uint32_t>(284)));
|
|
ctx.gpr[22] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast<std::uint32_t>(288)));
|
|
ctx.gpr[23] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast<std::uint32_t>(292)));
|
|
ctx.gpr[30] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast<std::uint32_t>(296)));
|
|
ctx.gpr[31] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast<std::uint32_t>(300)));
|
|
jump_target = ctx.gpr[31];
|
|
ctx.gpr[29] = (ctx.gpr[29] + static_cast<std::uint32_t>(304));
|
|
local_pc = jump_target;
|
|
if (++local_transfers < 2048u) { entry_id = 0u; goto LOCAL_DISPATCH; }
|
|
ctx.pc = jump_target;
|
|
return;
|
|
L_0894D2C4:
|
|
ctx.gpr[29] = (ctx.gpr[29] + static_cast<std::uint32_t>(-176));
|
|
ctx.gpr[5] = (aot_mem.aot_load16(ctx.gpr[4] + static_cast<std::uint32_t>(86)));
|
|
ctx.gpr[6] = (2230u << 16u);
|
|
ctx.gpr[6] = (aot_mem.aot_load32(ctx.gpr[6] + static_cast<std::uint32_t>(-8100)));
|
|
aot_mem.aot_store32(ctx.gpr[29] + static_cast<std::uint32_t>(124), ctx.gpr[16]);
|
|
aot_mem.aot_store32(ctx.gpr[29] + static_cast<std::uint32_t>(132), ctx.gpr[18]);
|
|
ctx.gpr[16] = (ctx.gpr[4] + static_cast<std::uint32_t>(48));
|
|
ctx.gpr[5] = (ctx.gpr[6] + ctx.gpr[5]);
|
|
ctx.gpr[18] = (ctx.gpr[4] | 0u);
|
|
ctx.gpr[5] = (ctx.gpr[5] + static_cast<std::uint32_t>(7));
|
|
ctx.gpr[4] = (16384u << 16u);
|
|
aot_mem.aot_store32(ctx.gpr[29] + static_cast<std::uint32_t>(116), std::bit_cast<std::uint32_t>(ctx.fpr[20]));
|
|
aot_mem.aot_store32(ctx.gpr[29] + static_cast<std::uint32_t>(140), ctx.gpr[20]);
|
|
ctx.fpr[20] = std::bit_cast<float>(ctx.gpr[4]);
|
|
ctx.gpr[20] = (ctx.gpr[29] + static_cast<std::uint32_t>(48));
|
|
ctx.gpr[5] = (ctx.gpr[5] & 3u);
|
|
aot_mem.aot_store32(ctx.gpr[29] + static_cast<std::uint32_t>(120), std::bit_cast<std::uint32_t>(ctx.fpr[22]));
|
|
aot_mem.aot_store32(ctx.gpr[29] + static_cast<std::uint32_t>(128), ctx.gpr[17]);
|
|
aot_mem.aot_store32(ctx.gpr[29] + static_cast<std::uint32_t>(136), ctx.gpr[19]);
|
|
aot_mem.aot_store32(ctx.gpr[29] + static_cast<std::uint32_t>(144), ctx.gpr[21]);
|
|
aot_mem.aot_store32(ctx.gpr[29] + static_cast<std::uint32_t>(148), ctx.gpr[22]);
|
|
aot_mem.aot_store32(ctx.gpr[29] + static_cast<std::uint32_t>(152), ctx.gpr[23]);
|
|
aot_mem.aot_store32(ctx.gpr[29] + static_cast<std::uint32_t>(156), ctx.gpr[30]);
|
|
aot_mem.aot_store32(ctx.gpr[29] + static_cast<std::uint32_t>(160), ctx.gpr[31]);
|
|
{ const bool branch_taken = ctx.gpr[5] != 0u;
|
|
aot_mem.aot_store32(ctx.gpr[29] + static_cast<std::uint32_t>(112), ctx.gpr[16]);
|
|
if (branch_taken) {
|
|
goto L_0894D430;
|
|
}
|
|
goto L_0894D32C;
|
|
}
|
|
L_0894D32C:
|
|
ctx.gpr[5] = (static_cast<std::uint32_t>(static_cast<std::int32_t>(static_cast<std::int16_t>(aot_mem.aot_load16(ctx.gpr[18] + static_cast<std::uint32_t>(3184))))));
|
|
ctx.fpr[12] = std::bit_cast<float>(std::bit_cast<std::uint32_t>(ctx.fpr[20]));
|
|
ctx.gpr[4] = (ctx.gpr[18] | 0u);
|
|
ctx.gpr[6] = (ctx.gpr[5] << 24u);
|
|
ctx.gpr[6] = (static_cast<std::uint32_t>(static_cast<std::int32_t>(ctx.gpr[6]) >> 24u));
|
|
ctx.gpr[31] = (0x0894D348u);
|
|
ctx.gpr[5] = (ctx.gpr[20] | 0u);
|
|
if (rt.invoke_chained_direct<&recomp_unit_0080_entry, 80u, 285u, 0x08945350u>(ctx, &aot_mem) && ctx.pc == 0x0894D348u) goto L_0894D348;
|
|
return;
|
|
L_0894D348:
|
|
aot_mem.aot_store32(ctx.gpr[29] + static_cast<std::uint32_t>(0), 0u);
|
|
ctx.gpr[4] = (ctx.gpr[16] | 0u);
|
|
ctx.gpr[5] = (ctx.gpr[20] | 0u);
|
|
ctx.gpr[6] = (0u | 1u);
|
|
ctx.gpr[7] = (0u | 1u);
|
|
ctx.gpr[8] = (0u | 0u);
|
|
ctx.gpr[9] = (0u | 1u);
|
|
ctx.gpr[10] = (0u | 0u);
|
|
ctx.gpr[11] = (0u | 0u);
|
|
ctx.gpr[31] = (0x0894D374u);
|
|
aot_mem.aot_store32(ctx.gpr[29] + static_cast<std::uint32_t>(4), 0u);
|
|
if (rt.invoke_chained_direct<&recomp_unit_0048_entry, 48u, 339u, 0x088C5B2Cu>(ctx, &aot_mem) && ctx.pc == 0x0894D374u) goto L_0894D374;
|
|
return;
|
|
L_0894D374:
|
|
{ const bool branch_taken = ctx.gpr[2] == 0u;
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_0894D3D0;
|
|
}
|
|
goto L_0894D37C;
|
|
}
|
|
L_0894D37C:
|
|
{ const std::uint32_t vfpu_address = ctx.gpr[20] + static_cast<std::uint32_t>(0);
|
|
float vfpu_value[4]{
|
|
std::bit_cast<float>(aot_mem.aot_load32(vfpu_address + 0u)),
|
|
std::bit_cast<float>(aot_mem.aot_load32(vfpu_address + 4u)),
|
|
std::bit_cast<float>(aot_mem.aot_load32(vfpu_address + 8u)),
|
|
std::bit_cast<float>(aot_mem.aot_load32(vfpu_address + 12u))};
|
|
ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); }
|
|
ctx.gpr[4] = (ctx.gpr[29] + 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 = ctx.gpr[4] + static_cast<std::uint32_t>(0);
|
|
aot_mem.aot_store32(vfpu_address + 0u, std::bit_cast<std::uint32_t>(vfpu_value[0]));
|
|
aot_mem.aot_store32(vfpu_address + 4u, std::bit_cast<std::uint32_t>(vfpu_value[1]));
|
|
aot_mem.aot_store32(vfpu_address + 8u, std::bit_cast<std::uint32_t>(vfpu_value[2]));
|
|
aot_mem.aot_store32(vfpu_address + 12u, std::bit_cast<std::uint32_t>(vfpu_value[3])); }
|
|
ctx.gpr[5] = (16076u << 16u);
|
|
ctx.gpr[5] = (ctx.gpr[5] | 52429u);
|
|
ctx.fpr[12] = std::bit_cast<float>(ctx.gpr[5]);
|
|
ctx.gpr[5] = (static_cast<std::uint32_t>(static_cast<std::int32_t>(static_cast<std::int16_t>(aot_mem.aot_load16(ctx.gpr[18] + static_cast<std::uint32_t>(3184))))));
|
|
ctx.gpr[5] = (ctx.gpr[5] << 2u);
|
|
ctx.gpr[5] = (ctx.gpr[18] + ctx.gpr[5]);
|
|
ctx.gpr[5] = (aot_mem.aot_load32(ctx.gpr[5] + static_cast<std::uint32_t>(3160)));
|
|
ctx.gpr[6] = (0u | 1u);
|
|
ctx.gpr[7] = (0u | 1u);
|
|
ctx.gpr[8] = (0u | 0u);
|
|
ctx.gpr[9] = (0u | 1u);
|
|
ctx.gpr[10] = (0u | 0u);
|
|
ctx.gpr[11] = (0u | 0u);
|
|
aot_mem.aot_store32(ctx.gpr[29] + static_cast<std::uint32_t>(0), 0u);
|
|
ctx.gpr[31] = (0x0894D3C8u);
|
|
aot_mem.aot_store32(ctx.gpr[29] + static_cast<std::uint32_t>(4), 0u);
|
|
if (rt.invoke_chained_direct<&recomp_unit_0049_entry, 49u, 72u, 0x088C8430u>(ctx, &aot_mem) && ctx.pc == 0x0894D3C8u) goto L_0894D3C8;
|
|
return;
|
|
L_0894D3C8:
|
|
{ const bool branch_taken = ctx.gpr[2] == 0u;
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_0894D3E4;
|
|
}
|
|
goto L_0894D3D0;
|
|
}
|
|
L_0894D3D0:
|
|
ctx.gpr[4] = (static_cast<std::uint32_t>(static_cast<std::int32_t>(static_cast<std::int16_t>(aot_mem.aot_load16(ctx.gpr[18] + static_cast<std::uint32_t>(3184))))));
|
|
ctx.gpr[4] = (ctx.gpr[4] << 2u);
|
|
ctx.gpr[4] = (ctx.gpr[18] + ctx.gpr[4]);
|
|
{ const bool branch_taken = 0u == 0u;
|
|
aot_mem.aot_store32(ctx.gpr[4] + static_cast<std::uint32_t>(3160), ctx.gpr[18]);
|
|
if (branch_taken) {
|
|
goto L_0894D40C;
|
|
}
|
|
goto L_0894D3E4;
|
|
}
|
|
L_0894D3E4:
|
|
ctx.gpr[4] = (static_cast<std::uint32_t>(static_cast<std::int32_t>(static_cast<std::int16_t>(aot_mem.aot_load16(ctx.gpr[18] + static_cast<std::uint32_t>(3184))))));
|
|
ctx.gpr[4] = (ctx.gpr[4] << 2u);
|
|
ctx.gpr[4] = (ctx.gpr[18] + ctx.gpr[4]);
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[4] + static_cast<std::uint32_t>(3160)));
|
|
{ const bool branch_taken = ctx.gpr[4] != ctx.gpr[18];
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_0894D40C;
|
|
}
|
|
goto L_0894D3FC;
|
|
}
|
|
L_0894D3FC:
|
|
ctx.gpr[4] = (static_cast<std::uint32_t>(static_cast<std::int32_t>(static_cast<std::int16_t>(aot_mem.aot_load16(ctx.gpr[18] + static_cast<std::uint32_t>(3184))))));
|
|
ctx.gpr[4] = (ctx.gpr[4] << 2u);
|
|
ctx.gpr[4] = (ctx.gpr[18] + ctx.gpr[4]);
|
|
aot_mem.aot_store32(ctx.gpr[4] + static_cast<std::uint32_t>(3160), 0u);
|
|
goto L_0894D40C;
|
|
L_0894D40C:
|
|
ctx.gpr[4] = (static_cast<std::uint32_t>(static_cast<std::int32_t>(static_cast<std::int16_t>(aot_mem.aot_load16(ctx.gpr[18] + static_cast<std::uint32_t>(3184))))));
|
|
ctx.gpr[4] = (ctx.gpr[4] + static_cast<std::uint32_t>(1));
|
|
ctx.gpr[5] = (ctx.gpr[4] << 16u);
|
|
aot_mem.aot_store16(ctx.gpr[18] + static_cast<std::uint32_t>(3184), static_cast<std::uint16_t>(ctx.gpr[4]));
|
|
ctx.gpr[4] = (static_cast<std::uint32_t>(static_cast<std::int32_t>(ctx.gpr[5]) >> 16u));
|
|
ctx.gpr[4] = (static_cast<std::int32_t>(ctx.gpr[4]) < 6 ? 1u : 0u);
|
|
{ const bool branch_taken = ctx.gpr[4] != 0u;
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_0894D430;
|
|
}
|
|
goto L_0894D42C;
|
|
}
|
|
L_0894D42C:
|
|
aot_mem.aot_store16(ctx.gpr[18] + static_cast<std::uint32_t>(3184), static_cast<std::uint16_t>(0u));
|
|
goto L_0894D430;
|
|
L_0894D430:
|
|
ctx.gpr[4] = (16708u << 16u);
|
|
ctx.gpr[17] = (0u | 0u);
|
|
ctx.fpr[22] = std::bit_cast<float>(ctx.gpr[4]);
|
|
ctx.gpr[30] = (0u | 55u);
|
|
ctx.gpr[23] = (0u | 8u);
|
|
ctx.gpr[22] = (0u | 9u);
|
|
ctx.gpr[21] = (0u | 50u);
|
|
ctx.gpr[19] = (ctx.gpr[29] + static_cast<std::uint32_t>(80));
|
|
goto L_0894D450;
|
|
L_0894D450:
|
|
ctx.gpr[16] = (ctx.gpr[17] << 2u);
|
|
ctx.gpr[16] = (ctx.gpr[18] + ctx.gpr[16]);
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast<std::uint32_t>(3160)));
|
|
{ const bool branch_taken = ctx.gpr[4] == 0u;
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_0894D520;
|
|
}
|
|
goto L_0894D464;
|
|
}
|
|
L_0894D464:
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast<std::uint32_t>(3160)));
|
|
{ const bool branch_taken = ctx.gpr[4] == ctx.gpr[18];
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_0894D520;
|
|
}
|
|
goto L_0894D470;
|
|
}
|
|
L_0894D470:
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast<std::uint32_t>(3160)));
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[4] + static_cast<std::uint32_t>(844)));
|
|
{ const bool branch_taken = ctx.gpr[4] == ctx.gpr[30];
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_0894D490;
|
|
}
|
|
goto L_0894D480;
|
|
}
|
|
L_0894D480:
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast<std::uint32_t>(3160)));
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[4] + static_cast<std::uint32_t>(600)));
|
|
{ const bool branch_taken = ctx.gpr[4] == ctx.gpr[18];
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_0894D498;
|
|
}
|
|
goto L_0894D490;
|
|
}
|
|
L_0894D490:
|
|
{ const bool branch_taken = 0u == 0u;
|
|
aot_mem.aot_store32(ctx.gpr[16] + static_cast<std::uint32_t>(3160), 0u);
|
|
if (branch_taken) {
|
|
goto L_0894D520;
|
|
}
|
|
goto L_0894D498;
|
|
}
|
|
L_0894D498:
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast<std::uint32_t>(3160)));
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[4] + static_cast<std::uint32_t>(592)));
|
|
{ const bool branch_taken = ctx.gpr[4] == ctx.gpr[23];
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_0894D4D0;
|
|
}
|
|
goto L_0894D4A8;
|
|
}
|
|
L_0894D4A8:
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast<std::uint32_t>(3160)));
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[4] + static_cast<std::uint32_t>(592)));
|
|
{ const bool branch_taken = ctx.gpr[4] == ctx.gpr[22];
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_0894D4D0;
|
|
}
|
|
goto L_0894D4B8;
|
|
}
|
|
L_0894D4B8:
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast<std::uint32_t>(3160)));
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[4] + static_cast<std::uint32_t>(592)));
|
|
{ const bool branch_taken = ctx.gpr[4] == ctx.gpr[21];
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_0894D4D0;
|
|
}
|
|
goto L_0894D4C8;
|
|
}
|
|
L_0894D4C8:
|
|
{ const bool branch_taken = 0u == 0u;
|
|
aot_mem.aot_store32(ctx.gpr[16] + static_cast<std::uint32_t>(3160), 0u);
|
|
if (branch_taken) {
|
|
goto L_0894D520;
|
|
}
|
|
goto L_0894D4D0;
|
|
}
|
|
L_0894D4D0:
|
|
ctx.gpr[6] = (ctx.gpr[17] << 24u);
|
|
ctx.gpr[6] = (static_cast<std::uint32_t>(static_cast<std::int32_t>(ctx.gpr[6]) >> 24u));
|
|
ctx.gpr[4] = (ctx.gpr[18] | 0u);
|
|
ctx.gpr[5] = (ctx.gpr[20] | 0u);
|
|
ctx.gpr[31] = (0x0894D4E8u);
|
|
ctx.fpr[12] = std::bit_cast<float>(std::bit_cast<std::uint32_t>(ctx.fpr[20]));
|
|
if (rt.invoke_chained_direct<&recomp_unit_0080_entry, 80u, 285u, 0x08945350u>(ctx, &aot_mem) && ctx.pc == 0x0894D4E8u) goto L_0894D4E8;
|
|
return;
|
|
L_0894D4E8:
|
|
{ const std::uint32_t vfpu_address = ctx.gpr[20] + static_cast<std::uint32_t>(0);
|
|
float vfpu_value[4]{
|
|
std::bit_cast<float>(aot_mem.aot_load32(vfpu_address + 0u)),
|
|
std::bit_cast<float>(aot_mem.aot_load32(vfpu_address + 4u)),
|
|
std::bit_cast<float>(aot_mem.aot_load32(vfpu_address + 8u)),
|
|
std::bit_cast<float>(aot_mem.aot_load32(vfpu_address + 12u))};
|
|
ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); }
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast<std::uint32_t>(112)));
|
|
{ const std::uint32_t vfpu_address = ctx.gpr[4] + static_cast<std::uint32_t>(0);
|
|
float vfpu_value[4]{
|
|
std::bit_cast<float>(aot_mem.aot_load32(vfpu_address + 0u)),
|
|
std::bit_cast<float>(aot_mem.aot_load32(vfpu_address + 4u)),
|
|
std::bit_cast<float>(aot_mem.aot_load32(vfpu_address + 8u)),
|
|
std::bit_cast<float>(aot_mem.aot_load32(vfpu_address + 12u))};
|
|
ctx.write_vfpu_vector_ct<1u, 4u>(vfpu_value); }
|
|
{ float vfpu_s[4]{}, vfpu_t[4]{}, vfpu_d[4]{};
|
|
ctx.read_vfpu_vector_with_source_prefix_ct<0u, 3u, 0u>(vfpu_s);
|
|
ctx.read_vfpu_vector_with_source_prefix_ct<1u, 3u, 1u>(vfpu_t);
|
|
for (std::uint32_t i = 0; i < 3u; ++i) vfpu_d[i] = vfpu_s[i] - vfpu_t[i];
|
|
ctx.write_vfpu_vector_with_destination_prefix_ct<0u, 3u>(vfpu_d); }
|
|
{ float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value);
|
|
const std::uint32_t vfpu_address = ctx.gpr[19] + static_cast<std::uint32_t>(0);
|
|
aot_mem.aot_store32(vfpu_address + 0u, std::bit_cast<std::uint32_t>(vfpu_value[0]));
|
|
aot_mem.aot_store32(vfpu_address + 4u, std::bit_cast<std::uint32_t>(vfpu_value[1]));
|
|
aot_mem.aot_store32(vfpu_address + 8u, std::bit_cast<std::uint32_t>(vfpu_value[2]));
|
|
aot_mem.aot_store32(vfpu_address + 12u, std::bit_cast<std::uint32_t>(vfpu_value[3])); }
|
|
{ const std::uint32_t vfpu_address = ctx.gpr[19] + static_cast<std::uint32_t>(0);
|
|
float vfpu_value[4]{
|
|
std::bit_cast<float>(aot_mem.aot_load32(vfpu_address + 0u)),
|
|
std::bit_cast<float>(aot_mem.aot_load32(vfpu_address + 4u)),
|
|
std::bit_cast<float>(aot_mem.aot_load32(vfpu_address + 8u)),
|
|
std::bit_cast<float>(aot_mem.aot_load32(vfpu_address + 12u))};
|
|
ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); }
|
|
ctx.execute_vfpu_vdot_ct<28u, 0u, 0u, 3u>();
|
|
ctx.gpr[4] = (ctx.vfpu_scalar_bits_ct<28u>());
|
|
ctx.fpr[12] = std::bit_cast<float>(ctx.gpr[4]);
|
|
ctx.set_fpu_condition((ctx.fpr[12] <= ctx.fpr[22]));
|
|
// nop
|
|
{ const bool branch_taken = ctx.fpu_condition();
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_0894D520;
|
|
}
|
|
goto L_0894D51C;
|
|
}
|
|
L_0894D51C:
|
|
aot_mem.aot_store32(ctx.gpr[16] + static_cast<std::uint32_t>(3160), 0u);
|
|
goto L_0894D520;
|
|
L_0894D520:
|
|
ctx.gpr[4] = (ctx.gpr[17] + static_cast<std::uint32_t>(1));
|
|
ctx.gpr[17] = (ctx.gpr[4] << 16u);
|
|
ctx.gpr[17] = (static_cast<std::uint32_t>(static_cast<std::int32_t>(ctx.gpr[17]) >> 16u));
|
|
ctx.gpr[4] = (static_cast<std::int32_t>(ctx.gpr[17]) < 6 ? 1u : 0u);
|
|
{ const bool branch_taken = ctx.gpr[4] != 0u;
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_0894D450;
|
|
}
|
|
goto L_0894D538;
|
|
}
|
|
L_0894D538:
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[18] + static_cast<std::uint32_t>(3160)));
|
|
{ const bool branch_taken = ctx.gpr[4] != ctx.gpr[18];
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_0894D58C;
|
|
}
|
|
goto L_0894D544;
|
|
}
|
|
L_0894D544:
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[18] + static_cast<std::uint32_t>(3164)));
|
|
{ const bool branch_taken = ctx.gpr[4] != ctx.gpr[18];
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_0894D58C;
|
|
}
|
|
goto L_0894D550;
|
|
}
|
|
L_0894D550:
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[18] + static_cast<std::uint32_t>(3168)));
|
|
{ const bool branch_taken = ctx.gpr[4] != ctx.gpr[18];
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_0894D58C;
|
|
}
|
|
goto L_0894D55C;
|
|
}
|
|
L_0894D55C:
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[18] + static_cast<std::uint32_t>(3168)));
|
|
{ const bool branch_taken = ctx.gpr[4] != ctx.gpr[18];
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_0894D58C;
|
|
}
|
|
goto L_0894D568;
|
|
}
|
|
L_0894D568:
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[18] + static_cast<std::uint32_t>(3176)));
|
|
{ const bool branch_taken = ctx.gpr[4] != ctx.gpr[18];
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_0894D58C;
|
|
}
|
|
goto L_0894D574;
|
|
}
|
|
L_0894D574:
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[18] + static_cast<std::uint32_t>(3180)));
|
|
{ const bool branch_taken = ctx.gpr[4] != ctx.gpr[18];
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_0894D58C;
|
|
}
|
|
goto L_0894D580;
|
|
}
|
|
L_0894D580:
|
|
ctx.gpr[4] = (0u | 1u);
|
|
{ const bool branch_taken = 0u == 0u;
|
|
aot_mem.aot_store8(ctx.gpr[18] + static_cast<std::uint32_t>(2998), static_cast<std::uint8_t>(ctx.gpr[4]));
|
|
if (branch_taken) {
|
|
goto L_0894D590;
|
|
}
|
|
goto L_0894D58C;
|
|
}
|
|
L_0894D58C:
|
|
aot_mem.aot_store8(ctx.gpr[18] + static_cast<std::uint32_t>(2998), static_cast<std::uint8_t>(0u));
|
|
goto L_0894D590;
|
|
L_0894D590:
|
|
ctx.fpr[20] = std::bit_cast<float>(aot_mem.aot_load32(ctx.gpr[29] + static_cast<std::uint32_t>(116)));
|
|
ctx.fpr[22] = std::bit_cast<float>(aot_mem.aot_load32(ctx.gpr[29] + static_cast<std::uint32_t>(120)));
|
|
ctx.gpr[16] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast<std::uint32_t>(124)));
|
|
ctx.gpr[17] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast<std::uint32_t>(128)));
|
|
ctx.gpr[18] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast<std::uint32_t>(132)));
|
|
ctx.gpr[19] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast<std::uint32_t>(136)));
|
|
ctx.gpr[20] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast<std::uint32_t>(140)));
|
|
ctx.gpr[21] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast<std::uint32_t>(144)));
|
|
ctx.gpr[22] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast<std::uint32_t>(148)));
|
|
ctx.gpr[23] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast<std::uint32_t>(152)));
|
|
ctx.gpr[30] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast<std::uint32_t>(156)));
|
|
ctx.gpr[31] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast<std::uint32_t>(160)));
|
|
jump_target = ctx.gpr[31];
|
|
ctx.gpr[29] = (ctx.gpr[29] + static_cast<std::uint32_t>(176));
|
|
local_pc = jump_target;
|
|
if (++local_transfers < 2048u) { entry_id = 0u; goto LOCAL_DISPATCH; }
|
|
ctx.pc = jump_target;
|
|
return;
|
|
L_0894D5C8:
|
|
ctx.gpr[29] = (ctx.gpr[29] + static_cast<std::uint32_t>(-192));
|
|
ctx.gpr[5] = (2230u << 16u);
|
|
ctx.gpr[5] = (aot_mem.aot_load8(ctx.gpr[5] + static_cast<std::uint32_t>(-29513)));
|
|
aot_mem.aot_store32(ctx.gpr[29] + static_cast<std::uint32_t>(136), std::bit_cast<std::uint32_t>(ctx.fpr[20]));
|
|
aot_mem.aot_store32(ctx.gpr[29] + static_cast<std::uint32_t>(140), std::bit_cast<std::uint32_t>(ctx.fpr[22]));
|
|
aot_mem.aot_store32(ctx.gpr[29] + static_cast<std::uint32_t>(144), ctx.gpr[16]);
|
|
aot_mem.aot_store32(ctx.gpr[29] + static_cast<std::uint32_t>(148), ctx.gpr[17]);
|
|
aot_mem.aot_store32(ctx.gpr[29] + static_cast<std::uint32_t>(152), ctx.gpr[18]);
|
|
aot_mem.aot_store32(ctx.gpr[29] + static_cast<std::uint32_t>(156), ctx.gpr[19]);
|
|
aot_mem.aot_store32(ctx.gpr[29] + static_cast<std::uint32_t>(160), ctx.gpr[20]);
|
|
aot_mem.aot_store32(ctx.gpr[29] + static_cast<std::uint32_t>(164), ctx.gpr[21]);
|
|
aot_mem.aot_store32(ctx.gpr[29] + static_cast<std::uint32_t>(168), ctx.gpr[22]);
|
|
aot_mem.aot_store32(ctx.gpr[29] + static_cast<std::uint32_t>(172), ctx.gpr[23]);
|
|
aot_mem.aot_store32(ctx.gpr[29] + static_cast<std::uint32_t>(176), ctx.gpr[30]);
|
|
aot_mem.aot_store32(ctx.gpr[29] + static_cast<std::uint32_t>(180), ctx.gpr[31]);
|
|
{ const bool branch_taken = ctx.gpr[5] != 0u;
|
|
ctx.gpr[19] = (ctx.gpr[4] | 0u);
|
|
if (branch_taken) {
|
|
goto L_0894D628;
|
|
}
|
|
goto L_0894D60C;
|
|
}
|
|
L_0894D60C:
|
|
ctx.gpr[4] = (aot_mem.aot_load16(ctx.gpr[19] + static_cast<std::uint32_t>(1868)));
|
|
ctx.gpr[22] = (0u | 0u);
|
|
ctx.gpr[4] = (static_cast<std::int32_t>(ctx.gpr[22]) < static_cast<std::int32_t>(ctx.gpr[4]) ? 1u : 0u);
|
|
{ const bool branch_taken = ctx.gpr[4] != 0u;
|
|
ctx.gpr[4] = (ctx.gpr[19] + static_cast<std::uint32_t>(48));
|
|
if (branch_taken) {
|
|
goto L_0894D630;
|
|
}
|
|
goto L_0894D620;
|
|
}
|
|
L_0894D620:
|
|
{ const bool branch_taken = 0u == 0u;
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_0894D8D4;
|
|
}
|
|
goto L_0894D628;
|
|
}
|
|
L_0894D628:
|
|
{ const bool branch_taken = 0u == 0u;
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_0894D8D4;
|
|
}
|
|
goto L_0894D630;
|
|
}
|
|
L_0894D630:
|
|
aot_mem.aot_store32(ctx.gpr[29] + static_cast<std::uint32_t>(128), ctx.gpr[4]);
|
|
ctx.gpr[4] = (16656u << 16u);
|
|
ctx.fpr[20] = std::bit_cast<float>(ctx.gpr[4]);
|
|
ctx.gpr[5] = (ctx.gpr[19] + static_cast<std::uint32_t>(16));
|
|
ctx.gpr[4] = (16840u << 16u);
|
|
ctx.gpr[30] = (ctx.gpr[29] + static_cast<std::uint32_t>(16));
|
|
ctx.fpr[22] = std::bit_cast<float>(ctx.gpr[4]);
|
|
ctx.gpr[20] = (ctx.gpr[29] + static_cast<std::uint32_t>(32));
|
|
aot_mem.aot_store32(ctx.gpr[29] + static_cast<std::uint32_t>(132), ctx.gpr[5]);
|
|
ctx.gpr[23] = (ctx.gpr[29] + static_cast<std::uint32_t>(48));
|
|
ctx.gpr[21] = (ctx.gpr[19] | 0u);
|
|
goto L_0894D65C;
|
|
L_0894D65C:
|
|
ctx.gpr[18] = (aot_mem.aot_load32(ctx.gpr[21] + static_cast<std::uint32_t>(1828)));
|
|
{ const bool branch_taken = ctx.gpr[18] == 0u;
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_0894D8C0;
|
|
}
|
|
goto L_0894D668;
|
|
}
|
|
L_0894D668:
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[18] + static_cast<std::uint32_t>(1800)));
|
|
ctx.gpr[5] = (2230u << 16u);
|
|
ctx.gpr[5] = (aot_mem.aot_load32(ctx.gpr[5] + static_cast<std::uint32_t>(-8148)));
|
|
ctx.gpr[4] = (ctx.gpr[4] < ctx.gpr[5] ? 1u : 0u);
|
|
{ const bool branch_taken = ctx.gpr[4] == 0u;
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_0894D8C0;
|
|
}
|
|
goto L_0894D680;
|
|
}
|
|
L_0894D680:
|
|
ctx.gpr[31] = (0x0894D688u);
|
|
// nop
|
|
if (rt.invoke_chained_direct<&recomp_unit_0085_entry, 85u, 33u, 0x08958280u>(ctx, &aot_mem) && ctx.pc == 0x0894D688u) goto L_0894D688;
|
|
return;
|
|
L_0894D688:
|
|
{ const bool branch_taken = ctx.gpr[2] != 0u;
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_0894D8C0;
|
|
}
|
|
goto L_0894D690;
|
|
}
|
|
L_0894D690:
|
|
ctx.gpr[16] = (static_cast<std::uint32_t>(static_cast<std::int32_t>(static_cast<std::int16_t>(aot_mem.aot_load16(ctx.gpr[18] + static_cast<std::uint32_t>(88))))));
|
|
ctx.gpr[31] = (0x0894D69Cu);
|
|
ctx.gpr[4] = (ctx.gpr[16] | 0u);
|
|
if (rt.invoke_chained_direct<&recomp_unit_0166_entry, 166u, 658u, 0x08A9F110u>(ctx, &aot_mem) && ctx.pc == 0x0894D69Cu) goto L_0894D69C;
|
|
return;
|
|
L_0894D69C:
|
|
{ const bool branch_taken = ctx.gpr[2] == 0u;
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_0894D7F4;
|
|
}
|
|
goto L_0894D6A4;
|
|
}
|
|
L_0894D6A4:
|
|
ctx.gpr[4] = (ctx.gpr[18] + static_cast<std::uint32_t>(48));
|
|
{ const std::uint32_t vfpu_address = ctx.gpr[4] + static_cast<std::uint32_t>(0);
|
|
float vfpu_value[4]{
|
|
std::bit_cast<float>(aot_mem.aot_load32(vfpu_address + 0u)),
|
|
std::bit_cast<float>(aot_mem.aot_load32(vfpu_address + 4u)),
|
|
std::bit_cast<float>(aot_mem.aot_load32(vfpu_address + 8u)),
|
|
std::bit_cast<float>(aot_mem.aot_load32(vfpu_address + 12u))};
|
|
ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); }
|
|
ctx.gpr[5] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast<std::uint32_t>(128)));
|
|
{ const std::uint32_t vfpu_address = ctx.gpr[5] + static_cast<std::uint32_t>(0);
|
|
float vfpu_value[4]{
|
|
std::bit_cast<float>(aot_mem.aot_load32(vfpu_address + 0u)),
|
|
std::bit_cast<float>(aot_mem.aot_load32(vfpu_address + 4u)),
|
|
std::bit_cast<float>(aot_mem.aot_load32(vfpu_address + 8u)),
|
|
std::bit_cast<float>(aot_mem.aot_load32(vfpu_address + 12u))};
|
|
ctx.write_vfpu_vector_ct<1u, 4u>(vfpu_value); }
|
|
{ float vfpu_s[4]{}, vfpu_t[4]{}, vfpu_d[4]{};
|
|
ctx.read_vfpu_vector_with_source_prefix_ct<0u, 3u, 0u>(vfpu_s);
|
|
ctx.read_vfpu_vector_with_source_prefix_ct<1u, 3u, 1u>(vfpu_t);
|
|
for (std::uint32_t i = 0; i < 3u; ++i) vfpu_d[i] = vfpu_s[i] - vfpu_t[i];
|
|
ctx.write_vfpu_vector_with_destination_prefix_ct<0u, 3u>(vfpu_d); }
|
|
{ float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value);
|
|
const std::uint32_t vfpu_address = ctx.gpr[30] + static_cast<std::uint32_t>(0);
|
|
aot_mem.aot_store32(vfpu_address + 0u, std::bit_cast<std::uint32_t>(vfpu_value[0]));
|
|
aot_mem.aot_store32(vfpu_address + 4u, std::bit_cast<std::uint32_t>(vfpu_value[1]));
|
|
aot_mem.aot_store32(vfpu_address + 8u, std::bit_cast<std::uint32_t>(vfpu_value[2]));
|
|
aot_mem.aot_store32(vfpu_address + 12u, std::bit_cast<std::uint32_t>(vfpu_value[3])); }
|
|
ctx.gpr[16] = (ctx.gpr[18] + static_cast<std::uint32_t>(16));
|
|
ctx.gpr[17] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast<std::uint32_t>(132)));
|
|
{ const std::uint32_t vfpu_address = ctx.gpr[5] + static_cast<std::uint32_t>(0);
|
|
float vfpu_value[4]{
|
|
std::bit_cast<float>(aot_mem.aot_load32(vfpu_address + 0u)),
|
|
std::bit_cast<float>(aot_mem.aot_load32(vfpu_address + 4u)),
|
|
std::bit_cast<float>(aot_mem.aot_load32(vfpu_address + 8u)),
|
|
std::bit_cast<float>(aot_mem.aot_load32(vfpu_address + 12u))};
|
|
ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); }
|
|
{ const std::uint32_t vfpu_address = ctx.gpr[4] + static_cast<std::uint32_t>(0);
|
|
float vfpu_value[4]{
|
|
std::bit_cast<float>(aot_mem.aot_load32(vfpu_address + 0u)),
|
|
std::bit_cast<float>(aot_mem.aot_load32(vfpu_address + 4u)),
|
|
std::bit_cast<float>(aot_mem.aot_load32(vfpu_address + 8u)),
|
|
std::bit_cast<float>(aot_mem.aot_load32(vfpu_address + 12u))};
|
|
ctx.write_vfpu_vector_ct<1u, 4u>(vfpu_value); }
|
|
{ float vfpu_s[4]{}, vfpu_t[4]{}, vfpu_d[4]{};
|
|
ctx.read_vfpu_vector_with_source_prefix_ct<0u, 3u, 0u>(vfpu_s);
|
|
ctx.read_vfpu_vector_with_source_prefix_ct<1u, 3u, 1u>(vfpu_t);
|
|
for (std::uint32_t i = 0; i < 3u; ++i) vfpu_d[i] = vfpu_s[i] - vfpu_t[i];
|
|
ctx.write_vfpu_vector_with_destination_prefix_ct<0u, 3u>(vfpu_d); }
|
|
{ float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value);
|
|
const std::uint32_t vfpu_address = ctx.gpr[20] + static_cast<std::uint32_t>(0);
|
|
aot_mem.aot_store32(vfpu_address + 0u, std::bit_cast<std::uint32_t>(vfpu_value[0]));
|
|
aot_mem.aot_store32(vfpu_address + 4u, std::bit_cast<std::uint32_t>(vfpu_value[1]));
|
|
aot_mem.aot_store32(vfpu_address + 8u, std::bit_cast<std::uint32_t>(vfpu_value[2]));
|
|
aot_mem.aot_store32(vfpu_address + 12u, std::bit_cast<std::uint32_t>(vfpu_value[3])); }
|
|
{ const std::uint32_t vfpu_address = ctx.gpr[20] + static_cast<std::uint32_t>(0);
|
|
float vfpu_value[4]{
|
|
std::bit_cast<float>(aot_mem.aot_load32(vfpu_address + 0u)),
|
|
std::bit_cast<float>(aot_mem.aot_load32(vfpu_address + 4u)),
|
|
std::bit_cast<float>(aot_mem.aot_load32(vfpu_address + 8u)),
|
|
std::bit_cast<float>(aot_mem.aot_load32(vfpu_address + 12u))};
|
|
ctx.write_vfpu_vector_ct<1u, 4u>(vfpu_value); }
|
|
{ float vfpu_value[4]{}; vfpu_value[0u] = 1.0f;
|
|
ctx.write_vfpu_vector_with_destination_prefix_ct<0u, 4u>(vfpu_value); }
|
|
ctx.execute_vfpu_vdot_ct<28u, 1u, 1u, 3u>();
|
|
ctx.execute_vfpu_vcmp_ct<28u, 32u, 1u, 3u>();
|
|
{ float vfpu_s[4]{}, vfpu_d[4]{};
|
|
ctx.read_vfpu_vector_with_source_prefix_ct<28u, 1u, 0u>(vfpu_s);
|
|
for (std::uint32_t i = 0; i < 1u; ++i) vfpu_d[i] = 1.0f / std::sqrt(vfpu_s[i]);
|
|
ctx.write_vfpu_vector_with_destination_prefix_ct<28u, 1u>(vfpu_d); }
|
|
ctx.execute_vfpu_vscl_ct<1u, 1u, 28u, 3u>();
|
|
ctx.execute_vfpu_vcmov_ct<1u, 0u, 3u, 0u, false>();
|
|
{ float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<1u, 4u>(vfpu_value);
|
|
const std::uint32_t vfpu_address = ctx.gpr[20] + static_cast<std::uint32_t>(0);
|
|
aot_mem.aot_store32(vfpu_address + 0u, std::bit_cast<std::uint32_t>(vfpu_value[0]));
|
|
aot_mem.aot_store32(vfpu_address + 4u, std::bit_cast<std::uint32_t>(vfpu_value[1]));
|
|
aot_mem.aot_store32(vfpu_address + 8u, std::bit_cast<std::uint32_t>(vfpu_value[2]));
|
|
aot_mem.aot_store32(vfpu_address + 12u, std::bit_cast<std::uint32_t>(vfpu_value[3])); }
|
|
{ const std::uint32_t vfpu_address = ctx.gpr[20] + static_cast<std::uint32_t>(0);
|
|
float vfpu_value[4]{
|
|
std::bit_cast<float>(aot_mem.aot_load32(vfpu_address + 0u)),
|
|
std::bit_cast<float>(aot_mem.aot_load32(vfpu_address + 4u)),
|
|
std::bit_cast<float>(aot_mem.aot_load32(vfpu_address + 8u)),
|
|
std::bit_cast<float>(aot_mem.aot_load32(vfpu_address + 12u))};
|
|
ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); }
|
|
{ const std::uint32_t vfpu_address = ctx.gpr[16] + static_cast<std::uint32_t>(0);
|
|
float vfpu_value[4]{
|
|
std::bit_cast<float>(aot_mem.aot_load32(vfpu_address + 0u)),
|
|
std::bit_cast<float>(aot_mem.aot_load32(vfpu_address + 4u)),
|
|
std::bit_cast<float>(aot_mem.aot_load32(vfpu_address + 8u)),
|
|
std::bit_cast<float>(aot_mem.aot_load32(vfpu_address + 12u))};
|
|
ctx.write_vfpu_vector_ct<1u, 4u>(vfpu_value); }
|
|
ctx.execute_vfpu_vdot_ct<28u, 0u, 1u, 3u>();
|
|
ctx.gpr[4] = (ctx.vfpu_scalar_bits_ct<28u>());
|
|
ctx.fpr[12] = std::bit_cast<float>(ctx.gpr[4]);
|
|
{ const std::uint32_t vfpu_address = ctx.gpr[16] + static_cast<std::uint32_t>(0);
|
|
float vfpu_value[4]{
|
|
std::bit_cast<float>(aot_mem.aot_load32(vfpu_address + 0u)),
|
|
std::bit_cast<float>(aot_mem.aot_load32(vfpu_address + 4u)),
|
|
std::bit_cast<float>(aot_mem.aot_load32(vfpu_address + 8u)),
|
|
std::bit_cast<float>(aot_mem.aot_load32(vfpu_address + 12u))};
|
|
ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); }
|
|
{ const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast<std::uint32_t>(0);
|
|
float vfpu_value[4]{
|
|
std::bit_cast<float>(aot_mem.aot_load32(vfpu_address + 0u)),
|
|
std::bit_cast<float>(aot_mem.aot_load32(vfpu_address + 4u)),
|
|
std::bit_cast<float>(aot_mem.aot_load32(vfpu_address + 8u)),
|
|
std::bit_cast<float>(aot_mem.aot_load32(vfpu_address + 12u))};
|
|
ctx.write_vfpu_vector_ct<1u, 4u>(vfpu_value); }
|
|
ctx.execute_vfpu_vdot_ct<28u, 0u, 1u, 3u>();
|
|
ctx.gpr[4] = (ctx.vfpu_scalar_bits_ct<28u>());
|
|
ctx.fpr[12] = std::bit_cast<float>(ctx.gpr[4]);
|
|
{ const std::uint32_t vfpu_address = ctx.gpr[20] + static_cast<std::uint32_t>(0);
|
|
float vfpu_value[4]{
|
|
std::bit_cast<float>(aot_mem.aot_load32(vfpu_address + 0u)),
|
|
std::bit_cast<float>(aot_mem.aot_load32(vfpu_address + 4u)),
|
|
std::bit_cast<float>(aot_mem.aot_load32(vfpu_address + 8u)),
|
|
std::bit_cast<float>(aot_mem.aot_load32(vfpu_address + 12u))};
|
|
ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); }
|
|
{ const std::uint32_t vfpu_address = ctx.gpr[16] + static_cast<std::uint32_t>(0);
|
|
float vfpu_value[4]{
|
|
std::bit_cast<float>(aot_mem.aot_load32(vfpu_address + 0u)),
|
|
std::bit_cast<float>(aot_mem.aot_load32(vfpu_address + 4u)),
|
|
std::bit_cast<float>(aot_mem.aot_load32(vfpu_address + 8u)),
|
|
std::bit_cast<float>(aot_mem.aot_load32(vfpu_address + 12u))};
|
|
ctx.write_vfpu_vector_ct<1u, 4u>(vfpu_value); }
|
|
ctx.execute_vfpu_vdot_ct<28u, 0u, 1u, 3u>();
|
|
ctx.gpr[4] = (ctx.vfpu_scalar_bits_ct<28u>());
|
|
ctx.fpr[12] = std::bit_cast<float>(ctx.gpr[4]);
|
|
ctx.gpr[31] = (0x0894D738u);
|
|
// nop
|
|
if (rt.invoke_chained_direct<&recomp_unit_0188_entry, 188u, 387u, 0x08AF5E68u>(ctx, &aot_mem) && ctx.pc == 0x0894D738u) goto L_0894D738;
|
|
return;
|
|
L_0894D738:
|
|
ctx.gpr[4] = (2228u << 16u);
|
|
ctx.gpr[7] = (aot_mem.aot_load32(ctx.gpr[4] + static_cast<std::uint32_t>(-30092)));
|
|
ctx.gpr[6] = (aot_mem.aot_load32(ctx.gpr[4] + static_cast<std::uint32_t>(-30096)));
|
|
ctx.gpr[5] = (ctx.gpr[3] | 0u);
|
|
ctx.gpr[31] = (0x0894D750u);
|
|
ctx.gpr[4] = (ctx.gpr[2] | 0u);
|
|
if (rt.invoke_chained_direct<&recomp_unit_0188_entry, 188u, 524u, 0x08AF6874u>(ctx, &aot_mem) && ctx.pc == 0x0894D750u) goto L_0894D750;
|
|
return;
|
|
L_0894D750:
|
|
{ const bool branch_taken = static_cast<std::int32_t>(ctx.gpr[2]) <= 0;
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_0894D7EC;
|
|
}
|
|
goto L_0894D758;
|
|
}
|
|
L_0894D758:
|
|
{ const std::uint32_t vfpu_address = ctx.gpr[16] + static_cast<std::uint32_t>(0);
|
|
float vfpu_value[4]{
|
|
std::bit_cast<float>(aot_mem.aot_load32(vfpu_address + 0u)),
|
|
std::bit_cast<float>(aot_mem.aot_load32(vfpu_address + 4u)),
|
|
std::bit_cast<float>(aot_mem.aot_load32(vfpu_address + 8u)),
|
|
std::bit_cast<float>(aot_mem.aot_load32(vfpu_address + 12u))};
|
|
ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); }
|
|
{ const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast<std::uint32_t>(0);
|
|
float vfpu_value[4]{
|
|
std::bit_cast<float>(aot_mem.aot_load32(vfpu_address + 0u)),
|
|
std::bit_cast<float>(aot_mem.aot_load32(vfpu_address + 4u)),
|
|
std::bit_cast<float>(aot_mem.aot_load32(vfpu_address + 8u)),
|
|
std::bit_cast<float>(aot_mem.aot_load32(vfpu_address + 12u))};
|
|
ctx.write_vfpu_vector_ct<1u, 4u>(vfpu_value); }
|
|
ctx.execute_vfpu_vdot_ct<28u, 0u, 1u, 3u>();
|
|
ctx.gpr[4] = (ctx.vfpu_scalar_bits_ct<28u>());
|
|
ctx.fpr[12] = std::bit_cast<float>(ctx.gpr[4]);
|
|
ctx.gpr[31] = (0x0894D774u);
|
|
// nop
|
|
if (rt.invoke_chained_direct<&recomp_unit_0188_entry, 188u, 387u, 0x08AF5E68u>(ctx, &aot_mem) && ctx.pc == 0x0894D774u) goto L_0894D774;
|
|
return;
|
|
L_0894D774:
|
|
ctx.gpr[4] = (2228u << 16u);
|
|
ctx.gpr[7] = (aot_mem.aot_load32(ctx.gpr[4] + static_cast<std::uint32_t>(-30084)));
|
|
ctx.gpr[6] = (aot_mem.aot_load32(ctx.gpr[4] + static_cast<std::uint32_t>(-30088)));
|
|
ctx.gpr[5] = (ctx.gpr[3] | 0u);
|
|
ctx.gpr[31] = (0x0894D78Cu);
|
|
ctx.gpr[4] = (ctx.gpr[2] | 0u);
|
|
if (rt.invoke_chained_direct<&recomp_unit_0188_entry, 188u, 524u, 0x08AF6874u>(ctx, &aot_mem) && ctx.pc == 0x0894D78Cu) goto L_0894D78C;
|
|
return;
|
|
L_0894D78C:
|
|
{ const bool branch_taken = static_cast<std::int32_t>(ctx.gpr[2]) >= 0;
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_0894D7EC;
|
|
}
|
|
goto L_0894D794;
|
|
}
|
|
L_0894D794:
|
|
{ const std::uint32_t vfpu_address = ctx.gpr[30] + static_cast<std::uint32_t>(0);
|
|
float vfpu_value[4]{
|
|
std::bit_cast<float>(aot_mem.aot_load32(vfpu_address + 0u)),
|
|
std::bit_cast<float>(aot_mem.aot_load32(vfpu_address + 4u)),
|
|
std::bit_cast<float>(aot_mem.aot_load32(vfpu_address + 8u)),
|
|
std::bit_cast<float>(aot_mem.aot_load32(vfpu_address + 12u))};
|
|
ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); }
|
|
ctx.execute_vfpu_vdot_ct<28u, 0u, 0u, 3u>();
|
|
ctx.gpr[4] = (ctx.vfpu_scalar_bits_ct<28u>());
|
|
ctx.fpr[12] = std::bit_cast<float>(ctx.gpr[4]);
|
|
ctx.set_fpu_condition((ctx.fpr[12] < ctx.fpr[20]));
|
|
// nop
|
|
{ const bool branch_taken = !ctx.fpu_condition();
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_0894D7EC;
|
|
}
|
|
goto L_0894D7B4;
|
|
}
|
|
L_0894D7B4:
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[18] + static_cast<std::uint32_t>(592)));
|
|
{ const bool branch_taken = ctx.gpr[4] != 0u;
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_0894D7EC;
|
|
}
|
|
goto L_0894D7C0;
|
|
}
|
|
L_0894D7C0:
|
|
ctx.gpr[4] = (ctx.gpr[18] | 0u);
|
|
ctx.gpr[5] = (0u | 51u);
|
|
ctx.gpr[31] = (0x0894D7D0u);
|
|
ctx.gpr[6] = (ctx.gpr[19] | 0u);
|
|
if (rt.invoke_chained_direct<&recomp_unit_0035_entry, 35u, 927u, 0x08893114u>(ctx, &aot_mem) && ctx.pc == 0x0894D7D0u) goto L_0894D7D0;
|
|
return;
|
|
L_0894D7D0:
|
|
ctx.gpr[4] = (2230u << 16u);
|
|
ctx.gpr[5] = (aot_mem.aot_load32(ctx.gpr[4] + static_cast<std::uint32_t>(-8148)));
|
|
ctx.gpr[4] = (ctx.gpr[18] | 0u);
|
|
ctx.gpr[5] = (ctx.gpr[5] + static_cast<std::uint32_t>(10000));
|
|
aot_mem.aot_store32(ctx.gpr[18] + static_cast<std::uint32_t>(1800), ctx.gpr[5]);
|
|
ctx.gpr[31] = (0x0894D7ECu);
|
|
ctx.gpr[5] = (0u | 148u);
|
|
if (rt.invoke_chained_direct<&recomp_unit_0044_entry, 44u, 499u, 0x088B6D24u>(ctx, &aot_mem) && ctx.pc == 0x0894D7ECu) goto L_0894D7EC;
|
|
return;
|
|
L_0894D7EC:
|
|
{ const bool branch_taken = 0u == 0u;
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_0894D8C0;
|
|
}
|
|
goto L_0894D7F4;
|
|
}
|
|
L_0894D7F4:
|
|
ctx.gpr[31] = (0x0894D7FCu);
|
|
ctx.gpr[4] = (ctx.gpr[16] | 0u);
|
|
if (rt.invoke_chained_direct<&recomp_unit_0166_entry, 166u, 665u, 0x08A9F148u>(ctx, &aot_mem) && ctx.pc == 0x0894D7FCu) goto L_0894D7FC;
|
|
return;
|
|
L_0894D7FC:
|
|
{ const bool branch_taken = ctx.gpr[2] == 0u;
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_0894D8C0;
|
|
}
|
|
goto L_0894D804;
|
|
}
|
|
L_0894D804:
|
|
ctx.gpr[4] = (aot_mem.aot_load8(ctx.gpr[19] + static_cast<std::uint32_t>(1336)));
|
|
{ const bool branch_taken = ctx.gpr[4] == 0u;
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_0894D8C0;
|
|
}
|
|
goto L_0894D810;
|
|
}
|
|
L_0894D810:
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[19] + static_cast<std::uint32_t>(1332)));
|
|
{ const bool branch_taken = ctx.gpr[4] == 0u;
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_0894D8C0;
|
|
}
|
|
goto L_0894D81C;
|
|
}
|
|
L_0894D81C:
|
|
ctx.gpr[31] = (0x0894D824u);
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[19] + static_cast<std::uint32_t>(1332)));
|
|
if (rt.invoke_chained_direct<&recomp_unit_0039_entry, 39u, 87u, 0x088A06E0u>(ctx, &aot_mem) && ctx.pc == 0x0894D824u) goto L_0894D824;
|
|
return;
|
|
L_0894D824:
|
|
{ const bool branch_taken = ctx.gpr[2] == 0u;
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_0894D8C0;
|
|
}
|
|
goto L_0894D82C;
|
|
}
|
|
L_0894D82C:
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[19] + static_cast<std::uint32_t>(1332)));
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[4] + static_cast<std::uint32_t>(836)));
|
|
{ const bool branch_taken = ctx.gpr[4] != 0u;
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_0894D8C0;
|
|
}
|
|
goto L_0894D83C;
|
|
}
|
|
L_0894D83C:
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[19] + static_cast<std::uint32_t>(1332)));
|
|
ctx.gpr[5] = (ctx.gpr[18] + static_cast<std::uint32_t>(48));
|
|
{ const std::uint32_t vfpu_address = ctx.gpr[5] + static_cast<std::uint32_t>(0);
|
|
float vfpu_value[4]{
|
|
std::bit_cast<float>(aot_mem.aot_load32(vfpu_address + 0u)),
|
|
std::bit_cast<float>(aot_mem.aot_load32(vfpu_address + 4u)),
|
|
std::bit_cast<float>(aot_mem.aot_load32(vfpu_address + 8u)),
|
|
std::bit_cast<float>(aot_mem.aot_load32(vfpu_address + 12u))};
|
|
ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); }
|
|
ctx.gpr[4] = (ctx.gpr[4] + static_cast<std::uint32_t>(48));
|
|
{ const std::uint32_t vfpu_address = ctx.gpr[4] + static_cast<std::uint32_t>(0);
|
|
float vfpu_value[4]{
|
|
std::bit_cast<float>(aot_mem.aot_load32(vfpu_address + 0u)),
|
|
std::bit_cast<float>(aot_mem.aot_load32(vfpu_address + 4u)),
|
|
std::bit_cast<float>(aot_mem.aot_load32(vfpu_address + 8u)),
|
|
std::bit_cast<float>(aot_mem.aot_load32(vfpu_address + 12u))};
|
|
ctx.write_vfpu_vector_ct<1u, 4u>(vfpu_value); }
|
|
{ float vfpu_s[4]{}, vfpu_t[4]{}, vfpu_d[4]{};
|
|
ctx.read_vfpu_vector_with_source_prefix_ct<0u, 3u, 0u>(vfpu_s);
|
|
ctx.read_vfpu_vector_with_source_prefix_ct<1u, 3u, 1u>(vfpu_t);
|
|
for (std::uint32_t i = 0; i < 3u; ++i) vfpu_d[i] = vfpu_s[i] - vfpu_t[i];
|
|
ctx.write_vfpu_vector_with_destination_prefix_ct<0u, 3u>(vfpu_d); }
|
|
{ float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value);
|
|
const std::uint32_t vfpu_address = ctx.gpr[23] + static_cast<std::uint32_t>(0);
|
|
aot_mem.aot_store32(vfpu_address + 0u, std::bit_cast<std::uint32_t>(vfpu_value[0]));
|
|
aot_mem.aot_store32(vfpu_address + 4u, std::bit_cast<std::uint32_t>(vfpu_value[1]));
|
|
aot_mem.aot_store32(vfpu_address + 8u, std::bit_cast<std::uint32_t>(vfpu_value[2]));
|
|
aot_mem.aot_store32(vfpu_address + 12u, std::bit_cast<std::uint32_t>(vfpu_value[3])); }
|
|
{ const std::uint32_t vfpu_address = ctx.gpr[23] + static_cast<std::uint32_t>(0);
|
|
float vfpu_value[4]{
|
|
std::bit_cast<float>(aot_mem.aot_load32(vfpu_address + 0u)),
|
|
std::bit_cast<float>(aot_mem.aot_load32(vfpu_address + 4u)),
|
|
std::bit_cast<float>(aot_mem.aot_load32(vfpu_address + 8u)),
|
|
std::bit_cast<float>(aot_mem.aot_load32(vfpu_address + 12u))};
|
|
ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); }
|
|
ctx.execute_vfpu_vdot_ct<28u, 0u, 0u, 3u>();
|
|
ctx.gpr[4] = (ctx.vfpu_scalar_bits_ct<28u>());
|
|
ctx.fpr[12] = std::bit_cast<float>(ctx.gpr[4]);
|
|
ctx.set_fpu_condition((ctx.fpr[12] < ctx.fpr[22]));
|
|
// nop
|
|
{ const bool branch_taken = !ctx.fpu_condition();
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_0894D8C0;
|
|
}
|
|
goto L_0894D878;
|
|
}
|
|
L_0894D878:
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[19] + static_cast<std::uint32_t>(1332)));
|
|
ctx.gpr[5] = (0u | 15u);
|
|
ctx.gpr[6] = (aot_mem.aot_load32(ctx.gpr[4] + static_cast<std::uint32_t>(92)));
|
|
ctx.gpr[6] = (ctx.gpr[6] + static_cast<std::uint32_t>(304));
|
|
ctx.gpr[7] = (static_cast<std::uint32_t>(static_cast<std::int32_t>(static_cast<std::int16_t>(aot_mem.aot_load16(ctx.gpr[6] + static_cast<std::uint32_t>(0))))));
|
|
ctx.gpr[8] = (aot_mem.aot_load32(ctx.gpr[6] + static_cast<std::uint32_t>(4)));
|
|
ctx.gpr[4] = (ctx.gpr[4] + ctx.gpr[7]);
|
|
jump_target = ctx.gpr[8];
|
|
ctx.gpr[31] = (0x0894D89Cu);
|
|
ctx.gpr[6] = (0u | 0u);
|
|
ctx.pc = jump_target;
|
|
if (rt.invoke_chained_call(ctx, &aot_mem) && ctx.pc == 0x0894D89Cu) goto L_0894D89C;
|
|
return;
|
|
L_0894D89C:
|
|
{ const bool branch_taken = ctx.gpr[2] == 0u;
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_0894D8C0;
|
|
}
|
|
goto L_0894D8A4;
|
|
}
|
|
L_0894D8A4:
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[18] + static_cast<std::uint32_t>(592)));
|
|
{ const bool branch_taken = ctx.gpr[4] != 0u;
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_0894D8C0;
|
|
}
|
|
goto L_0894D8B0;
|
|
}
|
|
L_0894D8B0:
|
|
ctx.gpr[6] = (aot_mem.aot_load32(ctx.gpr[19] + static_cast<std::uint32_t>(1332)));
|
|
ctx.gpr[4] = (ctx.gpr[18] | 0u);
|
|
ctx.gpr[31] = (0x0894D8C0u);
|
|
ctx.gpr[5] = (0u | 31u);
|
|
if (rt.invoke_chained_direct<&recomp_unit_0035_entry, 35u, 927u, 0x08893114u>(ctx, &aot_mem) && ctx.pc == 0x0894D8C0u) goto L_0894D8C0;
|
|
return;
|
|
L_0894D8C0:
|
|
ctx.gpr[4] = (aot_mem.aot_load16(ctx.gpr[19] + static_cast<std::uint32_t>(1868)));
|
|
ctx.gpr[22] = (ctx.gpr[22] + static_cast<std::uint32_t>(1));
|
|
ctx.gpr[4] = (static_cast<std::int32_t>(ctx.gpr[22]) < static_cast<std::int32_t>(ctx.gpr[4]) ? 1u : 0u);
|
|
{ const bool branch_taken = ctx.gpr[4] != 0u;
|
|
ctx.gpr[21] = (ctx.gpr[21] + static_cast<std::uint32_t>(4));
|
|
if (branch_taken) {
|
|
goto L_0894D65C;
|
|
}
|
|
goto L_0894D8D4;
|
|
}
|
|
L_0894D8D4:
|
|
ctx.fpr[20] = std::bit_cast<float>(aot_mem.aot_load32(ctx.gpr[29] + static_cast<std::uint32_t>(136)));
|
|
ctx.fpr[22] = std::bit_cast<float>(aot_mem.aot_load32(ctx.gpr[29] + static_cast<std::uint32_t>(140)));
|
|
ctx.gpr[16] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast<std::uint32_t>(144)));
|
|
ctx.gpr[17] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast<std::uint32_t>(148)));
|
|
ctx.gpr[18] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast<std::uint32_t>(152)));
|
|
ctx.gpr[19] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast<std::uint32_t>(156)));
|
|
ctx.gpr[20] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast<std::uint32_t>(160)));
|
|
ctx.gpr[21] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast<std::uint32_t>(164)));
|
|
ctx.gpr[22] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast<std::uint32_t>(168)));
|
|
ctx.gpr[23] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast<std::uint32_t>(172)));
|
|
ctx.gpr[30] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast<std::uint32_t>(176)));
|
|
ctx.gpr[31] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast<std::uint32_t>(180)));
|
|
jump_target = ctx.gpr[31];
|
|
ctx.gpr[29] = (ctx.gpr[29] + static_cast<std::uint32_t>(192));
|
|
local_pc = jump_target;
|
|
if (++local_transfers < 2048u) { entry_id = 0u; goto LOCAL_DISPATCH; }
|
|
ctx.pc = jump_target;
|
|
return;
|
|
L_0894D90C:
|
|
ctx.gpr[29] = (ctx.gpr[29] + static_cast<std::uint32_t>(-16));
|
|
ctx.gpr[4] = (2228u << 16u);
|
|
ctx.fpr[12] = std::bit_cast<float>(aot_mem.aot_load32(ctx.gpr[4] + static_cast<std::uint32_t>(-30228)));
|
|
ctx.gpr[4] = (16256u << 16u);
|
|
ctx.fpr[13] = std::bit_cast<float>(ctx.gpr[4]);
|
|
ctx.fpr[14] = ctx.fpr[13] / ctx.fpr[12];
|
|
{ const float fs = ctx.fpr[12]; const float ft = ctx.fpr[12]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[17] = std::bit_cast<float>(0x7FC00000u); else ctx.fpr[17] = fs * ft; }
|
|
ctx.fpr[13] = ctx.fpr[13] / ctx.fpr[17];
|
|
ctx.gpr[5] = (2228u << 16u);
|
|
ctx.gpr[4] = (17096u << 16u);
|
|
ctx.fpr[15] = std::bit_cast<float>(aot_mem.aot_load32(ctx.gpr[5] + static_cast<std::uint32_t>(-30232)));
|
|
ctx.gpr[2] = (2228u << 16u);
|
|
ctx.gpr[6] = (2228u << 16u);
|
|
aot_mem.aot_store32(ctx.gpr[2] + static_cast<std::uint32_t>(-30224), std::bit_cast<std::uint32_t>(ctx.fpr[14]));
|
|
ctx.gpr[7] = (2228u << 16u);
|
|
ctx.fpr[14] = std::bit_cast<float>(aot_mem.aot_load32(ctx.gpr[6] + static_cast<std::uint32_t>(-30204)));
|
|
ctx.gpr[3] = (2228u << 16u);
|
|
ctx.fpr[16] = std::bit_cast<float>(ctx.gpr[4]);
|
|
ctx.fpr[15] = ctx.fpr[16] / ctx.fpr[15];
|
|
ctx.fpr[17] = std::bit_cast<float>(aot_mem.aot_load32(ctx.gpr[7] + static_cast<std::uint32_t>(-30192)));
|
|
ctx.fpr[18] = std::bit_cast<float>(aot_mem.aot_load32(ctx.gpr[3] + static_cast<std::uint32_t>(-30196)));
|
|
ctx.gpr[24] = (2228u << 16u);
|
|
aot_mem.aot_store32(ctx.gpr[29] + static_cast<std::uint32_t>(0), ctx.gpr[16]);
|
|
ctx.gpr[5] = (16014u << 16u);
|
|
ctx.gpr[16] = (2228u << 16u);
|
|
aot_mem.aot_store32(ctx.gpr[24] + static_cast<std::uint32_t>(-30188), std::bit_cast<std::uint32_t>(ctx.fpr[18]));
|
|
ctx.gpr[5] = (ctx.gpr[5] | 14571u);
|
|
aot_mem.aot_store32(ctx.gpr[16] + static_cast<std::uint32_t>(-30180), std::bit_cast<std::uint32_t>(ctx.fpr[18]));
|
|
ctx.fpr[18] = std::bit_cast<float>(ctx.gpr[5]);
|
|
ctx.fpr[12] = ctx.fpr[18] / ctx.fpr[12];
|
|
ctx.gpr[13] = (2228u << 16u);
|
|
ctx.gpr[12] = (2228u << 16u);
|
|
aot_mem.aot_store32(ctx.gpr[13] + static_cast<std::uint32_t>(-30216), std::bit_cast<std::uint32_t>(ctx.fpr[13]));
|
|
ctx.gpr[10] = (16672u << 16u);
|
|
aot_mem.aot_store32(ctx.gpr[12] + static_cast<std::uint32_t>(-30220), std::bit_cast<std::uint32_t>(ctx.fpr[15]));
|
|
ctx.gpr[11] = (15744u << 16u);
|
|
ctx.fpr[15] = std::bit_cast<float>(ctx.gpr[10]);
|
|
{ const float fs = ctx.fpr[13]; const float ft = ctx.fpr[15]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[13] = std::bit_cast<float>(0x7FC00000u); else ctx.fpr[13] = fs * ft; }
|
|
ctx.fpr[19] = std::bit_cast<float>(ctx.gpr[11]);
|
|
{ const float fs = ctx.fpr[14]; const float ft = ctx.fpr[19]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[14] = std::bit_cast<float>(0x7FC00000u); else ctx.fpr[14] = fs * ft; }
|
|
ctx.gpr[14] = (2228u << 16u);
|
|
ctx.gpr[8] = (16281u << 16u);
|
|
ctx.gpr[4] = (2228u << 16u);
|
|
aot_mem.aot_store32(ctx.gpr[14] + static_cast<std::uint32_t>(-30212), std::bit_cast<std::uint32_t>(ctx.fpr[13]));
|
|
ctx.gpr[9] = (16268u << 16u);
|
|
ctx.gpr[15] = (2228u << 16u);
|
|
ctx.gpr[6] = (ctx.gpr[8] | 39322u);
|
|
aot_mem.aot_store32(ctx.gpr[4] + static_cast<std::uint32_t>(-30208), std::bit_cast<std::uint32_t>(ctx.fpr[12]));
|
|
ctx.fpr[13] = std::bit_cast<float>(ctx.gpr[6]);
|
|
ctx.gpr[7] = (ctx.gpr[9] | 52429u);
|
|
aot_mem.aot_store32(ctx.gpr[15] + static_cast<std::uint32_t>(-30200), std::bit_cast<std::uint32_t>(ctx.fpr[14]));
|
|
{ const float fs = ctx.fpr[17]; const float ft = ctx.fpr[13]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[12] = std::bit_cast<float>(0x7FC00000u); else ctx.fpr[12] = fs * ft; }
|
|
ctx.fpr[14] = std::bit_cast<float>(ctx.gpr[7]);
|
|
{ const float fs = ctx.fpr[17]; const float ft = ctx.fpr[14]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[14] = std::bit_cast<float>(0x7FC00000u); else ctx.fpr[14] = fs * ft; }
|
|
ctx.gpr[25] = (2228u << 16u);
|
|
ctx.gpr[2] = (2228u << 16u);
|
|
aot_mem.aot_store32(ctx.gpr[25] + static_cast<std::uint32_t>(-30184), std::bit_cast<std::uint32_t>(ctx.fpr[12]));
|
|
aot_mem.aot_store32(ctx.gpr[2] + static_cast<std::uint32_t>(-30176), std::bit_cast<std::uint32_t>(ctx.fpr[14]));
|
|
ctx.gpr[16] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast<std::uint32_t>(0)));
|
|
jump_target = ctx.gpr[31];
|
|
ctx.gpr[29] = (ctx.gpr[29] + static_cast<std::uint32_t>(16));
|
|
local_pc = jump_target;
|
|
if (++local_transfers < 2048u) { entry_id = 0u; goto LOCAL_DISPATCH; }
|
|
ctx.pc = jump_target;
|
|
return;
|
|
L_0894DA00:
|
|
ctx.gpr[5] = (2230u << 16u);
|
|
jump_target = ctx.gpr[31];
|
|
aot_mem.aot_store32(ctx.gpr[5] + static_cast<std::uint32_t>(-6840), ctx.gpr[4]);
|
|
local_pc = jump_target;
|
|
if (++local_transfers < 2048u) { entry_id = 0u; goto LOCAL_DISPATCH; }
|
|
ctx.pc = jump_target;
|
|
return;
|
|
L_0894DA0C:
|
|
ctx.gpr[5] = (2229u << 16u);
|
|
ctx.gpr[6] = (ctx.gpr[4] << 7u);
|
|
ctx.gpr[7] = (aot_mem.aot_load8(ctx.gpr[5] + static_cast<std::uint32_t>(27452)));
|
|
ctx.gpr[4] = (ctx.gpr[4] << 4u);
|
|
ctx.gpr[5] = (2230u << 16u);
|
|
ctx.gpr[5] = (aot_mem.aot_load32(ctx.gpr[5] + static_cast<std::uint32_t>(-6840)));
|
|
{ const bool branch_taken = ctx.gpr[7] == 0u;
|
|
ctx.gpr[4] = (ctx.gpr[6] - ctx.gpr[4]);
|
|
if (branch_taken) {
|
|
goto L_0894DA38;
|
|
}
|
|
goto L_0894DA2C;
|
|
}
|
|
L_0894DA2C:
|
|
ctx.gpr[2] = (aot_mem.aot_load32(ctx.gpr[5] + static_cast<std::uint32_t>(0)));
|
|
{ const bool branch_taken = 0u == 0u;
|
|
ctx.gpr[2] = (ctx.gpr[2] + ctx.gpr[4]);
|
|
if (branch_taken) {
|
|
goto L_0894DA40;
|
|
}
|
|
goto L_0894DA38;
|
|
}
|
|
L_0894DA38:
|
|
ctx.gpr[2] = (aot_mem.aot_load32(ctx.gpr[5] + static_cast<std::uint32_t>(4)));
|
|
ctx.gpr[2] = (ctx.gpr[2] + ctx.gpr[4]);
|
|
goto L_0894DA40;
|
|
L_0894DA40:
|
|
jump_target = ctx.gpr[31];
|
|
// nop
|
|
local_pc = jump_target;
|
|
if (++local_transfers < 2048u) { entry_id = 0u; goto LOCAL_DISPATCH; }
|
|
ctx.pc = jump_target;
|
|
return;
|
|
L_0894DA48:
|
|
ctx.gpr[4] = (2228u << 16u);
|
|
ctx.fpr[12] = std::bit_cast<float>(aot_mem.aot_load32(ctx.gpr[4] + static_cast<std::uint32_t>(-30076)));
|
|
ctx.gpr[4] = (16256u << 16u);
|
|
ctx.fpr[13] = std::bit_cast<float>(ctx.gpr[4]);
|
|
ctx.fpr[14] = ctx.fpr[13] / ctx.fpr[12];
|
|
ctx.gpr[5] = (2228u << 16u);
|
|
ctx.fpr[15] = std::bit_cast<float>(aot_mem.aot_load32(ctx.gpr[5] + static_cast<std::uint32_t>(-30080)));
|
|
ctx.gpr[6] = (2228u << 16u);
|
|
ctx.gpr[4] = (17096u << 16u);
|
|
ctx.gpr[9] = (2228u << 16u);
|
|
ctx.fpr[16] = std::bit_cast<float>(aot_mem.aot_load32(ctx.gpr[6] + static_cast<std::uint32_t>(-30052)));
|
|
ctx.gpr[5] = (16014u << 16u);
|
|
ctx.gpr[5] = (ctx.gpr[5] | 14571u);
|
|
ctx.gpr[11] = (2228u << 16u);
|
|
ctx.gpr[10] = (2228u << 16u);
|
|
ctx.gpr[7] = (16672u << 16u);
|
|
ctx.gpr[8] = (15744u << 16u);
|
|
ctx.gpr[2] = (2228u << 16u);
|
|
ctx.gpr[3] = (2228u << 16u);
|
|
{ const float fs = ctx.fpr[12]; const float ft = ctx.fpr[12]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[18] = std::bit_cast<float>(0x7FC00000u); else ctx.fpr[18] = fs * ft; }
|
|
ctx.fpr[17] = std::bit_cast<float>(ctx.gpr[4]);
|
|
ctx.fpr[13] = ctx.fpr[13] / ctx.fpr[18];
|
|
aot_mem.aot_store32(ctx.gpr[9] + static_cast<std::uint32_t>(-30072), std::bit_cast<std::uint32_t>(ctx.fpr[14]));
|
|
ctx.gpr[12] = (2228u << 16u);
|
|
ctx.fpr[14] = ctx.fpr[17] / ctx.fpr[15];
|
|
aot_mem.aot_store32(ctx.gpr[11] + static_cast<std::uint32_t>(-30064), std::bit_cast<std::uint32_t>(ctx.fpr[13]));
|
|
ctx.fpr[19] = std::bit_cast<float>(ctx.gpr[5]);
|
|
ctx.fpr[12] = ctx.fpr[19] / ctx.fpr[12];
|
|
aot_mem.aot_store32(ctx.gpr[10] + static_cast<std::uint32_t>(-30068), std::bit_cast<std::uint32_t>(ctx.fpr[14]));
|
|
ctx.fpr[14] = std::bit_cast<float>(ctx.gpr[7]);
|
|
{ const float fs = ctx.fpr[13]; const float ft = ctx.fpr[14]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[13] = std::bit_cast<float>(0x7FC00000u); else ctx.fpr[13] = fs * ft; }
|
|
ctx.fpr[18] = std::bit_cast<float>(ctx.gpr[8]);
|
|
{ const float fs = ctx.fpr[16]; const float ft = ctx.fpr[18]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[16] = std::bit_cast<float>(0x7FC00000u); else ctx.fpr[16] = fs * ft; }
|
|
aot_mem.aot_store32(ctx.gpr[2] + static_cast<std::uint32_t>(-30060), std::bit_cast<std::uint32_t>(ctx.fpr[13]));
|
|
aot_mem.aot_store32(ctx.gpr[3] + static_cast<std::uint32_t>(-30056), std::bit_cast<std::uint32_t>(ctx.fpr[12]));
|
|
jump_target = ctx.gpr[31];
|
|
aot_mem.aot_store32(ctx.gpr[12] + static_cast<std::uint32_t>(-30048), std::bit_cast<std::uint32_t>(ctx.fpr[16]));
|
|
local_pc = jump_target;
|
|
if (++local_transfers < 2048u) { entry_id = 0u; goto LOCAL_DISPATCH; }
|
|
ctx.pc = jump_target;
|
|
return;
|
|
L_0894DADC:
|
|
ctx.gpr[29] = (ctx.gpr[29] + static_cast<std::uint32_t>(-32));
|
|
aot_mem.aot_store32(ctx.gpr[29] + static_cast<std::uint32_t>(16), ctx.gpr[31]);
|
|
ctx.gpr[31] = (0x0894DAECu);
|
|
// nop
|
|
goto L_0894DBB0;
|
|
L_0894DAEC:
|
|
ctx.gpr[31] = (0x0894DAF4u);
|
|
// nop
|
|
goto L_0894DC08;
|
|
L_0894DAF4:
|
|
ctx.gpr[4] = (2228u << 16u);
|
|
aot_mem.aot_store32(ctx.gpr[4] + static_cast<std::uint32_t>(-29816), ctx.gpr[2]);
|
|
ctx.gpr[31] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast<std::uint32_t>(16)));
|
|
jump_target = ctx.gpr[31];
|
|
ctx.gpr[29] = (ctx.gpr[29] + static_cast<std::uint32_t>(32));
|
|
local_pc = jump_target;
|
|
if (++local_transfers < 2048u) { entry_id = 0u; goto LOCAL_DISPATCH; }
|
|
ctx.pc = jump_target;
|
|
return;
|
|
L_0894DB08:
|
|
ctx.gpr[4] = (2228u << 16u);
|
|
ctx.gpr[5] = (aot_mem.aot_load32(ctx.gpr[4] + static_cast<std::uint32_t>(-29816)));
|
|
ctx.gpr[6] = (2u << 16u);
|
|
ctx.gpr[6] = (ctx.gpr[6] + static_cast<std::uint32_t>(-3299));
|
|
{ const std::int32_t dividend = static_cast<std::int32_t>(ctx.gpr[5]); const std::int32_t divisor = static_cast<std::int32_t>(ctx.gpr[6]); if (divisor == 0) { ctx.lo = dividend >= 0 ? 0xFFFFFFFFu : 1u; ctx.hi = static_cast<std::uint32_t>(dividend); } else if (dividend == static_cast<std::int32_t>(0x80000000u) && divisor == -1) { ctx.lo = 0x80000000u; ctx.hi = 0u; } else { ctx.lo = static_cast<std::uint32_t>(dividend / divisor); ctx.hi = static_cast<std::uint32_t>(dividend % divisor); } }
|
|
ctx.gpr[5] = (0u + static_cast<std::uint32_t>(16807));
|
|
ctx.gpr[6] = (0u + static_cast<std::uint32_t>(2836));
|
|
ctx.gpr[7] = (ctx.hi);
|
|
ctx.gpr[8] = (ctx.lo);
|
|
// nop
|
|
// nop
|
|
{ const std::int64_t product = static_cast<std::int64_t>(static_cast<std::int32_t>(ctx.gpr[7])) * static_cast<std::int64_t>(static_cast<std::int32_t>(ctx.gpr[5])); ctx.lo = static_cast<std::uint32_t>(product); ctx.hi = static_cast<std::uint32_t>(static_cast<std::uint64_t>(product) >> 32u); }
|
|
ctx.gpr[2] = (ctx.lo);
|
|
// nop
|
|
// nop
|
|
{ const std::int64_t product = static_cast<std::int64_t>(static_cast<std::int32_t>(ctx.gpr[8])) * static_cast<std::int64_t>(static_cast<std::int32_t>(ctx.gpr[6])); ctx.lo = static_cast<std::uint32_t>(product); ctx.hi = static_cast<std::uint32_t>(static_cast<std::uint64_t>(product) >> 32u); }
|
|
ctx.gpr[5] = (ctx.lo);
|
|
ctx.gpr[2] = (ctx.gpr[2] - ctx.gpr[5]);
|
|
{ const bool branch_taken = static_cast<std::int32_t>(ctx.gpr[2]) > 0;
|
|
aot_mem.aot_store32(ctx.gpr[4] + static_cast<std::uint32_t>(-29816), ctx.gpr[2]);
|
|
if (branch_taken) {
|
|
goto L_0894DB68;
|
|
}
|
|
goto L_0894DB58;
|
|
}
|
|
L_0894DB58:
|
|
ctx.gpr[5] = (32768u << 16u);
|
|
ctx.gpr[5] = (ctx.gpr[5] + static_cast<std::uint32_t>(-1));
|
|
ctx.gpr[2] = (ctx.gpr[2] + ctx.gpr[5]);
|
|
aot_mem.aot_store32(ctx.gpr[4] + static_cast<std::uint32_t>(-29816), ctx.gpr[2]);
|
|
goto L_0894DB68;
|
|
L_0894DB68:
|
|
jump_target = ctx.gpr[31];
|
|
// nop
|
|
local_pc = jump_target;
|
|
if (++local_transfers < 2048u) { entry_id = 0u; goto LOCAL_DISPATCH; }
|
|
ctx.pc = jump_target;
|
|
return;
|
|
L_0894DB70:
|
|
ctx.gpr[29] = (ctx.gpr[29] + static_cast<std::uint32_t>(-16));
|
|
aot_mem.aot_store32(ctx.gpr[29] + static_cast<std::uint32_t>(0), ctx.gpr[31]);
|
|
ctx.gpr[31] = (0x0894DB80u);
|
|
// nop
|
|
goto L_0894DB08;
|
|
L_0894DB80:
|
|
ctx.fpr[12] = std::bit_cast<float>(ctx.gpr[2]);
|
|
{ const bool branch_taken = static_cast<std::int32_t>(ctx.gpr[2]) >= 0;
|
|
ctx.fpr[12] = static_cast<float>(static_cast<std::int32_t>(std::bit_cast<std::uint32_t>(ctx.fpr[12])));
|
|
if (branch_taken) {
|
|
goto L_0894DB98;
|
|
}
|
|
goto L_0894DB8C;
|
|
}
|
|
L_0894DB8C:
|
|
ctx.gpr[4] = (20352u << 16u);
|
|
ctx.fpr[13] = std::bit_cast<float>(ctx.gpr[4]);
|
|
ctx.fpr[12] = ctx.fpr[12] + ctx.fpr[13];
|
|
goto L_0894DB98;
|
|
L_0894DB98:
|
|
ctx.gpr[4] = (12288u << 16u);
|
|
ctx.fpr[0] = std::bit_cast<float>(ctx.gpr[4]);
|
|
{ const float fs = ctx.fpr[12]; const float ft = ctx.fpr[0]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[0] = std::bit_cast<float>(0x7FC00000u); else ctx.fpr[0] = fs * ft; }
|
|
ctx.gpr[31] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast<std::uint32_t>(0)));
|
|
jump_target = ctx.gpr[31];
|
|
ctx.gpr[29] = (ctx.gpr[29] + static_cast<std::uint32_t>(16));
|
|
local_pc = jump_target;
|
|
if (++local_transfers < 2048u) { entry_id = 0u; goto LOCAL_DISPATCH; }
|
|
ctx.pc = jump_target;
|
|
return;
|
|
L_0894DBB0:
|
|
ctx.gpr[5] = (2231u << 16u);
|
|
aot_mem.aot_store32(ctx.gpr[5] + static_cast<std::uint32_t>(-11888), ctx.gpr[4]);
|
|
ctx.gpr[6] = (0u | 1u);
|
|
ctx.gpr[7] = (2228u << 16u);
|
|
ctx.gpr[5] = (ctx.gpr[5] + static_cast<std::uint32_t>(-11888));
|
|
ctx.gpr[4] = (27656u << 16u);
|
|
aot_mem.aot_store32(ctx.gpr[7] + static_cast<std::uint32_t>(-29812), ctx.gpr[6]);
|
|
ctx.gpr[5] = (ctx.gpr[5] + static_cast<std::uint32_t>(4));
|
|
ctx.gpr[4] = (ctx.gpr[4] + static_cast<std::uint32_t>(-30363));
|
|
goto L_0894DBD4;
|
|
L_0894DBD4:
|
|
ctx.gpr[8] = (aot_mem.aot_load32(ctx.gpr[5] + static_cast<std::uint32_t>(-4)));
|
|
ctx.gpr[9] = (ctx.gpr[8] >> 30u);
|
|
ctx.gpr[8] = (ctx.gpr[8] ^ ctx.gpr[9]);
|
|
{ const std::int64_t product = static_cast<std::int64_t>(static_cast<std::int32_t>(ctx.gpr[8])) * static_cast<std::int64_t>(static_cast<std::int32_t>(ctx.gpr[4])); ctx.lo = static_cast<std::uint32_t>(product); ctx.hi = static_cast<std::uint32_t>(static_cast<std::uint64_t>(product) >> 32u); }
|
|
ctx.gpr[8] = (ctx.lo);
|
|
ctx.gpr[8] = (ctx.gpr[8] + ctx.gpr[6]);
|
|
aot_mem.aot_store32(ctx.gpr[5] + static_cast<std::uint32_t>(0), ctx.gpr[8]);
|
|
ctx.gpr[6] = (ctx.gpr[6] + static_cast<std::uint32_t>(1));
|
|
ctx.gpr[8] = (static_cast<std::int32_t>(ctx.gpr[6]) < 624 ? 1u : 0u);
|
|
{ const bool branch_taken = ctx.gpr[8] != 0u;
|
|
ctx.gpr[5] = (ctx.gpr[5] + static_cast<std::uint32_t>(4));
|
|
if (branch_taken) {
|
|
goto L_0894DBD4;
|
|
}
|
|
goto L_0894DC00;
|
|
}
|
|
L_0894DC00:
|
|
jump_target = ctx.gpr[31];
|
|
aot_mem.aot_store32(ctx.gpr[7] + static_cast<std::uint32_t>(-29812), ctx.gpr[6]);
|
|
local_pc = jump_target;
|
|
if (++local_transfers < 2048u) { entry_id = 0u; goto LOCAL_DISPATCH; }
|
|
ctx.pc = jump_target;
|
|
return;
|
|
L_0894DC08:
|
|
ctx.gpr[29] = (ctx.gpr[29] + static_cast<std::uint32_t>(-64));
|
|
aot_mem.aot_store32(ctx.gpr[29] + static_cast<std::uint32_t>(16), ctx.gpr[16]);
|
|
ctx.gpr[16] = (2228u << 16u);
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast<std::uint32_t>(-29812)));
|
|
aot_mem.aot_store32(ctx.gpr[29] + static_cast<std::uint32_t>(24), ctx.gpr[18]);
|
|
ctx.gpr[18] = (2231u << 16u);
|
|
ctx.gpr[5] = (static_cast<std::int32_t>(ctx.gpr[4]) < 624 ? 1u : 0u);
|
|
aot_mem.aot_store32(ctx.gpr[29] + static_cast<std::uint32_t>(20), ctx.gpr[17]);
|
|
aot_mem.aot_store32(ctx.gpr[29] + static_cast<std::uint32_t>(28), ctx.gpr[19]);
|
|
aot_mem.aot_store32(ctx.gpr[29] + static_cast<std::uint32_t>(32), ctx.gpr[20]);
|
|
aot_mem.aot_store32(ctx.gpr[29] + static_cast<std::uint32_t>(36), ctx.gpr[21]);
|
|
aot_mem.aot_store32(ctx.gpr[29] + static_cast<std::uint32_t>(40), ctx.gpr[22]);
|
|
aot_mem.aot_store32(ctx.gpr[29] + static_cast<std::uint32_t>(44), ctx.gpr[23]);
|
|
aot_mem.aot_store32(ctx.gpr[29] + static_cast<std::uint32_t>(48), ctx.gpr[31]);
|
|
{ const bool branch_taken = ctx.gpr[5] != 0u;
|
|
ctx.gpr[19] = (ctx.gpr[18] + static_cast<std::uint32_t>(-11888));
|
|
if (branch_taken) {
|
|
goto L_0894DD5C;
|
|
}
|
|
goto L_0894DC48;
|
|
}
|
|
L_0894DC48:
|
|
ctx.gpr[22] = (32768u << 16u);
|
|
ctx.gpr[23] = (2228u << 16u);
|
|
ctx.gpr[17] = (0u | 0u);
|
|
ctx.gpr[5] = (0u | 625u);
|
|
ctx.gpr[20] = (ctx.gpr[19] | 0u);
|
|
ctx.gpr[22] = (ctx.gpr[22] + static_cast<std::uint32_t>(-1));
|
|
ctx.gpr[23] = (ctx.gpr[23] + static_cast<std::uint32_t>(-29808));
|
|
{ const bool branch_taken = ctx.gpr[4] != ctx.gpr[5];
|
|
ctx.gpr[21] = (32768u << 16u);
|
|
if (branch_taken) {
|
|
goto L_0894DC74;
|
|
}
|
|
goto L_0894DC6C;
|
|
}
|
|
L_0894DC6C:
|
|
ctx.gpr[31] = (0x0894DC74u);
|
|
ctx.gpr[4] = (0u | 5489u);
|
|
goto L_0894DBB0;
|
|
L_0894DC74:
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[20] + static_cast<std::uint32_t>(0)));
|
|
ctx.gpr[5] = (aot_mem.aot_load32(ctx.gpr[20] + static_cast<std::uint32_t>(4)));
|
|
ctx.gpr[4] = (ctx.gpr[4] & ctx.gpr[21]);
|
|
ctx.gpr[6] = (ctx.gpr[5] & ctx.gpr[22]);
|
|
ctx.gpr[5] = (ctx.gpr[5] & 1u);
|
|
ctx.gpr[4] = (ctx.gpr[4] | ctx.gpr[6]);
|
|
ctx.gpr[5] = (ctx.gpr[5] << 2u);
|
|
ctx.gpr[6] = (aot_mem.aot_load32(ctx.gpr[20] + static_cast<std::uint32_t>(1588)));
|
|
ctx.gpr[5] = (ctx.gpr[5] + ctx.gpr[23]);
|
|
ctx.gpr[4] = (ctx.gpr[4] >> 1u);
|
|
ctx.gpr[5] = (aot_mem.aot_load32(ctx.gpr[5] + static_cast<std::uint32_t>(0)));
|
|
ctx.gpr[4] = (ctx.gpr[6] ^ ctx.gpr[4]);
|
|
ctx.gpr[4] = (ctx.gpr[4] ^ ctx.gpr[5]);
|
|
ctx.gpr[17] = (ctx.gpr[17] + static_cast<std::uint32_t>(1));
|
|
aot_mem.aot_store32(ctx.gpr[20] + static_cast<std::uint32_t>(0), ctx.gpr[4]);
|
|
ctx.gpr[4] = (static_cast<std::int32_t>(ctx.gpr[17]) < 227 ? 1u : 0u);
|
|
{ const bool branch_taken = ctx.gpr[4] != 0u;
|
|
ctx.gpr[20] = (ctx.gpr[20] + static_cast<std::uint32_t>(4));
|
|
if (branch_taken) {
|
|
goto L_0894DC74;
|
|
}
|
|
goto L_0894DCBC;
|
|
}
|
|
L_0894DCBC:
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[20] + static_cast<std::uint32_t>(0)));
|
|
ctx.gpr[5] = (aot_mem.aot_load32(ctx.gpr[20] + static_cast<std::uint32_t>(4)));
|
|
ctx.gpr[4] = (ctx.gpr[4] & ctx.gpr[21]);
|
|
ctx.gpr[6] = (ctx.gpr[5] & ctx.gpr[22]);
|
|
ctx.gpr[5] = (ctx.gpr[5] & 1u);
|
|
ctx.gpr[4] = (ctx.gpr[4] | ctx.gpr[6]);
|
|
ctx.gpr[5] = (ctx.gpr[5] << 2u);
|
|
ctx.gpr[6] = (aot_mem.aot_load32(ctx.gpr[20] + static_cast<std::uint32_t>(-908)));
|
|
ctx.gpr[5] = (ctx.gpr[5] + ctx.gpr[23]);
|
|
ctx.gpr[4] = (ctx.gpr[4] >> 1u);
|
|
ctx.gpr[5] = (aot_mem.aot_load32(ctx.gpr[5] + static_cast<std::uint32_t>(0)));
|
|
ctx.gpr[4] = (ctx.gpr[6] ^ ctx.gpr[4]);
|
|
ctx.gpr[4] = (ctx.gpr[4] ^ ctx.gpr[5]);
|
|
ctx.gpr[17] = (ctx.gpr[17] + static_cast<std::uint32_t>(1));
|
|
aot_mem.aot_store32(ctx.gpr[20] + static_cast<std::uint32_t>(0), ctx.gpr[4]);
|
|
ctx.gpr[4] = (static_cast<std::int32_t>(ctx.gpr[17]) < 623 ? 1u : 0u);
|
|
{ const bool branch_taken = ctx.gpr[4] != 0u;
|
|
ctx.gpr[20] = (ctx.gpr[20] + static_cast<std::uint32_t>(4));
|
|
if (branch_taken) {
|
|
goto L_0894DCBC;
|
|
}
|
|
goto L_0894DD04;
|
|
}
|
|
L_0894DD04:
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[19] + static_cast<std::uint32_t>(2492)));
|
|
ctx.gpr[5] = (aot_mem.aot_load32(ctx.gpr[18] + static_cast<std::uint32_t>(-11888)));
|
|
ctx.gpr[4] = (ctx.gpr[4] & ctx.gpr[21]);
|
|
ctx.gpr[5] = (ctx.gpr[5] & ctx.gpr[22]);
|
|
ctx.gpr[4] = (ctx.gpr[4] | ctx.gpr[5]);
|
|
ctx.gpr[5] = (aot_mem.aot_load32(ctx.gpr[19] + static_cast<std::uint32_t>(1584)));
|
|
ctx.gpr[6] = (ctx.gpr[4] & 1u);
|
|
ctx.gpr[4] = (ctx.gpr[4] >> 1u);
|
|
ctx.gpr[6] = (ctx.gpr[6] << 2u);
|
|
ctx.gpr[4] = (ctx.gpr[5] ^ ctx.gpr[4]);
|
|
ctx.gpr[5] = (ctx.gpr[6] + ctx.gpr[23]);
|
|
ctx.gpr[5] = (aot_mem.aot_load32(ctx.gpr[5] + static_cast<std::uint32_t>(0)));
|
|
ctx.gpr[6] = (0u << 2u);
|
|
ctx.gpr[4] = (ctx.gpr[4] ^ ctx.gpr[5]);
|
|
aot_mem.aot_store32(ctx.gpr[19] + static_cast<std::uint32_t>(2492), ctx.gpr[4]);
|
|
ctx.gpr[4] = (ctx.gpr[6] + ctx.gpr[19]);
|
|
ctx.gpr[5] = (0u + static_cast<std::uint32_t>(1));
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[4] + static_cast<std::uint32_t>(0)));
|
|
aot_mem.aot_store32(ctx.gpr[16] + static_cast<std::uint32_t>(-29812), ctx.gpr[5]);
|
|
ctx.gpr[16] = (ctx.gpr[4] >> 11u);
|
|
{ const bool branch_taken = 0u == 0u;
|
|
ctx.gpr[16] = (ctx.gpr[4] ^ ctx.gpr[16]);
|
|
if (branch_taken) {
|
|
goto L_0894DD78;
|
|
}
|
|
goto L_0894DD5C;
|
|
}
|
|
L_0894DD5C:
|
|
ctx.gpr[5] = (ctx.gpr[4] << 2u);
|
|
ctx.gpr[5] = (ctx.gpr[5] + ctx.gpr[19]);
|
|
ctx.gpr[4] = (ctx.gpr[4] + static_cast<std::uint32_t>(1));
|
|
ctx.gpr[5] = (aot_mem.aot_load32(ctx.gpr[5] + static_cast<std::uint32_t>(0)));
|
|
aot_mem.aot_store32(ctx.gpr[16] + static_cast<std::uint32_t>(-29812), ctx.gpr[4]);
|
|
ctx.gpr[16] = (ctx.gpr[5] >> 11u);
|
|
ctx.gpr[16] = (ctx.gpr[5] ^ ctx.gpr[16]);
|
|
goto L_0894DD78;
|
|
L_0894DD78:
|
|
ctx.gpr[5] = (40236u << 16u);
|
|
ctx.gpr[4] = (ctx.gpr[16] << 7u);
|
|
ctx.gpr[5] = (ctx.gpr[5] + static_cast<std::uint32_t>(22144));
|
|
ctx.gpr[4] = (ctx.gpr[4] & ctx.gpr[5]);
|
|
ctx.gpr[4] = (ctx.gpr[16] ^ ctx.gpr[4]);
|
|
ctx.gpr[5] = (ctx.gpr[4] << 15u);
|
|
ctx.gpr[6] = (61382u << 16u);
|
|
ctx.gpr[5] = (ctx.gpr[5] & ctx.gpr[6]);
|
|
ctx.gpr[2] = (ctx.gpr[4] ^ ctx.gpr[5]);
|
|
ctx.gpr[4] = (ctx.gpr[2] >> 18u);
|
|
ctx.gpr[2] = (ctx.gpr[2] ^ ctx.gpr[4]);
|
|
ctx.gpr[16] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast<std::uint32_t>(16)));
|
|
ctx.gpr[17] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast<std::uint32_t>(20)));
|
|
ctx.gpr[18] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast<std::uint32_t>(24)));
|
|
ctx.gpr[19] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast<std::uint32_t>(28)));
|
|
ctx.gpr[20] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast<std::uint32_t>(32)));
|
|
ctx.gpr[21] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast<std::uint32_t>(36)));
|
|
ctx.gpr[22] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast<std::uint32_t>(40)));
|
|
ctx.gpr[23] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast<std::uint32_t>(44)));
|
|
ctx.gpr[31] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast<std::uint32_t>(48)));
|
|
jump_target = ctx.gpr[31];
|
|
ctx.gpr[29] = (ctx.gpr[29] + static_cast<std::uint32_t>(64));
|
|
local_pc = jump_target;
|
|
if (++local_transfers < 2048u) { entry_id = 0u; goto LOCAL_DISPATCH; }
|
|
ctx.pc = jump_target;
|
|
return;
|
|
L_0894DDD0:
|
|
ctx.gpr[29] = (ctx.gpr[29] + static_cast<std::uint32_t>(-48));
|
|
ctx.gpr[11] = (aot_mem.aot_load32(ctx.gpr[6] + static_cast<std::uint32_t>(0)));
|
|
ctx.gpr[10] = (ctx.gpr[11] + ctx.gpr[11]);
|
|
ctx.gpr[2] = (static_cast<std::int32_t>(ctx.gpr[10]) < 4 ? 1u : 0u);
|
|
aot_mem.aot_store32(ctx.gpr[29] + static_cast<std::uint32_t>(36), ctx.gpr[31]);
|
|
{ const bool branch_taken = ctx.gpr[2] == 0u;
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_0894DDF4;
|
|
}
|
|
goto L_0894DDEC;
|
|
}
|
|
L_0894DDEC:
|
|
{ const bool branch_taken = 0u == 0u;
|
|
ctx.gpr[10] = (0u | 4u);
|
|
if (branch_taken) {
|
|
goto L_0894DE5C;
|
|
}
|
|
goto L_0894DDF4;
|
|
}
|
|
L_0894DDF4:
|
|
ctx.gpr[2] = (static_cast<std::uint32_t>(static_cast<std::int32_t>(ctx.gpr[8]) >> 1u));
|
|
ctx.gpr[2] = (ctx.gpr[2] >> 31u);
|
|
ctx.gpr[2] = (ctx.gpr[8] + ctx.gpr[2]);
|
|
ctx.gpr[2] = (static_cast<std::uint32_t>(static_cast<std::int32_t>(ctx.gpr[2]) >> 1u));
|
|
ctx.gpr[2] = (static_cast<std::int32_t>(ctx.gpr[11]) < static_cast<std::int32_t>(ctx.gpr[2]) ? 1u : 0u);
|
|
{ const bool branch_taken = ctx.gpr[2] != 0u;
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_0894DE5C;
|
|
}
|
|
goto L_0894DE10;
|
|
}
|
|
L_0894DE10:
|
|
ctx.gpr[2] = (ctx.gpr[8] + static_cast<std::uint32_t>(-4));
|
|
ctx.gpr[2] = (static_cast<std::int32_t>(ctx.gpr[11]) < static_cast<std::int32_t>(ctx.gpr[2]) ? 1u : 0u);
|
|
{ const bool branch_taken = ctx.gpr[2] == 0u;
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_0894DE28;
|
|
}
|
|
goto L_0894DE20;
|
|
}
|
|
L_0894DE20:
|
|
{ const bool branch_taken = 0u == 0u;
|
|
ctx.gpr[10] = (ctx.gpr[8] | 0u);
|
|
if (branch_taken) {
|
|
goto L_0894DE5C;
|
|
}
|
|
goto L_0894DE28;
|
|
}
|
|
L_0894DE28:
|
|
aot_mem.aot_store32(ctx.gpr[29] + static_cast<std::uint32_t>(32), ctx.gpr[10]);
|
|
aot_mem.aot_store32(ctx.gpr[29] + static_cast<std::uint32_t>(28), ctx.gpr[7]);
|
|
aot_mem.aot_store32(ctx.gpr[29] + static_cast<std::uint32_t>(20), ctx.gpr[5]);
|
|
aot_mem.aot_store32(ctx.gpr[29] + static_cast<std::uint32_t>(24), ctx.gpr[6]);
|
|
aot_mem.aot_store32(ctx.gpr[29] + static_cast<std::uint32_t>(16), ctx.gpr[4]);
|
|
ctx.gpr[31] = (0x0894DE44u);
|
|
ctx.gpr[5] = (ctx.gpr[9] | 0u);
|
|
if (rt.invoke_chained_direct<&recomp_unit_0127_entry, 127u, 360u, 0x08A01968u>(ctx, &aot_mem) && ctx.pc == 0x0894DE44u) goto L_0894DE44;
|
|
return;
|
|
L_0894DE44:
|
|
ctx.gpr[6] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast<std::uint32_t>(24)));
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast<std::uint32_t>(16)));
|
|
ctx.gpr[11] = (aot_mem.aot_load32(ctx.gpr[6] + static_cast<std::uint32_t>(0)));
|
|
ctx.gpr[5] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast<std::uint32_t>(20)));
|
|
ctx.gpr[7] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast<std::uint32_t>(28)));
|
|
ctx.gpr[10] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast<std::uint32_t>(32)));
|
|
goto L_0894DE5C;
|
|
L_0894DE5C:
|
|
{ const std::int64_t product = static_cast<std::int64_t>(static_cast<std::int32_t>(ctx.gpr[11])) * static_cast<std::int64_t>(static_cast<std::int32_t>(ctx.gpr[7])); ctx.lo = static_cast<std::uint32_t>(product); ctx.hi = static_cast<std::uint32_t>(static_cast<std::uint64_t>(product) >> 32u); }
|
|
aot_mem.aot_store32(ctx.gpr[29] + static_cast<std::uint32_t>(32), ctx.gpr[10]);
|
|
aot_mem.aot_store32(ctx.gpr[29] + static_cast<std::uint32_t>(24), ctx.gpr[6]);
|
|
ctx.gpr[6] = (ctx.lo);
|
|
// nop
|
|
// nop
|
|
{ const std::int64_t product = static_cast<std::int64_t>(static_cast<std::int32_t>(ctx.gpr[10])) * static_cast<std::int64_t>(static_cast<std::int32_t>(ctx.gpr[7])); ctx.lo = static_cast<std::uint32_t>(product); ctx.hi = static_cast<std::uint32_t>(static_cast<std::uint64_t>(product) >> 32u); }
|
|
ctx.gpr[7] = (ctx.lo);
|
|
ctx.gpr[31] = (0x0894DE84u);
|
|
// nop
|
|
goto L_0894DE9C;
|
|
L_0894DE84:
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast<std::uint32_t>(24)));
|
|
ctx.gpr[5] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast<std::uint32_t>(32)));
|
|
aot_mem.aot_store32(ctx.gpr[4] + static_cast<std::uint32_t>(0), ctx.gpr[5]);
|
|
ctx.gpr[31] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast<std::uint32_t>(36)));
|
|
jump_target = ctx.gpr[31];
|
|
ctx.gpr[29] = (ctx.gpr[29] + static_cast<std::uint32_t>(48));
|
|
local_pc = jump_target;
|
|
if (++local_transfers < 2048u) { entry_id = 0u; goto LOCAL_DISPATCH; }
|
|
ctx.pc = jump_target;
|
|
return;
|
|
L_0894DE9C:
|
|
ctx.gpr[29] = (ctx.gpr[29] + static_cast<std::uint32_t>(-48));
|
|
aot_mem.aot_store32(ctx.gpr[29] + static_cast<std::uint32_t>(20), ctx.gpr[17]);
|
|
aot_mem.aot_store32(ctx.gpr[29] + static_cast<std::uint32_t>(24), ctx.gpr[18]);
|
|
aot_mem.aot_store32(ctx.gpr[29] + static_cast<std::uint32_t>(28), ctx.gpr[19]);
|
|
ctx.gpr[19] = (ctx.gpr[4] | 0u);
|
|
ctx.gpr[18] = (ctx.gpr[5] | 0u);
|
|
ctx.gpr[17] = (ctx.gpr[6] | 0u);
|
|
aot_mem.aot_store32(ctx.gpr[29] + static_cast<std::uint32_t>(16), ctx.gpr[16]);
|
|
aot_mem.aot_store32(ctx.gpr[29] + static_cast<std::uint32_t>(32), ctx.gpr[31]);
|
|
{ const bool branch_taken = ctx.gpr[7] != 0u;
|
|
ctx.gpr[16] = (ctx.gpr[7] | 0u);
|
|
if (branch_taken) {
|
|
goto L_0894DEEC;
|
|
}
|
|
goto L_0894DEC8;
|
|
}
|
|
L_0894DEC8:
|
|
{ const bool branch_taken = ctx.gpr[18] == 0u;
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_0894DEE4;
|
|
}
|
|
goto L_0894DED0;
|
|
}
|
|
L_0894DED0:
|
|
ctx.gpr[4] = (ctx.gpr[18] | 0u);
|
|
ctx.gpr[31] = (0x0894DEDCu);
|
|
ctx.gpr[5] = (ctx.gpr[17] | 0u);
|
|
if (rt.invoke_chained_direct<&recomp_unit_0092_entry, 92u, 133u, 0x089749B8u>(ctx, &aot_mem) && ctx.pc == 0x0894DEDCu) goto L_0894DEDC;
|
|
return;
|
|
L_0894DEDC:
|
|
{ const bool branch_taken = 0u == 0u;
|
|
ctx.gpr[18] = (0u | 0u);
|
|
if (branch_taken) {
|
|
goto L_0894DF4C;
|
|
}
|
|
goto L_0894DEE4;
|
|
}
|
|
L_0894DEE4:
|
|
{ const bool branch_taken = 0u == 0u;
|
|
ctx.gpr[2] = (0u | 0u);
|
|
if (branch_taken) {
|
|
goto L_0894DF78;
|
|
}
|
|
goto L_0894DEEC;
|
|
}
|
|
L_0894DEEC:
|
|
ctx.gpr[4] = (ctx.gpr[16] < static_cast<std::uint32_t>(-3) ? 1u : 0u);
|
|
{ const bool branch_taken = ctx.gpr[4] != 0u;
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_0894DF10;
|
|
}
|
|
goto L_0894DEF8;
|
|
}
|
|
L_0894DEF8:
|
|
ctx.gpr[5] = (2225u << 16u);
|
|
ctx.gpr[4] = (ctx.gpr[19] | 0u);
|
|
ctx.gpr[31] = (0x0894DF08u);
|
|
ctx.gpr[5] = (ctx.gpr[5] + static_cast<std::uint32_t>(31864));
|
|
if (rt.invoke_chained_direct<&recomp_unit_0127_entry, 127u, 360u, 0x08A01968u>(ctx, &aot_mem) && ctx.pc == 0x0894DF08u) goto L_0894DF08;
|
|
return;
|
|
L_0894DF08:
|
|
{ const bool branch_taken = 0u == 0u;
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_0894DF4C;
|
|
}
|
|
goto L_0894DF10;
|
|
}
|
|
L_0894DF10:
|
|
ctx.gpr[4] = (ctx.gpr[18] | 0u);
|
|
ctx.gpr[5] = (ctx.gpr[17] | 0u);
|
|
ctx.gpr[31] = (0x0894DF20u);
|
|
ctx.gpr[6] = (ctx.gpr[16] | 0u);
|
|
if (rt.invoke_chained_direct<&recomp_unit_0092_entry, 92u, 131u, 0x08974990u>(ctx, &aot_mem) && ctx.pc == 0x0894DF20u) goto L_0894DF20;
|
|
return;
|
|
L_0894DF20:
|
|
{ const bool branch_taken = ctx.gpr[2] != 0u;
|
|
ctx.gpr[18] = (ctx.gpr[2] | 0u);
|
|
if (branch_taken) {
|
|
goto L_0894DF4C;
|
|
}
|
|
goto L_0894DF28;
|
|
}
|
|
L_0894DF28:
|
|
{ const bool branch_taken = ctx.gpr[19] == 0u;
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_0894DF44;
|
|
}
|
|
goto L_0894DF30;
|
|
}
|
|
L_0894DF30:
|
|
ctx.gpr[4] = (ctx.gpr[19] | 0u);
|
|
ctx.gpr[31] = (0x0894DF3Cu);
|
|
ctx.gpr[5] = (0u | 4u);
|
|
if (rt.invoke_chained_direct<&recomp_unit_0045_entry, 45u, 244u, 0x088B9474u>(ctx, &aot_mem) && ctx.pc == 0x0894DF3Cu) goto L_0894DF3C;
|
|
return;
|
|
L_0894DF3C:
|
|
{ const bool branch_taken = 0u == 0u;
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_0894DF4C;
|
|
}
|
|
goto L_0894DF44;
|
|
}
|
|
L_0894DF44:
|
|
{ const bool branch_taken = 0u == 0u;
|
|
ctx.gpr[2] = (0u | 0u);
|
|
if (branch_taken) {
|
|
goto L_0894DF78;
|
|
}
|
|
goto L_0894DF4C;
|
|
}
|
|
L_0894DF4C:
|
|
{ const bool branch_taken = ctx.gpr[19] == 0u;
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_0894DF74;
|
|
}
|
|
goto L_0894DF54;
|
|
}
|
|
L_0894DF54:
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[19] + static_cast<std::uint32_t>(16)));
|
|
ctx.gpr[5] = (aot_mem.aot_load32(ctx.gpr[4] + static_cast<std::uint32_t>(36)));
|
|
ctx.gpr[5] = (ctx.gpr[5] - ctx.gpr[17]);
|
|
aot_mem.aot_store32(ctx.gpr[4] + static_cast<std::uint32_t>(36), ctx.gpr[5]);
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[19] + static_cast<std::uint32_t>(16)));
|
|
ctx.gpr[5] = (aot_mem.aot_load32(ctx.gpr[4] + static_cast<std::uint32_t>(36)));
|
|
ctx.gpr[5] = (ctx.gpr[5] + ctx.gpr[16]);
|
|
aot_mem.aot_store32(ctx.gpr[4] + static_cast<std::uint32_t>(36), ctx.gpr[5]);
|
|
goto L_0894DF74;
|
|
L_0894DF74:
|
|
ctx.gpr[2] = (ctx.gpr[18] | 0u);
|
|
goto L_0894DF78;
|
|
L_0894DF78:
|
|
ctx.gpr[16] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast<std::uint32_t>(16)));
|
|
ctx.gpr[17] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast<std::uint32_t>(20)));
|
|
ctx.gpr[18] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast<std::uint32_t>(24)));
|
|
ctx.gpr[19] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast<std::uint32_t>(28)));
|
|
ctx.gpr[31] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast<std::uint32_t>(32)));
|
|
jump_target = ctx.gpr[31];
|
|
ctx.gpr[29] = (ctx.gpr[29] + static_cast<std::uint32_t>(48));
|
|
local_pc = jump_target;
|
|
if (++local_transfers < 2048u) { entry_id = 0u; goto LOCAL_DISPATCH; }
|
|
ctx.pc = jump_target;
|
|
return;
|
|
L_0894DF94:
|
|
ctx.gpr[29] = (ctx.gpr[29] + static_cast<std::uint32_t>(-48));
|
|
aot_mem.aot_store32(ctx.gpr[29] + static_cast<std::uint32_t>(20), ctx.gpr[5]);
|
|
aot_mem.aot_store32(ctx.gpr[29] + static_cast<std::uint32_t>(24), ctx.gpr[6]);
|
|
aot_mem.aot_store32(ctx.gpr[29] + static_cast<std::uint32_t>(28), ctx.gpr[7]);
|
|
aot_mem.aot_store32(ctx.gpr[29] + static_cast<std::uint32_t>(32), ctx.gpr[8]);
|
|
aot_mem.aot_store32(ctx.gpr[29] + static_cast<std::uint32_t>(36), ctx.gpr[9]);
|
|
aot_mem.aot_store32(ctx.gpr[29] + static_cast<std::uint32_t>(40), ctx.gpr[10]);
|
|
aot_mem.aot_store32(ctx.gpr[29] + static_cast<std::uint32_t>(44), ctx.gpr[11]);
|
|
ctx.gpr[2] = (0u | 0u);
|
|
jump_target = ctx.gpr[31];
|
|
ctx.gpr[29] = (ctx.gpr[29] + static_cast<std::uint32_t>(48));
|
|
local_pc = jump_target;
|
|
if (++local_transfers < 2048u) { entry_id = 0u; goto LOCAL_DISPATCH; }
|
|
ctx.pc = jump_target;
|
|
return;
|
|
L_0894DFC0:
|
|
ctx.gpr[29] = (ctx.gpr[29] + static_cast<std::uint32_t>(-48));
|
|
aot_mem.aot_store32(ctx.gpr[29] + static_cast<std::uint32_t>(16), ctx.gpr[16]);
|
|
aot_mem.aot_store32(ctx.gpr[29] + static_cast<std::uint32_t>(20), ctx.gpr[17]);
|
|
aot_mem.aot_store32(ctx.gpr[29] + static_cast<std::uint32_t>(24), ctx.gpr[18]);
|
|
aot_mem.aot_store32(ctx.gpr[29] + static_cast<std::uint32_t>(28), ctx.gpr[19]);
|
|
aot_mem.aot_store32(ctx.gpr[29] + static_cast<std::uint32_t>(36), ctx.gpr[21]);
|
|
ctx.gpr[19] = (ctx.gpr[4] | 0u);
|
|
ctx.gpr[21] = (2228u << 16u);
|
|
ctx.gpr[16] = (ctx.gpr[7] | 0u);
|
|
ctx.gpr[17] = (ctx.gpr[6] | 0u);
|
|
ctx.gpr[18] = (ctx.gpr[5] | 0u);
|
|
aot_mem.aot_store32(ctx.gpr[29] + static_cast<std::uint32_t>(32), ctx.gpr[20]);
|
|
aot_mem.aot_store32(ctx.gpr[29] + static_cast<std::uint32_t>(40), ctx.gpr[31]);
|
|
ctx.gpr[31] = (0x0894DFFCu);
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[21] + static_cast<std::uint32_t>(-29796)));
|
|
if (rt.invoke_chained_direct<&recomp_unit_0167_entry, 167u, 665u, 0x08AA31B4u>(ctx, &aot_mem) && ctx.pc == 0x0894DFFCu) goto L_0894DFFC;
|
|
return;
|
|
L_0894DFFC:
|
|
ctx.gpr[20] = (ctx.gpr[2] | 0u);
|
|
ctx.gpr[4] = (ctx.gpr[20] | 0u);
|
|
ctx.gpr[5] = (0u | 0u);
|
|
ctx.gpr[31] = (0x0894E010u);
|
|
ctx.gpr[6] = (0u | 16u);
|
|
if (rt.invoke_chained_direct<&recomp_unit_0186_entry, 186u, 390u, 0x08AED5D0u>(ctx, &aot_mem) && ctx.pc == 0x0894E010u) goto L_0894E010;
|
|
return;
|
|
L_0894E010:
|
|
ctx.gpr[5] = (static_cast<std::uint32_t>(std::countl_zero(ctx.gpr[19])));
|
|
{ const std::int64_t product = static_cast<std::int64_t>(static_cast<std::int32_t>(ctx.gpr[17])) * static_cast<std::int64_t>(static_cast<std::int32_t>(ctx.gpr[19])); ctx.lo = static_cast<std::uint32_t>(product); ctx.hi = static_cast<std::uint32_t>(static_cast<std::uint64_t>(product) >> 32u); }
|
|
ctx.gpr[4] = (0u | 31u);
|
|
ctx.gpr[5] = (ctx.gpr[4] - ctx.gpr[5]);
|
|
aot_mem.aot_store8(ctx.gpr[20] + static_cast<std::uint32_t>(10), static_cast<std::uint8_t>(ctx.gpr[5]));
|
|
ctx.gpr[5] = (ctx.lo);
|
|
ctx.gpr[5] = (static_cast<std::uint32_t>(static_cast<std::int32_t>(ctx.gpr[5]) >> 3u));
|
|
aot_mem.aot_store16(ctx.gpr[20] + static_cast<std::uint32_t>(8), static_cast<std::uint16_t>(ctx.gpr[5]));
|
|
ctx.gpr[5] = (static_cast<std::uint32_t>(static_cast<std::int32_t>(static_cast<std::int16_t>(aot_mem.aot_load16(ctx.gpr[20] + static_cast<std::uint32_t>(8))))));
|
|
ctx.gpr[5] = (static_cast<std::int32_t>(ctx.gpr[5]) < 16 ? 1u : 0u);
|
|
{ const bool branch_taken = ctx.gpr[5] == 0u;
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_0894E048;
|
|
}
|
|
goto L_0894E040;
|
|
}
|
|
L_0894E040:
|
|
ctx.gpr[5] = (0u | 16u);
|
|
aot_mem.aot_store16(ctx.gpr[20] + static_cast<std::uint32_t>(8), static_cast<std::uint16_t>(ctx.gpr[5]));
|
|
goto L_0894E048;
|
|
L_0894E048:
|
|
ctx.gpr[5] = (static_cast<std::uint32_t>(std::countl_zero(ctx.gpr[18])));
|
|
ctx.gpr[5] = (ctx.gpr[4] - ctx.gpr[5]);
|
|
aot_mem.aot_store8(ctx.gpr[20] + static_cast<std::uint32_t>(11), static_cast<std::uint8_t>(ctx.gpr[5]));
|
|
ctx.gpr[5] = (0u | 1u);
|
|
aot_mem.aot_store8(ctx.gpr[20] + static_cast<std::uint32_t>(13), static_cast<std::uint8_t>(ctx.gpr[5]));
|
|
aot_mem.aot_store8(ctx.gpr[20] + static_cast<std::uint32_t>(12), static_cast<std::uint8_t>(ctx.gpr[17]));
|
|
aot_mem.aot_store32(ctx.gpr[20] + static_cast<std::uint32_t>(4), 0u);
|
|
ctx.gpr[5] = (ctx.gpr[16] & 7u);
|
|
aot_mem.aot_store8(ctx.gpr[20] + static_cast<std::uint32_t>(14), static_cast<std::uint8_t>(ctx.gpr[5]));
|
|
ctx.gpr[5] = (aot_mem.aot_load8(ctx.gpr[20] + static_cast<std::uint32_t>(14)));
|
|
ctx.gpr[6] = (ctx.gpr[5] & 2u);
|
|
{ const bool branch_taken = ctx.gpr[6] == 0u;
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_0894E0C0;
|
|
}
|
|
goto L_0894E07C;
|
|
}
|
|
L_0894E07C:
|
|
ctx.gpr[5] = (2229u << 16u);
|
|
ctx.gpr[5] = (aot_mem.aot_load32(ctx.gpr[5] + static_cast<std::uint32_t>(27020)));
|
|
ctx.gpr[5] = (static_cast<std::uint32_t>(std::countl_zero(ctx.gpr[5])));
|
|
ctx.gpr[5] = (ctx.gpr[4] - ctx.gpr[5]);
|
|
aot_mem.aot_store8(ctx.gpr[20] + static_cast<std::uint32_t>(10), static_cast<std::uint8_t>(ctx.gpr[5]));
|
|
ctx.gpr[5] = (2229u << 16u);
|
|
ctx.gpr[5] = (aot_mem.aot_load32(ctx.gpr[5] + static_cast<std::uint32_t>(27024)));
|
|
ctx.gpr[5] = (static_cast<std::uint32_t>(std::countl_zero(ctx.gpr[5])));
|
|
ctx.gpr[4] = (ctx.gpr[4] - ctx.gpr[5]);
|
|
aot_mem.aot_store8(ctx.gpr[20] + static_cast<std::uint32_t>(11), static_cast<std::uint8_t>(ctx.gpr[4]));
|
|
ctx.gpr[4] = (0u | 2048u);
|
|
aot_mem.aot_store16(ctx.gpr[20] + static_cast<std::uint32_t>(8), static_cast<std::uint16_t>(ctx.gpr[4]));
|
|
ctx.gpr[4] = (0u | 32u);
|
|
aot_mem.aot_store8(ctx.gpr[20] + static_cast<std::uint32_t>(12), static_cast<std::uint8_t>(ctx.gpr[4]));
|
|
ctx.gpr[4] = (0u | 5u);
|
|
{ const bool branch_taken = 0u == 0u;
|
|
aot_mem.aot_store8(ctx.gpr[20] + static_cast<std::uint32_t>(15), static_cast<std::uint8_t>(ctx.gpr[4]));
|
|
if (branch_taken) {
|
|
goto L_0894E134;
|
|
}
|
|
goto L_0894E0C0;
|
|
}
|
|
L_0894E0C0:
|
|
ctx.gpr[5] = (ctx.gpr[5] & 1u);
|
|
{ const bool branch_taken = ctx.gpr[5] == 0u;
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_0894E110;
|
|
}
|
|
goto L_0894E0CC;
|
|
}
|
|
L_0894E0CC:
|
|
ctx.gpr[5] = (2229u << 16u);
|
|
ctx.gpr[5] = (aot_mem.aot_load32(ctx.gpr[5] + static_cast<std::uint32_t>(27020)));
|
|
ctx.gpr[5] = (static_cast<std::uint32_t>(std::countl_zero(ctx.gpr[5])));
|
|
ctx.gpr[5] = (ctx.gpr[4] - ctx.gpr[5]);
|
|
aot_mem.aot_store8(ctx.gpr[20] + static_cast<std::uint32_t>(10), static_cast<std::uint8_t>(ctx.gpr[5]));
|
|
ctx.gpr[5] = (2229u << 16u);
|
|
ctx.gpr[5] = (aot_mem.aot_load32(ctx.gpr[5] + static_cast<std::uint32_t>(27024)));
|
|
ctx.gpr[5] = (static_cast<std::uint32_t>(std::countl_zero(ctx.gpr[5])));
|
|
ctx.gpr[4] = (ctx.gpr[4] - ctx.gpr[5]);
|
|
aot_mem.aot_store8(ctx.gpr[20] + static_cast<std::uint32_t>(11), static_cast<std::uint8_t>(ctx.gpr[4]));
|
|
ctx.gpr[4] = (0u | 960u);
|
|
aot_mem.aot_store16(ctx.gpr[20] + static_cast<std::uint32_t>(8), static_cast<std::uint16_t>(ctx.gpr[4]));
|
|
ctx.gpr[4] = (0u | 16u);
|
|
aot_mem.aot_store8(ctx.gpr[20] + static_cast<std::uint32_t>(12), static_cast<std::uint8_t>(ctx.gpr[4]));
|
|
ctx.gpr[4] = (0u | 7u);
|
|
{ const bool branch_taken = 0u == 0u;
|
|
aot_mem.aot_store8(ctx.gpr[20] + static_cast<std::uint32_t>(15), static_cast<std::uint8_t>(ctx.gpr[4]));
|
|
if (branch_taken) {
|
|
goto L_0894E134;
|
|
}
|
|
goto L_0894E110;
|
|
}
|
|
L_0894E110:
|
|
ctx.gpr[5] = (static_cast<std::uint32_t>(std::countl_zero(ctx.gpr[19])));
|
|
ctx.gpr[5] = (ctx.gpr[4] - ctx.gpr[5]);
|
|
aot_mem.aot_store8(ctx.gpr[20] + static_cast<std::uint32_t>(10), static_cast<std::uint8_t>(ctx.gpr[5]));
|
|
ctx.gpr[5] = (static_cast<std::uint32_t>(std::countl_zero(ctx.gpr[18])));
|
|
ctx.gpr[4] = (ctx.gpr[4] - ctx.gpr[5]);
|
|
aot_mem.aot_store8(ctx.gpr[20] + static_cast<std::uint32_t>(11), static_cast<std::uint8_t>(ctx.gpr[4]));
|
|
aot_mem.aot_store8(ctx.gpr[20] + static_cast<std::uint32_t>(12), static_cast<std::uint8_t>(ctx.gpr[17]));
|
|
ctx.gpr[4] = (static_cast<std::uint32_t>(static_cast<std::int32_t>(ctx.gpr[16]) >> 8u));
|
|
aot_mem.aot_store8(ctx.gpr[20] + static_cast<std::uint32_t>(15), static_cast<std::uint8_t>(ctx.gpr[4]));
|
|
goto L_0894E134;
|
|
L_0894E134:
|
|
ctx.gpr[4] = (ctx.gpr[21] + static_cast<std::uint32_t>(-29796));
|
|
ctx.gpr[31] = (0x0894E140u);
|
|
ctx.gpr[5] = (ctx.gpr[20] | 0u);
|
|
if (rt.invoke_chained_direct<&recomp_unit_0140_entry, 140u, 326u, 0x08A36068u>(ctx, &aot_mem) && ctx.pc == 0x0894E140u) goto L_0894E140;
|
|
return;
|
|
L_0894E140:
|
|
ctx.gpr[2] = (ctx.gpr[20] | 0u);
|
|
ctx.gpr[16] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast<std::uint32_t>(16)));
|
|
ctx.gpr[17] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast<std::uint32_t>(20)));
|
|
ctx.gpr[18] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast<std::uint32_t>(24)));
|
|
ctx.gpr[19] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast<std::uint32_t>(28)));
|
|
ctx.gpr[20] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast<std::uint32_t>(32)));
|
|
ctx.gpr[21] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast<std::uint32_t>(36)));
|
|
ctx.gpr[31] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast<std::uint32_t>(40)));
|
|
jump_target = ctx.gpr[31];
|
|
ctx.gpr[29] = (ctx.gpr[29] + static_cast<std::uint32_t>(48));
|
|
local_pc = jump_target;
|
|
if (++local_transfers < 2048u) { entry_id = 0u; goto LOCAL_DISPATCH; }
|
|
ctx.pc = jump_target;
|
|
return;
|
|
L_0894E168:
|
|
ctx.gpr[29] = (ctx.gpr[29] + static_cast<std::uint32_t>(-32));
|
|
ctx.gpr[4] = (2228u << 16u);
|
|
ctx.gpr[5] = (aot_mem.aot_load32(ctx.gpr[4] + static_cast<std::uint32_t>(-29772)));
|
|
aot_mem.aot_store32(ctx.gpr[4] + static_cast<std::uint32_t>(-29772), 0u);
|
|
ctx.gpr[4] = (ctx.gpr[5] | 0u);
|
|
aot_mem.aot_store32(ctx.gpr[29] + static_cast<std::uint32_t>(16), ctx.gpr[16]);
|
|
aot_mem.aot_store32(ctx.gpr[29] + static_cast<std::uint32_t>(20), ctx.gpr[17]);
|
|
aot_mem.aot_store32(ctx.gpr[29] + static_cast<std::uint32_t>(24), ctx.gpr[31]);
|
|
{ const bool branch_taken = ctx.gpr[4] == 0u;
|
|
ctx.gpr[16] = (2233u << 16u);
|
|
if (branch_taken) {
|
|
goto L_0894E1B8;
|
|
}
|
|
goto L_0894E190;
|
|
}
|
|
L_0894E190:
|
|
ctx.gpr[16] = (ctx.gpr[16] + static_cast<std::uint32_t>(-26464));
|
|
goto L_0894E194;
|
|
L_0894E194:
|
|
ctx.gpr[5] = (ctx.gpr[4] | 0u);
|
|
ctx.gpr[17] = (aot_mem.aot_load32(ctx.gpr[5] + static_cast<std::uint32_t>(0)));
|
|
ctx.gpr[6] = (aot_mem.aot_load32(ctx.gpr[5] + static_cast<std::uint32_t>(8)));
|
|
ctx.gpr[4] = (ctx.gpr[16] | 0u);
|
|
ctx.gpr[31] = (0x0894E1ACu);
|
|
aot_mem.aot_store32(ctx.gpr[6] + static_cast<std::uint32_t>(0), 0u);
|
|
if (rt.invoke_chained_direct<&recomp_unit_0167_entry, 167u, 741u, 0x08AA372Cu>(ctx, &aot_mem) && ctx.pc == 0x0894E1ACu) goto L_0894E1AC;
|
|
return;
|
|
L_0894E1AC:
|
|
ctx.gpr[4] = (ctx.gpr[17] | 0u);
|
|
{ const bool branch_taken = ctx.gpr[4] != 0u;
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_0894E194;
|
|
}
|
|
goto L_0894E1B8;
|
|
}
|
|
L_0894E1B8:
|
|
ctx.gpr[16] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast<std::uint32_t>(16)));
|
|
ctx.gpr[17] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast<std::uint32_t>(20)));
|
|
ctx.gpr[31] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast<std::uint32_t>(24)));
|
|
jump_target = ctx.gpr[31];
|
|
ctx.gpr[29] = (ctx.gpr[29] + static_cast<std::uint32_t>(32));
|
|
local_pc = jump_target;
|
|
if (++local_transfers < 2048u) { entry_id = 0u; goto LOCAL_DISPATCH; }
|
|
ctx.pc = jump_target;
|
|
return;
|
|
L_0894E1CC:
|
|
ctx.gpr[29] = (ctx.gpr[29] + static_cast<std::uint32_t>(-32));
|
|
ctx.gpr[5] = (0u | 2u);
|
|
aot_mem.aot_store32(ctx.gpr[29] + static_cast<std::uint32_t>(16), ctx.gpr[31]);
|
|
{ const bool branch_taken = ctx.gpr[4] == ctx.gpr[5];
|
|
ctx.gpr[5] = (0u | 1u);
|
|
if (branch_taken) {
|
|
goto L_0894E1E8;
|
|
}
|
|
goto L_0894E1E0;
|
|
}
|
|
L_0894E1E0:
|
|
{ const bool branch_taken = ctx.gpr[4] != ctx.gpr[5];
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_0894E1FC;
|
|
}
|
|
goto L_0894E1E8;
|
|
}
|
|
L_0894E1E8:
|
|
ctx.gpr[4] = (2225u << 16u);
|
|
ctx.gpr[31] = (0x0894E1F4u);
|
|
ctx.gpr[4] = (ctx.gpr[4] + static_cast<std::uint32_t>(31904));
|
|
goto L_0894DF94;
|
|
L_0894E1F4:
|
|
ctx.gpr[31] = (0x0894E1FCu);
|
|
// nop
|
|
goto L_0894E168;
|
|
L_0894E1FC:
|
|
ctx.gpr[31] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast<std::uint32_t>(16)));
|
|
jump_target = ctx.gpr[31];
|
|
ctx.gpr[29] = (ctx.gpr[29] + static_cast<std::uint32_t>(32));
|
|
local_pc = jump_target;
|
|
if (++local_transfers < 2048u) { entry_id = 0u; goto LOCAL_DISPATCH; }
|
|
ctx.pc = jump_target;
|
|
return;
|
|
L_0894E208:
|
|
ctx.gpr[29] = (ctx.gpr[29] + static_cast<std::uint32_t>(-32));
|
|
ctx.gpr[6] = (aot_mem.aot_load32(ctx.gpr[4] + static_cast<std::uint32_t>(4)));
|
|
aot_mem.aot_store32(ctx.gpr[29] + static_cast<std::uint32_t>(16), ctx.gpr[31]);
|
|
{ const bool branch_taken = ctx.gpr[6] == 0u;
|
|
ctx.gpr[5] = (aot_mem.aot_load32(ctx.gpr[4] + static_cast<std::uint32_t>(0)));
|
|
if (branch_taken) {
|
|
goto L_0894E228;
|
|
}
|
|
goto L_0894E21C;
|
|
}
|
|
L_0894E21C:
|
|
aot_mem.aot_store32(ctx.gpr[6] + static_cast<std::uint32_t>(0), ctx.gpr[5]);
|
|
{ const bool branch_taken = 0u == 0u;
|
|
ctx.gpr[5] = (aot_mem.aot_load32(ctx.gpr[4] + static_cast<std::uint32_t>(0)));
|
|
if (branch_taken) {
|
|
goto L_0894E234;
|
|
}
|
|
goto L_0894E228;
|
|
}
|
|
L_0894E228:
|
|
ctx.gpr[6] = (2228u << 16u);
|
|
aot_mem.aot_store32(ctx.gpr[6] + static_cast<std::uint32_t>(-29772), ctx.gpr[5]);
|
|
ctx.gpr[5] = (aot_mem.aot_load32(ctx.gpr[4] + static_cast<std::uint32_t>(0)));
|
|
goto L_0894E234;
|
|
L_0894E234:
|
|
{ const bool branch_taken = ctx.gpr[5] == 0u;
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_0894E244;
|
|
}
|
|
goto L_0894E23C;
|
|
}
|
|
L_0894E23C:
|
|
ctx.gpr[6] = (aot_mem.aot_load32(ctx.gpr[4] + static_cast<std::uint32_t>(4)));
|
|
aot_mem.aot_store32(ctx.gpr[5] + static_cast<std::uint32_t>(4), ctx.gpr[6]);
|
|
goto L_0894E244;
|
|
L_0894E244:
|
|
ctx.gpr[5] = (ctx.gpr[4] | 0u);
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[5] + static_cast<std::uint32_t>(8)));
|
|
ctx.gpr[6] = (2233u << 16u);
|
|
aot_mem.aot_store32(ctx.gpr[4] + static_cast<std::uint32_t>(0), 0u);
|
|
ctx.gpr[31] = (0x0894E25Cu);
|
|
ctx.gpr[4] = (ctx.gpr[6] + static_cast<std::uint32_t>(-26464));
|
|
if (rt.invoke_chained_direct<&recomp_unit_0167_entry, 167u, 741u, 0x08AA372Cu>(ctx, &aot_mem) && ctx.pc == 0x0894E25Cu) goto L_0894E25C;
|
|
return;
|
|
L_0894E25C:
|
|
ctx.gpr[31] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast<std::uint32_t>(16)));
|
|
jump_target = ctx.gpr[31];
|
|
ctx.gpr[29] = (ctx.gpr[29] + static_cast<std::uint32_t>(32));
|
|
local_pc = jump_target;
|
|
if (++local_transfers < 2048u) { entry_id = 0u; goto LOCAL_DISPATCH; }
|
|
ctx.pc = jump_target;
|
|
return;
|
|
L_0894E268:
|
|
ctx.gpr[29] = (ctx.gpr[29] + static_cast<std::uint32_t>(-32));
|
|
aot_mem.aot_store32(ctx.gpr[29] + static_cast<std::uint32_t>(16), ctx.gpr[16]);
|
|
ctx.gpr[16] = (ctx.gpr[4] | 0u);
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast<std::uint32_t>(0)));
|
|
aot_mem.aot_store32(ctx.gpr[29] + static_cast<std::uint32_t>(20), ctx.gpr[31]);
|
|
{ const bool branch_taken = ctx.gpr[4] == 0u;
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_0894E298;
|
|
}
|
|
goto L_0894E284;
|
|
}
|
|
L_0894E284:
|
|
ctx.gpr[5] = (aot_mem.aot_load32(ctx.gpr[4] + static_cast<std::uint32_t>(0)));
|
|
{ const bool branch_taken = ctx.gpr[5] != 0u;
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_0894E2A0;
|
|
}
|
|
goto L_0894E290;
|
|
}
|
|
L_0894E290:
|
|
{ const bool branch_taken = 0u == 0u;
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_0894E2C8;
|
|
}
|
|
goto L_0894E298;
|
|
}
|
|
L_0894E298:
|
|
{ const bool branch_taken = 0u == 0u;
|
|
ctx.gpr[2] = (ctx.gpr[16] | 0u);
|
|
if (branch_taken) {
|
|
goto L_0894E2CC;
|
|
}
|
|
goto L_0894E2A0;
|
|
}
|
|
L_0894E2A0:
|
|
ctx.gpr[6] = (ctx.gpr[4] | 0u);
|
|
ctx.gpr[4] = (ctx.gpr[5] | 0u);
|
|
ctx.gpr[5] = (aot_mem.aot_load32(ctx.gpr[4] + static_cast<std::uint32_t>(8)));
|
|
{ const bool branch_taken = ctx.gpr[5] == ctx.gpr[6];
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_0894E2B8;
|
|
}
|
|
goto L_0894E2B4;
|
|
}
|
|
L_0894E2B4:
|
|
rt.unsupported(0x0894E2B4u, 0x0000000Du, "special? not lowered yet"); return;
|
|
L_0894E2B8:
|
|
ctx.gpr[31] = (0x0894E2C0u);
|
|
// nop
|
|
goto L_0894E208;
|
|
L_0894E2C0:
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast<std::uint32_t>(0)));
|
|
aot_mem.aot_store32(ctx.gpr[4] + static_cast<std::uint32_t>(0), 0u);
|
|
goto L_0894E2C8;
|
|
L_0894E2C8:
|
|
ctx.gpr[2] = (ctx.gpr[16] | 0u);
|
|
goto L_0894E2CC;
|
|
L_0894E2CC:
|
|
ctx.gpr[16] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast<std::uint32_t>(16)));
|
|
ctx.gpr[31] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast<std::uint32_t>(20)));
|
|
jump_target = ctx.gpr[31];
|
|
ctx.gpr[29] = (ctx.gpr[29] + static_cast<std::uint32_t>(32));
|
|
local_pc = jump_target;
|
|
if (++local_transfers < 2048u) { entry_id = 0u; goto LOCAL_DISPATCH; }
|
|
ctx.pc = jump_target;
|
|
return;
|
|
L_0894E2DC:
|
|
ctx.gpr[29] = (ctx.gpr[29] + static_cast<std::uint32_t>(-32));
|
|
aot_mem.aot_store32(ctx.gpr[29] + static_cast<std::uint32_t>(16), ctx.gpr[16]);
|
|
ctx.gpr[16] = (ctx.gpr[4] | 0u);
|
|
ctx.gpr[4] = (2228u << 16u);
|
|
ctx.gpr[5] = (ctx.gpr[16] | 0u);
|
|
aot_mem.aot_store32(ctx.gpr[29] + static_cast<std::uint32_t>(20), ctx.gpr[31]);
|
|
ctx.gpr[31] = (0x0894E2FCu);
|
|
ctx.gpr[4] = (ctx.gpr[4] + static_cast<std::uint32_t>(-29796));
|
|
if (rt.invoke_chained_direct<&recomp_unit_0140_entry, 140u, 336u, 0x08A36104u>(ctx, &aot_mem) && ctx.pc == 0x0894E2FCu) goto L_0894E2FC;
|
|
return;
|
|
L_0894E2FC:
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast<std::uint32_t>(0)));
|
|
{ const bool branch_taken = ctx.gpr[4] == 0u;
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_0894E310;
|
|
}
|
|
goto L_0894E308;
|
|
}
|
|
L_0894E308:
|
|
ctx.gpr[31] = (0x0894E310u);
|
|
// nop
|
|
goto L_0894E208;
|
|
L_0894E310:
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast<std::uint32_t>(4)));
|
|
{ const bool branch_taken = ctx.gpr[4] == 0u;
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_0894E32C;
|
|
}
|
|
goto L_0894E31C;
|
|
}
|
|
L_0894E31C:
|
|
ctx.gpr[5] = (ctx.gpr[4] | 0u);
|
|
ctx.gpr[4] = (2233u << 16u);
|
|
ctx.gpr[31] = (0x0894E32Cu);
|
|
ctx.gpr[4] = (ctx.gpr[4] + static_cast<std::uint32_t>(-26768));
|
|
if (rt.invoke_chained_direct<&recomp_unit_0167_entry, 167u, 741u, 0x08AA372Cu>(ctx, &aot_mem) && ctx.pc == 0x0894E32Cu) goto L_0894E32C;
|
|
return;
|
|
L_0894E32C:
|
|
ctx.gpr[31] = (0x0894E334u);
|
|
ctx.gpr[4] = (ctx.gpr[16] | 0u);
|
|
if (rt.invoke_chained_direct<&recomp_unit_0167_entry, 167u, 669u, 0x08AA31FCu>(ctx, &aot_mem) && ctx.pc == 0x0894E334u) goto L_0894E334;
|
|
return;
|
|
L_0894E334:
|
|
ctx.gpr[2] = (0u | 1u);
|
|
ctx.gpr[16] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast<std::uint32_t>(16)));
|
|
ctx.gpr[31] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast<std::uint32_t>(20)));
|
|
jump_target = ctx.gpr[31];
|
|
ctx.gpr[29] = (ctx.gpr[29] + static_cast<std::uint32_t>(32));
|
|
local_pc = jump_target;
|
|
if (++local_transfers < 2048u) { entry_id = 0u; goto LOCAL_DISPATCH; }
|
|
ctx.pc = jump_target;
|
|
return;
|
|
L_0894E348:
|
|
ctx.gpr[2] = (static_cast<std::uint32_t>(static_cast<std::int32_t>(static_cast<std::int8_t>(aot_mem.aot_load8(ctx.gpr[4] + static_cast<std::uint32_t>(10))))));
|
|
ctx.gpr[4] = (0u | 1u);
|
|
jump_target = ctx.gpr[31];
|
|
ctx.gpr[2] = (ctx.gpr[4] << (ctx.gpr[2] & 31u));
|
|
local_pc = jump_target;
|
|
if (++local_transfers < 2048u) { entry_id = 0u; goto LOCAL_DISPATCH; }
|
|
ctx.pc = jump_target;
|
|
return;
|
|
L_0894E358:
|
|
ctx.gpr[2] = (static_cast<std::uint32_t>(static_cast<std::int32_t>(static_cast<std::int8_t>(aot_mem.aot_load8(ctx.gpr[4] + static_cast<std::uint32_t>(11))))));
|
|
ctx.gpr[4] = (0u | 1u);
|
|
jump_target = ctx.gpr[31];
|
|
ctx.gpr[2] = (ctx.gpr[4] << (ctx.gpr[2] & 31u));
|
|
local_pc = jump_target;
|
|
if (++local_transfers < 2048u) { entry_id = 0u; goto LOCAL_DISPATCH; }
|
|
ctx.pc = jump_target;
|
|
return;
|
|
L_0894E368:
|
|
ctx.gpr[4] = (2228u << 16u);
|
|
jump_target = ctx.gpr[31];
|
|
ctx.gpr[2] = (aot_mem.aot_load32(ctx.gpr[4] + static_cast<std::uint32_t>(-29800)));
|
|
local_pc = jump_target;
|
|
if (++local_transfers < 2048u) { entry_id = 0u; goto LOCAL_DISPATCH; }
|
|
ctx.pc = jump_target;
|
|
return;
|
|
L_0894E374:
|
|
ctx.gpr[29] = (ctx.gpr[29] + static_cast<std::uint32_t>(-16));
|
|
ctx.gpr[6] = (aot_mem.aot_load32(ctx.gpr[5] + static_cast<std::uint32_t>(0)));
|
|
ctx.gpr[7] = (7680u << 16u);
|
|
ctx.gpr[7] = (ctx.gpr[7] + static_cast<std::uint32_t>(1));
|
|
aot_mem.aot_store32(ctx.gpr[6] + static_cast<std::uint32_t>(0), ctx.gpr[7]);
|
|
ctx.gpr[6] = (aot_mem.aot_load32(ctx.gpr[5] + static_cast<std::uint32_t>(0)));
|
|
ctx.gpr[6] = (ctx.gpr[6] + static_cast<std::uint32_t>(4));
|
|
aot_mem.aot_store32(ctx.gpr[5] + static_cast<std::uint32_t>(0), ctx.gpr[6]);
|
|
ctx.gpr[7] = (aot_mem.aot_load8(ctx.gpr[4] + static_cast<std::uint32_t>(13)));
|
|
ctx.gpr[10] = (49664u << 16u);
|
|
ctx.gpr[7] = (ctx.gpr[7] + static_cast<std::uint32_t>(-1));
|
|
ctx.gpr[10] = (ctx.gpr[10] + static_cast<std::uint32_t>(1));
|
|
ctx.gpr[8] = (ctx.gpr[7] << 16u);
|
|
ctx.gpr[8] = (ctx.gpr[8] | ctx.gpr[10]);
|
|
aot_mem.aot_store32(ctx.gpr[6] + static_cast<std::uint32_t>(0), ctx.gpr[8]);
|
|
ctx.gpr[8] = (aot_mem.aot_load32(ctx.gpr[5] + static_cast<std::uint32_t>(0)));
|
|
ctx.gpr[8] = (ctx.gpr[8] + static_cast<std::uint32_t>(4));
|
|
aot_mem.aot_store32(ctx.gpr[5] + static_cast<std::uint32_t>(0), ctx.gpr[8]);
|
|
ctx.gpr[10] = (aot_mem.aot_load8(ctx.gpr[4] + static_cast<std::uint32_t>(15)));
|
|
ctx.gpr[9] = (0u | 0u);
|
|
ctx.gpr[11] = (ctx.gpr[10] & 96u);
|
|
aot_mem.aot_store32(ctx.gpr[29] + static_cast<std::uint32_t>(0), ctx.gpr[16]);
|
|
{ const bool branch_taken = ctx.gpr[11] == 0u;
|
|
ctx.gpr[6] = (0u | 1u);
|
|
if (branch_taken) {
|
|
goto L_0894E474;
|
|
}
|
|
goto L_0894E3D4;
|
|
}
|
|
L_0894E3D4:
|
|
ctx.gpr[9] = (ctx.gpr[10] & 64u);
|
|
{ const bool branch_taken = ctx.gpr[9] == 0u;
|
|
ctx.gpr[9] = (49920u << 16u);
|
|
if (branch_taken) {
|
|
goto L_0894E408;
|
|
}
|
|
goto L_0894E3E0;
|
|
}
|
|
L_0894E3E0:
|
|
ctx.gpr[9] = (49920u << 16u);
|
|
ctx.gpr[9] = (ctx.gpr[9] + static_cast<std::uint32_t>(4));
|
|
aot_mem.aot_store32(ctx.gpr[8] + static_cast<std::uint32_t>(0), ctx.gpr[9]);
|
|
ctx.gpr[8] = (aot_mem.aot_load32(ctx.gpr[5] + static_cast<std::uint32_t>(0)));
|
|
ctx.gpr[9] = (0u | 16u);
|
|
ctx.gpr[8] = (ctx.gpr[8] + static_cast<std::uint32_t>(4));
|
|
aot_mem.aot_store32(ctx.gpr[5] + static_cast<std::uint32_t>(0), ctx.gpr[8]);
|
|
ctx.gpr[10] = (aot_mem.aot_load8(ctx.gpr[4] + static_cast<std::uint32_t>(15)));
|
|
{ const bool branch_taken = 0u == 0u;
|
|
ctx.gpr[10] = (ctx.gpr[10] & 15u);
|
|
if (branch_taken) {
|
|
goto L_0894E428;
|
|
}
|
|
goto L_0894E408;
|
|
}
|
|
L_0894E408:
|
|
ctx.gpr[9] = (ctx.gpr[9] + static_cast<std::uint32_t>(5));
|
|
aot_mem.aot_store32(ctx.gpr[8] + static_cast<std::uint32_t>(0), ctx.gpr[9]);
|
|
ctx.gpr[8] = (aot_mem.aot_load32(ctx.gpr[5] + static_cast<std::uint32_t>(0)));
|
|
ctx.gpr[9] = (0u | 256u);
|
|
ctx.gpr[8] = (ctx.gpr[8] + static_cast<std::uint32_t>(4));
|
|
aot_mem.aot_store32(ctx.gpr[5] + static_cast<std::uint32_t>(0), ctx.gpr[8]);
|
|
ctx.gpr[10] = (aot_mem.aot_load8(ctx.gpr[4] + static_cast<std::uint32_t>(15)));
|
|
ctx.gpr[10] = (ctx.gpr[10] & 15u);
|
|
goto L_0894E428;
|
|
L_0894E428:
|
|
{ const bool branch_taken = ctx.gpr[10] != ctx.gpr[6];
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_0894E44C;
|
|
}
|
|
goto L_0894E430;
|
|
}
|
|
L_0894E430:
|
|
ctx.gpr[10] = (50433u << 16u);
|
|
ctx.gpr[10] = (ctx.gpr[10] + static_cast<std::uint32_t>(-255));
|
|
aot_mem.aot_store32(ctx.gpr[8] + static_cast<std::uint32_t>(0), ctx.gpr[10]);
|
|
ctx.gpr[8] = (aot_mem.aot_load32(ctx.gpr[5] + static_cast<std::uint32_t>(0)));
|
|
ctx.gpr[8] = (ctx.gpr[8] + static_cast<std::uint32_t>(4));
|
|
{ const bool branch_taken = 0u == 0u;
|
|
aot_mem.aot_store32(ctx.gpr[5] + static_cast<std::uint32_t>(0), ctx.gpr[8]);
|
|
if (branch_taken) {
|
|
goto L_0894E4C0;
|
|
}
|
|
goto L_0894E44C;
|
|
}
|
|
L_0894E44C:
|
|
ctx.gpr[11] = (0u | 5u);
|
|
{ const bool branch_taken = ctx.gpr[10] != ctx.gpr[11];
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_0894E4C0;
|
|
}
|
|
goto L_0894E458;
|
|
}
|
|
L_0894E458:
|
|
ctx.gpr[10] = (50433u << 16u);
|
|
ctx.gpr[10] = (ctx.gpr[10] + static_cast<std::uint32_t>(-253));
|
|
aot_mem.aot_store32(ctx.gpr[8] + static_cast<std::uint32_t>(0), ctx.gpr[10]);
|
|
ctx.gpr[8] = (aot_mem.aot_load32(ctx.gpr[5] + static_cast<std::uint32_t>(0)));
|
|
ctx.gpr[8] = (ctx.gpr[8] + static_cast<std::uint32_t>(4));
|
|
{ const bool branch_taken = 0u == 0u;
|
|
aot_mem.aot_store32(ctx.gpr[5] + static_cast<std::uint32_t>(0), ctx.gpr[8]);
|
|
if (branch_taken) {
|
|
goto L_0894E4C0;
|
|
}
|
|
goto L_0894E474;
|
|
}
|
|
L_0894E474:
|
|
ctx.gpr[10] = (ctx.gpr[10] & 15u);
|
|
{ const bool branch_taken = ctx.gpr[10] != ctx.gpr[6];
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_0894E49C;
|
|
}
|
|
goto L_0894E480;
|
|
}
|
|
L_0894E480:
|
|
ctx.gpr[10] = (49920u << 16u);
|
|
ctx.gpr[10] = (ctx.gpr[10] + static_cast<std::uint32_t>(1));
|
|
aot_mem.aot_store32(ctx.gpr[8] + static_cast<std::uint32_t>(0), ctx.gpr[10]);
|
|
ctx.gpr[8] = (aot_mem.aot_load32(ctx.gpr[5] + static_cast<std::uint32_t>(0)));
|
|
ctx.gpr[8] = (ctx.gpr[8] + static_cast<std::uint32_t>(4));
|
|
{ const bool branch_taken = 0u == 0u;
|
|
aot_mem.aot_store32(ctx.gpr[5] + static_cast<std::uint32_t>(0), ctx.gpr[8]);
|
|
if (branch_taken) {
|
|
goto L_0894E4C0;
|
|
}
|
|
goto L_0894E49C;
|
|
}
|
|
L_0894E49C:
|
|
ctx.gpr[11] = (0u | 5u);
|
|
{ const bool branch_taken = ctx.gpr[10] != ctx.gpr[11];
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_0894E4C0;
|
|
}
|
|
goto L_0894E4A8;
|
|
}
|
|
L_0894E4A8:
|
|
ctx.gpr[10] = (49920u << 16u);
|
|
ctx.gpr[10] = (ctx.gpr[10] + static_cast<std::uint32_t>(3));
|
|
aot_mem.aot_store32(ctx.gpr[8] + static_cast<std::uint32_t>(0), ctx.gpr[10]);
|
|
ctx.gpr[8] = (aot_mem.aot_load32(ctx.gpr[5] + static_cast<std::uint32_t>(0)));
|
|
ctx.gpr[8] = (ctx.gpr[8] + static_cast<std::uint32_t>(4));
|
|
aot_mem.aot_store32(ctx.gpr[5] + static_cast<std::uint32_t>(0), ctx.gpr[8]);
|
|
goto L_0894E4C0;
|
|
L_0894E4C0:
|
|
ctx.gpr[14] = (aot_mem.aot_load32(ctx.gpr[4] + static_cast<std::uint32_t>(4)));
|
|
ctx.gpr[13] = (static_cast<std::uint32_t>(static_cast<std::int32_t>(static_cast<std::int8_t>(aot_mem.aot_load8(ctx.gpr[4] + static_cast<std::uint32_t>(11))))));
|
|
ctx.gpr[12] = (static_cast<std::uint32_t>(static_cast<std::int32_t>(static_cast<std::int8_t>(aot_mem.aot_load8(ctx.gpr[4] + static_cast<std::uint32_t>(10))))));
|
|
ctx.gpr[3] = (static_cast<std::uint32_t>(static_cast<std::int32_t>(static_cast<std::int16_t>(aot_mem.aot_load16(ctx.gpr[4] + static_cast<std::uint32_t>(8))))));
|
|
ctx.gpr[10] = (ctx.gpr[7] < static_cast<std::uint32_t>(0) ? 1u : 0u);
|
|
{ const bool branch_taken = ctx.gpr[10] != 0u;
|
|
ctx.gpr[2] = (0u | 0u);
|
|
if (branch_taken) {
|
|
goto L_0894E5B0;
|
|
}
|
|
goto L_0894E4DC;
|
|
}
|
|
L_0894E4DC:
|
|
ctx.gpr[11] = (256u << 16u);
|
|
ctx.gpr[11] = (ctx.gpr[11] + static_cast<std::uint32_t>(-1));
|
|
ctx.gpr[10] = (255u << 16u);
|
|
goto L_0894E4E8;
|
|
L_0894E4E8:
|
|
ctx.gpr[15] = (ctx.gpr[2] < static_cast<std::uint32_t>(0) ? 1u : 0u);
|
|
{ const bool branch_taken = ctx.gpr[15] != 0u;
|
|
ctx.gpr[15] = (ctx.gpr[6] << (ctx.gpr[13] & 31u));
|
|
if (branch_taken) {
|
|
goto L_0894E574;
|
|
}
|
|
goto L_0894E4F4;
|
|
}
|
|
L_0894E4F4:
|
|
ctx.gpr[15] = (aot_mem.aot_load8(ctx.gpr[4] + static_cast<std::uint32_t>(12)));
|
|
ctx.gpr[24] = (ctx.gpr[3] << 3u);
|
|
{ const std::int32_t dividend = static_cast<std::int32_t>(ctx.gpr[24]); const std::int32_t divisor = static_cast<std::int32_t>(ctx.gpr[15]); if (divisor == 0) { ctx.lo = dividend >= 0 ? 0xFFFFFFFFu : 1u; ctx.hi = static_cast<std::uint32_t>(dividend); } else if (dividend == static_cast<std::int32_t>(0x80000000u) && divisor == -1) { ctx.lo = 0x80000000u; ctx.hi = 0u; } else { ctx.lo = static_cast<std::uint32_t>(dividend / divisor); ctx.hi = static_cast<std::uint32_t>(dividend % divisor); } }
|
|
ctx.gpr[15] = (ctx.gpr[2] + static_cast<std::uint32_t>(160));
|
|
ctx.gpr[15] = (ctx.gpr[15] << 24u);
|
|
ctx.gpr[24] = (ctx.gpr[14] & ctx.gpr[11]);
|
|
ctx.gpr[25] = (ctx.gpr[2] + static_cast<std::uint32_t>(184));
|
|
ctx.gpr[15] = (ctx.gpr[15] | ctx.gpr[24]);
|
|
ctx.gpr[25] = (ctx.gpr[25] << 24u);
|
|
aot_mem.aot_store32(ctx.gpr[8] + static_cast<std::uint32_t>(0), ctx.gpr[15]);
|
|
ctx.gpr[25] = (ctx.gpr[25] | ctx.gpr[12]);
|
|
ctx.gpr[16] = (ctx.gpr[13] << 8u);
|
|
ctx.gpr[8] = (aot_mem.aot_load32(ctx.gpr[5] + static_cast<std::uint32_t>(0)));
|
|
ctx.gpr[15] = (ctx.gpr[2] + static_cast<std::uint32_t>(168));
|
|
ctx.gpr[25] = (ctx.gpr[25] | ctx.gpr[16]);
|
|
ctx.gpr[15] = (ctx.gpr[15] << 24u);
|
|
ctx.gpr[24] = (ctx.gpr[14] >> 8u);
|
|
ctx.gpr[8] = (ctx.gpr[8] + static_cast<std::uint32_t>(4));
|
|
ctx.gpr[24] = (ctx.gpr[24] & ctx.gpr[10]);
|
|
aot_mem.aot_store32(ctx.gpr[5] + static_cast<std::uint32_t>(0), ctx.gpr[8]);
|
|
ctx.gpr[16] = (ctx.lo);
|
|
ctx.gpr[15] = (ctx.gpr[15] | ctx.gpr[16]);
|
|
ctx.gpr[15] = (ctx.gpr[15] | ctx.gpr[24]);
|
|
aot_mem.aot_store32(ctx.gpr[8] + static_cast<std::uint32_t>(0), ctx.gpr[15]);
|
|
ctx.gpr[8] = (aot_mem.aot_load32(ctx.gpr[5] + static_cast<std::uint32_t>(0)));
|
|
ctx.gpr[8] = (ctx.gpr[8] + static_cast<std::uint32_t>(4));
|
|
aot_mem.aot_store32(ctx.gpr[5] + static_cast<std::uint32_t>(0), ctx.gpr[8]);
|
|
aot_mem.aot_store32(ctx.gpr[8] + static_cast<std::uint32_t>(0), ctx.gpr[25]);
|
|
ctx.gpr[8] = (aot_mem.aot_load32(ctx.gpr[5] + static_cast<std::uint32_t>(0)));
|
|
ctx.gpr[8] = (ctx.gpr[8] + static_cast<std::uint32_t>(4));
|
|
aot_mem.aot_store32(ctx.gpr[5] + static_cast<std::uint32_t>(0), ctx.gpr[8]);
|
|
ctx.gpr[15] = (ctx.gpr[6] << (ctx.gpr[13] & 31u));
|
|
goto L_0894E574;
|
|
L_0894E574:
|
|
{ const std::int64_t product = static_cast<std::int64_t>(static_cast<std::int32_t>(ctx.gpr[3])) * static_cast<std::int64_t>(static_cast<std::int32_t>(ctx.gpr[15])); ctx.lo = static_cast<std::uint32_t>(product); ctx.hi = static_cast<std::uint32_t>(static_cast<std::uint64_t>(product) >> 32u); }
|
|
ctx.gpr[12] = (ctx.gpr[12] + static_cast<std::uint32_t>(-1));
|
|
ctx.gpr[13] = (ctx.gpr[13] + static_cast<std::uint32_t>(-1));
|
|
ctx.gpr[15] = (static_cast<std::int32_t>(ctx.gpr[3]) < 17 ? 1u : 0u);
|
|
ctx.gpr[24] = (ctx.lo);
|
|
{ const bool branch_taken = ctx.gpr[15] != 0u;
|
|
ctx.gpr[14] = (ctx.gpr[14] + ctx.gpr[24]);
|
|
if (branch_taken) {
|
|
goto L_0894E5A0;
|
|
}
|
|
goto L_0894E590;
|
|
}
|
|
L_0894E590:
|
|
ctx.gpr[15] = (static_cast<std::uint32_t>(static_cast<std::int32_t>(ctx.gpr[3]) >> 1u));
|
|
ctx.gpr[15] = (ctx.gpr[15] >> 31u);
|
|
ctx.gpr[3] = (ctx.gpr[3] + ctx.gpr[15]);
|
|
ctx.gpr[3] = (static_cast<std::uint32_t>(static_cast<std::int32_t>(ctx.gpr[3]) >> 1u));
|
|
goto L_0894E5A0;
|
|
L_0894E5A0:
|
|
ctx.gpr[2] = (ctx.gpr[2] + static_cast<std::uint32_t>(1));
|
|
ctx.gpr[15] = (ctx.gpr[7] < ctx.gpr[2] ? 1u : 0u);
|
|
{ const bool branch_taken = ctx.gpr[15] == 0u;
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_0894E4E8;
|
|
}
|
|
goto L_0894E5B0;
|
|
}
|
|
L_0894E5B0:
|
|
ctx.gpr[4] = (aot_mem.aot_load8(ctx.gpr[4] + static_cast<std::uint32_t>(15)));
|
|
ctx.gpr[4] = (ctx.gpr[4] & 96u);
|
|
{ const bool branch_taken = ctx.gpr[4] == 0u;
|
|
ctx.gpr[4] = (256u << 16u);
|
|
if (branch_taken) {
|
|
goto L_0894E620;
|
|
}
|
|
goto L_0894E5C0;
|
|
}
|
|
L_0894E5C0:
|
|
ctx.gpr[4] = (ctx.gpr[4] + static_cast<std::uint32_t>(-1));
|
|
ctx.gpr[4] = (ctx.gpr[14] & ctx.gpr[4]);
|
|
ctx.gpr[6] = (45056u << 16u);
|
|
ctx.gpr[4] = (ctx.gpr[4] | ctx.gpr[6]);
|
|
aot_mem.aot_store32(ctx.gpr[8] + static_cast<std::uint32_t>(0), ctx.gpr[4]);
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[5] + static_cast<std::uint32_t>(0)));
|
|
ctx.gpr[7] = (ctx.gpr[14] >> 8u);
|
|
ctx.gpr[8] = (255u << 16u);
|
|
ctx.gpr[7] = (ctx.gpr[7] & ctx.gpr[8]);
|
|
ctx.gpr[4] = (ctx.gpr[4] + static_cast<std::uint32_t>(4));
|
|
ctx.gpr[8] = (45312u << 16u);
|
|
aot_mem.aot_store32(ctx.gpr[5] + static_cast<std::uint32_t>(0), ctx.gpr[4]);
|
|
ctx.gpr[7] = (ctx.gpr[7] | ctx.gpr[8]);
|
|
aot_mem.aot_store32(ctx.gpr[4] + static_cast<std::uint32_t>(0), ctx.gpr[7]);
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[5] + static_cast<std::uint32_t>(0)));
|
|
ctx.gpr[6] = (static_cast<std::uint32_t>(static_cast<std::int32_t>(ctx.gpr[9]) >> 3u));
|
|
ctx.gpr[7] = (50176u << 16u);
|
|
ctx.gpr[4] = (ctx.gpr[4] + static_cast<std::uint32_t>(4));
|
|
aot_mem.aot_store32(ctx.gpr[5] + static_cast<std::uint32_t>(0), ctx.gpr[4]);
|
|
ctx.gpr[6] = (ctx.gpr[6] | ctx.gpr[7]);
|
|
aot_mem.aot_store32(ctx.gpr[4] + static_cast<std::uint32_t>(0), ctx.gpr[6]);
|
|
ctx.gpr[8] = (aot_mem.aot_load32(ctx.gpr[5] + static_cast<std::uint32_t>(0)));
|
|
ctx.gpr[8] = (ctx.gpr[8] + static_cast<std::uint32_t>(4));
|
|
aot_mem.aot_store32(ctx.gpr[5] + static_cast<std::uint32_t>(0), ctx.gpr[8]);
|
|
goto L_0894E620;
|
|
L_0894E620:
|
|
ctx.gpr[4] = (51968u << 16u);
|
|
aot_mem.aot_store32(ctx.gpr[8] + static_cast<std::uint32_t>(0), ctx.gpr[4]);
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[5] + static_cast<std::uint32_t>(0)));
|
|
ctx.gpr[6] = (2233u << 16u);
|
|
ctx.gpr[4] = (ctx.gpr[4] + static_cast<std::uint32_t>(4));
|
|
aot_mem.aot_store32(ctx.gpr[5] + static_cast<std::uint32_t>(0), ctx.gpr[4]);
|
|
ctx.gpr[4] = (ctx.gpr[6] + static_cast<std::uint32_t>(-5168));
|
|
{ const bool branch_taken = ctx.gpr[5] == ctx.gpr[4];
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_0894E65C;
|
|
}
|
|
goto L_0894E644;
|
|
}
|
|
L_0894E644:
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[5] + static_cast<std::uint32_t>(0)));
|
|
ctx.gpr[6] = (2816u << 16u);
|
|
aot_mem.aot_store32(ctx.gpr[4] + static_cast<std::uint32_t>(0), ctx.gpr[6]);
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[5] + static_cast<std::uint32_t>(0)));
|
|
ctx.gpr[4] = (ctx.gpr[4] + static_cast<std::uint32_t>(4));
|
|
aot_mem.aot_store32(ctx.gpr[5] + static_cast<std::uint32_t>(0), ctx.gpr[4]);
|
|
goto L_0894E65C;
|
|
L_0894E65C:
|
|
ctx.gpr[16] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast<std::uint32_t>(0)));
|
|
jump_target = ctx.gpr[31];
|
|
ctx.gpr[29] = (ctx.gpr[29] + static_cast<std::uint32_t>(16));
|
|
local_pc = jump_target;
|
|
if (++local_transfers < 2048u) { entry_id = 0u; goto LOCAL_DISPATCH; }
|
|
ctx.pc = jump_target;
|
|
return;
|
|
L_0894E668:
|
|
ctx.gpr[29] = (ctx.gpr[29] + static_cast<std::uint32_t>(-64));
|
|
aot_mem.aot_store32(ctx.gpr[29] + static_cast<std::uint32_t>(44), ctx.gpr[16]);
|
|
ctx.gpr[16] = (ctx.gpr[4] | 0u);
|
|
ctx.gpr[4] = (2233u << 16u);
|
|
aot_mem.aot_store32(ctx.gpr[29] + static_cast<std::uint32_t>(48), ctx.gpr[17]);
|
|
ctx.gpr[17] = (ctx.gpr[29] + static_cast<std::uint32_t>(16));
|
|
ctx.gpr[5] = (aot_mem.aot_load32(ctx.gpr[4] + static_cast<std::uint32_t>(-5168)));
|
|
ctx.gpr[4] = (ctx.gpr[17] | 0u);
|
|
aot_mem.aot_store32(ctx.gpr[29] + static_cast<std::uint32_t>(52), ctx.gpr[31]);
|
|
ctx.gpr[31] = (0x0894E694u);
|
|
ctx.gpr[6] = (0u | 2048u);
|
|
if (rt.invoke_chained_direct<&recomp_unit_0158_entry, 158u, 387u, 0x08A7EEF8u>(ctx, &aot_mem) && ctx.pc == 0x0894E694u) goto L_0894E694;
|
|
return;
|
|
L_0894E694:
|
|
ctx.gpr[4] = (ctx.gpr[16] | 0u);
|
|
ctx.gpr[31] = (0x0894E6A0u);
|
|
ctx.gpr[5] = (ctx.gpr[17] | 0u);
|
|
goto L_0894E374;
|
|
L_0894E6A0:
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast<std::uint32_t>(16)));
|
|
ctx.gpr[5] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast<std::uint32_t>(20)));
|
|
ctx.gpr[6] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast<std::uint32_t>(24)));
|
|
ctx.gpr[7] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast<std::uint32_t>(28)));
|
|
ctx.gpr[4] = (ctx.gpr[4] - ctx.gpr[5]);
|
|
ctx.gpr[5] = (ctx.gpr[6] - ctx.gpr[7]);
|
|
ctx.gpr[5] = (ctx.gpr[4] + ctx.gpr[5]);
|
|
aot_mem.aot_store32(ctx.gpr[29] + static_cast<std::uint32_t>(40), ctx.gpr[5]);
|
|
ctx.gpr[4] = (2233u << 16u);
|
|
ctx.gpr[5] = (ctx.gpr[5] + static_cast<std::uint32_t>(12));
|
|
ctx.gpr[31] = (0x0894E6D0u);
|
|
ctx.gpr[4] = (ctx.gpr[4] + static_cast<std::uint32_t>(-26464));
|
|
if (rt.invoke_chained_direct<&recomp_unit_0167_entry, 167u, 698u, 0x08AA3474u>(ctx, &aot_mem) && ctx.pc == 0x0894E6D0u) goto L_0894E6D0;
|
|
return;
|
|
L_0894E6D0:
|
|
ctx.gpr[5] = (2228u << 16u);
|
|
ctx.gpr[17] = (ctx.gpr[2] | 0u);
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[5] + static_cast<std::uint32_t>(-29772)));
|
|
aot_mem.aot_store32(ctx.gpr[17] + static_cast<std::uint32_t>(4), 0u);
|
|
aot_mem.aot_store32(ctx.gpr[17] + static_cast<std::uint32_t>(0), ctx.gpr[4]);
|
|
aot_mem.aot_store32(ctx.gpr[17] + static_cast<std::uint32_t>(8), ctx.gpr[16]);
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[17] + static_cast<std::uint32_t>(0)));
|
|
{ const bool branch_taken = ctx.gpr[4] == 0u;
|
|
ctx.gpr[6] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast<std::uint32_t>(40)));
|
|
if (branch_taken) {
|
|
goto L_0894E6F8;
|
|
}
|
|
goto L_0894E6F4;
|
|
}
|
|
L_0894E6F4:
|
|
aot_mem.aot_store32(ctx.gpr[4] + static_cast<std::uint32_t>(4), ctx.gpr[17]);
|
|
goto L_0894E6F8;
|
|
L_0894E6F8:
|
|
aot_mem.aot_store32(ctx.gpr[5] + static_cast<std::uint32_t>(-29772), ctx.gpr[17]);
|
|
ctx.gpr[5] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast<std::uint32_t>(20)));
|
|
ctx.gpr[31] = (0x0894E708u);
|
|
ctx.gpr[4] = (ctx.gpr[17] + static_cast<std::uint32_t>(12));
|
|
if (rt.invoke_chained_direct<&recomp_unit_0117_entry, 117u, 296u, 0x089D9784u>(ctx, &aot_mem) && ctx.pc == 0x0894E708u) goto L_0894E708;
|
|
return;
|
|
L_0894E708:
|
|
aot_mem.aot_store32(ctx.gpr[16] + static_cast<std::uint32_t>(0), ctx.gpr[17]);
|
|
ctx.gpr[16] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast<std::uint32_t>(44)));
|
|
ctx.gpr[17] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast<std::uint32_t>(48)));
|
|
ctx.gpr[31] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast<std::uint32_t>(52)));
|
|
jump_target = ctx.gpr[31];
|
|
ctx.gpr[29] = (ctx.gpr[29] + static_cast<std::uint32_t>(64));
|
|
local_pc = jump_target;
|
|
if (++local_transfers < 2048u) { entry_id = 0u; goto LOCAL_DISPATCH; }
|
|
ctx.pc = jump_target;
|
|
return;
|
|
L_0894E720:
|
|
ctx.gpr[29] = (ctx.gpr[29] + static_cast<std::uint32_t>(-48));
|
|
aot_mem.aot_store32(ctx.gpr[29] + static_cast<std::uint32_t>(28), ctx.gpr[19]);
|
|
ctx.gpr[19] = (2228u << 16u);
|
|
ctx.gpr[5] = (aot_mem.aot_load32(ctx.gpr[19] + static_cast<std::uint32_t>(-29800)));
|
|
aot_mem.aot_store32(ctx.gpr[29] + static_cast<std::uint32_t>(16), ctx.gpr[16]);
|
|
aot_mem.aot_store32(ctx.gpr[29] + static_cast<std::uint32_t>(20), ctx.gpr[17]);
|
|
aot_mem.aot_store32(ctx.gpr[29] + static_cast<std::uint32_t>(24), ctx.gpr[18]);
|
|
aot_mem.aot_store32(ctx.gpr[29] + static_cast<std::uint32_t>(32), ctx.gpr[31]);
|
|
{ const bool branch_taken = ctx.gpr[5] == ctx.gpr[4];
|
|
ctx.gpr[16] = (ctx.gpr[4] | 0u);
|
|
if (branch_taken) {
|
|
goto L_0894E758;
|
|
}
|
|
goto L_0894E748;
|
|
}
|
|
L_0894E748:
|
|
{ const bool branch_taken = ctx.gpr[16] != 0u;
|
|
ctx.gpr[18] = (2233u << 16u);
|
|
if (branch_taken) {
|
|
goto L_0894E760;
|
|
}
|
|
goto L_0894E750;
|
|
}
|
|
L_0894E750:
|
|
{ const bool branch_taken = 0u == 0u;
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_0894E85C;
|
|
}
|
|
goto L_0894E758;
|
|
}
|
|
L_0894E758:
|
|
{ const bool branch_taken = 0u == 0u;
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_0894E87C;
|
|
}
|
|
goto L_0894E760;
|
|
}
|
|
L_0894E760:
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast<std::uint32_t>(4)));
|
|
{ const bool branch_taken = ctx.gpr[4] == 0u;
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_0894E85C;
|
|
}
|
|
goto L_0894E76C;
|
|
}
|
|
L_0894E76C:
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast<std::uint32_t>(0)));
|
|
{ const bool branch_taken = ctx.gpr[4] != 0u;
|
|
ctx.gpr[17] = (ctx.gpr[18] + static_cast<std::uint32_t>(-5168));
|
|
if (branch_taken) {
|
|
goto L_0894E804;
|
|
}
|
|
goto L_0894E778;
|
|
}
|
|
L_0894E778:
|
|
ctx.gpr[4] = (2233u << 16u);
|
|
ctx.gpr[4] = (ctx.gpr[4] + static_cast<std::uint32_t>(-26464));
|
|
ctx.gpr[4] = (aot_mem.aot_load8(ctx.gpr[4] + static_cast<std::uint32_t>(297)));
|
|
{ const bool branch_taken = ctx.gpr[4] == 0u;
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_0894E7F0;
|
|
}
|
|
goto L_0894E78C;
|
|
}
|
|
L_0894E78C:
|
|
ctx.gpr[31] = (0x0894E794u);
|
|
ctx.gpr[4] = (ctx.gpr[16] | 0u);
|
|
goto L_0894E668;
|
|
L_0894E794:
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast<std::uint32_t>(0)));
|
|
ctx.gpr[5] = (15u << 16u);
|
|
ctx.gpr[4] = (ctx.gpr[4] + static_cast<std::uint32_t>(12));
|
|
ctx.gpr[6] = (ctx.gpr[4] >> 8u);
|
|
ctx.gpr[5] = (ctx.gpr[6] & ctx.gpr[5]);
|
|
aot_mem.aot_store32(ctx.gpr[17] + static_cast<std::uint32_t>(20), ctx.gpr[5]);
|
|
ctx.gpr[6] = (4096u << 16u);
|
|
ctx.gpr[7] = (aot_mem.aot_load32(ctx.gpr[18] + static_cast<std::uint32_t>(-5168)));
|
|
ctx.gpr[5] = (ctx.gpr[5] | ctx.gpr[6]);
|
|
aot_mem.aot_store32(ctx.gpr[7] + static_cast<std::uint32_t>(0), ctx.gpr[5]);
|
|
ctx.gpr[6] = (256u << 16u);
|
|
ctx.gpr[5] = (aot_mem.aot_load32(ctx.gpr[18] + static_cast<std::uint32_t>(-5168)));
|
|
ctx.gpr[6] = (ctx.gpr[6] + static_cast<std::uint32_t>(-1));
|
|
ctx.gpr[4] = (ctx.gpr[4] & ctx.gpr[6]);
|
|
ctx.gpr[5] = (ctx.gpr[5] + static_cast<std::uint32_t>(4));
|
|
ctx.gpr[6] = (2560u << 16u);
|
|
aot_mem.aot_store32(ctx.gpr[18] + static_cast<std::uint32_t>(-5168), ctx.gpr[5]);
|
|
ctx.gpr[4] = (ctx.gpr[4] | ctx.gpr[6]);
|
|
aot_mem.aot_store32(ctx.gpr[5] + static_cast<std::uint32_t>(0), ctx.gpr[4]);
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[18] + static_cast<std::uint32_t>(-5168)));
|
|
ctx.gpr[4] = (ctx.gpr[4] + static_cast<std::uint32_t>(4));
|
|
{ const bool branch_taken = 0u == 0u;
|
|
aot_mem.aot_store32(ctx.gpr[18] + static_cast<std::uint32_t>(-5168), ctx.gpr[4]);
|
|
if (branch_taken) {
|
|
goto L_0894E878;
|
|
}
|
|
goto L_0894E7F0;
|
|
}
|
|
L_0894E7F0:
|
|
ctx.gpr[4] = (ctx.gpr[16] | 0u);
|
|
ctx.gpr[31] = (0x0894E7FCu);
|
|
ctx.gpr[5] = (ctx.gpr[17] | 0u);
|
|
goto L_0894E374;
|
|
L_0894E7FC:
|
|
{ const bool branch_taken = 0u == 0u;
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_0894E878;
|
|
}
|
|
goto L_0894E804;
|
|
}
|
|
L_0894E804:
|
|
ctx.gpr[4] = (ctx.gpr[4] + static_cast<std::uint32_t>(12));
|
|
ctx.gpr[5] = (ctx.gpr[4] >> 8u);
|
|
ctx.gpr[6] = (15u << 16u);
|
|
ctx.gpr[5] = (ctx.gpr[5] & ctx.gpr[6]);
|
|
aot_mem.aot_store32(ctx.gpr[17] + static_cast<std::uint32_t>(20), ctx.gpr[5]);
|
|
ctx.gpr[6] = (4096u << 16u);
|
|
ctx.gpr[7] = (aot_mem.aot_load32(ctx.gpr[18] + static_cast<std::uint32_t>(-5168)));
|
|
ctx.gpr[5] = (ctx.gpr[5] | ctx.gpr[6]);
|
|
aot_mem.aot_store32(ctx.gpr[7] + static_cast<std::uint32_t>(0), ctx.gpr[5]);
|
|
ctx.gpr[6] = (256u << 16u);
|
|
ctx.gpr[5] = (aot_mem.aot_load32(ctx.gpr[18] + static_cast<std::uint32_t>(-5168)));
|
|
ctx.gpr[6] = (ctx.gpr[6] + static_cast<std::uint32_t>(-1));
|
|
ctx.gpr[4] = (ctx.gpr[4] & ctx.gpr[6]);
|
|
ctx.gpr[5] = (ctx.gpr[5] + static_cast<std::uint32_t>(4));
|
|
ctx.gpr[6] = (2560u << 16u);
|
|
aot_mem.aot_store32(ctx.gpr[18] + static_cast<std::uint32_t>(-5168), ctx.gpr[5]);
|
|
ctx.gpr[4] = (ctx.gpr[4] | ctx.gpr[6]);
|
|
aot_mem.aot_store32(ctx.gpr[5] + static_cast<std::uint32_t>(0), ctx.gpr[4]);
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[18] + static_cast<std::uint32_t>(-5168)));
|
|
ctx.gpr[4] = (ctx.gpr[4] + static_cast<std::uint32_t>(4));
|
|
{ const bool branch_taken = 0u == 0u;
|
|
aot_mem.aot_store32(ctx.gpr[18] + static_cast<std::uint32_t>(-5168), ctx.gpr[4]);
|
|
if (branch_taken) {
|
|
goto L_0894E878;
|
|
}
|
|
goto L_0894E85C;
|
|
}
|
|
L_0894E85C:
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[18] + static_cast<std::uint32_t>(-5168)));
|
|
ctx.gpr[5] = (7680u << 16u);
|
|
aot_mem.aot_store32(ctx.gpr[4] + static_cast<std::uint32_t>(0), ctx.gpr[5]);
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[18] + static_cast<std::uint32_t>(-5168)));
|
|
ctx.gpr[16] = (0u | 0u);
|
|
ctx.gpr[4] = (ctx.gpr[4] + static_cast<std::uint32_t>(4));
|
|
aot_mem.aot_store32(ctx.gpr[18] + static_cast<std::uint32_t>(-5168), ctx.gpr[4]);
|
|
goto L_0894E878;
|
|
L_0894E878:
|
|
aot_mem.aot_store32(ctx.gpr[19] + static_cast<std::uint32_t>(-29800), ctx.gpr[16]);
|
|
goto L_0894E87C;
|
|
L_0894E87C:
|
|
ctx.gpr[16] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast<std::uint32_t>(16)));
|
|
ctx.gpr[17] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast<std::uint32_t>(20)));
|
|
ctx.gpr[18] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast<std::uint32_t>(24)));
|
|
ctx.gpr[19] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast<std::uint32_t>(28)));
|
|
ctx.gpr[31] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast<std::uint32_t>(32)));
|
|
jump_target = ctx.gpr[31];
|
|
ctx.gpr[29] = (ctx.gpr[29] + static_cast<std::uint32_t>(48));
|
|
local_pc = jump_target;
|
|
if (++local_transfers < 2048u) { entry_id = 0u; goto LOCAL_DISPATCH; }
|
|
ctx.pc = jump_target;
|
|
return;
|
|
L_0894E898:
|
|
ctx.gpr[29] = (ctx.gpr[29] + static_cast<std::uint32_t>(-32));
|
|
aot_mem.aot_store32(ctx.gpr[29] + static_cast<std::uint32_t>(20), ctx.gpr[17]);
|
|
ctx.gpr[17] = (ctx.gpr[5] | 0u);
|
|
aot_mem.aot_store32(ctx.gpr[29] + static_cast<std::uint32_t>(16), ctx.gpr[16]);
|
|
aot_mem.aot_store32(ctx.gpr[29] + static_cast<std::uint32_t>(24), ctx.gpr[31]);
|
|
ctx.gpr[31] = (0x0894E8B4u);
|
|
ctx.gpr[16] = (ctx.gpr[4] | 0u);
|
|
if (rt.invoke_chained_direct<&recomp_unit_0104_entry, 104u, 340u, 0x089A5734u>(ctx, &aot_mem) && ctx.pc == 0x0894E8B4u) goto L_0894E8B4;
|
|
return;
|
|
L_0894E8B4:
|
|
ctx.gpr[4] = (2230u << 16u);
|
|
ctx.gpr[4] = (ctx.gpr[4] + static_cast<std::uint32_t>(-18236));
|
|
aot_mem.aot_store32(ctx.gpr[16] + static_cast<std::uint32_t>(92), ctx.gpr[4]);
|
|
ctx.gpr[4] = (ctx.gpr[17] | 0u);
|
|
ctx.gpr[5] = (static_cast<std::int32_t>(ctx.gpr[4]) < 17 ? 1u : 0u);
|
|
if (ctx.gpr[5] == 0u) {
|
|
ctx.gpr[4] = (static_cast<std::int32_t>(ctx.gpr[4]) < 18 ? 1u : 0u);
|
|
goto L_0894E8F0;
|
|
}
|
|
goto L_0894E8D0;
|
|
L_0894E8D0:
|
|
ctx.gpr[4] = (static_cast<std::int32_t>(ctx.gpr[4]) < 16 ? 1u : 0u);
|
|
{ const bool branch_taken = ctx.gpr[4] == 0u;
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_0894E91C;
|
|
}
|
|
goto L_0894E8DC;
|
|
}
|
|
L_0894E8DC:
|
|
aot_mem.aot_store32(ctx.gpr[16] + static_cast<std::uint32_t>(2068), 0u);
|
|
aot_mem.aot_store32(ctx.gpr[16] + static_cast<std::uint32_t>(2072), 0u);
|
|
aot_mem.aot_store8(ctx.gpr[16] + static_cast<std::uint32_t>(2080), static_cast<std::uint8_t>(0u));
|
|
{ const bool branch_taken = 0u == 0u;
|
|
ctx.gpr[2] = (ctx.gpr[16] | 0u);
|
|
if (branch_taken) {
|
|
goto L_0894E944;
|
|
}
|
|
goto L_0894E8F0;
|
|
}
|
|
L_0894E8F0:
|
|
{ const bool branch_taken = ctx.gpr[4] == 0u;
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_0894E8DC;
|
|
}
|
|
goto L_0894E8F8;
|
|
}
|
|
L_0894E8F8:
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast<std::uint32_t>(92)));
|
|
ctx.gpr[5] = (0u | 6u);
|
|
ctx.gpr[4] = (ctx.gpr[4] + static_cast<std::uint32_t>(40));
|
|
ctx.gpr[6] = (static_cast<std::uint32_t>(static_cast<std::int32_t>(static_cast<std::int16_t>(aot_mem.aot_load16(ctx.gpr[4] + static_cast<std::uint32_t>(0))))));
|
|
ctx.gpr[7] = (aot_mem.aot_load32(ctx.gpr[4] + static_cast<std::uint32_t>(4)));
|
|
jump_target = ctx.gpr[7];
|
|
ctx.gpr[31] = (0x0894E914u);
|
|
ctx.gpr[4] = (ctx.gpr[16] + ctx.gpr[6]);
|
|
ctx.pc = jump_target;
|
|
if (rt.invoke_chained_call(ctx, &aot_mem) && ctx.pc == 0x0894E914u) goto L_0894E914;
|
|
return;
|
|
L_0894E914:
|
|
{ const bool branch_taken = 0u == 0u;
|
|
aot_mem.aot_store32(ctx.gpr[16] + static_cast<std::uint32_t>(2064), 0u);
|
|
if (branch_taken) {
|
|
goto L_0894E8DC;
|
|
}
|
|
goto L_0894E91C;
|
|
}
|
|
L_0894E91C:
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast<std::uint32_t>(92)));
|
|
ctx.gpr[5] = (0u | 5u);
|
|
ctx.gpr[4] = (ctx.gpr[4] + static_cast<std::uint32_t>(40));
|
|
ctx.gpr[6] = (static_cast<std::uint32_t>(static_cast<std::int32_t>(static_cast<std::int16_t>(aot_mem.aot_load16(ctx.gpr[4] + static_cast<std::uint32_t>(0))))));
|
|
ctx.gpr[7] = (aot_mem.aot_load32(ctx.gpr[4] + static_cast<std::uint32_t>(4)));
|
|
jump_target = ctx.gpr[7];
|
|
ctx.gpr[31] = (0x0894E938u);
|
|
ctx.gpr[4] = (ctx.gpr[16] + ctx.gpr[6]);
|
|
ctx.pc = jump_target;
|
|
if (rt.invoke_chained_call(ctx, &aot_mem) && ctx.pc == 0x0894E938u) goto L_0894E938;
|
|
return;
|
|
L_0894E938:
|
|
aot_mem.aot_store32(ctx.gpr[16] + static_cast<std::uint32_t>(2064), 0u);
|
|
{ const bool branch_taken = 0u == 0u;
|
|
aot_mem.aot_store32(ctx.gpr[16] + static_cast<std::uint32_t>(2084), 0u);
|
|
if (branch_taken) {
|
|
goto L_0894E8DC;
|
|
}
|
|
goto L_0894E944;
|
|
}
|
|
L_0894E944:
|
|
ctx.gpr[16] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast<std::uint32_t>(16)));
|
|
ctx.gpr[17] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast<std::uint32_t>(20)));
|
|
ctx.gpr[31] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast<std::uint32_t>(24)));
|
|
jump_target = ctx.gpr[31];
|
|
ctx.gpr[29] = (ctx.gpr[29] + static_cast<std::uint32_t>(32));
|
|
local_pc = jump_target;
|
|
if (++local_transfers < 2048u) { entry_id = 0u; goto LOCAL_DISPATCH; }
|
|
ctx.pc = jump_target;
|
|
return;
|
|
L_0894E958:
|
|
ctx.gpr[29] = (ctx.gpr[29] + static_cast<std::uint32_t>(-32));
|
|
aot_mem.aot_store32(ctx.gpr[29] + static_cast<std::uint32_t>(20), ctx.gpr[17]);
|
|
ctx.gpr[17] = (ctx.gpr[4] | 0u);
|
|
aot_mem.aot_store32(ctx.gpr[29] + static_cast<std::uint32_t>(16), ctx.gpr[16]);
|
|
aot_mem.aot_store32(ctx.gpr[29] + static_cast<std::uint32_t>(24), ctx.gpr[31]);
|
|
{ const bool branch_taken = ctx.gpr[4] == 0u;
|
|
ctx.gpr[16] = (ctx.gpr[5] | 0u);
|
|
if (branch_taken) {
|
|
goto L_0894E9A0;
|
|
}
|
|
goto L_0894E974;
|
|
}
|
|
L_0894E974:
|
|
ctx.gpr[4] = (2230u << 16u);
|
|
ctx.gpr[4] = (ctx.gpr[4] + static_cast<std::uint32_t>(-18236));
|
|
aot_mem.aot_store32(ctx.gpr[17] + static_cast<std::uint32_t>(92), ctx.gpr[4]);
|
|
ctx.gpr[4] = (ctx.gpr[17] | 0u);
|
|
ctx.gpr[31] = (0x0894E98Cu);
|
|
ctx.gpr[5] = (0u | 0u);
|
|
if (rt.invoke_chained_direct<&recomp_unit_0104_entry, 104u, 369u, 0x089A63D4u>(ctx, &aot_mem) && ctx.pc == 0x0894E98Cu) goto L_0894E98C;
|
|
return;
|
|
L_0894E98C:
|
|
ctx.gpr[4] = (ctx.gpr[16] & 1u);
|
|
{ const bool branch_taken = ctx.gpr[4] == 0u;
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_0894E9A0;
|
|
}
|
|
goto L_0894E998;
|
|
}
|
|
L_0894E998:
|
|
ctx.gpr[31] = (0x0894E9A0u);
|
|
ctx.gpr[4] = (ctx.gpr[17] | 0u);
|
|
if (rt.invoke_chained_direct<&recomp_unit_0102_entry, 102u, 253u, 0x0899DA6Cu>(ctx, &aot_mem) && ctx.pc == 0x0894E9A0u) goto L_0894E9A0;
|
|
return;
|
|
L_0894E9A0:
|
|
ctx.gpr[16] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast<std::uint32_t>(16)));
|
|
ctx.gpr[17] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast<std::uint32_t>(20)));
|
|
ctx.gpr[31] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast<std::uint32_t>(24)));
|
|
jump_target = ctx.gpr[31];
|
|
ctx.gpr[29] = (ctx.gpr[29] + static_cast<std::uint32_t>(32));
|
|
local_pc = jump_target;
|
|
if (++local_transfers < 2048u) { entry_id = 0u; goto LOCAL_DISPATCH; }
|
|
ctx.pc = jump_target;
|
|
return;
|
|
L_0894E9B4:
|
|
ctx.gpr[29] = (ctx.gpr[29] + static_cast<std::uint32_t>(-64));
|
|
ctx.gpr[6] = (aot_mem.aot_load32(ctx.gpr[4] + static_cast<std::uint32_t>(1332)));
|
|
{ const bool branch_taken = ctx.gpr[6] == 0u;
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_0894EA20;
|
|
}
|
|
goto L_0894E9C4;
|
|
}
|
|
L_0894E9C4:
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[4] + static_cast<std::uint32_t>(1332)));
|
|
ctx.gpr[4] = (ctx.gpr[4] + static_cast<std::uint32_t>(48));
|
|
{ const std::uint32_t vfpu_address = ctx.gpr[4] + static_cast<std::uint32_t>(0);
|
|
float vfpu_value[4]{
|
|
std::bit_cast<float>(aot_mem.aot_load32(vfpu_address + 0u)),
|
|
std::bit_cast<float>(aot_mem.aot_load32(vfpu_address + 4u)),
|
|
std::bit_cast<float>(aot_mem.aot_load32(vfpu_address + 8u)),
|
|
std::bit_cast<float>(aot_mem.aot_load32(vfpu_address + 12u))};
|
|
ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); }
|
|
ctx.gpr[4] = (ctx.gpr[5] + static_cast<std::uint32_t>(48));
|
|
{ const std::uint32_t vfpu_address = ctx.gpr[4] + static_cast<std::uint32_t>(0);
|
|
float vfpu_value[4]{
|
|
std::bit_cast<float>(aot_mem.aot_load32(vfpu_address + 0u)),
|
|
std::bit_cast<float>(aot_mem.aot_load32(vfpu_address + 4u)),
|
|
std::bit_cast<float>(aot_mem.aot_load32(vfpu_address + 8u)),
|
|
std::bit_cast<float>(aot_mem.aot_load32(vfpu_address + 12u))};
|
|
ctx.write_vfpu_vector_ct<1u, 4u>(vfpu_value); }
|
|
{ float vfpu_s[4]{}, vfpu_t[4]{}, vfpu_d[4]{};
|
|
ctx.read_vfpu_vector_with_source_prefix_ct<0u, 3u, 0u>(vfpu_s);
|
|
ctx.read_vfpu_vector_with_source_prefix_ct<1u, 3u, 1u>(vfpu_t);
|
|
for (std::uint32_t i = 0; i < 3u; ++i) vfpu_d[i] = vfpu_s[i] - vfpu_t[i];
|
|
ctx.write_vfpu_vector_with_destination_prefix_ct<0u, 3u>(vfpu_d); }
|
|
ctx.gpr[4] = (ctx.gpr[29] + static_cast<std::uint32_t>(16));
|
|
{ float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value);
|
|
const std::uint32_t vfpu_address = ctx.gpr[4] + static_cast<std::uint32_t>(0);
|
|
aot_mem.aot_store32(vfpu_address + 0u, std::bit_cast<std::uint32_t>(vfpu_value[0]));
|
|
aot_mem.aot_store32(vfpu_address + 4u, std::bit_cast<std::uint32_t>(vfpu_value[1]));
|
|
aot_mem.aot_store32(vfpu_address + 8u, std::bit_cast<std::uint32_t>(vfpu_value[2]));
|
|
aot_mem.aot_store32(vfpu_address + 12u, std::bit_cast<std::uint32_t>(vfpu_value[3])); }
|
|
{ const std::uint32_t vfpu_address = ctx.gpr[4] + static_cast<std::uint32_t>(0);
|
|
float vfpu_value[4]{
|
|
std::bit_cast<float>(aot_mem.aot_load32(vfpu_address + 0u)),
|
|
std::bit_cast<float>(aot_mem.aot_load32(vfpu_address + 4u)),
|
|
std::bit_cast<float>(aot_mem.aot_load32(vfpu_address + 8u)),
|
|
std::bit_cast<float>(aot_mem.aot_load32(vfpu_address + 12u))};
|
|
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[29] + static_cast<std::uint32_t>(0);
|
|
aot_mem.aot_store32(vfpu_address + 0u, std::bit_cast<std::uint32_t>(vfpu_value[0]));
|
|
aot_mem.aot_store32(vfpu_address + 4u, std::bit_cast<std::uint32_t>(vfpu_value[1]));
|
|
aot_mem.aot_store32(vfpu_address + 8u, std::bit_cast<std::uint32_t>(vfpu_value[2]));
|
|
aot_mem.aot_store32(vfpu_address + 12u, std::bit_cast<std::uint32_t>(vfpu_value[3])); }
|
|
{ const std::uint32_t vfpu_address = ctx.gpr[29] + static_cast<std::uint32_t>(0);
|
|
float vfpu_value[4]{
|
|
std::bit_cast<float>(aot_mem.aot_load32(vfpu_address + 0u)),
|
|
std::bit_cast<float>(aot_mem.aot_load32(vfpu_address + 4u)),
|
|
std::bit_cast<float>(aot_mem.aot_load32(vfpu_address + 8u)),
|
|
std::bit_cast<float>(aot_mem.aot_load32(vfpu_address + 12u))};
|
|
ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); }
|
|
ctx.execute_vfpu_vdot_ct<28u, 0u, 0u, 3u>();
|
|
{ float vfpu_s[4]{}, vfpu_d[4]{};
|
|
ctx.read_vfpu_vector_with_source_prefix_ct<28u, 1u, 0u>(vfpu_s);
|
|
for (std::uint32_t i = 0; i < 1u; ++i) vfpu_d[i] = std::fabs(std::sqrt(vfpu_s[i]));
|
|
ctx.write_vfpu_vector_with_destination_prefix_ct<28u, 1u>(vfpu_d); }
|
|
ctx.gpr[4] = (ctx.vfpu_scalar_bits_ct<28u>());
|
|
ctx.fpr[12] = std::bit_cast<float>(ctx.gpr[4]);
|
|
ctx.gpr[4] = (16880u << 16u);
|
|
ctx.fpr[13] = std::bit_cast<float>(ctx.gpr[4]);
|
|
ctx.set_fpu_condition((ctx.fpr[12] <= ctx.fpr[13]));
|
|
// nop
|
|
{ const bool branch_taken = ctx.fpu_condition();
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_0894EA20;
|
|
}
|
|
goto L_0894EA18;
|
|
}
|
|
L_0894EA18:
|
|
{ const bool branch_taken = 0u == 0u;
|
|
ctx.gpr[2] = (0u | 0u);
|
|
if (branch_taken) {
|
|
goto L_0894EA24;
|
|
}
|
|
goto L_0894EA20;
|
|
}
|
|
L_0894EA20:
|
|
ctx.gpr[2] = (0u | 1u);
|
|
goto L_0894EA24;
|
|
L_0894EA24:
|
|
jump_target = ctx.gpr[31];
|
|
ctx.gpr[29] = (ctx.gpr[29] + static_cast<std::uint32_t>(64));
|
|
local_pc = jump_target;
|
|
if (++local_transfers < 2048u) { entry_id = 0u; goto LOCAL_DISPATCH; }
|
|
ctx.pc = jump_target;
|
|
return;
|
|
L_0894EA2C:
|
|
ctx.gpr[29] = (ctx.gpr[29] + static_cast<std::uint32_t>(-32));
|
|
aot_mem.aot_store32(ctx.gpr[29] + static_cast<std::uint32_t>(16), ctx.gpr[16]);
|
|
aot_mem.aot_store32(ctx.gpr[29] + static_cast<std::uint32_t>(20), ctx.gpr[31]);
|
|
ctx.gpr[31] = (0x0894EA40u);
|
|
ctx.gpr[16] = (ctx.gpr[4] | 0u);
|
|
if (rt.invoke_chained_direct<&recomp_unit_0107_entry, 107u, 312u, 0x089B10ECu>(ctx, &aot_mem) && ctx.pc == 0x0894EA40u) goto L_0894EA40;
|
|
return;
|
|
L_0894EA40:
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast<std::uint32_t>(68)));
|
|
ctx.gpr[5] = (2u << 16u);
|
|
ctx.gpr[4] = (ctx.gpr[4] & ctx.gpr[5]);
|
|
ctx.gpr[4] = (0u < ctx.gpr[4] ? 1u : 0u);
|
|
ctx.gpr[4] = (ctx.gpr[4] & 255u);
|
|
{ const bool branch_taken = ctx.gpr[4] != 0u;
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_0894EAC8;
|
|
}
|
|
goto L_0894EA5C;
|
|
}
|
|
L_0894EA5C:
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast<std::uint32_t>(844)));
|
|
ctx.gpr[5] = (0u | 55u);
|
|
{ const bool branch_taken = ctx.gpr[4] == ctx.gpr[5];
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_0894EAC0;
|
|
}
|
|
goto L_0894EA6C;
|
|
}
|
|
L_0894EA6C:
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast<std::uint32_t>(844)));
|
|
ctx.gpr[5] = (0u | 54u);
|
|
{ const bool branch_taken = ctx.gpr[4] == ctx.gpr[5];
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_0894EAB8;
|
|
}
|
|
goto L_0894EA7C;
|
|
}
|
|
L_0894EA7C:
|
|
ctx.gpr[4] = (static_cast<std::uint32_t>(static_cast<std::int32_t>(static_cast<std::int8_t>(aot_mem.aot_load8(ctx.gpr[16] + static_cast<std::uint32_t>(1720))))));
|
|
ctx.gpr[5] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast<std::uint32_t>(96)));
|
|
ctx.gpr[6] = (ctx.gpr[4] << 5u);
|
|
ctx.gpr[4] = (ctx.gpr[4] << 2u);
|
|
ctx.gpr[4] = (ctx.gpr[6] - ctx.gpr[4]);
|
|
ctx.gpr[4] = (ctx.gpr[16] + ctx.gpr[4]);
|
|
ctx.gpr[4] = (ctx.gpr[4] + static_cast<std::uint32_t>(1428));
|
|
ctx.gpr[31] = (0x0894EAA0u);
|
|
ctx.gpr[6] = (0u | 0u);
|
|
if (rt.invoke_chained_direct<&recomp_unit_0020_entry, 20u, 328u, 0x08855A6Cu>(ctx, &aot_mem) && ctx.pc == 0x0894EAA0u) goto L_0894EAA0;
|
|
return;
|
|
L_0894EAA0:
|
|
ctx.gpr[31] = (0x0894EAA8u);
|
|
ctx.gpr[4] = (ctx.gpr[16] | 0u);
|
|
if (rt.invoke_chained_direct<&recomp_unit_0102_entry, 102u, 351u, 0x0899E254u>(ctx, &aot_mem) && ctx.pc == 0x0894EAA8u) goto L_0894EAA8;
|
|
return;
|
|
L_0894EAA8:
|
|
if (ctx.gpr[2] != 0u) {
|
|
ctx.fpr[12] = std::bit_cast<float>(aot_mem.aot_load32(ctx.gpr[16] + static_cast<std::uint32_t>(1240)));
|
|
goto L_0894EAD0;
|
|
}
|
|
goto L_0894EAB0;
|
|
L_0894EAB0:
|
|
{ const bool branch_taken = 0u == 0u;
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_0894EB00;
|
|
}
|
|
goto L_0894EAB8;
|
|
}
|
|
L_0894EAB8:
|
|
{ const bool branch_taken = 0u == 0u;
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_0894EBF8;
|
|
}
|
|
goto L_0894EAC0;
|
|
}
|
|
L_0894EAC0:
|
|
{ const bool branch_taken = 0u == 0u;
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_0894EBF8;
|
|
}
|
|
goto L_0894EAC8;
|
|
}
|
|
L_0894EAC8:
|
|
{ const bool branch_taken = 0u == 0u;
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_0894EBF8;
|
|
}
|
|
goto L_0894EAD0;
|
|
}
|
|
L_0894EAD0:
|
|
ctx.fpr[13] = std::bit_cast<float>(aot_mem.aot_load32(ctx.gpr[16] + static_cast<std::uint32_t>(1244)));
|
|
{ const float fs = ctx.fpr[12]; const float ft = ctx.fpr[12]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[12] = std::bit_cast<float>(0x7FC00000u); else ctx.fpr[12] = fs * ft; }
|
|
{ const float fs = ctx.fpr[13]; const float ft = ctx.fpr[13]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[13] = std::bit_cast<float>(0x7FC00000u); else ctx.fpr[13] = fs * ft; }
|
|
ctx.fpr[12] = ctx.fpr[12] + ctx.fpr[13];
|
|
ctx.fpr[12] = std::sqrt(ctx.fpr[12]);
|
|
ctx.fpr[14] = std::bit_cast<float>(0u);
|
|
ctx.set_fpu_condition((ctx.fpr[12] <= ctx.fpr[14]));
|
|
// nop
|
|
{ const bool branch_taken = ctx.fpu_condition();
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_0894EB00;
|
|
}
|
|
goto L_0894EAF8;
|
|
}
|
|
L_0894EAF8:
|
|
ctx.gpr[31] = (0x0894EB00u);
|
|
ctx.gpr[4] = (ctx.gpr[16] | 0u);
|
|
if (rt.invoke_chained_direct<&recomp_unit_0102_entry, 102u, 447u, 0x0899E750u>(ctx, &aot_mem) && ctx.pc == 0x0894EB00u) goto L_0894EB00;
|
|
return;
|
|
L_0894EB00:
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast<std::uint32_t>(844)));
|
|
ctx.gpr[5] = (static_cast<std::int32_t>(ctx.gpr[4]) < 7 ? 1u : 0u);
|
|
if (ctx.gpr[5] == 0u) {
|
|
ctx.gpr[4] = (static_cast<std::int32_t>(ctx.gpr[4]) < 8 ? 1u : 0u);
|
|
goto L_0894EB24;
|
|
}
|
|
goto L_0894EB10;
|
|
L_0894EB10:
|
|
ctx.gpr[4] = (static_cast<std::int32_t>(ctx.gpr[4]) < 6 ? 1u : 0u);
|
|
{ const bool branch_taken = ctx.gpr[4] != 0u;
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_0894EB74;
|
|
}
|
|
goto L_0894EB1C;
|
|
}
|
|
L_0894EB1C:
|
|
{ const bool branch_taken = 0u == 0u;
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_0894EB6C;
|
|
}
|
|
goto L_0894EB24;
|
|
}
|
|
L_0894EB24:
|
|
{ const bool branch_taken = ctx.gpr[4] == 0u;
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_0894EB74;
|
|
}
|
|
goto L_0894EB2C;
|
|
}
|
|
L_0894EB2C:
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast<std::uint32_t>(1328)));
|
|
{ const bool branch_taken = ctx.gpr[4] == 0u;
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_0894EB5C;
|
|
}
|
|
goto L_0894EB38;
|
|
}
|
|
L_0894EB38:
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast<std::uint32_t>(1328)));
|
|
ctx.gpr[4] = (ctx.gpr[4] + static_cast<std::uint32_t>(48));
|
|
{ const std::uint32_t vfpu_address = ctx.gpr[4] + static_cast<std::uint32_t>(0);
|
|
float vfpu_value[4]{
|
|
std::bit_cast<float>(aot_mem.aot_load32(vfpu_address + 0u)),
|
|
std::bit_cast<float>(aot_mem.aot_load32(vfpu_address + 4u)),
|
|
std::bit_cast<float>(aot_mem.aot_load32(vfpu_address + 8u)),
|
|
std::bit_cast<float>(aot_mem.aot_load32(vfpu_address + 12u))};
|
|
ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); }
|
|
ctx.gpr[4] = (ctx.gpr[16] + static_cast<std::uint32_t>(1312));
|
|
{ float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value);
|
|
const std::uint32_t vfpu_address = ctx.gpr[4] + static_cast<std::uint32_t>(0);
|
|
aot_mem.aot_store32(vfpu_address + 0u, std::bit_cast<std::uint32_t>(vfpu_value[0]));
|
|
aot_mem.aot_store32(vfpu_address + 4u, std::bit_cast<std::uint32_t>(vfpu_value[1]));
|
|
aot_mem.aot_store32(vfpu_address + 8u, std::bit_cast<std::uint32_t>(vfpu_value[2]));
|
|
aot_mem.aot_store32(vfpu_address + 12u, std::bit_cast<std::uint32_t>(vfpu_value[3])); }
|
|
ctx.gpr[31] = (0x0894EB54u);
|
|
ctx.gpr[4] = (ctx.gpr[16] | 0u);
|
|
if (rt.invoke_chained_direct<&recomp_unit_0105_entry, 105u, 510u, 0x089AA50Cu>(ctx, &aot_mem) && ctx.pc == 0x0894EB54u) goto L_0894EB54;
|
|
return;
|
|
L_0894EB54:
|
|
{ const bool branch_taken = 0u == 0u;
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_0894EB64;
|
|
}
|
|
goto L_0894EB5C;
|
|
}
|
|
L_0894EB5C:
|
|
ctx.gpr[31] = (0x0894EB64u);
|
|
ctx.gpr[4] = (ctx.gpr[16] | 0u);
|
|
if (rt.invoke_chained_direct<&recomp_unit_0103_entry, 103u, 359u, 0x089A1938u>(ctx, &aot_mem) && ctx.pc == 0x0894EB64u) goto L_0894EB64;
|
|
return;
|
|
L_0894EB64:
|
|
{ const bool branch_taken = 0u == 0u;
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_0894EB74;
|
|
}
|
|
goto L_0894EB6C;
|
|
}
|
|
L_0894EB6C:
|
|
ctx.gpr[31] = (0x0894EB74u);
|
|
ctx.gpr[4] = (ctx.gpr[16] | 0u);
|
|
if (rt.invoke_chained_direct<&recomp_unit_0105_entry, 105u, 510u, 0x089AA50Cu>(ctx, &aot_mem) && ctx.pc == 0x0894EB74u) goto L_0894EB74;
|
|
return;
|
|
L_0894EB74:
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast<std::uint32_t>(1376)));
|
|
ctx.gpr[5] = (static_cast<std::int32_t>(ctx.gpr[4]) < 17 ? 1u : 0u);
|
|
if (ctx.gpr[5] == 0u) {
|
|
ctx.gpr[4] = (static_cast<std::int32_t>(ctx.gpr[4]) < 18 ? 1u : 0u);
|
|
goto L_0894EB98;
|
|
}
|
|
goto L_0894EB84;
|
|
L_0894EB84:
|
|
ctx.gpr[4] = (static_cast<std::int32_t>(ctx.gpr[4]) < 16 ? 1u : 0u);
|
|
{ const bool branch_taken = ctx.gpr[4] != 0u;
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_0894EBF8;
|
|
}
|
|
goto L_0894EB90;
|
|
}
|
|
L_0894EB90:
|
|
{ const bool branch_taken = 0u == 0u;
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_0894EBA8;
|
|
}
|
|
goto L_0894EB98;
|
|
}
|
|
L_0894EB98:
|
|
{ const bool branch_taken = ctx.gpr[4] != 0u;
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_0894EBD8;
|
|
}
|
|
goto L_0894EBA0;
|
|
}
|
|
L_0894EBA0:
|
|
{ const bool branch_taken = 0u == 0u;
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_0894EBF8;
|
|
}
|
|
goto L_0894EBA8;
|
|
}
|
|
L_0894EBA8:
|
|
ctx.gpr[31] = (0x0894EBB0u);
|
|
ctx.gpr[4] = (ctx.gpr[16] | 0u);
|
|
if (rt.invoke_chained_direct<&recomp_unit_0102_entry, 102u, 351u, 0x0899E254u>(ctx, &aot_mem) && ctx.pc == 0x0894EBB0u) goto L_0894EBB0;
|
|
return;
|
|
L_0894EBB0:
|
|
{ const bool branch_taken = ctx.gpr[2] != 0u;
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_0894EBC8;
|
|
}
|
|
goto L_0894EBB8;
|
|
}
|
|
L_0894EBB8:
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast<std::uint32_t>(844)));
|
|
ctx.gpr[5] = (0u | 50u);
|
|
{ const bool branch_taken = ctx.gpr[4] != ctx.gpr[5];
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_0894EBD0;
|
|
}
|
|
goto L_0894EBC8;
|
|
}
|
|
L_0894EBC8:
|
|
ctx.gpr[31] = (0x0894EBD0u);
|
|
ctx.gpr[4] = (ctx.gpr[16] | 0u);
|
|
goto L_0894EC08;
|
|
L_0894EBD0:
|
|
{ const bool branch_taken = 0u == 0u;
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_0894EBF8;
|
|
}
|
|
goto L_0894EBD8;
|
|
}
|
|
L_0894EBD8:
|
|
ctx.gpr[31] = (0x0894EBE0u);
|
|
ctx.gpr[4] = (ctx.gpr[16] | 0u);
|
|
if (rt.invoke_chained_direct<&recomp_unit_0102_entry, 102u, 351u, 0x0899E254u>(ctx, &aot_mem) && ctx.pc == 0x0894EBE0u) goto L_0894EBE0;
|
|
return;
|
|
L_0894EBE0:
|
|
{ const bool branch_taken = ctx.gpr[2] == 0u;
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_0894EBF0;
|
|
}
|
|
goto L_0894EBE8;
|
|
}
|
|
L_0894EBE8:
|
|
ctx.gpr[31] = (0x0894EBF0u);
|
|
ctx.gpr[4] = (ctx.gpr[16] | 0u);
|
|
goto L_0894FAF0;
|
|
L_0894EBF0:
|
|
{ const bool branch_taken = 0u == 0u;
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_0894EBF8;
|
|
}
|
|
goto L_0894EBF8;
|
|
}
|
|
L_0894EBF8:
|
|
ctx.gpr[16] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast<std::uint32_t>(16)));
|
|
ctx.gpr[31] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast<std::uint32_t>(20)));
|
|
jump_target = ctx.gpr[31];
|
|
ctx.gpr[29] = (ctx.gpr[29] + static_cast<std::uint32_t>(32));
|
|
local_pc = jump_target;
|
|
if (++local_transfers < 2048u) { entry_id = 0u; goto LOCAL_DISPATCH; }
|
|
ctx.pc = jump_target;
|
|
return;
|
|
L_0894EC08:
|
|
ctx.gpr[29] = (ctx.gpr[29] + static_cast<std::uint32_t>(-400));
|
|
ctx.gpr[5] = (aot_mem.aot_load8(ctx.gpr[4] + static_cast<std::uint32_t>(1336)));
|
|
aot_mem.aot_store32(ctx.gpr[29] + static_cast<std::uint32_t>(372), ctx.gpr[16]);
|
|
aot_mem.aot_store32(ctx.gpr[29] + static_cast<std::uint32_t>(376), ctx.gpr[17]);
|
|
aot_mem.aot_store32(ctx.gpr[29] + static_cast<std::uint32_t>(380), ctx.gpr[18]);
|
|
aot_mem.aot_store32(ctx.gpr[29] + static_cast<std::uint32_t>(384), ctx.gpr[19]);
|
|
aot_mem.aot_store32(ctx.gpr[29] + static_cast<std::uint32_t>(388), ctx.gpr[20]);
|
|
aot_mem.aot_store32(ctx.gpr[29] + static_cast<std::uint32_t>(392), ctx.gpr[31]);
|
|
{ const bool branch_taken = ctx.gpr[5] != 0u;
|
|
ctx.gpr[16] = (ctx.gpr[4] | 0u);
|
|
if (branch_taken) {
|
|
goto L_0894ED18;
|
|
}
|
|
goto L_0894EC30;
|
|
}
|
|
L_0894EC30:
|
|
ctx.gpr[31] = (0x0894EC38u);
|
|
ctx.gpr[4] = (ctx.gpr[16] | 0u);
|
|
if (rt.invoke_chained_direct<&recomp_unit_0102_entry, 102u, 351u, 0x0899E254u>(ctx, &aot_mem) && ctx.pc == 0x0894EC38u) goto L_0894EC38;
|
|
return;
|
|
L_0894EC38:
|
|
{ const bool branch_taken = ctx.gpr[2] == 0u;
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_0894ED18;
|
|
}
|
|
goto L_0894EC40;
|
|
}
|
|
L_0894EC40:
|
|
ctx.gpr[31] = (0x0894EC48u);
|
|
ctx.gpr[4] = (ctx.gpr[16] | 0u);
|
|
if (rt.invoke_chained_direct<&recomp_unit_0102_entry, 102u, 489u, 0x0899EC4Cu>(ctx, &aot_mem) && ctx.pc == 0x0894EC48u) goto L_0894EC48;
|
|
return;
|
|
L_0894EC48:
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast<std::uint32_t>(1972)));
|
|
{ const bool branch_taken = ctx.gpr[4] == 0u;
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_0894ED18;
|
|
}
|
|
goto L_0894EC54;
|
|
}
|
|
L_0894EC54:
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast<std::uint32_t>(1976)));
|
|
ctx.gpr[5] = (2230u << 16u);
|
|
ctx.gpr[5] = (aot_mem.aot_load32(ctx.gpr[5] + static_cast<std::uint32_t>(-8148)));
|
|
ctx.gpr[4] = (ctx.gpr[4] < ctx.gpr[5] ? 1u : 0u);
|
|
{ const bool branch_taken = ctx.gpr[4] == 0u;
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_0894ED18;
|
|
}
|
|
goto L_0894EC6C;
|
|
}
|
|
L_0894EC6C:
|
|
ctx.gpr[31] = (0x0894EC74u);
|
|
ctx.gpr[4] = (ctx.gpr[16] | 0u);
|
|
if (rt.invoke_chained_direct<&recomp_unit_0102_entry, 102u, 498u, 0x0899ECCCu>(ctx, &aot_mem) && ctx.pc == 0x0894EC74u) goto L_0894EC74;
|
|
return;
|
|
L_0894EC74:
|
|
aot_mem.aot_store32(ctx.gpr[16] + static_cast<std::uint32_t>(1972), 0u);
|
|
aot_mem.aot_store32(ctx.gpr[16] + static_cast<std::uint32_t>(1976), 0u);
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast<std::uint32_t>(640)));
|
|
{ const bool branch_taken = ctx.gpr[4] == 0u;
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_0894ED18;
|
|
}
|
|
goto L_0894EC88;
|
|
}
|
|
L_0894EC88:
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast<std::uint32_t>(640)));
|
|
ctx.gpr[5] = (0u | 3u);
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[4] + static_cast<std::uint32_t>(68)));
|
|
ctx.gpr[4] = (ctx.gpr[4] & 14u);
|
|
ctx.gpr[4] = (ctx.gpr[4] >> 1u);
|
|
{ const bool branch_taken = ctx.gpr[4] != ctx.gpr[5];
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_0894ED18;
|
|
}
|
|
goto L_0894ECA4;
|
|
}
|
|
L_0894ECA4:
|
|
ctx.gpr[17] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast<std::uint32_t>(640)));
|
|
ctx.gpr[31] = (0x0894ECB0u);
|
|
ctx.gpr[4] = (ctx.gpr[17] | 0u);
|
|
if (rt.invoke_chained_direct<&recomp_unit_0103_entry, 103u, 841u, 0x089A38A0u>(ctx, &aot_mem) && ctx.pc == 0x0894ECB0u) goto L_0894ECB0;
|
|
return;
|
|
L_0894ECB0:
|
|
{ const bool branch_taken = ctx.gpr[2] == 0u;
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_0894ED18;
|
|
}
|
|
goto L_0894ECB8;
|
|
}
|
|
L_0894ECB8:
|
|
ctx.gpr[4] = (static_cast<std::uint32_t>(static_cast<std::int32_t>(static_cast<std::int8_t>(aot_mem.aot_load8(ctx.gpr[17] + static_cast<std::uint32_t>(1720))))));
|
|
ctx.gpr[5] = (ctx.gpr[4] << 5u);
|
|
ctx.gpr[4] = (ctx.gpr[4] << 2u);
|
|
ctx.gpr[4] = (ctx.gpr[5] - ctx.gpr[4]);
|
|
ctx.gpr[4] = (ctx.gpr[17] + ctx.gpr[4]);
|
|
ctx.gpr[31] = (0x0894ECD4u);
|
|
ctx.gpr[4] = (ctx.gpr[4] + static_cast<std::uint32_t>(1428));
|
|
if (rt.invoke_chained_direct<&recomp_unit_0019_entry, 19u, 138u, 0x08850DACu>(ctx, &aot_mem) && ctx.pc == 0x0894ECD4u) goto L_0894ECD4;
|
|
return;
|
|
L_0894ECD4:
|
|
{ const bool branch_taken = ctx.gpr[2] == 0u;
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_0894ECF4;
|
|
}
|
|
goto L_0894ECDC;
|
|
}
|
|
L_0894ECDC:
|
|
ctx.gpr[6] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast<std::uint32_t>(640)));
|
|
ctx.gpr[4] = (ctx.gpr[16] | 0u);
|
|
ctx.gpr[31] = (0x0894ECECu);
|
|
ctx.gpr[5] = (0u | 8u);
|
|
if (rt.invoke_chained_direct<&recomp_unit_0035_entry, 35u, 927u, 0x08893114u>(ctx, &aot_mem) && ctx.pc == 0x0894ECECu) goto L_0894ECEC;
|
|
return;
|
|
L_0894ECEC:
|
|
{ const bool branch_taken = 0u == 0u;
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_0894ED10;
|
|
}
|
|
goto L_0894ECF4;
|
|
}
|
|
L_0894ECF4:
|
|
ctx.gpr[5] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast<std::uint32_t>(640)));
|
|
ctx.gpr[4] = (ctx.gpr[16] | 0u);
|
|
ctx.gpr[31] = (0x0894ED04u);
|
|
ctx.gpr[6] = (0u | 6000u);
|
|
if (rt.invoke_chained_direct<&recomp_unit_0103_entry, 103u, 385u, 0x089A1B10u>(ctx, &aot_mem) && ctx.pc == 0x0894ED04u) goto L_0894ED04;
|
|
return;
|
|
L_0894ED04:
|
|
ctx.gpr[4] = (ctx.gpr[16] | 0u);
|
|
ctx.gpr[31] = (0x0894ED10u);
|
|
ctx.gpr[5] = (0u | 120u);
|
|
if (rt.invoke_chained_direct<&recomp_unit_0044_entry, 44u, 499u, 0x088B6D24u>(ctx, &aot_mem) && ctx.pc == 0x0894ED10u) goto L_0894ED10;
|
|
return;
|
|
L_0894ED10:
|
|
{ const bool branch_taken = 0u == 0u;
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_0894FAD0;
|
|
}
|
|
goto L_0894ED18;
|
|
}
|
|
L_0894ED18:
|
|
ctx.gpr[4] = (aot_mem.aot_load8(ctx.gpr[16] + static_cast<std::uint32_t>(1336)));
|
|
{ const bool branch_taken = ctx.gpr[4] == 0u;
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_0894EF30;
|
|
}
|
|
goto L_0894ED24;
|
|
}
|
|
L_0894ED24:
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast<std::uint32_t>(1332)));
|
|
{ const bool branch_taken = ctx.gpr[4] == 0u;
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_0894EF30;
|
|
}
|
|
goto L_0894ED30;
|
|
}
|
|
L_0894ED30:
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast<std::uint32_t>(1332)));
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[4] + static_cast<std::uint32_t>(836)));
|
|
{ const bool branch_taken = ctx.gpr[4] != 0u;
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_0894EF30;
|
|
}
|
|
goto L_0894ED40;
|
|
}
|
|
L_0894ED40:
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast<std::uint32_t>(592)));
|
|
ctx.gpr[5] = (0u | 16u);
|
|
{ const bool branch_taken = ctx.gpr[4] == ctx.gpr[5];
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_0894EF30;
|
|
}
|
|
goto L_0894ED50;
|
|
}
|
|
L_0894ED50:
|
|
ctx.gpr[17] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast<std::uint32_t>(1332)));
|
|
ctx.gpr[4] = (2269u << 16u);
|
|
ctx.gpr[4] = (ctx.gpr[4] + static_cast<std::uint32_t>(16664));
|
|
ctx.gpr[5] = (ctx.gpr[17] + static_cast<std::uint32_t>(48));
|
|
{ const std::uint32_t vfpu_address = ctx.gpr[5] + static_cast<std::uint32_t>(0);
|
|
float vfpu_value[4]{
|
|
std::bit_cast<float>(aot_mem.aot_load32(vfpu_address + 0u)),
|
|
std::bit_cast<float>(aot_mem.aot_load32(vfpu_address + 4u)),
|
|
std::bit_cast<float>(aot_mem.aot_load32(vfpu_address + 8u)),
|
|
std::bit_cast<float>(aot_mem.aot_load32(vfpu_address + 12u))};
|
|
ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); }
|
|
ctx.gpr[5] = (ctx.gpr[29] + static_cast<std::uint32_t>(112));
|
|
{ float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value);
|
|
const std::uint32_t vfpu_address = ctx.gpr[5] + static_cast<std::uint32_t>(0);
|
|
aot_mem.aot_store32(vfpu_address + 0u, std::bit_cast<std::uint32_t>(vfpu_value[0]));
|
|
aot_mem.aot_store32(vfpu_address + 4u, std::bit_cast<std::uint32_t>(vfpu_value[1]));
|
|
aot_mem.aot_store32(vfpu_address + 8u, std::bit_cast<std::uint32_t>(vfpu_value[2]));
|
|
aot_mem.aot_store32(vfpu_address + 12u, std::bit_cast<std::uint32_t>(vfpu_value[3])); }
|
|
ctx.gpr[31] = (0x0894ED74u);
|
|
ctx.gpr[6] = (ctx.gpr[29] + static_cast<std::uint32_t>(64));
|
|
if (rt.invoke_chained_direct<&recomp_unit_0043_entry, 43u, 57u, 0x088B03A0u>(ctx, &aot_mem) && ctx.pc == 0x0894ED74u) goto L_0894ED74;
|
|
return;
|
|
L_0894ED74:
|
|
{ const bool branch_taken = ctx.gpr[2] == 0u;
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_0894EDF8;
|
|
}
|
|
goto L_0894ED7C;
|
|
}
|
|
L_0894ED7C:
|
|
ctx.fpr[12] = std::bit_cast<float>(aot_mem.aot_load32(ctx.gpr[29] + static_cast<std::uint32_t>(64)));
|
|
ctx.gpr[4] = (16840u << 16u);
|
|
ctx.fpr[13] = std::bit_cast<float>(ctx.gpr[4]);
|
|
ctx.set_fpu_condition((ctx.fpr[12] < ctx.fpr[13]));
|
|
// nop
|
|
{ const bool branch_taken = !ctx.fpu_condition();
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_0894EDF8;
|
|
}
|
|
goto L_0894ED98;
|
|
}
|
|
L_0894ED98:
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast<std::uint32_t>(1332)));
|
|
ctx.gpr[4] = (ctx.gpr[4] + static_cast<std::uint32_t>(112));
|
|
{ const std::uint32_t vfpu_address = ctx.gpr[4] + static_cast<std::uint32_t>(0);
|
|
float vfpu_value[4]{
|
|
std::bit_cast<float>(aot_mem.aot_load32(vfpu_address + 0u)),
|
|
std::bit_cast<float>(aot_mem.aot_load32(vfpu_address + 4u)),
|
|
std::bit_cast<float>(aot_mem.aot_load32(vfpu_address + 8u)),
|
|
std::bit_cast<float>(aot_mem.aot_load32(vfpu_address + 12u))};
|
|
ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); }
|
|
ctx.execute_vfpu_vdot_ct<28u, 0u, 0u, 3u>();
|
|
{ float vfpu_s[4]{}, vfpu_d[4]{};
|
|
ctx.read_vfpu_vector_with_source_prefix_ct<28u, 1u, 0u>(vfpu_s);
|
|
for (std::uint32_t i = 0; i < 1u; ++i) vfpu_d[i] = std::fabs(std::sqrt(vfpu_s[i]));
|
|
ctx.write_vfpu_vector_with_destination_prefix_ct<28u, 1u>(vfpu_d); }
|
|
ctx.gpr[4] = (ctx.vfpu_scalar_bits_ct<28u>());
|
|
ctx.fpr[12] = std::bit_cast<float>(ctx.gpr[4]);
|
|
ctx.gpr[4] = (15395u << 16u);
|
|
ctx.gpr[4] = (ctx.gpr[4] | 55050u);
|
|
ctx.fpr[13] = std::bit_cast<float>(ctx.gpr[4]);
|
|
ctx.set_fpu_condition((ctx.fpr[12] < ctx.fpr[13]));
|
|
// nop
|
|
{ const bool branch_taken = !ctx.fpu_condition();
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_0894EDF8;
|
|
}
|
|
goto L_0894EDD0;
|
|
}
|
|
L_0894EDD0:
|
|
aot_mem.aot_store8(ctx.gpr[17] + static_cast<std::uint32_t>(398), static_cast<std::uint8_t>(0u));
|
|
ctx.gpr[6] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast<std::uint32_t>(1332)));
|
|
ctx.gpr[4] = (ctx.gpr[16] | 0u);
|
|
ctx.gpr[31] = (0x0894EDE4u);
|
|
ctx.gpr[5] = (0u | 16u);
|
|
if (rt.invoke_chained_direct<&recomp_unit_0035_entry, 35u, 927u, 0x08893114u>(ctx, &aot_mem) && ctx.pc == 0x0894EDE4u) goto L_0894EDE4;
|
|
return;
|
|
L_0894EDE4:
|
|
ctx.gpr[4] = (ctx.gpr[16] | 0u);
|
|
ctx.gpr[31] = (0x0894EDF0u);
|
|
ctx.gpr[5] = (0u | 141u);
|
|
if (rt.invoke_chained_direct<&recomp_unit_0044_entry, 44u, 499u, 0x088B6D24u>(ctx, &aot_mem) && ctx.pc == 0x0894EDF0u) goto L_0894EDF0;
|
|
return;
|
|
L_0894EDF0:
|
|
{ const bool branch_taken = 0u == 0u;
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_0894EF30;
|
|
}
|
|
goto L_0894EDF8;
|
|
}
|
|
L_0894EDF8:
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast<std::uint32_t>(1332)));
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[4] + static_cast<std::uint32_t>(504)));
|
|
{ const bool branch_taken = ctx.gpr[4] != ctx.gpr[16];
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_0894EF30;
|
|
}
|
|
goto L_0894EE08;
|
|
}
|
|
L_0894EE08:
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast<std::uint32_t>(844)));
|
|
ctx.gpr[5] = (0u | 50u);
|
|
{ const bool branch_taken = ctx.gpr[4] != ctx.gpr[5];
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_0894EF30;
|
|
}
|
|
goto L_0894EE18;
|
|
}
|
|
L_0894EE18:
|
|
ctx.gpr[4] = (static_cast<std::uint32_t>(static_cast<std::int32_t>(static_cast<std::int8_t>(aot_mem.aot_load8(ctx.gpr[17] + static_cast<std::uint32_t>(398))))));
|
|
{ const bool branch_taken = ctx.gpr[4] != 0u;
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_0894EF30;
|
|
}
|
|
goto L_0894EE24;
|
|
}
|
|
L_0894EE24:
|
|
ctx.gpr[31] = (0x0894EE2Cu);
|
|
// nop
|
|
goto L_0894DB08;
|
|
L_0894EE2C:
|
|
ctx.gpr[4] = (ctx.gpr[2] & 65535u);
|
|
ctx.gpr[4] = (ctx.gpr[4] & 31u);
|
|
{ const bool branch_taken = ctx.gpr[4] != 0u;
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_0894EF30;
|
|
}
|
|
goto L_0894EE3C;
|
|
}
|
|
L_0894EE3C:
|
|
ctx.gpr[6] = (aot_mem.aot_load16(ctx.gpr[16] + static_cast<std::uint32_t>(1868)));
|
|
ctx.gpr[5] = (0u | 0u);
|
|
ctx.gpr[6] = (static_cast<std::int32_t>(ctx.gpr[5]) < static_cast<std::int32_t>(ctx.gpr[6]) ? 1u : 0u);
|
|
{ const bool branch_taken = ctx.gpr[6] == 0u;
|
|
ctx.gpr[4] = (0u | 0u);
|
|
if (branch_taken) {
|
|
goto L_0894EED8;
|
|
}
|
|
goto L_0894EE50;
|
|
}
|
|
L_0894EE50:
|
|
ctx.gpr[6] = (ctx.gpr[5] << 2u);
|
|
ctx.gpr[6] = (ctx.gpr[16] + ctx.gpr[6]);
|
|
ctx.gpr[6] = (aot_mem.aot_load32(ctx.gpr[6] + static_cast<std::uint32_t>(1828)));
|
|
ctx.gpr[7] = (0u | 16u);
|
|
ctx.gpr[6] = (aot_mem.aot_load32(ctx.gpr[6] + static_cast<std::uint32_t>(1376)));
|
|
{ const bool branch_taken = ctx.gpr[6] != ctx.gpr[7];
|
|
ctx.gpr[6] = (ctx.gpr[5] << 2u);
|
|
if (branch_taken) {
|
|
goto L_0894EEC4;
|
|
}
|
|
goto L_0894EE6C;
|
|
}
|
|
L_0894EE6C:
|
|
ctx.gpr[6] = (ctx.gpr[16] + ctx.gpr[6]);
|
|
ctx.gpr[6] = (aot_mem.aot_load32(ctx.gpr[6] + static_cast<std::uint32_t>(1828)));
|
|
ctx.gpr[7] = (0u | 24u);
|
|
ctx.gpr[6] = (aot_mem.aot_load32(ctx.gpr[6] + static_cast<std::uint32_t>(844)));
|
|
{ const bool branch_taken = ctx.gpr[6] == ctx.gpr[7];
|
|
ctx.gpr[6] = (ctx.gpr[5] << 2u);
|
|
if (branch_taken) {
|
|
goto L_0894EEA4;
|
|
}
|
|
goto L_0894EE84;
|
|
}
|
|
L_0894EE84:
|
|
ctx.gpr[6] = (ctx.gpr[5] << 2u);
|
|
ctx.gpr[6] = (ctx.gpr[16] + ctx.gpr[6]);
|
|
ctx.gpr[6] = (aot_mem.aot_load32(ctx.gpr[6] + static_cast<std::uint32_t>(1828)));
|
|
ctx.gpr[7] = (0u | 58u);
|
|
ctx.gpr[6] = (aot_mem.aot_load32(ctx.gpr[6] + static_cast<std::uint32_t>(844)));
|
|
{ const bool branch_taken = ctx.gpr[6] != ctx.gpr[7];
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_0894EEC4;
|
|
}
|
|
goto L_0894EEA0;
|
|
}
|
|
L_0894EEA0:
|
|
ctx.gpr[6] = (ctx.gpr[5] << 2u);
|
|
goto L_0894EEA4;
|
|
L_0894EEA4:
|
|
ctx.gpr[6] = (ctx.gpr[16] + ctx.gpr[6]);
|
|
ctx.gpr[6] = (aot_mem.aot_load32(ctx.gpr[6] + static_cast<std::uint32_t>(1828)));
|
|
ctx.gpr[7] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast<std::uint32_t>(1332)));
|
|
ctx.gpr[6] = (aot_mem.aot_load32(ctx.gpr[6] + static_cast<std::uint32_t>(1332)));
|
|
{ const bool branch_taken = ctx.gpr[6] != ctx.gpr[7];
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_0894EEC4;
|
|
}
|
|
goto L_0894EEBC;
|
|
}
|
|
L_0894EEBC:
|
|
{ const bool branch_taken = 0u == 0u;
|
|
ctx.gpr[4] = (0u | 1u);
|
|
if (branch_taken) {
|
|
goto L_0894EED8;
|
|
}
|
|
goto L_0894EEC4;
|
|
}
|
|
L_0894EEC4:
|
|
ctx.gpr[6] = (aot_mem.aot_load16(ctx.gpr[16] + static_cast<std::uint32_t>(1868)));
|
|
ctx.gpr[5] = (ctx.gpr[5] + static_cast<std::uint32_t>(1));
|
|
ctx.gpr[6] = (static_cast<std::int32_t>(ctx.gpr[5]) < static_cast<std::int32_t>(ctx.gpr[6]) ? 1u : 0u);
|
|
{ const bool branch_taken = ctx.gpr[6] != 0u;
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_0894EE50;
|
|
}
|
|
goto L_0894EED8;
|
|
}
|
|
L_0894EED8:
|
|
{ const bool branch_taken = ctx.gpr[4] != 0u;
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_0894EF30;
|
|
}
|
|
goto L_0894EEE0;
|
|
}
|
|
L_0894EEE0:
|
|
ctx.gpr[31] = (0x0894EEE8u);
|
|
ctx.gpr[4] = (ctx.gpr[17] | 0u);
|
|
if (rt.invoke_chained_direct<&recomp_unit_0122_entry, 122u, 219u, 0x089ED5CCu>(ctx, &aot_mem) && ctx.pc == 0x0894EEE8u) goto L_0894EEE8;
|
|
return;
|
|
L_0894EEE8:
|
|
ctx.gpr[4] = (0u | 1u);
|
|
aot_mem.aot_store8(ctx.gpr[17] + static_cast<std::uint32_t>(398), static_cast<std::uint8_t>(ctx.gpr[4]));
|
|
aot_mem.aot_store8(ctx.gpr[17] + static_cast<std::uint32_t>(685), static_cast<std::uint8_t>(0u));
|
|
ctx.gpr[5] = (0u | 12u);
|
|
aot_mem.aot_store8(ctx.gpr[17] + static_cast<std::uint32_t>(408), static_cast<std::uint8_t>(ctx.gpr[5]));
|
|
ctx.gpr[5] = (static_cast<std::uint32_t>(static_cast<std::int32_t>(static_cast<std::int8_t>(aot_mem.aot_load8(ctx.gpr[17] + static_cast<std::uint32_t>(597))))));
|
|
aot_mem.aot_store8(ctx.gpr[17] + static_cast<std::uint32_t>(397), static_cast<std::uint8_t>(ctx.gpr[4]));
|
|
ctx.gpr[4] = (ctx.gpr[5] & 2u);
|
|
{ const bool branch_taken = ctx.gpr[4] == 0u;
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_0894EF30;
|
|
}
|
|
goto L_0894EF10;
|
|
}
|
|
L_0894EF10:
|
|
ctx.gpr[4] = (static_cast<std::uint32_t>(static_cast<std::int32_t>(static_cast<std::int8_t>(aot_mem.aot_load8(ctx.gpr[17] + static_cast<std::uint32_t>(597))))));
|
|
ctx.gpr[5] = (0u + static_cast<std::uint32_t>(-3));
|
|
ctx.gpr[4] = (ctx.gpr[4] & ctx.gpr[5]);
|
|
aot_mem.aot_store8(ctx.gpr[17] + static_cast<std::uint32_t>(597), static_cast<std::uint8_t>(ctx.gpr[4]));
|
|
ctx.gpr[4] = (2229u << 16u);
|
|
ctx.gpr[5] = (aot_mem.aot_load32(ctx.gpr[4] + static_cast<std::uint32_t>(-17436)));
|
|
ctx.gpr[5] = (ctx.gpr[5] + static_cast<std::uint32_t>(-1));
|
|
aot_mem.aot_store32(ctx.gpr[4] + static_cast<std::uint32_t>(-17436), ctx.gpr[5]);
|
|
goto L_0894EF30;
|
|
L_0894EF30:
|
|
ctx.gpr[31] = (0x0894EF38u);
|
|
ctx.gpr[4] = (ctx.gpr[16] | 0u);
|
|
if (rt.invoke_chained_direct<&recomp_unit_0102_entry, 102u, 351u, 0x0899E254u>(ctx, &aot_mem) && ctx.pc == 0x0894EF38u) goto L_0894EF38;
|
|
return;
|
|
L_0894EF38:
|
|
{ const bool branch_taken = ctx.gpr[2] == 0u;
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_0894FAD0;
|
|
}
|
|
goto L_0894EF40;
|
|
}
|
|
L_0894EF40:
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast<std::uint32_t>(2068)));
|
|
ctx.gpr[5] = (static_cast<std::int32_t>(ctx.gpr[4]) < 65 ? 1u : 0u);
|
|
{ const bool branch_taken = ctx.gpr[5] == 0u;
|
|
ctx.gpr[5] = (static_cast<std::int32_t>(ctx.gpr[4]) < 129 ? 1u : 0u);
|
|
if (branch_taken) {
|
|
goto L_0894EF9C;
|
|
}
|
|
goto L_0894EF50;
|
|
}
|
|
L_0894EF50:
|
|
ctx.gpr[5] = (static_cast<std::int32_t>(ctx.gpr[4]) < 33 ? 1u : 0u);
|
|
if (ctx.gpr[5] == 0u) {
|
|
ctx.gpr[4] = (static_cast<std::int32_t>(ctx.gpr[4]) < 64 ? 1u : 0u);
|
|
goto L_0894EF7C;
|
|
}
|
|
goto L_0894EF5C;
|
|
L_0894EF5C:
|
|
{ const bool branch_taken = static_cast<std::int32_t>(ctx.gpr[4]) < 0;
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_0894FAD0;
|
|
}
|
|
goto L_0894EF64;
|
|
}
|
|
L_0894EF64:
|
|
ctx.gpr[4] = (ctx.gpr[4] << 2u);
|
|
ctx.gpr[1] = (2225u << 16u);
|
|
ctx.gpr[1] = (ctx.gpr[1] + ctx.gpr[4]);
|
|
ctx.gpr[1] = (aot_mem.aot_load32(ctx.gpr[1] + static_cast<std::uint32_t>(31968)));
|
|
jump_target = ctx.gpr[1];
|
|
// nop
|
|
local_pc = jump_target;
|
|
if (++local_transfers < 2048u) { entry_id = 0u; goto LOCAL_DISPATCH; }
|
|
ctx.pc = jump_target;
|
|
return;
|
|
L_0894EF7C:
|
|
{ const bool branch_taken = ctx.gpr[4] != 0u;
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_0894FAD0;
|
|
}
|
|
goto L_0894EF84;
|
|
}
|
|
L_0894EF84:
|
|
ctx.gpr[4] = (0u | 256u);
|
|
ctx.gpr[5] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast<std::uint32_t>(408)));
|
|
aot_mem.aot_store32(ctx.gpr[16] + static_cast<std::uint32_t>(2068), ctx.gpr[4]);
|
|
ctx.gpr[4] = (ctx.gpr[5] | 16u);
|
|
{ const bool branch_taken = 0u == 0u;
|
|
aot_mem.aot_store32(ctx.gpr[16] + static_cast<std::uint32_t>(408), ctx.gpr[4]);
|
|
if (branch_taken) {
|
|
goto L_0894FAD0;
|
|
}
|
|
goto L_0894EF9C;
|
|
}
|
|
L_0894EF9C:
|
|
{ const bool branch_taken = ctx.gpr[5] == 0u;
|
|
ctx.gpr[5] = (0u | 256u);
|
|
if (branch_taken) {
|
|
goto L_0894EFB8;
|
|
}
|
|
goto L_0894EFA4;
|
|
}
|
|
L_0894EFA4:
|
|
ctx.gpr[4] = (static_cast<std::int32_t>(ctx.gpr[4]) < 128 ? 1u : 0u);
|
|
{ const bool branch_taken = ctx.gpr[4] != 0u;
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_0894FAD0;
|
|
}
|
|
goto L_0894EFB0;
|
|
}
|
|
L_0894EFB0:
|
|
{ const bool branch_taken = 0u == 0u;
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_0894F990;
|
|
}
|
|
goto L_0894EFB8;
|
|
}
|
|
L_0894EFB8:
|
|
{ const bool branch_taken = ctx.gpr[4] == ctx.gpr[5];
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_0894FA18;
|
|
}
|
|
goto L_0894EFC0;
|
|
}
|
|
L_0894EFC0:
|
|
{ const bool branch_taken = 0u == 0u;
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_0894FAD0;
|
|
}
|
|
goto L_0894EFC8;
|
|
}
|
|
L_0894EFC8:
|
|
ctx.gpr[4] = (2269u << 16u);
|
|
ctx.gpr[4] = (ctx.gpr[4] + static_cast<std::uint32_t>(16664));
|
|
ctx.gpr[5] = (ctx.gpr[16] + static_cast<std::uint32_t>(48));
|
|
{ const std::uint32_t vfpu_address = ctx.gpr[5] + static_cast<std::uint32_t>(0);
|
|
float vfpu_value[4]{
|
|
std::bit_cast<float>(aot_mem.aot_load32(vfpu_address + 0u)),
|
|
std::bit_cast<float>(aot_mem.aot_load32(vfpu_address + 4u)),
|
|
std::bit_cast<float>(aot_mem.aot_load32(vfpu_address + 8u)),
|
|
std::bit_cast<float>(aot_mem.aot_load32(vfpu_address + 12u))};
|
|
ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); }
|
|
ctx.gpr[5] = (ctx.gpr[29] + static_cast<std::uint32_t>(128));
|
|
{ float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value);
|
|
const std::uint32_t vfpu_address = ctx.gpr[5] + static_cast<std::uint32_t>(0);
|
|
aot_mem.aot_store32(vfpu_address + 0u, std::bit_cast<std::uint32_t>(vfpu_value[0]));
|
|
aot_mem.aot_store32(vfpu_address + 4u, std::bit_cast<std::uint32_t>(vfpu_value[1]));
|
|
aot_mem.aot_store32(vfpu_address + 8u, std::bit_cast<std::uint32_t>(vfpu_value[2]));
|
|
aot_mem.aot_store32(vfpu_address + 12u, std::bit_cast<std::uint32_t>(vfpu_value[3])); }
|
|
ctx.gpr[31] = (0x0894EFE8u);
|
|
ctx.gpr[6] = (ctx.gpr[29] + static_cast<std::uint32_t>(64));
|
|
if (rt.invoke_chained_direct<&recomp_unit_0043_entry, 43u, 57u, 0x088B03A0u>(ctx, &aot_mem) && ctx.pc == 0x0894EFE8u) goto L_0894EFE8;
|
|
return;
|
|
L_0894EFE8:
|
|
ctx.gpr[17] = (ctx.gpr[2] | 0u);
|
|
aot_mem.aot_store32(ctx.gpr[16] + static_cast<std::uint32_t>(2084), 0u);
|
|
{ const bool branch_taken = ctx.gpr[17] == 0u;
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_0894F0CC;
|
|
}
|
|
goto L_0894EFF8;
|
|
}
|
|
L_0894EFF8:
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[17] + static_cast<std::uint32_t>(0)));
|
|
aot_mem.aot_store32(ctx.gpr[16] + static_cast<std::uint32_t>(2064), ctx.gpr[4]);
|
|
ctx.gpr[31] = (0x0894F008u);
|
|
ctx.gpr[5] = (ctx.gpr[16] + static_cast<std::uint32_t>(2064));
|
|
if (rt.invoke_chained_direct<&recomp_unit_0013_entry, 13u, 689u, 0x0883B8A4u>(ctx, &aot_mem) && ctx.pc == 0x0894F008u) goto L_0894F008;
|
|
return;
|
|
L_0894F008:
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast<std::uint32_t>(2064)));
|
|
ctx.gpr[4] = (ctx.gpr[4] + static_cast<std::uint32_t>(784));
|
|
ctx.gpr[18] = (ctx.gpr[29] + static_cast<std::uint32_t>(80));
|
|
ctx.gpr[19] = (0u | 1u);
|
|
ctx.gpr[5] = (ctx.gpr[18] | 0u);
|
|
ctx.gpr[31] = (0x0894F024u);
|
|
ctx.gpr[6] = (0u | 1u);
|
|
if (rt.invoke_chained_direct<&recomp_unit_0169_entry, 169u, 42u, 0x08AA83C4u>(ctx, &aot_mem) && ctx.pc == 0x0894F024u) goto L_0894F024;
|
|
return;
|
|
L_0894F024:
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast<std::uint32_t>(2064)));
|
|
ctx.gpr[4] = (ctx.gpr[4] + static_cast<std::uint32_t>(784));
|
|
ctx.gpr[20] = (ctx.gpr[29] + static_cast<std::uint32_t>(96));
|
|
ctx.gpr[5] = (ctx.gpr[20] | 0u);
|
|
ctx.gpr[31] = (0x0894F03Cu);
|
|
ctx.gpr[6] = (0u | 2u);
|
|
if (rt.invoke_chained_direct<&recomp_unit_0169_entry, 169u, 42u, 0x08AA83C4u>(ctx, &aot_mem) && ctx.pc == 0x0894F03Cu) goto L_0894F03C;
|
|
return;
|
|
L_0894F03C:
|
|
{ const std::uint32_t vfpu_address = ctx.gpr[20] + static_cast<std::uint32_t>(0);
|
|
float vfpu_value[4]{
|
|
std::bit_cast<float>(aot_mem.aot_load32(vfpu_address + 0u)),
|
|
std::bit_cast<float>(aot_mem.aot_load32(vfpu_address + 4u)),
|
|
std::bit_cast<float>(aot_mem.aot_load32(vfpu_address + 8u)),
|
|
std::bit_cast<float>(aot_mem.aot_load32(vfpu_address + 12u))};
|
|
ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); }
|
|
{ const std::uint32_t vfpu_address = ctx.gpr[18] + static_cast<std::uint32_t>(0);
|
|
float vfpu_value[4]{
|
|
std::bit_cast<float>(aot_mem.aot_load32(vfpu_address + 0u)),
|
|
std::bit_cast<float>(aot_mem.aot_load32(vfpu_address + 4u)),
|
|
std::bit_cast<float>(aot_mem.aot_load32(vfpu_address + 8u)),
|
|
std::bit_cast<float>(aot_mem.aot_load32(vfpu_address + 12u))};
|
|
ctx.write_vfpu_vector_ct<1u, 4u>(vfpu_value); }
|
|
{ float vfpu_s[4]{}, vfpu_t[4]{}, vfpu_d[4]{};
|
|
ctx.read_vfpu_vector_with_source_prefix_ct<0u, 3u, 0u>(vfpu_s);
|
|
ctx.read_vfpu_vector_with_source_prefix_ct<1u, 3u, 1u>(vfpu_t);
|
|
for (std::uint32_t i = 0; i < 3u; ++i) vfpu_d[i] = vfpu_s[i] + vfpu_t[i];
|
|
ctx.write_vfpu_vector_with_destination_prefix_ct<0u, 3u>(vfpu_d); }
|
|
ctx.gpr[6] = (ctx.gpr[29] + static_cast<std::uint32_t>(192));
|
|
{ float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value);
|
|
const std::uint32_t vfpu_address = ctx.gpr[6] + static_cast<std::uint32_t>(0);
|
|
aot_mem.aot_store32(vfpu_address + 0u, std::bit_cast<std::uint32_t>(vfpu_value[0]));
|
|
aot_mem.aot_store32(vfpu_address + 4u, std::bit_cast<std::uint32_t>(vfpu_value[1]));
|
|
aot_mem.aot_store32(vfpu_address + 8u, std::bit_cast<std::uint32_t>(vfpu_value[2]));
|
|
aot_mem.aot_store32(vfpu_address + 12u, std::bit_cast<std::uint32_t>(vfpu_value[3])); }
|
|
ctx.gpr[4] = (16384u << 16u);
|
|
ctx.fpr[12] = std::bit_cast<float>(ctx.gpr[4]);
|
|
ctx.gpr[4] = (std::bit_cast<std::uint32_t>(ctx.fpr[12]));
|
|
ctx.set_vfpu_scalar_bits_ct<28u>(ctx.gpr[4]);
|
|
{ float vfpu_s[4]{}, vfpu_d[4]{};
|
|
ctx.read_vfpu_vector_with_source_prefix_ct<28u, 1u, 0u>(vfpu_s);
|
|
for (std::uint32_t i = 0; i < 1u; ++i) vfpu_d[i] = 1.0f / vfpu_s[i];
|
|
ctx.write_vfpu_vector_with_destination_prefix_ct<28u, 1u>(vfpu_d); }
|
|
{ const std::uint32_t vfpu_address = ctx.gpr[6] + static_cast<std::uint32_t>(0);
|
|
float vfpu_value[4]{
|
|
std::bit_cast<float>(aot_mem.aot_load32(vfpu_address + 0u)),
|
|
std::bit_cast<float>(aot_mem.aot_load32(vfpu_address + 4u)),
|
|
std::bit_cast<float>(aot_mem.aot_load32(vfpu_address + 8u)),
|
|
std::bit_cast<float>(aot_mem.aot_load32(vfpu_address + 12u))};
|
|
ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); }
|
|
ctx.execute_vfpu_vscl_ct<0u, 0u, 28u, 3u>();
|
|
ctx.gpr[4] = (ctx.gpr[29] + static_cast<std::uint32_t>(176));
|
|
{ float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value);
|
|
const std::uint32_t vfpu_address = ctx.gpr[4] + static_cast<std::uint32_t>(0);
|
|
aot_mem.aot_store32(vfpu_address + 0u, std::bit_cast<std::uint32_t>(vfpu_value[0]));
|
|
aot_mem.aot_store32(vfpu_address + 4u, std::bit_cast<std::uint32_t>(vfpu_value[1]));
|
|
aot_mem.aot_store32(vfpu_address + 8u, std::bit_cast<std::uint32_t>(vfpu_value[2]));
|
|
aot_mem.aot_store32(vfpu_address + 12u, std::bit_cast<std::uint32_t>(vfpu_value[3])); }
|
|
{ const std::uint32_t vfpu_address = ctx.gpr[4] + static_cast<std::uint32_t>(0);
|
|
float vfpu_value[4]{
|
|
std::bit_cast<float>(aot_mem.aot_load32(vfpu_address + 0u)),
|
|
std::bit_cast<float>(aot_mem.aot_load32(vfpu_address + 4u)),
|
|
std::bit_cast<float>(aot_mem.aot_load32(vfpu_address + 8u)),
|
|
std::bit_cast<float>(aot_mem.aot_load32(vfpu_address + 12u))};
|
|
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);
|
|
aot_mem.aot_store32(vfpu_address + 0u, std::bit_cast<std::uint32_t>(vfpu_value[0]));
|
|
aot_mem.aot_store32(vfpu_address + 4u, std::bit_cast<std::uint32_t>(vfpu_value[1]));
|
|
aot_mem.aot_store32(vfpu_address + 8u, std::bit_cast<std::uint32_t>(vfpu_value[2]));
|
|
aot_mem.aot_store32(vfpu_address + 12u, std::bit_cast<std::uint32_t>(vfpu_value[3])); }
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast<std::uint32_t>(2064)));
|
|
ctx.gpr[4] = (ctx.gpr[4] + static_cast<std::uint32_t>(48));
|
|
{ const std::uint32_t vfpu_address = ctx.gpr[4] + static_cast<std::uint32_t>(0);
|
|
float vfpu_value[4]{
|
|
std::bit_cast<float>(aot_mem.aot_load32(vfpu_address + 0u)),
|
|
std::bit_cast<float>(aot_mem.aot_load32(vfpu_address + 4u)),
|
|
std::bit_cast<float>(aot_mem.aot_load32(vfpu_address + 8u)),
|
|
std::bit_cast<float>(aot_mem.aot_load32(vfpu_address + 12u))};
|
|
ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); }
|
|
ctx.gpr[4] = (ctx.gpr[29] + static_cast<std::uint32_t>(48));
|
|
{ float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value);
|
|
const std::uint32_t vfpu_address = ctx.gpr[4] + static_cast<std::uint32_t>(0);
|
|
aot_mem.aot_store32(vfpu_address + 0u, std::bit_cast<std::uint32_t>(vfpu_value[0]));
|
|
aot_mem.aot_store32(vfpu_address + 4u, std::bit_cast<std::uint32_t>(vfpu_value[1]));
|
|
aot_mem.aot_store32(vfpu_address + 8u, std::bit_cast<std::uint32_t>(vfpu_value[2]));
|
|
aot_mem.aot_store32(vfpu_address + 12u, std::bit_cast<std::uint32_t>(vfpu_value[3])); }
|
|
{ const std::uint32_t vfpu_address = ctx.gpr[18] + static_cast<std::uint32_t>(0);
|
|
float vfpu_value[4]{
|
|
std::bit_cast<float>(aot_mem.aot_load32(vfpu_address + 0u)),
|
|
std::bit_cast<float>(aot_mem.aot_load32(vfpu_address + 4u)),
|
|
std::bit_cast<float>(aot_mem.aot_load32(vfpu_address + 8u)),
|
|
std::bit_cast<float>(aot_mem.aot_load32(vfpu_address + 12u))};
|
|
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[6] + static_cast<std::uint32_t>(0);
|
|
aot_mem.aot_store32(vfpu_address + 0u, std::bit_cast<std::uint32_t>(vfpu_value[0]));
|
|
aot_mem.aot_store32(vfpu_address + 4u, std::bit_cast<std::uint32_t>(vfpu_value[1]));
|
|
aot_mem.aot_store32(vfpu_address + 8u, std::bit_cast<std::uint32_t>(vfpu_value[2]));
|
|
aot_mem.aot_store32(vfpu_address + 12u, std::bit_cast<std::uint32_t>(vfpu_value[3])); }
|
|
ctx.gpr[4] = (ctx.gpr[16] | 0u);
|
|
ctx.gpr[31] = (0x0894F0A4u);
|
|
ctx.gpr[5] = (0u | 24u);
|
|
if (rt.invoke_chained_direct<&recomp_unit_0035_entry, 35u, 1049u, 0x08893758u>(ctx, &aot_mem) && ctx.pc == 0x0894F0A4u) goto L_0894F0A4;
|
|
return;
|
|
L_0894F0A4:
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast<std::uint32_t>(404)));
|
|
ctx.gpr[4] = (ctx.gpr[4] | 8192u);
|
|
aot_mem.aot_store32(ctx.gpr[16] + static_cast<std::uint32_t>(404), ctx.gpr[4]);
|
|
aot_mem.aot_store32(ctx.gpr[16] + static_cast<std::uint32_t>(2068), ctx.gpr[19]);
|
|
aot_mem.aot_store32(ctx.gpr[16] + static_cast<std::uint32_t>(2072), ctx.gpr[17]);
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[17] + static_cast<std::uint32_t>(4)));
|
|
ctx.gpr[4] = (ctx.gpr[4] + static_cast<std::uint32_t>(1));
|
|
aot_mem.aot_store32(ctx.gpr[17] + static_cast<std::uint32_t>(4), ctx.gpr[4]);
|
|
{ const bool branch_taken = 0u == 0u;
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_0894F20C;
|
|
}
|
|
goto L_0894F0CC;
|
|
}
|
|
L_0894F0CC:
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast<std::uint32_t>(1332)));
|
|
{ const bool branch_taken = ctx.gpr[4] == 0u;
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_0894F1C8;
|
|
}
|
|
goto L_0894F0D8;
|
|
}
|
|
L_0894F0D8:
|
|
ctx.gpr[4] = (aot_mem.aot_load8(ctx.gpr[16] + static_cast<std::uint32_t>(1336)));
|
|
{ const bool branch_taken = ctx.gpr[4] != 0u;
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_0894F20C;
|
|
}
|
|
goto L_0894F0E4;
|
|
}
|
|
L_0894F0E4:
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast<std::uint32_t>(592)));
|
|
ctx.gpr[5] = (0u | 18u);
|
|
{ const bool branch_taken = ctx.gpr[4] == ctx.gpr[5];
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_0894F12C;
|
|
}
|
|
goto L_0894F0F4;
|
|
}
|
|
L_0894F0F4:
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast<std::uint32_t>(1332)));
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[4] + static_cast<std::uint32_t>(504)));
|
|
{ const bool branch_taken = ctx.gpr[4] != 0u;
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_0894F12C;
|
|
}
|
|
goto L_0894F104;
|
|
}
|
|
L_0894F104:
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast<std::uint32_t>(1332)));
|
|
ctx.gpr[4] = (aot_mem.aot_load8(ctx.gpr[4] + static_cast<std::uint32_t>(542)));
|
|
{ const bool branch_taken = ctx.gpr[4] != 0u;
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_0894F12C;
|
|
}
|
|
goto L_0894F114;
|
|
}
|
|
L_0894F114:
|
|
ctx.gpr[6] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast<std::uint32_t>(1332)));
|
|
ctx.gpr[4] = (ctx.gpr[16] | 0u);
|
|
ctx.gpr[31] = (0x0894F124u);
|
|
ctx.gpr[5] = (0u | 18u);
|
|
if (rt.invoke_chained_direct<&recomp_unit_0035_entry, 35u, 927u, 0x08893114u>(ctx, &aot_mem) && ctx.pc == 0x0894F124u) goto L_0894F124;
|
|
return;
|
|
L_0894F124:
|
|
{ const bool branch_taken = 0u == 0u;
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_0894F20C;
|
|
}
|
|
goto L_0894F12C;
|
|
}
|
|
L_0894F12C:
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast<std::uint32_t>(1332)));
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[4] + static_cast<std::uint32_t>(504)));
|
|
{ const bool branch_taken = ctx.gpr[4] == 0u;
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_0894F180;
|
|
}
|
|
goto L_0894F13C;
|
|
}
|
|
L_0894F13C:
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast<std::uint32_t>(1332)));
|
|
ctx.gpr[5] = (0u | 16u);
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[4] + static_cast<std::uint32_t>(504)));
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[4] + static_cast<std::uint32_t>(1376)));
|
|
{ const bool branch_taken = ctx.gpr[4] == ctx.gpr[5];
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_0894F180;
|
|
}
|
|
goto L_0894F154;
|
|
}
|
|
L_0894F154:
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast<std::uint32_t>(592)));
|
|
ctx.gpr[5] = (0u | 8u);
|
|
{ const bool branch_taken = ctx.gpr[4] == ctx.gpr[5];
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_0894F180;
|
|
}
|
|
goto L_0894F164;
|
|
}
|
|
L_0894F164:
|
|
ctx.gpr[5] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast<std::uint32_t>(1332)));
|
|
ctx.gpr[4] = (ctx.gpr[16] | 0u);
|
|
ctx.gpr[6] = (aot_mem.aot_load32(ctx.gpr[5] + static_cast<std::uint32_t>(504)));
|
|
ctx.gpr[31] = (0x0894F178u);
|
|
ctx.gpr[5] = (0u | 8u);
|
|
if (rt.invoke_chained_direct<&recomp_unit_0035_entry, 35u, 927u, 0x08893114u>(ctx, &aot_mem) && ctx.pc == 0x0894F178u) goto L_0894F178;
|
|
return;
|
|
L_0894F178:
|
|
{ const bool branch_taken = 0u == 0u;
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_0894F20C;
|
|
}
|
|
goto L_0894F180;
|
|
}
|
|
L_0894F180:
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast<std::uint32_t>(592)));
|
|
ctx.gpr[5] = (0u | 18u);
|
|
{ const bool branch_taken = ctx.gpr[4] == ctx.gpr[5];
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_0894F20C;
|
|
}
|
|
goto L_0894F190;
|
|
}
|
|
L_0894F190:
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast<std::uint32_t>(592)));
|
|
ctx.gpr[5] = (0u | 17u);
|
|
{ const bool branch_taken = ctx.gpr[4] == ctx.gpr[5];
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_0894F20C;
|
|
}
|
|
goto L_0894F1A0;
|
|
}
|
|
L_0894F1A0:
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast<std::uint32_t>(592)));
|
|
ctx.gpr[5] = (0u | 8u);
|
|
{ const bool branch_taken = ctx.gpr[4] == ctx.gpr[5];
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_0894F20C;
|
|
}
|
|
goto L_0894F1B0;
|
|
}
|
|
L_0894F1B0:
|
|
ctx.gpr[6] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast<std::uint32_t>(1332)));
|
|
ctx.gpr[4] = (ctx.gpr[16] | 0u);
|
|
ctx.gpr[31] = (0x0894F1C0u);
|
|
ctx.gpr[5] = (0u | 17u);
|
|
if (rt.invoke_chained_direct<&recomp_unit_0035_entry, 35u, 927u, 0x08893114u>(ctx, &aot_mem) && ctx.pc == 0x0894F1C0u) goto L_0894F1C0;
|
|
return;
|
|
L_0894F1C0:
|
|
{ const bool branch_taken = 0u == 0u;
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_0894F20C;
|
|
}
|
|
goto L_0894F1C8;
|
|
}
|
|
L_0894F1C8:
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast<std::uint32_t>(844)));
|
|
ctx.gpr[5] = (0u | 5u);
|
|
{ const bool branch_taken = ctx.gpr[4] == ctx.gpr[5];
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_0894F20C;
|
|
}
|
|
goto L_0894F1D8;
|
|
}
|
|
L_0894F1D8:
|
|
ctx.gpr[31] = (0x0894F1E0u);
|
|
// nop
|
|
goto L_0894DB08;
|
|
L_0894F1E0:
|
|
ctx.gpr[4] = (ctx.gpr[2] & 65535u);
|
|
if (static_cast<std::int32_t>(ctx.gpr[4]) >= 0) {
|
|
ctx.gpr[4] = (ctx.gpr[4] & 7u);
|
|
goto L_0894F1FC;
|
|
}
|
|
goto L_0894F1EC;
|
|
L_0894F1EC:
|
|
ctx.gpr[4] = (0u - ctx.gpr[4]);
|
|
ctx.gpr[4] = (ctx.gpr[4] & 7u);
|
|
{ const bool branch_taken = 0u == 0u;
|
|
ctx.gpr[4] = (0u - ctx.gpr[4]);
|
|
if (branch_taken) {
|
|
goto L_0894F1FC;
|
|
}
|
|
goto L_0894F1FC;
|
|
}
|
|
L_0894F1FC:
|
|
ctx.gpr[5] = (ctx.gpr[4] << 24u);
|
|
ctx.gpr[5] = (static_cast<std::uint32_t>(static_cast<std::int32_t>(ctx.gpr[5]) >> 24u));
|
|
ctx.gpr[31] = (0x0894F20Cu);
|
|
ctx.gpr[4] = (ctx.gpr[16] | 0u);
|
|
if (rt.invoke_chained_direct<&recomp_unit_0103_entry, 103u, 278u, 0x089A1468u>(ctx, &aot_mem) && ctx.pc == 0x0894F20Cu) goto L_0894F20C;
|
|
return;
|
|
L_0894F20C:
|
|
{ const bool branch_taken = 0u == 0u;
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_0894FAD0;
|
|
}
|
|
goto L_0894F214;
|
|
}
|
|
L_0894F214:
|
|
ctx.gpr[4] = (2269u << 16u);
|
|
ctx.gpr[4] = (ctx.gpr[4] + static_cast<std::uint32_t>(16664));
|
|
ctx.gpr[5] = (ctx.gpr[16] + static_cast<std::uint32_t>(48));
|
|
{ const std::uint32_t vfpu_address = ctx.gpr[5] + static_cast<std::uint32_t>(0);
|
|
float vfpu_value[4]{
|
|
std::bit_cast<float>(aot_mem.aot_load32(vfpu_address + 0u)),
|
|
std::bit_cast<float>(aot_mem.aot_load32(vfpu_address + 4u)),
|
|
std::bit_cast<float>(aot_mem.aot_load32(vfpu_address + 8u)),
|
|
std::bit_cast<float>(aot_mem.aot_load32(vfpu_address + 12u))};
|
|
ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); }
|
|
ctx.gpr[5] = (ctx.gpr[29] + static_cast<std::uint32_t>(128));
|
|
{ float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value);
|
|
const std::uint32_t vfpu_address = ctx.gpr[5] + static_cast<std::uint32_t>(0);
|
|
aot_mem.aot_store32(vfpu_address + 0u, std::bit_cast<std::uint32_t>(vfpu_value[0]));
|
|
aot_mem.aot_store32(vfpu_address + 4u, std::bit_cast<std::uint32_t>(vfpu_value[1]));
|
|
aot_mem.aot_store32(vfpu_address + 8u, std::bit_cast<std::uint32_t>(vfpu_value[2]));
|
|
aot_mem.aot_store32(vfpu_address + 12u, std::bit_cast<std::uint32_t>(vfpu_value[3])); }
|
|
ctx.gpr[31] = (0x0894F234u);
|
|
ctx.gpr[6] = (ctx.gpr[29] + static_cast<std::uint32_t>(64));
|
|
if (rt.invoke_chained_direct<&recomp_unit_0043_entry, 43u, 57u, 0x088B03A0u>(ctx, &aot_mem) && ctx.pc == 0x0894F234u) goto L_0894F234;
|
|
return;
|
|
L_0894F234:
|
|
ctx.gpr[17] = (ctx.gpr[2] | 0u);
|
|
{ const bool branch_taken = ctx.gpr[17] == 0u;
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_0894F344;
|
|
}
|
|
goto L_0894F240;
|
|
}
|
|
L_0894F240:
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast<std::uint32_t>(2072)));
|
|
{ const bool branch_taken = ctx.gpr[17] != ctx.gpr[4];
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_0894F25C;
|
|
}
|
|
goto L_0894F24C;
|
|
}
|
|
L_0894F24C:
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast<std::uint32_t>(844)));
|
|
ctx.gpr[5] = (0u | 6u);
|
|
{ const bool branch_taken = ctx.gpr[4] == ctx.gpr[5];
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_0894F35C;
|
|
}
|
|
goto L_0894F25C;
|
|
}
|
|
L_0894F25C:
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[17] + static_cast<std::uint32_t>(0)));
|
|
ctx.gpr[5] = (ctx.gpr[16] + static_cast<std::uint32_t>(2064));
|
|
ctx.gpr[31] = (0x0894F26Cu);
|
|
aot_mem.aot_store32(ctx.gpr[16] + static_cast<std::uint32_t>(2064), ctx.gpr[4]);
|
|
if (rt.invoke_chained_direct<&recomp_unit_0013_entry, 13u, 689u, 0x0883B8A4u>(ctx, &aot_mem) && ctx.pc == 0x0894F26Cu) goto L_0894F26C;
|
|
return;
|
|
L_0894F26C:
|
|
ctx.gpr[5] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast<std::uint32_t>(2064)));
|
|
ctx.gpr[31] = (0x0894F278u);
|
|
ctx.gpr[4] = (ctx.gpr[16] | 0u);
|
|
goto L_0894E9B4;
|
|
L_0894F278:
|
|
{ const bool branch_taken = ctx.gpr[2] != 0u;
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_0894F28C;
|
|
}
|
|
goto L_0894F280;
|
|
}
|
|
L_0894F280:
|
|
ctx.gpr[4] = (0u | 256u);
|
|
{ const bool branch_taken = 0u == 0u;
|
|
aot_mem.aot_store32(ctx.gpr[16] + static_cast<std::uint32_t>(2068), ctx.gpr[4]);
|
|
if (branch_taken) {
|
|
goto L_0894FAD0;
|
|
}
|
|
goto L_0894F28C;
|
|
}
|
|
L_0894F28C:
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast<std::uint32_t>(2064)));
|
|
ctx.gpr[4] = (ctx.gpr[4] + static_cast<std::uint32_t>(784));
|
|
ctx.gpr[18] = (ctx.gpr[29] + static_cast<std::uint32_t>(80));
|
|
ctx.gpr[5] = (ctx.gpr[18] | 0u);
|
|
ctx.gpr[31] = (0x0894F2A4u);
|
|
ctx.gpr[6] = (0u | 1u);
|
|
if (rt.invoke_chained_direct<&recomp_unit_0169_entry, 169u, 42u, 0x08AA83C4u>(ctx, &aot_mem) && ctx.pc == 0x0894F2A4u) goto L_0894F2A4;
|
|
return;
|
|
L_0894F2A4:
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast<std::uint32_t>(2064)));
|
|
ctx.gpr[4] = (ctx.gpr[4] + static_cast<std::uint32_t>(784));
|
|
ctx.gpr[19] = (ctx.gpr[29] + static_cast<std::uint32_t>(96));
|
|
ctx.gpr[5] = (ctx.gpr[19] | 0u);
|
|
ctx.gpr[31] = (0x0894F2BCu);
|
|
ctx.gpr[6] = (0u | 2u);
|
|
if (rt.invoke_chained_direct<&recomp_unit_0169_entry, 169u, 42u, 0x08AA83C4u>(ctx, &aot_mem) && ctx.pc == 0x0894F2BCu) goto L_0894F2BC;
|
|
return;
|
|
L_0894F2BC:
|
|
{ const std::uint32_t vfpu_address = ctx.gpr[19] + static_cast<std::uint32_t>(0);
|
|
float vfpu_value[4]{
|
|
std::bit_cast<float>(aot_mem.aot_load32(vfpu_address + 0u)),
|
|
std::bit_cast<float>(aot_mem.aot_load32(vfpu_address + 4u)),
|
|
std::bit_cast<float>(aot_mem.aot_load32(vfpu_address + 8u)),
|
|
std::bit_cast<float>(aot_mem.aot_load32(vfpu_address + 12u))};
|
|
ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); }
|
|
{ const std::uint32_t vfpu_address = ctx.gpr[18] + static_cast<std::uint32_t>(0);
|
|
float vfpu_value[4]{
|
|
std::bit_cast<float>(aot_mem.aot_load32(vfpu_address + 0u)),
|
|
std::bit_cast<float>(aot_mem.aot_load32(vfpu_address + 4u)),
|
|
std::bit_cast<float>(aot_mem.aot_load32(vfpu_address + 8u)),
|
|
std::bit_cast<float>(aot_mem.aot_load32(vfpu_address + 12u))};
|
|
ctx.write_vfpu_vector_ct<1u, 4u>(vfpu_value); }
|
|
{ float vfpu_s[4]{}, vfpu_t[4]{}, vfpu_d[4]{};
|
|
ctx.read_vfpu_vector_with_source_prefix_ct<0u, 3u, 0u>(vfpu_s);
|
|
ctx.read_vfpu_vector_with_source_prefix_ct<1u, 3u, 1u>(vfpu_t);
|
|
for (std::uint32_t i = 0; i < 3u; ++i) vfpu_d[i] = vfpu_s[i] + vfpu_t[i];
|
|
ctx.write_vfpu_vector_with_destination_prefix_ct<0u, 3u>(vfpu_d); }
|
|
ctx.gpr[6] = (ctx.gpr[29] + static_cast<std::uint32_t>(224));
|
|
{ float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value);
|
|
const std::uint32_t vfpu_address = ctx.gpr[6] + static_cast<std::uint32_t>(0);
|
|
aot_mem.aot_store32(vfpu_address + 0u, std::bit_cast<std::uint32_t>(vfpu_value[0]));
|
|
aot_mem.aot_store32(vfpu_address + 4u, std::bit_cast<std::uint32_t>(vfpu_value[1]));
|
|
aot_mem.aot_store32(vfpu_address + 8u, std::bit_cast<std::uint32_t>(vfpu_value[2]));
|
|
aot_mem.aot_store32(vfpu_address + 12u, std::bit_cast<std::uint32_t>(vfpu_value[3])); }
|
|
ctx.gpr[4] = (16384u << 16u);
|
|
ctx.fpr[12] = std::bit_cast<float>(ctx.gpr[4]);
|
|
ctx.gpr[4] = (std::bit_cast<std::uint32_t>(ctx.fpr[12]));
|
|
ctx.set_vfpu_scalar_bits_ct<28u>(ctx.gpr[4]);
|
|
{ float vfpu_s[4]{}, vfpu_d[4]{};
|
|
ctx.read_vfpu_vector_with_source_prefix_ct<28u, 1u, 0u>(vfpu_s);
|
|
for (std::uint32_t i = 0; i < 1u; ++i) vfpu_d[i] = 1.0f / vfpu_s[i];
|
|
ctx.write_vfpu_vector_with_destination_prefix_ct<28u, 1u>(vfpu_d); }
|
|
{ const std::uint32_t vfpu_address = ctx.gpr[6] + static_cast<std::uint32_t>(0);
|
|
float vfpu_value[4]{
|
|
std::bit_cast<float>(aot_mem.aot_load32(vfpu_address + 0u)),
|
|
std::bit_cast<float>(aot_mem.aot_load32(vfpu_address + 4u)),
|
|
std::bit_cast<float>(aot_mem.aot_load32(vfpu_address + 8u)),
|
|
std::bit_cast<float>(aot_mem.aot_load32(vfpu_address + 12u))};
|
|
ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); }
|
|
ctx.execute_vfpu_vscl_ct<0u, 0u, 28u, 3u>();
|
|
ctx.gpr[4] = (ctx.gpr[29] + static_cast<std::uint32_t>(208));
|
|
{ float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value);
|
|
const std::uint32_t vfpu_address = ctx.gpr[4] + static_cast<std::uint32_t>(0);
|
|
aot_mem.aot_store32(vfpu_address + 0u, std::bit_cast<std::uint32_t>(vfpu_value[0]));
|
|
aot_mem.aot_store32(vfpu_address + 4u, std::bit_cast<std::uint32_t>(vfpu_value[1]));
|
|
aot_mem.aot_store32(vfpu_address + 8u, std::bit_cast<std::uint32_t>(vfpu_value[2]));
|
|
aot_mem.aot_store32(vfpu_address + 12u, std::bit_cast<std::uint32_t>(vfpu_value[3])); }
|
|
{ const std::uint32_t vfpu_address = ctx.gpr[4] + static_cast<std::uint32_t>(0);
|
|
float vfpu_value[4]{
|
|
std::bit_cast<float>(aot_mem.aot_load32(vfpu_address + 0u)),
|
|
std::bit_cast<float>(aot_mem.aot_load32(vfpu_address + 4u)),
|
|
std::bit_cast<float>(aot_mem.aot_load32(vfpu_address + 8u)),
|
|
std::bit_cast<float>(aot_mem.aot_load32(vfpu_address + 12u))};
|
|
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);
|
|
aot_mem.aot_store32(vfpu_address + 0u, std::bit_cast<std::uint32_t>(vfpu_value[0]));
|
|
aot_mem.aot_store32(vfpu_address + 4u, std::bit_cast<std::uint32_t>(vfpu_value[1]));
|
|
aot_mem.aot_store32(vfpu_address + 8u, std::bit_cast<std::uint32_t>(vfpu_value[2]));
|
|
aot_mem.aot_store32(vfpu_address + 12u, std::bit_cast<std::uint32_t>(vfpu_value[3])); }
|
|
{ const std::uint32_t vfpu_address = ctx.gpr[18] + static_cast<std::uint32_t>(0);
|
|
float vfpu_value[4]{
|
|
std::bit_cast<float>(aot_mem.aot_load32(vfpu_address + 0u)),
|
|
std::bit_cast<float>(aot_mem.aot_load32(vfpu_address + 4u)),
|
|
std::bit_cast<float>(aot_mem.aot_load32(vfpu_address + 8u)),
|
|
std::bit_cast<float>(aot_mem.aot_load32(vfpu_address + 12u))};
|
|
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[6] + static_cast<std::uint32_t>(0);
|
|
aot_mem.aot_store32(vfpu_address + 0u, std::bit_cast<std::uint32_t>(vfpu_value[0]));
|
|
aot_mem.aot_store32(vfpu_address + 4u, std::bit_cast<std::uint32_t>(vfpu_value[1]));
|
|
aot_mem.aot_store32(vfpu_address + 8u, std::bit_cast<std::uint32_t>(vfpu_value[2]));
|
|
aot_mem.aot_store32(vfpu_address + 12u, std::bit_cast<std::uint32_t>(vfpu_value[3])); }
|
|
ctx.gpr[4] = (ctx.gpr[16] | 0u);
|
|
ctx.gpr[31] = (0x0894F310u);
|
|
ctx.gpr[5] = (0u | 24u);
|
|
if (rt.invoke_chained_direct<&recomp_unit_0035_entry, 35u, 1049u, 0x08893758u>(ctx, &aot_mem) && ctx.pc == 0x0894F310u) goto L_0894F310;
|
|
return;
|
|
L_0894F310:
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast<std::uint32_t>(404)));
|
|
ctx.gpr[4] = (ctx.gpr[4] | 8192u);
|
|
aot_mem.aot_store32(ctx.gpr[16] + static_cast<std::uint32_t>(404), ctx.gpr[4]);
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast<std::uint32_t>(2072)));
|
|
ctx.gpr[5] = (aot_mem.aot_load32(ctx.gpr[4] + static_cast<std::uint32_t>(4)));
|
|
ctx.gpr[5] = (ctx.gpr[5] + static_cast<std::uint32_t>(-1));
|
|
aot_mem.aot_store32(ctx.gpr[4] + static_cast<std::uint32_t>(4), ctx.gpr[5]);
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[17] + static_cast<std::uint32_t>(4)));
|
|
ctx.gpr[4] = (ctx.gpr[4] + static_cast<std::uint32_t>(1));
|
|
aot_mem.aot_store32(ctx.gpr[17] + static_cast<std::uint32_t>(4), ctx.gpr[4]);
|
|
aot_mem.aot_store32(ctx.gpr[16] + static_cast<std::uint32_t>(2072), ctx.gpr[17]);
|
|
{ const bool branch_taken = 0u == 0u;
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_0894F35C;
|
|
}
|
|
goto L_0894F344;
|
|
}
|
|
L_0894F344:
|
|
ctx.gpr[4] = (0u | 256u);
|
|
ctx.gpr[5] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast<std::uint32_t>(404)));
|
|
aot_mem.aot_store32(ctx.gpr[16] + static_cast<std::uint32_t>(2068), ctx.gpr[4]);
|
|
ctx.gpr[4] = (0u + static_cast<std::uint32_t>(-8193));
|
|
ctx.gpr[4] = (ctx.gpr[5] & ctx.gpr[4]);
|
|
aot_mem.aot_store32(ctx.gpr[16] + static_cast<std::uint32_t>(404), ctx.gpr[4]);
|
|
goto L_0894F35C;
|
|
L_0894F35C:
|
|
ctx.fpr[12] = std::bit_cast<float>(aot_mem.aot_load32(ctx.gpr[29] + static_cast<std::uint32_t>(64)));
|
|
ctx.gpr[4] = (16544u << 16u);
|
|
ctx.fpr[13] = std::bit_cast<float>(ctx.gpr[4]);
|
|
ctx.set_fpu_condition((ctx.fpr[12] < ctx.fpr[13]));
|
|
// nop
|
|
{ const bool branch_taken = !ctx.fpu_condition();
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_0894F434;
|
|
}
|
|
goto L_0894F378;
|
|
}
|
|
L_0894F378:
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast<std::uint32_t>(2064)));
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[4] + static_cast<std::uint32_t>(1756)));
|
|
{ const bool branch_taken = ctx.gpr[4] == 0u;
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_0894F3AC;
|
|
}
|
|
goto L_0894F388;
|
|
}
|
|
L_0894F388:
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast<std::uint32_t>(404)));
|
|
ctx.gpr[5] = (0u + static_cast<std::uint32_t>(-8193));
|
|
ctx.gpr[4] = (ctx.gpr[4] & ctx.gpr[5]);
|
|
aot_mem.aot_store32(ctx.gpr[16] + static_cast<std::uint32_t>(404), ctx.gpr[4]);
|
|
ctx.gpr[4] = (ctx.gpr[16] | 0u);
|
|
ctx.gpr[31] = (0x0894F3A4u);
|
|
ctx.gpr[5] = (0u | 1u);
|
|
if (rt.invoke_chained_direct<&recomp_unit_0103_entry, 103u, 546u, 0x089A2520u>(ctx, &aot_mem) && ctx.pc == 0x0894F3A4u) goto L_0894F3A4;
|
|
return;
|
|
L_0894F3A4:
|
|
{ const bool branch_taken = 0u == 0u;
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_0894F434;
|
|
}
|
|
goto L_0894F3AC;
|
|
}
|
|
L_0894F3AC:
|
|
ctx.fpr[12] = std::bit_cast<float>(aot_mem.aot_load32(ctx.gpr[29] + static_cast<std::uint32_t>(64)));
|
|
ctx.gpr[4] = (16528u << 16u);
|
|
ctx.fpr[13] = std::bit_cast<float>(ctx.gpr[4]);
|
|
ctx.set_fpu_condition((ctx.fpr[12] < ctx.fpr[13]));
|
|
// nop
|
|
{ const bool branch_taken = !ctx.fpu_condition();
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_0894F434;
|
|
}
|
|
goto L_0894F3C8;
|
|
}
|
|
L_0894F3C8:
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast<std::uint32_t>(404)));
|
|
ctx.gpr[5] = (0u + static_cast<std::uint32_t>(-8193));
|
|
ctx.gpr[4] = (ctx.gpr[4] & ctx.gpr[5]);
|
|
aot_mem.aot_store32(ctx.gpr[16] + static_cast<std::uint32_t>(404), ctx.gpr[4]);
|
|
ctx.gpr[4] = (ctx.gpr[16] | 0u);
|
|
ctx.gpr[31] = (0x0894F3E4u);
|
|
ctx.gpr[5] = (0u | 2u);
|
|
if (rt.invoke_chained_direct<&recomp_unit_0103_entry, 103u, 546u, 0x089A2520u>(ctx, &aot_mem) && ctx.pc == 0x0894F3E4u) goto L_0894F3E4;
|
|
return;
|
|
L_0894F3E4:
|
|
ctx.fpr[12] = std::bit_cast<float>(aot_mem.aot_load32(ctx.gpr[29] + static_cast<std::uint32_t>(64)));
|
|
ctx.gpr[4] = (16256u << 16u);
|
|
ctx.fpr[13] = std::bit_cast<float>(ctx.gpr[4]);
|
|
ctx.set_fpu_condition((ctx.fpr[12] < ctx.fpr[13]));
|
|
// nop
|
|
{ const bool branch_taken = ctx.fpu_condition();
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_0894F42C;
|
|
}
|
|
goto L_0894F400;
|
|
}
|
|
L_0894F400:
|
|
ctx.fpr[12] = std::bit_cast<float>(aot_mem.aot_load32(ctx.gpr[29] + static_cast<std::uint32_t>(64)));
|
|
ctx.gpr[4] = (16528u << 16u);
|
|
ctx.fpr[13] = std::bit_cast<float>(ctx.gpr[4]);
|
|
ctx.set_fpu_condition((ctx.fpr[12] < ctx.fpr[13]));
|
|
// nop
|
|
{ const bool branch_taken = !ctx.fpu_condition();
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_0894F434;
|
|
}
|
|
goto L_0894F41C;
|
|
}
|
|
L_0894F41C:
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast<std::uint32_t>(2072)));
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[4] + static_cast<std::uint32_t>(8)));
|
|
{ const bool branch_taken = ctx.gpr[4] == 0u;
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_0894F434;
|
|
}
|
|
goto L_0894F42C;
|
|
}
|
|
L_0894F42C:
|
|
ctx.gpr[4] = (0u | 2u);
|
|
aot_mem.aot_store32(ctx.gpr[16] + static_cast<std::uint32_t>(2068), ctx.gpr[4]);
|
|
goto L_0894F434;
|
|
L_0894F434:
|
|
{ const bool branch_taken = 0u == 0u;
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_0894FAD0;
|
|
}
|
|
goto L_0894F43C;
|
|
}
|
|
L_0894F43C:
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast<std::uint32_t>(2064)));
|
|
{ const bool branch_taken = ctx.gpr[4] == 0u;
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_0894F47C;
|
|
}
|
|
goto L_0894F448;
|
|
}
|
|
L_0894F448:
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast<std::uint32_t>(2064)));
|
|
ctx.fpr[12] = std::bit_cast<float>(0u);
|
|
ctx.fpr[13] = std::bit_cast<float>(aot_mem.aot_load32(ctx.gpr[4] + static_cast<std::uint32_t>(1208)));
|
|
ctx.set_fpu_condition((ctx.fpr[13] <= ctx.fpr[12]));
|
|
// nop
|
|
{ const bool branch_taken = !ctx.fpu_condition();
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_0894F47C;
|
|
}
|
|
goto L_0894F464;
|
|
}
|
|
L_0894F464:
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast<std::uint32_t>(2064)));
|
|
ctx.gpr[5] = (128u << 16u);
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[4] + static_cast<std::uint32_t>(408)));
|
|
ctx.gpr[4] = (ctx.gpr[4] & ctx.gpr[5]);
|
|
{ const bool branch_taken = ctx.gpr[4] == 0u;
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_0894F488;
|
|
}
|
|
goto L_0894F47C;
|
|
}
|
|
L_0894F47C:
|
|
ctx.gpr[4] = (0u | 1u);
|
|
{ const bool branch_taken = 0u == 0u;
|
|
aot_mem.aot_store32(ctx.gpr[16] + static_cast<std::uint32_t>(2068), ctx.gpr[4]);
|
|
if (branch_taken) {
|
|
goto L_0894FAD0;
|
|
}
|
|
goto L_0894F488;
|
|
}
|
|
L_0894F488:
|
|
ctx.gpr[5] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast<std::uint32_t>(2064)));
|
|
ctx.gpr[4] = (2230u << 16u);
|
|
ctx.gpr[6] = (aot_mem.aot_load32(ctx.gpr[4] + static_cast<std::uint32_t>(-8148)));
|
|
ctx.gpr[4] = (ctx.gpr[16] | 0u);
|
|
aot_mem.aot_store32(ctx.gpr[5] + static_cast<std::uint32_t>(1812), ctx.gpr[6]);
|
|
ctx.gpr[31] = (0x0894F4A4u);
|
|
ctx.gpr[5] = (0u | 1u);
|
|
if (rt.invoke_chained_direct<&recomp_unit_0103_entry, 103u, 546u, 0x089A2520u>(ctx, &aot_mem) && ctx.pc == 0x0894F4A4u) goto L_0894F4A4;
|
|
return;
|
|
L_0894F4A4:
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast<std::uint32_t>(844)));
|
|
ctx.gpr[5] = (0u | 11u);
|
|
{ const bool branch_taken = ctx.gpr[4] != ctx.gpr[5];
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_0894F4E4;
|
|
}
|
|
goto L_0894F4B4;
|
|
}
|
|
L_0894F4B4:
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast<std::uint32_t>(912)));
|
|
{ const bool branch_taken = ctx.gpr[4] == 0u;
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_0894F4DC;
|
|
}
|
|
goto L_0894F4C0;
|
|
}
|
|
L_0894F4C0:
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast<std::uint32_t>(912)));
|
|
if (ctx.gpr[4] == 0u) {
|
|
aot_mem.aot_store32(ctx.gpr[16] + static_cast<std::uint32_t>(912), 0u);
|
|
goto L_0894F4DC;
|
|
}
|
|
goto L_0894F4CC;
|
|
L_0894F4CC:
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast<std::uint32_t>(912)));
|
|
ctx.gpr[31] = (0x0894F4D8u);
|
|
ctx.gpr[5] = (ctx.gpr[16] + static_cast<std::uint32_t>(912));
|
|
if (rt.invoke_chained_direct<&recomp_unit_0013_entry, 13u, 700u, 0x0883B934u>(ctx, &aot_mem) && ctx.pc == 0x0894F4D8u) goto L_0894F4D8;
|
|
return;
|
|
L_0894F4D8:
|
|
aot_mem.aot_store32(ctx.gpr[16] + static_cast<std::uint32_t>(912), 0u);
|
|
goto L_0894F4DC;
|
|
L_0894F4DC:
|
|
ctx.gpr[31] = (0x0894F4E4u);
|
|
ctx.gpr[4] = (ctx.gpr[16] | 0u);
|
|
if (rt.invoke_chained_direct<&recomp_unit_0103_entry, 103u, 412u, 0x089A1D00u>(ctx, &aot_mem) && ctx.pc == 0x0894F4E4u) goto L_0894F4E4;
|
|
return;
|
|
L_0894F4E4:
|
|
ctx.gpr[4] = (0u | 27u);
|
|
aot_mem.aot_store32(ctx.gpr[16] + static_cast<std::uint32_t>(844), ctx.gpr[4]);
|
|
ctx.gpr[5] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast<std::uint32_t>(2064)));
|
|
aot_mem.aot_store32(ctx.gpr[16] + static_cast<std::uint32_t>(848), ctx.gpr[4]);
|
|
ctx.gpr[4] = (ctx.gpr[16] | 0u);
|
|
ctx.gpr[6] = (0u | 0u);
|
|
ctx.gpr[31] = (0x0894F504u);
|
|
ctx.gpr[7] = (0u | 0u);
|
|
if (rt.invoke_chained_direct<&recomp_unit_0103_entry, 103u, 85u, 0x089A064Cu>(ctx, &aot_mem) && ctx.pc == 0x0894F504u) goto L_0894F504;
|
|
return;
|
|
L_0894F504:
|
|
ctx.gpr[4] = (ctx.gpr[16] | 0u);
|
|
ctx.gpr[31] = (0x0894F510u);
|
|
ctx.gpr[5] = (0u | 500u);
|
|
if (rt.invoke_chained_direct<&recomp_unit_0102_entry, 102u, 798u, 0x0899FF9Cu>(ctx, &aot_mem) && ctx.pc == 0x0894F510u) goto L_0894F510;
|
|
return;
|
|
L_0894F510:
|
|
ctx.gpr[4] = (ctx.gpr[16] | 0u);
|
|
ctx.gpr[31] = (0x0894F51Cu);
|
|
ctx.gpr[5] = (0u | 140u);
|
|
if (rt.invoke_chained_direct<&recomp_unit_0044_entry, 44u, 499u, 0x088B6D24u>(ctx, &aot_mem) && ctx.pc == 0x0894F51Cu) goto L_0894F51C;
|
|
return;
|
|
L_0894F51C:
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast<std::uint32_t>(2072)));
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[4] + static_cast<std::uint32_t>(8)));
|
|
{ const bool branch_taken = ctx.gpr[4] == 0u;
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_0894F550;
|
|
}
|
|
goto L_0894F52C;
|
|
}
|
|
L_0894F52C:
|
|
ctx.gpr[31] = (0x0894F534u);
|
|
ctx.gpr[4] = (ctx.gpr[16] | 0u);
|
|
if (rt.invoke_chained_direct<&recomp_unit_0102_entry, 102u, 759u, 0x0899FD54u>(ctx, &aot_mem) && ctx.pc == 0x0894F534u) goto L_0894F534;
|
|
return;
|
|
L_0894F534:
|
|
ctx.gpr[4] = (0u | 128u);
|
|
aot_mem.aot_store32(ctx.gpr[16] + static_cast<std::uint32_t>(2068), ctx.gpr[4]);
|
|
ctx.gpr[4] = (ctx.gpr[16] | 0u);
|
|
ctx.gpr[31] = (0x0894F548u);
|
|
ctx.gpr[5] = (0u | 2000u);
|
|
if (rt.invoke_chained_direct<&recomp_unit_0102_entry, 102u, 798u, 0x0899FF9Cu>(ctx, &aot_mem) && ctx.pc == 0x0894F548u) goto L_0894F548;
|
|
return;
|
|
L_0894F548:
|
|
{ const bool branch_taken = 0u == 0u;
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_0894F590;
|
|
}
|
|
goto L_0894F550;
|
|
}
|
|
L_0894F550:
|
|
ctx.gpr[4] = (0u | 16u);
|
|
ctx.gpr[5] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast<std::uint32_t>(80)));
|
|
aot_mem.aot_store32(ctx.gpr[16] + static_cast<std::uint32_t>(2068), ctx.gpr[4]);
|
|
ctx.gpr[4] = (ctx.gpr[5] | 0u);
|
|
ctx.gpr[7] = (16512u << 16u);
|
|
ctx.gpr[5] = (0u | 25u);
|
|
ctx.fpr[12] = std::bit_cast<float>(ctx.gpr[7]);
|
|
ctx.gpr[31] = (0x0894F574u);
|
|
ctx.gpr[6] = (0u | 210u);
|
|
if (rt.invoke_chained_direct<&recomp_unit_0161_entry, 161u, 506u, 0x08A8B038u>(ctx, &aot_mem) && ctx.pc == 0x0894F574u) goto L_0894F574;
|
|
return;
|
|
L_0894F574:
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast<std::uint32_t>(408)));
|
|
aot_mem.aot_store32(ctx.gpr[16] + static_cast<std::uint32_t>(748), ctx.gpr[2]);
|
|
ctx.gpr[4] = (ctx.gpr[4] | 16u);
|
|
aot_mem.aot_store32(ctx.gpr[16] + static_cast<std::uint32_t>(408), ctx.gpr[4]);
|
|
ctx.gpr[4] = (ctx.gpr[16] | 0u);
|
|
ctx.gpr[31] = (0x0894F590u);
|
|
ctx.gpr[5] = (0u | 2000u);
|
|
if (rt.invoke_chained_direct<&recomp_unit_0102_entry, 102u, 798u, 0x0899FF9Cu>(ctx, &aot_mem) && ctx.pc == 0x0894F590u) goto L_0894F590;
|
|
return;
|
|
L_0894F590:
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast<std::uint32_t>(2072)));
|
|
ctx.gpr[5] = (0u | 1u);
|
|
ctx.gpr[6] = (aot_mem.aot_load32(ctx.gpr[4] + static_cast<std::uint32_t>(8)));
|
|
ctx.gpr[6] = (ctx.gpr[6] + static_cast<std::uint32_t>(1));
|
|
aot_mem.aot_store32(ctx.gpr[4] + static_cast<std::uint32_t>(8), ctx.gpr[6]);
|
|
{ const bool branch_taken = 0u == 0u;
|
|
aot_mem.aot_store8(ctx.gpr[16] + static_cast<std::uint32_t>(2080), static_cast<std::uint8_t>(ctx.gpr[5]));
|
|
if (branch_taken) {
|
|
goto L_0894FAD0;
|
|
}
|
|
goto L_0894F5AC;
|
|
}
|
|
L_0894F5AC:
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast<std::uint32_t>(2064)));
|
|
{ const bool branch_taken = ctx.gpr[4] == 0u;
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_0894F5D4;
|
|
}
|
|
goto L_0894F5B8;
|
|
}
|
|
L_0894F5B8:
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast<std::uint32_t>(2064)));
|
|
ctx.fpr[12] = std::bit_cast<float>(0u);
|
|
ctx.fpr[13] = std::bit_cast<float>(aot_mem.aot_load32(ctx.gpr[4] + static_cast<std::uint32_t>(1208)));
|
|
ctx.set_fpu_condition((ctx.fpr[13] <= ctx.fpr[12]));
|
|
// nop
|
|
{ const bool branch_taken = ctx.fpu_condition();
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_0894F5E0;
|
|
}
|
|
goto L_0894F5D4;
|
|
}
|
|
L_0894F5D4:
|
|
ctx.gpr[4] = (0u | 1u);
|
|
{ const bool branch_taken = 0u == 0u;
|
|
aot_mem.aot_store32(ctx.gpr[16] + static_cast<std::uint32_t>(2068), ctx.gpr[4]);
|
|
if (branch_taken) {
|
|
goto L_0894FAD0;
|
|
}
|
|
goto L_0894F5E0;
|
|
}
|
|
L_0894F5E0:
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast<std::uint32_t>(2064)));
|
|
ctx.gpr[4] = (ctx.gpr[4] + static_cast<std::uint32_t>(784));
|
|
ctx.gpr[17] = (ctx.gpr[29] + static_cast<std::uint32_t>(80));
|
|
ctx.gpr[5] = (ctx.gpr[17] | 0u);
|
|
ctx.gpr[31] = (0x0894F5F8u);
|
|
ctx.gpr[6] = (0u | 1u);
|
|
if (rt.invoke_chained_direct<&recomp_unit_0169_entry, 169u, 42u, 0x08AA83C4u>(ctx, &aot_mem) && ctx.pc == 0x0894F5F8u) goto L_0894F5F8;
|
|
return;
|
|
L_0894F5F8:
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast<std::uint32_t>(2064)));
|
|
ctx.gpr[4] = (ctx.gpr[4] + static_cast<std::uint32_t>(784));
|
|
ctx.gpr[18] = (ctx.gpr[29] + static_cast<std::uint32_t>(96));
|
|
ctx.gpr[5] = (ctx.gpr[18] | 0u);
|
|
ctx.gpr[31] = (0x0894F610u);
|
|
ctx.gpr[6] = (0u | 2u);
|
|
if (rt.invoke_chained_direct<&recomp_unit_0169_entry, 169u, 42u, 0x08AA83C4u>(ctx, &aot_mem) && ctx.pc == 0x0894F610u) goto L_0894F610;
|
|
return;
|
|
L_0894F610:
|
|
{ const std::uint32_t vfpu_address = ctx.gpr[18] + static_cast<std::uint32_t>(0);
|
|
float vfpu_value[4]{
|
|
std::bit_cast<float>(aot_mem.aot_load32(vfpu_address + 0u)),
|
|
std::bit_cast<float>(aot_mem.aot_load32(vfpu_address + 4u)),
|
|
std::bit_cast<float>(aot_mem.aot_load32(vfpu_address + 8u)),
|
|
std::bit_cast<float>(aot_mem.aot_load32(vfpu_address + 12u))};
|
|
ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); }
|
|
{ const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast<std::uint32_t>(0);
|
|
float vfpu_value[4]{
|
|
std::bit_cast<float>(aot_mem.aot_load32(vfpu_address + 0u)),
|
|
std::bit_cast<float>(aot_mem.aot_load32(vfpu_address + 4u)),
|
|
std::bit_cast<float>(aot_mem.aot_load32(vfpu_address + 8u)),
|
|
std::bit_cast<float>(aot_mem.aot_load32(vfpu_address + 12u))};
|
|
ctx.write_vfpu_vector_ct<1u, 4u>(vfpu_value); }
|
|
{ float vfpu_s[4]{}, vfpu_t[4]{}, vfpu_d[4]{};
|
|
ctx.read_vfpu_vector_with_source_prefix_ct<0u, 3u, 0u>(vfpu_s);
|
|
ctx.read_vfpu_vector_with_source_prefix_ct<1u, 3u, 1u>(vfpu_t);
|
|
for (std::uint32_t i = 0; i < 3u; ++i) vfpu_d[i] = vfpu_s[i] + vfpu_t[i];
|
|
ctx.write_vfpu_vector_with_destination_prefix_ct<0u, 3u>(vfpu_d); }
|
|
ctx.gpr[4] = (ctx.gpr[29] + static_cast<std::uint32_t>(144));
|
|
{ float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value);
|
|
const std::uint32_t vfpu_address = ctx.gpr[4] + static_cast<std::uint32_t>(0);
|
|
aot_mem.aot_store32(vfpu_address + 0u, std::bit_cast<std::uint32_t>(vfpu_value[0]));
|
|
aot_mem.aot_store32(vfpu_address + 4u, std::bit_cast<std::uint32_t>(vfpu_value[1]));
|
|
aot_mem.aot_store32(vfpu_address + 8u, std::bit_cast<std::uint32_t>(vfpu_value[2]));
|
|
aot_mem.aot_store32(vfpu_address + 12u, std::bit_cast<std::uint32_t>(vfpu_value[3])); }
|
|
ctx.gpr[5] = (16384u << 16u);
|
|
ctx.fpr[12] = std::bit_cast<float>(ctx.gpr[5]);
|
|
ctx.gpr[5] = (std::bit_cast<std::uint32_t>(ctx.fpr[12]));
|
|
ctx.set_vfpu_scalar_bits_ct<28u>(ctx.gpr[5]);
|
|
{ float vfpu_s[4]{}, vfpu_d[4]{};
|
|
ctx.read_vfpu_vector_with_source_prefix_ct<28u, 1u, 0u>(vfpu_s);
|
|
for (std::uint32_t i = 0; i < 1u; ++i) vfpu_d[i] = 1.0f / vfpu_s[i];
|
|
ctx.write_vfpu_vector_with_destination_prefix_ct<28u, 1u>(vfpu_d); }
|
|
{ const std::uint32_t vfpu_address = ctx.gpr[4] + static_cast<std::uint32_t>(0);
|
|
float vfpu_value[4]{
|
|
std::bit_cast<float>(aot_mem.aot_load32(vfpu_address + 0u)),
|
|
std::bit_cast<float>(aot_mem.aot_load32(vfpu_address + 4u)),
|
|
std::bit_cast<float>(aot_mem.aot_load32(vfpu_address + 8u)),
|
|
std::bit_cast<float>(aot_mem.aot_load32(vfpu_address + 12u))};
|
|
ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); }
|
|
ctx.execute_vfpu_vscl_ct<0u, 0u, 28u, 3u>();
|
|
ctx.gpr[4] = (ctx.gpr[29] + static_cast<std::uint32_t>(128));
|
|
{ float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value);
|
|
const std::uint32_t vfpu_address = ctx.gpr[4] + static_cast<std::uint32_t>(0);
|
|
aot_mem.aot_store32(vfpu_address + 0u, std::bit_cast<std::uint32_t>(vfpu_value[0]));
|
|
aot_mem.aot_store32(vfpu_address + 4u, std::bit_cast<std::uint32_t>(vfpu_value[1]));
|
|
aot_mem.aot_store32(vfpu_address + 8u, std::bit_cast<std::uint32_t>(vfpu_value[2]));
|
|
aot_mem.aot_store32(vfpu_address + 12u, std::bit_cast<std::uint32_t>(vfpu_value[3])); }
|
|
{ const std::uint32_t vfpu_address = ctx.gpr[4] + static_cast<std::uint32_t>(0);
|
|
float vfpu_value[4]{
|
|
std::bit_cast<float>(aot_mem.aot_load32(vfpu_address + 0u)),
|
|
std::bit_cast<float>(aot_mem.aot_load32(vfpu_address + 4u)),
|
|
std::bit_cast<float>(aot_mem.aot_load32(vfpu_address + 8u)),
|
|
std::bit_cast<float>(aot_mem.aot_load32(vfpu_address + 12u))};
|
|
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);
|
|
aot_mem.aot_store32(vfpu_address + 0u, std::bit_cast<std::uint32_t>(vfpu_value[0]));
|
|
aot_mem.aot_store32(vfpu_address + 4u, std::bit_cast<std::uint32_t>(vfpu_value[1]));
|
|
aot_mem.aot_store32(vfpu_address + 8u, std::bit_cast<std::uint32_t>(vfpu_value[2]));
|
|
aot_mem.aot_store32(vfpu_address + 12u, std::bit_cast<std::uint32_t>(vfpu_value[3])); }
|
|
ctx.fpr[12] = std::bit_cast<float>(aot_mem.aot_load32(ctx.gpr[29] + static_cast<std::uint32_t>(80)));
|
|
ctx.fpr[13] = std::bit_cast<float>(aot_mem.aot_load32(ctx.gpr[29] + static_cast<std::uint32_t>(84)));
|
|
ctx.gpr[4] = (ctx.gpr[16] + static_cast<std::uint32_t>(48));
|
|
ctx.fpr[14] = std::bit_cast<float>(aot_mem.aot_load32(ctx.gpr[4] + static_cast<std::uint32_t>(0)));
|
|
ctx.fpr[12] = ctx.fpr[14] - ctx.fpr[12];
|
|
ctx.fpr[15] = std::bit_cast<float>(aot_mem.aot_load32(ctx.gpr[4] + static_cast<std::uint32_t>(4)));
|
|
ctx.gpr[31] = (0x0894F670u);
|
|
ctx.fpr[13] = ctx.fpr[13] - ctx.fpr[15];
|
|
if (rt.invoke_chained_direct<&recomp_unit_0117_entry, 117u, 288u, 0x089D96E8u>(ctx, &aot_mem) && ctx.pc == 0x0894F670u) goto L_0894F670;
|
|
return;
|
|
L_0894F670:
|
|
aot_mem.aot_store32(ctx.gpr[16] + static_cast<std::uint32_t>(1252), std::bit_cast<std::uint32_t>(ctx.fpr[0]));
|
|
ctx.gpr[31] = (0x0894F67Cu);
|
|
ctx.fpr[12] = std::bit_cast<float>(std::bit_cast<std::uint32_t>(ctx.fpr[0]));
|
|
if (rt.invoke_chained_direct<&recomp_unit_0134_entry, 134u, 243u, 0x08A1D380u>(ctx, &aot_mem) && ctx.pc == 0x0894F67Cu) goto L_0894F67C;
|
|
return;
|
|
L_0894F67C:
|
|
aot_mem.aot_store32(ctx.gpr[16] + static_cast<std::uint32_t>(1252), std::bit_cast<std::uint32_t>(ctx.fpr[0]));
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast<std::uint32_t>(2064)));
|
|
aot_mem.aot_store32(ctx.gpr[16] + static_cast<std::uint32_t>(1760), ctx.gpr[4]);
|
|
ctx.gpr[31] = (0x0894F690u);
|
|
ctx.gpr[5] = (ctx.gpr[16] + static_cast<std::uint32_t>(1760));
|
|
if (rt.invoke_chained_direct<&recomp_unit_0013_entry, 13u, 689u, 0x0883B8A4u>(ctx, &aot_mem) && ctx.pc == 0x0894F690u) goto L_0894F690;
|
|
return;
|
|
L_0894F690:
|
|
ctx.gpr[31] = (0x0894F698u);
|
|
ctx.gpr[4] = (ctx.gpr[16] | 0u);
|
|
if (rt.invoke_chained_direct<&recomp_unit_0103_entry, 103u, 2u, 0x089A000Cu>(ctx, &aot_mem) && ctx.pc == 0x0894F698u) goto L_0894F698;
|
|
return;
|
|
L_0894F698:
|
|
ctx.fpr[12] = std::bit_cast<float>(aot_mem.aot_load32(ctx.gpr[16] + static_cast<std::uint32_t>(1248)));
|
|
ctx.fpr[13] = std::bit_cast<float>(aot_mem.aot_load32(ctx.gpr[16] + static_cast<std::uint32_t>(1252)));
|
|
ctx.fpr[12] = ctx.fpr[12] - ctx.fpr[13];
|
|
ctx.fpr[14] = std::bit_cast<float>(0u);
|
|
ctx.set_fpu_condition((ctx.fpr[12] < ctx.fpr[14]));
|
|
// nop
|
|
if (ctx.fpu_condition()) {
|
|
ctx.fpr[12] = std::bit_cast<float>(std::bit_cast<std::uint32_t>(ctx.fpr[12]) ^ 0x80000000u);
|
|
goto L_0894F6B8;
|
|
}
|
|
goto L_0894F6B8;
|
|
L_0894F6B8:
|
|
ctx.gpr[4] = (16201u << 16u);
|
|
ctx.gpr[4] = (ctx.gpr[4] | 4059u);
|
|
ctx.fpr[13] = std::bit_cast<float>(ctx.gpr[4]);
|
|
ctx.set_fpu_condition((ctx.fpr[12] < ctx.fpr[13]));
|
|
// nop
|
|
if (!ctx.fpu_condition()) {
|
|
ctx.fpr[12] = std::bit_cast<float>(aot_mem.aot_load32(ctx.gpr[16] + static_cast<std::uint32_t>(1248)));
|
|
goto L_0894F6E0;
|
|
}
|
|
goto L_0894F6D4;
|
|
L_0894F6D4:
|
|
ctx.gpr[4] = (0u | 32u);
|
|
{ const bool branch_taken = 0u == 0u;
|
|
aot_mem.aot_store32(ctx.gpr[16] + static_cast<std::uint32_t>(2068), ctx.gpr[4]);
|
|
if (branch_taken) {
|
|
goto L_0894F6F8;
|
|
}
|
|
goto L_0894F6E0;
|
|
}
|
|
L_0894F6E0:
|
|
ctx.fpr[13] = std::bit_cast<float>(aot_mem.aot_load32(ctx.gpr[16] + static_cast<std::uint32_t>(1252)));
|
|
ctx.gpr[4] = (16128u << 16u);
|
|
ctx.fpr[12] = ctx.fpr[12] + ctx.fpr[13];
|
|
ctx.fpr[14] = std::bit_cast<float>(ctx.gpr[4]);
|
|
{ const float fs = ctx.fpr[12]; const float ft = ctx.fpr[14]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[12] = std::bit_cast<float>(0x7FC00000u); else ctx.fpr[12] = fs * ft; }
|
|
aot_mem.aot_store32(ctx.gpr[16] + static_cast<std::uint32_t>(1248), std::bit_cast<std::uint32_t>(ctx.fpr[12]));
|
|
goto L_0894F6F8;
|
|
L_0894F6F8:
|
|
{ const bool branch_taken = 0u == 0u;
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_0894FAD0;
|
|
}
|
|
goto L_0894F700;
|
|
}
|
|
L_0894F700:
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast<std::uint32_t>(2064)));
|
|
{ const bool branch_taken = ctx.gpr[4] == 0u;
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_0894F728;
|
|
}
|
|
goto L_0894F70C;
|
|
}
|
|
L_0894F70C:
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast<std::uint32_t>(2064)));
|
|
ctx.fpr[12] = std::bit_cast<float>(0u);
|
|
ctx.fpr[13] = std::bit_cast<float>(aot_mem.aot_load32(ctx.gpr[4] + static_cast<std::uint32_t>(1208)));
|
|
ctx.set_fpu_condition((ctx.fpr[13] <= ctx.fpr[12]));
|
|
// nop
|
|
{ const bool branch_taken = ctx.fpu_condition();
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_0894F734;
|
|
}
|
|
goto L_0894F728;
|
|
}
|
|
L_0894F728:
|
|
ctx.gpr[4] = (0u | 1u);
|
|
{ const bool branch_taken = 0u == 0u;
|
|
aot_mem.aot_store32(ctx.gpr[16] + static_cast<std::uint32_t>(2068), ctx.gpr[4]);
|
|
if (branch_taken) {
|
|
goto L_0894FAD0;
|
|
}
|
|
goto L_0894F734;
|
|
}
|
|
L_0894F734:
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast<std::uint32_t>(2064)));
|
|
ctx.gpr[4] = (ctx.gpr[4] + static_cast<std::uint32_t>(784));
|
|
ctx.gpr[17] = (ctx.gpr[29] + static_cast<std::uint32_t>(80));
|
|
ctx.gpr[5] = (ctx.gpr[17] | 0u);
|
|
ctx.gpr[31] = (0x0894F74Cu);
|
|
ctx.gpr[6] = (0u | 1u);
|
|
if (rt.invoke_chained_direct<&recomp_unit_0169_entry, 169u, 42u, 0x08AA83C4u>(ctx, &aot_mem) && ctx.pc == 0x0894F74Cu) goto L_0894F74C;
|
|
return;
|
|
L_0894F74C:
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast<std::uint32_t>(2064)));
|
|
ctx.gpr[4] = (ctx.gpr[4] + static_cast<std::uint32_t>(784));
|
|
ctx.gpr[18] = (ctx.gpr[29] + static_cast<std::uint32_t>(96));
|
|
ctx.gpr[5] = (ctx.gpr[18] | 0u);
|
|
ctx.gpr[31] = (0x0894F764u);
|
|
ctx.gpr[6] = (0u | 2u);
|
|
if (rt.invoke_chained_direct<&recomp_unit_0169_entry, 169u, 42u, 0x08AA83C4u>(ctx, &aot_mem) && ctx.pc == 0x0894F764u) goto L_0894F764;
|
|
return;
|
|
L_0894F764:
|
|
{ const std::uint32_t vfpu_address = ctx.gpr[18] + static_cast<std::uint32_t>(0);
|
|
float vfpu_value[4]{
|
|
std::bit_cast<float>(aot_mem.aot_load32(vfpu_address + 0u)),
|
|
std::bit_cast<float>(aot_mem.aot_load32(vfpu_address + 4u)),
|
|
std::bit_cast<float>(aot_mem.aot_load32(vfpu_address + 8u)),
|
|
std::bit_cast<float>(aot_mem.aot_load32(vfpu_address + 12u))};
|
|
ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); }
|
|
{ const std::uint32_t vfpu_address = ctx.gpr[17] + static_cast<std::uint32_t>(0);
|
|
float vfpu_value[4]{
|
|
std::bit_cast<float>(aot_mem.aot_load32(vfpu_address + 0u)),
|
|
std::bit_cast<float>(aot_mem.aot_load32(vfpu_address + 4u)),
|
|
std::bit_cast<float>(aot_mem.aot_load32(vfpu_address + 8u)),
|
|
std::bit_cast<float>(aot_mem.aot_load32(vfpu_address + 12u))};
|
|
ctx.write_vfpu_vector_ct<1u, 4u>(vfpu_value); }
|
|
{ float vfpu_s[4]{}, vfpu_t[4]{}, vfpu_d[4]{};
|
|
ctx.read_vfpu_vector_with_source_prefix_ct<0u, 3u, 0u>(vfpu_s);
|
|
ctx.read_vfpu_vector_with_source_prefix_ct<1u, 3u, 1u>(vfpu_t);
|
|
for (std::uint32_t i = 0; i < 3u; ++i) vfpu_d[i] = vfpu_s[i] + vfpu_t[i];
|
|
ctx.write_vfpu_vector_with_destination_prefix_ct<0u, 3u>(vfpu_d); }
|
|
ctx.gpr[4] = (ctx.gpr[29] + static_cast<std::uint32_t>(128));
|
|
{ float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value);
|
|
const std::uint32_t vfpu_address = ctx.gpr[4] + static_cast<std::uint32_t>(0);
|
|
aot_mem.aot_store32(vfpu_address + 0u, std::bit_cast<std::uint32_t>(vfpu_value[0]));
|
|
aot_mem.aot_store32(vfpu_address + 4u, std::bit_cast<std::uint32_t>(vfpu_value[1]));
|
|
aot_mem.aot_store32(vfpu_address + 8u, std::bit_cast<std::uint32_t>(vfpu_value[2]));
|
|
aot_mem.aot_store32(vfpu_address + 12u, std::bit_cast<std::uint32_t>(vfpu_value[3])); }
|
|
ctx.gpr[5] = (16384u << 16u);
|
|
ctx.fpr[12] = std::bit_cast<float>(ctx.gpr[5]);
|
|
ctx.gpr[5] = (std::bit_cast<std::uint32_t>(ctx.fpr[12]));
|
|
ctx.set_vfpu_scalar_bits_ct<28u>(ctx.gpr[5]);
|
|
{ float vfpu_s[4]{}, vfpu_d[4]{};
|
|
ctx.read_vfpu_vector_with_source_prefix_ct<28u, 1u, 0u>(vfpu_s);
|
|
for (std::uint32_t i = 0; i < 1u; ++i) vfpu_d[i] = 1.0f / vfpu_s[i];
|
|
ctx.write_vfpu_vector_with_destination_prefix_ct<28u, 1u>(vfpu_d); }
|
|
{ const std::uint32_t vfpu_address = ctx.gpr[4] + static_cast<std::uint32_t>(0);
|
|
float vfpu_value[4]{
|
|
std::bit_cast<float>(aot_mem.aot_load32(vfpu_address + 0u)),
|
|
std::bit_cast<float>(aot_mem.aot_load32(vfpu_address + 4u)),
|
|
std::bit_cast<float>(aot_mem.aot_load32(vfpu_address + 8u)),
|
|
std::bit_cast<float>(aot_mem.aot_load32(vfpu_address + 12u))};
|
|
ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); }
|
|
ctx.execute_vfpu_vscl_ct<0u, 0u, 28u, 3u>();
|
|
ctx.gpr[4] = (ctx.gpr[29] + static_cast<std::uint32_t>(144));
|
|
{ float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value);
|
|
const std::uint32_t vfpu_address = ctx.gpr[4] + static_cast<std::uint32_t>(0);
|
|
aot_mem.aot_store32(vfpu_address + 0u, std::bit_cast<std::uint32_t>(vfpu_value[0]));
|
|
aot_mem.aot_store32(vfpu_address + 4u, std::bit_cast<std::uint32_t>(vfpu_value[1]));
|
|
aot_mem.aot_store32(vfpu_address + 8u, std::bit_cast<std::uint32_t>(vfpu_value[2]));
|
|
aot_mem.aot_store32(vfpu_address + 12u, std::bit_cast<std::uint32_t>(vfpu_value[3])); }
|
|
{ const std::uint32_t vfpu_address = ctx.gpr[4] + static_cast<std::uint32_t>(0);
|
|
float vfpu_value[4]{
|
|
std::bit_cast<float>(aot_mem.aot_load32(vfpu_address + 0u)),
|
|
std::bit_cast<float>(aot_mem.aot_load32(vfpu_address + 4u)),
|
|
std::bit_cast<float>(aot_mem.aot_load32(vfpu_address + 8u)),
|
|
std::bit_cast<float>(aot_mem.aot_load32(vfpu_address + 12u))};
|
|
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);
|
|
aot_mem.aot_store32(vfpu_address + 0u, std::bit_cast<std::uint32_t>(vfpu_value[0]));
|
|
aot_mem.aot_store32(vfpu_address + 4u, std::bit_cast<std::uint32_t>(vfpu_value[1]));
|
|
aot_mem.aot_store32(vfpu_address + 8u, std::bit_cast<std::uint32_t>(vfpu_value[2]));
|
|
aot_mem.aot_store32(vfpu_address + 12u, std::bit_cast<std::uint32_t>(vfpu_value[3])); }
|
|
ctx.fpr[12] = std::bit_cast<float>(aot_mem.aot_load32(ctx.gpr[29] + static_cast<std::uint32_t>(80)));
|
|
ctx.fpr[13] = std::bit_cast<float>(aot_mem.aot_load32(ctx.gpr[29] + static_cast<std::uint32_t>(84)));
|
|
ctx.gpr[4] = (ctx.gpr[16] + static_cast<std::uint32_t>(48));
|
|
ctx.fpr[14] = std::bit_cast<float>(aot_mem.aot_load32(ctx.gpr[4] + static_cast<std::uint32_t>(0)));
|
|
ctx.fpr[12] = ctx.fpr[14] - ctx.fpr[12];
|
|
ctx.fpr[15] = std::bit_cast<float>(aot_mem.aot_load32(ctx.gpr[4] + static_cast<std::uint32_t>(4)));
|
|
ctx.gpr[31] = (0x0894F7C4u);
|
|
ctx.fpr[13] = ctx.fpr[13] - ctx.fpr[15];
|
|
if (rt.invoke_chained_direct<&recomp_unit_0117_entry, 117u, 288u, 0x089D96E8u>(ctx, &aot_mem) && ctx.pc == 0x0894F7C4u) goto L_0894F7C4;
|
|
return;
|
|
L_0894F7C4:
|
|
aot_mem.aot_store32(ctx.gpr[16] + static_cast<std::uint32_t>(1252), std::bit_cast<std::uint32_t>(ctx.fpr[0]));
|
|
ctx.gpr[31] = (0x0894F7D0u);
|
|
ctx.fpr[12] = std::bit_cast<float>(std::bit_cast<std::uint32_t>(ctx.fpr[0]));
|
|
if (rt.invoke_chained_direct<&recomp_unit_0134_entry, 134u, 243u, 0x08A1D380u>(ctx, &aot_mem) && ctx.pc == 0x0894F7D0u) goto L_0894F7D0;
|
|
return;
|
|
L_0894F7D0:
|
|
aot_mem.aot_store32(ctx.gpr[16] + static_cast<std::uint32_t>(1252), std::bit_cast<std::uint32_t>(ctx.fpr[0]));
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast<std::uint32_t>(2064)));
|
|
aot_mem.aot_store32(ctx.gpr[16] + static_cast<std::uint32_t>(1760), ctx.gpr[4]);
|
|
ctx.gpr[31] = (0x0894F7E4u);
|
|
ctx.gpr[5] = (ctx.gpr[16] + static_cast<std::uint32_t>(1760));
|
|
if (rt.invoke_chained_direct<&recomp_unit_0013_entry, 13u, 689u, 0x0883B8A4u>(ctx, &aot_mem) && ctx.pc == 0x0894F7E4u) goto L_0894F7E4;
|
|
return;
|
|
L_0894F7E4:
|
|
ctx.gpr[31] = (0x0894F7ECu);
|
|
ctx.gpr[4] = (ctx.gpr[16] | 0u);
|
|
if (rt.invoke_chained_direct<&recomp_unit_0103_entry, 103u, 2u, 0x089A000Cu>(ctx, &aot_mem) && ctx.pc == 0x0894F7ECu) goto L_0894F7EC;
|
|
return;
|
|
L_0894F7EC:
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast<std::uint32_t>(1780)));
|
|
ctx.gpr[5] = (2230u << 16u);
|
|
ctx.gpr[5] = (aot_mem.aot_load32(ctx.gpr[5] + static_cast<std::uint32_t>(-8148)));
|
|
ctx.gpr[4] = (ctx.gpr[4] < ctx.gpr[5] ? 1u : 0u);
|
|
{ const bool branch_taken = ctx.gpr[4] == 0u;
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_0894F97C;
|
|
}
|
|
goto L_0894F804;
|
|
}
|
|
L_0894F804:
|
|
ctx.gpr[4] = (0u | 64u);
|
|
aot_mem.aot_store32(ctx.gpr[16] + static_cast<std::uint32_t>(2068), ctx.gpr[4]);
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast<std::uint32_t>(844)));
|
|
ctx.gpr[5] = (0u | 11u);
|
|
{ const bool branch_taken = ctx.gpr[4] != ctx.gpr[5];
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_0894F84C;
|
|
}
|
|
goto L_0894F81C;
|
|
}
|
|
L_0894F81C:
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast<std::uint32_t>(912)));
|
|
{ const bool branch_taken = ctx.gpr[4] == 0u;
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_0894F844;
|
|
}
|
|
goto L_0894F828;
|
|
}
|
|
L_0894F828:
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast<std::uint32_t>(912)));
|
|
if (ctx.gpr[4] == 0u) {
|
|
aot_mem.aot_store32(ctx.gpr[16] + static_cast<std::uint32_t>(912), 0u);
|
|
goto L_0894F844;
|
|
}
|
|
goto L_0894F834;
|
|
L_0894F834:
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast<std::uint32_t>(912)));
|
|
ctx.gpr[31] = (0x0894F840u);
|
|
ctx.gpr[5] = (ctx.gpr[16] + static_cast<std::uint32_t>(912));
|
|
if (rt.invoke_chained_direct<&recomp_unit_0013_entry, 13u, 700u, 0x0883B934u>(ctx, &aot_mem) && ctx.pc == 0x0894F840u) goto L_0894F840;
|
|
return;
|
|
L_0894F840:
|
|
aot_mem.aot_store32(ctx.gpr[16] + static_cast<std::uint32_t>(912), 0u);
|
|
goto L_0894F844;
|
|
L_0894F844:
|
|
ctx.gpr[31] = (0x0894F84Cu);
|
|
ctx.gpr[4] = (ctx.gpr[16] | 0u);
|
|
if (rt.invoke_chained_direct<&recomp_unit_0103_entry, 103u, 412u, 0x089A1D00u>(ctx, &aot_mem) && ctx.pc == 0x0894F84Cu) goto L_0894F84C;
|
|
return;
|
|
L_0894F84C:
|
|
aot_mem.aot_store32(ctx.gpr[16] + static_cast<std::uint32_t>(844), 0u);
|
|
ctx.gpr[4] = (ctx.gpr[16] | 0u);
|
|
ctx.gpr[31] = (0x0894F85Cu);
|
|
ctx.gpr[5] = (0u | 2u);
|
|
if (rt.invoke_chained_direct<&recomp_unit_0103_entry, 103u, 546u, 0x089A2520u>(ctx, &aot_mem) && ctx.pc == 0x0894F85Cu) goto L_0894F85C;
|
|
return;
|
|
L_0894F85C:
|
|
aot_mem.aot_store32(ctx.gpr[16] + static_cast<std::uint32_t>(748), 0u);
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast<std::uint32_t>(2064)));
|
|
ctx.gpr[5] = (32u << 16u);
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[4] + static_cast<std::uint32_t>(404)));
|
|
ctx.gpr[4] = (ctx.gpr[4] & ctx.gpr[5]);
|
|
{ const bool branch_taken = ctx.gpr[4] != 0u;
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_0894F988;
|
|
}
|
|
goto L_0894F878;
|
|
}
|
|
L_0894F878:
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast<std::uint32_t>(2064)));
|
|
ctx.gpr[5] = (17096u << 16u);
|
|
ctx.fpr[12] = std::bit_cast<float>(ctx.gpr[5]);
|
|
aot_mem.aot_store32(ctx.gpr[4] + static_cast<std::uint32_t>(1208), std::bit_cast<std::uint32_t>(ctx.fpr[12]));
|
|
ctx.gpr[17] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast<std::uint32_t>(2064)));
|
|
ctx.gpr[4] = (0u | 11u);
|
|
ctx.gpr[5] = (aot_mem.aot_load32(ctx.gpr[17] + static_cast<std::uint32_t>(844)));
|
|
{ const bool branch_taken = ctx.gpr[5] != ctx.gpr[4];
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_0894F8CC;
|
|
}
|
|
goto L_0894F89C;
|
|
}
|
|
L_0894F89C:
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[17] + static_cast<std::uint32_t>(912)));
|
|
{ const bool branch_taken = ctx.gpr[4] == 0u;
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_0894F8C4;
|
|
}
|
|
goto L_0894F8A8;
|
|
}
|
|
L_0894F8A8:
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[17] + static_cast<std::uint32_t>(912)));
|
|
if (ctx.gpr[4] == 0u) {
|
|
aot_mem.aot_store32(ctx.gpr[17] + static_cast<std::uint32_t>(912), 0u);
|
|
goto L_0894F8C4;
|
|
}
|
|
goto L_0894F8B4;
|
|
L_0894F8B4:
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[17] + static_cast<std::uint32_t>(912)));
|
|
ctx.gpr[31] = (0x0894F8C0u);
|
|
ctx.gpr[5] = (ctx.gpr[17] + static_cast<std::uint32_t>(912));
|
|
if (rt.invoke_chained_direct<&recomp_unit_0013_entry, 13u, 700u, 0x0883B934u>(ctx, &aot_mem) && ctx.pc == 0x0894F8C0u) goto L_0894F8C0;
|
|
return;
|
|
L_0894F8C0:
|
|
aot_mem.aot_store32(ctx.gpr[17] + static_cast<std::uint32_t>(912), 0u);
|
|
goto L_0894F8C4;
|
|
L_0894F8C4:
|
|
ctx.gpr[31] = (0x0894F8CCu);
|
|
ctx.gpr[4] = (ctx.gpr[17] | 0u);
|
|
if (rt.invoke_chained_direct<&recomp_unit_0103_entry, 103u, 412u, 0x089A1D00u>(ctx, &aot_mem) && ctx.pc == 0x0894F8CCu) goto L_0894F8CC;
|
|
return;
|
|
L_0894F8CC:
|
|
aot_mem.aot_store32(ctx.gpr[17] + static_cast<std::uint32_t>(844), 0u);
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast<std::uint32_t>(2064)));
|
|
ctx.gpr[5] = (0u | 5u);
|
|
aot_mem.aot_store32(ctx.gpr[4] + static_cast<std::uint32_t>(848), ctx.gpr[5]);
|
|
ctx.gpr[31] = (0x0894F8E4u);
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast<std::uint32_t>(2064)));
|
|
if (rt.invoke_chained_direct<&recomp_unit_0106_entry, 106u, 358u, 0x089ADE7Cu>(ctx, &aot_mem) && ctx.pc == 0x0894F8E4u) goto L_0894F8E4;
|
|
return;
|
|
L_0894F8E4:
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast<std::uint32_t>(2064)));
|
|
ctx.gpr[5] = (0u | 1u);
|
|
ctx.gpr[6] = (aot_mem.aot_load32(ctx.gpr[4] + static_cast<std::uint32_t>(68)));
|
|
ctx.gpr[5] = (ctx.gpr[5] & 1u);
|
|
ctx.gpr[7] = (0u + static_cast<std::uint32_t>(-513));
|
|
ctx.gpr[6] = (ctx.gpr[6] & ctx.gpr[7]);
|
|
ctx.gpr[5] = (ctx.gpr[5] << 9u);
|
|
ctx.gpr[5] = (ctx.gpr[6] | ctx.gpr[5]);
|
|
aot_mem.aot_store32(ctx.gpr[4] + static_cast<std::uint32_t>(68), ctx.gpr[5]);
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast<std::uint32_t>(2064)));
|
|
ctx.gpr[31] = (0x0894F914u);
|
|
ctx.gpr[5] = (0u | 2u);
|
|
if (rt.invoke_chained_direct<&recomp_unit_0103_entry, 103u, 546u, 0x089A2520u>(ctx, &aot_mem) && ctx.pc == 0x0894F914u) goto L_0894F914;
|
|
return;
|
|
L_0894F914:
|
|
ctx.gpr[31] = (0x0894F91Cu);
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast<std::uint32_t>(2064)));
|
|
if (rt.invoke_chained_direct<&recomp_unit_0103_entry, 103u, 554u, 0x089A258Cu>(ctx, &aot_mem) && ctx.pc == 0x0894F91Cu) goto L_0894F91C;
|
|
return;
|
|
L_0894F91C:
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast<std::uint32_t>(2064)));
|
|
ctx.gpr[5] = (61440u << 16u);
|
|
ctx.gpr[6] = (aot_mem.aot_load32(ctx.gpr[4] + static_cast<std::uint32_t>(404)));
|
|
ctx.gpr[5] = (ctx.gpr[5] + static_cast<std::uint32_t>(-1));
|
|
ctx.gpr[5] = (ctx.gpr[6] & ctx.gpr[5]);
|
|
aot_mem.aot_store32(ctx.gpr[4] + static_cast<std::uint32_t>(404), ctx.gpr[5]);
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast<std::uint32_t>(2064)));
|
|
ctx.gpr[5] = (65280u << 16u);
|
|
ctx.gpr[6] = (aot_mem.aot_load32(ctx.gpr[4] + static_cast<std::uint32_t>(408)));
|
|
ctx.gpr[5] = (ctx.gpr[5] + static_cast<std::uint32_t>(-1));
|
|
ctx.gpr[5] = (ctx.gpr[6] & ctx.gpr[5]);
|
|
aot_mem.aot_store32(ctx.gpr[4] + static_cast<std::uint32_t>(408), ctx.gpr[5]);
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast<std::uint32_t>(2064)));
|
|
ctx.gpr[5] = (0u + static_cast<std::uint32_t>(-9));
|
|
ctx.gpr[6] = (aot_mem.aot_load32(ctx.gpr[4] + static_cast<std::uint32_t>(416)));
|
|
ctx.gpr[5] = (ctx.gpr[6] & ctx.gpr[5]);
|
|
aot_mem.aot_store32(ctx.gpr[4] + static_cast<std::uint32_t>(416), ctx.gpr[5]);
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast<std::uint32_t>(2064)));
|
|
ctx.gpr[5] = (0u | 125u);
|
|
aot_mem.aot_store32(ctx.gpr[4] + static_cast<std::uint32_t>(1412), 0u);
|
|
ctx.gpr[31] = (0x0894F974u);
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast<std::uint32_t>(2064)));
|
|
if (rt.invoke_chained_direct<&recomp_unit_0044_entry, 44u, 499u, 0x088B6D24u>(ctx, &aot_mem) && ctx.pc == 0x0894F974u) goto L_0894F974;
|
|
return;
|
|
L_0894F974:
|
|
{ const bool branch_taken = 0u == 0u;
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_0894F988;
|
|
}
|
|
goto L_0894F97C;
|
|
}
|
|
L_0894F97C:
|
|
ctx.gpr[4] = (ctx.gpr[16] | 0u);
|
|
ctx.gpr[31] = (0x0894F988u);
|
|
ctx.gpr[5] = (0u | 1u);
|
|
if (rt.invoke_chained_direct<&recomp_unit_0103_entry, 103u, 546u, 0x089A2520u>(ctx, &aot_mem) && ctx.pc == 0x0894F988u) goto L_0894F988;
|
|
return;
|
|
L_0894F988:
|
|
{ const bool branch_taken = 0u == 0u;
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_0894FAD0;
|
|
}
|
|
goto L_0894F990;
|
|
}
|
|
L_0894F990:
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast<std::uint32_t>(2064)));
|
|
{ const bool branch_taken = ctx.gpr[4] == 0u;
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_0894F9B8;
|
|
}
|
|
goto L_0894F99C;
|
|
}
|
|
L_0894F99C:
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast<std::uint32_t>(2064)));
|
|
ctx.fpr[12] = std::bit_cast<float>(0u);
|
|
ctx.fpr[13] = std::bit_cast<float>(aot_mem.aot_load32(ctx.gpr[4] + static_cast<std::uint32_t>(1208)));
|
|
ctx.set_fpu_condition((ctx.fpr[13] <= ctx.fpr[12]));
|
|
// nop
|
|
{ const bool branch_taken = ctx.fpu_condition();
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_0894F9C4;
|
|
}
|
|
goto L_0894F9B8;
|
|
}
|
|
L_0894F9B8:
|
|
ctx.gpr[4] = (0u | 1u);
|
|
{ const bool branch_taken = 0u == 0u;
|
|
aot_mem.aot_store32(ctx.gpr[16] + static_cast<std::uint32_t>(2068), ctx.gpr[4]);
|
|
if (branch_taken) {
|
|
goto L_0894FAD0;
|
|
}
|
|
goto L_0894F9C4;
|
|
}
|
|
L_0894F9C4:
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast<std::uint32_t>(2072)));
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[4] + static_cast<std::uint32_t>(0)));
|
|
{ const bool branch_taken = ctx.gpr[4] != 0u;
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_0894F9DC;
|
|
}
|
|
goto L_0894F9D4;
|
|
}
|
|
L_0894F9D4:
|
|
ctx.gpr[4] = (0u | 1u);
|
|
aot_mem.aot_store32(ctx.gpr[16] + static_cast<std::uint32_t>(2068), ctx.gpr[4]);
|
|
goto L_0894F9DC;
|
|
L_0894F9DC:
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast<std::uint32_t>(2072)));
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[4] + static_cast<std::uint32_t>(8)));
|
|
{ const bool branch_taken = ctx.gpr[4] != 0u;
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_0894F9F4;
|
|
}
|
|
goto L_0894F9EC;
|
|
}
|
|
L_0894F9EC:
|
|
ctx.gpr[4] = (0u | 1u);
|
|
aot_mem.aot_store32(ctx.gpr[16] + static_cast<std::uint32_t>(2068), ctx.gpr[4]);
|
|
goto L_0894F9F4;
|
|
L_0894F9F4:
|
|
ctx.gpr[4] = (2269u << 16u);
|
|
ctx.gpr[31] = (0x0894FA00u);
|
|
ctx.gpr[4] = (ctx.gpr[4] + static_cast<std::uint32_t>(16664));
|
|
if (rt.invoke_chained_direct<&recomp_unit_0043_entry, 43u, 85u, 0x088B0638u>(ctx, &aot_mem) && ctx.pc == 0x0894FA00u) goto L_0894FA00;
|
|
return;
|
|
L_0894FA00:
|
|
{ const bool branch_taken = ctx.gpr[2] == 0u;
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_0894FA10;
|
|
}
|
|
goto L_0894FA08;
|
|
}
|
|
L_0894FA08:
|
|
ctx.gpr[4] = (0u | 1u);
|
|
aot_mem.aot_store32(ctx.gpr[16] + static_cast<std::uint32_t>(2068), ctx.gpr[4]);
|
|
goto L_0894FA10;
|
|
L_0894FA10:
|
|
{ const bool branch_taken = 0u == 0u;
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_0894FAD0;
|
|
}
|
|
goto L_0894FA18;
|
|
}
|
|
L_0894FA18:
|
|
aot_mem.aot_store8(ctx.gpr[16] + static_cast<std::uint32_t>(2080), static_cast<std::uint8_t>(0u));
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast<std::uint32_t>(844)));
|
|
ctx.gpr[5] = (0u | 11u);
|
|
{ const bool branch_taken = ctx.gpr[4] != ctx.gpr[5];
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_0894FA5C;
|
|
}
|
|
goto L_0894FA2C;
|
|
}
|
|
L_0894FA2C:
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast<std::uint32_t>(912)));
|
|
{ const bool branch_taken = ctx.gpr[4] == 0u;
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_0894FA54;
|
|
}
|
|
goto L_0894FA38;
|
|
}
|
|
L_0894FA38:
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast<std::uint32_t>(912)));
|
|
if (ctx.gpr[4] == 0u) {
|
|
aot_mem.aot_store32(ctx.gpr[16] + static_cast<std::uint32_t>(912), 0u);
|
|
goto L_0894FA54;
|
|
}
|
|
goto L_0894FA44;
|
|
L_0894FA44:
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast<std::uint32_t>(912)));
|
|
ctx.gpr[31] = (0x0894FA50u);
|
|
ctx.gpr[5] = (ctx.gpr[16] + static_cast<std::uint32_t>(912));
|
|
if (rt.invoke_chained_direct<&recomp_unit_0013_entry, 13u, 700u, 0x0883B934u>(ctx, &aot_mem) && ctx.pc == 0x0894FA50u) goto L_0894FA50;
|
|
return;
|
|
L_0894FA50:
|
|
aot_mem.aot_store32(ctx.gpr[16] + static_cast<std::uint32_t>(912), 0u);
|
|
goto L_0894FA54;
|
|
L_0894FA54:
|
|
ctx.gpr[31] = (0x0894FA5Cu);
|
|
ctx.gpr[4] = (ctx.gpr[16] | 0u);
|
|
if (rt.invoke_chained_direct<&recomp_unit_0103_entry, 103u, 412u, 0x089A1D00u>(ctx, &aot_mem) && ctx.pc == 0x0894FA5Cu) goto L_0894FA5C;
|
|
return;
|
|
L_0894FA5C:
|
|
aot_mem.aot_store32(ctx.gpr[16] + static_cast<std::uint32_t>(844), 0u);
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast<std::uint32_t>(2072)));
|
|
{ const bool branch_taken = ctx.gpr[4] == 0u;
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_0894FA88;
|
|
}
|
|
goto L_0894FA6C;
|
|
}
|
|
L_0894FA6C:
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast<std::uint32_t>(2072)));
|
|
aot_mem.aot_store32(ctx.gpr[4] + static_cast<std::uint32_t>(0), 0u);
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast<std::uint32_t>(2072)));
|
|
ctx.gpr[5] = (aot_mem.aot_load32(ctx.gpr[4] + static_cast<std::uint32_t>(4)));
|
|
ctx.gpr[5] = (ctx.gpr[5] + static_cast<std::uint32_t>(-1));
|
|
aot_mem.aot_store32(ctx.gpr[4] + static_cast<std::uint32_t>(4), ctx.gpr[5]);
|
|
aot_mem.aot_store32(ctx.gpr[16] + static_cast<std::uint32_t>(2072), 0u);
|
|
goto L_0894FA88;
|
|
L_0894FA88:
|
|
ctx.gpr[31] = (0x0894FA90u);
|
|
// nop
|
|
goto L_0894DB08;
|
|
L_0894FA90:
|
|
ctx.gpr[4] = (ctx.gpr[2] & 65535u);
|
|
if (static_cast<std::int32_t>(ctx.gpr[4]) >= 0) {
|
|
ctx.gpr[4] = (ctx.gpr[4] & 7u);
|
|
goto L_0894FAAC;
|
|
}
|
|
goto L_0894FA9C;
|
|
L_0894FA9C:
|
|
ctx.gpr[4] = (0u - ctx.gpr[4]);
|
|
ctx.gpr[4] = (ctx.gpr[4] & 7u);
|
|
{ const bool branch_taken = 0u == 0u;
|
|
ctx.gpr[4] = (0u - ctx.gpr[4]);
|
|
if (branch_taken) {
|
|
goto L_0894FAAC;
|
|
}
|
|
goto L_0894FAAC;
|
|
}
|
|
L_0894FAAC:
|
|
ctx.gpr[5] = (ctx.gpr[4] << 24u);
|
|
ctx.gpr[5] = (static_cast<std::uint32_t>(static_cast<std::int32_t>(ctx.gpr[5]) >> 24u));
|
|
ctx.gpr[31] = (0x0894FABCu);
|
|
ctx.gpr[4] = (ctx.gpr[16] | 0u);
|
|
if (rt.invoke_chained_direct<&recomp_unit_0103_entry, 103u, 278u, 0x089A1468u>(ctx, &aot_mem) && ctx.pc == 0x0894FABCu) goto L_0894FABC;
|
|
return;
|
|
L_0894FABC:
|
|
aot_mem.aot_store32(ctx.gpr[16] + static_cast<std::uint32_t>(2064), 0u);
|
|
aot_mem.aot_store32(ctx.gpr[16] + static_cast<std::uint32_t>(2068), 0u);
|
|
ctx.gpr[4] = (ctx.gpr[16] | 0u);
|
|
ctx.gpr[31] = (0x0894FAD0u);
|
|
ctx.gpr[5] = (0u | 2u);
|
|
if (rt.invoke_chained_direct<&recomp_unit_0103_entry, 103u, 546u, 0x089A2520u>(ctx, &aot_mem) && ctx.pc == 0x0894FAD0u) goto L_0894FAD0;
|
|
return;
|
|
L_0894FAD0:
|
|
ctx.gpr[16] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast<std::uint32_t>(372)));
|
|
ctx.gpr[17] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast<std::uint32_t>(376)));
|
|
ctx.gpr[18] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast<std::uint32_t>(380)));
|
|
ctx.gpr[19] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast<std::uint32_t>(384)));
|
|
ctx.gpr[20] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast<std::uint32_t>(388)));
|
|
ctx.gpr[31] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast<std::uint32_t>(392)));
|
|
jump_target = ctx.gpr[31];
|
|
ctx.gpr[29] = (ctx.gpr[29] + static_cast<std::uint32_t>(400));
|
|
local_pc = jump_target;
|
|
if (++local_transfers < 2048u) { entry_id = 0u; goto LOCAL_DISPATCH; }
|
|
ctx.pc = jump_target;
|
|
return;
|
|
L_0894FAF0:
|
|
ctx.gpr[29] = (ctx.gpr[29] + static_cast<std::uint32_t>(-112));
|
|
aot_mem.aot_store32(ctx.gpr[29] + static_cast<std::uint32_t>(100), ctx.gpr[16]);
|
|
ctx.gpr[16] = (ctx.gpr[4] | 0u);
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast<std::uint32_t>(2068)));
|
|
ctx.gpr[5] = (0u | 256u);
|
|
aot_mem.aot_store32(ctx.gpr[29] + static_cast<std::uint32_t>(104), ctx.gpr[17]);
|
|
aot_mem.aot_store32(ctx.gpr[29] + static_cast<std::uint32_t>(108), ctx.gpr[31]);
|
|
{ const bool branch_taken = ctx.gpr[4] == ctx.gpr[5];
|
|
ctx.gpr[5] = (0u | 128u);
|
|
if (branch_taken) {
|
|
goto L_0894FD34;
|
|
}
|
|
goto L_0894FB14;
|
|
}
|
|
L_0894FB14:
|
|
{ const bool branch_taken = ctx.gpr[4] == ctx.gpr[5];
|
|
ctx.gpr[5] = (0u | 1u);
|
|
if (branch_taken) {
|
|
goto L_0894FCCC;
|
|
}
|
|
goto L_0894FB1C;
|
|
}
|
|
L_0894FB1C:
|
|
{ const bool branch_taken = ctx.gpr[4] == ctx.gpr[5];
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_0894FBDC;
|
|
}
|
|
goto L_0894FB24;
|
|
}
|
|
L_0894FB24:
|
|
{ const bool branch_taken = ctx.gpr[4] != 0u;
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_0894FBD4;
|
|
}
|
|
goto L_0894FB2C;
|
|
}
|
|
L_0894FB2C:
|
|
ctx.gpr[4] = (2233u << 16u);
|
|
ctx.gpr[4] = (ctx.gpr[4] + static_cast<std::uint32_t>(-25056));
|
|
ctx.gpr[5] = (ctx.gpr[16] + static_cast<std::uint32_t>(48));
|
|
{ const std::uint32_t vfpu_address = ctx.gpr[5] + static_cast<std::uint32_t>(0);
|
|
float vfpu_value[4]{
|
|
std::bit_cast<float>(aot_mem.aot_load32(vfpu_address + 0u)),
|
|
std::bit_cast<float>(aot_mem.aot_load32(vfpu_address + 4u)),
|
|
std::bit_cast<float>(aot_mem.aot_load32(vfpu_address + 8u)),
|
|
std::bit_cast<float>(aot_mem.aot_load32(vfpu_address + 12u))};
|
|
ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); }
|
|
ctx.gpr[5] = (ctx.gpr[29] + static_cast<std::uint32_t>(32));
|
|
{ float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value);
|
|
const std::uint32_t vfpu_address = ctx.gpr[5] + static_cast<std::uint32_t>(0);
|
|
aot_mem.aot_store32(vfpu_address + 0u, std::bit_cast<std::uint32_t>(vfpu_value[0]));
|
|
aot_mem.aot_store32(vfpu_address + 4u, std::bit_cast<std::uint32_t>(vfpu_value[1]));
|
|
aot_mem.aot_store32(vfpu_address + 8u, std::bit_cast<std::uint32_t>(vfpu_value[2]));
|
|
aot_mem.aot_store32(vfpu_address + 12u, std::bit_cast<std::uint32_t>(vfpu_value[3])); }
|
|
ctx.gpr[31] = (0x0894FB4Cu);
|
|
ctx.gpr[6] = (ctx.gpr[29] + static_cast<std::uint32_t>(16));
|
|
if (rt.invoke_chained_direct<&recomp_unit_0018_entry, 18u, 581u, 0x0884E3D4u>(ctx, &aot_mem) && ctx.pc == 0x0894FB4Cu) goto L_0894FB4C;
|
|
return;
|
|
L_0894FB4C:
|
|
ctx.gpr[17] = (ctx.gpr[2] | 0u);
|
|
{ const bool branch_taken = ctx.gpr[17] == 0u;
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_0894FBD4;
|
|
}
|
|
goto L_0894FB58;
|
|
}
|
|
L_0894FB58:
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast<std::uint32_t>(844)));
|
|
ctx.gpr[5] = (0u | 11u);
|
|
if (ctx.gpr[4] != ctx.gpr[5]) {
|
|
aot_mem.aot_store32(ctx.gpr[16] + static_cast<std::uint32_t>(844), 0u);
|
|
goto L_0894FB9C;
|
|
}
|
|
goto L_0894FB68;
|
|
L_0894FB68:
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast<std::uint32_t>(912)));
|
|
{ const bool branch_taken = ctx.gpr[4] == 0u;
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_0894FB90;
|
|
}
|
|
goto L_0894FB74;
|
|
}
|
|
L_0894FB74:
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast<std::uint32_t>(912)));
|
|
if (ctx.gpr[4] == 0u) {
|
|
aot_mem.aot_store32(ctx.gpr[16] + static_cast<std::uint32_t>(912), 0u);
|
|
goto L_0894FB90;
|
|
}
|
|
goto L_0894FB80;
|
|
L_0894FB80:
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast<std::uint32_t>(912)));
|
|
ctx.gpr[31] = (0x0894FB8Cu);
|
|
ctx.gpr[5] = (ctx.gpr[16] + static_cast<std::uint32_t>(912));
|
|
if (rt.invoke_chained_direct<&recomp_unit_0013_entry, 13u, 700u, 0x0883B934u>(ctx, &aot_mem) && ctx.pc == 0x0894FB8Cu) goto L_0894FB8C;
|
|
return;
|
|
L_0894FB8C:
|
|
aot_mem.aot_store32(ctx.gpr[16] + static_cast<std::uint32_t>(912), 0u);
|
|
goto L_0894FB90;
|
|
L_0894FB90:
|
|
ctx.gpr[31] = (0x0894FB98u);
|
|
ctx.gpr[4] = (ctx.gpr[16] | 0u);
|
|
if (rt.invoke_chained_direct<&recomp_unit_0103_entry, 103u, 412u, 0x089A1D00u>(ctx, &aot_mem) && ctx.pc == 0x0894FB98u) goto L_0894FB98;
|
|
return;
|
|
L_0894FB98:
|
|
aot_mem.aot_store32(ctx.gpr[16] + static_cast<std::uint32_t>(844), 0u);
|
|
goto L_0894FB9C;
|
|
L_0894FB9C:
|
|
ctx.gpr[4] = (ctx.gpr[17] + static_cast<std::uint32_t>(16));
|
|
{ const std::uint32_t vfpu_address = ctx.gpr[4] + static_cast<std::uint32_t>(0);
|
|
float vfpu_value[4]{
|
|
std::bit_cast<float>(aot_mem.aot_load32(vfpu_address + 0u)),
|
|
std::bit_cast<float>(aot_mem.aot_load32(vfpu_address + 4u)),
|
|
std::bit_cast<float>(aot_mem.aot_load32(vfpu_address + 8u)),
|
|
std::bit_cast<float>(aot_mem.aot_load32(vfpu_address + 12u))};
|
|
ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); }
|
|
ctx.gpr[5] = (ctx.gpr[29] + static_cast<std::uint32_t>(48));
|
|
{ float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value);
|
|
const std::uint32_t vfpu_address = ctx.gpr[5] + static_cast<std::uint32_t>(0);
|
|
aot_mem.aot_store32(vfpu_address + 0u, std::bit_cast<std::uint32_t>(vfpu_value[0]));
|
|
aot_mem.aot_store32(vfpu_address + 4u, std::bit_cast<std::uint32_t>(vfpu_value[1]));
|
|
aot_mem.aot_store32(vfpu_address + 8u, std::bit_cast<std::uint32_t>(vfpu_value[2]));
|
|
aot_mem.aot_store32(vfpu_address + 12u, std::bit_cast<std::uint32_t>(vfpu_value[3])); }
|
|
ctx.gpr[4] = (16256u << 16u);
|
|
ctx.fpr[12] = std::bit_cast<float>(ctx.gpr[4]);
|
|
ctx.gpr[31] = (0x0894FBBCu);
|
|
ctx.gpr[4] = (ctx.gpr[16] | 0u);
|
|
if (rt.invoke_chained_direct<&recomp_unit_0103_entry, 103u, 311u, 0x089A16E4u>(ctx, &aot_mem) && ctx.pc == 0x0894FBBCu) goto L_0894FBBC;
|
|
return;
|
|
L_0894FBBC:
|
|
ctx.gpr[4] = (ctx.gpr[16] | 0u);
|
|
ctx.gpr[31] = (0x0894FBC8u);
|
|
ctx.gpr[5] = (0u | 4u);
|
|
if (rt.invoke_chained_direct<&recomp_unit_0103_entry, 103u, 546u, 0x089A2520u>(ctx, &aot_mem) && ctx.pc == 0x0894FBC8u) goto L_0894FBC8;
|
|
return;
|
|
L_0894FBC8:
|
|
ctx.gpr[4] = (0u | 1u);
|
|
aot_mem.aot_store32(ctx.gpr[16] + static_cast<std::uint32_t>(2068), ctx.gpr[4]);
|
|
aot_mem.aot_store32(ctx.gpr[16] + static_cast<std::uint32_t>(2076), ctx.gpr[17]);
|
|
goto L_0894FBD4;
|
|
L_0894FBD4:
|
|
{ const bool branch_taken = 0u == 0u;
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_0894FDC4;
|
|
}
|
|
goto L_0894FBDC;
|
|
}
|
|
L_0894FBDC:
|
|
ctx.gpr[4] = (2233u << 16u);
|
|
ctx.gpr[4] = (ctx.gpr[4] + static_cast<std::uint32_t>(-25056));
|
|
ctx.gpr[5] = (ctx.gpr[16] + static_cast<std::uint32_t>(48));
|
|
{ const std::uint32_t vfpu_address = ctx.gpr[5] + static_cast<std::uint32_t>(0);
|
|
float vfpu_value[4]{
|
|
std::bit_cast<float>(aot_mem.aot_load32(vfpu_address + 0u)),
|
|
std::bit_cast<float>(aot_mem.aot_load32(vfpu_address + 4u)),
|
|
std::bit_cast<float>(aot_mem.aot_load32(vfpu_address + 8u)),
|
|
std::bit_cast<float>(aot_mem.aot_load32(vfpu_address + 12u))};
|
|
ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); }
|
|
ctx.gpr[5] = (ctx.gpr[29] + static_cast<std::uint32_t>(32));
|
|
{ float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value);
|
|
const std::uint32_t vfpu_address = ctx.gpr[5] + static_cast<std::uint32_t>(0);
|
|
aot_mem.aot_store32(vfpu_address + 0u, std::bit_cast<std::uint32_t>(vfpu_value[0]));
|
|
aot_mem.aot_store32(vfpu_address + 4u, std::bit_cast<std::uint32_t>(vfpu_value[1]));
|
|
aot_mem.aot_store32(vfpu_address + 8u, std::bit_cast<std::uint32_t>(vfpu_value[2]));
|
|
aot_mem.aot_store32(vfpu_address + 12u, std::bit_cast<std::uint32_t>(vfpu_value[3])); }
|
|
ctx.gpr[31] = (0x0894FBFCu);
|
|
ctx.gpr[6] = (ctx.gpr[29] + static_cast<std::uint32_t>(16));
|
|
if (rt.invoke_chained_direct<&recomp_unit_0018_entry, 18u, 581u, 0x0884E3D4u>(ctx, &aot_mem) && ctx.pc == 0x0894FBFCu) goto L_0894FBFC;
|
|
return;
|
|
L_0894FBFC:
|
|
ctx.gpr[17] = (ctx.gpr[2] | 0u);
|
|
{ const bool branch_taken = ctx.gpr[17] == 0u;
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_0894FC90;
|
|
}
|
|
goto L_0894FC08;
|
|
}
|
|
L_0894FC08:
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast<std::uint32_t>(2076)));
|
|
{ const bool branch_taken = ctx.gpr[17] == ctx.gpr[4];
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_0894FC90;
|
|
}
|
|
goto L_0894FC14;
|
|
}
|
|
L_0894FC14:
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast<std::uint32_t>(844)));
|
|
ctx.gpr[5] = (0u | 11u);
|
|
if (ctx.gpr[4] != ctx.gpr[5]) {
|
|
aot_mem.aot_store32(ctx.gpr[16] + static_cast<std::uint32_t>(844), 0u);
|
|
goto L_0894FC58;
|
|
}
|
|
goto L_0894FC24;
|
|
L_0894FC24:
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast<std::uint32_t>(912)));
|
|
{ const bool branch_taken = ctx.gpr[4] == 0u;
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_0894FC4C;
|
|
}
|
|
goto L_0894FC30;
|
|
}
|
|
L_0894FC30:
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast<std::uint32_t>(912)));
|
|
if (ctx.gpr[4] == 0u) {
|
|
aot_mem.aot_store32(ctx.gpr[16] + static_cast<std::uint32_t>(912), 0u);
|
|
goto L_0894FC4C;
|
|
}
|
|
goto L_0894FC3C;
|
|
L_0894FC3C:
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast<std::uint32_t>(912)));
|
|
ctx.gpr[31] = (0x0894FC48u);
|
|
ctx.gpr[5] = (ctx.gpr[16] + static_cast<std::uint32_t>(912));
|
|
if (rt.invoke_chained_direct<&recomp_unit_0013_entry, 13u, 700u, 0x0883B934u>(ctx, &aot_mem) && ctx.pc == 0x0894FC48u) goto L_0894FC48;
|
|
return;
|
|
L_0894FC48:
|
|
aot_mem.aot_store32(ctx.gpr[16] + static_cast<std::uint32_t>(912), 0u);
|
|
goto L_0894FC4C;
|
|
L_0894FC4C:
|
|
ctx.gpr[31] = (0x0894FC54u);
|
|
ctx.gpr[4] = (ctx.gpr[16] | 0u);
|
|
if (rt.invoke_chained_direct<&recomp_unit_0103_entry, 103u, 412u, 0x089A1D00u>(ctx, &aot_mem) && ctx.pc == 0x0894FC54u) goto L_0894FC54;
|
|
return;
|
|
L_0894FC54:
|
|
aot_mem.aot_store32(ctx.gpr[16] + static_cast<std::uint32_t>(844), 0u);
|
|
goto L_0894FC58;
|
|
L_0894FC58:
|
|
ctx.gpr[4] = (ctx.gpr[17] + static_cast<std::uint32_t>(16));
|
|
{ const std::uint32_t vfpu_address = ctx.gpr[4] + static_cast<std::uint32_t>(0);
|
|
float vfpu_value[4]{
|
|
std::bit_cast<float>(aot_mem.aot_load32(vfpu_address + 0u)),
|
|
std::bit_cast<float>(aot_mem.aot_load32(vfpu_address + 4u)),
|
|
std::bit_cast<float>(aot_mem.aot_load32(vfpu_address + 8u)),
|
|
std::bit_cast<float>(aot_mem.aot_load32(vfpu_address + 12u))};
|
|
ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); }
|
|
ctx.gpr[5] = (ctx.gpr[29] + 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 = ctx.gpr[5] + static_cast<std::uint32_t>(0);
|
|
aot_mem.aot_store32(vfpu_address + 0u, std::bit_cast<std::uint32_t>(vfpu_value[0]));
|
|
aot_mem.aot_store32(vfpu_address + 4u, std::bit_cast<std::uint32_t>(vfpu_value[1]));
|
|
aot_mem.aot_store32(vfpu_address + 8u, std::bit_cast<std::uint32_t>(vfpu_value[2]));
|
|
aot_mem.aot_store32(vfpu_address + 12u, std::bit_cast<std::uint32_t>(vfpu_value[3])); }
|
|
ctx.gpr[4] = (16256u << 16u);
|
|
ctx.fpr[12] = std::bit_cast<float>(ctx.gpr[4]);
|
|
ctx.gpr[31] = (0x0894FC78u);
|
|
ctx.gpr[4] = (ctx.gpr[16] | 0u);
|
|
if (rt.invoke_chained_direct<&recomp_unit_0103_entry, 103u, 311u, 0x089A16E4u>(ctx, &aot_mem) && ctx.pc == 0x0894FC78u) goto L_0894FC78;
|
|
return;
|
|
L_0894FC78:
|
|
ctx.gpr[4] = (ctx.gpr[16] | 0u);
|
|
ctx.gpr[31] = (0x0894FC84u);
|
|
ctx.gpr[5] = (0u | 4u);
|
|
if (rt.invoke_chained_direct<&recomp_unit_0103_entry, 103u, 546u, 0x089A2520u>(ctx, &aot_mem) && ctx.pc == 0x0894FC84u) goto L_0894FC84;
|
|
return;
|
|
L_0894FC84:
|
|
aot_mem.aot_store32(ctx.gpr[16] + static_cast<std::uint32_t>(2076), ctx.gpr[17]);
|
|
{ const bool branch_taken = 0u == 0u;
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_0894FC98;
|
|
}
|
|
goto L_0894FC90;
|
|
}
|
|
L_0894FC90:
|
|
ctx.gpr[4] = (0u | 256u);
|
|
aot_mem.aot_store32(ctx.gpr[16] + static_cast<std::uint32_t>(2068), ctx.gpr[4]);
|
|
goto L_0894FC98;
|
|
L_0894FC98:
|
|
ctx.fpr[12] = std::bit_cast<float>(aot_mem.aot_load32(ctx.gpr[29] + static_cast<std::uint32_t>(16)));
|
|
ctx.gpr[4] = (16544u << 16u);
|
|
ctx.fpr[13] = std::bit_cast<float>(ctx.gpr[4]);
|
|
ctx.set_fpu_condition((ctx.fpr[12] < ctx.fpr[13]));
|
|
// nop
|
|
{ const bool branch_taken = !ctx.fpu_condition();
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_0894FCC4;
|
|
}
|
|
goto L_0894FCB4;
|
|
}
|
|
L_0894FCB4:
|
|
ctx.gpr[31] = (0x0894FCBCu);
|
|
ctx.gpr[4] = (ctx.gpr[16] | 0u);
|
|
if (rt.invoke_chained_direct<&recomp_unit_0102_entry, 102u, 759u, 0x0899FD54u>(ctx, &aot_mem) && ctx.pc == 0x0894FCBCu) goto L_0894FCBC;
|
|
return;
|
|
L_0894FCBC:
|
|
ctx.gpr[4] = (0u | 128u);
|
|
aot_mem.aot_store32(ctx.gpr[16] + static_cast<std::uint32_t>(2068), ctx.gpr[4]);
|
|
goto L_0894FCC4;
|
|
L_0894FCC4:
|
|
{ const bool branch_taken = 0u == 0u;
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_0894FBD4;
|
|
}
|
|
goto L_0894FCCC;
|
|
}
|
|
L_0894FCCC:
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast<std::uint32_t>(2076)));
|
|
ctx.gpr[4] = (aot_mem.aot_load8(ctx.gpr[4] + static_cast<std::uint32_t>(0)));
|
|
{ const bool branch_taken = ctx.gpr[4] != 0u;
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_0894FCE4;
|
|
}
|
|
goto L_0894FCDC;
|
|
}
|
|
L_0894FCDC:
|
|
ctx.gpr[4] = (0u | 256u);
|
|
aot_mem.aot_store32(ctx.gpr[16] + static_cast<std::uint32_t>(2068), ctx.gpr[4]);
|
|
goto L_0894FCE4;
|
|
L_0894FCE4:
|
|
ctx.gpr[4] = (16880u << 16u);
|
|
ctx.fpr[12] = std::bit_cast<float>(ctx.gpr[4]);
|
|
aot_mem.aot_store32(ctx.gpr[29] + static_cast<std::uint32_t>(96), std::bit_cast<std::uint32_t>(ctx.fpr[12]));
|
|
ctx.gpr[4] = (2233u << 16u);
|
|
ctx.gpr[4] = (ctx.gpr[4] + static_cast<std::uint32_t>(-25056));
|
|
ctx.gpr[5] = (ctx.gpr[16] + static_cast<std::uint32_t>(48));
|
|
{ const std::uint32_t vfpu_address = ctx.gpr[5] + static_cast<std::uint32_t>(0);
|
|
float vfpu_value[4]{
|
|
std::bit_cast<float>(aot_mem.aot_load32(vfpu_address + 0u)),
|
|
std::bit_cast<float>(aot_mem.aot_load32(vfpu_address + 4u)),
|
|
std::bit_cast<float>(aot_mem.aot_load32(vfpu_address + 8u)),
|
|
std::bit_cast<float>(aot_mem.aot_load32(vfpu_address + 12u))};
|
|
ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); }
|
|
ctx.gpr[5] = (ctx.gpr[29] + static_cast<std::uint32_t>(80));
|
|
{ float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value);
|
|
const std::uint32_t vfpu_address = ctx.gpr[5] + static_cast<std::uint32_t>(0);
|
|
aot_mem.aot_store32(vfpu_address + 0u, std::bit_cast<std::uint32_t>(vfpu_value[0]));
|
|
aot_mem.aot_store32(vfpu_address + 4u, std::bit_cast<std::uint32_t>(vfpu_value[1]));
|
|
aot_mem.aot_store32(vfpu_address + 8u, std::bit_cast<std::uint32_t>(vfpu_value[2]));
|
|
aot_mem.aot_store32(vfpu_address + 12u, std::bit_cast<std::uint32_t>(vfpu_value[3])); }
|
|
ctx.gpr[31] = (0x0894FD10u);
|
|
ctx.gpr[6] = (ctx.gpr[29] + static_cast<std::uint32_t>(96));
|
|
if (rt.invoke_chained_direct<&recomp_unit_0018_entry, 18u, 581u, 0x0884E3D4u>(ctx, &aot_mem) && ctx.pc == 0x0894FD10u) goto L_0894FD10;
|
|
return;
|
|
L_0894FD10:
|
|
{ const bool branch_taken = ctx.gpr[2] == 0u;
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_0894FD20;
|
|
}
|
|
goto L_0894FD18;
|
|
}
|
|
L_0894FD18:
|
|
ctx.gpr[4] = (0u | 1u);
|
|
aot_mem.aot_store32(ctx.gpr[16] + static_cast<std::uint32_t>(2068), ctx.gpr[4]);
|
|
goto L_0894FD20;
|
|
L_0894FD20:
|
|
ctx.gpr[4] = (ctx.gpr[16] | 0u);
|
|
ctx.gpr[31] = (0x0894FD2Cu);
|
|
ctx.gpr[5] = (0u | 151u);
|
|
if (rt.invoke_chained_direct<&recomp_unit_0044_entry, 44u, 499u, 0x088B6D24u>(ctx, &aot_mem) && ctx.pc == 0x0894FD2Cu) goto L_0894FD2C;
|
|
return;
|
|
L_0894FD2C:
|
|
{ const bool branch_taken = 0u == 0u;
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_0894FBD4;
|
|
}
|
|
goto L_0894FD34;
|
|
}
|
|
L_0894FD34:
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast<std::uint32_t>(844)));
|
|
ctx.gpr[5] = (0u | 11u);
|
|
{ const bool branch_taken = ctx.gpr[4] != ctx.gpr[5];
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_0894FD74;
|
|
}
|
|
goto L_0894FD44;
|
|
}
|
|
L_0894FD44:
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast<std::uint32_t>(912)));
|
|
{ const bool branch_taken = ctx.gpr[4] == 0u;
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_0894FD6C;
|
|
}
|
|
goto L_0894FD50;
|
|
}
|
|
L_0894FD50:
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast<std::uint32_t>(912)));
|
|
if (ctx.gpr[4] == 0u) {
|
|
aot_mem.aot_store32(ctx.gpr[16] + static_cast<std::uint32_t>(912), 0u);
|
|
goto L_0894FD6C;
|
|
}
|
|
goto L_0894FD5C;
|
|
L_0894FD5C:
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast<std::uint32_t>(912)));
|
|
ctx.gpr[31] = (0x0894FD68u);
|
|
ctx.gpr[5] = (ctx.gpr[16] + static_cast<std::uint32_t>(912));
|
|
if (rt.invoke_chained_direct<&recomp_unit_0013_entry, 13u, 700u, 0x0883B934u>(ctx, &aot_mem) && ctx.pc == 0x0894FD68u) goto L_0894FD68;
|
|
return;
|
|
L_0894FD68:
|
|
aot_mem.aot_store32(ctx.gpr[16] + static_cast<std::uint32_t>(912), 0u);
|
|
goto L_0894FD6C;
|
|
L_0894FD6C:
|
|
ctx.gpr[31] = (0x0894FD74u);
|
|
ctx.gpr[4] = (ctx.gpr[16] | 0u);
|
|
if (rt.invoke_chained_direct<&recomp_unit_0103_entry, 103u, 412u, 0x089A1D00u>(ctx, &aot_mem) && ctx.pc == 0x0894FD74u) goto L_0894FD74;
|
|
return;
|
|
L_0894FD74:
|
|
ctx.gpr[31] = (0x0894FD7Cu);
|
|
aot_mem.aot_store32(ctx.gpr[16] + static_cast<std::uint32_t>(844), 0u);
|
|
goto L_0894DB08;
|
|
L_0894FD7C:
|
|
ctx.gpr[4] = (ctx.gpr[2] & 65535u);
|
|
if (static_cast<std::int32_t>(ctx.gpr[4]) >= 0) {
|
|
ctx.gpr[4] = (ctx.gpr[4] & 7u);
|
|
goto L_0894FD98;
|
|
}
|
|
goto L_0894FD88;
|
|
L_0894FD88:
|
|
ctx.gpr[4] = (0u - ctx.gpr[4]);
|
|
ctx.gpr[4] = (ctx.gpr[4] & 7u);
|
|
{ const bool branch_taken = 0u == 0u;
|
|
ctx.gpr[4] = (0u - ctx.gpr[4]);
|
|
if (branch_taken) {
|
|
goto L_0894FD98;
|
|
}
|
|
goto L_0894FD98;
|
|
}
|
|
L_0894FD98:
|
|
ctx.gpr[5] = (ctx.gpr[4] << 24u);
|
|
ctx.gpr[5] = (static_cast<std::uint32_t>(static_cast<std::int32_t>(ctx.gpr[5]) >> 24u));
|
|
ctx.gpr[31] = (0x0894FDA8u);
|
|
ctx.gpr[4] = (ctx.gpr[16] | 0u);
|
|
if (rt.invoke_chained_direct<&recomp_unit_0103_entry, 103u, 278u, 0x089A1468u>(ctx, &aot_mem) && ctx.pc == 0x0894FDA8u) goto L_0894FDA8;
|
|
return;
|
|
L_0894FDA8:
|
|
aot_mem.aot_store32(ctx.gpr[16] + static_cast<std::uint32_t>(2076), 0u);
|
|
aot_mem.aot_store32(ctx.gpr[16] + static_cast<std::uint32_t>(2068), 0u);
|
|
ctx.gpr[4] = (ctx.gpr[16] | 0u);
|
|
ctx.gpr[31] = (0x0894FDBCu);
|
|
ctx.gpr[5] = (0u | 2u);
|
|
if (rt.invoke_chained_direct<&recomp_unit_0103_entry, 103u, 546u, 0x089A2520u>(ctx, &aot_mem) && ctx.pc == 0x0894FDBCu) goto L_0894FDBC;
|
|
return;
|
|
L_0894FDBC:
|
|
{ const bool branch_taken = 0u == 0u;
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_0894FBD4;
|
|
}
|
|
goto L_0894FDC4;
|
|
}
|
|
L_0894FDC4:
|
|
ctx.gpr[16] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast<std::uint32_t>(100)));
|
|
ctx.gpr[17] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast<std::uint32_t>(104)));
|
|
ctx.gpr[31] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast<std::uint32_t>(108)));
|
|
jump_target = ctx.gpr[31];
|
|
ctx.gpr[29] = (ctx.gpr[29] + static_cast<std::uint32_t>(112));
|
|
local_pc = jump_target;
|
|
if (++local_transfers < 2048u) { entry_id = 0u; goto LOCAL_DISPATCH; }
|
|
ctx.pc = jump_target;
|
|
return;
|
|
L_0894FDD8:
|
|
ctx.gpr[4] = (2228u << 16u);
|
|
ctx.fpr[12] = std::bit_cast<float>(aot_mem.aot_load32(ctx.gpr[4] + static_cast<std::uint32_t>(-29764)));
|
|
ctx.gpr[4] = (16256u << 16u);
|
|
ctx.fpr[13] = std::bit_cast<float>(ctx.gpr[4]);
|
|
ctx.fpr[14] = ctx.fpr[13] / ctx.fpr[12];
|
|
ctx.gpr[5] = (2228u << 16u);
|
|
ctx.fpr[15] = std::bit_cast<float>(aot_mem.aot_load32(ctx.gpr[5] + static_cast<std::uint32_t>(-29768)));
|
|
ctx.gpr[6] = (2228u << 16u);
|
|
ctx.gpr[4] = (17096u << 16u);
|
|
ctx.gpr[9] = (2228u << 16u);
|
|
ctx.fpr[16] = std::bit_cast<float>(aot_mem.aot_load32(ctx.gpr[6] + static_cast<std::uint32_t>(-29740)));
|
|
ctx.gpr[5] = (16014u << 16u);
|
|
ctx.gpr[5] = (ctx.gpr[5] | 14571u);
|
|
ctx.gpr[11] = (2228u << 16u);
|
|
ctx.gpr[10] = (2228u << 16u);
|
|
ctx.gpr[7] = (16672u << 16u);
|
|
ctx.gpr[8] = (15744u << 16u);
|
|
ctx.gpr[2] = (2228u << 16u);
|
|
ctx.gpr[3] = (2228u << 16u);
|
|
{ const float fs = ctx.fpr[12]; const float ft = ctx.fpr[12]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[18] = std::bit_cast<float>(0x7FC00000u); else ctx.fpr[18] = fs * ft; }
|
|
ctx.fpr[17] = std::bit_cast<float>(ctx.gpr[4]);
|
|
ctx.fpr[13] = ctx.fpr[13] / ctx.fpr[18];
|
|
aot_mem.aot_store32(ctx.gpr[9] + static_cast<std::uint32_t>(-29760), std::bit_cast<std::uint32_t>(ctx.fpr[14]));
|
|
ctx.gpr[12] = (2228u << 16u);
|
|
ctx.fpr[14] = ctx.fpr[17] / ctx.fpr[15];
|
|
aot_mem.aot_store32(ctx.gpr[11] + static_cast<std::uint32_t>(-29752), std::bit_cast<std::uint32_t>(ctx.fpr[13]));
|
|
ctx.fpr[19] = std::bit_cast<float>(ctx.gpr[5]);
|
|
ctx.fpr[12] = ctx.fpr[19] / ctx.fpr[12];
|
|
aot_mem.aot_store32(ctx.gpr[10] + static_cast<std::uint32_t>(-29756), std::bit_cast<std::uint32_t>(ctx.fpr[14]));
|
|
ctx.fpr[14] = std::bit_cast<float>(ctx.gpr[7]);
|
|
{ const float fs = ctx.fpr[13]; const float ft = ctx.fpr[14]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[13] = std::bit_cast<float>(0x7FC00000u); else ctx.fpr[13] = fs * ft; }
|
|
ctx.fpr[18] = std::bit_cast<float>(ctx.gpr[8]);
|
|
{ const float fs = ctx.fpr[16]; const float ft = ctx.fpr[18]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[16] = std::bit_cast<float>(0x7FC00000u); else ctx.fpr[16] = fs * ft; }
|
|
aot_mem.aot_store32(ctx.gpr[2] + static_cast<std::uint32_t>(-29748), std::bit_cast<std::uint32_t>(ctx.fpr[13]));
|
|
aot_mem.aot_store32(ctx.gpr[3] + static_cast<std::uint32_t>(-29744), std::bit_cast<std::uint32_t>(ctx.fpr[12]));
|
|
jump_target = ctx.gpr[31];
|
|
aot_mem.aot_store32(ctx.gpr[12] + static_cast<std::uint32_t>(-29736), std::bit_cast<std::uint32_t>(ctx.fpr[16]));
|
|
local_pc = jump_target;
|
|
if (++local_transfers < 2048u) { entry_id = 0u; goto LOCAL_DISPATCH; }
|
|
ctx.pc = jump_target;
|
|
return;
|
|
L_0894FE6C:
|
|
ctx.gpr[29] = (ctx.gpr[29] + static_cast<std::uint32_t>(-48));
|
|
aot_mem.aot_store32(ctx.gpr[29] + static_cast<std::uint32_t>(20), ctx.gpr[5]);
|
|
aot_mem.aot_store32(ctx.gpr[29] + static_cast<std::uint32_t>(24), ctx.gpr[6]);
|
|
aot_mem.aot_store32(ctx.gpr[29] + static_cast<std::uint32_t>(28), ctx.gpr[7]);
|
|
aot_mem.aot_store32(ctx.gpr[29] + static_cast<std::uint32_t>(32), ctx.gpr[8]);
|
|
aot_mem.aot_store32(ctx.gpr[29] + static_cast<std::uint32_t>(36), ctx.gpr[9]);
|
|
aot_mem.aot_store32(ctx.gpr[29] + static_cast<std::uint32_t>(40), ctx.gpr[10]);
|
|
aot_mem.aot_store32(ctx.gpr[29] + static_cast<std::uint32_t>(44), ctx.gpr[11]);
|
|
ctx.gpr[2] = (0u | 0u);
|
|
jump_target = ctx.gpr[31];
|
|
ctx.gpr[29] = (ctx.gpr[29] + static_cast<std::uint32_t>(48));
|
|
local_pc = jump_target;
|
|
if (++local_transfers < 2048u) { entry_id = 0u; goto LOCAL_DISPATCH; }
|
|
ctx.pc = jump_target;
|
|
return;
|
|
L_0894FE98:
|
|
{ const std::uint32_t vfpu_address = ctx.gpr[5] + static_cast<std::uint32_t>(0);
|
|
float vfpu_value[4]{
|
|
std::bit_cast<float>(aot_mem.aot_load32(vfpu_address + 0u)),
|
|
std::bit_cast<float>(aot_mem.aot_load32(vfpu_address + 4u)),
|
|
std::bit_cast<float>(aot_mem.aot_load32(vfpu_address + 8u)),
|
|
std::bit_cast<float>(aot_mem.aot_load32(vfpu_address + 12u))};
|
|
ctx.write_vfpu_vector_ct<4u, 4u>(vfpu_value); }
|
|
{ const std::uint32_t vfpu_address = ctx.gpr[5] + static_cast<std::uint32_t>(16);
|
|
float vfpu_value[4]{
|
|
std::bit_cast<float>(aot_mem.aot_load32(vfpu_address + 0u)),
|
|
std::bit_cast<float>(aot_mem.aot_load32(vfpu_address + 4u)),
|
|
std::bit_cast<float>(aot_mem.aot_load32(vfpu_address + 8u)),
|
|
std::bit_cast<float>(aot_mem.aot_load32(vfpu_address + 12u))};
|
|
ctx.write_vfpu_vector_ct<5u, 4u>(vfpu_value); }
|
|
{ const std::uint32_t vfpu_address = ctx.gpr[5] + static_cast<std::uint32_t>(32);
|
|
float vfpu_value[4]{
|
|
std::bit_cast<float>(aot_mem.aot_load32(vfpu_address + 0u)),
|
|
std::bit_cast<float>(aot_mem.aot_load32(vfpu_address + 4u)),
|
|
std::bit_cast<float>(aot_mem.aot_load32(vfpu_address + 8u)),
|
|
std::bit_cast<float>(aot_mem.aot_load32(vfpu_address + 12u))};
|
|
ctx.write_vfpu_vector_ct<6u, 4u>(vfpu_value); }
|
|
{ const std::uint32_t vfpu_address = ctx.gpr[6] + static_cast<std::uint32_t>(0);
|
|
float vfpu_value[4]{
|
|
std::bit_cast<float>(aot_mem.aot_load32(vfpu_address + 0u)),
|
|
std::bit_cast<float>(aot_mem.aot_load32(vfpu_address + 4u)),
|
|
std::bit_cast<float>(aot_mem.aot_load32(vfpu_address + 8u)),
|
|
std::bit_cast<float>(aot_mem.aot_load32(vfpu_address + 12u))};
|
|
ctx.write_vfpu_vector_ct<7u, 4u>(vfpu_value); }
|
|
{ float vfpu_matrix[16]{}, vfpu_target_raw[4]{}, vfpu_target[4]{}, vfpu_result[4]{};
|
|
ctx.read_vfpu_matrix(vfpu_matrix, 36u, 3u);
|
|
ctx.read_vfpu_vector_ct<7u, 3u>(vfpu_target_raw);
|
|
constexpr std::uint32_t vfpu_side = 3u;
|
|
constexpr std::uint32_t vfpu_input_length = 3u;
|
|
for (std::uint32_t i = 0; i < 4u; ++i) vfpu_target[i] = i < vfpu_input_length ? vfpu_target_raw[i] : 0.0f;
|
|
if (vfpu_side - 1u >= vfpu_input_length) vfpu_target[vfpu_side - 1u] = 1.0f;
|
|
for (std::uint32_t row = 0; row + 1u < vfpu_side; ++row) {
|
|
float sum = 0.0f;
|
|
for (std::uint32_t column = 0; column < vfpu_side; ++column) sum += vfpu_matrix[row * 4u + column] * vfpu_target[column];
|
|
vfpu_result[row] = sum;
|
|
}
|
|
float vfpu_final_row[4]{vfpu_matrix[(vfpu_side - 1u) * 4u + 0u], vfpu_matrix[(vfpu_side - 1u) * 4u + 1u],
|
|
vfpu_matrix[(vfpu_side - 1u) * 4u + 2u], vfpu_matrix[(vfpu_side - 1u) * 4u + 3u]};
|
|
ctx.apply_vfpu_source_prefix_ct<4u, 0u>(vfpu_final_row);
|
|
ctx.apply_vfpu_source_prefix_ct<4u, 1u>(vfpu_target);
|
|
for (std::uint32_t column = 0; column < 4u; ++column) vfpu_result[vfpu_side - 1u] += vfpu_final_row[column] * vfpu_target[column];
|
|
const std::uint32_t vfpu_destination_prefix = ctx.vfpu_ctrl[2];
|
|
const std::uint32_t vfpu_last_lane = vfpu_side - 1u;
|
|
ctx.vfpu_ctrl[2] = ((vfpu_destination_prefix & (1u << 8u)) << vfpu_last_lane) |
|
|
((vfpu_destination_prefix & 3u) << (vfpu_last_lane * 2u));
|
|
ctx.write_vfpu_vector_with_destination_prefix(vfpu_result, 0u, vfpu_side); }
|
|
{ float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value);
|
|
const std::uint32_t vfpu_address = ctx.gpr[4] + static_cast<std::uint32_t>(0);
|
|
aot_mem.aot_store32(vfpu_address + 0u, std::bit_cast<std::uint32_t>(vfpu_value[0]));
|
|
aot_mem.aot_store32(vfpu_address + 4u, std::bit_cast<std::uint32_t>(vfpu_value[1]));
|
|
aot_mem.aot_store32(vfpu_address + 8u, std::bit_cast<std::uint32_t>(vfpu_value[2]));
|
|
aot_mem.aot_store32(vfpu_address + 12u, std::bit_cast<std::uint32_t>(vfpu_value[3])); }
|
|
jump_target = ctx.gpr[31];
|
|
// nop
|
|
local_pc = jump_target;
|
|
if (++local_transfers < 2048u) { entry_id = 0u; goto LOCAL_DISPATCH; }
|
|
ctx.pc = jump_target;
|
|
return;
|
|
L_0894FEB8:
|
|
{ const std::uint32_t vfpu_address = ctx.gpr[6] + static_cast<std::uint32_t>(0);
|
|
float vfpu_value[4]{
|
|
std::bit_cast<float>(aot_mem.aot_load32(vfpu_address + 0u)),
|
|
std::bit_cast<float>(aot_mem.aot_load32(vfpu_address + 4u)),
|
|
std::bit_cast<float>(aot_mem.aot_load32(vfpu_address + 8u)),
|
|
std::bit_cast<float>(aot_mem.aot_load32(vfpu_address + 12u))};
|
|
ctx.write_vfpu_vector_ct<1u, 4u>(vfpu_value); }
|
|
{ const std::uint32_t vfpu_address = ctx.gpr[5] + static_cast<std::uint32_t>(0);
|
|
float vfpu_value[4]{
|
|
std::bit_cast<float>(aot_mem.aot_load32(vfpu_address + 0u)),
|
|
std::bit_cast<float>(aot_mem.aot_load32(vfpu_address + 4u)),
|
|
std::bit_cast<float>(aot_mem.aot_load32(vfpu_address + 8u)),
|
|
std::bit_cast<float>(aot_mem.aot_load32(vfpu_address + 12u))};
|
|
ctx.write_vfpu_vector_ct<4u, 4u>(vfpu_value); }
|
|
{ const std::uint32_t vfpu_address = ctx.gpr[5] + static_cast<std::uint32_t>(16);
|
|
float vfpu_value[4]{
|
|
std::bit_cast<float>(aot_mem.aot_load32(vfpu_address + 0u)),
|
|
std::bit_cast<float>(aot_mem.aot_load32(vfpu_address + 4u)),
|
|
std::bit_cast<float>(aot_mem.aot_load32(vfpu_address + 8u)),
|
|
std::bit_cast<float>(aot_mem.aot_load32(vfpu_address + 12u))};
|
|
ctx.write_vfpu_vector_ct<5u, 4u>(vfpu_value); }
|
|
{ const std::uint32_t vfpu_address = ctx.gpr[5] + static_cast<std::uint32_t>(32);
|
|
float vfpu_value[4]{
|
|
std::bit_cast<float>(aot_mem.aot_load32(vfpu_address + 0u)),
|
|
std::bit_cast<float>(aot_mem.aot_load32(vfpu_address + 4u)),
|
|
std::bit_cast<float>(aot_mem.aot_load32(vfpu_address + 8u)),
|
|
std::bit_cast<float>(aot_mem.aot_load32(vfpu_address + 12u))};
|
|
ctx.write_vfpu_vector_ct<6u, 4u>(vfpu_value); }
|
|
{ const std::uint32_t vfpu_address = ctx.gpr[5] + static_cast<std::uint32_t>(48);
|
|
float vfpu_value[4]{
|
|
std::bit_cast<float>(aot_mem.aot_load32(vfpu_address + 0u)),
|
|
std::bit_cast<float>(aot_mem.aot_load32(vfpu_address + 4u)),
|
|
std::bit_cast<float>(aot_mem.aot_load32(vfpu_address + 8u)),
|
|
std::bit_cast<float>(aot_mem.aot_load32(vfpu_address + 12u))};
|
|
ctx.write_vfpu_vector_ct<7u, 4u>(vfpu_value); }
|
|
{ float vfpu_matrix[16]{}, vfpu_target_raw[4]{}, vfpu_target[4]{}, vfpu_result[4]{};
|
|
ctx.read_vfpu_matrix(vfpu_matrix, 36u, 3u);
|
|
ctx.read_vfpu_vector_ct<1u, 3u>(vfpu_target_raw);
|
|
constexpr std::uint32_t vfpu_side = 3u;
|
|
constexpr std::uint32_t vfpu_input_length = 3u;
|
|
for (std::uint32_t i = 0; i < 4u; ++i) vfpu_target[i] = i < vfpu_input_length ? vfpu_target_raw[i] : 0.0f;
|
|
if (vfpu_side - 1u >= vfpu_input_length) vfpu_target[vfpu_side - 1u] = 1.0f;
|
|
for (std::uint32_t row = 0; row + 1u < vfpu_side; ++row) {
|
|
float sum = 0.0f;
|
|
for (std::uint32_t column = 0; column < vfpu_side; ++column) sum += vfpu_matrix[row * 4u + column] * vfpu_target[column];
|
|
vfpu_result[row] = sum;
|
|
}
|
|
float vfpu_final_row[4]{vfpu_matrix[(vfpu_side - 1u) * 4u + 0u], vfpu_matrix[(vfpu_side - 1u) * 4u + 1u],
|
|
vfpu_matrix[(vfpu_side - 1u) * 4u + 2u], vfpu_matrix[(vfpu_side - 1u) * 4u + 3u]};
|
|
ctx.apply_vfpu_source_prefix_ct<4u, 0u>(vfpu_final_row);
|
|
ctx.apply_vfpu_source_prefix_ct<4u, 1u>(vfpu_target);
|
|
for (std::uint32_t column = 0; column < 4u; ++column) vfpu_result[vfpu_side - 1u] += vfpu_final_row[column] * vfpu_target[column];
|
|
const std::uint32_t vfpu_destination_prefix = ctx.vfpu_ctrl[2];
|
|
const std::uint32_t vfpu_last_lane = vfpu_side - 1u;
|
|
ctx.vfpu_ctrl[2] = ((vfpu_destination_prefix & (1u << 8u)) << vfpu_last_lane) |
|
|
((vfpu_destination_prefix & 3u) << (vfpu_last_lane * 2u));
|
|
ctx.write_vfpu_vector_with_destination_prefix(vfpu_result, 0u, vfpu_side); }
|
|
{ float vfpu_s[4]{}, vfpu_t[4]{}, vfpu_d[4]{};
|
|
ctx.read_vfpu_vector_with_source_prefix_ct<0u, 3u, 0u>(vfpu_s);
|
|
ctx.read_vfpu_vector_with_source_prefix_ct<7u, 3u, 1u>(vfpu_t);
|
|
for (std::uint32_t i = 0; i < 3u; ++i) vfpu_d[i] = vfpu_s[i] + vfpu_t[i];
|
|
ctx.write_vfpu_vector_with_destination_prefix_ct<0u, 3u>(vfpu_d); }
|
|
{ float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value);
|
|
const std::uint32_t vfpu_address = ctx.gpr[4] + static_cast<std::uint32_t>(0);
|
|
aot_mem.aot_store32(vfpu_address + 0u, std::bit_cast<std::uint32_t>(vfpu_value[0]));
|
|
aot_mem.aot_store32(vfpu_address + 4u, std::bit_cast<std::uint32_t>(vfpu_value[1]));
|
|
aot_mem.aot_store32(vfpu_address + 8u, std::bit_cast<std::uint32_t>(vfpu_value[2]));
|
|
aot_mem.aot_store32(vfpu_address + 12u, std::bit_cast<std::uint32_t>(vfpu_value[3])); }
|
|
jump_target = ctx.gpr[31];
|
|
// nop
|
|
local_pc = jump_target;
|
|
if (++local_transfers < 2048u) { entry_id = 0u; goto LOCAL_DISPATCH; }
|
|
ctx.pc = jump_target;
|
|
return;
|
|
L_0894FEE0:
|
|
{ const std::uint32_t vfpu_address = ctx.gpr[5] + static_cast<std::uint32_t>(0);
|
|
float vfpu_value[4]{
|
|
std::bit_cast<float>(aot_mem.aot_load32(vfpu_address + 0u)),
|
|
std::bit_cast<float>(aot_mem.aot_load32(vfpu_address + 4u)),
|
|
std::bit_cast<float>(aot_mem.aot_load32(vfpu_address + 8u)),
|
|
std::bit_cast<float>(aot_mem.aot_load32(vfpu_address + 12u))};
|
|
ctx.write_vfpu_vector_ct<0u, 4u>(vfpu_value); }
|
|
{ float vfpu_s[4]{}, vfpu_d[4]{};
|
|
ctx.read_vfpu_vector_with_source_prefix_ct<0u, 3u, 0u>(vfpu_s);
|
|
for (std::uint32_t i = 0; i < 3u; ++i) vfpu_d[i] = -vfpu_s[i];
|
|
ctx.write_vfpu_vector_with_destination_prefix_ct<0u, 3u>(vfpu_d); }
|
|
{ float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value);
|
|
const std::uint32_t vfpu_address = ctx.gpr[4] + static_cast<std::uint32_t>(0);
|
|
aot_mem.aot_store32(vfpu_address + 0u, std::bit_cast<std::uint32_t>(vfpu_value[0]));
|
|
aot_mem.aot_store32(vfpu_address + 4u, std::bit_cast<std::uint32_t>(vfpu_value[1]));
|
|
aot_mem.aot_store32(vfpu_address + 8u, std::bit_cast<std::uint32_t>(vfpu_value[2]));
|
|
aot_mem.aot_store32(vfpu_address + 12u, std::bit_cast<std::uint32_t>(vfpu_value[3])); }
|
|
jump_target = ctx.gpr[31];
|
|
// nop
|
|
local_pc = jump_target;
|
|
if (++local_transfers < 2048u) { entry_id = 0u; goto LOCAL_DISPATCH; }
|
|
ctx.pc = jump_target;
|
|
return;
|
|
L_0894FEF4:
|
|
ctx.gpr[29] = (ctx.gpr[29] + static_cast<std::uint32_t>(-32));
|
|
aot_mem.aot_store32(ctx.gpr[29] + static_cast<std::uint32_t>(20), ctx.gpr[17]);
|
|
ctx.gpr[17] = (2230u << 16u);
|
|
ctx.gpr[5] = (aot_mem.aot_load32(ctx.gpr[17] + static_cast<std::uint32_t>(-20436)));
|
|
aot_mem.aot_store32(ctx.gpr[29] + static_cast<std::uint32_t>(16), ctx.gpr[16]);
|
|
aot_mem.aot_store32(ctx.gpr[29] + static_cast<std::uint32_t>(24), ctx.gpr[31]);
|
|
{ const bool branch_taken = ctx.gpr[5] != 0u;
|
|
ctx.gpr[16] = (ctx.gpr[4] | 0u);
|
|
if (branch_taken) {
|
|
goto L_0894FF1C;
|
|
}
|
|
goto L_0894FF14;
|
|
}
|
|
L_0894FF14:
|
|
ctx.gpr[31] = (0x0894FF1Cu);
|
|
// nop
|
|
if (rt.invoke_chained_direct<&recomp_unit_0190_entry, 190u, 465u, 0x08AFDEA0u>(ctx, &aot_mem) && ctx.pc == 0x0894FF1Cu) goto L_0894FF1C;
|
|
return;
|
|
L_0894FF1C:
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[17] + static_cast<std::uint32_t>(-20436)));
|
|
ctx.gpr[31] = (0x0894FF28u);
|
|
ctx.gpr[5] = (ctx.gpr[16] | 0u);
|
|
if (rt.invoke_chained_direct<&recomp_unit_0083_entry, 83u, 223u, 0x089516D4u>(ctx, &aot_mem) && ctx.pc == 0x0894FF28u) goto L_0894FF28;
|
|
return;
|
|
L_0894FF28:
|
|
ctx.gpr[16] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast<std::uint32_t>(16)));
|
|
ctx.gpr[17] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast<std::uint32_t>(20)));
|
|
ctx.gpr[31] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast<std::uint32_t>(24)));
|
|
jump_target = ctx.gpr[31];
|
|
ctx.gpr[29] = (ctx.gpr[29] + static_cast<std::uint32_t>(32));
|
|
local_pc = jump_target;
|
|
if (++local_transfers < 2048u) { entry_id = 0u; goto LOCAL_DISPATCH; }
|
|
ctx.pc = jump_target;
|
|
return;
|
|
L_0894FF3C:
|
|
ctx.gpr[7] = (aot_mem.aot_load32(ctx.gpr[4] + static_cast<std::uint32_t>(0)));
|
|
ctx.gpr[8] = (rt.memory().aot_load_word_right(ctx.gpr[6] + static_cast<std::uint32_t>(1), ctx.gpr[8]));
|
|
ctx.gpr[9] = (rt.memory().aot_load_word_right(ctx.gpr[6] + static_cast<std::uint32_t>(5), ctx.gpr[9]));
|
|
ctx.gpr[10] = (rt.memory().aot_load_word_right(ctx.gpr[6] + static_cast<std::uint32_t>(9), ctx.gpr[10]));
|
|
ctx.gpr[11] = (rt.memory().aot_load_word_right(ctx.gpr[6] + static_cast<std::uint32_t>(17), ctx.gpr[11]));
|
|
ctx.gpr[12] = (rt.memory().aot_load_word_right(ctx.gpr[6] + static_cast<std::uint32_t>(21), ctx.gpr[12]));
|
|
ctx.gpr[13] = (rt.memory().aot_load_word_right(ctx.gpr[6] + static_cast<std::uint32_t>(25), ctx.gpr[13]));
|
|
ctx.gpr[14] = (rt.memory().aot_load_word_right(ctx.gpr[6] + static_cast<std::uint32_t>(33), ctx.gpr[14]));
|
|
ctx.gpr[15] = (rt.memory().aot_load_word_right(ctx.gpr[6] + static_cast<std::uint32_t>(37), ctx.gpr[15]));
|
|
ctx.gpr[24] = (rt.memory().aot_load_word_right(ctx.gpr[6] + static_cast<std::uint32_t>(41), ctx.gpr[24]));
|
|
ctx.gpr[25] = (rt.memory().aot_load_word_right(ctx.gpr[6] + static_cast<std::uint32_t>(49), ctx.gpr[25]));
|
|
ctx.gpr[2] = (rt.memory().aot_load_word_right(ctx.gpr[6] + static_cast<std::uint32_t>(53), ctx.gpr[2]));
|
|
ctx.gpr[3] = (rt.memory().aot_load_word_right(ctx.gpr[6] + static_cast<std::uint32_t>(57), ctx.gpr[3]));
|
|
ctx.gpr[8] = ((ctx.gpr[8] & ~0xFF000000u) | ((ctx.gpr[5] & 0x000000FFu) << 24u));
|
|
ctx.gpr[9] = ((ctx.gpr[9] & ~0xFF000000u) | ((ctx.gpr[5] & 0x000000FFu) << 24u));
|
|
ctx.gpr[10] = ((ctx.gpr[10] & ~0xFF000000u) | ((ctx.gpr[5] & 0x000000FFu) << 24u));
|
|
ctx.gpr[11] = ((ctx.gpr[11] & ~0xFF000000u) | ((ctx.gpr[5] & 0x000000FFu) << 24u));
|
|
ctx.gpr[12] = ((ctx.gpr[12] & ~0xFF000000u) | ((ctx.gpr[5] & 0x000000FFu) << 24u));
|
|
ctx.gpr[13] = ((ctx.gpr[13] & ~0xFF000000u) | ((ctx.gpr[5] & 0x000000FFu) << 24u));
|
|
ctx.gpr[14] = ((ctx.gpr[14] & ~0xFF000000u) | ((ctx.gpr[5] & 0x000000FFu) << 24u));
|
|
ctx.gpr[15] = ((ctx.gpr[15] & ~0xFF000000u) | ((ctx.gpr[5] & 0x000000FFu) << 24u));
|
|
ctx.gpr[24] = ((ctx.gpr[24] & ~0xFF000000u) | ((ctx.gpr[5] & 0x000000FFu) << 24u));
|
|
ctx.gpr[25] = ((ctx.gpr[25] & ~0xFF000000u) | ((ctx.gpr[5] & 0x000000FFu) << 24u));
|
|
ctx.gpr[2] = ((ctx.gpr[2] & ~0xFF000000u) | ((ctx.gpr[5] & 0x000000FFu) << 24u));
|
|
ctx.gpr[3] = ((ctx.gpr[3] & ~0xFF000000u) | ((ctx.gpr[5] & 0x000000FFu) << 24u));
|
|
aot_mem.aot_store32(ctx.gpr[7] + static_cast<std::uint32_t>(0), ctx.gpr[8]);
|
|
aot_mem.aot_store32(ctx.gpr[7] + static_cast<std::uint32_t>(4), ctx.gpr[9]);
|
|
aot_mem.aot_store32(ctx.gpr[7] + static_cast<std::uint32_t>(8), ctx.gpr[10]);
|
|
aot_mem.aot_store32(ctx.gpr[7] + static_cast<std::uint32_t>(12), ctx.gpr[11]);
|
|
aot_mem.aot_store32(ctx.gpr[7] + static_cast<std::uint32_t>(16), ctx.gpr[12]);
|
|
aot_mem.aot_store32(ctx.gpr[7] + static_cast<std::uint32_t>(20), ctx.gpr[13]);
|
|
aot_mem.aot_store32(ctx.gpr[7] + static_cast<std::uint32_t>(24), ctx.gpr[14]);
|
|
aot_mem.aot_store32(ctx.gpr[7] + static_cast<std::uint32_t>(28), ctx.gpr[15]);
|
|
aot_mem.aot_store32(ctx.gpr[7] + static_cast<std::uint32_t>(32), ctx.gpr[24]);
|
|
aot_mem.aot_store32(ctx.gpr[7] + static_cast<std::uint32_t>(36), ctx.gpr[25]);
|
|
aot_mem.aot_store32(ctx.gpr[7] + static_cast<std::uint32_t>(40), ctx.gpr[2]);
|
|
aot_mem.aot_store32(ctx.gpr[7] + static_cast<std::uint32_t>(44), ctx.gpr[3]);
|
|
ctx.gpr[5] = (aot_mem.aot_load32(ctx.gpr[4] + static_cast<std::uint32_t>(0)));
|
|
ctx.gpr[5] = (ctx.gpr[5] + static_cast<std::uint32_t>(48));
|
|
jump_target = ctx.gpr[31];
|
|
aot_mem.aot_store32(ctx.gpr[4] + static_cast<std::uint32_t>(0), ctx.gpr[5]);
|
|
local_pc = jump_target;
|
|
if (++local_transfers < 2048u) { entry_id = 0u; goto LOCAL_DISPATCH; }
|
|
ctx.pc = jump_target;
|
|
return;
|
|
L_0894FFE0:
|
|
ctx.gpr[29] = (ctx.gpr[29] + static_cast<std::uint32_t>(-48));
|
|
ctx.gpr[5] = (aot_mem.aot_load32(ctx.gpr[4] + static_cast<std::uint32_t>(20)));
|
|
aot_mem.aot_store32(ctx.gpr[29] + static_cast<std::uint32_t>(36), ctx.gpr[31]);
|
|
{ const bool branch_taken = ctx.gpr[5] != 0u;
|
|
// nop
|
|
if (branch_taken) {
|
|
(void)rt.invoke_chained_direct<&recomp_unit_0083_entry, 83u, 6u, 0x08950090u>(ctx, &aot_mem); return;
|
|
}
|
|
goto L_0894FFF4;
|
|
}
|
|
L_0894FFF4:
|
|
aot_mem.aot_store32(ctx.gpr[29] + static_cast<std::uint32_t>(32), ctx.gpr[4]);
|
|
ctx.fpr[12] = std::bit_cast<float>(0u);
|
|
aot_mem.aot_store32(ctx.gpr[4] + static_cast<std::uint32_t>(52), std::bit_cast<std::uint32_t>(ctx.fpr[12]));
|
|
ctx.pc = 0x08950000u; return;
|
|
}
|
|
|
|
void recomp_unit_0082(Runtime &rt, AllegrexContext &ctx) {
|
|
auto aot_mem = rt.memory().aot_fast_view();
|
|
recomp_unit_0082_entry(rt, ctx, 0u, aot_mem);
|
|
}
|
|
|
|
void register_generated_unit_82(Runtime &runtime) {
|
|
runtime.register_generated_unit(82u, 0x0894C000u, 16384u, &recomp_unit_0082, &recomp_unit_0082_entry);
|
|
runtime.register_function(0x0894C000u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894C008u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894C018u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894C024u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894C034u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894C068u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894C070u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894C090u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894C0A0u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894C0ACu, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894C0BCu, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894C0F0u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894C0F8u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894C118u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894C124u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894C130u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894C14Cu, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894C16Cu, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894C180u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894C184u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894C18Cu, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894C1ACu, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894C1B8u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894C1C4u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894C1CCu, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894C1D0u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894C1F4u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894C260u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894C288u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894C2ACu, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894C2BCu, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894C2F4u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894C308u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894C314u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894C32Cu, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894C344u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894C35Cu, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894C364u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894C368u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894C374u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894C37Cu, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894C388u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894C398u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894C3A8u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894C3B4u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894C3C0u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894C3D4u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894C3D8u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894C3E0u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894C3F0u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894C400u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894C408u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894C43Cu, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894C444u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894C450u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894C474u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894C488u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894C4A0u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894C4B4u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894C4C0u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894C4D0u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894C4DCu, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894C4ECu, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894C4FCu, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894C50Cu, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894C518u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894C528u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894C538u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894C548u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894C550u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894C558u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894C568u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894C570u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894C57Cu, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894C58Cu, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894C59Cu, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894C5D0u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894C5D8u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894C5E0u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894C604u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894C618u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894C628u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894C634u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894C644u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894C678u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894C680u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894C6A4u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894C6B4u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894C6C0u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894C6D0u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894C704u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894C70Cu, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894C730u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894C740u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894C74Cu, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894C75Cu, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894C790u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894C798u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894C7BCu, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894C7CCu, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894C7D8u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894C7E8u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894C81Cu, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894C824u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894C848u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894C854u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894C860u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894C878u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894C880u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894C884u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894C8C4u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894C904u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894C918u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894C934u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894C948u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894C958u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894C968u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894C978u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894C980u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894C988u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894C998u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894C9A8u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894C9B8u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894C9C0u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894C9C8u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894C9D0u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894C9E0u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894CA04u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894CA0Cu, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894CA24u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894CA38u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894CA44u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894CA50u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894CA6Cu, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894CA7Cu, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894CAC0u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894CAD4u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894CAFCu, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894CB0Cu, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894CB1Cu, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894CB2Cu, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894CB6Cu, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894CB80u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894CBBCu, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894CBD0u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894CBE0u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894CBE8u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894CBFCu, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894CC34u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894CC84u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894CC94u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894CCA8u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894CCB8u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894CCC4u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894CCE0u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894CCF4u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894CD0Cu, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894CD50u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894CD64u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894CDA8u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894CDCCu, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894CDD8u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894CDDCu, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894CDECu, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894CDFCu, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894CE0Cu, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894CE1Cu, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894CE2Cu, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894CE3Cu, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894CE4Cu, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894CE5Cu, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894CE6Cu, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894CE7Cu, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894CE8Cu, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894CE9Cu, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894CEACu, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894CEBCu, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894CEC4u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894CECCu, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894CEE0u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894CEF4u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894CF08u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894CF1Cu, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894CF30u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894CF4Cu, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894CF60u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894CF84u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894CF98u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894CFACu, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894CFC0u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894CFD4u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894CFE8u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894CFFCu, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894D010u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894D024u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894D038u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894D04Cu, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894D060u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894D070u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894D080u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894D090u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894D0A0u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894D0B0u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894D0C0u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894D0D0u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894D0E0u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894D0F0u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894D100u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894D110u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894D120u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894D130u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894D138u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894D140u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894D154u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894D15Cu, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894D224u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894D23Cu, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894D244u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894D258u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894D274u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894D27Cu, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894D2C4u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894D32Cu, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894D348u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894D374u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894D37Cu, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894D3C8u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894D3D0u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894D3E4u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894D3FCu, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894D40Cu, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894D42Cu, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894D430u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894D450u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894D464u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894D470u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894D480u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894D490u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894D498u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894D4A8u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894D4B8u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894D4C8u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894D4D0u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894D4E8u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894D51Cu, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894D520u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894D538u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894D544u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894D550u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894D55Cu, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894D568u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894D574u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894D580u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894D58Cu, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894D590u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894D5C8u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894D60Cu, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894D620u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894D628u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894D630u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894D65Cu, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894D668u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894D680u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894D688u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894D690u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894D69Cu, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894D6A4u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894D738u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894D750u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894D758u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894D774u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894D78Cu, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894D794u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894D7B4u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894D7C0u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894D7D0u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894D7ECu, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894D7F4u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894D7FCu, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894D804u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894D810u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894D81Cu, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894D824u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894D82Cu, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894D83Cu, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894D878u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894D89Cu, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894D8A4u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894D8B0u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894D8C0u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894D8D4u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894D90Cu, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894DA00u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894DA0Cu, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894DA2Cu, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894DA38u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894DA40u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894DA48u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894DADCu, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894DAECu, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894DAF4u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894DB08u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894DB58u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894DB68u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894DB70u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894DB80u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894DB8Cu, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894DB98u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894DBB0u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894DBD4u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894DC00u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894DC08u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894DC48u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894DC6Cu, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894DC74u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894DCBCu, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894DD04u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894DD5Cu, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894DD78u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894DDD0u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894DDECu, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894DDF4u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894DE10u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894DE20u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894DE28u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894DE44u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894DE5Cu, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894DE84u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894DE9Cu, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894DEC8u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894DED0u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894DEDCu, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894DEE4u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894DEECu, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894DEF8u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894DF08u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894DF10u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894DF20u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894DF28u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894DF30u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894DF3Cu, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894DF44u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894DF4Cu, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894DF54u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894DF74u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894DF78u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894DF94u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894DFC0u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894DFFCu, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894E010u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894E040u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894E048u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894E07Cu, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894E0C0u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894E0CCu, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894E110u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894E134u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894E140u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894E168u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894E190u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894E194u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894E1ACu, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894E1B8u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894E1CCu, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894E1E0u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894E1E8u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894E1F4u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894E1FCu, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894E208u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894E21Cu, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894E228u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894E234u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894E23Cu, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894E244u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894E25Cu, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894E268u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894E284u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894E290u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894E298u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894E2A0u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894E2B4u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894E2B8u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894E2C0u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894E2C8u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894E2CCu, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894E2DCu, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894E2FCu, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894E308u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894E310u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894E31Cu, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894E32Cu, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894E334u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894E348u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894E358u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894E368u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894E374u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894E3D4u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894E3E0u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894E408u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894E428u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894E430u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894E44Cu, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894E458u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894E474u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894E480u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894E49Cu, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894E4A8u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894E4C0u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894E4DCu, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894E4E8u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894E4F4u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894E574u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894E590u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894E5A0u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894E5B0u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894E5C0u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894E620u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894E644u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894E65Cu, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894E668u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894E694u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894E6A0u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894E6D0u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894E6F4u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894E6F8u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894E708u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894E720u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894E748u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894E750u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894E758u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894E760u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894E76Cu, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894E778u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894E78Cu, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894E794u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894E7F0u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894E7FCu, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894E804u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894E85Cu, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894E878u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894E87Cu, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894E898u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894E8B4u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894E8D0u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894E8DCu, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894E8F0u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894E8F8u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894E914u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894E91Cu, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894E938u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894E944u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894E958u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894E974u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894E98Cu, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894E998u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894E9A0u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894E9B4u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894E9C4u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894EA18u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894EA20u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894EA24u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894EA2Cu, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894EA40u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894EA5Cu, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894EA6Cu, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894EA7Cu, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894EAA0u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894EAA8u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894EAB0u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894EAB8u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894EAC0u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894EAC8u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894EAD0u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894EAF8u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894EB00u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894EB10u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894EB1Cu, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894EB24u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894EB2Cu, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894EB38u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894EB54u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894EB5Cu, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894EB64u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894EB6Cu, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894EB74u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894EB84u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894EB90u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894EB98u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894EBA0u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894EBA8u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894EBB0u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894EBB8u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894EBC8u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894EBD0u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894EBD8u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894EBE0u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894EBE8u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894EBF0u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894EBF8u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894EC08u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894EC30u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894EC38u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894EC40u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894EC48u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894EC54u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894EC6Cu, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894EC74u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894EC88u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894ECA4u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894ECB0u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894ECB8u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894ECD4u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894ECDCu, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894ECECu, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894ECF4u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894ED04u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894ED10u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894ED18u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894ED24u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894ED30u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894ED40u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894ED50u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894ED74u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894ED7Cu, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894ED98u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894EDD0u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894EDE4u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894EDF0u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894EDF8u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894EE08u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894EE18u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894EE24u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894EE2Cu, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894EE3Cu, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894EE50u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894EE6Cu, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894EE84u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894EEA0u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894EEA4u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894EEBCu, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894EEC4u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894EED8u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894EEE0u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894EEE8u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894EF10u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894EF30u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894EF38u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894EF40u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894EF50u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894EF5Cu, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894EF64u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894EF7Cu, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894EF84u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894EF9Cu, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894EFA4u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894EFB0u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894EFB8u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894EFC0u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894EFC8u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894EFE8u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894EFF8u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894F008u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894F024u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894F03Cu, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894F0A4u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894F0CCu, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894F0D8u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894F0E4u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894F0F4u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894F104u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894F114u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894F124u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894F12Cu, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894F13Cu, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894F154u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894F164u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894F178u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894F180u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894F190u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894F1A0u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894F1B0u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894F1C0u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894F1C8u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894F1D8u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894F1E0u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894F1ECu, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894F1FCu, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894F20Cu, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894F214u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894F234u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894F240u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894F24Cu, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894F25Cu, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894F26Cu, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894F278u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894F280u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894F28Cu, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894F2A4u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894F2BCu, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894F310u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894F344u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894F35Cu, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894F378u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894F388u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894F3A4u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894F3ACu, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894F3C8u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894F3E4u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894F400u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894F41Cu, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894F42Cu, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894F434u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894F43Cu, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894F448u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894F464u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894F47Cu, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894F488u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894F4A4u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894F4B4u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894F4C0u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894F4CCu, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894F4D8u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894F4DCu, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894F4E4u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894F504u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894F510u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894F51Cu, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894F52Cu, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894F534u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894F548u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894F550u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894F574u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894F590u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894F5ACu, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894F5B8u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894F5D4u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894F5E0u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894F5F8u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894F610u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894F670u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894F67Cu, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894F690u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894F698u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894F6B8u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894F6D4u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894F6E0u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894F6F8u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894F700u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894F70Cu, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894F728u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894F734u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894F74Cu, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894F764u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894F7C4u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894F7D0u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894F7E4u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894F7ECu, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894F804u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894F81Cu, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894F828u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894F834u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894F840u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894F844u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894F84Cu, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894F85Cu, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894F878u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894F89Cu, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894F8A8u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894F8B4u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894F8C0u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894F8C4u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894F8CCu, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894F8E4u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894F914u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894F91Cu, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894F974u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894F97Cu, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894F988u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894F990u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894F99Cu, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894F9B8u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894F9C4u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894F9D4u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894F9DCu, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894F9ECu, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894F9F4u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894FA00u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894FA08u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894FA10u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894FA18u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894FA2Cu, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894FA38u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894FA44u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894FA50u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894FA54u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894FA5Cu, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894FA6Cu, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894FA88u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894FA90u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894FA9Cu, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894FAACu, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894FABCu, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894FAD0u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894FAF0u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894FB14u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894FB1Cu, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894FB24u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894FB2Cu, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894FB4Cu, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894FB58u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894FB68u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894FB74u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894FB80u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894FB8Cu, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894FB90u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894FB98u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894FB9Cu, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894FBBCu, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894FBC8u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894FBD4u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894FBDCu, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894FBFCu, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894FC08u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894FC14u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894FC24u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894FC30u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894FC3Cu, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894FC48u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894FC4Cu, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894FC54u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894FC58u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894FC78u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894FC84u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894FC90u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894FC98u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894FCB4u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894FCBCu, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894FCC4u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894FCCCu, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894FCDCu, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894FCE4u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894FD10u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894FD18u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894FD20u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894FD2Cu, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894FD34u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894FD44u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894FD50u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894FD5Cu, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894FD68u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894FD6Cu, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894FD74u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894FD7Cu, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894FD88u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894FD98u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894FDA8u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894FDBCu, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894FDC4u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894FDD8u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894FE6Cu, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894FE98u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894FEB8u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894FEE0u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894FEF4u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894FF14u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894FF1Cu, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894FF28u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894FF3Cu, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894FFE0u, &recomp_unit_0082, "recomp_unit_0082");
|
|
runtime.register_function(0x0894FFF4u, &recomp_unit_0082, "recomp_unit_0082");
|
|
}
|
|
} // namespace psprecomp
|