mirror of
https://github.com/elmasas/lcs-recomp
synced 2026-09-27 08:55:28 -04:00
10180 lines
527 KiB
C++
10180 lines
527 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_0128[4094] = {
|
|
1, 0, 2, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 5, 0, 0, 0, 0, 0, 6, 0, 0,
|
|
0, 7, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 10, 0, 0, 0, 0, 11, 0, 12, 0, 0, 13, 0,
|
|
14, 15, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 18, 0, 0, 0, 0, 19, 0, 0, 20, 0, 21, 0, 22,
|
|
0, 23, 0, 24, 0, 25, 26, 27, 0, 28, 0, 29, 30, 0, 0, 0, 0, 0, 31, 0, 0, 0, 0, 0, 0, 0, 0, 32, 0, 0, 0, 33,
|
|
0, 0, 0, 0, 34, 0, 0, 35, 0, 36, 0, 37, 0, 38, 0, 39, 0, 40, 41, 42, 0, 43, 0, 44, 45, 0, 0, 0, 0, 0, 46, 0,
|
|
0, 0, 0, 0, 0, 0, 0, 47, 0, 0, 0, 48, 0, 0, 0, 0, 49, 0, 0, 50, 0, 51, 0, 52, 0, 53, 0, 54, 0, 55, 56, 57,
|
|
0, 58, 0, 59, 60, 0, 0, 0, 0, 0, 61, 0, 0, 0, 0, 0, 0, 0, 0, 62, 0, 0, 0, 63, 0, 0, 0, 0, 64, 0, 0, 65,
|
|
0, 66, 0, 67, 0, 68, 0, 69, 0, 70, 71, 72, 0, 73, 0, 74, 75, 0, 0, 0, 0, 0, 76, 0, 0, 0, 0, 0, 0, 0, 77, 0,
|
|
0, 0, 78, 0, 0, 0, 0, 79, 0, 80, 0, 0, 81, 0, 82, 83, 0, 0, 0, 0, 84, 0, 0, 0, 0, 0, 0, 0, 85, 0, 0, 0,
|
|
86, 0, 0, 0, 0, 87, 0, 88, 0, 0, 89, 0, 90, 91, 0, 0, 0, 0, 92, 0, 0, 0, 0, 0, 0, 0, 93, 0, 0, 0, 94, 0,
|
|
0, 0, 0, 95, 0, 96, 0, 0, 97, 0, 98, 99, 0, 0, 0, 0, 100, 0, 0, 0, 0, 0, 0, 101, 0, 0, 0, 102, 0, 0, 0, 0,
|
|
0, 0, 103, 0, 0, 0, 0, 0, 0, 104, 0, 105, 0, 0, 106, 0, 0, 0, 0, 107, 0, 0, 108, 0, 0, 109, 0, 0, 0, 110, 0, 0,
|
|
111, 0, 0, 0, 0, 0, 112, 0, 113, 0, 0, 114, 115, 0, 0, 0, 0, 116, 0, 0, 0, 0, 0, 0, 117, 0, 118, 0, 0, 119, 0, 0,
|
|
120, 0, 121, 122, 0, 0, 0, 0, 0, 123, 0, 0, 0, 0, 0, 0, 0, 0, 124, 0, 0, 0, 125, 0, 0, 0, 0, 0, 126, 127, 0, 0,
|
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 0, 129, 0, 0, 130, 0, 0, 131, 0, 0, 132, 0, 0, 0, 133, 0, 0, 0, 134, 0, 0,
|
|
0, 135, 0, 136, 137, 0, 0, 0, 0, 0, 138, 0, 0, 0, 0, 0, 0, 0, 0, 139, 0, 140, 0, 0, 141, 0, 0, 0, 0, 0, 0, 142,
|
|
0, 0, 0, 0, 143, 0, 144, 0, 145, 0, 0, 146, 0, 147, 0, 148, 0, 0, 0, 0, 149, 150, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
0, 151, 0, 0, 152, 0, 0, 0, 153, 0, 0, 0, 154, 155, 0, 0, 156, 0, 0, 0, 157, 0, 0, 0, 158, 0, 0, 0, 159, 0, 0, 160,
|
|
0, 0, 0, 161, 0, 0, 0, 162, 0, 0, 0, 163, 0, 0, 164, 0, 0, 0, 165, 0, 0, 0, 166, 0, 0, 0, 167, 0, 168, 0, 0, 169,
|
|
0, 170, 0, 0, 171, 0, 172, 173, 0, 0, 0, 0, 0, 0, 174, 0, 0, 0, 0, 0, 0, 175, 0, 0, 0, 0, 176, 0, 0, 177, 0, 0,
|
|
178, 0, 0, 179, 0, 0, 0, 180, 0, 0, 181, 0, 0, 0, 182, 0, 0, 183, 0, 0, 0, 184, 0, 0, 185, 0, 0, 0, 0, 0, 0, 0,
|
|
186, 0, 0, 0, 0, 0, 0, 187, 0, 188, 0, 0, 189, 0, 0, 0, 190, 0, 191, 0, 0, 192, 0, 0, 193, 194, 0, 0, 0, 0, 195, 0,
|
|
0, 0, 0, 0, 196, 0, 0, 0, 197, 0, 0, 0, 0, 198, 0, 199, 0, 0, 200, 0, 0, 0, 0, 201, 0, 0, 202, 0, 203, 204, 0, 0,
|
|
0, 205, 0, 0, 0, 0, 0, 0, 0, 206, 0, 207, 0, 0, 208, 0, 0, 0, 0, 0, 209, 0, 0, 0, 0, 0, 0, 0, 210, 0, 0, 0,
|
|
211, 0, 212, 0, 0, 0, 213, 0, 214, 0, 0, 215, 0, 0, 216, 217, 0, 0, 0, 0, 0, 218, 0, 0, 0, 0, 0, 219, 0, 0, 0, 220,
|
|
0, 0, 0, 0, 221, 0, 222, 0, 0, 223, 0, 0, 0, 0, 224, 0, 0, 225, 0, 226, 227, 0, 0, 0, 228, 0, 0, 0, 0, 0, 0, 0,
|
|
229, 0, 0, 230, 0, 0, 0, 0, 231, 0, 232, 0, 0, 233, 0, 234, 0, 0, 235, 0, 236, 0, 237, 0, 238, 0, 0, 239, 0, 240, 0, 241,
|
|
0, 0, 242, 0, 0, 243, 0, 244, 0, 0, 0, 0, 0, 0, 245, 246, 0, 0, 0, 0, 0, 0, 247, 0, 0, 0, 0, 0, 248, 0, 0, 249,
|
|
0, 0, 250, 0, 251, 0, 0, 0, 0, 0, 0, 252, 253, 0, 0, 0, 0, 254, 0, 0, 0, 0, 0, 0, 255, 0, 0, 256, 0, 0, 257, 0,
|
|
258, 0, 0, 259, 0, 260, 0, 0, 0, 0, 0, 0, 0, 261, 0, 0, 0, 0, 0, 0, 0, 262, 0, 0, 0, 0, 0, 0, 0, 263, 0, 0,
|
|
0, 0, 0, 0, 0, 264, 0, 265, 0, 0, 0, 0, 0, 0, 0, 266, 0, 0, 0, 0, 0, 0, 0, 267, 0, 0, 268, 269, 0, 0, 0, 0,
|
|
0, 270, 0, 0, 0, 0, 0, 0, 0, 271, 0, 272, 0, 0, 273, 0, 0, 0, 0, 274, 0, 0, 0, 0, 275, 0, 0, 0, 0, 0, 0, 276,
|
|
0, 0, 277, 0, 278, 0, 0, 0, 0, 279, 0, 0, 0, 280, 0, 0, 281, 0, 0, 0, 282, 0, 0, 0, 283, 0, 0, 0, 0, 0, 0, 284,
|
|
0, 0, 0, 285, 0, 0, 0, 0, 286, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 287, 0, 288, 0, 0, 289, 290, 0, 0, 291,
|
|
0, 0, 292, 0, 0, 293, 0, 0, 0, 294, 0, 0, 0, 295, 0, 0, 0, 296, 0, 297, 0, 0, 298, 299, 0, 300, 0, 0, 301, 0, 0, 0,
|
|
302, 0, 0, 303, 0, 304, 0, 0, 305, 306, 0, 0, 0, 0, 0, 0, 307, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 308, 0,
|
|
309, 0, 0, 310, 311, 0, 0, 312, 0, 0, 0, 313, 0, 0, 0, 0, 0, 0, 0, 314, 0, 0, 0, 0, 0, 315, 0, 0, 0, 316, 0, 0,
|
|
0, 0, 0, 0, 317, 0, 318, 0, 319, 0, 320, 0, 0, 0, 321, 0, 0, 0, 322, 323, 0, 324, 0, 325, 0, 0, 0, 0, 0, 326, 327, 328,
|
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 329, 0, 330, 0, 0, 331, 0, 0, 0, 0, 0, 0, 0, 332, 0, 333, 0, 334, 0, 335, 0,
|
|
0, 336, 0, 337, 338, 0, 0, 0, 0, 339, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 340, 0, 341, 0, 0, 0, 342, 0, 0, 0, 343,
|
|
0, 344, 0, 0, 345, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 346, 0, 347, 0, 348, 0, 349, 0, 0, 0, 0, 0, 350, 0, 351, 0,
|
|
0, 0, 352, 353, 0, 0, 0, 0, 0, 0, 354, 0, 0, 0, 355, 0, 356, 0, 0, 0, 357, 0, 0, 0, 0, 0, 358, 0, 0, 0, 0, 359,
|
|
0, 0, 360, 0, 361, 0, 0, 0, 0, 362, 0, 0, 0, 0, 0, 363, 0, 0, 0, 0, 0, 0, 0, 364, 0, 0, 0, 0, 0, 365, 0, 0,
|
|
0, 0, 0, 366, 0, 367, 0, 368, 0, 369, 0, 370, 0, 371, 0, 372, 0, 373, 374, 0, 0, 0, 375, 0, 0, 0, 0, 0, 376, 0, 0, 0,
|
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 377, 0, 0, 0, 378, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 379, 0, 380, 0, 0, 381, 0,
|
|
0, 0, 382, 0, 0, 383, 0, 0, 0, 384, 0, 385, 0, 0, 0, 0, 386, 0, 0, 387, 0, 0, 0, 0, 0, 0, 0, 0, 0, 388, 0, 389,
|
|
0, 0, 390, 0, 0, 0, 391, 0, 0, 392, 0, 0, 0, 393, 0, 394, 0, 0, 0, 0, 395, 0, 0, 396, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
0, 397, 0, 398, 0, 0, 399, 0, 0, 0, 400, 0, 0, 401, 0, 0, 0, 402, 0, 403, 0, 0, 404, 0, 405, 0, 406, 0, 0, 0, 407, 0,
|
|
0, 408, 0, 409, 0, 410, 0, 0, 411, 0, 0, 0, 0, 0, 0, 0, 412, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 413, 0, 0, 0,
|
|
414, 0, 0, 0, 0, 415, 0, 0, 0, 0, 416, 0, 0, 417, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 418, 0, 0,
|
|
0, 0, 419, 0, 0, 0, 0, 0, 420, 0, 0, 0, 0, 421, 0, 0, 0, 422, 0, 423, 424, 0, 0, 0, 0, 425, 426, 0, 427, 0, 0, 428,
|
|
0, 0, 0, 429, 0, 0, 0, 0, 0, 0, 0, 0, 430, 0, 431, 0, 0, 432, 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, 433, 0, 0, 0, 0, 0, 0, 434, 0, 0, 0, 0, 0, 435, 0, 0, 0, 0, 0, 436,
|
|
0, 0, 0, 0, 0, 0, 0, 437, 0, 0, 438, 439, 0, 0, 0, 0, 0, 0, 440, 0, 0, 0, 441, 0, 0, 0, 442, 0, 443, 0, 0, 0,
|
|
0, 444, 0, 0, 0, 0, 445, 0, 0, 446, 0, 447, 448, 0, 449, 0, 0, 0, 0, 450, 0, 0, 0, 0, 451, 0, 0, 0, 0, 452, 0, 0,
|
|
0, 0, 453, 0, 0, 454, 0, 455, 0, 0, 0, 0, 456, 0, 0, 457, 458, 0, 0, 0, 0, 0, 0, 0, 0, 459, 0, 460, 0, 461, 0, 462,
|
|
0, 463, 0, 0, 464, 0, 0, 465, 0, 0, 0, 466, 0, 0, 0, 467, 0, 0, 0, 468, 0, 0, 0, 0, 0, 0, 0, 469, 0, 470, 0, 0,
|
|
0, 0, 471, 0, 472, 0, 473, 0, 0, 474, 0, 475, 0, 0, 476, 0, 0, 477, 0, 0, 0, 0, 478, 0, 479, 0, 0, 0, 0, 480, 0, 0,
|
|
0, 481, 0, 482, 0, 0, 0, 0, 483, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 484, 0, 0, 0, 485, 0, 486, 487, 0,
|
|
0, 0, 0, 0, 0, 0, 0, 0, 488, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 489, 0, 0, 0, 0, 0, 490,
|
|
0, 0, 0, 0, 491, 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, 492, 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, 493, 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, 494, 0, 0, 0, 0,
|
|
0, 0, 495, 0, 0, 496, 0, 0, 0, 0, 0, 0, 497, 0, 0, 498, 0, 0, 0, 0, 0, 0, 499, 0, 0, 500, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
0, 0, 0, 0, 0, 0, 501, 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, 502, 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, 503, 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, 504, 0, 0, 0, 0, 0, 0, 0, 505, 0, 0, 0, 506, 0, 0, 0, 507, 0,
|
|
508, 509, 0, 510, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 511, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
0, 512, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 513, 0, 0, 514, 0, 0, 0, 0, 0, 0, 0, 515,
|
|
0, 516, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 517, 0, 0, 0, 0, 0, 0, 0, 518, 0, 0, 0, 0, 0, 0, 519, 0, 0, 0,
|
|
0, 0, 0, 0, 0, 0, 0, 0, 520, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 521, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
0, 0, 522, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 523, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
524, 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, 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, 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, 525, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
0, 0, 0, 0, 0, 526, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 527, 0, 0, 0, 0, 0, 0, 0, 0, 0, 528, 0, 0, 0, 529,
|
|
0, 0, 0, 530, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 531, 0, 0, 0, 0, 0, 0, 0,
|
|
0, 0, 0, 0, 0, 0, 0, 0, 532, 0, 0, 533, 0, 534, 0, 0, 0, 0, 0, 535, 0, 0, 0, 536, 0, 537, 0, 538, 0, 0, 0, 0,
|
|
0, 0, 539, 0, 540, 0, 541, 0, 542, 0, 0, 543, 0, 0, 544, 0, 0, 0, 545, 546, 0, 547, 0, 548, 0, 0, 0, 549, 0, 550, 0, 551,
|
|
0, 0, 0, 0, 0, 0, 552, 553, 0, 0, 0, 0, 0, 0, 554, 0, 0, 0, 0, 0, 0, 0, 0, 0, 555, 0, 0, 556, 0, 0, 557, 0,
|
|
0, 0, 558, 559, 0, 0, 0, 0, 560, 0, 0, 561, 0, 0, 0, 562, 563, 0, 0, 0, 0, 564, 0, 0, 565, 0, 0, 0, 566, 567, 0, 0,
|
|
0, 0, 568, 0, 0, 569, 0, 0, 0, 570, 571, 0, 0, 0, 572, 0, 0, 0, 0, 0, 573, 0, 0, 0, 0, 574, 0, 0, 575, 0, 0, 576,
|
|
0, 0, 577, 0, 0, 0, 0, 0, 578, 0, 0, 579, 0, 0, 0, 0, 0, 580, 0, 0, 581, 0, 0, 0, 0, 0, 582, 0, 0, 583, 0, 0,
|
|
0, 0, 0, 584, 0, 0, 585, 0, 0, 0, 0, 0, 586, 0, 0, 587, 0, 0, 0, 0, 0, 588, 0, 0, 589, 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, 590, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
591, 0, 592, 0, 0, 0, 0, 0, 593, 0, 0, 594, 0, 0, 595, 0, 596, 0, 0, 0, 0, 0, 0, 0, 597, 0, 598, 599, 0, 600, 0, 0,
|
|
0, 0, 0, 0, 0, 601, 0, 602, 0, 603, 0, 0, 0, 0, 604, 0, 0, 0, 605, 0, 606, 607, 0, 0, 0, 608, 0, 0, 0, 0, 0, 0,
|
|
0, 0, 0, 609, 0, 0, 0, 610, 0, 0, 611, 0, 0, 0, 0, 0, 612, 0, 0, 0, 0, 613, 0, 614, 0, 615, 616, 0, 0, 0, 0, 0,
|
|
617, 0, 0, 0, 0, 0, 0, 0, 0, 0, 618, 0, 619, 0, 0, 0, 0, 0, 620, 0, 0, 0, 0, 0, 621, 0, 622, 0, 0, 623, 0, 624,
|
|
0, 0, 0, 0, 0, 0, 0, 625, 0, 626, 627, 0, 628, 0, 0, 0, 0, 0, 0, 0, 629, 0, 630, 0, 631, 0, 0, 0, 0, 0, 0, 0,
|
|
632, 0, 633, 0, 0, 0, 634, 0, 0, 0, 635, 0, 636, 0, 0, 0, 0, 637, 0, 0, 0, 638, 0, 639, 640, 0, 0, 0, 641, 0, 0, 0,
|
|
0, 0, 0, 0, 0, 0, 642, 0, 0, 0, 643, 0, 0, 644, 0, 0, 0, 0, 0, 645, 0, 0, 0, 0, 646, 0, 647, 0, 648, 649, 0, 0,
|
|
0, 0, 0, 650, 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, 651,
|
|
0, 0, 0, 0, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 654, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
0, 0, 655, 0, 656, 0, 657, 0, 658, 0, 0, 659, 0, 0, 0, 0, 660, 0, 0, 661, 0, 662, 0, 0, 663, 0, 0, 0, 664, 0, 0, 0,
|
|
665, 0, 0, 0, 666, 0, 667, 0, 0, 0, 0, 0, 0, 668, 669, 0, 0, 0, 0, 0, 0, 670, 0, 0, 671, 0, 0, 672, 0, 0, 0, 0,
|
|
0, 0, 673, 0, 0, 0, 0, 674, 0, 0, 0, 0, 675, 0, 676, 0, 0, 0, 0, 0, 0, 0, 677, 678, 679, 0, 0, 0, 0, 0, 0, 0,
|
|
680, 0, 0, 0, 0, 0, 0, 0, 0, 0, 681, 0, 0, 0, 0, 0, 682, 0, 0, 0, 0, 0, 0, 0, 0, 683, 0, 0, 0, 0, 0, 684,
|
|
0, 0, 685, 0, 686, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 687, 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, 688, 0, 0, 0, 0, 0, 0, 689, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
690, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 691, 0, 0, 0, 0, 0, 0, 0, 692, 0, 0, 0, 0, 0, 0, 0, 693,
|
|
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, 694, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 695, 0, 0, 696, 0, 0, 697, 0,
|
|
0, 0, 0, 698, 0, 0, 0, 0, 699, 0, 0, 0, 0, 0, 700, 0, 701, 0, 702, 0, 0, 0, 0, 703, 0, 0, 0, 0, 0, 0, 704, 0,
|
|
705, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 706, 707, 0, 0, 0, 0, 708, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 709, 0, 0, 0,
|
|
0, 0, 0, 0, 0, 0, 0, 0, 710, 0, 0, 0, 0, 0, 0, 0, 711, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
0, 0, 0, 0, 0, 712, 0, 0, 0, 0, 713, 0, 0, 0, 0, 0, 0, 0, 0, 0, 714, 0, 0, 0, 0, 715, 0, 0, 0, 716, 0, 0,
|
|
0, 0, 717, 0, 0, 0, 0, 0, 718, 0, 0, 0, 0, 719, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 720,
|
|
0, 0, 0, 0, 0, 721, 0, 722, 0, 723, 0, 724, 0, 0, 725, 0, 726, 0, 0, 0, 727, 0, 728, 0, 729, 0, 0, 730, 0, 731, 0, 732,
|
|
0, 733, 0, 0, 0, 734, 0, 0, 0, 0, 0, 0, 735, 0, 736, 737, 0, 0, 738, 0, 0, 0, 739, 0, 0, 740, 0, 741, 0, 742, 0, 743,
|
|
0, 0, 744, 0, 745, 0, 746, 0, 0, 0, 747, 0, 0, 0, 0, 0, 0, 748, 0, 749, 0, 0, 0, 750, 0, 0, 0, 0, 751, 0, 0, 0,
|
|
752, 0, 0, 0, 753, 0, 754, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 755, 0, 0, 0, 0, 0, 756, 0, 0, 757, 0, 0, 0,
|
|
0, 758, 0, 0, 759, 0, 0, 0, 0, 0, 760, 0, 0, 0, 0, 0, 761, 0, 0, 0, 0, 0, 0, 0, 0, 0, 762, 0, 763, 0, 764, 0,
|
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 765, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 766, 0, 0, 0, 0, 0, 0, 767, 0,
|
|
0, 768, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 769, 0, 770, 0, 0, 0, 0, 0, 0, 771, 0, 0, 0, 0, 0,
|
|
0, 0, 0, 772, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 773, 0, 774, 0, 0, 0, 0, 0, 0, 775, 0, 0, 0,
|
|
0, 0, 0, 0, 0, 776, 0, 0, 0, 0, 0, 777, 0, 0, 0, 778, 0, 0, 0, 0, 779, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
780, 0, 0, 0, 781, 0, 0, 0, 782, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 783, 0, 0, 0, 0, 784,
|
|
};
|
|
void recomp_unit_0128_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 - 0x08A04000u;
|
|
entry_id = (entry_delta < 16376u && (entry_delta & 3u) == 0u) ? kEntryIds_recomp_unit_0128[entry_delta >> 2u] : 0u;
|
|
}
|
|
switch (entry_id) {
|
|
case 1u: goto L_08A04000;
|
|
case 2u: goto L_08A04008;
|
|
case 3u: goto L_08A04018;
|
|
case 4u: goto L_08A0404C;
|
|
case 5u: goto L_08A0405C;
|
|
case 6u: goto L_08A04074;
|
|
case 7u: goto L_08A04084;
|
|
case 8u: goto L_08A040A0;
|
|
case 9u: goto L_08A040C0;
|
|
case 10u: goto L_08A040D0;
|
|
case 11u: goto L_08A040E4;
|
|
case 12u: goto L_08A040EC;
|
|
case 13u: goto L_08A040F8;
|
|
case 14u: goto L_08A04100;
|
|
case 15u: goto L_08A04104;
|
|
case 16u: goto L_08A04118;
|
|
case 17u: goto L_08A0413C;
|
|
case 18u: goto L_08A0414C;
|
|
case 19u: goto L_08A04160;
|
|
case 20u: goto L_08A0416C;
|
|
case 21u: goto L_08A04174;
|
|
case 22u: goto L_08A0417C;
|
|
case 23u: goto L_08A04184;
|
|
case 24u: goto L_08A0418C;
|
|
case 25u: goto L_08A04194;
|
|
case 26u: goto L_08A04198;
|
|
case 27u: goto L_08A0419C;
|
|
case 28u: goto L_08A041A4;
|
|
case 29u: goto L_08A041AC;
|
|
case 30u: goto L_08A041B0;
|
|
case 31u: goto L_08A041C8;
|
|
case 32u: goto L_08A041EC;
|
|
case 33u: goto L_08A041FC;
|
|
case 34u: goto L_08A04210;
|
|
case 35u: goto L_08A0421C;
|
|
case 36u: goto L_08A04224;
|
|
case 37u: goto L_08A0422C;
|
|
case 38u: goto L_08A04234;
|
|
case 39u: goto L_08A0423C;
|
|
case 40u: goto L_08A04244;
|
|
case 41u: goto L_08A04248;
|
|
case 42u: goto L_08A0424C;
|
|
case 43u: goto L_08A04254;
|
|
case 44u: goto L_08A0425C;
|
|
case 45u: goto L_08A04260;
|
|
case 46u: goto L_08A04278;
|
|
case 47u: goto L_08A0429C;
|
|
case 48u: goto L_08A042AC;
|
|
case 49u: goto L_08A042C0;
|
|
case 50u: goto L_08A042CC;
|
|
case 51u: goto L_08A042D4;
|
|
case 52u: goto L_08A042DC;
|
|
case 53u: goto L_08A042E4;
|
|
case 54u: goto L_08A042EC;
|
|
case 55u: goto L_08A042F4;
|
|
case 56u: goto L_08A042F8;
|
|
case 57u: goto L_08A042FC;
|
|
case 58u: goto L_08A04304;
|
|
case 59u: goto L_08A0430C;
|
|
case 60u: goto L_08A04310;
|
|
case 61u: goto L_08A04328;
|
|
case 62u: goto L_08A0434C;
|
|
case 63u: goto L_08A0435C;
|
|
case 64u: goto L_08A04370;
|
|
case 65u: goto L_08A0437C;
|
|
case 66u: goto L_08A04384;
|
|
case 67u: goto L_08A0438C;
|
|
case 68u: goto L_08A04394;
|
|
case 69u: goto L_08A0439C;
|
|
case 70u: goto L_08A043A4;
|
|
case 71u: goto L_08A043A8;
|
|
case 72u: goto L_08A043AC;
|
|
case 73u: goto L_08A043B4;
|
|
case 74u: goto L_08A043BC;
|
|
case 75u: goto L_08A043C0;
|
|
case 76u: goto L_08A043D8;
|
|
case 77u: goto L_08A043F8;
|
|
case 78u: goto L_08A04408;
|
|
case 79u: goto L_08A0441C;
|
|
case 80u: goto L_08A04424;
|
|
case 81u: goto L_08A04430;
|
|
case 82u: goto L_08A04438;
|
|
case 83u: goto L_08A0443C;
|
|
case 84u: goto L_08A04450;
|
|
case 85u: goto L_08A04470;
|
|
case 86u: goto L_08A04480;
|
|
case 87u: goto L_08A04494;
|
|
case 88u: goto L_08A0449C;
|
|
case 89u: goto L_08A044A8;
|
|
case 90u: goto L_08A044B0;
|
|
case 91u: goto L_08A044B4;
|
|
case 92u: goto L_08A044C8;
|
|
case 93u: goto L_08A044E8;
|
|
case 94u: goto L_08A044F8;
|
|
case 95u: goto L_08A0450C;
|
|
case 96u: goto L_08A04514;
|
|
case 97u: goto L_08A04520;
|
|
case 98u: goto L_08A04528;
|
|
case 99u: goto L_08A0452C;
|
|
case 100u: goto L_08A04540;
|
|
case 101u: goto L_08A0455C;
|
|
case 102u: goto L_08A0456C;
|
|
case 103u: goto L_08A04588;
|
|
case 104u: goto L_08A045A4;
|
|
case 105u: goto L_08A045AC;
|
|
case 106u: goto L_08A045B8;
|
|
case 107u: goto L_08A045CC;
|
|
case 108u: goto L_08A045D8;
|
|
case 109u: goto L_08A045E4;
|
|
case 110u: goto L_08A045F4;
|
|
case 111u: goto L_08A04600;
|
|
case 112u: goto L_08A04618;
|
|
case 113u: goto L_08A04620;
|
|
case 114u: goto L_08A0462C;
|
|
case 115u: goto L_08A04630;
|
|
case 116u: goto L_08A04644;
|
|
case 117u: goto L_08A04660;
|
|
case 118u: goto L_08A04668;
|
|
case 119u: goto L_08A04674;
|
|
case 120u: goto L_08A04680;
|
|
case 121u: goto L_08A04688;
|
|
case 122u: goto L_08A0468C;
|
|
case 123u: goto L_08A046A4;
|
|
case 124u: goto L_08A046C8;
|
|
case 125u: goto L_08A046D8;
|
|
case 126u: goto L_08A046F0;
|
|
case 127u: goto L_08A046F4;
|
|
case 128u: goto L_08A04728;
|
|
case 129u: goto L_08A04730;
|
|
case 130u: goto L_08A0473C;
|
|
case 131u: goto L_08A04748;
|
|
case 132u: goto L_08A04754;
|
|
case 133u: goto L_08A04764;
|
|
case 134u: goto L_08A04774;
|
|
case 135u: goto L_08A04784;
|
|
case 136u: goto L_08A0478C;
|
|
case 137u: goto L_08A04790;
|
|
case 138u: goto L_08A047A8;
|
|
case 139u: goto L_08A047CC;
|
|
case 140u: goto L_08A047D4;
|
|
case 141u: goto L_08A047E0;
|
|
case 142u: goto L_08A047FC;
|
|
case 143u: goto L_08A04810;
|
|
case 144u: goto L_08A04818;
|
|
case 145u: goto L_08A04820;
|
|
case 146u: goto L_08A0482C;
|
|
case 147u: goto L_08A04834;
|
|
case 148u: goto L_08A0483C;
|
|
case 149u: goto L_08A04850;
|
|
case 150u: goto L_08A04854;
|
|
case 151u: goto L_08A04884;
|
|
case 152u: goto L_08A04890;
|
|
case 153u: goto L_08A048A0;
|
|
case 154u: goto L_08A048B0;
|
|
case 155u: goto L_08A048B4;
|
|
case 156u: goto L_08A048C0;
|
|
case 157u: goto L_08A048D0;
|
|
case 158u: goto L_08A048E0;
|
|
case 159u: goto L_08A048F0;
|
|
case 160u: goto L_08A048FC;
|
|
case 161u: goto L_08A0490C;
|
|
case 162u: goto L_08A0491C;
|
|
case 163u: goto L_08A0492C;
|
|
case 164u: goto L_08A04938;
|
|
case 165u: goto L_08A04948;
|
|
case 166u: goto L_08A04958;
|
|
case 167u: goto L_08A04968;
|
|
case 168u: goto L_08A04970;
|
|
case 169u: goto L_08A0497C;
|
|
case 170u: goto L_08A04984;
|
|
case 171u: goto L_08A04990;
|
|
case 172u: goto L_08A04998;
|
|
case 173u: goto L_08A0499C;
|
|
case 174u: goto L_08A049B8;
|
|
case 175u: goto L_08A049D4;
|
|
case 176u: goto L_08A049E8;
|
|
case 177u: goto L_08A049F4;
|
|
case 178u: goto L_08A04A00;
|
|
case 179u: goto L_08A04A0C;
|
|
case 180u: goto L_08A04A1C;
|
|
case 181u: goto L_08A04A28;
|
|
case 182u: goto L_08A04A38;
|
|
case 183u: goto L_08A04A44;
|
|
case 184u: goto L_08A04A54;
|
|
case 185u: goto L_08A04A60;
|
|
case 186u: goto L_08A04A80;
|
|
case 187u: goto L_08A04A9C;
|
|
case 188u: goto L_08A04AA4;
|
|
case 189u: goto L_08A04AB0;
|
|
case 190u: goto L_08A04AC0;
|
|
case 191u: goto L_08A04AC8;
|
|
case 192u: goto L_08A04AD4;
|
|
case 193u: goto L_08A04AE0;
|
|
case 194u: goto L_08A04AE4;
|
|
case 195u: goto L_08A04AF8;
|
|
case 196u: goto L_08A04B10;
|
|
case 197u: goto L_08A04B20;
|
|
case 198u: goto L_08A04B34;
|
|
case 199u: goto L_08A04B3C;
|
|
case 200u: goto L_08A04B48;
|
|
case 201u: goto L_08A04B5C;
|
|
case 202u: goto L_08A04B68;
|
|
case 203u: goto L_08A04B70;
|
|
case 204u: goto L_08A04B74;
|
|
case 205u: goto L_08A04B84;
|
|
case 206u: goto L_08A04BA4;
|
|
case 207u: goto L_08A04BAC;
|
|
case 208u: goto L_08A04BB8;
|
|
case 209u: goto L_08A04BD0;
|
|
case 210u: goto L_08A04BF0;
|
|
case 211u: goto L_08A04C00;
|
|
case 212u: goto L_08A04C08;
|
|
case 213u: goto L_08A04C18;
|
|
case 214u: goto L_08A04C20;
|
|
case 215u: goto L_08A04C2C;
|
|
case 216u: goto L_08A04C38;
|
|
case 217u: goto L_08A04C3C;
|
|
case 218u: goto L_08A04C54;
|
|
case 219u: goto L_08A04C6C;
|
|
case 220u: goto L_08A04C7C;
|
|
case 221u: goto L_08A04C90;
|
|
case 222u: goto L_08A04C98;
|
|
case 223u: goto L_08A04CA4;
|
|
case 224u: goto L_08A04CB8;
|
|
case 225u: goto L_08A04CC4;
|
|
case 226u: goto L_08A04CCC;
|
|
case 227u: goto L_08A04CD0;
|
|
case 228u: goto L_08A04CE0;
|
|
case 229u: goto L_08A04D00;
|
|
case 230u: goto L_08A04D0C;
|
|
case 231u: goto L_08A04D20;
|
|
case 232u: goto L_08A04D28;
|
|
case 233u: goto L_08A04D34;
|
|
case 234u: goto L_08A04D3C;
|
|
case 235u: goto L_08A04D48;
|
|
case 236u: goto L_08A04D50;
|
|
case 237u: goto L_08A04D58;
|
|
case 238u: goto L_08A04D60;
|
|
case 239u: goto L_08A04D6C;
|
|
case 240u: goto L_08A04D74;
|
|
case 241u: goto L_08A04D7C;
|
|
case 242u: goto L_08A04D88;
|
|
case 243u: goto L_08A04D94;
|
|
case 244u: goto L_08A04D9C;
|
|
case 245u: goto L_08A04DB8;
|
|
case 246u: goto L_08A04DBC;
|
|
case 247u: goto L_08A04DD8;
|
|
case 248u: goto L_08A04DF0;
|
|
case 249u: goto L_08A04DFC;
|
|
case 250u: goto L_08A04E08;
|
|
case 251u: goto L_08A04E10;
|
|
case 252u: goto L_08A04E2C;
|
|
case 253u: goto L_08A04E30;
|
|
case 254u: goto L_08A04E44;
|
|
case 255u: goto L_08A04E60;
|
|
case 256u: goto L_08A04E6C;
|
|
case 257u: goto L_08A04E78;
|
|
case 258u: goto L_08A04E80;
|
|
case 259u: goto L_08A04E8C;
|
|
case 260u: goto L_08A04E94;
|
|
case 261u: goto L_08A04EB4;
|
|
case 262u: goto L_08A04ED4;
|
|
case 263u: goto L_08A04EF4;
|
|
case 264u: goto L_08A04F14;
|
|
case 265u: goto L_08A04F1C;
|
|
case 266u: goto L_08A04F3C;
|
|
case 267u: goto L_08A04F5C;
|
|
case 268u: goto L_08A04F68;
|
|
case 269u: goto L_08A04F6C;
|
|
case 270u: goto L_08A04F84;
|
|
case 271u: goto L_08A04FA4;
|
|
case 272u: goto L_08A04FAC;
|
|
case 273u: goto L_08A04FB8;
|
|
case 274u: goto L_08A04FCC;
|
|
case 275u: goto L_08A04FE0;
|
|
case 276u: goto L_08A04FFC;
|
|
case 277u: goto L_08A05008;
|
|
case 278u: goto L_08A05010;
|
|
case 279u: goto L_08A05024;
|
|
case 280u: goto L_08A05034;
|
|
case 281u: goto L_08A05040;
|
|
case 282u: goto L_08A05050;
|
|
case 283u: goto L_08A05060;
|
|
case 284u: goto L_08A0507C;
|
|
case 285u: goto L_08A0508C;
|
|
case 286u: goto L_08A050A0;
|
|
case 287u: goto L_08A050D8;
|
|
case 288u: goto L_08A050E0;
|
|
case 289u: goto L_08A050EC;
|
|
case 290u: goto L_08A050F0;
|
|
case 291u: goto L_08A050FC;
|
|
case 292u: goto L_08A05108;
|
|
case 293u: goto L_08A05114;
|
|
case 294u: goto L_08A05124;
|
|
case 295u: goto L_08A05134;
|
|
case 296u: goto L_08A05144;
|
|
case 297u: goto L_08A0514C;
|
|
case 298u: goto L_08A05158;
|
|
case 299u: goto L_08A0515C;
|
|
case 300u: goto L_08A05164;
|
|
case 301u: goto L_08A05170;
|
|
case 302u: goto L_08A05180;
|
|
case 303u: goto L_08A0518C;
|
|
case 304u: goto L_08A05194;
|
|
case 305u: goto L_08A051A0;
|
|
case 306u: goto L_08A051A4;
|
|
case 307u: goto L_08A051C0;
|
|
case 308u: goto L_08A051F8;
|
|
case 309u: goto L_08A05200;
|
|
case 310u: goto L_08A0520C;
|
|
case 311u: goto L_08A05210;
|
|
case 312u: goto L_08A0521C;
|
|
case 313u: goto L_08A0522C;
|
|
case 314u: goto L_08A0524C;
|
|
case 315u: goto L_08A05264;
|
|
case 316u: goto L_08A05274;
|
|
case 317u: goto L_08A05290;
|
|
case 318u: goto L_08A05298;
|
|
case 319u: goto L_08A052A0;
|
|
case 320u: goto L_08A052A8;
|
|
case 321u: goto L_08A052B8;
|
|
case 322u: goto L_08A052C8;
|
|
case 323u: goto L_08A052CC;
|
|
case 324u: goto L_08A052D4;
|
|
case 325u: goto L_08A052DC;
|
|
case 326u: goto L_08A052F4;
|
|
case 327u: goto L_08A052F8;
|
|
case 328u: goto L_08A052FC;
|
|
case 329u: goto L_08A0532C;
|
|
case 330u: goto L_08A05334;
|
|
case 331u: goto L_08A05340;
|
|
case 332u: goto L_08A05360;
|
|
case 333u: goto L_08A05368;
|
|
case 334u: goto L_08A05370;
|
|
case 335u: goto L_08A05378;
|
|
case 336u: goto L_08A05384;
|
|
case 337u: goto L_08A0538C;
|
|
case 338u: goto L_08A05390;
|
|
case 339u: goto L_08A053A4;
|
|
case 340u: goto L_08A053D4;
|
|
case 341u: goto L_08A053DC;
|
|
case 342u: goto L_08A053EC;
|
|
case 343u: goto L_08A053FC;
|
|
case 344u: goto L_08A05404;
|
|
case 345u: goto L_08A05410;
|
|
case 346u: goto L_08A05440;
|
|
case 347u: goto L_08A05448;
|
|
case 348u: goto L_08A05450;
|
|
case 349u: goto L_08A05458;
|
|
case 350u: goto L_08A05470;
|
|
case 351u: goto L_08A05478;
|
|
case 352u: goto L_08A05488;
|
|
case 353u: goto L_08A0548C;
|
|
case 354u: goto L_08A054A8;
|
|
case 355u: goto L_08A054B8;
|
|
case 356u: goto L_08A054C0;
|
|
case 357u: goto L_08A054D0;
|
|
case 358u: goto L_08A054E8;
|
|
case 359u: goto L_08A054FC;
|
|
case 360u: goto L_08A05508;
|
|
case 361u: goto L_08A05510;
|
|
case 362u: goto L_08A05524;
|
|
case 363u: goto L_08A0553C;
|
|
case 364u: goto L_08A0555C;
|
|
case 365u: goto L_08A05574;
|
|
case 366u: goto L_08A0558C;
|
|
case 367u: goto L_08A05594;
|
|
case 368u: goto L_08A0559C;
|
|
case 369u: goto L_08A055A4;
|
|
case 370u: goto L_08A055AC;
|
|
case 371u: goto L_08A055B4;
|
|
case 372u: goto L_08A055BC;
|
|
case 373u: goto L_08A055C4;
|
|
case 374u: goto L_08A055C8;
|
|
case 375u: goto L_08A055D8;
|
|
case 376u: goto L_08A055F0;
|
|
case 377u: goto L_08A05628;
|
|
case 378u: goto L_08A05638;
|
|
case 379u: goto L_08A05664;
|
|
case 380u: goto L_08A0566C;
|
|
case 381u: goto L_08A05678;
|
|
case 382u: goto L_08A05688;
|
|
case 383u: goto L_08A05694;
|
|
case 384u: goto L_08A056A4;
|
|
case 385u: goto L_08A056AC;
|
|
case 386u: goto L_08A056C0;
|
|
case 387u: goto L_08A056CC;
|
|
case 388u: goto L_08A056F4;
|
|
case 389u: goto L_08A056FC;
|
|
case 390u: goto L_08A05708;
|
|
case 391u: goto L_08A05718;
|
|
case 392u: goto L_08A05724;
|
|
case 393u: goto L_08A05734;
|
|
case 394u: goto L_08A0573C;
|
|
case 395u: goto L_08A05750;
|
|
case 396u: goto L_08A0575C;
|
|
case 397u: goto L_08A05784;
|
|
case 398u: goto L_08A0578C;
|
|
case 399u: goto L_08A05798;
|
|
case 400u: goto L_08A057A8;
|
|
case 401u: goto L_08A057B4;
|
|
case 402u: goto L_08A057C4;
|
|
case 403u: goto L_08A057CC;
|
|
case 404u: goto L_08A057D8;
|
|
case 405u: goto L_08A057E0;
|
|
case 406u: goto L_08A057E8;
|
|
case 407u: goto L_08A057F8;
|
|
case 408u: goto L_08A05804;
|
|
case 409u: goto L_08A0580C;
|
|
case 410u: goto L_08A05814;
|
|
case 411u: goto L_08A05820;
|
|
case 412u: goto L_08A05840;
|
|
case 413u: goto L_08A05870;
|
|
case 414u: goto L_08A05880;
|
|
case 415u: goto L_08A05894;
|
|
case 416u: goto L_08A058A8;
|
|
case 417u: goto L_08A058B4;
|
|
case 418u: goto L_08A058F4;
|
|
case 419u: goto L_08A05908;
|
|
case 420u: goto L_08A05920;
|
|
case 421u: goto L_08A05934;
|
|
case 422u: goto L_08A05944;
|
|
case 423u: goto L_08A0594C;
|
|
case 424u: goto L_08A05950;
|
|
case 425u: goto L_08A05964;
|
|
case 426u: goto L_08A05968;
|
|
case 427u: goto L_08A05970;
|
|
case 428u: goto L_08A0597C;
|
|
case 429u: goto L_08A0598C;
|
|
case 430u: goto L_08A059B0;
|
|
case 431u: goto L_08A059B8;
|
|
case 432u: goto L_08A059C4;
|
|
case 433u: goto L_08A05A30;
|
|
case 434u: goto L_08A05A4C;
|
|
case 435u: goto L_08A05A64;
|
|
case 436u: goto L_08A05A7C;
|
|
case 437u: goto L_08A05A9C;
|
|
case 438u: goto L_08A05AA8;
|
|
case 439u: goto L_08A05AAC;
|
|
case 440u: goto L_08A05AC8;
|
|
case 441u: goto L_08A05AD8;
|
|
case 442u: goto L_08A05AE8;
|
|
case 443u: goto L_08A05AF0;
|
|
case 444u: goto L_08A05B04;
|
|
case 445u: goto L_08A05B18;
|
|
case 446u: goto L_08A05B24;
|
|
case 447u: goto L_08A05B2C;
|
|
case 448u: goto L_08A05B30;
|
|
case 449u: goto L_08A05B38;
|
|
case 450u: goto L_08A05B4C;
|
|
case 451u: goto L_08A05B60;
|
|
case 452u: goto L_08A05B74;
|
|
case 453u: goto L_08A05B88;
|
|
case 454u: goto L_08A05B94;
|
|
case 455u: goto L_08A05B9C;
|
|
case 456u: goto L_08A05BB0;
|
|
case 457u: goto L_08A05BBC;
|
|
case 458u: goto L_08A05BC0;
|
|
case 459u: goto L_08A05BE4;
|
|
case 460u: goto L_08A05BEC;
|
|
case 461u: goto L_08A05BF4;
|
|
case 462u: goto L_08A05BFC;
|
|
case 463u: goto L_08A05C04;
|
|
case 464u: goto L_08A05C10;
|
|
case 465u: goto L_08A05C1C;
|
|
case 466u: goto L_08A05C2C;
|
|
case 467u: goto L_08A05C3C;
|
|
case 468u: goto L_08A05C4C;
|
|
case 469u: goto L_08A05C6C;
|
|
case 470u: goto L_08A05C74;
|
|
case 471u: goto L_08A05C88;
|
|
case 472u: goto L_08A05C90;
|
|
case 473u: goto L_08A05C98;
|
|
case 474u: goto L_08A05CA4;
|
|
case 475u: goto L_08A05CAC;
|
|
case 476u: goto L_08A05CB8;
|
|
case 477u: goto L_08A05CC4;
|
|
case 478u: goto L_08A05CD8;
|
|
case 479u: goto L_08A05CE0;
|
|
case 480u: goto L_08A05CF4;
|
|
case 481u: goto L_08A05D04;
|
|
case 482u: goto L_08A05D0C;
|
|
case 483u: goto L_08A05D20;
|
|
case 484u: goto L_08A05D5C;
|
|
case 485u: goto L_08A05D6C;
|
|
case 486u: goto L_08A05D74;
|
|
case 487u: goto L_08A05D78;
|
|
case 488u: goto L_08A05DA0;
|
|
case 489u: goto L_08A05EE4;
|
|
case 490u: goto L_08A05EFC;
|
|
case 491u: goto L_08A05F10;
|
|
case 492u: goto L_08A05F84;
|
|
case 493u: goto L_08A05FF8;
|
|
case 494u: goto L_08A0606C;
|
|
case 495u: goto L_08A06088;
|
|
case 496u: goto L_08A06094;
|
|
case 497u: goto L_08A060B0;
|
|
case 498u: goto L_08A060BC;
|
|
case 499u: goto L_08A060D8;
|
|
case 500u: goto L_08A060E4;
|
|
case 501u: goto L_08A06218;
|
|
case 502u: goto L_08A062F8;
|
|
case 503u: goto L_08A063D8;
|
|
case 504u: goto L_08A064B8;
|
|
case 505u: goto L_08A064D8;
|
|
case 506u: goto L_08A064E8;
|
|
case 507u: goto L_08A064F8;
|
|
case 508u: goto L_08A06500;
|
|
case 509u: goto L_08A06504;
|
|
case 510u: goto L_08A0650C;
|
|
case 511u: goto L_08A06548;
|
|
case 512u: goto L_08A06584;
|
|
case 513u: goto L_08A065D0;
|
|
case 514u: goto L_08A065DC;
|
|
case 515u: goto L_08A065FC;
|
|
case 516u: goto L_08A06604;
|
|
case 517u: goto L_08A06634;
|
|
case 518u: goto L_08A06654;
|
|
case 519u: goto L_08A06670;
|
|
case 520u: goto L_08A066A0;
|
|
case 521u: goto L_08A066D8;
|
|
case 522u: goto L_08A06708;
|
|
case 523u: goto L_08A06750;
|
|
case 524u: goto L_08A06780;
|
|
case 525u: goto L_08A069D0;
|
|
case 526u: goto L_08A06A14;
|
|
case 527u: goto L_08A06A44;
|
|
case 528u: goto L_08A06A6C;
|
|
case 529u: goto L_08A06A7C;
|
|
case 530u: goto L_08A06A8C;
|
|
case 531u: goto L_08A06AE0;
|
|
case 532u: goto L_08A06B20;
|
|
case 533u: goto L_08A06B2C;
|
|
case 534u: goto L_08A06B34;
|
|
case 535u: goto L_08A06B4C;
|
|
case 536u: goto L_08A06B5C;
|
|
case 537u: goto L_08A06B64;
|
|
case 538u: goto L_08A06B6C;
|
|
case 539u: goto L_08A06B88;
|
|
case 540u: goto L_08A06B90;
|
|
case 541u: goto L_08A06B98;
|
|
case 542u: goto L_08A06BA0;
|
|
case 543u: goto L_08A06BAC;
|
|
case 544u: goto L_08A06BB8;
|
|
case 545u: goto L_08A06BC8;
|
|
case 546u: goto L_08A06BCC;
|
|
case 547u: goto L_08A06BD4;
|
|
case 548u: goto L_08A06BDC;
|
|
case 549u: goto L_08A06BEC;
|
|
case 550u: goto L_08A06BF4;
|
|
case 551u: goto L_08A06BFC;
|
|
case 552u: goto L_08A06C18;
|
|
case 553u: goto L_08A06C1C;
|
|
case 554u: goto L_08A06C38;
|
|
case 555u: goto L_08A06C60;
|
|
case 556u: goto L_08A06C6C;
|
|
case 557u: goto L_08A06C78;
|
|
case 558u: goto L_08A06C88;
|
|
case 559u: goto L_08A06C8C;
|
|
case 560u: goto L_08A06CA0;
|
|
case 561u: goto L_08A06CAC;
|
|
case 562u: goto L_08A06CBC;
|
|
case 563u: goto L_08A06CC0;
|
|
case 564u: goto L_08A06CD4;
|
|
case 565u: goto L_08A06CE0;
|
|
case 566u: goto L_08A06CF0;
|
|
case 567u: goto L_08A06CF4;
|
|
case 568u: goto L_08A06D08;
|
|
case 569u: goto L_08A06D14;
|
|
case 570u: goto L_08A06D24;
|
|
case 571u: goto L_08A06D28;
|
|
case 572u: goto L_08A06D38;
|
|
case 573u: goto L_08A06D50;
|
|
case 574u: goto L_08A06D64;
|
|
case 575u: goto L_08A06D70;
|
|
case 576u: goto L_08A06D7C;
|
|
case 577u: goto L_08A06D88;
|
|
case 578u: goto L_08A06DA0;
|
|
case 579u: goto L_08A06DAC;
|
|
case 580u: goto L_08A06DC4;
|
|
case 581u: goto L_08A06DD0;
|
|
case 582u: goto L_08A06DE8;
|
|
case 583u: goto L_08A06DF4;
|
|
case 584u: goto L_08A06E0C;
|
|
case 585u: goto L_08A06E18;
|
|
case 586u: goto L_08A06E30;
|
|
case 587u: goto L_08A06E3C;
|
|
case 588u: goto L_08A06E54;
|
|
case 589u: goto L_08A06E60;
|
|
case 590u: goto L_08A06ED8;
|
|
case 591u: goto L_08A06F00;
|
|
case 592u: goto L_08A06F08;
|
|
case 593u: goto L_08A06F20;
|
|
case 594u: goto L_08A06F2C;
|
|
case 595u: goto L_08A06F38;
|
|
case 596u: goto L_08A06F40;
|
|
case 597u: goto L_08A06F60;
|
|
case 598u: goto L_08A06F68;
|
|
case 599u: goto L_08A06F6C;
|
|
case 600u: goto L_08A06F74;
|
|
case 601u: goto L_08A06F94;
|
|
case 602u: goto L_08A06F9C;
|
|
case 603u: goto L_08A06FA4;
|
|
case 604u: goto L_08A06FB8;
|
|
case 605u: goto L_08A06FC8;
|
|
case 606u: goto L_08A06FD0;
|
|
case 607u: goto L_08A06FD4;
|
|
case 608u: goto L_08A06FE4;
|
|
case 609u: goto L_08A0700C;
|
|
case 610u: goto L_08A0701C;
|
|
case 611u: goto L_08A07028;
|
|
case 612u: goto L_08A07040;
|
|
case 613u: goto L_08A07054;
|
|
case 614u: goto L_08A0705C;
|
|
case 615u: goto L_08A07064;
|
|
case 616u: goto L_08A07068;
|
|
case 617u: goto L_08A07080;
|
|
case 618u: goto L_08A070A8;
|
|
case 619u: goto L_08A070B0;
|
|
case 620u: goto L_08A070C8;
|
|
case 621u: goto L_08A070E0;
|
|
case 622u: goto L_08A070E8;
|
|
case 623u: goto L_08A070F4;
|
|
case 624u: goto L_08A070FC;
|
|
case 625u: goto L_08A0711C;
|
|
case 626u: goto L_08A07124;
|
|
case 627u: goto L_08A07128;
|
|
case 628u: goto L_08A07130;
|
|
case 629u: goto L_08A07150;
|
|
case 630u: goto L_08A07158;
|
|
case 631u: goto L_08A07160;
|
|
case 632u: goto L_08A07180;
|
|
case 633u: goto L_08A07188;
|
|
case 634u: goto L_08A07198;
|
|
case 635u: goto L_08A071A8;
|
|
case 636u: goto L_08A071B0;
|
|
case 637u: goto L_08A071C4;
|
|
case 638u: goto L_08A071D4;
|
|
case 639u: goto L_08A071DC;
|
|
case 640u: goto L_08A071E0;
|
|
case 641u: goto L_08A071F0;
|
|
case 642u: goto L_08A07218;
|
|
case 643u: goto L_08A07228;
|
|
case 644u: goto L_08A07234;
|
|
case 645u: goto L_08A0724C;
|
|
case 646u: goto L_08A07260;
|
|
case 647u: goto L_08A07268;
|
|
case 648u: goto L_08A07270;
|
|
case 649u: goto L_08A07274;
|
|
case 650u: goto L_08A0728C;
|
|
case 651u: goto L_08A072FC;
|
|
case 652u: goto L_08A07324;
|
|
case 653u: goto L_08A0733C;
|
|
case 654u: goto L_08A073D8;
|
|
case 655u: goto L_08A07408;
|
|
case 656u: goto L_08A07410;
|
|
case 657u: goto L_08A07418;
|
|
case 658u: goto L_08A07420;
|
|
case 659u: goto L_08A0742C;
|
|
case 660u: goto L_08A07440;
|
|
case 661u: goto L_08A0744C;
|
|
case 662u: goto L_08A07454;
|
|
case 663u: goto L_08A07460;
|
|
case 664u: goto L_08A07470;
|
|
case 665u: goto L_08A07480;
|
|
case 666u: goto L_08A07490;
|
|
case 667u: goto L_08A07498;
|
|
case 668u: goto L_08A074B4;
|
|
case 669u: goto L_08A074B8;
|
|
case 670u: goto L_08A074D4;
|
|
case 671u: goto L_08A074E0;
|
|
case 672u: goto L_08A074EC;
|
|
case 673u: goto L_08A07508;
|
|
case 674u: goto L_08A0751C;
|
|
case 675u: goto L_08A07530;
|
|
case 676u: goto L_08A07538;
|
|
case 677u: goto L_08A07558;
|
|
case 678u: goto L_08A0755C;
|
|
case 679u: goto L_08A07560;
|
|
case 680u: goto L_08A07580;
|
|
case 681u: goto L_08A075A8;
|
|
case 682u: goto L_08A075C0;
|
|
case 683u: goto L_08A075E4;
|
|
case 684u: goto L_08A075FC;
|
|
case 685u: goto L_08A07608;
|
|
case 686u: goto L_08A07610;
|
|
case 687u: goto L_08A07640;
|
|
case 688u: goto L_08A076B8;
|
|
case 689u: goto L_08A076D4;
|
|
case 690u: goto L_08A07700;
|
|
case 691u: goto L_08A0773C;
|
|
case 692u: goto L_08A0775C;
|
|
case 693u: goto L_08A0777C;
|
|
case 694u: goto L_08A07804;
|
|
case 695u: goto L_08A07860;
|
|
case 696u: goto L_08A0786C;
|
|
case 697u: goto L_08A07878;
|
|
case 698u: goto L_08A0788C;
|
|
case 699u: goto L_08A078A0;
|
|
case 700u: goto L_08A078B8;
|
|
case 701u: goto L_08A078C0;
|
|
case 702u: goto L_08A078C8;
|
|
case 703u: goto L_08A078DC;
|
|
case 704u: goto L_08A078F8;
|
|
case 705u: goto L_08A07900;
|
|
case 706u: goto L_08A0792C;
|
|
case 707u: goto L_08A07930;
|
|
case 708u: goto L_08A07944;
|
|
case 709u: goto L_08A07970;
|
|
case 710u: goto L_08A079A0;
|
|
case 711u: goto L_08A079C0;
|
|
case 712u: goto L_08A07A14;
|
|
case 713u: goto L_08A07A28;
|
|
case 714u: goto L_08A07A50;
|
|
case 715u: goto L_08A07A64;
|
|
case 716u: goto L_08A07A74;
|
|
case 717u: goto L_08A07A88;
|
|
case 718u: goto L_08A07AA0;
|
|
case 719u: goto L_08A07AB4;
|
|
case 720u: goto L_08A07AFC;
|
|
case 721u: goto L_08A07B14;
|
|
case 722u: goto L_08A07B1C;
|
|
case 723u: goto L_08A07B24;
|
|
case 724u: goto L_08A07B2C;
|
|
case 725u: goto L_08A07B38;
|
|
case 726u: goto L_08A07B40;
|
|
case 727u: goto L_08A07B50;
|
|
case 728u: goto L_08A07B58;
|
|
case 729u: goto L_08A07B60;
|
|
case 730u: goto L_08A07B6C;
|
|
case 731u: goto L_08A07B74;
|
|
case 732u: goto L_08A07B7C;
|
|
case 733u: goto L_08A07B84;
|
|
case 734u: goto L_08A07B94;
|
|
case 735u: goto L_08A07BB0;
|
|
case 736u: goto L_08A07BB8;
|
|
case 737u: goto L_08A07BBC;
|
|
case 738u: goto L_08A07BC8;
|
|
case 739u: goto L_08A07BD8;
|
|
case 740u: goto L_08A07BE4;
|
|
case 741u: goto L_08A07BEC;
|
|
case 742u: goto L_08A07BF4;
|
|
case 743u: goto L_08A07BFC;
|
|
case 744u: goto L_08A07C08;
|
|
case 745u: goto L_08A07C10;
|
|
case 746u: goto L_08A07C18;
|
|
case 747u: goto L_08A07C28;
|
|
case 748u: goto L_08A07C44;
|
|
case 749u: goto L_08A07C4C;
|
|
case 750u: goto L_08A07C5C;
|
|
case 751u: goto L_08A07C70;
|
|
case 752u: goto L_08A07C80;
|
|
case 753u: goto L_08A07C90;
|
|
case 754u: goto L_08A07C98;
|
|
case 755u: goto L_08A07CCC;
|
|
case 756u: goto L_08A07CE4;
|
|
case 757u: goto L_08A07CF0;
|
|
case 758u: goto L_08A07D04;
|
|
case 759u: goto L_08A07D10;
|
|
case 760u: goto L_08A07D28;
|
|
case 761u: goto L_08A07D40;
|
|
case 762u: goto L_08A07D68;
|
|
case 763u: goto L_08A07D70;
|
|
case 764u: goto L_08A07D78;
|
|
case 765u: goto L_08A07DB0;
|
|
case 766u: goto L_08A07DDC;
|
|
case 767u: goto L_08A07DF8;
|
|
case 768u: goto L_08A07E04;
|
|
case 769u: goto L_08A07E44;
|
|
case 770u: goto L_08A07E4C;
|
|
case 771u: goto L_08A07E68;
|
|
case 772u: goto L_08A07E8C;
|
|
case 773u: goto L_08A07ECC;
|
|
case 774u: goto L_08A07ED4;
|
|
case 775u: goto L_08A07EF0;
|
|
case 776u: goto L_08A07F14;
|
|
case 777u: goto L_08A07F2C;
|
|
case 778u: goto L_08A07F3C;
|
|
case 779u: goto L_08A07F50;
|
|
case 780u: goto L_08A07F80;
|
|
case 781u: goto L_08A07F90;
|
|
case 782u: goto L_08A07FA0;
|
|
case 783u: goto L_08A07FE0;
|
|
case 784u: goto L_08A07FF4;
|
|
default:
|
|
if (local_transfers == 0u) rt.unsupported(ctx.pc, 0u, "invalid internal function entry");
|
|
else ctx.pc = local_pc;
|
|
return;
|
|
}
|
|
}
|
|
L_08A04000:
|
|
ctx.gpr[31] = (0x08A04008u);
|
|
ctx.gpr[5] = (0u | 1u);
|
|
if (rt.invoke_chained_direct<&recomp_unit_0127_entry, 127u, 469u, 0x08A02044u>(ctx, &aot_mem) && ctx.pc == 0x08A04008u) goto L_08A04008;
|
|
return;
|
|
L_08A04008:
|
|
ctx.gpr[18] = (ctx.gpr[2] | 0u);
|
|
ctx.gpr[4] = (ctx.gpr[16] | 0u);
|
|
ctx.gpr[31] = (0x08A04018u);
|
|
ctx.gpr[5] = (0u | 2u);
|
|
if (rt.invoke_chained_direct<&recomp_unit_0065_entry, 65u, 610u, 0x0890B8D0u>(ctx, &aot_mem) && ctx.pc == 0x08A04018u) goto L_08A04018;
|
|
return;
|
|
L_08A04018:
|
|
ctx.gpr[5] = (2230u << 16u);
|
|
ctx.gpr[4] = (0u | 7u);
|
|
ctx.gpr[5] = (aot_mem.aot_load8(ctx.gpr[5] + static_cast<std::uint32_t>(-6237)));
|
|
aot_mem.aot_store16(ctx.gpr[29] + static_cast<std::uint32_t>(32), static_cast<std::uint16_t>(ctx.gpr[4]));
|
|
aot_mem.aot_store8(ctx.gpr[29] + static_cast<std::uint32_t>(34), static_cast<std::uint8_t>(ctx.gpr[5]));
|
|
ctx.gpr[17] = (ctx.gpr[29] + static_cast<std::uint32_t>(32));
|
|
ctx.gpr[1] = (std::bit_cast<std::uint32_t>(ctx.fpr[0]));
|
|
rt.memory().aot_store_word_right(ctx.gpr[29] + static_cast<std::uint32_t>(35), ctx.gpr[1]);
|
|
rt.memory().aot_store_word_left(ctx.gpr[29] + static_cast<std::uint32_t>(38), ctx.gpr[1]);
|
|
ctx.gpr[16] = (2232u << 16u);
|
|
ctx.gpr[4] = (0u + static_cast<std::uint32_t>(-1));
|
|
{ const bool branch_taken = ctx.gpr[18] == ctx.gpr[4];
|
|
ctx.gpr[16] = (ctx.gpr[16] + static_cast<std::uint32_t>(5736));
|
|
if (branch_taken) {
|
|
goto L_08A0405C;
|
|
}
|
|
goto L_08A0404C;
|
|
}
|
|
L_08A0404C:
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast<std::uint32_t>(100)));
|
|
ctx.gpr[4] = (aot_mem.aot_load16(ctx.gpr[4] + static_cast<std::uint32_t>(52)));
|
|
{ const bool branch_taken = ctx.gpr[18] != ctx.gpr[4];
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_08A04074;
|
|
}
|
|
goto L_08A0405C;
|
|
}
|
|
L_08A0405C:
|
|
aot_mem.aot_store16(ctx.gpr[29] + static_cast<std::uint32_t>(40), static_cast<std::uint16_t>(0u));
|
|
ctx.gpr[6] = (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>(40))))));
|
|
ctx.gpr[4] = (ctx.gpr[17] | 0u);
|
|
ctx.gpr[5] = (0u | 0u);
|
|
ctx.gpr[31] = (0x08A04074u);
|
|
ctx.gpr[7] = (0u | 0u);
|
|
if (rt.invoke_chained_direct<&recomp_unit_0127_entry, 127u, 889u, 0x08A03DE8u>(ctx, &aot_mem) && ctx.pc == 0x08A04074u) goto L_08A04074;
|
|
return;
|
|
L_08A04074:
|
|
ctx.gpr[4] = (ctx.gpr[16] | 0u);
|
|
ctx.gpr[5] = (ctx.gpr[17] | 0u);
|
|
ctx.gpr[31] = (0x08A04084u);
|
|
ctx.gpr[6] = (ctx.gpr[18] | 0u);
|
|
if (rt.invoke_chained_direct<&recomp_unit_0041_entry, 41u, 138u, 0x088A87C4u>(ctx, &aot_mem) && ctx.pc == 0x08A04084u) goto L_08A04084;
|
|
return;
|
|
L_08A04084:
|
|
ctx.gpr[2] = (0u | 0u);
|
|
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[18] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast<std::uint32_t>(52)));
|
|
ctx.gpr[31] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast<std::uint32_t>(56)));
|
|
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_08A040A0:
|
|
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[17]);
|
|
ctx.gpr[16] = (ctx.gpr[4] | 0u);
|
|
ctx.gpr[17] = (0u | 1u);
|
|
aot_mem.aot_store32(ctx.gpr[29] + static_cast<std::uint32_t>(24), ctx.gpr[31]);
|
|
ctx.gpr[31] = (0x08A040C0u);
|
|
ctx.gpr[5] = (0u | 1u);
|
|
if (rt.invoke_chained_direct<&recomp_unit_0127_entry, 127u, 469u, 0x08A02044u>(ctx, &aot_mem) && ctx.pc == 0x08A040C0u) goto L_08A040C0;
|
|
return;
|
|
L_08A040C0:
|
|
ctx.gpr[4] = (ctx.gpr[2] | 0u);
|
|
ctx.gpr[5] = (0u + static_cast<std::uint32_t>(-1));
|
|
{ const bool branch_taken = ctx.gpr[4] == ctx.gpr[5];
|
|
ctx.gpr[5] = (2232u << 16u);
|
|
if (branch_taken) {
|
|
goto L_08A040E4;
|
|
}
|
|
goto L_08A040D0;
|
|
}
|
|
L_08A040D0:
|
|
ctx.gpr[5] = (ctx.gpr[5] + static_cast<std::uint32_t>(5736));
|
|
ctx.gpr[5] = (aot_mem.aot_load32(ctx.gpr[5] + static_cast<std::uint32_t>(100)));
|
|
ctx.gpr[5] = (aot_mem.aot_load16(ctx.gpr[5] + static_cast<std::uint32_t>(52)));
|
|
{ const bool branch_taken = ctx.gpr[4] != ctx.gpr[5];
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_08A04100;
|
|
}
|
|
goto L_08A040E4;
|
|
}
|
|
L_08A040E4:
|
|
ctx.gpr[31] = (0x08A040ECu);
|
|
ctx.gpr[4] = (0u | 0u);
|
|
if (rt.invoke_chained_direct<&recomp_unit_0164_entry, 164u, 524u, 0x08A964B8u>(ctx, &aot_mem) && ctx.pc == 0x08A040ECu) goto L_08A040EC;
|
|
return;
|
|
L_08A040EC:
|
|
ctx.gpr[5] = (static_cast<std::uint32_t>(static_cast<std::int32_t>(static_cast<std::int16_t>(aot_mem.aot_load16(ctx.gpr[2] + static_cast<std::uint32_t>(34))))));
|
|
ctx.gpr[31] = (0x08A040F8u);
|
|
ctx.gpr[4] = (ctx.gpr[16] | 0u);
|
|
if (rt.invoke_chained_direct<&recomp_unit_0065_entry, 65u, 701u, 0x0890BEDCu>(ctx, &aot_mem) && ctx.pc == 0x08A040F8u) goto L_08A040F8;
|
|
return;
|
|
L_08A040F8:
|
|
{ const bool branch_taken = 0u == 0u;
|
|
ctx.gpr[2] = (ctx.gpr[17] | 0u);
|
|
if (branch_taken) {
|
|
goto L_08A04104;
|
|
}
|
|
goto L_08A04100;
|
|
}
|
|
L_08A04100:
|
|
ctx.gpr[2] = (0u | 0u);
|
|
goto L_08A04104;
|
|
L_08A04104:
|
|
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_08A04118:
|
|
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[17]);
|
|
ctx.gpr[16] = (ctx.gpr[4] | 0u);
|
|
ctx.gpr[17] = (0u | 1u);
|
|
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[31]);
|
|
ctx.gpr[31] = (0x08A0413Cu);
|
|
ctx.gpr[5] = (0u | 1u);
|
|
if (rt.invoke_chained_direct<&recomp_unit_0127_entry, 127u, 469u, 0x08A02044u>(ctx, &aot_mem) && ctx.pc == 0x08A0413Cu) goto L_08A0413C;
|
|
return;
|
|
L_08A0413C:
|
|
ctx.gpr[4] = (ctx.gpr[2] | 0u);
|
|
ctx.gpr[5] = (0u + static_cast<std::uint32_t>(-1));
|
|
{ const bool branch_taken = ctx.gpr[4] == ctx.gpr[5];
|
|
ctx.gpr[5] = (2232u << 16u);
|
|
if (branch_taken) {
|
|
goto L_08A04160;
|
|
}
|
|
goto L_08A0414C;
|
|
}
|
|
L_08A0414C:
|
|
ctx.gpr[5] = (ctx.gpr[5] + static_cast<std::uint32_t>(5736));
|
|
ctx.gpr[5] = (aot_mem.aot_load32(ctx.gpr[5] + static_cast<std::uint32_t>(100)));
|
|
ctx.gpr[5] = (aot_mem.aot_load16(ctx.gpr[5] + static_cast<std::uint32_t>(52)));
|
|
{ const bool branch_taken = ctx.gpr[4] != ctx.gpr[5];
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_08A041AC;
|
|
}
|
|
goto L_08A04160;
|
|
}
|
|
L_08A04160:
|
|
ctx.gpr[18] = (0u | 0u);
|
|
ctx.gpr[31] = (0x08A0416Cu);
|
|
ctx.gpr[4] = (0u | 0u);
|
|
if (rt.invoke_chained_direct<&recomp_unit_0164_entry, 164u, 524u, 0x08A964B8u>(ctx, &aot_mem) && ctx.pc == 0x08A0416Cu) goto L_08A0416C;
|
|
return;
|
|
L_08A0416C:
|
|
ctx.gpr[31] = (0x08A04174u);
|
|
ctx.gpr[4] = (ctx.gpr[2] | 0u);
|
|
if (rt.invoke_chained_direct<&recomp_unit_0164_entry, 164u, 675u, 0x08A96DE0u>(ctx, &aot_mem) && ctx.pc == 0x08A04174u) goto L_08A04174;
|
|
return;
|
|
L_08A04174:
|
|
if (ctx.gpr[2] != 0u) {
|
|
ctx.gpr[18] = (ctx.gpr[17] | 0u);
|
|
goto L_08A04198;
|
|
}
|
|
goto L_08A0417C;
|
|
L_08A0417C:
|
|
ctx.gpr[31] = (0x08A04184u);
|
|
ctx.gpr[4] = (0u | 0u);
|
|
if (rt.invoke_chained_direct<&recomp_unit_0164_entry, 164u, 524u, 0x08A964B8u>(ctx, &aot_mem) && ctx.pc == 0x08A04184u) goto L_08A04184;
|
|
return;
|
|
L_08A04184:
|
|
ctx.gpr[31] = (0x08A0418Cu);
|
|
ctx.gpr[4] = (ctx.gpr[2] | 0u);
|
|
if (rt.invoke_chained_direct<&recomp_unit_0164_entry, 164u, 856u, 0x08A9751Cu>(ctx, &aot_mem) && ctx.pc == 0x08A0418Cu) goto L_08A0418C;
|
|
return;
|
|
L_08A0418C:
|
|
{ const bool branch_taken = static_cast<std::int32_t>(ctx.gpr[2]) >= 0;
|
|
ctx.gpr[4] = (ctx.gpr[16] | 0u);
|
|
if (branch_taken) {
|
|
goto L_08A0419C;
|
|
}
|
|
goto L_08A04194;
|
|
}
|
|
L_08A04194:
|
|
ctx.gpr[18] = (ctx.gpr[17] | 0u);
|
|
goto L_08A04198;
|
|
L_08A04198:
|
|
ctx.gpr[4] = (ctx.gpr[16] | 0u);
|
|
goto L_08A0419C;
|
|
L_08A0419C:
|
|
ctx.gpr[31] = (0x08A041A4u);
|
|
ctx.gpr[5] = (ctx.gpr[18] | 0u);
|
|
if (rt.invoke_chained_direct<&recomp_unit_0065_entry, 65u, 701u, 0x0890BEDCu>(ctx, &aot_mem) && ctx.pc == 0x08A041A4u) goto L_08A041A4;
|
|
return;
|
|
L_08A041A4:
|
|
{ const bool branch_taken = 0u == 0u;
|
|
ctx.gpr[2] = (ctx.gpr[17] | 0u);
|
|
if (branch_taken) {
|
|
goto L_08A041B0;
|
|
}
|
|
goto L_08A041AC;
|
|
}
|
|
L_08A041AC:
|
|
ctx.gpr[2] = (0u | 0u);
|
|
goto L_08A041B0;
|
|
L_08A041B0:
|
|
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[31] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast<std::uint32_t>(28)));
|
|
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_08A041C8:
|
|
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[17]);
|
|
ctx.gpr[16] = (ctx.gpr[4] | 0u);
|
|
ctx.gpr[17] = (0u | 1u);
|
|
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[31]);
|
|
ctx.gpr[31] = (0x08A041ECu);
|
|
ctx.gpr[5] = (0u | 1u);
|
|
if (rt.invoke_chained_direct<&recomp_unit_0127_entry, 127u, 469u, 0x08A02044u>(ctx, &aot_mem) && ctx.pc == 0x08A041ECu) goto L_08A041EC;
|
|
return;
|
|
L_08A041EC:
|
|
ctx.gpr[4] = (ctx.gpr[2] | 0u);
|
|
ctx.gpr[5] = (0u + static_cast<std::uint32_t>(-1));
|
|
{ const bool branch_taken = ctx.gpr[4] == ctx.gpr[5];
|
|
ctx.gpr[5] = (2232u << 16u);
|
|
if (branch_taken) {
|
|
goto L_08A04210;
|
|
}
|
|
goto L_08A041FC;
|
|
}
|
|
L_08A041FC:
|
|
ctx.gpr[5] = (ctx.gpr[5] + static_cast<std::uint32_t>(5736));
|
|
ctx.gpr[5] = (aot_mem.aot_load32(ctx.gpr[5] + static_cast<std::uint32_t>(100)));
|
|
ctx.gpr[5] = (aot_mem.aot_load16(ctx.gpr[5] + static_cast<std::uint32_t>(52)));
|
|
{ const bool branch_taken = ctx.gpr[4] != ctx.gpr[5];
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_08A0425C;
|
|
}
|
|
goto L_08A04210;
|
|
}
|
|
L_08A04210:
|
|
ctx.gpr[18] = (0u | 0u);
|
|
ctx.gpr[31] = (0x08A0421Cu);
|
|
ctx.gpr[4] = (0u | 0u);
|
|
if (rt.invoke_chained_direct<&recomp_unit_0164_entry, 164u, 524u, 0x08A964B8u>(ctx, &aot_mem) && ctx.pc == 0x08A0421Cu) goto L_08A0421C;
|
|
return;
|
|
L_08A0421C:
|
|
ctx.gpr[31] = (0x08A04224u);
|
|
ctx.gpr[4] = (ctx.gpr[2] | 0u);
|
|
if (rt.invoke_chained_direct<&recomp_unit_0164_entry, 164u, 679u, 0x08A96E04u>(ctx, &aot_mem) && ctx.pc == 0x08A04224u) goto L_08A04224;
|
|
return;
|
|
L_08A04224:
|
|
if (ctx.gpr[2] != 0u) {
|
|
ctx.gpr[18] = (ctx.gpr[17] | 0u);
|
|
goto L_08A04248;
|
|
}
|
|
goto L_08A0422C;
|
|
L_08A0422C:
|
|
ctx.gpr[31] = (0x08A04234u);
|
|
ctx.gpr[4] = (0u | 0u);
|
|
if (rt.invoke_chained_direct<&recomp_unit_0164_entry, 164u, 524u, 0x08A964B8u>(ctx, &aot_mem) && ctx.pc == 0x08A04234u) goto L_08A04234;
|
|
return;
|
|
L_08A04234:
|
|
ctx.gpr[31] = (0x08A0423Cu);
|
|
ctx.gpr[4] = (ctx.gpr[2] | 0u);
|
|
if (rt.invoke_chained_direct<&recomp_unit_0164_entry, 164u, 856u, 0x08A9751Cu>(ctx, &aot_mem) && ctx.pc == 0x08A0423Cu) goto L_08A0423C;
|
|
return;
|
|
L_08A0423C:
|
|
{ const bool branch_taken = static_cast<std::int32_t>(ctx.gpr[2]) <= 0;
|
|
ctx.gpr[4] = (ctx.gpr[16] | 0u);
|
|
if (branch_taken) {
|
|
goto L_08A0424C;
|
|
}
|
|
goto L_08A04244;
|
|
}
|
|
L_08A04244:
|
|
ctx.gpr[18] = (ctx.gpr[17] | 0u);
|
|
goto L_08A04248;
|
|
L_08A04248:
|
|
ctx.gpr[4] = (ctx.gpr[16] | 0u);
|
|
goto L_08A0424C;
|
|
L_08A0424C:
|
|
ctx.gpr[31] = (0x08A04254u);
|
|
ctx.gpr[5] = (ctx.gpr[18] | 0u);
|
|
if (rt.invoke_chained_direct<&recomp_unit_0065_entry, 65u, 701u, 0x0890BEDCu>(ctx, &aot_mem) && ctx.pc == 0x08A04254u) goto L_08A04254;
|
|
return;
|
|
L_08A04254:
|
|
{ const bool branch_taken = 0u == 0u;
|
|
ctx.gpr[2] = (ctx.gpr[17] | 0u);
|
|
if (branch_taken) {
|
|
goto L_08A04260;
|
|
}
|
|
goto L_08A0425C;
|
|
}
|
|
L_08A0425C:
|
|
ctx.gpr[2] = (0u | 0u);
|
|
goto L_08A04260;
|
|
L_08A04260:
|
|
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[31] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast<std::uint32_t>(28)));
|
|
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_08A04278:
|
|
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[17]);
|
|
ctx.gpr[16] = (ctx.gpr[4] | 0u);
|
|
ctx.gpr[17] = (0u | 1u);
|
|
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[31]);
|
|
ctx.gpr[31] = (0x08A0429Cu);
|
|
ctx.gpr[5] = (0u | 1u);
|
|
if (rt.invoke_chained_direct<&recomp_unit_0127_entry, 127u, 469u, 0x08A02044u>(ctx, &aot_mem) && ctx.pc == 0x08A0429Cu) goto L_08A0429C;
|
|
return;
|
|
L_08A0429C:
|
|
ctx.gpr[4] = (ctx.gpr[2] | 0u);
|
|
ctx.gpr[5] = (0u + static_cast<std::uint32_t>(-1));
|
|
{ const bool branch_taken = ctx.gpr[4] == ctx.gpr[5];
|
|
ctx.gpr[5] = (2232u << 16u);
|
|
if (branch_taken) {
|
|
goto L_08A042C0;
|
|
}
|
|
goto L_08A042AC;
|
|
}
|
|
L_08A042AC:
|
|
ctx.gpr[5] = (ctx.gpr[5] + static_cast<std::uint32_t>(5736));
|
|
ctx.gpr[5] = (aot_mem.aot_load32(ctx.gpr[5] + static_cast<std::uint32_t>(100)));
|
|
ctx.gpr[5] = (aot_mem.aot_load16(ctx.gpr[5] + static_cast<std::uint32_t>(52)));
|
|
{ const bool branch_taken = ctx.gpr[4] != ctx.gpr[5];
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_08A0430C;
|
|
}
|
|
goto L_08A042C0;
|
|
}
|
|
L_08A042C0:
|
|
ctx.gpr[18] = (0u | 0u);
|
|
ctx.gpr[31] = (0x08A042CCu);
|
|
ctx.gpr[4] = (0u | 0u);
|
|
if (rt.invoke_chained_direct<&recomp_unit_0164_entry, 164u, 524u, 0x08A964B8u>(ctx, &aot_mem) && ctx.pc == 0x08A042CCu) goto L_08A042CC;
|
|
return;
|
|
L_08A042CC:
|
|
ctx.gpr[31] = (0x08A042D4u);
|
|
ctx.gpr[4] = (ctx.gpr[2] | 0u);
|
|
if (rt.invoke_chained_direct<&recomp_unit_0164_entry, 164u, 667u, 0x08A96D98u>(ctx, &aot_mem) && ctx.pc == 0x08A042D4u) goto L_08A042D4;
|
|
return;
|
|
L_08A042D4:
|
|
if (ctx.gpr[2] != 0u) {
|
|
ctx.gpr[18] = (ctx.gpr[17] | 0u);
|
|
goto L_08A042F8;
|
|
}
|
|
goto L_08A042DC;
|
|
L_08A042DC:
|
|
ctx.gpr[31] = (0x08A042E4u);
|
|
ctx.gpr[4] = (0u | 0u);
|
|
if (rt.invoke_chained_direct<&recomp_unit_0164_entry, 164u, 524u, 0x08A964B8u>(ctx, &aot_mem) && ctx.pc == 0x08A042E4u) goto L_08A042E4;
|
|
return;
|
|
L_08A042E4:
|
|
ctx.gpr[31] = (0x08A042ECu);
|
|
ctx.gpr[4] = (ctx.gpr[2] | 0u);
|
|
if (rt.invoke_chained_direct<&recomp_unit_0164_entry, 164u, 888u, 0x08A976B0u>(ctx, &aot_mem) && ctx.pc == 0x08A042ECu) goto L_08A042EC;
|
|
return;
|
|
L_08A042EC:
|
|
{ const bool branch_taken = static_cast<std::int32_t>(ctx.gpr[2]) >= 0;
|
|
ctx.gpr[4] = (ctx.gpr[16] | 0u);
|
|
if (branch_taken) {
|
|
goto L_08A042FC;
|
|
}
|
|
goto L_08A042F4;
|
|
}
|
|
L_08A042F4:
|
|
ctx.gpr[18] = (ctx.gpr[17] | 0u);
|
|
goto L_08A042F8;
|
|
L_08A042F8:
|
|
ctx.gpr[4] = (ctx.gpr[16] | 0u);
|
|
goto L_08A042FC;
|
|
L_08A042FC:
|
|
ctx.gpr[31] = (0x08A04304u);
|
|
ctx.gpr[5] = (ctx.gpr[18] | 0u);
|
|
if (rt.invoke_chained_direct<&recomp_unit_0065_entry, 65u, 701u, 0x0890BEDCu>(ctx, &aot_mem) && ctx.pc == 0x08A04304u) goto L_08A04304;
|
|
return;
|
|
L_08A04304:
|
|
{ const bool branch_taken = 0u == 0u;
|
|
ctx.gpr[2] = (ctx.gpr[17] | 0u);
|
|
if (branch_taken) {
|
|
goto L_08A04310;
|
|
}
|
|
goto L_08A0430C;
|
|
}
|
|
L_08A0430C:
|
|
ctx.gpr[2] = (0u | 0u);
|
|
goto L_08A04310;
|
|
L_08A04310:
|
|
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[31] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast<std::uint32_t>(28)));
|
|
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_08A04328:
|
|
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[17]);
|
|
ctx.gpr[16] = (ctx.gpr[4] | 0u);
|
|
ctx.gpr[17] = (0u | 1u);
|
|
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[31]);
|
|
ctx.gpr[31] = (0x08A0434Cu);
|
|
ctx.gpr[5] = (0u | 1u);
|
|
if (rt.invoke_chained_direct<&recomp_unit_0127_entry, 127u, 469u, 0x08A02044u>(ctx, &aot_mem) && ctx.pc == 0x08A0434Cu) goto L_08A0434C;
|
|
return;
|
|
L_08A0434C:
|
|
ctx.gpr[4] = (ctx.gpr[2] | 0u);
|
|
ctx.gpr[5] = (0u + static_cast<std::uint32_t>(-1));
|
|
{ const bool branch_taken = ctx.gpr[4] == ctx.gpr[5];
|
|
ctx.gpr[5] = (2232u << 16u);
|
|
if (branch_taken) {
|
|
goto L_08A04370;
|
|
}
|
|
goto L_08A0435C;
|
|
}
|
|
L_08A0435C:
|
|
ctx.gpr[5] = (ctx.gpr[5] + static_cast<std::uint32_t>(5736));
|
|
ctx.gpr[5] = (aot_mem.aot_load32(ctx.gpr[5] + static_cast<std::uint32_t>(100)));
|
|
ctx.gpr[5] = (aot_mem.aot_load16(ctx.gpr[5] + static_cast<std::uint32_t>(52)));
|
|
{ const bool branch_taken = ctx.gpr[4] != ctx.gpr[5];
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_08A043BC;
|
|
}
|
|
goto L_08A04370;
|
|
}
|
|
L_08A04370:
|
|
ctx.gpr[18] = (0u | 0u);
|
|
ctx.gpr[31] = (0x08A0437Cu);
|
|
ctx.gpr[4] = (0u | 0u);
|
|
if (rt.invoke_chained_direct<&recomp_unit_0164_entry, 164u, 524u, 0x08A964B8u>(ctx, &aot_mem) && ctx.pc == 0x08A0437Cu) goto L_08A0437C;
|
|
return;
|
|
L_08A0437C:
|
|
ctx.gpr[31] = (0x08A04384u);
|
|
ctx.gpr[4] = (ctx.gpr[2] | 0u);
|
|
if (rt.invoke_chained_direct<&recomp_unit_0164_entry, 164u, 671u, 0x08A96DBCu>(ctx, &aot_mem) && ctx.pc == 0x08A04384u) goto L_08A04384;
|
|
return;
|
|
L_08A04384:
|
|
if (ctx.gpr[2] != 0u) {
|
|
ctx.gpr[18] = (ctx.gpr[17] | 0u);
|
|
goto L_08A043A8;
|
|
}
|
|
goto L_08A0438C;
|
|
L_08A0438C:
|
|
ctx.gpr[31] = (0x08A04394u);
|
|
ctx.gpr[4] = (0u | 0u);
|
|
if (rt.invoke_chained_direct<&recomp_unit_0164_entry, 164u, 524u, 0x08A964B8u>(ctx, &aot_mem) && ctx.pc == 0x08A04394u) goto L_08A04394;
|
|
return;
|
|
L_08A04394:
|
|
ctx.gpr[31] = (0x08A0439Cu);
|
|
ctx.gpr[4] = (ctx.gpr[2] | 0u);
|
|
if (rt.invoke_chained_direct<&recomp_unit_0164_entry, 164u, 888u, 0x08A976B0u>(ctx, &aot_mem) && ctx.pc == 0x08A0439Cu) goto L_08A0439C;
|
|
return;
|
|
L_08A0439C:
|
|
{ const bool branch_taken = static_cast<std::int32_t>(ctx.gpr[2]) <= 0;
|
|
ctx.gpr[4] = (ctx.gpr[16] | 0u);
|
|
if (branch_taken) {
|
|
goto L_08A043AC;
|
|
}
|
|
goto L_08A043A4;
|
|
}
|
|
L_08A043A4:
|
|
ctx.gpr[18] = (ctx.gpr[17] | 0u);
|
|
goto L_08A043A8;
|
|
L_08A043A8:
|
|
ctx.gpr[4] = (ctx.gpr[16] | 0u);
|
|
goto L_08A043AC;
|
|
L_08A043AC:
|
|
ctx.gpr[31] = (0x08A043B4u);
|
|
ctx.gpr[5] = (ctx.gpr[18] | 0u);
|
|
if (rt.invoke_chained_direct<&recomp_unit_0065_entry, 65u, 701u, 0x0890BEDCu>(ctx, &aot_mem) && ctx.pc == 0x08A043B4u) goto L_08A043B4;
|
|
return;
|
|
L_08A043B4:
|
|
{ const bool branch_taken = 0u == 0u;
|
|
ctx.gpr[2] = (ctx.gpr[17] | 0u);
|
|
if (branch_taken) {
|
|
goto L_08A043C0;
|
|
}
|
|
goto L_08A043BC;
|
|
}
|
|
L_08A043BC:
|
|
ctx.gpr[2] = (0u | 0u);
|
|
goto L_08A043C0;
|
|
L_08A043C0:
|
|
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[31] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast<std::uint32_t>(28)));
|
|
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_08A043D8:
|
|
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[17]);
|
|
ctx.gpr[16] = (ctx.gpr[4] | 0u);
|
|
ctx.gpr[17] = (0u | 1u);
|
|
aot_mem.aot_store32(ctx.gpr[29] + static_cast<std::uint32_t>(24), ctx.gpr[31]);
|
|
ctx.gpr[31] = (0x08A043F8u);
|
|
ctx.gpr[5] = (0u | 1u);
|
|
if (rt.invoke_chained_direct<&recomp_unit_0127_entry, 127u, 469u, 0x08A02044u>(ctx, &aot_mem) && ctx.pc == 0x08A043F8u) goto L_08A043F8;
|
|
return;
|
|
L_08A043F8:
|
|
ctx.gpr[4] = (ctx.gpr[2] | 0u);
|
|
ctx.gpr[5] = (0u + static_cast<std::uint32_t>(-1));
|
|
{ const bool branch_taken = ctx.gpr[4] == ctx.gpr[5];
|
|
ctx.gpr[5] = (2232u << 16u);
|
|
if (branch_taken) {
|
|
goto L_08A0441C;
|
|
}
|
|
goto L_08A04408;
|
|
}
|
|
L_08A04408:
|
|
ctx.gpr[5] = (ctx.gpr[5] + static_cast<std::uint32_t>(5736));
|
|
ctx.gpr[5] = (aot_mem.aot_load32(ctx.gpr[5] + static_cast<std::uint32_t>(100)));
|
|
ctx.gpr[5] = (aot_mem.aot_load16(ctx.gpr[5] + static_cast<std::uint32_t>(52)));
|
|
{ const bool branch_taken = ctx.gpr[4] != ctx.gpr[5];
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_08A04438;
|
|
}
|
|
goto L_08A0441C;
|
|
}
|
|
L_08A0441C:
|
|
ctx.gpr[31] = (0x08A04424u);
|
|
ctx.gpr[4] = (0u | 0u);
|
|
if (rt.invoke_chained_direct<&recomp_unit_0164_entry, 164u, 524u, 0x08A964B8u>(ctx, &aot_mem) && ctx.pc == 0x08A04424u) goto L_08A04424;
|
|
return;
|
|
L_08A04424:
|
|
ctx.gpr[5] = (static_cast<std::uint32_t>(static_cast<std::int32_t>(static_cast<std::int16_t>(aot_mem.aot_load16(ctx.gpr[2] + static_cast<std::uint32_t>(42))))));
|
|
ctx.gpr[31] = (0x08A04430u);
|
|
ctx.gpr[4] = (ctx.gpr[16] | 0u);
|
|
if (rt.invoke_chained_direct<&recomp_unit_0065_entry, 65u, 701u, 0x0890BEDCu>(ctx, &aot_mem) && ctx.pc == 0x08A04430u) goto L_08A04430;
|
|
return;
|
|
L_08A04430:
|
|
{ const bool branch_taken = 0u == 0u;
|
|
ctx.gpr[2] = (ctx.gpr[17] | 0u);
|
|
if (branch_taken) {
|
|
goto L_08A0443C;
|
|
}
|
|
goto L_08A04438;
|
|
}
|
|
L_08A04438:
|
|
ctx.gpr[2] = (0u | 0u);
|
|
goto L_08A0443C;
|
|
L_08A0443C:
|
|
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_08A04450:
|
|
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[17]);
|
|
ctx.gpr[16] = (ctx.gpr[4] | 0u);
|
|
ctx.gpr[17] = (0u | 1u);
|
|
aot_mem.aot_store32(ctx.gpr[29] + static_cast<std::uint32_t>(24), ctx.gpr[31]);
|
|
ctx.gpr[31] = (0x08A04470u);
|
|
ctx.gpr[5] = (0u | 1u);
|
|
if (rt.invoke_chained_direct<&recomp_unit_0127_entry, 127u, 469u, 0x08A02044u>(ctx, &aot_mem) && ctx.pc == 0x08A04470u) goto L_08A04470;
|
|
return;
|
|
L_08A04470:
|
|
ctx.gpr[4] = (ctx.gpr[2] | 0u);
|
|
ctx.gpr[5] = (0u + static_cast<std::uint32_t>(-1));
|
|
{ const bool branch_taken = ctx.gpr[4] == ctx.gpr[5];
|
|
ctx.gpr[5] = (2232u << 16u);
|
|
if (branch_taken) {
|
|
goto L_08A04494;
|
|
}
|
|
goto L_08A04480;
|
|
}
|
|
L_08A04480:
|
|
ctx.gpr[5] = (ctx.gpr[5] + static_cast<std::uint32_t>(5736));
|
|
ctx.gpr[5] = (aot_mem.aot_load32(ctx.gpr[5] + static_cast<std::uint32_t>(100)));
|
|
ctx.gpr[5] = (aot_mem.aot_load16(ctx.gpr[5] + static_cast<std::uint32_t>(52)));
|
|
{ const bool branch_taken = ctx.gpr[4] != ctx.gpr[5];
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_08A044B0;
|
|
}
|
|
goto L_08A04494;
|
|
}
|
|
L_08A04494:
|
|
ctx.gpr[31] = (0x08A0449Cu);
|
|
ctx.gpr[4] = (0u | 0u);
|
|
if (rt.invoke_chained_direct<&recomp_unit_0164_entry, 164u, 524u, 0x08A964B8u>(ctx, &aot_mem) && ctx.pc == 0x08A0449Cu) goto L_08A0449C;
|
|
return;
|
|
L_08A0449C:
|
|
ctx.gpr[5] = (static_cast<std::uint32_t>(static_cast<std::int32_t>(static_cast<std::int16_t>(aot_mem.aot_load16(ctx.gpr[2] + static_cast<std::uint32_t>(44))))));
|
|
ctx.gpr[31] = (0x08A044A8u);
|
|
ctx.gpr[4] = (ctx.gpr[16] | 0u);
|
|
if (rt.invoke_chained_direct<&recomp_unit_0065_entry, 65u, 701u, 0x0890BEDCu>(ctx, &aot_mem) && ctx.pc == 0x08A044A8u) goto L_08A044A8;
|
|
return;
|
|
L_08A044A8:
|
|
{ const bool branch_taken = 0u == 0u;
|
|
ctx.gpr[2] = (ctx.gpr[17] | 0u);
|
|
if (branch_taken) {
|
|
goto L_08A044B4;
|
|
}
|
|
goto L_08A044B0;
|
|
}
|
|
L_08A044B0:
|
|
ctx.gpr[2] = (0u | 0u);
|
|
goto L_08A044B4;
|
|
L_08A044B4:
|
|
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_08A044C8:
|
|
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[17]);
|
|
ctx.gpr[16] = (ctx.gpr[4] | 0u);
|
|
ctx.gpr[17] = (0u | 1u);
|
|
aot_mem.aot_store32(ctx.gpr[29] + static_cast<std::uint32_t>(24), ctx.gpr[31]);
|
|
ctx.gpr[31] = (0x08A044E8u);
|
|
ctx.gpr[5] = (0u | 1u);
|
|
if (rt.invoke_chained_direct<&recomp_unit_0127_entry, 127u, 469u, 0x08A02044u>(ctx, &aot_mem) && ctx.pc == 0x08A044E8u) goto L_08A044E8;
|
|
return;
|
|
L_08A044E8:
|
|
ctx.gpr[4] = (ctx.gpr[2] | 0u);
|
|
ctx.gpr[5] = (0u + static_cast<std::uint32_t>(-1));
|
|
{ const bool branch_taken = ctx.gpr[4] == ctx.gpr[5];
|
|
ctx.gpr[5] = (2232u << 16u);
|
|
if (branch_taken) {
|
|
goto L_08A0450C;
|
|
}
|
|
goto L_08A044F8;
|
|
}
|
|
L_08A044F8:
|
|
ctx.gpr[5] = (ctx.gpr[5] + static_cast<std::uint32_t>(5736));
|
|
ctx.gpr[5] = (aot_mem.aot_load32(ctx.gpr[5] + static_cast<std::uint32_t>(100)));
|
|
ctx.gpr[5] = (aot_mem.aot_load16(ctx.gpr[5] + static_cast<std::uint32_t>(52)));
|
|
{ const bool branch_taken = ctx.gpr[4] != ctx.gpr[5];
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_08A04528;
|
|
}
|
|
goto L_08A0450C;
|
|
}
|
|
L_08A0450C:
|
|
ctx.gpr[31] = (0x08A04514u);
|
|
ctx.gpr[4] = (0u | 0u);
|
|
if (rt.invoke_chained_direct<&recomp_unit_0164_entry, 164u, 524u, 0x08A964B8u>(ctx, &aot_mem) && ctx.pc == 0x08A04514u) goto L_08A04514;
|
|
return;
|
|
L_08A04514:
|
|
ctx.gpr[5] = (static_cast<std::uint32_t>(static_cast<std::int32_t>(static_cast<std::int16_t>(aot_mem.aot_load16(ctx.gpr[2] + static_cast<std::uint32_t>(40))))));
|
|
ctx.gpr[31] = (0x08A04520u);
|
|
ctx.gpr[4] = (ctx.gpr[16] | 0u);
|
|
if (rt.invoke_chained_direct<&recomp_unit_0065_entry, 65u, 701u, 0x0890BEDCu>(ctx, &aot_mem) && ctx.pc == 0x08A04520u) goto L_08A04520;
|
|
return;
|
|
L_08A04520:
|
|
{ const bool branch_taken = 0u == 0u;
|
|
ctx.gpr[2] = (ctx.gpr[17] | 0u);
|
|
if (branch_taken) {
|
|
goto L_08A0452C;
|
|
}
|
|
goto L_08A04528;
|
|
}
|
|
L_08A04528:
|
|
ctx.gpr[2] = (0u | 0u);
|
|
goto L_08A0452C;
|
|
L_08A0452C:
|
|
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_08A04540:
|
|
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] = (0u | 1u);
|
|
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]);
|
|
ctx.gpr[31] = (0x08A0455Cu);
|
|
ctx.gpr[5] = (0u | 1u);
|
|
if (rt.invoke_chained_direct<&recomp_unit_0065_entry, 65u, 618u, 0x0890B928u>(ctx, &aot_mem) && ctx.pc == 0x08A0455Cu) goto L_08A0455C;
|
|
return;
|
|
L_08A0455C:
|
|
ctx.gpr[4] = (0u < ctx.gpr[2] ? 1u : 0u);
|
|
ctx.gpr[17] = (ctx.gpr[4] & 255u);
|
|
ctx.gpr[31] = (0x08A0456Cu);
|
|
ctx.gpr[4] = (0u | 0u);
|
|
if (rt.invoke_chained_direct<&recomp_unit_0164_entry, 164u, 524u, 0x08A964B8u>(ctx, &aot_mem) && ctx.pc == 0x08A0456Cu) goto L_08A0456C;
|
|
return;
|
|
L_08A0456C:
|
|
aot_mem.aot_store16(ctx.gpr[2] + static_cast<std::uint32_t>(134), static_cast<std::uint16_t>(ctx.gpr[17]));
|
|
ctx.gpr[2] = (ctx.gpr[16] | 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[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_08A04588:
|
|
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[16]);
|
|
ctx.gpr[16] = (ctx.gpr[4] | 0u);
|
|
aot_mem.aot_store32(ctx.gpr[29] + static_cast<std::uint32_t>(24), ctx.gpr[17]);
|
|
aot_mem.aot_store32(ctx.gpr[29] + static_cast<std::uint32_t>(28), ctx.gpr[31]);
|
|
ctx.gpr[31] = (0x08A045A4u);
|
|
ctx.gpr[5] = (0u | 1u);
|
|
if (rt.invoke_chained_direct<&recomp_unit_0127_entry, 127u, 467u, 0x08A02020u>(ctx, &aot_mem) && ctx.pc == 0x08A045A4u) goto L_08A045A4;
|
|
return;
|
|
L_08A045A4:
|
|
{ const bool branch_taken = ctx.gpr[2] == 0u;
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_08A04620;
|
|
}
|
|
goto L_08A045AC;
|
|
}
|
|
L_08A045AC:
|
|
ctx.gpr[4] = (ctx.gpr[16] | 0u);
|
|
ctx.gpr[31] = (0x08A045B8u);
|
|
ctx.gpr[5] = (0u | 1u);
|
|
if (rt.invoke_chained_direct<&recomp_unit_0127_entry, 127u, 469u, 0x08A02044u>(ctx, &aot_mem) && ctx.pc == 0x08A045B8u) goto L_08A045B8;
|
|
return;
|
|
L_08A045B8:
|
|
ctx.gpr[4] = (2232u << 16u);
|
|
ctx.gpr[5] = (ctx.gpr[2] | 0u);
|
|
ctx.gpr[6] = (0u | 1u);
|
|
ctx.gpr[31] = (0x08A045CCu);
|
|
ctx.gpr[4] = (ctx.gpr[4] + static_cast<std::uint32_t>(5736));
|
|
if (rt.invoke_chained_direct<&recomp_unit_0041_entry, 41u, 141u, 0x088A87FCu>(ctx, &aot_mem) && ctx.pc == 0x08A045CCu) goto L_08A045CC;
|
|
return;
|
|
L_08A045CC:
|
|
ctx.gpr[17] = (ctx.gpr[2] | 0u);
|
|
{ const bool branch_taken = ctx.gpr[17] == 0u;
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_08A04620;
|
|
}
|
|
goto L_08A045D8;
|
|
}
|
|
L_08A045D8:
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[17] + static_cast<std::uint32_t>(96)));
|
|
{ const bool branch_taken = ctx.gpr[4] != 0u;
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_08A04600;
|
|
}
|
|
goto L_08A045E4;
|
|
}
|
|
L_08A045E4:
|
|
ctx.gpr[5] = (static_cast<std::uint32_t>(static_cast<std::int32_t>(static_cast<std::int16_t>(aot_mem.aot_load16(ctx.gpr[17] + static_cast<std::uint32_t>(10))))));
|
|
ctx.gpr[6] = (ctx.gpr[29] + static_cast<std::uint32_t>(16));
|
|
ctx.gpr[31] = (0x08A045F4u);
|
|
ctx.gpr[4] = (ctx.gpr[17] | 0u);
|
|
if (rt.invoke_chained_direct<&recomp_unit_0176_entry, 176u, 222u, 0x08AC5938u>(ctx, &aot_mem) && ctx.pc == 0x08A045F4u) goto L_08A045F4;
|
|
return;
|
|
L_08A045F4:
|
|
aot_mem.aot_store32(ctx.gpr[17] + static_cast<std::uint32_t>(96), ctx.gpr[2]);
|
|
ctx.gpr[4] = (aot_mem.aot_load8(ctx.gpr[29] + static_cast<std::uint32_t>(16)));
|
|
aot_mem.aot_store8(ctx.gpr[17] + static_cast<std::uint32_t>(4), static_cast<std::uint8_t>(ctx.gpr[4]));
|
|
goto L_08A04600;
|
|
L_08A04600:
|
|
ctx.gpr[5] = (aot_mem.aot_load32(ctx.gpr[17] + static_cast<std::uint32_t>(96)));
|
|
ctx.gpr[4] = (ctx.gpr[16] | 0u);
|
|
ctx.gpr[5] = (aot_mem.aot_load16(ctx.gpr[5] + static_cast<std::uint32_t>(178)));
|
|
ctx.fpr[12] = std::bit_cast<float>(ctx.gpr[5]);
|
|
ctx.gpr[31] = (0x08A04618u);
|
|
ctx.fpr[12] = static_cast<float>(static_cast<std::int32_t>(std::bit_cast<std::uint32_t>(ctx.fpr[12])));
|
|
if (rt.invoke_chained_direct<&recomp_unit_0065_entry, 65u, 675u, 0x0890BC08u>(ctx, &aot_mem) && ctx.pc == 0x08A04618u) goto L_08A04618;
|
|
return;
|
|
L_08A04618:
|
|
{ const bool branch_taken = 0u == 0u;
|
|
ctx.gpr[2] = (0u | 1u);
|
|
if (branch_taken) {
|
|
goto L_08A04630;
|
|
}
|
|
goto L_08A04620;
|
|
}
|
|
L_08A04620:
|
|
ctx.fpr[12] = std::bit_cast<float>(0u);
|
|
ctx.gpr[31] = (0x08A0462Cu);
|
|
ctx.gpr[4] = (ctx.gpr[16] | 0u);
|
|
if (rt.invoke_chained_direct<&recomp_unit_0065_entry, 65u, 675u, 0x0890BC08u>(ctx, &aot_mem) && ctx.pc == 0x08A0462Cu) goto L_08A0462C;
|
|
return;
|
|
L_08A0462C:
|
|
ctx.gpr[2] = (0u | 1u);
|
|
goto L_08A04630;
|
|
L_08A04630:
|
|
ctx.gpr[16] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast<std::uint32_t>(20)));
|
|
ctx.gpr[17] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast<std::uint32_t>(24)));
|
|
ctx.gpr[31] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast<std::uint32_t>(28)));
|
|
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_08A04644:
|
|
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[16]);
|
|
ctx.gpr[16] = (ctx.gpr[4] | 0u);
|
|
aot_mem.aot_store32(ctx.gpr[29] + static_cast<std::uint32_t>(16), std::bit_cast<std::uint32_t>(ctx.fpr[20]));
|
|
aot_mem.aot_store32(ctx.gpr[29] + static_cast<std::uint32_t>(24), ctx.gpr[31]);
|
|
ctx.gpr[31] = (0x08A04660u);
|
|
ctx.gpr[5] = (0u | 1u);
|
|
if (rt.invoke_chained_direct<&recomp_unit_0127_entry, 127u, 467u, 0x08A02020u>(ctx, &aot_mem) && ctx.pc == 0x08A04660u) goto L_08A04660;
|
|
return;
|
|
L_08A04660:
|
|
{ const bool branch_taken = ctx.gpr[2] == 0u;
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_08A0468C;
|
|
}
|
|
goto L_08A04668;
|
|
}
|
|
L_08A04668:
|
|
ctx.gpr[4] = (ctx.gpr[16] | 0u);
|
|
ctx.gpr[31] = (0x08A04674u);
|
|
ctx.gpr[5] = (0u | 1u);
|
|
if (rt.invoke_chained_direct<&recomp_unit_0127_entry, 127u, 469u, 0x08A02044u>(ctx, &aot_mem) && ctx.pc == 0x08A04674u) goto L_08A04674;
|
|
return;
|
|
L_08A04674:
|
|
ctx.gpr[4] = (ctx.gpr[16] | 0u);
|
|
ctx.gpr[31] = (0x08A04680u);
|
|
ctx.gpr[5] = (0u | 2u);
|
|
if (rt.invoke_chained_direct<&recomp_unit_0065_entry, 65u, 610u, 0x0890B8D0u>(ctx, &aot_mem) && ctx.pc == 0x08A04680u) goto L_08A04680;
|
|
return;
|
|
L_08A04680:
|
|
ctx.gpr[31] = (0x08A04688u);
|
|
ctx.fpr[20] = std::bit_cast<float>(std::bit_cast<std::uint32_t>(ctx.fpr[0]));
|
|
if (rt.invoke_chained_direct<&recomp_unit_0116_entry, 116u, 198u, 0x089D596Cu>(ctx, &aot_mem) && ctx.pc == 0x08A04688u) goto L_08A04688;
|
|
return;
|
|
L_08A04688:
|
|
aot_mem.aot_store32(ctx.gpr[2] + static_cast<std::uint32_t>(1208), std::bit_cast<std::uint32_t>(ctx.fpr[20]));
|
|
goto L_08A0468C;
|
|
L_08A0468C:
|
|
ctx.gpr[2] = (0u | 0u);
|
|
ctx.fpr[20] = std::bit_cast<float>(aot_mem.aot_load32(ctx.gpr[29] + static_cast<std::uint32_t>(16)));
|
|
ctx.gpr[16] = (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_08A046A4:
|
|
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[16]);
|
|
aot_mem.aot_store32(ctx.gpr[29] + static_cast<std::uint32_t>(28), ctx.gpr[18]);
|
|
ctx.gpr[16] = (ctx.gpr[4] | 0u);
|
|
ctx.gpr[18] = (0u | 1u);
|
|
aot_mem.aot_store32(ctx.gpr[29] + static_cast<std::uint32_t>(24), ctx.gpr[17]);
|
|
aot_mem.aot_store32(ctx.gpr[29] + static_cast<std::uint32_t>(32), ctx.gpr[31]);
|
|
ctx.gpr[31] = (0x08A046C8u);
|
|
ctx.gpr[5] = (0u | 1u);
|
|
if (rt.invoke_chained_direct<&recomp_unit_0127_entry, 127u, 469u, 0x08A02044u>(ctx, &aot_mem) && ctx.pc == 0x08A046C8u) goto L_08A046C8;
|
|
return;
|
|
L_08A046C8:
|
|
ctx.gpr[17] = (ctx.gpr[2] | 0u);
|
|
ctx.gpr[4] = (0u + static_cast<std::uint32_t>(-1));
|
|
{ const bool branch_taken = ctx.gpr[17] == ctx.gpr[4];
|
|
ctx.gpr[4] = (2230u << 16u);
|
|
if (branch_taken) {
|
|
goto L_08A046F4;
|
|
}
|
|
goto L_08A046D8;
|
|
}
|
|
L_08A046D8:
|
|
ctx.gpr[4] = (2232u << 16u);
|
|
ctx.gpr[4] = (ctx.gpr[4] + static_cast<std::uint32_t>(5736));
|
|
ctx.gpr[5] = (aot_mem.aot_load32(ctx.gpr[4] + static_cast<std::uint32_t>(100)));
|
|
ctx.gpr[5] = (aot_mem.aot_load16(ctx.gpr[5] + static_cast<std::uint32_t>(52)));
|
|
{ const bool branch_taken = ctx.gpr[17] != ctx.gpr[5];
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_08A04730;
|
|
}
|
|
goto L_08A046F0;
|
|
}
|
|
L_08A046F0:
|
|
ctx.gpr[4] = (2230u << 16u);
|
|
goto L_08A046F4;
|
|
L_08A046F4:
|
|
ctx.gpr[4] = (aot_mem.aot_load8(ctx.gpr[4] + static_cast<std::uint32_t>(-8108)));
|
|
ctx.gpr[5] = (ctx.gpr[4] << 7u);
|
|
ctx.gpr[6] = (ctx.gpr[5] + ctx.gpr[5]);
|
|
ctx.gpr[5] = (ctx.gpr[5] + ctx.gpr[6]);
|
|
ctx.gpr[4] = (ctx.gpr[4] << 4u);
|
|
ctx.gpr[4] = (ctx.gpr[5] - ctx.gpr[4]);
|
|
ctx.gpr[5] = (2233u << 16u);
|
|
ctx.gpr[5] = (ctx.gpr[5] + static_cast<std::uint32_t>(-26096));
|
|
ctx.gpr[4] = (ctx.gpr[4] + ctx.gpr[5]);
|
|
ctx.gpr[5] = (aot_mem.aot_load8(ctx.gpr[4] + static_cast<std::uint32_t>(232)));
|
|
ctx.gpr[4] = (ctx.gpr[16] | 0u);
|
|
ctx.gpr[31] = (0x08A04728u);
|
|
ctx.gpr[5] = (ctx.gpr[5] < static_cast<std::uint32_t>(1) ? 1u : 0u);
|
|
if (rt.invoke_chained_direct<&recomp_unit_0065_entry, 65u, 701u, 0x0890BEDCu>(ctx, &aot_mem) && ctx.pc == 0x08A04728u) goto L_08A04728;
|
|
return;
|
|
L_08A04728:
|
|
{ const bool branch_taken = 0u == 0u;
|
|
ctx.gpr[2] = (ctx.gpr[18] | 0u);
|
|
if (branch_taken) {
|
|
goto L_08A04790;
|
|
}
|
|
goto L_08A04730;
|
|
}
|
|
L_08A04730:
|
|
ctx.gpr[5] = (ctx.gpr[17] | 0u);
|
|
ctx.gpr[31] = (0x08A0473Cu);
|
|
ctx.gpr[6] = (0u | 0u);
|
|
if (rt.invoke_chained_direct<&recomp_unit_0041_entry, 41u, 141u, 0x088A87FCu>(ctx, &aot_mem) && ctx.pc == 0x08A0473Cu) goto L_08A0473C;
|
|
return;
|
|
L_08A0473C:
|
|
ctx.gpr[17] = (ctx.gpr[2] | 0u);
|
|
{ const bool branch_taken = ctx.gpr[17] == 0u;
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_08A0478C;
|
|
}
|
|
goto L_08A04748;
|
|
}
|
|
L_08A04748:
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[17] + static_cast<std::uint32_t>(96)));
|
|
if (ctx.gpr[4] != 0u) {
|
|
ctx.gpr[5] = (aot_mem.aot_load32(ctx.gpr[17] + static_cast<std::uint32_t>(96)));
|
|
goto L_08A04774;
|
|
}
|
|
goto L_08A04754;
|
|
L_08A04754:
|
|
ctx.gpr[5] = (static_cast<std::uint32_t>(static_cast<std::int32_t>(static_cast<std::int16_t>(aot_mem.aot_load16(ctx.gpr[17] + static_cast<std::uint32_t>(10))))));
|
|
ctx.gpr[6] = (ctx.gpr[29] + static_cast<std::uint32_t>(16));
|
|
ctx.gpr[31] = (0x08A04764u);
|
|
ctx.gpr[4] = (ctx.gpr[17] | 0u);
|
|
if (rt.invoke_chained_direct<&recomp_unit_0176_entry, 176u, 222u, 0x08AC5938u>(ctx, &aot_mem) && ctx.pc == 0x08A04764u) goto L_08A04764;
|
|
return;
|
|
L_08A04764:
|
|
aot_mem.aot_store32(ctx.gpr[17] + static_cast<std::uint32_t>(96), ctx.gpr[2]);
|
|
ctx.gpr[4] = (aot_mem.aot_load8(ctx.gpr[29] + static_cast<std::uint32_t>(16)));
|
|
aot_mem.aot_store8(ctx.gpr[17] + static_cast<std::uint32_t>(4), static_cast<std::uint8_t>(ctx.gpr[4]));
|
|
ctx.gpr[5] = (aot_mem.aot_load32(ctx.gpr[17] + static_cast<std::uint32_t>(96)));
|
|
goto L_08A04774;
|
|
L_08A04774:
|
|
ctx.gpr[4] = (ctx.gpr[16] | 0u);
|
|
ctx.gpr[5] = (aot_mem.aot_load16(ctx.gpr[5] + static_cast<std::uint32_t>(100)));
|
|
ctx.gpr[31] = (0x08A04784u);
|
|
ctx.gpr[5] = (ctx.gpr[5] < static_cast<std::uint32_t>(1) ? 1u : 0u);
|
|
if (rt.invoke_chained_direct<&recomp_unit_0065_entry, 65u, 701u, 0x0890BEDCu>(ctx, &aot_mem) && ctx.pc == 0x08A04784u) goto L_08A04784;
|
|
return;
|
|
L_08A04784:
|
|
{ const bool branch_taken = 0u == 0u;
|
|
ctx.gpr[2] = (ctx.gpr[18] | 0u);
|
|
if (branch_taken) {
|
|
goto L_08A04790;
|
|
}
|
|
goto L_08A0478C;
|
|
}
|
|
L_08A0478C:
|
|
ctx.gpr[2] = (0u | 0u);
|
|
goto L_08A04790;
|
|
L_08A04790:
|
|
ctx.gpr[16] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast<std::uint32_t>(20)));
|
|
ctx.gpr[17] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast<std::uint32_t>(24)));
|
|
ctx.gpr[18] = (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_08A047A8:
|
|
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[16]);
|
|
ctx.gpr[16] = (ctx.gpr[4] | 0u);
|
|
aot_mem.aot_store32(ctx.gpr[29] + static_cast<std::uint32_t>(24), ctx.gpr[17]);
|
|
aot_mem.aot_store32(ctx.gpr[29] + static_cast<std::uint32_t>(28), ctx.gpr[18]);
|
|
aot_mem.aot_store32(ctx.gpr[29] + static_cast<std::uint32_t>(32), ctx.gpr[19]);
|
|
aot_mem.aot_store32(ctx.gpr[29] + static_cast<std::uint32_t>(36), ctx.gpr[31]);
|
|
ctx.gpr[31] = (0x08A047CCu);
|
|
ctx.gpr[5] = (0u | 1u);
|
|
if (rt.invoke_chained_direct<&recomp_unit_0127_entry, 127u, 467u, 0x08A02020u>(ctx, &aot_mem) && ctx.pc == 0x08A047CCu) goto L_08A047CC;
|
|
return;
|
|
L_08A047CC:
|
|
{ const bool branch_taken = ctx.gpr[2] == 0u;
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_08A04998;
|
|
}
|
|
goto L_08A047D4;
|
|
}
|
|
L_08A047D4:
|
|
ctx.gpr[4] = (ctx.gpr[16] | 0u);
|
|
ctx.gpr[31] = (0x08A047E0u);
|
|
ctx.gpr[5] = (0u | 1u);
|
|
if (rt.invoke_chained_direct<&recomp_unit_0127_entry, 127u, 469u, 0x08A02044u>(ctx, &aot_mem) && ctx.pc == 0x08A047E0u) goto L_08A047E0;
|
|
return;
|
|
L_08A047E0:
|
|
ctx.gpr[4] = (2232u << 16u);
|
|
ctx.gpr[19] = (ctx.gpr[2] | 0u);
|
|
ctx.gpr[17] = (ctx.gpr[4] + static_cast<std::uint32_t>(5736));
|
|
ctx.gpr[4] = (ctx.gpr[17] | 0u);
|
|
ctx.gpr[5] = (ctx.gpr[19] | 0u);
|
|
ctx.gpr[31] = (0x08A047FCu);
|
|
ctx.gpr[6] = (0u | 1u);
|
|
if (rt.invoke_chained_direct<&recomp_unit_0041_entry, 41u, 141u, 0x088A87FCu>(ctx, &aot_mem) && ctx.pc == 0x08A047FCu) goto L_08A047FC;
|
|
return;
|
|
L_08A047FC:
|
|
ctx.gpr[18] = (ctx.gpr[2] | 0u);
|
|
ctx.gpr[4] = (ctx.gpr[17] | 0u);
|
|
ctx.gpr[5] = (ctx.gpr[19] | 0u);
|
|
ctx.gpr[31] = (0x08A04810u);
|
|
ctx.gpr[6] = (0u | 0u);
|
|
if (rt.invoke_chained_direct<&recomp_unit_0041_entry, 41u, 141u, 0x088A87FCu>(ctx, &aot_mem) && ctx.pc == 0x08A04810u) goto L_08A04810;
|
|
return;
|
|
L_08A04810:
|
|
{ const bool branch_taken = ctx.gpr[18] == 0u;
|
|
ctx.gpr[17] = (ctx.gpr[2] | 0u);
|
|
if (branch_taken) {
|
|
goto L_08A04834;
|
|
}
|
|
goto L_08A04818;
|
|
}
|
|
L_08A04818:
|
|
{ const bool branch_taken = ctx.gpr[17] == 0u;
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_08A04834;
|
|
}
|
|
goto L_08A04820;
|
|
}
|
|
L_08A04820:
|
|
ctx.gpr[4] = (0u + static_cast<std::uint32_t>(-1));
|
|
{ const bool branch_taken = ctx.gpr[19] == ctx.gpr[4];
|
|
ctx.gpr[4] = (2230u << 16u);
|
|
if (branch_taken) {
|
|
goto L_08A04854;
|
|
}
|
|
goto L_08A0482C;
|
|
}
|
|
L_08A0482C:
|
|
{ const bool branch_taken = 0u == 0u;
|
|
ctx.gpr[4] = (2232u << 16u);
|
|
if (branch_taken) {
|
|
goto L_08A0483C;
|
|
}
|
|
goto L_08A04834;
|
|
}
|
|
L_08A04834:
|
|
{ const bool branch_taken = 0u == 0u;
|
|
ctx.gpr[2] = (0u | 0u);
|
|
if (branch_taken) {
|
|
goto L_08A0499C;
|
|
}
|
|
goto L_08A0483C;
|
|
}
|
|
L_08A0483C:
|
|
ctx.gpr[4] = (ctx.gpr[4] + static_cast<std::uint32_t>(5736));
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[4] + static_cast<std::uint32_t>(100)));
|
|
ctx.gpr[4] = (aot_mem.aot_load16(ctx.gpr[4] + static_cast<std::uint32_t>(52)));
|
|
{ const bool branch_taken = ctx.gpr[19] != ctx.gpr[4];
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_08A04884;
|
|
}
|
|
goto L_08A04850;
|
|
}
|
|
L_08A04850:
|
|
ctx.gpr[4] = (2230u << 16u);
|
|
goto L_08A04854;
|
|
L_08A04854:
|
|
ctx.gpr[4] = (aot_mem.aot_load8(ctx.gpr[4] + static_cast<std::uint32_t>(-8108)));
|
|
ctx.gpr[5] = (2233u << 16u);
|
|
ctx.gpr[6] = (ctx.gpr[4] << 7u);
|
|
ctx.gpr[7] = (ctx.gpr[6] + ctx.gpr[6]);
|
|
ctx.gpr[6] = (ctx.gpr[6] + ctx.gpr[7]);
|
|
ctx.gpr[4] = (ctx.gpr[4] << 4u);
|
|
ctx.gpr[4] = (ctx.gpr[6] - ctx.gpr[4]);
|
|
ctx.gpr[5] = (ctx.gpr[5] + static_cast<std::uint32_t>(-26096));
|
|
ctx.gpr[4] = (ctx.gpr[4] + ctx.gpr[5]);
|
|
ctx.gpr[17] = (aot_mem.aot_load8(ctx.gpr[4] + static_cast<std::uint32_t>(232)));
|
|
{ const bool branch_taken = 0u == 0u;
|
|
ctx.gpr[17] = (ctx.gpr[17] & 255u);
|
|
if (branch_taken) {
|
|
goto L_08A048B4;
|
|
}
|
|
goto L_08A04884;
|
|
}
|
|
L_08A04884:
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[17] + static_cast<std::uint32_t>(96)));
|
|
if (ctx.gpr[4] != 0u) {
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[17] + static_cast<std::uint32_t>(96)));
|
|
goto L_08A048B0;
|
|
}
|
|
goto L_08A04890;
|
|
L_08A04890:
|
|
ctx.gpr[5] = (static_cast<std::uint32_t>(static_cast<std::int32_t>(static_cast<std::int16_t>(aot_mem.aot_load16(ctx.gpr[17] + static_cast<std::uint32_t>(10))))));
|
|
ctx.gpr[6] = (ctx.gpr[29] + static_cast<std::uint32_t>(16));
|
|
ctx.gpr[31] = (0x08A048A0u);
|
|
ctx.gpr[4] = (ctx.gpr[17] | 0u);
|
|
if (rt.invoke_chained_direct<&recomp_unit_0176_entry, 176u, 222u, 0x08AC5938u>(ctx, &aot_mem) && ctx.pc == 0x08A048A0u) goto L_08A048A0;
|
|
return;
|
|
L_08A048A0:
|
|
aot_mem.aot_store32(ctx.gpr[17] + static_cast<std::uint32_t>(96), ctx.gpr[2]);
|
|
ctx.gpr[4] = (aot_mem.aot_load8(ctx.gpr[29] + static_cast<std::uint32_t>(16)));
|
|
aot_mem.aot_store8(ctx.gpr[17] + static_cast<std::uint32_t>(4), static_cast<std::uint8_t>(ctx.gpr[4]));
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[17] + static_cast<std::uint32_t>(96)));
|
|
goto L_08A048B0;
|
|
L_08A048B0:
|
|
ctx.gpr[17] = (aot_mem.aot_load16(ctx.gpr[4] + static_cast<std::uint32_t>(100)));
|
|
goto L_08A048B4;
|
|
L_08A048B4:
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[18] + static_cast<std::uint32_t>(96)));
|
|
if (ctx.gpr[4] != 0u) {
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[18] + static_cast<std::uint32_t>(96)));
|
|
goto L_08A048E0;
|
|
}
|
|
goto L_08A048C0;
|
|
L_08A048C0:
|
|
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>(10))))));
|
|
ctx.gpr[6] = (ctx.gpr[29] + static_cast<std::uint32_t>(17));
|
|
ctx.gpr[31] = (0x08A048D0u);
|
|
ctx.gpr[4] = (ctx.gpr[18] | 0u);
|
|
if (rt.invoke_chained_direct<&recomp_unit_0176_entry, 176u, 222u, 0x08AC5938u>(ctx, &aot_mem) && ctx.pc == 0x08A048D0u) goto L_08A048D0;
|
|
return;
|
|
L_08A048D0:
|
|
aot_mem.aot_store32(ctx.gpr[18] + static_cast<std::uint32_t>(96), ctx.gpr[2]);
|
|
ctx.gpr[4] = (aot_mem.aot_load8(ctx.gpr[29] + static_cast<std::uint32_t>(17)));
|
|
aot_mem.aot_store8(ctx.gpr[18] + static_cast<std::uint32_t>(4), static_cast<std::uint8_t>(ctx.gpr[4]));
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[18] + static_cast<std::uint32_t>(96)));
|
|
goto L_08A048E0;
|
|
L_08A048E0:
|
|
ctx.gpr[4] = (aot_mem.aot_load16(ctx.gpr[4] + static_cast<std::uint32_t>(178)));
|
|
ctx.gpr[4] = (static_cast<std::int32_t>(ctx.gpr[4]) < 2 ? 1u : 0u);
|
|
{ const bool branch_taken = ctx.gpr[4] != 0u;
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_08A04970;
|
|
}
|
|
goto L_08A048F0;
|
|
}
|
|
L_08A048F0:
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[18] + static_cast<std::uint32_t>(96)));
|
|
if (ctx.gpr[4] != 0u) {
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[18] + static_cast<std::uint32_t>(96)));
|
|
goto L_08A0491C;
|
|
}
|
|
goto L_08A048FC;
|
|
L_08A048FC:
|
|
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>(10))))));
|
|
ctx.gpr[6] = (ctx.gpr[29] + static_cast<std::uint32_t>(18));
|
|
ctx.gpr[31] = (0x08A0490Cu);
|
|
ctx.gpr[4] = (ctx.gpr[18] | 0u);
|
|
if (rt.invoke_chained_direct<&recomp_unit_0176_entry, 176u, 222u, 0x08AC5938u>(ctx, &aot_mem) && ctx.pc == 0x08A0490Cu) goto L_08A0490C;
|
|
return;
|
|
L_08A0490C:
|
|
aot_mem.aot_store32(ctx.gpr[18] + static_cast<std::uint32_t>(96), ctx.gpr[2]);
|
|
ctx.gpr[4] = (aot_mem.aot_load8(ctx.gpr[29] + static_cast<std::uint32_t>(18)));
|
|
aot_mem.aot_store8(ctx.gpr[18] + static_cast<std::uint32_t>(4), static_cast<std::uint8_t>(ctx.gpr[4]));
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[18] + static_cast<std::uint32_t>(96)));
|
|
goto L_08A0491C;
|
|
L_08A0491C:
|
|
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_08A04970;
|
|
}
|
|
goto L_08A0492C;
|
|
}
|
|
L_08A0492C:
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[18] + static_cast<std::uint32_t>(96)));
|
|
if (ctx.gpr[4] != 0u) {
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[18] + static_cast<std::uint32_t>(96)));
|
|
goto L_08A04958;
|
|
}
|
|
goto L_08A04938;
|
|
L_08A04938:
|
|
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>(10))))));
|
|
ctx.gpr[6] = (ctx.gpr[29] + static_cast<std::uint32_t>(19));
|
|
ctx.gpr[31] = (0x08A04948u);
|
|
ctx.gpr[4] = (ctx.gpr[18] | 0u);
|
|
if (rt.invoke_chained_direct<&recomp_unit_0176_entry, 176u, 222u, 0x08AC5938u>(ctx, &aot_mem) && ctx.pc == 0x08A04948u) goto L_08A04948;
|
|
return;
|
|
L_08A04948:
|
|
aot_mem.aot_store32(ctx.gpr[18] + static_cast<std::uint32_t>(96), ctx.gpr[2]);
|
|
ctx.gpr[4] = (aot_mem.aot_load8(ctx.gpr[29] + static_cast<std::uint32_t>(19)));
|
|
aot_mem.aot_store8(ctx.gpr[18] + static_cast<std::uint32_t>(4), static_cast<std::uint8_t>(ctx.gpr[4]));
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[18] + static_cast<std::uint32_t>(96)));
|
|
goto L_08A04958;
|
|
L_08A04958:
|
|
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_08A04970;
|
|
}
|
|
goto L_08A04968;
|
|
}
|
|
L_08A04968:
|
|
{ const bool branch_taken = ctx.gpr[17] == 0u;
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_08A04984;
|
|
}
|
|
goto L_08A04970;
|
|
}
|
|
L_08A04970:
|
|
ctx.gpr[4] = (ctx.gpr[16] | 0u);
|
|
ctx.gpr[31] = (0x08A0497Cu);
|
|
ctx.gpr[5] = (0u | 1u);
|
|
if (rt.invoke_chained_direct<&recomp_unit_0065_entry, 65u, 701u, 0x0890BEDCu>(ctx, &aot_mem) && ctx.pc == 0x08A0497Cu) goto L_08A0497C;
|
|
return;
|
|
L_08A0497C:
|
|
{ const bool branch_taken = 0u == 0u;
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_08A04990;
|
|
}
|
|
goto L_08A04984;
|
|
}
|
|
L_08A04984:
|
|
ctx.gpr[4] = (ctx.gpr[16] | 0u);
|
|
ctx.gpr[31] = (0x08A04990u);
|
|
ctx.gpr[5] = (0u | 0u);
|
|
if (rt.invoke_chained_direct<&recomp_unit_0065_entry, 65u, 701u, 0x0890BEDCu>(ctx, &aot_mem) && ctx.pc == 0x08A04990u) goto L_08A04990;
|
|
return;
|
|
L_08A04990:
|
|
{ const bool branch_taken = 0u == 0u;
|
|
ctx.gpr[2] = (0u | 1u);
|
|
if (branch_taken) {
|
|
goto L_08A0499C;
|
|
}
|
|
goto L_08A04998;
|
|
}
|
|
L_08A04998:
|
|
ctx.gpr[2] = (0u | 0u);
|
|
goto L_08A0499C;
|
|
L_08A0499C:
|
|
ctx.gpr[16] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast<std::uint32_t>(20)));
|
|
ctx.gpr[17] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast<std::uint32_t>(24)));
|
|
ctx.gpr[18] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast<std::uint32_t>(28)));
|
|
ctx.gpr[19] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast<std::uint32_t>(32)));
|
|
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_08A049B8:
|
|
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[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[31]);
|
|
ctx.gpr[31] = (0x08A049D4u);
|
|
ctx.gpr[4] = (0u | 0u);
|
|
if (rt.invoke_chained_direct<&recomp_unit_0164_entry, 164u, 524u, 0x08A964B8u>(ctx, &aot_mem) && ctx.pc == 0x08A049D4u) goto L_08A049D4;
|
|
return;
|
|
L_08A049D4:
|
|
ctx.gpr[16] = (static_cast<std::uint32_t>(static_cast<std::int32_t>(static_cast<std::int16_t>(aot_mem.aot_load16(ctx.gpr[2] + static_cast<std::uint32_t>(44))))));
|
|
ctx.gpr[17] = (0u | 0u);
|
|
ctx.gpr[16] = (0u < ctx.gpr[16] ? 1u : 0u);
|
|
ctx.gpr[31] = (0x08A049E8u);
|
|
ctx.gpr[4] = (0u | 0u);
|
|
if (rt.invoke_chained_direct<&recomp_unit_0164_entry, 164u, 524u, 0x08A964B8u>(ctx, &aot_mem) && ctx.pc == 0x08A049E8u) goto L_08A049E8;
|
|
return;
|
|
L_08A049E8:
|
|
ctx.gpr[4] = (static_cast<std::uint32_t>(static_cast<std::int32_t>(static_cast<std::int16_t>(aot_mem.aot_load16(ctx.gpr[2] + static_cast<std::uint32_t>(38))))));
|
|
if (ctx.gpr[4] != 0u) {
|
|
ctx.gpr[17] = (0u | 2u);
|
|
goto L_08A049F4;
|
|
}
|
|
goto L_08A049F4;
|
|
L_08A049F4:
|
|
ctx.gpr[18] = (0u | 0u);
|
|
ctx.gpr[31] = (0x08A04A00u);
|
|
ctx.gpr[4] = (0u | 0u);
|
|
if (rt.invoke_chained_direct<&recomp_unit_0164_entry, 164u, 524u, 0x08A964B8u>(ctx, &aot_mem) && ctx.pc == 0x08A04A00u) goto L_08A04A00;
|
|
return;
|
|
L_08A04A00:
|
|
ctx.gpr[4] = (static_cast<std::uint32_t>(static_cast<std::int32_t>(static_cast<std::int16_t>(aot_mem.aot_load16(ctx.gpr[2] + static_cast<std::uint32_t>(40))))));
|
|
if (ctx.gpr[4] != 0u) {
|
|
ctx.gpr[18] = (0u | 4u);
|
|
goto L_08A04A0C;
|
|
}
|
|
goto L_08A04A0C;
|
|
L_08A04A0C:
|
|
ctx.gpr[17] = (ctx.gpr[16] + ctx.gpr[17]);
|
|
ctx.gpr[16] = (0u | 0u);
|
|
ctx.gpr[31] = (0x08A04A1Cu);
|
|
ctx.gpr[4] = (0u | 0u);
|
|
if (rt.invoke_chained_direct<&recomp_unit_0164_entry, 164u, 524u, 0x08A964B8u>(ctx, &aot_mem) && ctx.pc == 0x08A04A1Cu) goto L_08A04A1C;
|
|
return;
|
|
L_08A04A1C:
|
|
ctx.gpr[4] = (static_cast<std::uint32_t>(static_cast<std::int32_t>(static_cast<std::int16_t>(aot_mem.aot_load16(ctx.gpr[2] + static_cast<std::uint32_t>(42))))));
|
|
if (ctx.gpr[4] != 0u) {
|
|
ctx.gpr[16] = (0u | 8u);
|
|
goto L_08A04A28;
|
|
}
|
|
goto L_08A04A28;
|
|
L_08A04A28:
|
|
ctx.gpr[18] = (ctx.gpr[17] + ctx.gpr[18]);
|
|
ctx.gpr[17] = (0u | 0u);
|
|
ctx.gpr[31] = (0x08A04A38u);
|
|
ctx.gpr[4] = (0u | 0u);
|
|
if (rt.invoke_chained_direct<&recomp_unit_0164_entry, 164u, 524u, 0x08A964B8u>(ctx, &aot_mem) && ctx.pc == 0x08A04A38u) goto L_08A04A38;
|
|
return;
|
|
L_08A04A38:
|
|
ctx.gpr[4] = (static_cast<std::uint32_t>(static_cast<std::int32_t>(static_cast<std::int16_t>(aot_mem.aot_load16(ctx.gpr[2] + static_cast<std::uint32_t>(34))))));
|
|
if (ctx.gpr[4] != 0u) {
|
|
ctx.gpr[17] = (0u | 16u);
|
|
goto L_08A04A44;
|
|
}
|
|
goto L_08A04A44;
|
|
L_08A04A44:
|
|
ctx.gpr[16] = (ctx.gpr[18] + ctx.gpr[16]);
|
|
ctx.gpr[18] = (0u | 0u);
|
|
ctx.gpr[31] = (0x08A04A54u);
|
|
ctx.gpr[4] = (0u | 0u);
|
|
if (rt.invoke_chained_direct<&recomp_unit_0164_entry, 164u, 524u, 0x08A964B8u>(ctx, &aot_mem) && ctx.pc == 0x08A04A54u) goto L_08A04A54;
|
|
return;
|
|
L_08A04A54:
|
|
ctx.gpr[4] = (static_cast<std::uint32_t>(static_cast<std::int32_t>(static_cast<std::int16_t>(aot_mem.aot_load16(ctx.gpr[2] + static_cast<std::uint32_t>(36))))));
|
|
if (ctx.gpr[4] != 0u) {
|
|
ctx.gpr[18] = (0u | 32u);
|
|
goto L_08A04A60;
|
|
}
|
|
goto L_08A04A60;
|
|
L_08A04A60:
|
|
ctx.gpr[2] = (ctx.gpr[16] + ctx.gpr[17]);
|
|
ctx.gpr[2] = (ctx.gpr[2] + ctx.gpr[18]);
|
|
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[31] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast<std::uint32_t>(28)));
|
|
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_08A04A80:
|
|
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);
|
|
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]);
|
|
ctx.gpr[31] = (0x08A04A9Cu);
|
|
ctx.gpr[5] = (0u + static_cast<std::uint32_t>(-10002));
|
|
if (rt.invoke_chained_direct<&recomp_unit_0065_entry, 65u, 647u, 0x0890BAA4u>(ctx, &aot_mem) && ctx.pc == 0x08A04A9Cu) goto L_08A04A9C;
|
|
return;
|
|
L_08A04A9C:
|
|
ctx.gpr[31] = (0x08A04AA4u);
|
|
ctx.gpr[17] = (ctx.gpr[2] | 0u);
|
|
goto L_08A049B8;
|
|
L_08A04AA4:
|
|
ctx.gpr[4] = (ctx.gpr[2] | 0u);
|
|
{ const bool branch_taken = ctx.gpr[4] == ctx.gpr[17];
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_08A04AC8;
|
|
}
|
|
goto L_08A04AB0;
|
|
}
|
|
L_08A04AB0:
|
|
ctx.gpr[17] = (0u | 1u);
|
|
ctx.gpr[4] = (ctx.gpr[16] | 0u);
|
|
ctx.gpr[31] = (0x08A04AC0u);
|
|
ctx.gpr[5] = (0u | 1u);
|
|
if (rt.invoke_chained_direct<&recomp_unit_0065_entry, 65u, 701u, 0x0890BEDCu>(ctx, &aot_mem) && ctx.pc == 0x08A04AC0u) goto L_08A04AC0;
|
|
return;
|
|
L_08A04AC0:
|
|
{ const bool branch_taken = 0u == 0u;
|
|
ctx.gpr[2] = (ctx.gpr[17] | 0u);
|
|
if (branch_taken) {
|
|
goto L_08A04AE4;
|
|
}
|
|
goto L_08A04AC8;
|
|
}
|
|
L_08A04AC8:
|
|
ctx.gpr[5] = (ctx.gpr[4] | 0u);
|
|
ctx.gpr[31] = (0x08A04AD4u);
|
|
ctx.gpr[4] = (ctx.gpr[16] | 0u);
|
|
if (rt.invoke_chained_direct<&recomp_unit_0065_entry, 65u, 702u, 0x0890BF00u>(ctx, &aot_mem) && ctx.pc == 0x08A04AD4u) goto L_08A04AD4;
|
|
return;
|
|
L_08A04AD4:
|
|
ctx.gpr[4] = (ctx.gpr[16] | 0u);
|
|
ctx.gpr[31] = (0x08A04AE0u);
|
|
ctx.gpr[5] = (0u + static_cast<std::uint32_t>(-10002));
|
|
if (rt.invoke_chained_direct<&recomp_unit_0065_entry, 65u, 570u, 0x0890B608u>(ctx, &aot_mem) && ctx.pc == 0x08A04AE0u) goto L_08A04AE0;
|
|
return;
|
|
L_08A04AE0:
|
|
ctx.gpr[2] = (0u | 0u);
|
|
goto L_08A04AE4;
|
|
L_08A04AE4:
|
|
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_08A04AF8:
|
|
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);
|
|
aot_mem.aot_store32(ctx.gpr[29] + static_cast<std::uint32_t>(20), ctx.gpr[31]);
|
|
ctx.gpr[31] = (0x08A04B10u);
|
|
ctx.gpr[5] = (0u | 1u);
|
|
if (rt.invoke_chained_direct<&recomp_unit_0127_entry, 127u, 469u, 0x08A02044u>(ctx, &aot_mem) && ctx.pc == 0x08A04B10u) goto L_08A04B10;
|
|
return;
|
|
L_08A04B10:
|
|
ctx.gpr[4] = (ctx.gpr[2] | 0u);
|
|
ctx.gpr[5] = (0u + static_cast<std::uint32_t>(-1));
|
|
{ const bool branch_taken = ctx.gpr[4] == ctx.gpr[5];
|
|
ctx.gpr[5] = (2232u << 16u);
|
|
if (branch_taken) {
|
|
goto L_08A04B34;
|
|
}
|
|
goto L_08A04B20;
|
|
}
|
|
L_08A04B20:
|
|
ctx.gpr[5] = (ctx.gpr[5] + static_cast<std::uint32_t>(5736));
|
|
ctx.gpr[5] = (aot_mem.aot_load32(ctx.gpr[5] + static_cast<std::uint32_t>(100)));
|
|
ctx.gpr[5] = (aot_mem.aot_load16(ctx.gpr[5] + static_cast<std::uint32_t>(52)));
|
|
{ const bool branch_taken = ctx.gpr[4] != ctx.gpr[5];
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_08A04B70;
|
|
}
|
|
goto L_08A04B34;
|
|
}
|
|
L_08A04B34:
|
|
ctx.gpr[31] = (0x08A04B3Cu);
|
|
// nop
|
|
goto L_08A049B8;
|
|
L_08A04B3C:
|
|
ctx.gpr[4] = (ctx.gpr[16] | 0u);
|
|
ctx.gpr[31] = (0x08A04B48u);
|
|
ctx.gpr[5] = (ctx.gpr[2] | 0u);
|
|
if (rt.invoke_chained_direct<&recomp_unit_0065_entry, 65u, 702u, 0x0890BF00u>(ctx, &aot_mem) && ctx.pc == 0x08A04B48u) goto L_08A04B48;
|
|
return;
|
|
L_08A04B48:
|
|
ctx.gpr[5] = (2208u << 16u);
|
|
ctx.gpr[4] = (ctx.gpr[16] | 0u);
|
|
ctx.gpr[6] = (0u | 1u);
|
|
ctx.gpr[31] = (0x08A04B5Cu);
|
|
ctx.gpr[5] = (ctx.gpr[5] + static_cast<std::uint32_t>(19072));
|
|
if (rt.invoke_chained_direct<&recomp_unit_0065_entry, 65u, 694u, 0x0890BDECu>(ctx, &aot_mem) && ctx.pc == 0x08A04B5Cu) goto L_08A04B5C;
|
|
return;
|
|
L_08A04B5C:
|
|
ctx.gpr[4] = (ctx.gpr[16] | 0u);
|
|
ctx.gpr[31] = (0x08A04B68u);
|
|
ctx.gpr[5] = (0u | 1u);
|
|
if (rt.invoke_chained_direct<&recomp_unit_0045_entry, 45u, 405u, 0x088BA318u>(ctx, &aot_mem) && ctx.pc == 0x08A04B68u) goto L_08A04B68;
|
|
return;
|
|
L_08A04B68:
|
|
{ const bool branch_taken = 0u == 0u;
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_08A04B74;
|
|
}
|
|
goto L_08A04B70;
|
|
}
|
|
L_08A04B70:
|
|
ctx.gpr[2] = (0u | 0u);
|
|
goto L_08A04B74;
|
|
L_08A04B74:
|
|
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_08A04B84:
|
|
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);
|
|
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[31]);
|
|
ctx.gpr[31] = (0x08A04BA4u);
|
|
ctx.gpr[5] = (0u + static_cast<std::uint32_t>(-10002));
|
|
if (rt.invoke_chained_direct<&recomp_unit_0065_entry, 65u, 647u, 0x0890BAA4u>(ctx, &aot_mem) && ctx.pc == 0x08A04BA4u) goto L_08A04BA4;
|
|
return;
|
|
L_08A04BA4:
|
|
ctx.gpr[31] = (0x08A04BACu);
|
|
ctx.gpr[18] = (ctx.gpr[2] | 0u);
|
|
goto L_08A049B8;
|
|
L_08A04BAC:
|
|
ctx.gpr[17] = (ctx.gpr[2] | 0u);
|
|
{ const bool branch_taken = ctx.gpr[17] != ctx.gpr[18];
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_08A04C08;
|
|
}
|
|
goto L_08A04BB8;
|
|
}
|
|
L_08A04BB8:
|
|
ctx.gpr[4] = (2232u << 16u);
|
|
ctx.gpr[4] = (ctx.gpr[4] + static_cast<std::uint32_t>(12960));
|
|
ctx.gpr[18] = (ctx.gpr[4] + static_cast<std::uint32_t>(48));
|
|
ctx.fpr[12] = std::bit_cast<float>(aot_mem.aot_load32(ctx.gpr[18] + static_cast<std::uint32_t>(0)));
|
|
ctx.gpr[31] = (0x08A04BD0u);
|
|
ctx.fpr[13] = std::bit_cast<float>(aot_mem.aot_load32(ctx.gpr[18] + static_cast<std::uint32_t>(4)));
|
|
if (rt.invoke_chained_direct<&recomp_unit_0047_entry, 47u, 448u, 0x088C2F00u>(ctx, &aot_mem) && ctx.pc == 0x08A04BD0u) goto L_08A04BD0;
|
|
return;
|
|
L_08A04BD0:
|
|
ctx.fpr[12] = std::bit_cast<float>(aot_mem.aot_load32(ctx.gpr[18] + static_cast<std::uint32_t>(8)));
|
|
ctx.gpr[4] = (17056u << 16u);
|
|
ctx.fpr[12] = ctx.fpr[12] - ctx.fpr[0];
|
|
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_08A04C20;
|
|
}
|
|
goto L_08A04BF0;
|
|
}
|
|
L_08A04BF0:
|
|
ctx.gpr[17] = (0u | 1u);
|
|
ctx.gpr[4] = (ctx.gpr[16] | 0u);
|
|
ctx.gpr[31] = (0x08A04C00u);
|
|
ctx.gpr[5] = (0u | 1u);
|
|
if (rt.invoke_chained_direct<&recomp_unit_0065_entry, 65u, 701u, 0x0890BEDCu>(ctx, &aot_mem) && ctx.pc == 0x08A04C00u) goto L_08A04C00;
|
|
return;
|
|
L_08A04C00:
|
|
{ const bool branch_taken = 0u == 0u;
|
|
ctx.gpr[2] = (ctx.gpr[17] | 0u);
|
|
if (branch_taken) {
|
|
goto L_08A04C3C;
|
|
}
|
|
goto L_08A04C08;
|
|
}
|
|
L_08A04C08:
|
|
ctx.gpr[17] = (0u | 1u);
|
|
ctx.gpr[4] = (ctx.gpr[16] | 0u);
|
|
ctx.gpr[31] = (0x08A04C18u);
|
|
ctx.gpr[5] = (0u | 1u);
|
|
if (rt.invoke_chained_direct<&recomp_unit_0065_entry, 65u, 701u, 0x0890BEDCu>(ctx, &aot_mem) && ctx.pc == 0x08A04C18u) goto L_08A04C18;
|
|
return;
|
|
L_08A04C18:
|
|
{ const bool branch_taken = 0u == 0u;
|
|
ctx.gpr[2] = (ctx.gpr[17] | 0u);
|
|
if (branch_taken) {
|
|
goto L_08A04C3C;
|
|
}
|
|
goto L_08A04C20;
|
|
}
|
|
L_08A04C20:
|
|
ctx.gpr[4] = (ctx.gpr[16] | 0u);
|
|
ctx.gpr[31] = (0x08A04C2Cu);
|
|
ctx.gpr[5] = (ctx.gpr[17] | 0u);
|
|
if (rt.invoke_chained_direct<&recomp_unit_0065_entry, 65u, 702u, 0x0890BF00u>(ctx, &aot_mem) && ctx.pc == 0x08A04C2Cu) goto L_08A04C2C;
|
|
return;
|
|
L_08A04C2C:
|
|
ctx.gpr[4] = (ctx.gpr[16] | 0u);
|
|
ctx.gpr[31] = (0x08A04C38u);
|
|
ctx.gpr[5] = (0u + static_cast<std::uint32_t>(-10002));
|
|
if (rt.invoke_chained_direct<&recomp_unit_0065_entry, 65u, 570u, 0x0890B608u>(ctx, &aot_mem) && ctx.pc == 0x08A04C38u) goto L_08A04C38;
|
|
return;
|
|
L_08A04C38:
|
|
ctx.gpr[2] = (0u | 0u);
|
|
goto L_08A04C3C;
|
|
L_08A04C3C:
|
|
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[31] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast<std::uint32_t>(28)));
|
|
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_08A04C54:
|
|
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);
|
|
aot_mem.aot_store32(ctx.gpr[29] + static_cast<std::uint32_t>(20), ctx.gpr[31]);
|
|
ctx.gpr[31] = (0x08A04C6Cu);
|
|
ctx.gpr[5] = (0u | 1u);
|
|
if (rt.invoke_chained_direct<&recomp_unit_0127_entry, 127u, 469u, 0x08A02044u>(ctx, &aot_mem) && ctx.pc == 0x08A04C6Cu) goto L_08A04C6C;
|
|
return;
|
|
L_08A04C6C:
|
|
ctx.gpr[4] = (ctx.gpr[2] | 0u);
|
|
ctx.gpr[5] = (0u + static_cast<std::uint32_t>(-1));
|
|
{ const bool branch_taken = ctx.gpr[4] == ctx.gpr[5];
|
|
ctx.gpr[5] = (2232u << 16u);
|
|
if (branch_taken) {
|
|
goto L_08A04C90;
|
|
}
|
|
goto L_08A04C7C;
|
|
}
|
|
L_08A04C7C:
|
|
ctx.gpr[5] = (ctx.gpr[5] + static_cast<std::uint32_t>(5736));
|
|
ctx.gpr[5] = (aot_mem.aot_load32(ctx.gpr[5] + static_cast<std::uint32_t>(100)));
|
|
ctx.gpr[5] = (aot_mem.aot_load16(ctx.gpr[5] + static_cast<std::uint32_t>(52)));
|
|
{ const bool branch_taken = ctx.gpr[4] != ctx.gpr[5];
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_08A04CCC;
|
|
}
|
|
goto L_08A04C90;
|
|
}
|
|
L_08A04C90:
|
|
ctx.gpr[31] = (0x08A04C98u);
|
|
// nop
|
|
goto L_08A049B8;
|
|
L_08A04C98:
|
|
ctx.gpr[4] = (ctx.gpr[16] | 0u);
|
|
ctx.gpr[31] = (0x08A04CA4u);
|
|
ctx.gpr[5] = (ctx.gpr[2] | 0u);
|
|
if (rt.invoke_chained_direct<&recomp_unit_0065_entry, 65u, 702u, 0x0890BF00u>(ctx, &aot_mem) && ctx.pc == 0x08A04CA4u) goto L_08A04CA4;
|
|
return;
|
|
L_08A04CA4:
|
|
ctx.gpr[5] = (2208u << 16u);
|
|
ctx.gpr[4] = (ctx.gpr[16] | 0u);
|
|
ctx.gpr[6] = (0u | 1u);
|
|
ctx.gpr[31] = (0x08A04CB8u);
|
|
ctx.gpr[5] = (ctx.gpr[5] + static_cast<std::uint32_t>(19332));
|
|
if (rt.invoke_chained_direct<&recomp_unit_0065_entry, 65u, 694u, 0x0890BDECu>(ctx, &aot_mem) && ctx.pc == 0x08A04CB8u) goto L_08A04CB8;
|
|
return;
|
|
L_08A04CB8:
|
|
ctx.gpr[4] = (ctx.gpr[16] | 0u);
|
|
ctx.gpr[31] = (0x08A04CC4u);
|
|
ctx.gpr[5] = (0u | 1u);
|
|
if (rt.invoke_chained_direct<&recomp_unit_0045_entry, 45u, 405u, 0x088BA318u>(ctx, &aot_mem) && ctx.pc == 0x08A04CC4u) goto L_08A04CC4;
|
|
return;
|
|
L_08A04CC4:
|
|
{ const bool branch_taken = 0u == 0u;
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_08A04CD0;
|
|
}
|
|
goto L_08A04CCC;
|
|
}
|
|
L_08A04CCC:
|
|
ctx.gpr[2] = (0u | 0u);
|
|
goto L_08A04CD0;
|
|
L_08A04CD0:
|
|
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_08A04CE0:
|
|
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>(32), ctx.gpr[31]);
|
|
ctx.gpr[31] = (0x08A04D00u);
|
|
ctx.gpr[16] = (ctx.gpr[4] | 0u);
|
|
if (rt.invoke_chained_direct<&recomp_unit_0116_entry, 116u, 180u, 0x089D5870u>(ctx, &aot_mem) && ctx.pc == 0x08A04D00u) goto L_08A04D00;
|
|
return;
|
|
L_08A04D00:
|
|
ctx.gpr[19] = (ctx.gpr[2] | 0u);
|
|
{ const bool branch_taken = ctx.gpr[19] == 0u;
|
|
ctx.gpr[18] = (0u | 1u);
|
|
if (branch_taken) {
|
|
goto L_08A04D28;
|
|
}
|
|
goto L_08A04D0C;
|
|
}
|
|
L_08A04D0C:
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[19] + static_cast<std::uint32_t>(836)));
|
|
ctx.fpr[12] = std::bit_cast<float>(0u);
|
|
ctx.gpr[17] = (2232u << 16u);
|
|
{ const bool branch_taken = ctx.gpr[4] == 0u;
|
|
ctx.gpr[17] = (ctx.gpr[17] + static_cast<std::uint32_t>(5736));
|
|
if (branch_taken) {
|
|
goto L_08A04D3C;
|
|
}
|
|
goto L_08A04D20;
|
|
}
|
|
L_08A04D20:
|
|
{ const bool branch_taken = 0u == 0u;
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_08A04D7C;
|
|
}
|
|
goto L_08A04D28;
|
|
}
|
|
L_08A04D28:
|
|
ctx.gpr[4] = (ctx.gpr[16] | 0u);
|
|
ctx.gpr[31] = (0x08A04D34u);
|
|
ctx.gpr[5] = (0u | 0u);
|
|
if (rt.invoke_chained_direct<&recomp_unit_0065_entry, 65u, 701u, 0x0890BEDCu>(ctx, &aot_mem) && ctx.pc == 0x08A04D34u) goto L_08A04D34;
|
|
return;
|
|
L_08A04D34:
|
|
{ const bool branch_taken = 0u == 0u;
|
|
ctx.gpr[2] = (ctx.gpr[18] | 0u);
|
|
if (branch_taken) {
|
|
goto L_08A04DBC;
|
|
}
|
|
goto L_08A04D3C;
|
|
}
|
|
L_08A04D3C:
|
|
aot_mem.aot_store32(ctx.gpr[19] + static_cast<std::uint32_t>(1608), std::bit_cast<std::uint32_t>(ctx.fpr[12]));
|
|
ctx.gpr[31] = (0x08A04D48u);
|
|
ctx.gpr[4] = (ctx.gpr[19] | 0u);
|
|
if (rt.invoke_chained_direct<&recomp_unit_0002_entry, 2u, 81u, 0x0880C5C0u>(ctx, &aot_mem) && ctx.pc == 0x08A04D48u) goto L_08A04D48;
|
|
return;
|
|
L_08A04D48:
|
|
ctx.gpr[31] = (0x08A04D50u);
|
|
ctx.gpr[4] = (ctx.gpr[19] | 0u);
|
|
if (rt.invoke_chained_direct<&recomp_unit_0002_entry, 2u, 211u, 0x0880CFA8u>(ctx, &aot_mem) && ctx.pc == 0x08A04D50u) goto L_08A04D50;
|
|
return;
|
|
L_08A04D50:
|
|
ctx.gpr[31] = (0x08A04D58u);
|
|
ctx.gpr[4] = (ctx.gpr[19] | 0u);
|
|
if (rt.invoke_chained_direct<&recomp_unit_0002_entry, 2u, 181u, 0x0880CD78u>(ctx, &aot_mem) && ctx.pc == 0x08A04D58u) goto L_08A04D58;
|
|
return;
|
|
L_08A04D58:
|
|
ctx.gpr[31] = (0x08A04D60u);
|
|
ctx.gpr[4] = (ctx.gpr[19] | 0u);
|
|
if (rt.invoke_chained_direct<&recomp_unit_0002_entry, 2u, 196u, 0x0880CE90u>(ctx, &aot_mem) && ctx.pc == 0x08A04D60u) goto L_08A04D60;
|
|
return;
|
|
L_08A04D60:
|
|
ctx.gpr[4] = (ctx.gpr[17] | 0u);
|
|
ctx.gpr[31] = (0x08A04D6Cu);
|
|
ctx.gpr[5] = (ctx.gpr[19] | 0u);
|
|
if (rt.invoke_chained_direct<&recomp_unit_0127_entry, 127u, 453u, 0x08A01F60u>(ctx, &aot_mem) && ctx.pc == 0x08A04D6Cu) goto L_08A04D6C;
|
|
return;
|
|
L_08A04D6C:
|
|
ctx.gpr[31] = (0x08A04D74u);
|
|
ctx.gpr[4] = (ctx.gpr[2] | 0u);
|
|
if (rt.invoke_chained_direct<&recomp_unit_0174_entry, 174u, 312u, 0x08ABDD0Cu>(ctx, &aot_mem) && ctx.pc == 0x08A04D74u) goto L_08A04D74;
|
|
return;
|
|
L_08A04D74:
|
|
{ const bool branch_taken = 0u == 0u;
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_08A04D9C;
|
|
}
|
|
goto L_08A04D7C;
|
|
}
|
|
L_08A04D7C:
|
|
aot_mem.aot_store32(ctx.gpr[19] + static_cast<std::uint32_t>(1356), std::bit_cast<std::uint32_t>(ctx.fpr[12]));
|
|
ctx.gpr[31] = (0x08A04D88u);
|
|
ctx.gpr[4] = (ctx.gpr[19] | 0u);
|
|
if (rt.invoke_chained_direct<&recomp_unit_0140_entry, 140u, 502u, 0x08A36F88u>(ctx, &aot_mem) && ctx.pc == 0x08A04D88u) goto L_08A04D88;
|
|
return;
|
|
L_08A04D88:
|
|
ctx.gpr[4] = (ctx.gpr[17] | 0u);
|
|
ctx.gpr[31] = (0x08A04D94u);
|
|
ctx.gpr[5] = (ctx.gpr[19] | 0u);
|
|
if (rt.invoke_chained_direct<&recomp_unit_0127_entry, 127u, 453u, 0x08A01F60u>(ctx, &aot_mem) && ctx.pc == 0x08A04D94u) goto L_08A04D94;
|
|
return;
|
|
L_08A04D94:
|
|
ctx.gpr[31] = (0x08A04D9Cu);
|
|
ctx.gpr[4] = (ctx.gpr[2] | 0u);
|
|
if (rt.invoke_chained_direct<&recomp_unit_0117_entry, 117u, 456u, 0x089DA648u>(ctx, &aot_mem) && ctx.pc == 0x08A04D9Cu) goto L_08A04D9C;
|
|
return;
|
|
L_08A04D9C:
|
|
ctx.gpr[4] = (17530u << 16u);
|
|
ctx.fpr[12] = std::bit_cast<float>(ctx.gpr[4]);
|
|
aot_mem.aot_store32(ctx.gpr[19] + static_cast<std::uint32_t>(660), ctx.gpr[18]);
|
|
aot_mem.aot_store32(ctx.gpr[19] + static_cast<std::uint32_t>(616), std::bit_cast<std::uint32_t>(ctx.fpr[12]));
|
|
ctx.gpr[4] = (ctx.gpr[16] | 0u);
|
|
ctx.gpr[31] = (0x08A04DB8u);
|
|
ctx.gpr[5] = (0u | 1u);
|
|
if (rt.invoke_chained_direct<&recomp_unit_0065_entry, 65u, 701u, 0x0890BEDCu>(ctx, &aot_mem) && ctx.pc == 0x08A04DB8u) goto L_08A04DB8;
|
|
return;
|
|
L_08A04DB8:
|
|
ctx.gpr[2] = (ctx.gpr[18] | 0u);
|
|
goto L_08A04DBC;
|
|
L_08A04DBC:
|
|
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_08A04DD8:
|
|
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[17]);
|
|
aot_mem.aot_store32(ctx.gpr[29] + static_cast<std::uint32_t>(24), ctx.gpr[31]);
|
|
ctx.gpr[31] = (0x08A04DF0u);
|
|
ctx.gpr[16] = (ctx.gpr[4] | 0u);
|
|
if (rt.invoke_chained_direct<&recomp_unit_0116_entry, 116u, 180u, 0x089D5870u>(ctx, &aot_mem) && ctx.pc == 0x08A04DF0u) goto L_08A04DF0;
|
|
return;
|
|
L_08A04DF0:
|
|
ctx.gpr[4] = (ctx.gpr[2] | 0u);
|
|
{ const bool branch_taken = ctx.gpr[4] != 0u;
|
|
ctx.gpr[17] = (0u | 1u);
|
|
if (branch_taken) {
|
|
goto L_08A04E10;
|
|
}
|
|
goto L_08A04DFC;
|
|
}
|
|
L_08A04DFC:
|
|
ctx.gpr[4] = (ctx.gpr[16] | 0u);
|
|
ctx.gpr[31] = (0x08A04E08u);
|
|
ctx.gpr[5] = (0u | 0u);
|
|
if (rt.invoke_chained_direct<&recomp_unit_0065_entry, 65u, 701u, 0x0890BEDCu>(ctx, &aot_mem) && ctx.pc == 0x08A04E08u) goto L_08A04E08;
|
|
return;
|
|
L_08A04E08:
|
|
{ const bool branch_taken = 0u == 0u;
|
|
ctx.gpr[2] = (ctx.gpr[17] | 0u);
|
|
if (branch_taken) {
|
|
goto L_08A04E30;
|
|
}
|
|
goto L_08A04E10;
|
|
}
|
|
L_08A04E10:
|
|
ctx.gpr[5] = (ctx.gpr[4] | 0u);
|
|
ctx.gpr[4] = (17273u << 16u);
|
|
ctx.fpr[12] = std::bit_cast<float>(ctx.gpr[4]);
|
|
aot_mem.aot_store32(ctx.gpr[5] + static_cast<std::uint32_t>(616), std::bit_cast<std::uint32_t>(ctx.fpr[12]));
|
|
ctx.gpr[4] = (ctx.gpr[16] | 0u);
|
|
ctx.gpr[31] = (0x08A04E2Cu);
|
|
ctx.gpr[5] = (0u | 1u);
|
|
if (rt.invoke_chained_direct<&recomp_unit_0065_entry, 65u, 701u, 0x0890BEDCu>(ctx, &aot_mem) && ctx.pc == 0x08A04E2Cu) goto L_08A04E2C;
|
|
return;
|
|
L_08A04E2C:
|
|
ctx.gpr[2] = (ctx.gpr[17] | 0u);
|
|
goto L_08A04E30;
|
|
L_08A04E30:
|
|
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_08A04E44:
|
|
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[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[31]);
|
|
ctx.gpr[31] = (0x08A04E60u);
|
|
ctx.gpr[16] = (ctx.gpr[4] | 0u);
|
|
if (rt.invoke_chained_direct<&recomp_unit_0116_entry, 116u, 180u, 0x089D5870u>(ctx, &aot_mem) && ctx.pc == 0x08A04E60u) goto L_08A04E60;
|
|
return;
|
|
L_08A04E60:
|
|
ctx.gpr[18] = (ctx.gpr[2] | 0u);
|
|
{ const bool branch_taken = ctx.gpr[18] == 0u;
|
|
ctx.gpr[17] = (0u | 1u);
|
|
if (branch_taken) {
|
|
goto L_08A04E80;
|
|
}
|
|
goto L_08A04E6C;
|
|
}
|
|
L_08A04E6C:
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[18] + static_cast<std::uint32_t>(836)));
|
|
{ const bool branch_taken = ctx.gpr[4] == 0u;
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_08A04E94;
|
|
}
|
|
goto L_08A04E78;
|
|
}
|
|
L_08A04E78:
|
|
{ const bool branch_taken = 0u == 0u;
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_08A04F1C;
|
|
}
|
|
goto L_08A04E80;
|
|
}
|
|
L_08A04E80:
|
|
ctx.gpr[4] = (ctx.gpr[16] | 0u);
|
|
ctx.gpr[31] = (0x08A04E8Cu);
|
|
ctx.gpr[5] = (0u | 0u);
|
|
if (rt.invoke_chained_direct<&recomp_unit_0065_entry, 65u, 701u, 0x0890BEDCu>(ctx, &aot_mem) && ctx.pc == 0x08A04E8Cu) goto L_08A04E8C;
|
|
return;
|
|
L_08A04E8C:
|
|
{ const bool branch_taken = 0u == 0u;
|
|
ctx.gpr[2] = (ctx.gpr[17] | 0u);
|
|
if (branch_taken) {
|
|
goto L_08A04F6C;
|
|
}
|
|
goto L_08A04E94;
|
|
}
|
|
L_08A04E94:
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[18] + static_cast<std::uint32_t>(92)));
|
|
ctx.gpr[6] = (0u | 1u);
|
|
ctx.gpr[4] = (ctx.gpr[4] + static_cast<std::uint32_t>(296));
|
|
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>(0))))));
|
|
ctx.gpr[7] = (aot_mem.aot_load32(ctx.gpr[4] + static_cast<std::uint32_t>(4)));
|
|
ctx.gpr[4] = (ctx.gpr[18] + ctx.gpr[5]);
|
|
jump_target = ctx.gpr[7];
|
|
ctx.gpr[31] = (0x08A04EB4u);
|
|
ctx.gpr[5] = (0u | 13u);
|
|
ctx.pc = jump_target;
|
|
if (rt.invoke_chained_call(ctx, &aot_mem) && ctx.pc == 0x08A04EB4u) goto L_08A04EB4;
|
|
return;
|
|
L_08A04EB4:
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[18] + static_cast<std::uint32_t>(92)));
|
|
ctx.gpr[6] = (0u | 1u);
|
|
ctx.gpr[4] = (ctx.gpr[4] + static_cast<std::uint32_t>(296));
|
|
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>(0))))));
|
|
ctx.gpr[7] = (aot_mem.aot_load32(ctx.gpr[4] + static_cast<std::uint32_t>(4)));
|
|
ctx.gpr[4] = (ctx.gpr[18] + ctx.gpr[5]);
|
|
jump_target = ctx.gpr[7];
|
|
ctx.gpr[31] = (0x08A04ED4u);
|
|
ctx.gpr[5] = (0u | 15u);
|
|
ctx.pc = jump_target;
|
|
if (rt.invoke_chained_call(ctx, &aot_mem) && ctx.pc == 0x08A04ED4u) goto L_08A04ED4;
|
|
return;
|
|
L_08A04ED4:
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[18] + static_cast<std::uint32_t>(92)));
|
|
ctx.gpr[6] = (0u | 1u);
|
|
ctx.gpr[4] = (ctx.gpr[4] + static_cast<std::uint32_t>(296));
|
|
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>(0))))));
|
|
ctx.gpr[7] = (aot_mem.aot_load32(ctx.gpr[4] + static_cast<std::uint32_t>(4)));
|
|
ctx.gpr[4] = (ctx.gpr[18] + ctx.gpr[5]);
|
|
jump_target = ctx.gpr[7];
|
|
ctx.gpr[31] = (0x08A04EF4u);
|
|
ctx.gpr[5] = (0u | 14u);
|
|
ctx.pc = jump_target;
|
|
if (rt.invoke_chained_call(ctx, &aot_mem) && ctx.pc == 0x08A04EF4u) goto L_08A04EF4;
|
|
return;
|
|
L_08A04EF4:
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[18] + static_cast<std::uint32_t>(92)));
|
|
ctx.gpr[5] = (0u | 16u);
|
|
ctx.gpr[4] = (ctx.gpr[4] + static_cast<std::uint32_t>(296));
|
|
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)));
|
|
ctx.gpr[4] = (ctx.gpr[18] + ctx.gpr[6]);
|
|
jump_target = ctx.gpr[7];
|
|
ctx.gpr[31] = (0x08A04F14u);
|
|
ctx.gpr[6] = (0u | 1u);
|
|
ctx.pc = jump_target;
|
|
if (rt.invoke_chained_call(ctx, &aot_mem) && ctx.pc == 0x08A04F14u) goto L_08A04F14;
|
|
return;
|
|
L_08A04F14:
|
|
{ const bool branch_taken = 0u == 0u;
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_08A04F5C;
|
|
}
|
|
goto L_08A04F1C;
|
|
}
|
|
L_08A04F1C:
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[18] + static_cast<std::uint32_t>(92)));
|
|
ctx.gpr[6] = (0u | 1u);
|
|
ctx.gpr[4] = (ctx.gpr[4] + static_cast<std::uint32_t>(296));
|
|
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>(0))))));
|
|
ctx.gpr[7] = (aot_mem.aot_load32(ctx.gpr[4] + static_cast<std::uint32_t>(4)));
|
|
ctx.gpr[4] = (ctx.gpr[18] + ctx.gpr[5]);
|
|
jump_target = ctx.gpr[7];
|
|
ctx.gpr[31] = (0x08A04F3Cu);
|
|
ctx.gpr[5] = (0u | 13u);
|
|
ctx.pc = jump_target;
|
|
if (rt.invoke_chained_call(ctx, &aot_mem) && ctx.pc == 0x08A04F3Cu) goto L_08A04F3C;
|
|
return;
|
|
L_08A04F3C:
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[18] + static_cast<std::uint32_t>(92)));
|
|
ctx.gpr[5] = (0u | 15u);
|
|
ctx.gpr[4] = (ctx.gpr[4] + static_cast<std::uint32_t>(296));
|
|
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)));
|
|
ctx.gpr[4] = (ctx.gpr[18] + ctx.gpr[6]);
|
|
jump_target = ctx.gpr[7];
|
|
ctx.gpr[31] = (0x08A04F5Cu);
|
|
ctx.gpr[6] = (0u | 1u);
|
|
ctx.pc = jump_target;
|
|
if (rt.invoke_chained_call(ctx, &aot_mem) && ctx.pc == 0x08A04F5Cu) goto L_08A04F5C;
|
|
return;
|
|
L_08A04F5C:
|
|
ctx.gpr[4] = (ctx.gpr[16] | 0u);
|
|
ctx.gpr[31] = (0x08A04F68u);
|
|
ctx.gpr[5] = (0u | 1u);
|
|
if (rt.invoke_chained_direct<&recomp_unit_0065_entry, 65u, 701u, 0x0890BEDCu>(ctx, &aot_mem) && ctx.pc == 0x08A04F68u) goto L_08A04F68;
|
|
return;
|
|
L_08A04F68:
|
|
ctx.gpr[2] = (ctx.gpr[17] | 0u);
|
|
goto L_08A04F6C;
|
|
L_08A04F6C:
|
|
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[31] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast<std::uint32_t>(28)));
|
|
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_08A04F84:
|
|
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] = (2232u << 16u);
|
|
ctx.gpr[5] = (0u + static_cast<std::uint32_t>(-1));
|
|
aot_mem.aot_store32(ctx.gpr[29] + static_cast<std::uint32_t>(20), ctx.gpr[31]);
|
|
ctx.gpr[31] = (0x08A04FA4u);
|
|
ctx.gpr[4] = (ctx.gpr[4] + static_cast<std::uint32_t>(5736));
|
|
if (rt.invoke_chained_direct<&recomp_unit_0040_entry, 40u, 652u, 0x088A7E10u>(ctx, &aot_mem) && ctx.pc == 0x08A04FA4u) goto L_08A04FA4;
|
|
return;
|
|
L_08A04FA4:
|
|
ctx.gpr[31] = (0x08A04FACu);
|
|
ctx.gpr[4] = (ctx.gpr[2] | 0u);
|
|
if (rt.invoke_chained_direct<&recomp_unit_0127_entry, 127u, 571u, 0x08A0286Cu>(ctx, &aot_mem) && ctx.pc == 0x08A04FACu) goto L_08A04FAC;
|
|
return;
|
|
L_08A04FAC:
|
|
ctx.gpr[4] = (ctx.gpr[16] | 0u);
|
|
ctx.gpr[31] = (0x08A04FB8u);
|
|
ctx.gpr[5] = (ctx.gpr[2] | 0u);
|
|
if (rt.invoke_chained_direct<&recomp_unit_0065_entry, 65u, 701u, 0x0890BEDCu>(ctx, &aot_mem) && ctx.pc == 0x08A04FB8u) goto L_08A04FB8;
|
|
return;
|
|
L_08A04FB8:
|
|
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_08A04FCC:
|
|
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] = (0x08A04FE0u);
|
|
ctx.gpr[16] = (ctx.gpr[4] | 0u);
|
|
if (rt.invoke_chained_direct<&recomp_unit_0116_entry, 116u, 198u, 0x089D596Cu>(ctx, &aot_mem) && ctx.pc == 0x08A04FE0u) goto L_08A04FE0;
|
|
return;
|
|
L_08A04FE0:
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[2] + static_cast<std::uint32_t>(3212)));
|
|
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[5] - ctx.gpr[4]);
|
|
ctx.fpr[12] = std::bit_cast<float>(ctx.gpr[4]);
|
|
{ const bool branch_taken = static_cast<std::int32_t>(ctx.gpr[4]) >= 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_08A05008;
|
|
}
|
|
goto L_08A04FFC;
|
|
}
|
|
L_08A04FFC:
|
|
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_08A05008;
|
|
L_08A05008:
|
|
ctx.gpr[31] = (0x08A05010u);
|
|
ctx.gpr[4] = (ctx.gpr[16] | 0u);
|
|
if (rt.invoke_chained_direct<&recomp_unit_0065_entry, 65u, 675u, 0x0890BC08u>(ctx, &aot_mem) && ctx.pc == 0x08A05010u) goto L_08A05010;
|
|
return;
|
|
L_08A05010:
|
|
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_08A05024:
|
|
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] = (0x08A05034u);
|
|
// nop
|
|
if (rt.invoke_chained_direct<&recomp_unit_0116_entry, 116u, 198u, 0x089D596Cu>(ctx, &aot_mem) && ctx.pc == 0x08A05034u) goto L_08A05034;
|
|
return;
|
|
L_08A05034:
|
|
ctx.gpr[4] = (ctx.gpr[2] | 0u);
|
|
ctx.gpr[31] = (0x08A05040u);
|
|
ctx.gpr[5] = (0u | 30000u);
|
|
if (rt.invoke_chained_direct<&recomp_unit_0080_entry, 80u, 349u, 0x08945740u>(ctx, &aot_mem) && ctx.pc == 0x08A05040u) goto L_08A05040;
|
|
return;
|
|
L_08A05040:
|
|
ctx.gpr[2] = (0u | 0u);
|
|
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_08A05050:
|
|
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] = (0x08A05060u);
|
|
// nop
|
|
if (rt.invoke_chained_direct<&recomp_unit_0116_entry, 116u, 198u, 0x089D596Cu>(ctx, &aot_mem) && ctx.pc == 0x08A05060u) goto L_08A05060;
|
|
return;
|
|
L_08A05060:
|
|
ctx.gpr[4] = (aot_mem.aot_load8(ctx.gpr[2] + static_cast<std::uint32_t>(3228)));
|
|
ctx.gpr[4] = (ctx.gpr[4] | 32u);
|
|
aot_mem.aot_store8(ctx.gpr[2] + static_cast<std::uint32_t>(3228), static_cast<std::uint8_t>(ctx.gpr[4]));
|
|
ctx.gpr[2] = (0u | 0u);
|
|
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_08A0507C:
|
|
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] = (0x08A0508Cu);
|
|
// nop
|
|
if (rt.invoke_chained_direct<&recomp_unit_0116_entry, 116u, 198u, 0x089D596Cu>(ctx, &aot_mem) && ctx.pc == 0x08A0508Cu) goto L_08A0508C;
|
|
return;
|
|
L_08A0508C:
|
|
aot_mem.aot_store8(ctx.gpr[2] + static_cast<std::uint32_t>(3228), static_cast<std::uint8_t>(0u));
|
|
ctx.gpr[2] = (0u | 0u);
|
|
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_08A050A0:
|
|
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[18]);
|
|
ctx.gpr[18] = (2232u << 16u);
|
|
ctx.gpr[18] = (ctx.gpr[18] + static_cast<std::uint32_t>(5736));
|
|
ctx.gpr[5] = (aot_mem.aot_load32(ctx.gpr[18] + static_cast<std::uint32_t>(100)));
|
|
aot_mem.aot_store32(ctx.gpr[29] + static_cast<std::uint32_t>(20), ctx.gpr[16]);
|
|
aot_mem.aot_store32(ctx.gpr[29] + static_cast<std::uint32_t>(24), ctx.gpr[17]);
|
|
aot_mem.aot_store32(ctx.gpr[29] + static_cast<std::uint32_t>(32), ctx.gpr[19]);
|
|
ctx.gpr[16] = (ctx.gpr[4] | 0u);
|
|
ctx.gpr[19] = (aot_mem.aot_load16(ctx.gpr[5] + static_cast<std::uint32_t>(52)));
|
|
ctx.gpr[17] = (0u | 1u);
|
|
aot_mem.aot_store32(ctx.gpr[29] + static_cast<std::uint32_t>(36), ctx.gpr[31]);
|
|
ctx.gpr[31] = (0x08A050D8u);
|
|
ctx.gpr[5] = (0u | 1u);
|
|
if (rt.invoke_chained_direct<&recomp_unit_0127_entry, 127u, 467u, 0x08A02020u>(ctx, &aot_mem) && ctx.pc == 0x08A050D8u) goto L_08A050D8;
|
|
return;
|
|
L_08A050D8:
|
|
{ const bool branch_taken = ctx.gpr[2] == 0u;
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_08A050F0;
|
|
}
|
|
goto L_08A050E0;
|
|
}
|
|
L_08A050E0:
|
|
ctx.gpr[4] = (ctx.gpr[16] | 0u);
|
|
ctx.gpr[31] = (0x08A050ECu);
|
|
ctx.gpr[5] = (0u | 1u);
|
|
if (rt.invoke_chained_direct<&recomp_unit_0127_entry, 127u, 469u, 0x08A02044u>(ctx, &aot_mem) && ctx.pc == 0x08A050ECu) goto L_08A050EC;
|
|
return;
|
|
L_08A050EC:
|
|
ctx.gpr[19] = (ctx.gpr[2] | 0u);
|
|
goto L_08A050F0;
|
|
L_08A050F0:
|
|
ctx.gpr[4] = (ctx.gpr[18] | 0u);
|
|
ctx.gpr[31] = (0x08A050FCu);
|
|
ctx.gpr[5] = (ctx.gpr[19] | 0u);
|
|
if (rt.invoke_chained_direct<&recomp_unit_0040_entry, 40u, 652u, 0x088A7E10u>(ctx, &aot_mem) && ctx.pc == 0x08A050FCu) goto L_08A050FC;
|
|
return;
|
|
L_08A050FC:
|
|
ctx.gpr[19] = (ctx.gpr[2] | 0u);
|
|
{ const bool branch_taken = ctx.gpr[19] == 0u;
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_08A05194;
|
|
}
|
|
goto L_08A05108;
|
|
}
|
|
L_08A05108:
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[19] + static_cast<std::uint32_t>(96)));
|
|
if (ctx.gpr[4] != 0u) {
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[19] + static_cast<std::uint32_t>(96)));
|
|
goto L_08A05134;
|
|
}
|
|
goto L_08A05114;
|
|
L_08A05114:
|
|
ctx.gpr[5] = (static_cast<std::uint32_t>(static_cast<std::int32_t>(static_cast<std::int16_t>(aot_mem.aot_load16(ctx.gpr[19] + static_cast<std::uint32_t>(10))))));
|
|
ctx.gpr[6] = (ctx.gpr[29] + static_cast<std::uint32_t>(16));
|
|
ctx.gpr[31] = (0x08A05124u);
|
|
ctx.gpr[4] = (ctx.gpr[19] | 0u);
|
|
if (rt.invoke_chained_direct<&recomp_unit_0176_entry, 176u, 222u, 0x08AC5938u>(ctx, &aot_mem) && ctx.pc == 0x08A05124u) goto L_08A05124;
|
|
return;
|
|
L_08A05124:
|
|
aot_mem.aot_store32(ctx.gpr[19] + static_cast<std::uint32_t>(96), ctx.gpr[2]);
|
|
ctx.gpr[4] = (aot_mem.aot_load8(ctx.gpr[29] + static_cast<std::uint32_t>(16)));
|
|
aot_mem.aot_store8(ctx.gpr[19] + static_cast<std::uint32_t>(4), static_cast<std::uint8_t>(ctx.gpr[4]));
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[19] + static_cast<std::uint32_t>(96)));
|
|
goto L_08A05134;
|
|
L_08A05134:
|
|
ctx.gpr[5] = (0u | 65535u);
|
|
ctx.gpr[4] = (aot_mem.aot_load16(ctx.gpr[4] + static_cast<std::uint32_t>(176)));
|
|
{ const bool branch_taken = ctx.gpr[4] != ctx.gpr[5];
|
|
ctx.gpr[6] = (ctx.gpr[4] | 0u);
|
|
if (branch_taken) {
|
|
goto L_08A0514C;
|
|
}
|
|
goto L_08A05144;
|
|
}
|
|
L_08A05144:
|
|
{ const bool branch_taken = 0u == 0u;
|
|
ctx.gpr[19] = (0u | 0u);
|
|
if (branch_taken) {
|
|
goto L_08A0515C;
|
|
}
|
|
goto L_08A0514C;
|
|
}
|
|
L_08A0514C:
|
|
ctx.gpr[5] = (static_cast<std::uint32_t>(static_cast<std::int32_t>(static_cast<std::int8_t>(aot_mem.aot_load8(ctx.gpr[19] + static_cast<std::uint32_t>(3))))));
|
|
ctx.gpr[31] = (0x08A05158u);
|
|
ctx.gpr[4] = (ctx.gpr[18] | 0u);
|
|
if (rt.invoke_chained_direct<&recomp_unit_0041_entry, 41u, 141u, 0x088A87FCu>(ctx, &aot_mem) && ctx.pc == 0x08A05158u) goto L_08A05158;
|
|
return;
|
|
L_08A05158:
|
|
ctx.gpr[19] = (ctx.gpr[2] | 0u);
|
|
goto L_08A0515C;
|
|
L_08A0515C:
|
|
{ const bool branch_taken = ctx.gpr[19] == 0u;
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_08A05194;
|
|
}
|
|
goto L_08A05164;
|
|
}
|
|
L_08A05164:
|
|
ctx.gpr[19] = (aot_mem.aot_load32(ctx.gpr[19] + static_cast<std::uint32_t>(112)));
|
|
{ const bool branch_taken = ctx.gpr[19] == 0u;
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_08A05194;
|
|
}
|
|
goto L_08A05170;
|
|
}
|
|
L_08A05170:
|
|
ctx.gpr[4] = (static_cast<std::uint32_t>(static_cast<std::int32_t>(static_cast<std::int16_t>(aot_mem.aot_load16(ctx.gpr[19] + static_cast<std::uint32_t>(88))))));
|
|
ctx.gpr[5] = (aot_mem.aot_load16(ctx.gpr[18] + static_cast<std::uint32_t>(60)));
|
|
{ const bool branch_taken = ctx.gpr[4] != ctx.gpr[5];
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_08A05194;
|
|
}
|
|
goto L_08A05180;
|
|
}
|
|
L_08A05180:
|
|
ctx.gpr[4] = (ctx.gpr[16] | 0u);
|
|
ctx.gpr[31] = (0x08A0518Cu);
|
|
ctx.gpr[5] = (0u | 1u);
|
|
if (rt.invoke_chained_direct<&recomp_unit_0065_entry, 65u, 701u, 0x0890BEDCu>(ctx, &aot_mem) && ctx.pc == 0x08A0518Cu) goto L_08A0518C;
|
|
return;
|
|
L_08A0518C:
|
|
{ const bool branch_taken = 0u == 0u;
|
|
ctx.gpr[2] = (ctx.gpr[17] | 0u);
|
|
if (branch_taken) {
|
|
goto L_08A051A4;
|
|
}
|
|
goto L_08A05194;
|
|
}
|
|
L_08A05194:
|
|
ctx.gpr[4] = (ctx.gpr[16] | 0u);
|
|
ctx.gpr[31] = (0x08A051A0u);
|
|
ctx.gpr[5] = (0u | 0u);
|
|
if (rt.invoke_chained_direct<&recomp_unit_0065_entry, 65u, 701u, 0x0890BEDCu>(ctx, &aot_mem) && ctx.pc == 0x08A051A0u) goto L_08A051A0;
|
|
return;
|
|
L_08A051A0:
|
|
ctx.gpr[2] = (ctx.gpr[17] | 0u);
|
|
goto L_08A051A4;
|
|
L_08A051A4:
|
|
ctx.gpr[16] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast<std::uint32_t>(20)));
|
|
ctx.gpr[17] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast<std::uint32_t>(24)));
|
|
ctx.gpr[18] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast<std::uint32_t>(28)));
|
|
ctx.gpr[19] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast<std::uint32_t>(32)));
|
|
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_08A051C0:
|
|
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] = (2232u << 16u);
|
|
ctx.gpr[19] = (ctx.gpr[19] + static_cast<std::uint32_t>(5736));
|
|
ctx.gpr[5] = (aot_mem.aot_load32(ctx.gpr[19] + static_cast<std::uint32_t>(100)));
|
|
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]);
|
|
ctx.gpr[16] = (ctx.gpr[4] | 0u);
|
|
ctx.gpr[18] = (aot_mem.aot_load16(ctx.gpr[5] + static_cast<std::uint32_t>(52)));
|
|
ctx.gpr[17] = (0u | 1u);
|
|
aot_mem.aot_store32(ctx.gpr[29] + static_cast<std::uint32_t>(32), ctx.gpr[31]);
|
|
ctx.gpr[31] = (0x08A051F8u);
|
|
ctx.gpr[5] = (0u | 1u);
|
|
if (rt.invoke_chained_direct<&recomp_unit_0127_entry, 127u, 467u, 0x08A02020u>(ctx, &aot_mem) && ctx.pc == 0x08A051F8u) goto L_08A051F8;
|
|
return;
|
|
L_08A051F8:
|
|
{ const bool branch_taken = ctx.gpr[2] == 0u;
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_08A05210;
|
|
}
|
|
goto L_08A05200;
|
|
}
|
|
L_08A05200:
|
|
ctx.gpr[4] = (ctx.gpr[16] | 0u);
|
|
ctx.gpr[31] = (0x08A0520Cu);
|
|
ctx.gpr[5] = (0u | 1u);
|
|
if (rt.invoke_chained_direct<&recomp_unit_0127_entry, 127u, 469u, 0x08A02044u>(ctx, &aot_mem) && ctx.pc == 0x08A0520Cu) goto L_08A0520C;
|
|
return;
|
|
L_08A0520C:
|
|
ctx.gpr[18] = (ctx.gpr[2] | 0u);
|
|
goto L_08A05210;
|
|
L_08A05210:
|
|
ctx.gpr[4] = (ctx.gpr[19] | 0u);
|
|
ctx.gpr[31] = (0x08A0521Cu);
|
|
ctx.gpr[5] = (ctx.gpr[18] | 0u);
|
|
if (rt.invoke_chained_direct<&recomp_unit_0041_entry, 41u, 291u, 0x088A9430u>(ctx, &aot_mem) && ctx.pc == 0x08A0521Cu) goto L_08A0521C;
|
|
return;
|
|
L_08A0521C:
|
|
ctx.fpr[12] = std::bit_cast<float>(ctx.gpr[2]);
|
|
ctx.gpr[4] = (ctx.gpr[16] | 0u);
|
|
ctx.gpr[31] = (0x08A0522Cu);
|
|
ctx.fpr[12] = static_cast<float>(static_cast<std::int32_t>(std::bit_cast<std::uint32_t>(ctx.fpr[12])));
|
|
if (rt.invoke_chained_direct<&recomp_unit_0065_entry, 65u, 675u, 0x0890BC08u>(ctx, &aot_mem) && ctx.pc == 0x08A0522Cu) goto L_08A0522C;
|
|
return;
|
|
L_08A0522C:
|
|
ctx.gpr[2] = (ctx.gpr[17] | 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[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_08A0524C:
|
|
ctx.gpr[29] = (ctx.gpr[29] + static_cast<std::uint32_t>(-64));
|
|
aot_mem.aot_store32(ctx.gpr[29] + static_cast<std::uint32_t>(52), ctx.gpr[16]);
|
|
aot_mem.aot_store32(ctx.gpr[29] + static_cast<std::uint32_t>(56), ctx.gpr[17]);
|
|
aot_mem.aot_store32(ctx.gpr[29] + static_cast<std::uint32_t>(60), ctx.gpr[31]);
|
|
ctx.gpr[31] = (0x08A05264u);
|
|
ctx.gpr[16] = (ctx.gpr[4] | 0u);
|
|
if (rt.invoke_chained_direct<&recomp_unit_0116_entry, 116u, 198u, 0x089D596Cu>(ctx, &aot_mem) && ctx.pc == 0x08A05264u) goto L_08A05264;
|
|
return;
|
|
L_08A05264:
|
|
ctx.gpr[4] = (ctx.gpr[2] | 0u);
|
|
ctx.gpr[5] = (aot_mem.aot_load8(ctx.gpr[4] + static_cast<std::uint32_t>(1336)));
|
|
{ const bool branch_taken = ctx.gpr[5] == 0u;
|
|
ctx.gpr[5] = (2232u << 16u);
|
|
if (branch_taken) {
|
|
goto L_08A05298;
|
|
}
|
|
goto L_08A05274;
|
|
}
|
|
L_08A05274:
|
|
ctx.gpr[5] = (ctx.gpr[5] + static_cast<std::uint32_t>(5736));
|
|
ctx.gpr[5] = (aot_mem.aot_load32(ctx.gpr[5] + static_cast<std::uint32_t>(104)));
|
|
ctx.gpr[6] = (ctx.gpr[5] | 0u);
|
|
ctx.gpr[7] = (ctx.gpr[6] + static_cast<std::uint32_t>(4));
|
|
ctx.gpr[7] = (aot_mem.aot_load32(ctx.gpr[7] + static_cast<std::uint32_t>(0)));
|
|
{ const bool branch_taken = ctx.gpr[7] != 0u;
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[4] + static_cast<std::uint32_t>(1332)));
|
|
if (branch_taken) {
|
|
goto L_08A052A0;
|
|
}
|
|
goto L_08A05290;
|
|
}
|
|
L_08A05290:
|
|
{ const bool branch_taken = 0u == 0u;
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_08A052D4;
|
|
}
|
|
goto L_08A05298;
|
|
}
|
|
L_08A05298:
|
|
{ const bool branch_taken = 0u == 0u;
|
|
ctx.gpr[2] = (0u | 0u);
|
|
if (branch_taken) {
|
|
goto L_08A05390;
|
|
}
|
|
goto L_08A052A0;
|
|
}
|
|
L_08A052A0:
|
|
aot_mem.aot_store8(ctx.gpr[29] + static_cast<std::uint32_t>(28), static_cast<std::uint8_t>(0u));
|
|
ctx.gpr[8] = (aot_mem.aot_load32(ctx.gpr[7] + static_cast<std::uint32_t>(16)));
|
|
goto L_08A052A8;
|
|
L_08A052A8:
|
|
ctx.gpr[8] = (ctx.gpr[8] < ctx.gpr[4] ? 1u : 0u);
|
|
ctx.gpr[8] = (ctx.gpr[8] & 255u);
|
|
if (ctx.gpr[8] != 0u) {
|
|
ctx.gpr[7] = (ctx.gpr[7] + static_cast<std::uint32_t>(12));
|
|
goto L_08A052C8;
|
|
}
|
|
goto L_08A052B8;
|
|
L_08A052B8:
|
|
ctx.gpr[6] = (ctx.gpr[7] | 0u);
|
|
ctx.gpr[7] = (ctx.gpr[6] + static_cast<std::uint32_t>(8));
|
|
{ const bool branch_taken = 0u == 0u;
|
|
ctx.gpr[7] = (aot_mem.aot_load32(ctx.gpr[7] + static_cast<std::uint32_t>(0)));
|
|
if (branch_taken) {
|
|
goto L_08A052CC;
|
|
}
|
|
goto L_08A052C8;
|
|
}
|
|
L_08A052C8:
|
|
ctx.gpr[7] = (aot_mem.aot_load32(ctx.gpr[7] + static_cast<std::uint32_t>(0)));
|
|
goto L_08A052CC;
|
|
L_08A052CC:
|
|
if (ctx.gpr[7] != 0u) {
|
|
ctx.gpr[8] = (aot_mem.aot_load32(ctx.gpr[7] + static_cast<std::uint32_t>(16)));
|
|
goto L_08A052A8;
|
|
}
|
|
goto L_08A052D4;
|
|
L_08A052D4:
|
|
if (ctx.gpr[6] == ctx.gpr[5]) {
|
|
ctx.gpr[6] = (ctx.gpr[5] | 0u);
|
|
goto L_08A052F8;
|
|
}
|
|
goto L_08A052DC;
|
|
L_08A052DC:
|
|
aot_mem.aot_store8(ctx.gpr[29] + static_cast<std::uint32_t>(29), static_cast<std::uint8_t>(0u));
|
|
ctx.gpr[7] = (aot_mem.aot_load32(ctx.gpr[6] + static_cast<std::uint32_t>(16)));
|
|
ctx.gpr[4] = (ctx.gpr[4] < ctx.gpr[7] ? 1u : 0u);
|
|
ctx.gpr[4] = (ctx.gpr[4] & 255u);
|
|
if (ctx.gpr[4] == 0u) {
|
|
aot_mem.aot_store32(ctx.gpr[29] + static_cast<std::uint32_t>(24), ctx.gpr[6]);
|
|
goto L_08A052FC;
|
|
}
|
|
goto L_08A052F4;
|
|
L_08A052F4:
|
|
ctx.gpr[6] = (ctx.gpr[5] | 0u);
|
|
goto L_08A052F8;
|
|
L_08A052F8:
|
|
aot_mem.aot_store32(ctx.gpr[29] + static_cast<std::uint32_t>(24), ctx.gpr[6]);
|
|
goto L_08A052FC;
|
|
L_08A052FC:
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast<std::uint32_t>(24)));
|
|
aot_mem.aot_store32(ctx.gpr[29] + static_cast<std::uint32_t>(40), ctx.gpr[5]);
|
|
ctx.gpr[5] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast<std::uint32_t>(40)));
|
|
aot_mem.aot_store32(ctx.gpr[29] + static_cast<std::uint32_t>(20), ctx.gpr[4]);
|
|
aot_mem.aot_store32(ctx.gpr[29] + static_cast<std::uint32_t>(16), ctx.gpr[5]);
|
|
ctx.gpr[5] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast<std::uint32_t>(20)));
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast<std::uint32_t>(16)));
|
|
ctx.gpr[4] = (ctx.gpr[5] ^ ctx.gpr[4]);
|
|
ctx.gpr[4] = (ctx.gpr[4] < static_cast<std::uint32_t>(1) ? 1u : 0u);
|
|
ctx.gpr[4] = (ctx.gpr[4] & 255u);
|
|
if (ctx.gpr[4] == 0u) {
|
|
ctx.gpr[17] = (aot_mem.aot_load32(ctx.gpr[5] + static_cast<std::uint32_t>(20)));
|
|
goto L_08A05334;
|
|
}
|
|
goto L_08A0532C;
|
|
L_08A0532C:
|
|
{ const bool branch_taken = 0u == 0u;
|
|
ctx.gpr[17] = (0u | 0u);
|
|
if (branch_taken) {
|
|
goto L_08A05334;
|
|
}
|
|
goto L_08A05334;
|
|
}
|
|
L_08A05334:
|
|
ctx.gpr[4] = (ctx.gpr[17] | 0u);
|
|
{ const bool branch_taken = ctx.gpr[4] == 0u;
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_08A05368;
|
|
}
|
|
goto L_08A05340;
|
|
}
|
|
L_08A05340:
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[4] + static_cast<std::uint32_t>(108)));
|
|
ctx.gpr[4] = (ctx.gpr[4] + static_cast<std::uint32_t>(16));
|
|
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>(0))))));
|
|
ctx.gpr[6] = (aot_mem.aot_load32(ctx.gpr[4] + static_cast<std::uint32_t>(4)));
|
|
ctx.gpr[4] = (ctx.gpr[17] + ctx.gpr[5]);
|
|
ctx.gpr[5] = (2224u << 16u);
|
|
jump_target = ctx.gpr[6];
|
|
ctx.gpr[31] = (0x08A05360u);
|
|
ctx.gpr[5] = (ctx.gpr[5] + static_cast<std::uint32_t>(-23884));
|
|
ctx.pc = jump_target;
|
|
if (rt.invoke_chained_call(ctx, &aot_mem) && ctx.pc == 0x08A05360u) goto L_08A05360;
|
|
return;
|
|
L_08A05360:
|
|
{ const bool branch_taken = ctx.gpr[2] != 0u;
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_08A05370;
|
|
}
|
|
goto L_08A05368;
|
|
}
|
|
L_08A05368:
|
|
{ const bool branch_taken = 0u == 0u;
|
|
ctx.gpr[17] = (0u | 0u);
|
|
if (branch_taken) {
|
|
goto L_08A05370;
|
|
}
|
|
goto L_08A05370;
|
|
}
|
|
L_08A05370:
|
|
{ const bool branch_taken = ctx.gpr[17] == 0u;
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_08A0538C;
|
|
}
|
|
goto L_08A05378;
|
|
}
|
|
L_08A05378:
|
|
ctx.gpr[4] = (ctx.gpr[16] | 0u);
|
|
ctx.gpr[31] = (0x08A05384u);
|
|
ctx.gpr[5] = (ctx.gpr[17] | 0u);
|
|
if (rt.invoke_chained_direct<&recomp_unit_0146_entry, 146u, 136u, 0x08A4C8F0u>(ctx, &aot_mem) && ctx.pc == 0x08A05384u) goto L_08A05384;
|
|
return;
|
|
L_08A05384:
|
|
{ const bool branch_taken = 0u == 0u;
|
|
ctx.gpr[2] = (0u | 1u);
|
|
if (branch_taken) {
|
|
goto L_08A05390;
|
|
}
|
|
goto L_08A0538C;
|
|
}
|
|
L_08A0538C:
|
|
ctx.gpr[2] = (0u | 0u);
|
|
goto L_08A05390;
|
|
L_08A05390:
|
|
ctx.gpr[16] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast<std::uint32_t>(52)));
|
|
ctx.gpr[17] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast<std::uint32_t>(56)));
|
|
ctx.gpr[31] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast<std::uint32_t>(60)));
|
|
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_08A053A4:
|
|
ctx.gpr[29] = (ctx.gpr[29] + static_cast<std::uint32_t>(-64));
|
|
aot_mem.aot_store32(ctx.gpr[29] + static_cast<std::uint32_t>(40), ctx.gpr[16]);
|
|
aot_mem.aot_store32(ctx.gpr[29] + static_cast<std::uint32_t>(44), ctx.gpr[17]);
|
|
aot_mem.aot_store32(ctx.gpr[29] + static_cast<std::uint32_t>(48), ctx.gpr[18]);
|
|
ctx.gpr[18] = (2232u << 16u);
|
|
ctx.gpr[16] = (ctx.gpr[4] | 0u);
|
|
ctx.gpr[17] = (0u | 1u);
|
|
ctx.gpr[5] = (0u | 1u);
|
|
aot_mem.aot_store32(ctx.gpr[29] + static_cast<std::uint32_t>(52), ctx.gpr[19]);
|
|
aot_mem.aot_store32(ctx.gpr[29] + static_cast<std::uint32_t>(56), ctx.gpr[31]);
|
|
ctx.gpr[31] = (0x08A053D4u);
|
|
ctx.gpr[18] = (ctx.gpr[18] + static_cast<std::uint32_t>(5736));
|
|
if (rt.invoke_chained_direct<&recomp_unit_0127_entry, 127u, 467u, 0x08A02020u>(ctx, &aot_mem) && ctx.pc == 0x08A053D4u) goto L_08A053D4;
|
|
return;
|
|
L_08A053D4:
|
|
{ const bool branch_taken = ctx.gpr[2] == 0u;
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_08A05448;
|
|
}
|
|
goto L_08A053DC;
|
|
}
|
|
L_08A053DC:
|
|
ctx.gpr[19] = (ctx.gpr[17] | 0u);
|
|
ctx.gpr[4] = (ctx.gpr[16] | 0u);
|
|
ctx.gpr[31] = (0x08A053ECu);
|
|
ctx.gpr[5] = (0u | 1u);
|
|
if (rt.invoke_chained_direct<&recomp_unit_0127_entry, 127u, 469u, 0x08A02044u>(ctx, &aot_mem) && ctx.pc == 0x08A053ECu) goto L_08A053EC;
|
|
return;
|
|
L_08A053EC:
|
|
ctx.gpr[17] = (ctx.gpr[2] | 0u);
|
|
ctx.gpr[4] = (ctx.gpr[16] | 0u);
|
|
ctx.gpr[31] = (0x08A053FCu);
|
|
ctx.gpr[5] = (0u | 2u);
|
|
if (rt.invoke_chained_direct<&recomp_unit_0065_entry, 65u, 574u, 0x0890B6CCu>(ctx, &aot_mem) && ctx.pc == 0x08A053FCu) goto L_08A053FC;
|
|
return;
|
|
L_08A053FC:
|
|
{ const bool branch_taken = ctx.gpr[2] != ctx.gpr[19];
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_08A05450;
|
|
}
|
|
goto L_08A05404;
|
|
}
|
|
L_08A05404:
|
|
ctx.gpr[4] = (ctx.gpr[16] | 0u);
|
|
ctx.gpr[31] = (0x08A05410u);
|
|
ctx.gpr[5] = (0u | 2u);
|
|
if (rt.invoke_chained_direct<&recomp_unit_0065_entry, 65u, 618u, 0x0890B928u>(ctx, &aot_mem) && ctx.pc == 0x08A05410u) goto L_08A05410;
|
|
return;
|
|
L_08A05410:
|
|
ctx.gpr[6] = (2230u << 16u);
|
|
ctx.gpr[5] = (0u | 5u);
|
|
ctx.gpr[6] = (aot_mem.aot_load8(ctx.gpr[6] + static_cast<std::uint32_t>(-7203)));
|
|
aot_mem.aot_store16(ctx.gpr[29] + static_cast<std::uint32_t>(32), static_cast<std::uint16_t>(ctx.gpr[5]));
|
|
aot_mem.aot_store8(ctx.gpr[29] + static_cast<std::uint32_t>(34), static_cast<std::uint8_t>(ctx.gpr[6]));
|
|
ctx.gpr[4] = (0u < ctx.gpr[2] ? 1u : 0u);
|
|
aot_mem.aot_store8(ctx.gpr[29] + static_cast<std::uint32_t>(35), static_cast<std::uint8_t>(ctx.gpr[17]));
|
|
aot_mem.aot_store8(ctx.gpr[29] + static_cast<std::uint32_t>(36), static_cast<std::uint8_t>(ctx.gpr[4]));
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[18] + static_cast<std::uint32_t>(100)));
|
|
ctx.gpr[4] = (aot_mem.aot_load16(ctx.gpr[4] + static_cast<std::uint32_t>(52)));
|
|
{ const bool branch_taken = ctx.gpr[17] == ctx.gpr[4];
|
|
ctx.gpr[16] = (ctx.gpr[29] + static_cast<std::uint32_t>(32));
|
|
if (branch_taken) {
|
|
goto L_08A05458;
|
|
}
|
|
goto L_08A05440;
|
|
}
|
|
L_08A05440:
|
|
{ const bool branch_taken = 0u == 0u;
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_08A05478;
|
|
}
|
|
goto L_08A05448;
|
|
}
|
|
L_08A05448:
|
|
{ const bool branch_taken = 0u == 0u;
|
|
ctx.gpr[2] = (0u | 0u);
|
|
if (branch_taken) {
|
|
goto L_08A0548C;
|
|
}
|
|
goto L_08A05450;
|
|
}
|
|
L_08A05450:
|
|
{ const bool branch_taken = 0u == 0u;
|
|
ctx.gpr[2] = (0u | 0u);
|
|
if (branch_taken) {
|
|
goto L_08A0548C;
|
|
}
|
|
goto L_08A05458;
|
|
}
|
|
L_08A05458:
|
|
aot_mem.aot_store16(ctx.gpr[29] + static_cast<std::uint32_t>(38), static_cast<std::uint16_t>(0u));
|
|
ctx.gpr[6] = (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>(38))))));
|
|
ctx.gpr[4] = (ctx.gpr[16] | 0u);
|
|
ctx.gpr[5] = (ctx.gpr[17] | 0u);
|
|
ctx.gpr[31] = (0x08A05470u);
|
|
ctx.gpr[7] = (0u | 1u);
|
|
if (rt.invoke_chained_direct<&recomp_unit_0140_entry, 140u, 278u, 0x08A35C68u>(ctx, &aot_mem) && ctx.pc == 0x08A05470u) goto L_08A05470;
|
|
return;
|
|
L_08A05470:
|
|
{ const bool branch_taken = 0u == 0u;
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_08A05488;
|
|
}
|
|
goto L_08A05478;
|
|
}
|
|
L_08A05478:
|
|
ctx.gpr[4] = (ctx.gpr[18] | 0u);
|
|
ctx.gpr[5] = (ctx.gpr[16] | 0u);
|
|
ctx.gpr[31] = (0x08A05488u);
|
|
ctx.gpr[6] = (ctx.gpr[17] | 0u);
|
|
if (rt.invoke_chained_direct<&recomp_unit_0041_entry, 41u, 138u, 0x088A87C4u>(ctx, &aot_mem) && ctx.pc == 0x08A05488u) goto L_08A05488;
|
|
return;
|
|
L_08A05488:
|
|
ctx.gpr[2] = (0u | 0u);
|
|
goto L_08A0548C;
|
|
L_08A0548C:
|
|
ctx.gpr[16] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast<std::uint32_t>(40)));
|
|
ctx.gpr[17] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast<std::uint32_t>(44)));
|
|
ctx.gpr[18] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast<std::uint32_t>(48)));
|
|
ctx.gpr[19] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast<std::uint32_t>(52)));
|
|
ctx.gpr[31] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast<std::uint32_t>(56)));
|
|
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_08A054A8:
|
|
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] = (0x08A054B8u);
|
|
// nop
|
|
if (rt.invoke_chained_direct<&recomp_unit_0116_entry, 116u, 198u, 0x089D596Cu>(ctx, &aot_mem) && ctx.pc == 0x08A054B8u) goto L_08A054B8;
|
|
return;
|
|
L_08A054B8:
|
|
ctx.gpr[31] = (0x08A054C0u);
|
|
ctx.gpr[4] = (ctx.gpr[2] | 0u);
|
|
if (rt.invoke_chained_direct<&recomp_unit_0080_entry, 80u, 207u, 0x08944E30u>(ctx, &aot_mem) && ctx.pc == 0x08A054C0u) goto L_08A054C0;
|
|
return;
|
|
L_08A054C0:
|
|
ctx.gpr[2] = (0u | 0u);
|
|
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_08A054D0:
|
|
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[17]);
|
|
aot_mem.aot_store32(ctx.gpr[29] + static_cast<std::uint32_t>(24), ctx.gpr[31]);
|
|
ctx.gpr[31] = (0x08A054E8u);
|
|
ctx.gpr[16] = (ctx.gpr[4] | 0u);
|
|
if (rt.invoke_chained_direct<&recomp_unit_0116_entry, 116u, 198u, 0x089D596Cu>(ctx, &aot_mem) && ctx.pc == 0x08A054E8u) goto L_08A054E8;
|
|
return;
|
|
L_08A054E8:
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[2] + static_cast<std::uint32_t>(412)));
|
|
ctx.gpr[17] = (1u << 16u);
|
|
ctx.gpr[4] = (ctx.gpr[4] & ctx.gpr[17]);
|
|
{ const bool branch_taken = ctx.gpr[4] == 0u;
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_08A05508;
|
|
}
|
|
goto L_08A054FC;
|
|
}
|
|
L_08A054FC:
|
|
ctx.gpr[4] = (2226u << 16u);
|
|
ctx.gpr[31] = (0x08A05508u);
|
|
ctx.gpr[4] = (ctx.gpr[4] + static_cast<std::uint32_t>(-460));
|
|
if (rt.invoke_chained_direct<&recomp_unit_0127_entry, 127u, 452u, 0x08A01F34u>(ctx, &aot_mem) && ctx.pc == 0x08A05508u) goto L_08A05508;
|
|
return;
|
|
L_08A05508:
|
|
ctx.gpr[31] = (0x08A05510u);
|
|
// nop
|
|
if (rt.invoke_chained_direct<&recomp_unit_0116_entry, 116u, 198u, 0x089D596Cu>(ctx, &aot_mem) && ctx.pc == 0x08A05510u) goto L_08A05510;
|
|
return;
|
|
L_08A05510:
|
|
ctx.gpr[5] = (aot_mem.aot_load32(ctx.gpr[2] + static_cast<std::uint32_t>(412)));
|
|
ctx.gpr[4] = (ctx.gpr[16] | 0u);
|
|
ctx.gpr[5] = (ctx.gpr[5] & ctx.gpr[17]);
|
|
ctx.gpr[31] = (0x08A05524u);
|
|
ctx.gpr[5] = (ctx.gpr[5] >> 16u);
|
|
if (rt.invoke_chained_direct<&recomp_unit_0065_entry, 65u, 701u, 0x0890BEDCu>(ctx, &aot_mem) && ctx.pc == 0x08A05524u) goto L_08A05524;
|
|
return;
|
|
L_08A05524:
|
|
ctx.gpr[2] = (0u | 1u);
|
|
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_08A0553C:
|
|
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[17]);
|
|
ctx.gpr[16] = (ctx.gpr[4] | 0u);
|
|
ctx.gpr[17] = (0u | 1u);
|
|
aot_mem.aot_store32(ctx.gpr[29] + static_cast<std::uint32_t>(24), ctx.gpr[31]);
|
|
ctx.gpr[31] = (0x08A0555Cu);
|
|
ctx.gpr[5] = (0u | 1u);
|
|
if (rt.invoke_chained_direct<&recomp_unit_0065_entry, 65u, 610u, 0x0890B8D0u>(ctx, &aot_mem) && ctx.pc == 0x08A0555Cu) goto L_08A0555C;
|
|
return;
|
|
L_08A0555C:
|
|
ctx.fpr[12] = std::bit_cast<float>(ctx.fpu_float_to_word_ct<1u>(ctx.fpr[0]));
|
|
ctx.gpr[5] = (std::bit_cast<std::uint32_t>(ctx.fpr[12]));
|
|
ctx.gpr[5] = (ctx.gpr[5] & 255u);
|
|
ctx.gpr[6] = (ctx.gpr[5] < static_cast<std::uint32_t>(8) ? 1u : 0u);
|
|
{ const bool branch_taken = ctx.gpr[6] == 0u;
|
|
ctx.gpr[4] = (0u | 0u);
|
|
if (branch_taken) {
|
|
goto L_08A055C8;
|
|
}
|
|
goto L_08A05574;
|
|
}
|
|
L_08A05574:
|
|
ctx.gpr[5] = (ctx.gpr[5] << 2u);
|
|
ctx.gpr[1] = (2226u << 16u);
|
|
ctx.gpr[1] = (ctx.gpr[1] + ctx.gpr[5]);
|
|
ctx.gpr[1] = (aot_mem.aot_load32(ctx.gpr[1] + static_cast<std::uint32_t>(-248)));
|
|
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_08A0558C:
|
|
{ const bool branch_taken = 0u == 0u;
|
|
ctx.gpr[4] = (0u | 3u);
|
|
if (branch_taken) {
|
|
goto L_08A055C8;
|
|
}
|
|
goto L_08A05594;
|
|
}
|
|
L_08A05594:
|
|
{ const bool branch_taken = 0u == 0u;
|
|
ctx.gpr[4] = (0u | 7u);
|
|
if (branch_taken) {
|
|
goto L_08A055C8;
|
|
}
|
|
goto L_08A0559C;
|
|
}
|
|
L_08A0559C:
|
|
{ const bool branch_taken = 0u == 0u;
|
|
ctx.gpr[4] = (0u | 44u);
|
|
if (branch_taken) {
|
|
goto L_08A055C8;
|
|
}
|
|
goto L_08A055A4;
|
|
}
|
|
L_08A055A4:
|
|
{ const bool branch_taken = 0u == 0u;
|
|
ctx.gpr[4] = (0u | 6u);
|
|
if (branch_taken) {
|
|
goto L_08A055C8;
|
|
}
|
|
goto L_08A055AC;
|
|
}
|
|
L_08A055AC:
|
|
{ const bool branch_taken = 0u == 0u;
|
|
ctx.gpr[4] = (0u | 85u);
|
|
if (branch_taken) {
|
|
goto L_08A055C8;
|
|
}
|
|
goto L_08A055B4;
|
|
}
|
|
L_08A055B4:
|
|
{ const bool branch_taken = 0u == 0u;
|
|
ctx.gpr[4] = (0u | 5u);
|
|
if (branch_taken) {
|
|
goto L_08A055C8;
|
|
}
|
|
goto L_08A055BC;
|
|
}
|
|
L_08A055BC:
|
|
{ const bool branch_taken = 0u == 0u;
|
|
ctx.gpr[4] = (0u | 21u);
|
|
if (branch_taken) {
|
|
goto L_08A055C8;
|
|
}
|
|
goto L_08A055C4;
|
|
}
|
|
L_08A055C4:
|
|
ctx.gpr[4] = (0u | 65u);
|
|
goto L_08A055C8;
|
|
L_08A055C8:
|
|
ctx.fpr[12] = std::bit_cast<float>(ctx.gpr[4]);
|
|
ctx.gpr[4] = (ctx.gpr[16] | 0u);
|
|
ctx.gpr[31] = (0x08A055D8u);
|
|
ctx.fpr[12] = static_cast<float>(static_cast<std::int32_t>(std::bit_cast<std::uint32_t>(ctx.fpr[12])));
|
|
if (rt.invoke_chained_direct<&recomp_unit_0065_entry, 65u, 675u, 0x0890BC08u>(ctx, &aot_mem) && ctx.pc == 0x08A055D8u) goto L_08A055D8;
|
|
return;
|
|
L_08A055D8:
|
|
ctx.gpr[2] = (ctx.gpr[17] | 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[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_08A055F0:
|
|
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[16]);
|
|
ctx.gpr[16] = (2232u << 16u);
|
|
aot_mem.aot_store32(ctx.gpr[29] + static_cast<std::uint32_t>(24), ctx.gpr[17]);
|
|
aot_mem.aot_store32(ctx.gpr[29] + static_cast<std::uint32_t>(28), ctx.gpr[18]);
|
|
ctx.gpr[17] = (2230u << 16u);
|
|
ctx.gpr[18] = (0u | 0u);
|
|
ctx.gpr[4] = (0u | 12u);
|
|
ctx.gpr[16] = (ctx.gpr[16] + static_cast<std::uint32_t>(5736));
|
|
aot_mem.aot_store32(ctx.gpr[29] + static_cast<std::uint32_t>(32), ctx.gpr[19]);
|
|
aot_mem.aot_store32(ctx.gpr[29] + static_cast<std::uint32_t>(36), ctx.gpr[20]);
|
|
aot_mem.aot_store32(ctx.gpr[29] + static_cast<std::uint32_t>(40), ctx.gpr[31]);
|
|
ctx.gpr[31] = (0x08A05628u);
|
|
ctx.gpr[17] = (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>(-6239))))));
|
|
if (rt.invoke_chained_direct<&recomp_unit_0167_entry, 167u, 663u, 0x08AA3190u>(ctx, &aot_mem) && ctx.pc == 0x08A05628u) goto L_08A05628;
|
|
return;
|
|
L_08A05628:
|
|
ctx.gpr[4] = (ctx.gpr[2] | 0u);
|
|
ctx.gpr[19] = (ctx.gpr[29] + static_cast<std::uint32_t>(16));
|
|
{ const bool branch_taken = ctx.gpr[4] == 0u;
|
|
ctx.gpr[20] = (2230u << 16u);
|
|
if (branch_taken) {
|
|
goto L_08A05664;
|
|
}
|
|
goto L_08A05638;
|
|
}
|
|
L_08A05638:
|
|
ctx.gpr[5] = (2230u << 16u);
|
|
ctx.gpr[5] = (ctx.gpr[5] + static_cast<std::uint32_t>(-9820));
|
|
aot_mem.aot_store32(ctx.gpr[4] + static_cast<std::uint32_t>(4), ctx.gpr[5]);
|
|
ctx.gpr[5] = (2230u << 16u);
|
|
aot_mem.aot_store32(ctx.gpr[4] + static_cast<std::uint32_t>(0), 0u);
|
|
ctx.gpr[5] = (ctx.gpr[5] + static_cast<std::uint32_t>(-9804));
|
|
aot_mem.aot_store32(ctx.gpr[4] + static_cast<std::uint32_t>(4), ctx.gpr[5]);
|
|
ctx.gpr[5] = (2208u << 16u);
|
|
ctx.gpr[5] = (ctx.gpr[5] + static_cast<std::uint32_t>(14800));
|
|
aot_mem.aot_store32(ctx.gpr[4] + static_cast<std::uint32_t>(8), ctx.gpr[5]);
|
|
ctx.gpr[18] = (ctx.gpr[4] | 0u);
|
|
goto L_08A05664;
|
|
L_08A05664:
|
|
{ const bool branch_taken = ctx.gpr[18] == 0u;
|
|
aot_mem.aot_store32(ctx.gpr[29] + static_cast<std::uint32_t>(16), ctx.gpr[18]);
|
|
if (branch_taken) {
|
|
goto L_08A05678;
|
|
}
|
|
goto L_08A0566C;
|
|
}
|
|
L_08A0566C:
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[18] + static_cast<std::uint32_t>(0)));
|
|
ctx.gpr[4] = (ctx.gpr[4] + static_cast<std::uint32_t>(1));
|
|
aot_mem.aot_store32(ctx.gpr[18] + static_cast<std::uint32_t>(0), ctx.gpr[4]);
|
|
goto L_08A05678;
|
|
L_08A05678:
|
|
ctx.gpr[4] = (ctx.gpr[16] | 0u);
|
|
ctx.gpr[5] = (ctx.gpr[17] | 0u);
|
|
ctx.gpr[31] = (0x08A05688u);
|
|
ctx.gpr[6] = (ctx.gpr[19] | 0u);
|
|
if (rt.invoke_chained_direct<&recomp_unit_0041_entry, 41u, 240u, 0x088A90D0u>(ctx, &aot_mem) && ctx.pc == 0x08A05688u) goto L_08A05688;
|
|
return;
|
|
L_08A05688:
|
|
ctx.gpr[17] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast<std::uint32_t>(16)));
|
|
{ const bool branch_taken = ctx.gpr[17] == 0u;
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_08A056AC;
|
|
}
|
|
goto L_08A05694;
|
|
}
|
|
L_08A05694:
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[17] + static_cast<std::uint32_t>(0)));
|
|
ctx.gpr[4] = (ctx.gpr[4] + static_cast<std::uint32_t>(-1));
|
|
{ const bool branch_taken = ctx.gpr[4] != 0u;
|
|
aot_mem.aot_store32(ctx.gpr[17] + static_cast<std::uint32_t>(0), ctx.gpr[4]);
|
|
if (branch_taken) {
|
|
goto L_08A056AC;
|
|
}
|
|
goto L_08A056A4;
|
|
}
|
|
L_08A056A4:
|
|
ctx.gpr[31] = (0x08A056ACu);
|
|
ctx.gpr[4] = (ctx.gpr[17] | 0u);
|
|
if (rt.invoke_chained_direct<&recomp_unit_0167_entry, 167u, 667u, 0x08AA31D8u>(ctx, &aot_mem) && ctx.pc == 0x08A056ACu) goto L_08A056AC;
|
|
return;
|
|
L_08A056AC:
|
|
ctx.gpr[17] = (2230u << 16u);
|
|
ctx.gpr[18] = (0u | 0u);
|
|
ctx.gpr[4] = (0u | 12u);
|
|
ctx.gpr[31] = (0x08A056C0u);
|
|
ctx.gpr[17] = (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>(-6238))))));
|
|
if (rt.invoke_chained_direct<&recomp_unit_0167_entry, 167u, 663u, 0x08AA3190u>(ctx, &aot_mem) && ctx.pc == 0x08A056C0u) goto L_08A056C0;
|
|
return;
|
|
L_08A056C0:
|
|
ctx.gpr[4] = (ctx.gpr[2] | 0u);
|
|
{ const bool branch_taken = ctx.gpr[4] == 0u;
|
|
ctx.gpr[5] = (2230u << 16u);
|
|
if (branch_taken) {
|
|
goto L_08A056F4;
|
|
}
|
|
goto L_08A056CC;
|
|
}
|
|
L_08A056CC:
|
|
ctx.gpr[5] = (ctx.gpr[5] + static_cast<std::uint32_t>(-9820));
|
|
aot_mem.aot_store32(ctx.gpr[4] + static_cast<std::uint32_t>(4), ctx.gpr[5]);
|
|
ctx.gpr[5] = (2230u << 16u);
|
|
aot_mem.aot_store32(ctx.gpr[4] + static_cast<std::uint32_t>(0), 0u);
|
|
ctx.gpr[5] = (ctx.gpr[5] + static_cast<std::uint32_t>(-9804));
|
|
aot_mem.aot_store32(ctx.gpr[4] + static_cast<std::uint32_t>(4), ctx.gpr[5]);
|
|
ctx.gpr[5] = (2208u << 16u);
|
|
ctx.gpr[5] = (ctx.gpr[5] + static_cast<std::uint32_t>(15572));
|
|
aot_mem.aot_store32(ctx.gpr[4] + static_cast<std::uint32_t>(8), ctx.gpr[5]);
|
|
ctx.gpr[18] = (ctx.gpr[4] | 0u);
|
|
goto L_08A056F4;
|
|
L_08A056F4:
|
|
{ const bool branch_taken = ctx.gpr[18] == 0u;
|
|
aot_mem.aot_store32(ctx.gpr[29] + static_cast<std::uint32_t>(16), ctx.gpr[18]);
|
|
if (branch_taken) {
|
|
goto L_08A05708;
|
|
}
|
|
goto L_08A056FC;
|
|
}
|
|
L_08A056FC:
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[18] + static_cast<std::uint32_t>(0)));
|
|
ctx.gpr[4] = (ctx.gpr[4] + static_cast<std::uint32_t>(1));
|
|
aot_mem.aot_store32(ctx.gpr[18] + static_cast<std::uint32_t>(0), ctx.gpr[4]);
|
|
goto L_08A05708;
|
|
L_08A05708:
|
|
ctx.gpr[4] = (ctx.gpr[16] | 0u);
|
|
ctx.gpr[5] = (ctx.gpr[17] | 0u);
|
|
ctx.gpr[31] = (0x08A05718u);
|
|
ctx.gpr[6] = (ctx.gpr[19] | 0u);
|
|
if (rt.invoke_chained_direct<&recomp_unit_0041_entry, 41u, 240u, 0x088A90D0u>(ctx, &aot_mem) && ctx.pc == 0x08A05718u) goto L_08A05718;
|
|
return;
|
|
L_08A05718:
|
|
ctx.gpr[17] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast<std::uint32_t>(16)));
|
|
{ const bool branch_taken = ctx.gpr[17] == 0u;
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_08A0573C;
|
|
}
|
|
goto L_08A05724;
|
|
}
|
|
L_08A05724:
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[17] + static_cast<std::uint32_t>(0)));
|
|
ctx.gpr[4] = (ctx.gpr[4] + static_cast<std::uint32_t>(-1));
|
|
{ const bool branch_taken = ctx.gpr[4] != 0u;
|
|
aot_mem.aot_store32(ctx.gpr[17] + static_cast<std::uint32_t>(0), ctx.gpr[4]);
|
|
if (branch_taken) {
|
|
goto L_08A0573C;
|
|
}
|
|
goto L_08A05734;
|
|
}
|
|
L_08A05734:
|
|
ctx.gpr[31] = (0x08A0573Cu);
|
|
ctx.gpr[4] = (ctx.gpr[17] | 0u);
|
|
if (rt.invoke_chained_direct<&recomp_unit_0167_entry, 167u, 667u, 0x08AA31D8u>(ctx, &aot_mem) && ctx.pc == 0x08A0573Cu) goto L_08A0573C;
|
|
return;
|
|
L_08A0573C:
|
|
ctx.gpr[17] = (2230u << 16u);
|
|
ctx.gpr[18] = (0u | 0u);
|
|
ctx.gpr[4] = (0u | 12u);
|
|
ctx.gpr[31] = (0x08A05750u);
|
|
ctx.gpr[17] = (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>(-6237))))));
|
|
if (rt.invoke_chained_direct<&recomp_unit_0167_entry, 167u, 663u, 0x08AA3190u>(ctx, &aot_mem) && ctx.pc == 0x08A05750u) goto L_08A05750;
|
|
return;
|
|
L_08A05750:
|
|
ctx.gpr[4] = (ctx.gpr[2] | 0u);
|
|
{ const bool branch_taken = ctx.gpr[4] == 0u;
|
|
ctx.gpr[5] = (2230u << 16u);
|
|
if (branch_taken) {
|
|
goto L_08A05784;
|
|
}
|
|
goto L_08A0575C;
|
|
}
|
|
L_08A0575C:
|
|
ctx.gpr[5] = (ctx.gpr[5] + static_cast<std::uint32_t>(-9820));
|
|
aot_mem.aot_store32(ctx.gpr[4] + static_cast<std::uint32_t>(4), ctx.gpr[5]);
|
|
ctx.gpr[5] = (2230u << 16u);
|
|
aot_mem.aot_store32(ctx.gpr[4] + static_cast<std::uint32_t>(0), 0u);
|
|
ctx.gpr[5] = (ctx.gpr[5] + static_cast<std::uint32_t>(-9804));
|
|
aot_mem.aot_store32(ctx.gpr[4] + static_cast<std::uint32_t>(4), ctx.gpr[5]);
|
|
ctx.gpr[5] = (2208u << 16u);
|
|
ctx.gpr[5] = (ctx.gpr[5] + static_cast<std::uint32_t>(15848));
|
|
aot_mem.aot_store32(ctx.gpr[4] + static_cast<std::uint32_t>(8), ctx.gpr[5]);
|
|
ctx.gpr[18] = (ctx.gpr[4] | 0u);
|
|
goto L_08A05784;
|
|
L_08A05784:
|
|
{ const bool branch_taken = ctx.gpr[18] == 0u;
|
|
aot_mem.aot_store32(ctx.gpr[29] + static_cast<std::uint32_t>(16), ctx.gpr[18]);
|
|
if (branch_taken) {
|
|
goto L_08A05798;
|
|
}
|
|
goto L_08A0578C;
|
|
}
|
|
L_08A0578C:
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[18] + static_cast<std::uint32_t>(0)));
|
|
ctx.gpr[4] = (ctx.gpr[4] + static_cast<std::uint32_t>(1));
|
|
aot_mem.aot_store32(ctx.gpr[18] + static_cast<std::uint32_t>(0), ctx.gpr[4]);
|
|
goto L_08A05798;
|
|
L_08A05798:
|
|
ctx.gpr[4] = (ctx.gpr[16] | 0u);
|
|
ctx.gpr[5] = (ctx.gpr[17] | 0u);
|
|
ctx.gpr[31] = (0x08A057A8u);
|
|
ctx.gpr[6] = (ctx.gpr[19] | 0u);
|
|
if (rt.invoke_chained_direct<&recomp_unit_0041_entry, 41u, 240u, 0x088A90D0u>(ctx, &aot_mem) && ctx.pc == 0x08A057A8u) goto L_08A057A8;
|
|
return;
|
|
L_08A057A8:
|
|
ctx.gpr[16] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast<std::uint32_t>(16)));
|
|
{ const bool branch_taken = ctx.gpr[16] == 0u;
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_08A057CC;
|
|
}
|
|
goto L_08A057B4;
|
|
}
|
|
L_08A057B4:
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast<std::uint32_t>(0)));
|
|
ctx.gpr[4] = (ctx.gpr[4] + static_cast<std::uint32_t>(-1));
|
|
{ const bool branch_taken = ctx.gpr[4] != 0u;
|
|
aot_mem.aot_store32(ctx.gpr[16] + static_cast<std::uint32_t>(0), ctx.gpr[4]);
|
|
if (branch_taken) {
|
|
goto L_08A057CC;
|
|
}
|
|
goto L_08A057C4;
|
|
}
|
|
L_08A057C4:
|
|
ctx.gpr[31] = (0x08A057CCu);
|
|
ctx.gpr[4] = (ctx.gpr[16] | 0u);
|
|
if (rt.invoke_chained_direct<&recomp_unit_0167_entry, 167u, 667u, 0x08AA31D8u>(ctx, &aot_mem) && ctx.pc == 0x08A057CCu) goto L_08A057CC;
|
|
return;
|
|
L_08A057CC:
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[20] + static_cast<std::uint32_t>(-21280)));
|
|
{ const bool branch_taken = ctx.gpr[4] != 0u;
|
|
ctx.gpr[5] = (2229u << 16u);
|
|
if (branch_taken) {
|
|
goto L_08A057E8;
|
|
}
|
|
goto L_08A057D8;
|
|
}
|
|
L_08A057D8:
|
|
ctx.gpr[31] = (0x08A057E0u);
|
|
// nop
|
|
if (rt.invoke_chained_direct<&recomp_unit_0189_entry, 189u, 322u, 0x08AF9780u>(ctx, &aot_mem) && ctx.pc == 0x08A057E0u) goto L_08A057E0;
|
|
return;
|
|
L_08A057E0:
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[20] + static_cast<std::uint32_t>(-21280)));
|
|
ctx.gpr[5] = (2229u << 16u);
|
|
goto L_08A057E8;
|
|
L_08A057E8:
|
|
ctx.gpr[6] = (2226u << 16u);
|
|
ctx.gpr[5] = (ctx.gpr[5] + static_cast<std::uint32_t>(-16092));
|
|
ctx.gpr[31] = (0x08A057F8u);
|
|
ctx.gpr[6] = (ctx.gpr[6] + static_cast<std::uint32_t>(-1516));
|
|
if (rt.invoke_chained_direct<&recomp_unit_0014_entry, 14u, 5u, 0x0883C058u>(ctx, &aot_mem) && ctx.pc == 0x08A057F8u) goto L_08A057F8;
|
|
return;
|
|
L_08A057F8:
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[20] + static_cast<std::uint32_t>(-21280)));
|
|
{ const bool branch_taken = ctx.gpr[4] != 0u;
|
|
ctx.gpr[5] = (2229u << 16u);
|
|
if (branch_taken) {
|
|
goto L_08A05814;
|
|
}
|
|
goto L_08A05804;
|
|
}
|
|
L_08A05804:
|
|
ctx.gpr[31] = (0x08A0580Cu);
|
|
// nop
|
|
if (rt.invoke_chained_direct<&recomp_unit_0189_entry, 189u, 322u, 0x08AF9780u>(ctx, &aot_mem) && ctx.pc == 0x08A0580Cu) goto L_08A0580C;
|
|
return;
|
|
L_08A0580C:
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[20] + static_cast<std::uint32_t>(-21280)));
|
|
ctx.gpr[5] = (2229u << 16u);
|
|
goto L_08A05814;
|
|
L_08A05814:
|
|
ctx.gpr[6] = (0u | 0u);
|
|
ctx.gpr[31] = (0x08A05820u);
|
|
ctx.gpr[5] = (ctx.gpr[5] + static_cast<std::uint32_t>(-15828));
|
|
if (rt.invoke_chained_direct<&recomp_unit_0013_entry, 13u, 787u, 0x0883BFF4u>(ctx, &aot_mem) && ctx.pc == 0x08A05820u) goto L_08A05820;
|
|
return;
|
|
L_08A05820:
|
|
ctx.gpr[16] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast<std::uint32_t>(20)));
|
|
ctx.gpr[17] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast<std::uint32_t>(24)));
|
|
ctx.gpr[18] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast<std::uint32_t>(28)));
|
|
ctx.gpr[19] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast<std::uint32_t>(32)));
|
|
ctx.gpr[20] = (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_08A05840:
|
|
ctx.gpr[29] = (ctx.gpr[29] + static_cast<std::uint32_t>(-128));
|
|
aot_mem.aot_store32(ctx.gpr[29] + static_cast<std::uint32_t>(88), ctx.gpr[16]);
|
|
ctx.gpr[16] = (ctx.gpr[4] | 0u);
|
|
aot_mem.aot_store32(ctx.gpr[29] + static_cast<std::uint32_t>(84), std::bit_cast<std::uint32_t>(ctx.fpr[20]));
|
|
aot_mem.aot_store32(ctx.gpr[29] + static_cast<std::uint32_t>(92), ctx.gpr[17]);
|
|
aot_mem.aot_store32(ctx.gpr[29] + static_cast<std::uint32_t>(96), ctx.gpr[18]);
|
|
aot_mem.aot_store32(ctx.gpr[29] + static_cast<std::uint32_t>(100), ctx.gpr[19]);
|
|
aot_mem.aot_store32(ctx.gpr[29] + static_cast<std::uint32_t>(104), ctx.gpr[20]);
|
|
aot_mem.aot_store32(ctx.gpr[29] + static_cast<std::uint32_t>(108), ctx.gpr[21]);
|
|
aot_mem.aot_store32(ctx.gpr[29] + static_cast<std::uint32_t>(112), ctx.gpr[31]);
|
|
ctx.gpr[31] = (0x08A05870u);
|
|
ctx.gpr[5] = (0u | 1u);
|
|
if (rt.invoke_chained_direct<&recomp_unit_0127_entry, 127u, 469u, 0x08A02044u>(ctx, &aot_mem) && ctx.pc == 0x08A05870u) goto L_08A05870;
|
|
return;
|
|
L_08A05870:
|
|
ctx.gpr[4] = (ctx.gpr[2] | 0u);
|
|
ctx.gpr[5] = (0u + static_cast<std::uint32_t>(-1));
|
|
{ const bool branch_taken = ctx.gpr[4] == ctx.gpr[5];
|
|
ctx.gpr[5] = (2232u << 16u);
|
|
if (branch_taken) {
|
|
goto L_08A05894;
|
|
}
|
|
goto L_08A05880;
|
|
}
|
|
L_08A05880:
|
|
ctx.gpr[5] = (ctx.gpr[5] + static_cast<std::uint32_t>(5736));
|
|
ctx.gpr[5] = (aot_mem.aot_load32(ctx.gpr[5] + static_cast<std::uint32_t>(100)));
|
|
ctx.gpr[5] = (aot_mem.aot_load16(ctx.gpr[5] + static_cast<std::uint32_t>(52)));
|
|
{ const bool branch_taken = ctx.gpr[4] != ctx.gpr[5];
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_08A05D74;
|
|
}
|
|
goto L_08A05894;
|
|
}
|
|
L_08A05894:
|
|
ctx.gpr[4] = (ctx.gpr[29] + static_cast<std::uint32_t>(64));
|
|
ctx.gpr[5] = (ctx.gpr[16] | 0u);
|
|
ctx.gpr[6] = (0u | 2u);
|
|
ctx.gpr[31] = (0x08A058A8u);
|
|
ctx.gpr[7] = (0u | 1u);
|
|
if (rt.invoke_chained_direct<&recomp_unit_0110_entry, 110u, 717u, 0x089BF724u>(ctx, &aot_mem) && ctx.pc == 0x08A058A8u) goto L_08A058A8;
|
|
return;
|
|
L_08A058A8:
|
|
ctx.gpr[4] = (ctx.gpr[16] | 0u);
|
|
ctx.gpr[31] = (0x08A058B4u);
|
|
ctx.gpr[5] = (0u | 3u);
|
|
if (rt.invoke_chained_direct<&recomp_unit_0065_entry, 65u, 610u, 0x0890B8D0u>(ctx, &aot_mem) && ctx.pc == 0x08A058B4u) goto L_08A058B4;
|
|
return;
|
|
L_08A058B4:
|
|
ctx.gpr[4] = (2230u << 16u);
|
|
ctx.gpr[4] = (aot_mem.aot_load8(ctx.gpr[4] + static_cast<std::uint32_t>(-8108)));
|
|
ctx.fpr[20] = std::bit_cast<float>(std::bit_cast<std::uint32_t>(ctx.fpr[0]));
|
|
ctx.gpr[5] = (ctx.gpr[4] << 7u);
|
|
ctx.gpr[6] = (ctx.gpr[5] + ctx.gpr[5]);
|
|
ctx.gpr[5] = (ctx.gpr[5] + ctx.gpr[6]);
|
|
ctx.gpr[4] = (ctx.gpr[4] << 4u);
|
|
ctx.gpr[16] = (ctx.gpr[5] - ctx.gpr[4]);
|
|
ctx.gpr[4] = (2233u << 16u);
|
|
ctx.gpr[4] = (ctx.gpr[4] + static_cast<std::uint32_t>(-26096));
|
|
ctx.gpr[16] = (ctx.gpr[16] + ctx.gpr[4]);
|
|
aot_mem.aot_store8(ctx.gpr[16] + static_cast<std::uint32_t>(232), static_cast<std::uint8_t>(0u));
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast<std::uint32_t>(0)));
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[4] + static_cast<std::uint32_t>(1332)));
|
|
{ const bool branch_taken = ctx.gpr[4] == 0u;
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_08A05A4C;
|
|
}
|
|
goto L_08A058F4;
|
|
}
|
|
L_08A058F4:
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast<std::uint32_t>(0)));
|
|
ctx.gpr[5] = (aot_mem.aot_load32(ctx.gpr[4] + static_cast<std::uint32_t>(1332)));
|
|
ctx.gpr[5] = (aot_mem.aot_load32(ctx.gpr[5] + static_cast<std::uint32_t>(504)));
|
|
{ const bool branch_taken = ctx.gpr[5] == ctx.gpr[4];
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_08A05920;
|
|
}
|
|
goto L_08A05908;
|
|
}
|
|
L_08A05908:
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast<std::uint32_t>(0)));
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[4] + static_cast<std::uint32_t>(1332)));
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[4] + static_cast<std::uint32_t>(600)));
|
|
ctx.gpr[4] = (ctx.gpr[4] & 1u);
|
|
{ const bool branch_taken = ctx.gpr[4] == 0u;
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_08A05A4C;
|
|
}
|
|
goto L_08A05920;
|
|
}
|
|
L_08A05920:
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast<std::uint32_t>(0)));
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[4] + 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;
|
|
ctx.gpr[17] = (0u | 0u);
|
|
if (branch_taken) {
|
|
goto L_08A05950;
|
|
}
|
|
goto L_08A05934;
|
|
}
|
|
L_08A05934:
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast<std::uint32_t>(0)));
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[4] + static_cast<std::uint32_t>(1332)));
|
|
ctx.gpr[31] = (0x08A05944u);
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[4] + static_cast<std::uint32_t>(504)));
|
|
if (rt.invoke_chained_direct<&recomp_unit_0103_entry, 103u, 841u, 0x089A38A0u>(ctx, &aot_mem) && ctx.pc == 0x08A05944u) goto L_08A05944;
|
|
return;
|
|
L_08A05944:
|
|
{ const bool branch_taken = ctx.gpr[2] == 0u;
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_08A05950;
|
|
}
|
|
goto L_08A0594C;
|
|
}
|
|
L_08A0594C:
|
|
ctx.gpr[17] = (0u | 1u);
|
|
goto L_08A05950;
|
|
L_08A05950:
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast<std::uint32_t>(0)));
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[4] + static_cast<std::uint32_t>(1332)));
|
|
ctx.gpr[4] = (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>(601))))));
|
|
{ const bool branch_taken = static_cast<std::int32_t>(ctx.gpr[4]) < 0;
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_08A05968;
|
|
}
|
|
goto L_08A05964;
|
|
}
|
|
L_08A05964:
|
|
ctx.gpr[17] = (0u | 1u);
|
|
goto L_08A05968;
|
|
L_08A05968:
|
|
{ const bool branch_taken = ctx.gpr[17] != 0u;
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_08A059B8;
|
|
}
|
|
goto L_08A05970;
|
|
}
|
|
L_08A05970:
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast<std::uint32_t>(0)));
|
|
ctx.gpr[31] = (0x08A0597Cu);
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[4] + static_cast<std::uint32_t>(1332)));
|
|
if (rt.invoke_chained_direct<&recomp_unit_0047_entry, 47u, 67u, 0x088C05B0u>(ctx, &aot_mem) && ctx.pc == 0x08A0597Cu) goto L_08A0597C;
|
|
return;
|
|
L_08A0597C:
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast<std::uint32_t>(0)));
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[4] + static_cast<std::uint32_t>(1332)));
|
|
{ const bool branch_taken = ctx.gpr[4] == 0u;
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_08A059B0;
|
|
}
|
|
goto L_08A0598C;
|
|
}
|
|
L_08A0598C:
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast<std::uint32_t>(0)));
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[4] + static_cast<std::uint32_t>(1332)));
|
|
ctx.gpr[5] = (0u | 3u);
|
|
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>(24));
|
|
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[6] = (aot_mem.aot_load32(ctx.gpr[6] + static_cast<std::uint32_t>(4)));
|
|
jump_target = ctx.gpr[6];
|
|
ctx.gpr[31] = (0x08A059B0u);
|
|
ctx.gpr[4] = (ctx.gpr[4] + ctx.gpr[7]);
|
|
ctx.pc = jump_target;
|
|
if (rt.invoke_chained_call(ctx, &aot_mem) && ctx.pc == 0x08A059B0u) goto L_08A059B0;
|
|
return;
|
|
L_08A059B0:
|
|
{ const bool branch_taken = 0u == 0u;
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_08A05A4C;
|
|
}
|
|
goto L_08A059B8;
|
|
}
|
|
L_08A059B8:
|
|
ctx.gpr[4] = (2226u << 16u);
|
|
ctx.gpr[31] = (0x08A059C4u);
|
|
ctx.gpr[4] = (ctx.gpr[4] + static_cast<std::uint32_t>(-432));
|
|
if (rt.invoke_chained_direct<&recomp_unit_0127_entry, 127u, 452u, 0x08A01F34u>(ctx, &aot_mem) && ctx.pc == 0x08A059C4u) goto L_08A059C4;
|
|
return;
|
|
L_08A059C4:
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast<std::uint32_t>(0)));
|
|
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>(1332)));
|
|
aot_mem.aot_store32(ctx.gpr[4] + static_cast<std::uint32_t>(504), 0u);
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast<std::uint32_t>(0)));
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[4] + static_cast<std::uint32_t>(1332)));
|
|
aot_mem.aot_store8(ctx.gpr[4] + static_cast<std::uint32_t>(601), static_cast<std::uint8_t>(ctx.gpr[5]));
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast<std::uint32_t>(0)));
|
|
ctx.gpr[5] = (0u + static_cast<std::uint32_t>(-17));
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[4] + static_cast<std::uint32_t>(1332)));
|
|
ctx.gpr[6] = (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>(599))))));
|
|
ctx.gpr[5] = (ctx.gpr[6] & ctx.gpr[5]);
|
|
aot_mem.aot_store8(ctx.gpr[4] + static_cast<std::uint32_t>(599), static_cast<std::uint8_t>(ctx.gpr[5]));
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast<std::uint32_t>(0)));
|
|
ctx.gpr[5] = (0u + static_cast<std::uint32_t>(-2));
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[4] + static_cast<std::uint32_t>(1332)));
|
|
ctx.gpr[6] = (aot_mem.aot_load32(ctx.gpr[4] + static_cast<std::uint32_t>(600)));
|
|
ctx.gpr[5] = (ctx.gpr[6] & ctx.gpr[5]);
|
|
aot_mem.aot_store32(ctx.gpr[4] + static_cast<std::uint32_t>(600), ctx.gpr[5]);
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast<std::uint32_t>(0)));
|
|
ctx.gpr[5] = (0u | 5u);
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[4] + static_cast<std::uint32_t>(1332)));
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[4] + static_cast<std::uint32_t>(68)));
|
|
ctx.gpr[4] = (ctx.gpr[4] & 496u);
|
|
ctx.gpr[4] = (ctx.gpr[4] >> 4u);
|
|
{ const bool branch_taken = ctx.gpr[4] == ctx.gpr[5];
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_08A05A4C;
|
|
}
|
|
goto L_08A05A30;
|
|
}
|
|
L_08A05A30:
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast<std::uint32_t>(0)));
|
|
ctx.gpr[5] = (0u + static_cast<std::uint32_t>(-497));
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[4] + static_cast<std::uint32_t>(1332)));
|
|
ctx.gpr[6] = (aot_mem.aot_load32(ctx.gpr[4] + static_cast<std::uint32_t>(68)));
|
|
ctx.gpr[5] = (ctx.gpr[6] & ctx.gpr[5]);
|
|
ctx.gpr[5] = (ctx.gpr[5] | 64u);
|
|
aot_mem.aot_store32(ctx.gpr[4] + static_cast<std::uint32_t>(68), ctx.gpr[5]);
|
|
goto L_08A05A4C;
|
|
L_08A05A4C:
|
|
ctx.gpr[4] = (2232u << 16u);
|
|
ctx.fpr[12] = std::bit_cast<float>(0u);
|
|
ctx.gpr[17] = (ctx.gpr[4] + static_cast<std::uint32_t>(12960));
|
|
aot_mem.aot_store32(ctx.gpr[17] + static_cast<std::uint32_t>(284), std::bit_cast<std::uint32_t>(ctx.fpr[12]));
|
|
ctx.gpr[31] = (0x08A05A64u);
|
|
ctx.gpr[4] = (ctx.gpr[17] + static_cast<std::uint32_t>(7128));
|
|
if (rt.invoke_chained_direct<&recomp_unit_0057_entry, 57u, 376u, 0x088EA098u>(ctx, &aot_mem) && ctx.pc == 0x08A05A64u) goto L_08A05A64;
|
|
return;
|
|
L_08A05A64:
|
|
ctx.gpr[4] = (0u | 1u);
|
|
aot_mem.aot_store8(ctx.gpr[17] + static_cast<std::uint32_t>(84), static_cast<std::uint8_t>(ctx.gpr[4]));
|
|
aot_mem.aot_store8(ctx.gpr[17] + static_cast<std::uint32_t>(82), static_cast<std::uint8_t>(ctx.gpr[4]));
|
|
ctx.gpr[4] = (2230u << 16u);
|
|
ctx.gpr[31] = (0x08A05A7Cu);
|
|
ctx.gpr[4] = (aot_mem.aot_load8(ctx.gpr[4] + static_cast<std::uint32_t>(-8108)));
|
|
if (rt.invoke_chained_direct<&recomp_unit_0164_entry, 164u, 524u, 0x08A964B8u>(ctx, &aot_mem) && ctx.pc == 0x08A05A7Cu) goto L_08A05A7C;
|
|
return;
|
|
L_08A05A7C:
|
|
aot_mem.aot_store16(ctx.gpr[2] + static_cast<std::uint32_t>(134), static_cast<std::uint16_t>(0u));
|
|
ctx.fpr[12] = std::bit_cast<float>(aot_mem.aot_load32(ctx.gpr[29] + static_cast<std::uint32_t>(72)));
|
|
ctx.gpr[4] = (49864u << 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_08A05AAC;
|
|
}
|
|
goto L_08A05A9C;
|
|
}
|
|
L_08A05A9C:
|
|
ctx.fpr[12] = std::bit_cast<float>(aot_mem.aot_load32(ctx.gpr[29] + static_cast<std::uint32_t>(64)));
|
|
ctx.gpr[31] = (0x08A05AA8u);
|
|
ctx.fpr[13] = std::bit_cast<float>(aot_mem.aot_load32(ctx.gpr[29] + static_cast<std::uint32_t>(68)));
|
|
if (rt.invoke_chained_direct<&recomp_unit_0047_entry, 47u, 448u, 0x088C2F00u>(ctx, &aot_mem) && ctx.pc == 0x08A05AA8u) goto L_08A05AA8;
|
|
return;
|
|
L_08A05AA8:
|
|
aot_mem.aot_store32(ctx.gpr[29] + static_cast<std::uint32_t>(72), std::bit_cast<std::uint32_t>(ctx.fpr[0]));
|
|
goto L_08A05AAC;
|
|
L_08A05AAC:
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast<std::uint32_t>(0)));
|
|
ctx.gpr[5] = (ctx.gpr[29] + static_cast<std::uint32_t>(64));
|
|
{ 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] = (0x08A05AC8u);
|
|
ctx.fpr[12] = std::bit_cast<float>(std::bit_cast<std::uint32_t>(ctx.fpr[20]));
|
|
if (rt.invoke_chained_direct<&recomp_unit_0162_entry, 162u, 338u, 0x08A8D8A0u>(ctx, &aot_mem) && ctx.pc == 0x08A05AC8u) goto L_08A05AC8;
|
|
return;
|
|
L_08A05AC8:
|
|
aot_mem.aot_store8(ctx.gpr[16] + static_cast<std::uint32_t>(232), static_cast<std::uint8_t>(0u));
|
|
ctx.gpr[4] = (2232u << 16u);
|
|
ctx.gpr[31] = (0x08A05AD8u);
|
|
ctx.gpr[4] = (ctx.gpr[4] + static_cast<std::uint32_t>(5736));
|
|
if (rt.invoke_chained_direct<&recomp_unit_0041_entry, 41u, 86u, 0x088A84B4u>(ctx, &aot_mem) && ctx.pc == 0x08A05AD8u) goto L_08A05AD8;
|
|
return;
|
|
L_08A05AD8:
|
|
ctx.gpr[4] = (ctx.gpr[2] | 0u);
|
|
ctx.gpr[5] = (static_cast<std::int32_t>(ctx.gpr[4]) < 2 ? 1u : 0u);
|
|
{ const bool branch_taken = ctx.gpr[5] == 0u;
|
|
ctx.gpr[5] = (0u | 4u);
|
|
if (branch_taken) {
|
|
goto L_08A05B30;
|
|
}
|
|
goto L_08A05AE8;
|
|
}
|
|
L_08A05AE8:
|
|
{ const bool branch_taken = static_cast<std::int32_t>(ctx.gpr[4]) <= 0;
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_08A05B9C;
|
|
}
|
|
goto L_08A05AF0;
|
|
}
|
|
L_08A05AF0:
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast<std::uint32_t>(0)));
|
|
ctx.gpr[5] = (0u | 22u);
|
|
ctx.gpr[6] = (0u | 200u);
|
|
ctx.gpr[31] = (0x08A05B04u);
|
|
ctx.gpr[7] = (0u | 1u);
|
|
if (rt.invoke_chained_direct<&recomp_unit_0102_entry, 102u, 612u, 0x0899F3A8u>(ctx, &aot_mem) && ctx.pc == 0x08A05B04u) goto L_08A05B04;
|
|
return;
|
|
L_08A05B04:
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast<std::uint32_t>(0)));
|
|
ctx.gpr[5] = (0u | 30u);
|
|
ctx.gpr[6] = (0u | 10u);
|
|
ctx.gpr[31] = (0x08A05B18u);
|
|
ctx.gpr[7] = (0u | 1u);
|
|
if (rt.invoke_chained_direct<&recomp_unit_0102_entry, 102u, 612u, 0x0899F3A8u>(ctx, &aot_mem) && ctx.pc == 0x08A05B18u) goto L_08A05B18;
|
|
return;
|
|
L_08A05B18:
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast<std::uint32_t>(0)));
|
|
ctx.gpr[31] = (0x08A05B24u);
|
|
ctx.gpr[5] = (0u | 22u);
|
|
if (rt.invoke_chained_direct<&recomp_unit_0102_entry, 102u, 609u, 0x0899F378u>(ctx, &aot_mem) && ctx.pc == 0x08A05B24u) goto L_08A05B24;
|
|
return;
|
|
L_08A05B24:
|
|
{ const bool branch_taken = 0u == 0u;
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast<std::uint32_t>(0)));
|
|
if (branch_taken) {
|
|
goto L_08A05BC0;
|
|
}
|
|
goto L_08A05B2C;
|
|
}
|
|
L_08A05B2C:
|
|
ctx.gpr[5] = (0u | 4u);
|
|
goto L_08A05B30;
|
|
L_08A05B30:
|
|
{ const bool branch_taken = ctx.gpr[4] != ctx.gpr[5];
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_08A05B9C;
|
|
}
|
|
goto L_08A05B38;
|
|
}
|
|
L_08A05B38:
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast<std::uint32_t>(0)));
|
|
ctx.gpr[5] = (0u | 22u);
|
|
ctx.gpr[6] = (0u | 50u);
|
|
ctx.gpr[31] = (0x08A05B4Cu);
|
|
ctx.gpr[7] = (0u | 1u);
|
|
if (rt.invoke_chained_direct<&recomp_unit_0102_entry, 102u, 612u, 0x0899F3A8u>(ctx, &aot_mem) && ctx.pc == 0x08A05B4Cu) goto L_08A05B4C;
|
|
return;
|
|
L_08A05B4C:
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast<std::uint32_t>(0)));
|
|
ctx.gpr[5] = (0u | 19u);
|
|
ctx.gpr[6] = (0u | 10u);
|
|
ctx.gpr[31] = (0x08A05B60u);
|
|
ctx.gpr[7] = (0u | 1u);
|
|
if (rt.invoke_chained_direct<&recomp_unit_0102_entry, 102u, 612u, 0x0899F3A8u>(ctx, &aot_mem) && ctx.pc == 0x08A05B60u) goto L_08A05B60;
|
|
return;
|
|
L_08A05B60:
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast<std::uint32_t>(0)));
|
|
ctx.gpr[5] = (0u | 12u);
|
|
ctx.gpr[6] = (0u | 1u);
|
|
ctx.gpr[31] = (0x08A05B74u);
|
|
ctx.gpr[7] = (0u | 1u);
|
|
if (rt.invoke_chained_direct<&recomp_unit_0102_entry, 102u, 612u, 0x0899F3A8u>(ctx, &aot_mem) && ctx.pc == 0x08A05B74u) goto L_08A05B74;
|
|
return;
|
|
L_08A05B74:
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast<std::uint32_t>(0)));
|
|
ctx.gpr[5] = (0u | 30u);
|
|
ctx.gpr[6] = (0u | 1u);
|
|
ctx.gpr[31] = (0x08A05B88u);
|
|
ctx.gpr[7] = (0u | 1u);
|
|
if (rt.invoke_chained_direct<&recomp_unit_0102_entry, 102u, 612u, 0x0899F3A8u>(ctx, &aot_mem) && ctx.pc == 0x08A05B88u) goto L_08A05B88;
|
|
return;
|
|
L_08A05B88:
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast<std::uint32_t>(0)));
|
|
ctx.gpr[31] = (0x08A05B94u);
|
|
ctx.gpr[5] = (0u | 30u);
|
|
if (rt.invoke_chained_direct<&recomp_unit_0102_entry, 102u, 609u, 0x0899F378u>(ctx, &aot_mem) && ctx.pc == 0x08A05B94u) goto L_08A05B94;
|
|
return;
|
|
L_08A05B94:
|
|
{ const bool branch_taken = 0u == 0u;
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast<std::uint32_t>(0)));
|
|
if (branch_taken) {
|
|
goto L_08A05BC0;
|
|
}
|
|
goto L_08A05B9C;
|
|
}
|
|
L_08A05B9C:
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast<std::uint32_t>(0)));
|
|
ctx.gpr[5] = (0u | 22u);
|
|
ctx.gpr[6] = (0u | 50u);
|
|
ctx.gpr[31] = (0x08A05BB0u);
|
|
ctx.gpr[7] = (0u | 1u);
|
|
if (rt.invoke_chained_direct<&recomp_unit_0102_entry, 102u, 612u, 0x0899F3A8u>(ctx, &aot_mem) && ctx.pc == 0x08A05BB0u) goto L_08A05BB0;
|
|
return;
|
|
L_08A05BB0:
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast<std::uint32_t>(0)));
|
|
ctx.gpr[31] = (0x08A05BBCu);
|
|
ctx.gpr[5] = (0u | 22u);
|
|
if (rt.invoke_chained_direct<&recomp_unit_0102_entry, 102u, 609u, 0x0899F378u>(ctx, &aot_mem) && ctx.pc == 0x08A05BBCu) goto L_08A05BBC;
|
|
return;
|
|
L_08A05BBC:
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast<std::uint32_t>(0)));
|
|
goto L_08A05BC0;
|
|
L_08A05BC0:
|
|
ctx.gpr[5] = (65504u << 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>(0)));
|
|
ctx.gpr[5] = (0u + static_cast<std::uint32_t>(-1));
|
|
ctx.gpr[31] = (0x08A05BE4u);
|
|
aot_mem.aot_store8(ctx.gpr[4] + static_cast<std::uint32_t>(1826), static_cast<std::uint8_t>(ctx.gpr[5]));
|
|
if (rt.invoke_chained_direct<&recomp_unit_0116_entry, 116u, 198u, 0x089D596Cu>(ctx, &aot_mem) && ctx.pc == 0x08A05BE4u) goto L_08A05BE4;
|
|
return;
|
|
L_08A05BE4:
|
|
ctx.gpr[31] = (0x08A05BECu);
|
|
ctx.gpr[4] = (ctx.gpr[2] | 0u);
|
|
if (rt.invoke_chained_direct<&recomp_unit_0080_entry, 80u, 361u, 0x0894583Cu>(ctx, &aot_mem) && ctx.pc == 0x08A05BECu) goto L_08A05BEC;
|
|
return;
|
|
L_08A05BEC:
|
|
ctx.gpr[31] = (0x08A05BF4u);
|
|
// nop
|
|
if (rt.invoke_chained_direct<&recomp_unit_0116_entry, 116u, 198u, 0x089D596Cu>(ctx, &aot_mem) && ctx.pc == 0x08A05BF4u) goto L_08A05BF4;
|
|
return;
|
|
L_08A05BF4:
|
|
ctx.gpr[31] = (0x08A05BFCu);
|
|
ctx.gpr[4] = (ctx.gpr[2] | 0u);
|
|
if (rt.invoke_chained_direct<&recomp_unit_0102_entry, 102u, 778u, 0x0899FE78u>(ctx, &aot_mem) && ctx.pc == 0x08A05BFCu) goto L_08A05BFC;
|
|
return;
|
|
L_08A05BFC:
|
|
ctx.gpr[31] = (0x08A05C04u);
|
|
ctx.gpr[4] = (0u | 0u);
|
|
if (rt.invoke_chained_direct<&recomp_unit_0164_entry, 164u, 524u, 0x08A964B8u>(ctx, &aot_mem) && ctx.pc == 0x08A05C04u) goto L_08A05C04;
|
|
return;
|
|
L_08A05C04:
|
|
ctx.gpr[4] = (ctx.gpr[2] | 0u);
|
|
ctx.gpr[31] = (0x08A05C10u);
|
|
ctx.gpr[5] = (0u | 1u);
|
|
if (rt.invoke_chained_direct<&recomp_unit_0164_entry, 164u, 643u, 0x08A96BF4u>(ctx, &aot_mem) && ctx.pc == 0x08A05C10u) goto L_08A05C10;
|
|
return;
|
|
L_08A05C10:
|
|
ctx.gpr[4] = (2226u << 16u);
|
|
ctx.gpr[31] = (0x08A05C1Cu);
|
|
ctx.gpr[4] = (ctx.gpr[4] + static_cast<std::uint32_t>(-392));
|
|
if (rt.invoke_chained_direct<&recomp_unit_0189_entry, 189u, 382u, 0x08AF9A9Cu>(ctx, &aot_mem) && ctx.pc == 0x08A05C1Cu) goto L_08A05C1C;
|
|
return;
|
|
L_08A05C1C:
|
|
ctx.gpr[4] = (2226u << 16u);
|
|
ctx.fpr[12] = std::bit_cast<float>(aot_mem.aot_load32(ctx.gpr[29] + static_cast<std::uint32_t>(64)));
|
|
ctx.gpr[31] = (0x08A05C2Cu);
|
|
ctx.gpr[17] = (ctx.gpr[4] + static_cast<std::uint32_t>(-360));
|
|
if (rt.invoke_chained_direct<&recomp_unit_0188_entry, 188u, 387u, 0x08AF5E68u>(ctx, &aot_mem) && ctx.pc == 0x08A05C2Cu) goto L_08A05C2C;
|
|
return;
|
|
L_08A05C2C:
|
|
ctx.gpr[19] = (ctx.gpr[3] | 0u);
|
|
ctx.gpr[18] = (ctx.gpr[2] | 0u);
|
|
ctx.gpr[31] = (0x08A05C3Cu);
|
|
ctx.fpr[12] = std::bit_cast<float>(aot_mem.aot_load32(ctx.gpr[29] + static_cast<std::uint32_t>(68)));
|
|
if (rt.invoke_chained_direct<&recomp_unit_0188_entry, 188u, 387u, 0x08AF5E68u>(ctx, &aot_mem) && ctx.pc == 0x08A05C3Cu) goto L_08A05C3C;
|
|
return;
|
|
L_08A05C3C:
|
|
ctx.gpr[21] = (ctx.gpr[3] | 0u);
|
|
ctx.gpr[20] = (ctx.gpr[2] | 0u);
|
|
ctx.gpr[31] = (0x08A05C4Cu);
|
|
ctx.fpr[12] = std::bit_cast<float>(aot_mem.aot_load32(ctx.gpr[29] + static_cast<std::uint32_t>(72)));
|
|
if (rt.invoke_chained_direct<&recomp_unit_0188_entry, 188u, 387u, 0x08AF5E68u>(ctx, &aot_mem) && ctx.pc == 0x08A05C4Cu) goto L_08A05C4C;
|
|
return;
|
|
L_08A05C4C:
|
|
ctx.gpr[7] = (ctx.gpr[19] | 0u);
|
|
ctx.gpr[6] = (ctx.gpr[18] | 0u);
|
|
ctx.gpr[4] = (ctx.gpr[17] | 0u);
|
|
ctx.gpr[9] = (ctx.gpr[21] | 0u);
|
|
ctx.gpr[8] = (ctx.gpr[20] | 0u);
|
|
ctx.gpr[11] = (ctx.gpr[3] | 0u);
|
|
ctx.gpr[31] = (0x08A05C6Cu);
|
|
ctx.gpr[10] = (ctx.gpr[2] | 0u);
|
|
if (rt.invoke_chained_direct<&recomp_unit_0127_entry, 127u, 452u, 0x08A01F34u>(ctx, &aot_mem) && ctx.pc == 0x08A05C6Cu) goto L_08A05C6C;
|
|
return;
|
|
L_08A05C6C:
|
|
ctx.gpr[31] = (0x08A05C74u);
|
|
// nop
|
|
if (rt.invoke_chained_direct<&recomp_unit_0069_entry, 69u, 754u, 0x0891B6F8u>(ctx, &aot_mem) && ctx.pc == 0x08A05C74u) goto L_08A05C74;
|
|
return;
|
|
L_08A05C74:
|
|
ctx.gpr[4] = (2230u << 16u);
|
|
ctx.gpr[17] = (ctx.gpr[4] + static_cast<std::uint32_t>(-8107));
|
|
ctx.gpr[4] = (ctx.gpr[17] | 0u);
|
|
ctx.gpr[31] = (0x08A05C88u);
|
|
ctx.gpr[5] = (0u | 0u);
|
|
if (rt.invoke_chained_direct<&recomp_unit_0024_entry, 24u, 114u, 0x08864830u>(ctx, &aot_mem) && ctx.pc == 0x08A05C88u) goto L_08A05C88;
|
|
return;
|
|
L_08A05C88:
|
|
ctx.gpr[31] = (0x08A05C90u);
|
|
// nop
|
|
if (rt.invoke_chained_direct<&recomp_unit_0164_entry, 164u, 540u, 0x08A96588u>(ctx, &aot_mem) && ctx.pc == 0x08A05C90u) goto L_08A05C90;
|
|
return;
|
|
L_08A05C90:
|
|
ctx.gpr[31] = (0x08A05C98u);
|
|
ctx.gpr[4] = (ctx.gpr[17] | 0u);
|
|
if (rt.invoke_chained_direct<&recomp_unit_0024_entry, 24u, 94u, 0x088646F8u>(ctx, &aot_mem) && ctx.pc == 0x08A05C98u) goto L_08A05C98;
|
|
return;
|
|
L_08A05C98:
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast<std::uint32_t>(0)));
|
|
ctx.gpr[31] = (0x08A05CA4u);
|
|
ctx.gpr[4] = (ctx.gpr[4] + static_cast<std::uint32_t>(48));
|
|
if (rt.invoke_chained_direct<&recomp_unit_0112_entry, 112u, 611u, 0x089C6978u>(ctx, &aot_mem) && ctx.pc == 0x08A05CA4u) goto L_08A05CA4;
|
|
return;
|
|
L_08A05CA4:
|
|
ctx.gpr[31] = (0x08A05CACu);
|
|
// nop
|
|
if (rt.invoke_chained_direct<&recomp_unit_0069_entry, 69u, 756u, 0x0891B71Cu>(ctx, &aot_mem) && ctx.pc == 0x08A05CACu) goto L_08A05CAC;
|
|
return;
|
|
L_08A05CAC:
|
|
ctx.gpr[4] = (ctx.gpr[17] | 0u);
|
|
ctx.gpr[31] = (0x08A05CB8u);
|
|
ctx.gpr[5] = (0u | 127u);
|
|
if (rt.invoke_chained_direct<&recomp_unit_0024_entry, 24u, 114u, 0x08864830u>(ctx, &aot_mem) && ctx.pc == 0x08A05CB8u) goto L_08A05CB8;
|
|
return;
|
|
L_08A05CB8:
|
|
ctx.gpr[4] = (2226u << 16u);
|
|
ctx.gpr[31] = (0x08A05CC4u);
|
|
ctx.gpr[4] = (ctx.gpr[4] + static_cast<std::uint32_t>(-332));
|
|
if (rt.invoke_chained_direct<&recomp_unit_0189_entry, 189u, 382u, 0x08AF9A9Cu>(ctx, &aot_mem) && ctx.pc == 0x08A05CC4u) goto L_08A05CC4;
|
|
return;
|
|
L_08A05CC4:
|
|
ctx.gpr[4] = (2232u << 16u);
|
|
ctx.gpr[16] = (ctx.gpr[4] + static_cast<std::uint32_t>(12960));
|
|
ctx.gpr[4] = (ctx.gpr[16] | 0u);
|
|
ctx.gpr[31] = (0x08A05CD8u);
|
|
ctx.gpr[5] = (0u | 0u);
|
|
if (rt.invoke_chained_direct<&recomp_unit_0058_entry, 58u, 252u, 0x088EDCCCu>(ctx, &aot_mem) && ctx.pc == 0x08A05CD8u) goto L_08A05CD8;
|
|
return;
|
|
L_08A05CD8:
|
|
ctx.gpr[31] = (0x08A05CE0u);
|
|
ctx.gpr[4] = (ctx.gpr[16] | 0u);
|
|
if (rt.invoke_chained_direct<&recomp_unit_0063_entry, 63u, 215u, 0x08900D14u>(ctx, &aot_mem) && ctx.pc == 0x08A05CE0u) goto L_08A05CE0;
|
|
return;
|
|
L_08A05CE0:
|
|
ctx.gpr[4] = (ctx.gpr[16] | 0u);
|
|
ctx.gpr[5] = (0u | 0u);
|
|
ctx.gpr[6] = (0u | 0u);
|
|
ctx.gpr[31] = (0x08A05CF4u);
|
|
ctx.gpr[7] = (0u | 0u);
|
|
if (rt.invoke_chained_direct<&recomp_unit_0058_entry, 58u, 390u, 0x088EE848u>(ctx, &aot_mem) && ctx.pc == 0x08A05CF4u) goto L_08A05CF4;
|
|
return;
|
|
L_08A05CF4:
|
|
ctx.fpr[12] = std::bit_cast<float>(0u);
|
|
ctx.gpr[4] = (ctx.gpr[16] | 0u);
|
|
ctx.gpr[31] = (0x08A05D04u);
|
|
ctx.gpr[5] = (0u | 0u);
|
|
if (rt.invoke_chained_direct<&recomp_unit_0058_entry, 58u, 401u, 0x088EE920u>(ctx, &aot_mem) && ctx.pc == 0x08A05D04u) goto L_08A05D04;
|
|
return;
|
|
L_08A05D04:
|
|
ctx.gpr[31] = (0x08A05D0Cu);
|
|
ctx.gpr[4] = (ctx.gpr[16] | 0u);
|
|
if (rt.invoke_chained_direct<&recomp_unit_0058_entry, 58u, 438u, 0x088EED08u>(ctx, &aot_mem) && ctx.pc == 0x08A05D0Cu) goto L_08A05D0C;
|
|
return;
|
|
L_08A05D0C:
|
|
ctx.gpr[6] = (16256u << 16u);
|
|
ctx.gpr[4] = (ctx.gpr[16] | 0u);
|
|
ctx.fpr[12] = std::bit_cast<float>(ctx.gpr[6]);
|
|
ctx.gpr[31] = (0x08A05D20u);
|
|
ctx.gpr[5] = (0u | 1u);
|
|
if (rt.invoke_chained_direct<&recomp_unit_0058_entry, 58u, 401u, 0x088EE920u>(ctx, &aot_mem) && ctx.pc == 0x08A05D20u) goto L_08A05D20;
|
|
return;
|
|
L_08A05D20:
|
|
ctx.gpr[5] = (2230u << 16u);
|
|
ctx.gpr[4] = (0u | 3u);
|
|
ctx.gpr[5] = (aot_mem.aot_load8(ctx.gpr[5] + static_cast<std::uint32_t>(-7202)));
|
|
aot_mem.aot_store16(ctx.gpr[29] + static_cast<std::uint32_t>(80), static_cast<std::uint16_t>(ctx.gpr[4]));
|
|
ctx.gpr[4] = (2232u << 16u);
|
|
aot_mem.aot_store8(ctx.gpr[29] + static_cast<std::uint32_t>(82), static_cast<std::uint8_t>(ctx.gpr[5]));
|
|
ctx.gpr[16] = (ctx.gpr[4] + static_cast<std::uint32_t>(5736));
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast<std::uint32_t>(100)));
|
|
ctx.gpr[17] = (ctx.gpr[29] + static_cast<std::uint32_t>(80));
|
|
ctx.gpr[5] = (aot_mem.aot_load16(ctx.gpr[4] + static_cast<std::uint32_t>(52)));
|
|
aot_mem.aot_store16(ctx.gpr[29] + static_cast<std::uint32_t>(48), static_cast<std::uint16_t>(0u));
|
|
ctx.gpr[6] = (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>(48))))));
|
|
ctx.gpr[4] = (ctx.gpr[17] | 0u);
|
|
ctx.gpr[31] = (0x08A05D5Cu);
|
|
ctx.gpr[7] = (0u | 1u);
|
|
if (rt.invoke_chained_direct<&recomp_unit_0140_entry, 140u, 285u, 0x08A35CCCu>(ctx, &aot_mem) && ctx.pc == 0x08A05D5Cu) goto L_08A05D5C;
|
|
return;
|
|
L_08A05D5C:
|
|
ctx.gpr[4] = (ctx.gpr[16] | 0u);
|
|
ctx.gpr[5] = (ctx.gpr[17] | 0u);
|
|
ctx.gpr[31] = (0x08A05D6Cu);
|
|
ctx.gpr[6] = (0u + static_cast<std::uint32_t>(-1));
|
|
if (rt.invoke_chained_direct<&recomp_unit_0041_entry, 41u, 138u, 0x088A87C4u>(ctx, &aot_mem) && ctx.pc == 0x08A05D6Cu) goto L_08A05D6C;
|
|
return;
|
|
L_08A05D6C:
|
|
{ const bool branch_taken = 0u == 0u;
|
|
ctx.gpr[2] = (0u | 0u);
|
|
if (branch_taken) {
|
|
goto L_08A05D78;
|
|
}
|
|
goto L_08A05D74;
|
|
}
|
|
L_08A05D74:
|
|
ctx.gpr[2] = (0u | 0u);
|
|
goto L_08A05D78;
|
|
L_08A05D78:
|
|
ctx.fpr[20] = std::bit_cast<float>(aot_mem.aot_load32(ctx.gpr[29] + static_cast<std::uint32_t>(84)));
|
|
ctx.gpr[16] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast<std::uint32_t>(88)));
|
|
ctx.gpr[17] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast<std::uint32_t>(92)));
|
|
ctx.gpr[18] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast<std::uint32_t>(96)));
|
|
ctx.gpr[19] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast<std::uint32_t>(100)));
|
|
ctx.gpr[20] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast<std::uint32_t>(104)));
|
|
ctx.gpr[21] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast<std::uint32_t>(108)));
|
|
ctx.gpr[31] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast<std::uint32_t>(112)));
|
|
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_08A05DA0:
|
|
ctx.gpr[29] = (ctx.gpr[29] + static_cast<std::uint32_t>(-16));
|
|
ctx.gpr[4] = (2229u << 16u);
|
|
ctx.fpr[12] = std::bit_cast<float>(aot_mem.aot_load32(ctx.gpr[4] + static_cast<std::uint32_t>(-16124)));
|
|
ctx.gpr[4] = (16256u << 16u);
|
|
ctx.fpr[13] = std::bit_cast<float>(ctx.gpr[4]);
|
|
ctx.gpr[5] = (2229u << 16u);
|
|
ctx.gpr[4] = (17096u << 16u);
|
|
ctx.fpr[14] = ctx.fpr[13] / ctx.fpr[12];
|
|
ctx.fpr[15] = std::bit_cast<float>(aot_mem.aot_load32(ctx.gpr[5] + static_cast<std::uint32_t>(-16128)));
|
|
ctx.fpr[16] = std::bit_cast<float>(ctx.gpr[4]);
|
|
ctx.fpr[15] = ctx.fpr[16] / ctx.fpr[15];
|
|
{ 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] = (16014u << 16u);
|
|
ctx.gpr[5] = (ctx.gpr[5] | 14571u);
|
|
ctx.fpr[16] = std::bit_cast<float>(ctx.gpr[5]);
|
|
ctx.fpr[12] = ctx.fpr[16] / ctx.fpr[12];
|
|
ctx.gpr[12] = (2229u << 16u);
|
|
ctx.gpr[6] = (2229u << 16u);
|
|
aot_mem.aot_store32(ctx.gpr[12] + static_cast<std::uint32_t>(-16120), std::bit_cast<std::uint32_t>(ctx.fpr[14]));
|
|
ctx.gpr[12] = (aot_mem.aot_load8(ctx.gpr[6] + static_cast<std::uint32_t>(-29504)));
|
|
ctx.gpr[8] = (2229u << 16u);
|
|
aot_mem.aot_store32(ctx.gpr[29] + static_cast<std::uint32_t>(8), ctx.gpr[18]);
|
|
ctx.fpr[14] = std::bit_cast<float>(aot_mem.aot_load32(ctx.gpr[8] + static_cast<std::uint32_t>(-16100)));
|
|
ctx.gpr[18] = (ctx.gpr[12] + static_cast<std::uint32_t>(1));
|
|
ctx.gpr[7] = (2230u << 16u);
|
|
aot_mem.aot_store8(ctx.gpr[6] + static_cast<std::uint32_t>(-29504), static_cast<std::uint8_t>(ctx.gpr[18]));
|
|
aot_mem.aot_store8(ctx.gpr[7] + static_cast<std::uint32_t>(-6239), static_cast<std::uint8_t>(ctx.gpr[12]));
|
|
ctx.gpr[8] = (aot_mem.aot_load8(ctx.gpr[6] + static_cast<std::uint32_t>(-29504)));
|
|
ctx.gpr[7] = (aot_mem.aot_load8(ctx.gpr[7] + static_cast<std::uint32_t>(-6239)));
|
|
ctx.gpr[12] = (ctx.gpr[8] + static_cast<std::uint32_t>(1));
|
|
aot_mem.aot_store32(ctx.gpr[29] + static_cast<std::uint32_t>(4), ctx.gpr[17]);
|
|
ctx.gpr[3] = (2232u << 16u);
|
|
ctx.gpr[17] = (2229u << 16u);
|
|
aot_mem.aot_store8(ctx.gpr[6] + static_cast<std::uint32_t>(-29504), static_cast<std::uint8_t>(ctx.gpr[12]));
|
|
ctx.gpr[9] = (2230u << 16u);
|
|
ctx.gpr[13] = (2226u << 16u);
|
|
ctx.gpr[3] = (ctx.gpr[3] + static_cast<std::uint32_t>(6008));
|
|
ctx.gpr[7] = (ctx.gpr[7] << 2u);
|
|
aot_mem.aot_store32(ctx.gpr[17] + static_cast<std::uint32_t>(-16112), std::bit_cast<std::uint32_t>(ctx.fpr[13]));
|
|
ctx.gpr[13] = (ctx.gpr[13] + static_cast<std::uint32_t>(-292));
|
|
ctx.gpr[7] = (ctx.gpr[7] + ctx.gpr[3]);
|
|
aot_mem.aot_store8(ctx.gpr[9] + static_cast<std::uint32_t>(-6238), static_cast<std::uint8_t>(ctx.gpr[8]));
|
|
aot_mem.aot_store32(ctx.gpr[7] + static_cast<std::uint32_t>(0), ctx.gpr[13]);
|
|
ctx.gpr[7] = (aot_mem.aot_load8(ctx.gpr[9] + static_cast<std::uint32_t>(-6238)));
|
|
ctx.gpr[15] = (2229u << 16u);
|
|
ctx.gpr[5] = (aot_mem.aot_load8(ctx.gpr[6] + static_cast<std::uint32_t>(-29504)));
|
|
ctx.gpr[10] = (16672u << 16u);
|
|
aot_mem.aot_store32(ctx.gpr[15] + static_cast<std::uint32_t>(-16116), std::bit_cast<std::uint32_t>(ctx.fpr[15]));
|
|
ctx.gpr[2] = (2230u << 16u);
|
|
ctx.fpr[15] = std::bit_cast<float>(ctx.gpr[10]);
|
|
ctx.gpr[14] = (2226u << 16u);
|
|
ctx.gpr[7] = (ctx.gpr[7] << 2u);
|
|
{ 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.gpr[11] = (15744u << 16u);
|
|
ctx.gpr[8] = (ctx.gpr[14] + static_cast<std::uint32_t>(-276));
|
|
ctx.gpr[7] = (ctx.gpr[7] + ctx.gpr[3]);
|
|
aot_mem.aot_store8(ctx.gpr[2] + static_cast<std::uint32_t>(-6237), static_cast<std::uint8_t>(ctx.gpr[5]));
|
|
ctx.fpr[16] = std::bit_cast<float>(ctx.gpr[11]);
|
|
aot_mem.aot_store32(ctx.gpr[7] + static_cast<std::uint32_t>(0), ctx.gpr[8]);
|
|
{ const float fs = ctx.fpr[14]; const float ft = ctx.fpr[16]; 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[5] = (ctx.gpr[5] + static_cast<std::uint32_t>(1));
|
|
ctx.gpr[7] = (aot_mem.aot_load8(ctx.gpr[2] + static_cast<std::uint32_t>(-6237)));
|
|
ctx.gpr[24] = (2229u << 16u);
|
|
aot_mem.aot_store8(ctx.gpr[6] + static_cast<std::uint32_t>(-29504), static_cast<std::uint8_t>(ctx.gpr[5]));
|
|
ctx.gpr[25] = (2229u << 16u);
|
|
aot_mem.aot_store32(ctx.gpr[24] + static_cast<std::uint32_t>(-16108), std::bit_cast<std::uint32_t>(ctx.fpr[13]));
|
|
aot_mem.aot_store32(ctx.gpr[29] + static_cast<std::uint32_t>(0), ctx.gpr[16]);
|
|
ctx.gpr[4] = (2226u << 16u);
|
|
ctx.gpr[16] = (2229u << 16u);
|
|
ctx.gpr[5] = (ctx.gpr[7] << 2u);
|
|
aot_mem.aot_store32(ctx.gpr[25] + static_cast<std::uint32_t>(-16104), std::bit_cast<std::uint32_t>(ctx.fpr[12]));
|
|
ctx.gpr[4] = (ctx.gpr[4] + static_cast<std::uint32_t>(-264));
|
|
ctx.gpr[5] = (ctx.gpr[5] + ctx.gpr[3]);
|
|
aot_mem.aot_store32(ctx.gpr[16] + static_cast<std::uint32_t>(-16096), std::bit_cast<std::uint32_t>(ctx.fpr[14]));
|
|
aot_mem.aot_store32(ctx.gpr[5] + static_cast<std::uint32_t>(0), ctx.gpr[4]);
|
|
ctx.gpr[16] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast<std::uint32_t>(0)));
|
|
ctx.gpr[17] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast<std::uint32_t>(4)));
|
|
ctx.gpr[18] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast<std::uint32_t>(8)));
|
|
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_08A05EE4:
|
|
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);
|
|
aot_mem.aot_store32(ctx.gpr[29] + static_cast<std::uint32_t>(20), ctx.gpr[31]);
|
|
ctx.gpr[31] = (0x08A05EFCu);
|
|
aot_mem.aot_store32(ctx.gpr[16] + static_cast<std::uint32_t>(64), 0u);
|
|
goto L_08A06A44;
|
|
L_08A05EFC:
|
|
ctx.gpr[2] = (ctx.gpr[16] | 0u);
|
|
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_08A05F10:
|
|
ctx.gpr[5] = (std::bit_cast<std::uint32_t>(ctx.fpr[12]));
|
|
ctx.set_vfpu_scalar_bits_ct<0u>(ctx.gpr[5]);
|
|
{ const float vfpu_constant = std::bit_cast<float>(0x3F22F983u);
|
|
const float vfpu_value[4]{vfpu_constant, vfpu_constant, vfpu_constant, vfpu_constant};
|
|
ctx.write_vfpu_vector_with_destination_prefix_ct<32u, 1u>(vfpu_value); }
|
|
{ float vfpu_s[4]{}, vfpu_t[4]{}, vfpu_d[4]{};
|
|
ctx.read_vfpu_vector_with_source_prefix_ct<0u, 1u, 0u>(vfpu_s);
|
|
ctx.read_vfpu_vector_with_source_prefix_ct<32u, 1u, 1u>(vfpu_t);
|
|
for (std::uint32_t i = 0; i < 1u; ++i) vfpu_d[i] = vfpu_s[i] * vfpu_t[i];
|
|
ctx.write_vfpu_vector_with_destination_prefix_ct<64u, 1u>(vfpu_d); }
|
|
{ float vfpu_s[4]{}, vfpu_d[4]{};
|
|
ctx.read_vfpu_vector_with_source_prefix_ct<64u, 1u, 0u>(vfpu_s);
|
|
for (std::uint32_t i = 0; i < 1u; ++i) vfpu_d[i] = std::cos(vfpu_s[i] * 1.57079632679489661923f);
|
|
ctx.write_vfpu_vector_with_destination_prefix_ct<1u, 1u>(vfpu_d); }
|
|
ctx.gpr[5] = (ctx.vfpu_scalar_bits_ct<1u>());
|
|
ctx.fpr[13] = 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<0u>(ctx.gpr[5]);
|
|
{ const float vfpu_constant = std::bit_cast<float>(0x3F22F983u);
|
|
const float vfpu_value[4]{vfpu_constant, vfpu_constant, vfpu_constant, vfpu_constant};
|
|
ctx.write_vfpu_vector_with_destination_prefix_ct<32u, 1u>(vfpu_value); }
|
|
{ float vfpu_s[4]{}, vfpu_t[4]{}, vfpu_d[4]{};
|
|
ctx.read_vfpu_vector_with_source_prefix_ct<0u, 1u, 0u>(vfpu_s);
|
|
ctx.read_vfpu_vector_with_source_prefix_ct<32u, 1u, 1u>(vfpu_t);
|
|
for (std::uint32_t i = 0; i < 1u; ++i) vfpu_d[i] = vfpu_s[i] * vfpu_t[i];
|
|
ctx.write_vfpu_vector_with_destination_prefix_ct<64u, 1u>(vfpu_d); }
|
|
{ float vfpu_s[4]{}, vfpu_d[4]{};
|
|
ctx.read_vfpu_vector_with_source_prefix_ct<64u, 1u, 0u>(vfpu_s);
|
|
for (std::uint32_t i = 0; i < 1u; ++i) vfpu_d[i] = std::sin(vfpu_s[i] * 1.57079632679489661923f);
|
|
ctx.write_vfpu_vector_with_destination_prefix_ct<1u, 1u>(vfpu_d); }
|
|
ctx.gpr[5] = (ctx.vfpu_scalar_bits_ct<1u>());
|
|
ctx.fpr[14] = std::bit_cast<float>(ctx.gpr[5]);
|
|
ctx.gpr[5] = (16256u << 16u);
|
|
ctx.fpr[12] = std::bit_cast<float>(ctx.gpr[5]);
|
|
aot_mem.aot_store32(ctx.gpr[4] + static_cast<std::uint32_t>(0), std::bit_cast<std::uint32_t>(ctx.fpr[12]));
|
|
ctx.fpr[12] = std::bit_cast<float>(0u);
|
|
aot_mem.aot_store32(ctx.gpr[4] + static_cast<std::uint32_t>(4), std::bit_cast<std::uint32_t>(ctx.fpr[12]));
|
|
aot_mem.aot_store32(ctx.gpr[4] + static_cast<std::uint32_t>(8), std::bit_cast<std::uint32_t>(ctx.fpr[12]));
|
|
aot_mem.aot_store32(ctx.gpr[4] + static_cast<std::uint32_t>(16), std::bit_cast<std::uint32_t>(ctx.fpr[12]));
|
|
aot_mem.aot_store32(ctx.gpr[4] + static_cast<std::uint32_t>(20), std::bit_cast<std::uint32_t>(ctx.fpr[13]));
|
|
aot_mem.aot_store32(ctx.gpr[4] + static_cast<std::uint32_t>(24), std::bit_cast<std::uint32_t>(ctx.fpr[14]));
|
|
aot_mem.aot_store32(ctx.gpr[4] + static_cast<std::uint32_t>(32), std::bit_cast<std::uint32_t>(ctx.fpr[12]));
|
|
ctx.fpr[12] = std::bit_cast<float>(std::bit_cast<std::uint32_t>(ctx.fpr[14]) ^ 0x80000000u);
|
|
aot_mem.aot_store32(ctx.gpr[4] + static_cast<std::uint32_t>(36), std::bit_cast<std::uint32_t>(ctx.fpr[12]));
|
|
aot_mem.aot_store32(ctx.gpr[4] + static_cast<std::uint32_t>(40), std::bit_cast<std::uint32_t>(ctx.fpr[13]));
|
|
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_08A05F84:
|
|
ctx.gpr[5] = (std::bit_cast<std::uint32_t>(ctx.fpr[12]));
|
|
ctx.set_vfpu_scalar_bits_ct<0u>(ctx.gpr[5]);
|
|
{ const float vfpu_constant = std::bit_cast<float>(0x3F22F983u);
|
|
const float vfpu_value[4]{vfpu_constant, vfpu_constant, vfpu_constant, vfpu_constant};
|
|
ctx.write_vfpu_vector_with_destination_prefix_ct<32u, 1u>(vfpu_value); }
|
|
{ float vfpu_s[4]{}, vfpu_t[4]{}, vfpu_d[4]{};
|
|
ctx.read_vfpu_vector_with_source_prefix_ct<0u, 1u, 0u>(vfpu_s);
|
|
ctx.read_vfpu_vector_with_source_prefix_ct<32u, 1u, 1u>(vfpu_t);
|
|
for (std::uint32_t i = 0; i < 1u; ++i) vfpu_d[i] = vfpu_s[i] * vfpu_t[i];
|
|
ctx.write_vfpu_vector_with_destination_prefix_ct<64u, 1u>(vfpu_d); }
|
|
{ float vfpu_s[4]{}, vfpu_d[4]{};
|
|
ctx.read_vfpu_vector_with_source_prefix_ct<64u, 1u, 0u>(vfpu_s);
|
|
for (std::uint32_t i = 0; i < 1u; ++i) vfpu_d[i] = std::cos(vfpu_s[i] * 1.57079632679489661923f);
|
|
ctx.write_vfpu_vector_with_destination_prefix_ct<1u, 1u>(vfpu_d); }
|
|
ctx.gpr[5] = (ctx.vfpu_scalar_bits_ct<1u>());
|
|
ctx.fpr[13] = 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<0u>(ctx.gpr[5]);
|
|
{ const float vfpu_constant = std::bit_cast<float>(0x3F22F983u);
|
|
const float vfpu_value[4]{vfpu_constant, vfpu_constant, vfpu_constant, vfpu_constant};
|
|
ctx.write_vfpu_vector_with_destination_prefix_ct<32u, 1u>(vfpu_value); }
|
|
{ float vfpu_s[4]{}, vfpu_t[4]{}, vfpu_d[4]{};
|
|
ctx.read_vfpu_vector_with_source_prefix_ct<0u, 1u, 0u>(vfpu_s);
|
|
ctx.read_vfpu_vector_with_source_prefix_ct<32u, 1u, 1u>(vfpu_t);
|
|
for (std::uint32_t i = 0; i < 1u; ++i) vfpu_d[i] = vfpu_s[i] * vfpu_t[i];
|
|
ctx.write_vfpu_vector_with_destination_prefix_ct<64u, 1u>(vfpu_d); }
|
|
{ float vfpu_s[4]{}, vfpu_d[4]{};
|
|
ctx.read_vfpu_vector_with_source_prefix_ct<64u, 1u, 0u>(vfpu_s);
|
|
for (std::uint32_t i = 0; i < 1u; ++i) vfpu_d[i] = std::sin(vfpu_s[i] * 1.57079632679489661923f);
|
|
ctx.write_vfpu_vector_with_destination_prefix_ct<1u, 1u>(vfpu_d); }
|
|
ctx.gpr[5] = (ctx.vfpu_scalar_bits_ct<1u>());
|
|
ctx.fpr[14] = std::bit_cast<float>(ctx.gpr[5]);
|
|
aot_mem.aot_store32(ctx.gpr[4] + static_cast<std::uint32_t>(0), std::bit_cast<std::uint32_t>(ctx.fpr[13]));
|
|
ctx.fpr[12] = std::bit_cast<float>(0u);
|
|
aot_mem.aot_store32(ctx.gpr[4] + static_cast<std::uint32_t>(4), std::bit_cast<std::uint32_t>(ctx.fpr[12]));
|
|
ctx.fpr[15] = std::bit_cast<float>(std::bit_cast<std::uint32_t>(ctx.fpr[14]) ^ 0x80000000u);
|
|
aot_mem.aot_store32(ctx.gpr[4] + static_cast<std::uint32_t>(8), std::bit_cast<std::uint32_t>(ctx.fpr[15]));
|
|
aot_mem.aot_store32(ctx.gpr[4] + static_cast<std::uint32_t>(16), std::bit_cast<std::uint32_t>(ctx.fpr[12]));
|
|
ctx.gpr[5] = (16256u << 16u);
|
|
ctx.fpr[15] = std::bit_cast<float>(ctx.gpr[5]);
|
|
aot_mem.aot_store32(ctx.gpr[4] + static_cast<std::uint32_t>(20), std::bit_cast<std::uint32_t>(ctx.fpr[15]));
|
|
aot_mem.aot_store32(ctx.gpr[4] + static_cast<std::uint32_t>(24), std::bit_cast<std::uint32_t>(ctx.fpr[12]));
|
|
aot_mem.aot_store32(ctx.gpr[4] + static_cast<std::uint32_t>(32), std::bit_cast<std::uint32_t>(ctx.fpr[14]));
|
|
aot_mem.aot_store32(ctx.gpr[4] + static_cast<std::uint32_t>(36), std::bit_cast<std::uint32_t>(ctx.fpr[12]));
|
|
aot_mem.aot_store32(ctx.gpr[4] + static_cast<std::uint32_t>(40), std::bit_cast<std::uint32_t>(ctx.fpr[13]));
|
|
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_08A05FF8:
|
|
ctx.gpr[5] = (std::bit_cast<std::uint32_t>(ctx.fpr[12]));
|
|
ctx.set_vfpu_scalar_bits_ct<0u>(ctx.gpr[5]);
|
|
{ const float vfpu_constant = std::bit_cast<float>(0x3F22F983u);
|
|
const float vfpu_value[4]{vfpu_constant, vfpu_constant, vfpu_constant, vfpu_constant};
|
|
ctx.write_vfpu_vector_with_destination_prefix_ct<32u, 1u>(vfpu_value); }
|
|
{ float vfpu_s[4]{}, vfpu_t[4]{}, vfpu_d[4]{};
|
|
ctx.read_vfpu_vector_with_source_prefix_ct<0u, 1u, 0u>(vfpu_s);
|
|
ctx.read_vfpu_vector_with_source_prefix_ct<32u, 1u, 1u>(vfpu_t);
|
|
for (std::uint32_t i = 0; i < 1u; ++i) vfpu_d[i] = vfpu_s[i] * vfpu_t[i];
|
|
ctx.write_vfpu_vector_with_destination_prefix_ct<64u, 1u>(vfpu_d); }
|
|
{ float vfpu_s[4]{}, vfpu_d[4]{};
|
|
ctx.read_vfpu_vector_with_source_prefix_ct<64u, 1u, 0u>(vfpu_s);
|
|
for (std::uint32_t i = 0; i < 1u; ++i) vfpu_d[i] = std::cos(vfpu_s[i] * 1.57079632679489661923f);
|
|
ctx.write_vfpu_vector_with_destination_prefix_ct<1u, 1u>(vfpu_d); }
|
|
ctx.gpr[5] = (ctx.vfpu_scalar_bits_ct<1u>());
|
|
ctx.fpr[13] = 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<0u>(ctx.gpr[5]);
|
|
{ const float vfpu_constant = std::bit_cast<float>(0x3F22F983u);
|
|
const float vfpu_value[4]{vfpu_constant, vfpu_constant, vfpu_constant, vfpu_constant};
|
|
ctx.write_vfpu_vector_with_destination_prefix_ct<32u, 1u>(vfpu_value); }
|
|
{ float vfpu_s[4]{}, vfpu_t[4]{}, vfpu_d[4]{};
|
|
ctx.read_vfpu_vector_with_source_prefix_ct<0u, 1u, 0u>(vfpu_s);
|
|
ctx.read_vfpu_vector_with_source_prefix_ct<32u, 1u, 1u>(vfpu_t);
|
|
for (std::uint32_t i = 0; i < 1u; ++i) vfpu_d[i] = vfpu_s[i] * vfpu_t[i];
|
|
ctx.write_vfpu_vector_with_destination_prefix_ct<64u, 1u>(vfpu_d); }
|
|
{ float vfpu_s[4]{}, vfpu_d[4]{};
|
|
ctx.read_vfpu_vector_with_source_prefix_ct<64u, 1u, 0u>(vfpu_s);
|
|
for (std::uint32_t i = 0; i < 1u; ++i) vfpu_d[i] = std::sin(vfpu_s[i] * 1.57079632679489661923f);
|
|
ctx.write_vfpu_vector_with_destination_prefix_ct<1u, 1u>(vfpu_d); }
|
|
ctx.gpr[5] = (ctx.vfpu_scalar_bits_ct<1u>());
|
|
ctx.fpr[14] = std::bit_cast<float>(ctx.gpr[5]);
|
|
aot_mem.aot_store32(ctx.gpr[4] + static_cast<std::uint32_t>(0), std::bit_cast<std::uint32_t>(ctx.fpr[13]));
|
|
aot_mem.aot_store32(ctx.gpr[4] + static_cast<std::uint32_t>(4), std::bit_cast<std::uint32_t>(ctx.fpr[14]));
|
|
ctx.fpr[12] = std::bit_cast<float>(0u);
|
|
aot_mem.aot_store32(ctx.gpr[4] + static_cast<std::uint32_t>(8), std::bit_cast<std::uint32_t>(ctx.fpr[12]));
|
|
ctx.fpr[14] = std::bit_cast<float>(std::bit_cast<std::uint32_t>(ctx.fpr[14]) ^ 0x80000000u);
|
|
aot_mem.aot_store32(ctx.gpr[4] + static_cast<std::uint32_t>(16), std::bit_cast<std::uint32_t>(ctx.fpr[14]));
|
|
aot_mem.aot_store32(ctx.gpr[4] + static_cast<std::uint32_t>(20), std::bit_cast<std::uint32_t>(ctx.fpr[13]));
|
|
aot_mem.aot_store32(ctx.gpr[4] + static_cast<std::uint32_t>(24), std::bit_cast<std::uint32_t>(ctx.fpr[12]));
|
|
aot_mem.aot_store32(ctx.gpr[4] + static_cast<std::uint32_t>(32), std::bit_cast<std::uint32_t>(ctx.fpr[12]));
|
|
aot_mem.aot_store32(ctx.gpr[4] + static_cast<std::uint32_t>(36), std::bit_cast<std::uint32_t>(ctx.fpr[12]));
|
|
ctx.gpr[5] = (16256u << 16u);
|
|
ctx.fpr[12] = std::bit_cast<float>(ctx.gpr[5]);
|
|
aot_mem.aot_store32(ctx.gpr[4] + static_cast<std::uint32_t>(40), std::bit_cast<std::uint32_t>(ctx.fpr[12]));
|
|
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_08A0606C:
|
|
ctx.gpr[29] = (ctx.gpr[29] + static_cast<std::uint32_t>(-32));
|
|
ctx.fpr[13] = std::bit_cast<float>(0u);
|
|
aot_mem.aot_store32(ctx.gpr[4] + static_cast<std::uint32_t>(48), std::bit_cast<std::uint32_t>(ctx.fpr[13]));
|
|
aot_mem.aot_store32(ctx.gpr[4] + static_cast<std::uint32_t>(52), std::bit_cast<std::uint32_t>(ctx.fpr[13]));
|
|
aot_mem.aot_store32(ctx.gpr[29] + static_cast<std::uint32_t>(16), ctx.gpr[31]);
|
|
ctx.gpr[31] = (0x08A06088u);
|
|
aot_mem.aot_store32(ctx.gpr[4] + static_cast<std::uint32_t>(56), std::bit_cast<std::uint32_t>(ctx.fpr[13]));
|
|
goto L_08A05F10;
|
|
L_08A06088:
|
|
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_08A06094:
|
|
ctx.gpr[29] = (ctx.gpr[29] + static_cast<std::uint32_t>(-32));
|
|
ctx.fpr[13] = std::bit_cast<float>(0u);
|
|
aot_mem.aot_store32(ctx.gpr[4] + static_cast<std::uint32_t>(48), std::bit_cast<std::uint32_t>(ctx.fpr[13]));
|
|
aot_mem.aot_store32(ctx.gpr[4] + static_cast<std::uint32_t>(52), std::bit_cast<std::uint32_t>(ctx.fpr[13]));
|
|
aot_mem.aot_store32(ctx.gpr[29] + static_cast<std::uint32_t>(16), ctx.gpr[31]);
|
|
ctx.gpr[31] = (0x08A060B0u);
|
|
aot_mem.aot_store32(ctx.gpr[4] + static_cast<std::uint32_t>(56), std::bit_cast<std::uint32_t>(ctx.fpr[13]));
|
|
goto L_08A05F84;
|
|
L_08A060B0:
|
|
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_08A060BC:
|
|
ctx.gpr[29] = (ctx.gpr[29] + static_cast<std::uint32_t>(-32));
|
|
ctx.fpr[13] = std::bit_cast<float>(0u);
|
|
aot_mem.aot_store32(ctx.gpr[4] + static_cast<std::uint32_t>(48), std::bit_cast<std::uint32_t>(ctx.fpr[13]));
|
|
aot_mem.aot_store32(ctx.gpr[4] + static_cast<std::uint32_t>(52), std::bit_cast<std::uint32_t>(ctx.fpr[13]));
|
|
aot_mem.aot_store32(ctx.gpr[29] + static_cast<std::uint32_t>(16), ctx.gpr[31]);
|
|
ctx.gpr[31] = (0x08A060D8u);
|
|
aot_mem.aot_store32(ctx.gpr[4] + static_cast<std::uint32_t>(56), std::bit_cast<std::uint32_t>(ctx.fpr[13]));
|
|
goto L_08A05FF8;
|
|
L_08A060D8:
|
|
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_08A060E4:
|
|
ctx.gpr[5] = (std::bit_cast<std::uint32_t>(ctx.fpr[12]));
|
|
ctx.set_vfpu_scalar_bits_ct<0u>(ctx.gpr[5]);
|
|
{ const float vfpu_constant = std::bit_cast<float>(0x3F22F983u);
|
|
const float vfpu_value[4]{vfpu_constant, vfpu_constant, vfpu_constant, vfpu_constant};
|
|
ctx.write_vfpu_vector_with_destination_prefix_ct<32u, 1u>(vfpu_value); }
|
|
{ float vfpu_s[4]{}, vfpu_t[4]{}, vfpu_d[4]{};
|
|
ctx.read_vfpu_vector_with_source_prefix_ct<0u, 1u, 0u>(vfpu_s);
|
|
ctx.read_vfpu_vector_with_source_prefix_ct<32u, 1u, 1u>(vfpu_t);
|
|
for (std::uint32_t i = 0; i < 1u; ++i) vfpu_d[i] = vfpu_s[i] * vfpu_t[i];
|
|
ctx.write_vfpu_vector_with_destination_prefix_ct<64u, 1u>(vfpu_d); }
|
|
{ float vfpu_s[4]{}, vfpu_d[4]{};
|
|
ctx.read_vfpu_vector_with_source_prefix_ct<64u, 1u, 0u>(vfpu_s);
|
|
for (std::uint32_t i = 0; i < 1u; ++i) vfpu_d[i] = std::cos(vfpu_s[i] * 1.57079632679489661923f);
|
|
ctx.write_vfpu_vector_with_destination_prefix_ct<1u, 1u>(vfpu_d); }
|
|
ctx.gpr[5] = (ctx.vfpu_scalar_bits_ct<1u>());
|
|
ctx.fpr[15] = 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<0u>(ctx.gpr[5]);
|
|
{ const float vfpu_constant = std::bit_cast<float>(0x3F22F983u);
|
|
const float vfpu_value[4]{vfpu_constant, vfpu_constant, vfpu_constant, vfpu_constant};
|
|
ctx.write_vfpu_vector_with_destination_prefix_ct<32u, 1u>(vfpu_value); }
|
|
{ float vfpu_s[4]{}, vfpu_t[4]{}, vfpu_d[4]{};
|
|
ctx.read_vfpu_vector_with_source_prefix_ct<0u, 1u, 0u>(vfpu_s);
|
|
ctx.read_vfpu_vector_with_source_prefix_ct<32u, 1u, 1u>(vfpu_t);
|
|
for (std::uint32_t i = 0; i < 1u; ++i) vfpu_d[i] = vfpu_s[i] * vfpu_t[i];
|
|
ctx.write_vfpu_vector_with_destination_prefix_ct<64u, 1u>(vfpu_d); }
|
|
{ float vfpu_s[4]{}, vfpu_d[4]{};
|
|
ctx.read_vfpu_vector_with_source_prefix_ct<64u, 1u, 0u>(vfpu_s);
|
|
for (std::uint32_t i = 0; i < 1u; ++i) vfpu_d[i] = std::sin(vfpu_s[i] * 1.57079632679489661923f);
|
|
ctx.write_vfpu_vector_with_destination_prefix_ct<1u, 1u>(vfpu_d); }
|
|
ctx.gpr[5] = (ctx.vfpu_scalar_bits_ct<1u>());
|
|
ctx.fpr[16] = std::bit_cast<float>(ctx.gpr[5]);
|
|
ctx.gpr[5] = (std::bit_cast<std::uint32_t>(ctx.fpr[13]));
|
|
ctx.set_vfpu_scalar_bits_ct<0u>(ctx.gpr[5]);
|
|
{ const float vfpu_constant = std::bit_cast<float>(0x3F22F983u);
|
|
const float vfpu_value[4]{vfpu_constant, vfpu_constant, vfpu_constant, vfpu_constant};
|
|
ctx.write_vfpu_vector_with_destination_prefix_ct<32u, 1u>(vfpu_value); }
|
|
{ float vfpu_s[4]{}, vfpu_t[4]{}, vfpu_d[4]{};
|
|
ctx.read_vfpu_vector_with_source_prefix_ct<0u, 1u, 0u>(vfpu_s);
|
|
ctx.read_vfpu_vector_with_source_prefix_ct<32u, 1u, 1u>(vfpu_t);
|
|
for (std::uint32_t i = 0; i < 1u; ++i) vfpu_d[i] = vfpu_s[i] * vfpu_t[i];
|
|
ctx.write_vfpu_vector_with_destination_prefix_ct<64u, 1u>(vfpu_d); }
|
|
{ float vfpu_s[4]{}, vfpu_d[4]{};
|
|
ctx.read_vfpu_vector_with_source_prefix_ct<64u, 1u, 0u>(vfpu_s);
|
|
for (std::uint32_t i = 0; i < 1u; ++i) vfpu_d[i] = std::cos(vfpu_s[i] * 1.57079632679489661923f);
|
|
ctx.write_vfpu_vector_with_destination_prefix_ct<1u, 1u>(vfpu_d); }
|
|
ctx.gpr[5] = (ctx.vfpu_scalar_bits_ct<1u>());
|
|
ctx.fpr[12] = std::bit_cast<float>(ctx.gpr[5]);
|
|
ctx.gpr[5] = (std::bit_cast<std::uint32_t>(ctx.fpr[13]));
|
|
ctx.set_vfpu_scalar_bits_ct<0u>(ctx.gpr[5]);
|
|
{ const float vfpu_constant = std::bit_cast<float>(0x3F22F983u);
|
|
const float vfpu_value[4]{vfpu_constant, vfpu_constant, vfpu_constant, vfpu_constant};
|
|
ctx.write_vfpu_vector_with_destination_prefix_ct<32u, 1u>(vfpu_value); }
|
|
{ float vfpu_s[4]{}, vfpu_t[4]{}, vfpu_d[4]{};
|
|
ctx.read_vfpu_vector_with_source_prefix_ct<0u, 1u, 0u>(vfpu_s);
|
|
ctx.read_vfpu_vector_with_source_prefix_ct<32u, 1u, 1u>(vfpu_t);
|
|
for (std::uint32_t i = 0; i < 1u; ++i) vfpu_d[i] = vfpu_s[i] * vfpu_t[i];
|
|
ctx.write_vfpu_vector_with_destination_prefix_ct<64u, 1u>(vfpu_d); }
|
|
{ float vfpu_s[4]{}, vfpu_d[4]{};
|
|
ctx.read_vfpu_vector_with_source_prefix_ct<64u, 1u, 0u>(vfpu_s);
|
|
for (std::uint32_t i = 0; i < 1u; ++i) vfpu_d[i] = std::sin(vfpu_s[i] * 1.57079632679489661923f);
|
|
ctx.write_vfpu_vector_with_destination_prefix_ct<1u, 1u>(vfpu_d); }
|
|
ctx.gpr[5] = (ctx.vfpu_scalar_bits_ct<1u>());
|
|
ctx.fpr[17] = std::bit_cast<float>(ctx.gpr[5]);
|
|
ctx.gpr[5] = (std::bit_cast<std::uint32_t>(ctx.fpr[14]));
|
|
ctx.set_vfpu_scalar_bits_ct<0u>(ctx.gpr[5]);
|
|
{ const float vfpu_constant = std::bit_cast<float>(0x3F22F983u);
|
|
const float vfpu_value[4]{vfpu_constant, vfpu_constant, vfpu_constant, vfpu_constant};
|
|
ctx.write_vfpu_vector_with_destination_prefix_ct<32u, 1u>(vfpu_value); }
|
|
{ float vfpu_s[4]{}, vfpu_t[4]{}, vfpu_d[4]{};
|
|
ctx.read_vfpu_vector_with_source_prefix_ct<0u, 1u, 0u>(vfpu_s);
|
|
ctx.read_vfpu_vector_with_source_prefix_ct<32u, 1u, 1u>(vfpu_t);
|
|
for (std::uint32_t i = 0; i < 1u; ++i) vfpu_d[i] = vfpu_s[i] * vfpu_t[i];
|
|
ctx.write_vfpu_vector_with_destination_prefix_ct<64u, 1u>(vfpu_d); }
|
|
{ float vfpu_s[4]{}, vfpu_d[4]{};
|
|
ctx.read_vfpu_vector_with_source_prefix_ct<64u, 1u, 0u>(vfpu_s);
|
|
for (std::uint32_t i = 0; i < 1u; ++i) vfpu_d[i] = std::cos(vfpu_s[i] * 1.57079632679489661923f);
|
|
ctx.write_vfpu_vector_with_destination_prefix_ct<1u, 1u>(vfpu_d); }
|
|
ctx.gpr[5] = (ctx.vfpu_scalar_bits_ct<1u>());
|
|
ctx.fpr[13] = std::bit_cast<float>(ctx.gpr[5]);
|
|
ctx.gpr[5] = (std::bit_cast<std::uint32_t>(ctx.fpr[14]));
|
|
ctx.set_vfpu_scalar_bits_ct<0u>(ctx.gpr[5]);
|
|
{ const float vfpu_constant = std::bit_cast<float>(0x3F22F983u);
|
|
const float vfpu_value[4]{vfpu_constant, vfpu_constant, vfpu_constant, vfpu_constant};
|
|
ctx.write_vfpu_vector_with_destination_prefix_ct<32u, 1u>(vfpu_value); }
|
|
{ float vfpu_s[4]{}, vfpu_t[4]{}, vfpu_d[4]{};
|
|
ctx.read_vfpu_vector_with_source_prefix_ct<0u, 1u, 0u>(vfpu_s);
|
|
ctx.read_vfpu_vector_with_source_prefix_ct<32u, 1u, 1u>(vfpu_t);
|
|
for (std::uint32_t i = 0; i < 1u; ++i) vfpu_d[i] = vfpu_s[i] * vfpu_t[i];
|
|
ctx.write_vfpu_vector_with_destination_prefix_ct<64u, 1u>(vfpu_d); }
|
|
{ float vfpu_s[4]{}, vfpu_d[4]{};
|
|
ctx.read_vfpu_vector_with_source_prefix_ct<64u, 1u, 0u>(vfpu_s);
|
|
for (std::uint32_t i = 0; i < 1u; ++i) vfpu_d[i] = std::sin(vfpu_s[i] * 1.57079632679489661923f);
|
|
ctx.write_vfpu_vector_with_destination_prefix_ct<1u, 1u>(vfpu_d); }
|
|
ctx.gpr[5] = (ctx.vfpu_scalar_bits_ct<1u>());
|
|
ctx.fpr[18] = std::bit_cast<float>(ctx.gpr[5]);
|
|
{ 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[14] = std::bit_cast<float>(0x7FC00000u); else ctx.fpr[14] = fs * ft; }
|
|
{ const float fs = ctx.fpr[13]; const float ft = ctx.fpr[16]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[19] = std::bit_cast<float>(0x7FC00000u); else ctx.fpr[19] = fs * ft; }
|
|
{ const float fs = ctx.fpr[12]; const float ft = ctx.fpr[13]; 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; }
|
|
{ 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[2] = std::bit_cast<float>(0x7FC00000u); else ctx.fpr[2] = fs * ft; }
|
|
ctx.fpr[0] = ctx.fpr[0] - ctx.fpr[2];
|
|
aot_mem.aot_store32(ctx.gpr[4] + static_cast<std::uint32_t>(0), std::bit_cast<std::uint32_t>(ctx.fpr[0]));
|
|
{ const float fs = ctx.fpr[12]; const float ft = ctx.fpr[18]; 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; }
|
|
{ const float fs = ctx.fpr[19]; const float ft = ctx.fpr[17]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[1] = std::bit_cast<float>(0x7FC00000u); else ctx.fpr[1] = fs * ft; }
|
|
ctx.fpr[0] = ctx.fpr[0] + ctx.fpr[1];
|
|
aot_mem.aot_store32(ctx.gpr[4] + static_cast<std::uint32_t>(4), std::bit_cast<std::uint32_t>(ctx.fpr[0]));
|
|
{ const float fs = ctx.fpr[15]; const float ft = ctx.fpr[17]; 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.fpr[0] = std::bit_cast<float>(std::bit_cast<std::uint32_t>(ctx.fpr[0]) ^ 0x80000000u);
|
|
aot_mem.aot_store32(ctx.gpr[4] + static_cast<std::uint32_t>(8), std::bit_cast<std::uint32_t>(ctx.fpr[0]));
|
|
{ const float fs = ctx.fpr[15]; const float ft = ctx.fpr[18]; 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.fpr[0] = std::bit_cast<float>(std::bit_cast<std::uint32_t>(ctx.fpr[0]) ^ 0x80000000u);
|
|
aot_mem.aot_store32(ctx.gpr[4] + static_cast<std::uint32_t>(16), std::bit_cast<std::uint32_t>(ctx.fpr[0]));
|
|
{ const float fs = ctx.fpr[15]; const float ft = ctx.fpr[13]; 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; }
|
|
aot_mem.aot_store32(ctx.gpr[4] + static_cast<std::uint32_t>(20), std::bit_cast<std::uint32_t>(ctx.fpr[0]));
|
|
aot_mem.aot_store32(ctx.gpr[4] + static_cast<std::uint32_t>(24), std::bit_cast<std::uint32_t>(ctx.fpr[16]));
|
|
{ const float fs = ctx.fpr[13]; const float ft = ctx.fpr[17]; 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; }
|
|
{ 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[14] = std::bit_cast<float>(0x7FC00000u); else ctx.fpr[14] = fs * ft; }
|
|
ctx.fpr[13] = ctx.fpr[13] + ctx.fpr[14];
|
|
aot_mem.aot_store32(ctx.gpr[4] + static_cast<std::uint32_t>(32), std::bit_cast<std::uint32_t>(ctx.fpr[13]));
|
|
{ const float fs = ctx.fpr[17]; const float ft = ctx.fpr[18]; 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; }
|
|
{ const float fs = ctx.fpr[12]; const float ft = ctx.fpr[19]; 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; }
|
|
ctx.fpr[13] = ctx.fpr[13] - ctx.fpr[16];
|
|
aot_mem.aot_store32(ctx.gpr[4] + static_cast<std::uint32_t>(36), std::bit_cast<std::uint32_t>(ctx.fpr[13]));
|
|
{ const float fs = ctx.fpr[15]; 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; }
|
|
aot_mem.aot_store32(ctx.gpr[4] + static_cast<std::uint32_t>(40), std::bit_cast<std::uint32_t>(ctx.fpr[12]));
|
|
ctx.fpr[12] = std::bit_cast<float>(0u);
|
|
aot_mem.aot_store32(ctx.gpr[4] + static_cast<std::uint32_t>(48), std::bit_cast<std::uint32_t>(ctx.fpr[12]));
|
|
aot_mem.aot_store32(ctx.gpr[4] + static_cast<std::uint32_t>(52), std::bit_cast<std::uint32_t>(ctx.fpr[12]));
|
|
aot_mem.aot_store32(ctx.gpr[4] + static_cast<std::uint32_t>(56), std::bit_cast<std::uint32_t>(ctx.fpr[12]));
|
|
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_08A06218:
|
|
ctx.gpr[5] = (std::bit_cast<std::uint32_t>(ctx.fpr[12]));
|
|
ctx.set_vfpu_scalar_bits_ct<0u>(ctx.gpr[5]);
|
|
{ const float vfpu_constant = std::bit_cast<float>(0x3F22F983u);
|
|
const float vfpu_value[4]{vfpu_constant, vfpu_constant, vfpu_constant, vfpu_constant};
|
|
ctx.write_vfpu_vector_with_destination_prefix_ct<32u, 1u>(vfpu_value); }
|
|
{ float vfpu_s[4]{}, vfpu_t[4]{}, vfpu_d[4]{};
|
|
ctx.read_vfpu_vector_with_source_prefix_ct<0u, 1u, 0u>(vfpu_s);
|
|
ctx.read_vfpu_vector_with_source_prefix_ct<32u, 1u, 1u>(vfpu_t);
|
|
for (std::uint32_t i = 0; i < 1u; ++i) vfpu_d[i] = vfpu_s[i] * vfpu_t[i];
|
|
ctx.write_vfpu_vector_with_destination_prefix_ct<64u, 1u>(vfpu_d); }
|
|
{ float vfpu_s[4]{}, vfpu_d[4]{};
|
|
ctx.read_vfpu_vector_with_source_prefix_ct<64u, 1u, 0u>(vfpu_s);
|
|
for (std::uint32_t i = 0; i < 1u; ++i) vfpu_d[i] = std::cos(vfpu_s[i] * 1.57079632679489661923f);
|
|
ctx.write_vfpu_vector_with_destination_prefix_ct<1u, 1u>(vfpu_d); }
|
|
ctx.gpr[5] = (ctx.vfpu_scalar_bits_ct<1u>());
|
|
ctx.fpr[13] = 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<0u>(ctx.gpr[5]);
|
|
{ const float vfpu_constant = std::bit_cast<float>(0x3F22F983u);
|
|
const float vfpu_value[4]{vfpu_constant, vfpu_constant, vfpu_constant, vfpu_constant};
|
|
ctx.write_vfpu_vector_with_destination_prefix_ct<32u, 1u>(vfpu_value); }
|
|
{ float vfpu_s[4]{}, vfpu_t[4]{}, vfpu_d[4]{};
|
|
ctx.read_vfpu_vector_with_source_prefix_ct<0u, 1u, 0u>(vfpu_s);
|
|
ctx.read_vfpu_vector_with_source_prefix_ct<32u, 1u, 1u>(vfpu_t);
|
|
for (std::uint32_t i = 0; i < 1u; ++i) vfpu_d[i] = vfpu_s[i] * vfpu_t[i];
|
|
ctx.write_vfpu_vector_with_destination_prefix_ct<64u, 1u>(vfpu_d); }
|
|
{ float vfpu_s[4]{}, vfpu_d[4]{};
|
|
ctx.read_vfpu_vector_with_source_prefix_ct<64u, 1u, 0u>(vfpu_s);
|
|
for (std::uint32_t i = 0; i < 1u; ++i) vfpu_d[i] = std::sin(vfpu_s[i] * 1.57079632679489661923f);
|
|
ctx.write_vfpu_vector_with_destination_prefix_ct<1u, 1u>(vfpu_d); }
|
|
ctx.gpr[5] = (ctx.vfpu_scalar_bits_ct<1u>());
|
|
ctx.fpr[14] = std::bit_cast<float>(ctx.gpr[5]);
|
|
ctx.fpr[12] = std::bit_cast<float>(aot_mem.aot_load32(ctx.gpr[4] + static_cast<std::uint32_t>(4)));
|
|
{ const float fs = ctx.fpr[13]; const float ft = ctx.fpr[12]; 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[16] = std::bit_cast<float>(aot_mem.aot_load32(ctx.gpr[4] + static_cast<std::uint32_t>(8)));
|
|
{ const float fs = ctx.fpr[14]; const float ft = ctx.fpr[16]; 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[15] = ctx.fpr[15] - ctx.fpr[17];
|
|
{ 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[13]; const float ft = ctx.fpr[16]; 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; }
|
|
ctx.fpr[12] = ctx.fpr[12] + ctx.fpr[16];
|
|
ctx.fpr[18] = std::bit_cast<float>(aot_mem.aot_load32(ctx.gpr[4] + static_cast<std::uint32_t>(20)));
|
|
{ const float fs = ctx.fpr[13]; const float ft = ctx.fpr[18]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[19] = std::bit_cast<float>(0x7FC00000u); else ctx.fpr[19] = fs * ft; }
|
|
ctx.fpr[0] = std::bit_cast<float>(aot_mem.aot_load32(ctx.gpr[4] + static_cast<std::uint32_t>(24)));
|
|
{ const float fs = ctx.fpr[14]; const float ft = ctx.fpr[0]; 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[17] = ctx.fpr[19] - ctx.fpr[17];
|
|
{ const float fs = ctx.fpr[14]; const float ft = ctx.fpr[18]; 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; }
|
|
{ const float fs = ctx.fpr[13]; const float ft = ctx.fpr[0]; 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; }
|
|
ctx.fpr[16] = ctx.fpr[18] + ctx.fpr[16];
|
|
ctx.fpr[2] = std::bit_cast<float>(aot_mem.aot_load32(ctx.gpr[4] + static_cast<std::uint32_t>(36)));
|
|
{ const float fs = ctx.fpr[13]; const float ft = ctx.fpr[2]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[1] = std::bit_cast<float>(0x7FC00000u); else ctx.fpr[1] = fs * ft; }
|
|
ctx.fpr[3] = std::bit_cast<float>(aot_mem.aot_load32(ctx.gpr[4] + static_cast<std::uint32_t>(40)));
|
|
{ const float fs = ctx.fpr[14]; const float ft = ctx.fpr[3]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[19] = std::bit_cast<float>(0x7FC00000u); else ctx.fpr[19] = fs * ft; }
|
|
ctx.fpr[19] = ctx.fpr[1] - ctx.fpr[19];
|
|
{ const float fs = ctx.fpr[14]; const float ft = ctx.fpr[2]; 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; }
|
|
{ const float fs = ctx.fpr[13]; const float ft = ctx.fpr[3]; 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[18] = ctx.fpr[0] + ctx.fpr[18];
|
|
ctx.fpr[4] = std::bit_cast<float>(aot_mem.aot_load32(ctx.gpr[4] + static_cast<std::uint32_t>(52)));
|
|
{ const float fs = ctx.fpr[13]; const float ft = ctx.fpr[4]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[5] = std::bit_cast<float>(0x7FC00000u); else ctx.fpr[5] = fs * ft; }
|
|
ctx.fpr[6] = std::bit_cast<float>(aot_mem.aot_load32(ctx.gpr[4] + static_cast<std::uint32_t>(56)));
|
|
{ const float fs = ctx.fpr[14]; const float ft = ctx.fpr[6]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[1] = std::bit_cast<float>(0x7FC00000u); else ctx.fpr[1] = fs * ft; }
|
|
ctx.fpr[2] = ctx.fpr[5] - ctx.fpr[1];
|
|
{ const float fs = ctx.fpr[14]; const float ft = ctx.fpr[4]; 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; }
|
|
{ const float fs = ctx.fpr[13]; const float ft = ctx.fpr[6]; 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[13] = ctx.fpr[14] + ctx.fpr[13];
|
|
aot_mem.aot_store32(ctx.gpr[4] + static_cast<std::uint32_t>(4), std::bit_cast<std::uint32_t>(ctx.fpr[15]));
|
|
aot_mem.aot_store32(ctx.gpr[4] + static_cast<std::uint32_t>(8), std::bit_cast<std::uint32_t>(ctx.fpr[12]));
|
|
aot_mem.aot_store32(ctx.gpr[4] + static_cast<std::uint32_t>(20), std::bit_cast<std::uint32_t>(ctx.fpr[17]));
|
|
aot_mem.aot_store32(ctx.gpr[4] + static_cast<std::uint32_t>(24), std::bit_cast<std::uint32_t>(ctx.fpr[16]));
|
|
aot_mem.aot_store32(ctx.gpr[4] + static_cast<std::uint32_t>(36), std::bit_cast<std::uint32_t>(ctx.fpr[19]));
|
|
aot_mem.aot_store32(ctx.gpr[4] + static_cast<std::uint32_t>(40), std::bit_cast<std::uint32_t>(ctx.fpr[18]));
|
|
aot_mem.aot_store32(ctx.gpr[4] + static_cast<std::uint32_t>(52), std::bit_cast<std::uint32_t>(ctx.fpr[2]));
|
|
aot_mem.aot_store32(ctx.gpr[4] + static_cast<std::uint32_t>(56), std::bit_cast<std::uint32_t>(ctx.fpr[13]));
|
|
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_08A062F8:
|
|
ctx.gpr[5] = (std::bit_cast<std::uint32_t>(ctx.fpr[12]));
|
|
ctx.set_vfpu_scalar_bits_ct<0u>(ctx.gpr[5]);
|
|
{ const float vfpu_constant = std::bit_cast<float>(0x3F22F983u);
|
|
const float vfpu_value[4]{vfpu_constant, vfpu_constant, vfpu_constant, vfpu_constant};
|
|
ctx.write_vfpu_vector_with_destination_prefix_ct<32u, 1u>(vfpu_value); }
|
|
{ float vfpu_s[4]{}, vfpu_t[4]{}, vfpu_d[4]{};
|
|
ctx.read_vfpu_vector_with_source_prefix_ct<0u, 1u, 0u>(vfpu_s);
|
|
ctx.read_vfpu_vector_with_source_prefix_ct<32u, 1u, 1u>(vfpu_t);
|
|
for (std::uint32_t i = 0; i < 1u; ++i) vfpu_d[i] = vfpu_s[i] * vfpu_t[i];
|
|
ctx.write_vfpu_vector_with_destination_prefix_ct<64u, 1u>(vfpu_d); }
|
|
{ float vfpu_s[4]{}, vfpu_d[4]{};
|
|
ctx.read_vfpu_vector_with_source_prefix_ct<64u, 1u, 0u>(vfpu_s);
|
|
for (std::uint32_t i = 0; i < 1u; ++i) vfpu_d[i] = std::cos(vfpu_s[i] * 1.57079632679489661923f);
|
|
ctx.write_vfpu_vector_with_destination_prefix_ct<1u, 1u>(vfpu_d); }
|
|
ctx.gpr[5] = (ctx.vfpu_scalar_bits_ct<1u>());
|
|
ctx.fpr[13] = 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<0u>(ctx.gpr[5]);
|
|
{ const float vfpu_constant = std::bit_cast<float>(0x3F22F983u);
|
|
const float vfpu_value[4]{vfpu_constant, vfpu_constant, vfpu_constant, vfpu_constant};
|
|
ctx.write_vfpu_vector_with_destination_prefix_ct<32u, 1u>(vfpu_value); }
|
|
{ float vfpu_s[4]{}, vfpu_t[4]{}, vfpu_d[4]{};
|
|
ctx.read_vfpu_vector_with_source_prefix_ct<0u, 1u, 0u>(vfpu_s);
|
|
ctx.read_vfpu_vector_with_source_prefix_ct<32u, 1u, 1u>(vfpu_t);
|
|
for (std::uint32_t i = 0; i < 1u; ++i) vfpu_d[i] = vfpu_s[i] * vfpu_t[i];
|
|
ctx.write_vfpu_vector_with_destination_prefix_ct<64u, 1u>(vfpu_d); }
|
|
{ float vfpu_s[4]{}, vfpu_d[4]{};
|
|
ctx.read_vfpu_vector_with_source_prefix_ct<64u, 1u, 0u>(vfpu_s);
|
|
for (std::uint32_t i = 0; i < 1u; ++i) vfpu_d[i] = std::sin(vfpu_s[i] * 1.57079632679489661923f);
|
|
ctx.write_vfpu_vector_with_destination_prefix_ct<1u, 1u>(vfpu_d); }
|
|
ctx.gpr[5] = (ctx.vfpu_scalar_bits_ct<1u>());
|
|
ctx.fpr[14] = std::bit_cast<float>(ctx.gpr[5]);
|
|
ctx.fpr[12] = std::bit_cast<float>(aot_mem.aot_load32(ctx.gpr[4] + static_cast<std::uint32_t>(0)));
|
|
{ const float fs = ctx.fpr[13]; const float ft = ctx.fpr[12]; 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[16] = std::bit_cast<float>(aot_mem.aot_load32(ctx.gpr[4] + static_cast<std::uint32_t>(8)));
|
|
{ const float fs = ctx.fpr[14]; const float ft = ctx.fpr[16]; 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[15] = ctx.fpr[15] + ctx.fpr[17];
|
|
{ const float fs = ctx.fpr[13]; const float ft = ctx.fpr[16]; 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; }
|
|
{ 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; }
|
|
ctx.fpr[12] = ctx.fpr[16] - ctx.fpr[12];
|
|
ctx.fpr[18] = std::bit_cast<float>(aot_mem.aot_load32(ctx.gpr[4] + static_cast<std::uint32_t>(16)));
|
|
{ const float fs = ctx.fpr[13]; const float ft = ctx.fpr[18]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[19] = std::bit_cast<float>(0x7FC00000u); else ctx.fpr[19] = fs * ft; }
|
|
ctx.fpr[0] = std::bit_cast<float>(aot_mem.aot_load32(ctx.gpr[4] + static_cast<std::uint32_t>(24)));
|
|
{ const float fs = ctx.fpr[14]; const float ft = ctx.fpr[0]; 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[17] = ctx.fpr[19] + ctx.fpr[17];
|
|
{ const float fs = ctx.fpr[13]; 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; }
|
|
{ const float fs = ctx.fpr[14]; 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; }
|
|
ctx.fpr[16] = ctx.fpr[0] - ctx.fpr[16];
|
|
ctx.fpr[2] = std::bit_cast<float>(aot_mem.aot_load32(ctx.gpr[4] + static_cast<std::uint32_t>(32)));
|
|
{ const float fs = ctx.fpr[13]; const float ft = ctx.fpr[2]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[1] = std::bit_cast<float>(0x7FC00000u); else ctx.fpr[1] = fs * ft; }
|
|
ctx.fpr[3] = std::bit_cast<float>(aot_mem.aot_load32(ctx.gpr[4] + static_cast<std::uint32_t>(40)));
|
|
{ const float fs = ctx.fpr[14]; const float ft = ctx.fpr[3]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[19] = std::bit_cast<float>(0x7FC00000u); else ctx.fpr[19] = fs * ft; }
|
|
ctx.fpr[19] = ctx.fpr[1] + ctx.fpr[19];
|
|
{ const float fs = ctx.fpr[13]; const float ft = ctx.fpr[3]; 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; }
|
|
{ const float fs = ctx.fpr[14]; const float ft = ctx.fpr[2]; 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.fpr[18] = ctx.fpr[18] - ctx.fpr[0];
|
|
ctx.fpr[4] = std::bit_cast<float>(aot_mem.aot_load32(ctx.gpr[4] + static_cast<std::uint32_t>(48)));
|
|
{ const float fs = ctx.fpr[13]; const float ft = ctx.fpr[4]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[5] = std::bit_cast<float>(0x7FC00000u); else ctx.fpr[5] = fs * ft; }
|
|
ctx.fpr[6] = std::bit_cast<float>(aot_mem.aot_load32(ctx.gpr[4] + static_cast<std::uint32_t>(56)));
|
|
{ const float fs = ctx.fpr[14]; const float ft = ctx.fpr[6]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[1] = std::bit_cast<float>(0x7FC00000u); else ctx.fpr[1] = fs * ft; }
|
|
ctx.fpr[1] = ctx.fpr[5] + ctx.fpr[1];
|
|
{ const float fs = ctx.fpr[13]; const float ft = ctx.fpr[6]; 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; }
|
|
{ const float fs = ctx.fpr[14]; const float ft = ctx.fpr[4]; 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.fpr[13] = ctx.fpr[13] - ctx.fpr[14];
|
|
aot_mem.aot_store32(ctx.gpr[4] + static_cast<std::uint32_t>(0), std::bit_cast<std::uint32_t>(ctx.fpr[15]));
|
|
aot_mem.aot_store32(ctx.gpr[4] + static_cast<std::uint32_t>(8), std::bit_cast<std::uint32_t>(ctx.fpr[12]));
|
|
aot_mem.aot_store32(ctx.gpr[4] + static_cast<std::uint32_t>(16), std::bit_cast<std::uint32_t>(ctx.fpr[17]));
|
|
aot_mem.aot_store32(ctx.gpr[4] + static_cast<std::uint32_t>(24), std::bit_cast<std::uint32_t>(ctx.fpr[16]));
|
|
aot_mem.aot_store32(ctx.gpr[4] + static_cast<std::uint32_t>(32), std::bit_cast<std::uint32_t>(ctx.fpr[19]));
|
|
aot_mem.aot_store32(ctx.gpr[4] + static_cast<std::uint32_t>(40), std::bit_cast<std::uint32_t>(ctx.fpr[18]));
|
|
aot_mem.aot_store32(ctx.gpr[4] + static_cast<std::uint32_t>(48), std::bit_cast<std::uint32_t>(ctx.fpr[1]));
|
|
aot_mem.aot_store32(ctx.gpr[4] + static_cast<std::uint32_t>(56), std::bit_cast<std::uint32_t>(ctx.fpr[13]));
|
|
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_08A063D8:
|
|
ctx.gpr[5] = (std::bit_cast<std::uint32_t>(ctx.fpr[12]));
|
|
ctx.set_vfpu_scalar_bits_ct<0u>(ctx.gpr[5]);
|
|
{ const float vfpu_constant = std::bit_cast<float>(0x3F22F983u);
|
|
const float vfpu_value[4]{vfpu_constant, vfpu_constant, vfpu_constant, vfpu_constant};
|
|
ctx.write_vfpu_vector_with_destination_prefix_ct<32u, 1u>(vfpu_value); }
|
|
{ float vfpu_s[4]{}, vfpu_t[4]{}, vfpu_d[4]{};
|
|
ctx.read_vfpu_vector_with_source_prefix_ct<0u, 1u, 0u>(vfpu_s);
|
|
ctx.read_vfpu_vector_with_source_prefix_ct<32u, 1u, 1u>(vfpu_t);
|
|
for (std::uint32_t i = 0; i < 1u; ++i) vfpu_d[i] = vfpu_s[i] * vfpu_t[i];
|
|
ctx.write_vfpu_vector_with_destination_prefix_ct<64u, 1u>(vfpu_d); }
|
|
{ float vfpu_s[4]{}, vfpu_d[4]{};
|
|
ctx.read_vfpu_vector_with_source_prefix_ct<64u, 1u, 0u>(vfpu_s);
|
|
for (std::uint32_t i = 0; i < 1u; ++i) vfpu_d[i] = std::cos(vfpu_s[i] * 1.57079632679489661923f);
|
|
ctx.write_vfpu_vector_with_destination_prefix_ct<1u, 1u>(vfpu_d); }
|
|
ctx.gpr[5] = (ctx.vfpu_scalar_bits_ct<1u>());
|
|
ctx.fpr[13] = 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<0u>(ctx.gpr[5]);
|
|
{ const float vfpu_constant = std::bit_cast<float>(0x3F22F983u);
|
|
const float vfpu_value[4]{vfpu_constant, vfpu_constant, vfpu_constant, vfpu_constant};
|
|
ctx.write_vfpu_vector_with_destination_prefix_ct<32u, 1u>(vfpu_value); }
|
|
{ float vfpu_s[4]{}, vfpu_t[4]{}, vfpu_d[4]{};
|
|
ctx.read_vfpu_vector_with_source_prefix_ct<0u, 1u, 0u>(vfpu_s);
|
|
ctx.read_vfpu_vector_with_source_prefix_ct<32u, 1u, 1u>(vfpu_t);
|
|
for (std::uint32_t i = 0; i < 1u; ++i) vfpu_d[i] = vfpu_s[i] * vfpu_t[i];
|
|
ctx.write_vfpu_vector_with_destination_prefix_ct<64u, 1u>(vfpu_d); }
|
|
{ float vfpu_s[4]{}, vfpu_d[4]{};
|
|
ctx.read_vfpu_vector_with_source_prefix_ct<64u, 1u, 0u>(vfpu_s);
|
|
for (std::uint32_t i = 0; i < 1u; ++i) vfpu_d[i] = std::sin(vfpu_s[i] * 1.57079632679489661923f);
|
|
ctx.write_vfpu_vector_with_destination_prefix_ct<1u, 1u>(vfpu_d); }
|
|
ctx.gpr[5] = (ctx.vfpu_scalar_bits_ct<1u>());
|
|
ctx.fpr[14] = std::bit_cast<float>(ctx.gpr[5]);
|
|
ctx.fpr[12] = std::bit_cast<float>(aot_mem.aot_load32(ctx.gpr[4] + static_cast<std::uint32_t>(0)));
|
|
{ const float fs = ctx.fpr[13]; const float ft = ctx.fpr[12]; 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[16] = std::bit_cast<float>(aot_mem.aot_load32(ctx.gpr[4] + static_cast<std::uint32_t>(4)));
|
|
{ const float fs = ctx.fpr[14]; const float ft = ctx.fpr[16]; 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[15] = ctx.fpr[15] - ctx.fpr[17];
|
|
{ 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[13]; const float ft = ctx.fpr[16]; 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; }
|
|
ctx.fpr[12] = ctx.fpr[12] + ctx.fpr[16];
|
|
ctx.fpr[18] = std::bit_cast<float>(aot_mem.aot_load32(ctx.gpr[4] + static_cast<std::uint32_t>(16)));
|
|
{ const float fs = ctx.fpr[13]; const float ft = ctx.fpr[18]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[19] = std::bit_cast<float>(0x7FC00000u); else ctx.fpr[19] = fs * ft; }
|
|
ctx.fpr[0] = std::bit_cast<float>(aot_mem.aot_load32(ctx.gpr[4] + static_cast<std::uint32_t>(20)));
|
|
{ const float fs = ctx.fpr[14]; const float ft = ctx.fpr[0]; 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[17] = ctx.fpr[19] - ctx.fpr[17];
|
|
{ const float fs = ctx.fpr[14]; const float ft = ctx.fpr[18]; 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; }
|
|
{ const float fs = ctx.fpr[13]; const float ft = ctx.fpr[0]; 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; }
|
|
ctx.fpr[16] = ctx.fpr[18] + ctx.fpr[16];
|
|
ctx.fpr[2] = std::bit_cast<float>(aot_mem.aot_load32(ctx.gpr[4] + static_cast<std::uint32_t>(32)));
|
|
{ const float fs = ctx.fpr[13]; const float ft = ctx.fpr[2]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[1] = std::bit_cast<float>(0x7FC00000u); else ctx.fpr[1] = fs * ft; }
|
|
ctx.fpr[3] = std::bit_cast<float>(aot_mem.aot_load32(ctx.gpr[4] + static_cast<std::uint32_t>(36)));
|
|
{ const float fs = ctx.fpr[14]; const float ft = ctx.fpr[3]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[19] = std::bit_cast<float>(0x7FC00000u); else ctx.fpr[19] = fs * ft; }
|
|
ctx.fpr[19] = ctx.fpr[1] - ctx.fpr[19];
|
|
{ const float fs = ctx.fpr[14]; const float ft = ctx.fpr[2]; 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; }
|
|
{ const float fs = ctx.fpr[13]; const float ft = ctx.fpr[3]; 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[18] = ctx.fpr[0] + ctx.fpr[18];
|
|
ctx.fpr[4] = std::bit_cast<float>(aot_mem.aot_load32(ctx.gpr[4] + static_cast<std::uint32_t>(48)));
|
|
{ const float fs = ctx.fpr[13]; const float ft = ctx.fpr[4]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[5] = std::bit_cast<float>(0x7FC00000u); else ctx.fpr[5] = fs * ft; }
|
|
ctx.fpr[6] = std::bit_cast<float>(aot_mem.aot_load32(ctx.gpr[4] + static_cast<std::uint32_t>(52)));
|
|
{ const float fs = ctx.fpr[14]; const float ft = ctx.fpr[6]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[1] = std::bit_cast<float>(0x7FC00000u); else ctx.fpr[1] = fs * ft; }
|
|
ctx.fpr[2] = ctx.fpr[5] - ctx.fpr[1];
|
|
{ const float fs = ctx.fpr[14]; const float ft = ctx.fpr[4]; 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; }
|
|
{ const float fs = ctx.fpr[13]; const float ft = ctx.fpr[6]; 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[13] = ctx.fpr[14] + ctx.fpr[13];
|
|
aot_mem.aot_store32(ctx.gpr[4] + static_cast<std::uint32_t>(0), std::bit_cast<std::uint32_t>(ctx.fpr[15]));
|
|
aot_mem.aot_store32(ctx.gpr[4] + static_cast<std::uint32_t>(4), std::bit_cast<std::uint32_t>(ctx.fpr[12]));
|
|
aot_mem.aot_store32(ctx.gpr[4] + static_cast<std::uint32_t>(16), std::bit_cast<std::uint32_t>(ctx.fpr[17]));
|
|
aot_mem.aot_store32(ctx.gpr[4] + static_cast<std::uint32_t>(20), std::bit_cast<std::uint32_t>(ctx.fpr[16]));
|
|
aot_mem.aot_store32(ctx.gpr[4] + static_cast<std::uint32_t>(32), std::bit_cast<std::uint32_t>(ctx.fpr[19]));
|
|
aot_mem.aot_store32(ctx.gpr[4] + static_cast<std::uint32_t>(36), std::bit_cast<std::uint32_t>(ctx.fpr[18]));
|
|
aot_mem.aot_store32(ctx.gpr[4] + static_cast<std::uint32_t>(48), std::bit_cast<std::uint32_t>(ctx.fpr[2]));
|
|
aot_mem.aot_store32(ctx.gpr[4] + static_cast<std::uint32_t>(52), std::bit_cast<std::uint32_t>(ctx.fpr[13]));
|
|
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_08A064B8:
|
|
ctx.gpr[2] = (0u | 0u);
|
|
{ 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); }
|
|
{ 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[4] + 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<1u, 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); }
|
|
ctx.execute_vfpu_vcmp_ct<0u, 4u, 3u, 5u>();
|
|
{ const bool branch_taken = ((ctx.vfpu_ctrl[3] >> 4u) & 1u) != 0u;
|
|
{ const std::uint32_t vfpu_address = ctx.gpr[4] + 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<2u, 4u>(vfpu_value); }
|
|
if (branch_taken) {
|
|
goto L_08A06504;
|
|
}
|
|
goto L_08A064D8;
|
|
}
|
|
L_08A064D8:
|
|
{ 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); }
|
|
ctx.execute_vfpu_vcmp_ct<1u, 5u, 3u, 5u>();
|
|
{ const bool branch_taken = ((ctx.vfpu_ctrl[3] >> 4u) & 1u) != 0u;
|
|
{ const std::uint32_t vfpu_address = ctx.gpr[4] + 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<3u, 4u>(vfpu_value); }
|
|
if (branch_taken) {
|
|
goto L_08A06504;
|
|
}
|
|
goto L_08A064E8;
|
|
}
|
|
L_08A064E8:
|
|
{ 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); }
|
|
ctx.execute_vfpu_vcmp_ct<2u, 6u, 3u, 5u>();
|
|
{ const bool branch_taken = ((ctx.vfpu_ctrl[3] >> 4u) & 1u) != 0u;
|
|
ctx.execute_vfpu_vcmp_ct<3u, 7u, 3u, 5u>();
|
|
if (branch_taken) {
|
|
goto L_08A06504;
|
|
}
|
|
goto L_08A064F8;
|
|
}
|
|
L_08A064F8:
|
|
{ const bool branch_taken = ((ctx.vfpu_ctrl[3] >> 4u) & 1u) != 0u;
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_08A06504;
|
|
}
|
|
goto L_08A06500;
|
|
}
|
|
L_08A06500:
|
|
ctx.gpr[2] = (ctx.gpr[2] + static_cast<std::uint32_t>(1));
|
|
goto L_08A06504;
|
|
L_08A06504:
|
|
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_08A0650C:
|
|
{ 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<4u, 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<32u, 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<33u, 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<34u, 4u>(vfpu_value); }
|
|
{ float vfpu_value[4]{};
|
|
ctx.write_vfpu_vector_with_destination_prefix_ct<35u, 4u>(vfpu_value); }
|
|
{ float vfpu_matrix[16]{}, vfpu_target_raw[4]{}, vfpu_target[4]{}, vfpu_result[4]{};
|
|
ctx.read_vfpu_matrix(vfpu_matrix, 32u, 3u);
|
|
ctx.read_vfpu_vector_ct<4u, 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, 3u, vfpu_side); }
|
|
{ float vfpu_s[4]{}, vfpu_d[4]{};
|
|
ctx.read_vfpu_vector_with_source_prefix_ct<3u, 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<3u, 3u>(vfpu_d); }
|
|
aot_mem.aot_store32(ctx.gpr[4] + static_cast<std::uint32_t>(64), ctx.vfpu_scalar_bits_ct<99u>());
|
|
{ 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])); }
|
|
{ float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<1u, 4u>(vfpu_value);
|
|
const std::uint32_t vfpu_address = ctx.gpr[4] + static_cast<std::uint32_t>(16);
|
|
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])); }
|
|
{ float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<2u, 4u>(vfpu_value);
|
|
const std::uint32_t vfpu_address = ctx.gpr[4] + static_cast<std::uint32_t>(32);
|
|
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];
|
|
{ float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<3u, 4u>(vfpu_value);
|
|
const std::uint32_t vfpu_address = ctx.gpr[4] + static_cast<std::uint32_t>(48);
|
|
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])); }
|
|
local_pc = jump_target;
|
|
if (++local_transfers < 2048u) { entry_id = 0u; goto LOCAL_DISPATCH; }
|
|
ctx.pc = jump_target;
|
|
return;
|
|
L_08A06548:
|
|
{ const std::uint32_t vfpu_address = ctx.gpr[4] + 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<4u, 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<32u, 4u>(vfpu_value); }
|
|
{ const std::uint32_t vfpu_address = ctx.gpr[4] + 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<33u, 4u>(vfpu_value); }
|
|
{ const std::uint32_t vfpu_address = ctx.gpr[4] + 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<34u, 4u>(vfpu_value); }
|
|
ctx.gpr[2] = (ctx.gpr[5] | 0u);
|
|
{ float vfpu_value[4]{};
|
|
ctx.write_vfpu_vector_with_destination_prefix_ct<35u, 4u>(vfpu_value); }
|
|
{ float vfpu_matrix[16]{}, vfpu_target_raw[4]{}, vfpu_target[4]{}, vfpu_result[4]{};
|
|
ctx.read_vfpu_matrix(vfpu_matrix, 32u, 3u);
|
|
ctx.read_vfpu_vector_ct<4u, 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, 3u, vfpu_side); }
|
|
{ float vfpu_s[4]{}, vfpu_d[4]{};
|
|
ctx.read_vfpu_vector_with_source_prefix_ct<3u, 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<3u, 3u>(vfpu_d); }
|
|
{ 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])); }
|
|
{ float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<1u, 4u>(vfpu_value);
|
|
const std::uint32_t vfpu_address = ctx.gpr[5] + static_cast<std::uint32_t>(16);
|
|
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])); }
|
|
{ float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<2u, 4u>(vfpu_value);
|
|
const std::uint32_t vfpu_address = ctx.gpr[5] + static_cast<std::uint32_t>(32);
|
|
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];
|
|
{ float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<3u, 4u>(vfpu_value);
|
|
const std::uint32_t vfpu_address = ctx.gpr[5] + static_cast<std::uint32_t>(48);
|
|
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])); }
|
|
local_pc = jump_target;
|
|
if (++local_transfers < 2048u) { entry_id = 0u; goto LOCAL_DISPATCH; }
|
|
ctx.pc = jump_target;
|
|
return;
|
|
L_08A06584:
|
|
{ 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); }
|
|
{ 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<8u, 4u>(vfpu_value); }
|
|
{ const std::uint32_t vfpu_address = ctx.gpr[6] + 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<9u, 4u>(vfpu_value); }
|
|
{ const std::uint32_t vfpu_address = ctx.gpr[6] + 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<10u, 4u>(vfpu_value); }
|
|
{ const std::uint32_t vfpu_address = ctx.gpr[6] + 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<11u, 4u>(vfpu_value); }
|
|
{ float vfpu_value[4]{}; vfpu_value[3u] = 1.0f;
|
|
ctx.write_vfpu_vector_with_destination_prefix_ct<39u, 4u>(vfpu_value); }
|
|
{ float vfpu_value[4]{}; vfpu_value[3u] = 1.0f;
|
|
ctx.write_vfpu_vector_with_destination_prefix_ct<43u, 4u>(vfpu_value); }
|
|
aot_mem.aot_store32(ctx.gpr[4] + static_cast<std::uint32_t>(64), ctx.vfpu_scalar_bits_ct<100u>());
|
|
{ float vfpu_s[16]{}, vfpu_t[16]{}, vfpu_d[16]{};
|
|
ctx.read_vfpu_matrix(vfpu_s, 8u, 4u);
|
|
ctx.read_vfpu_matrix(vfpu_t, 36u, 4u);
|
|
for (std::uint32_t a = 0; a < 4u; ++a) {
|
|
for (std::uint32_t b = 0; b < 4u; ++b) {
|
|
float sum = 0.0f;
|
|
for (std::uint32_t c = 0; c < 4u; ++c) sum += vfpu_s[b * 4u + c] * vfpu_t[a * 4u + c];
|
|
vfpu_d[a * 4u + b] = sum;
|
|
}
|
|
}
|
|
ctx.write_vfpu_matrix(vfpu_d, 32u, 4u);
|
|
ctx.eat_vfpu_prefixes(); }
|
|
{ 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])); }
|
|
{ float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<1u, 4u>(vfpu_value);
|
|
const std::uint32_t vfpu_address = ctx.gpr[4] + static_cast<std::uint32_t>(16);
|
|
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])); }
|
|
{ float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<2u, 4u>(vfpu_value);
|
|
const std::uint32_t vfpu_address = ctx.gpr[4] + static_cast<std::uint32_t>(32);
|
|
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];
|
|
{ float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<3u, 4u>(vfpu_value);
|
|
const std::uint32_t vfpu_address = ctx.gpr[4] + static_cast<std::uint32_t>(48);
|
|
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])); }
|
|
local_pc = jump_target;
|
|
if (++local_transfers < 2048u) { entry_id = 0u; goto LOCAL_DISPATCH; }
|
|
ctx.pc = jump_target;
|
|
return;
|
|
L_08A065D0:
|
|
ctx.gpr[6] = (aot_mem.aot_load32(ctx.gpr[4] + static_cast<std::uint32_t>(64)));
|
|
{ const bool branch_taken = ctx.gpr[6] == 0u;
|
|
{ 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); }
|
|
if (branch_taken) {
|
|
goto L_08A065FC;
|
|
}
|
|
goto L_08A065DC;
|
|
}
|
|
L_08A065DC:
|
|
{ const std::uint32_t vfpu_address = ctx.gpr[4] + 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<1u, 4u>(vfpu_value); }
|
|
{ const std::uint32_t vfpu_address = ctx.gpr[4] + 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<2u, 4u>(vfpu_value); }
|
|
{ const std::uint32_t vfpu_address = ctx.gpr[4] + 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<3u, 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])); }
|
|
{ float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<1u, 4u>(vfpu_value);
|
|
const std::uint32_t vfpu_address = ctx.gpr[6] + static_cast<std::uint32_t>(16);
|
|
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])); }
|
|
{ float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<2u, 4u>(vfpu_value);
|
|
const std::uint32_t vfpu_address = ctx.gpr[6] + static_cast<std::uint32_t>(32);
|
|
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];
|
|
{ float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<3u, 4u>(vfpu_value);
|
|
const std::uint32_t vfpu_address = ctx.gpr[6] + static_cast<std::uint32_t>(48);
|
|
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])); }
|
|
local_pc = jump_target;
|
|
if (++local_transfers < 2048u) { entry_id = 0u; goto LOCAL_DISPATCH; }
|
|
ctx.pc = jump_target;
|
|
return;
|
|
L_08A065FC:
|
|
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_08A06604:
|
|
ctx.gpr[6] = (aot_mem.aot_load32(ctx.gpr[4] + static_cast<std::uint32_t>(64)));
|
|
{ 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); }
|
|
{ const std::uint32_t vfpu_address = ctx.gpr[6] + 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<1u, 4u>(vfpu_value); }
|
|
{ const std::uint32_t vfpu_address = ctx.gpr[6] + 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<2u, 4u>(vfpu_value); }
|
|
{ const std::uint32_t vfpu_address = ctx.gpr[6] + 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<3u, 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])); }
|
|
{ float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<1u, 4u>(vfpu_value);
|
|
const std::uint32_t vfpu_address = ctx.gpr[4] + static_cast<std::uint32_t>(16);
|
|
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])); }
|
|
{ float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<2u, 4u>(vfpu_value);
|
|
const std::uint32_t vfpu_address = ctx.gpr[4] + static_cast<std::uint32_t>(32);
|
|
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];
|
|
{ float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<3u, 4u>(vfpu_value);
|
|
const std::uint32_t vfpu_address = ctx.gpr[4] + static_cast<std::uint32_t>(48);
|
|
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])); }
|
|
local_pc = jump_target;
|
|
if (++local_transfers < 2048u) { entry_id = 0u; goto LOCAL_DISPATCH; }
|
|
ctx.pc = jump_target;
|
|
return;
|
|
L_08A06634:
|
|
ctx.execute_vfpu_matrix_init(32u, 4u, 3u);
|
|
{ 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])); }
|
|
{ float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<1u, 4u>(vfpu_value);
|
|
const std::uint32_t vfpu_address = ctx.gpr[4] + static_cast<std::uint32_t>(16);
|
|
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])); }
|
|
{ float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<2u, 4u>(vfpu_value);
|
|
const std::uint32_t vfpu_address = ctx.gpr[4] + static_cast<std::uint32_t>(32);
|
|
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];
|
|
{ float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<3u, 4u>(vfpu_value);
|
|
const std::uint32_t vfpu_address = ctx.gpr[4] + static_cast<std::uint32_t>(48);
|
|
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])); }
|
|
local_pc = jump_target;
|
|
if (++local_transfers < 2048u) { entry_id = 0u; goto LOCAL_DISPATCH; }
|
|
ctx.pc = jump_target;
|
|
return;
|
|
L_08A06654:
|
|
ctx.execute_vfpu_matrix_init(32u, 3u, 3u);
|
|
{ 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])); }
|
|
{ float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<1u, 4u>(vfpu_value);
|
|
const std::uint32_t vfpu_address = ctx.gpr[4] + static_cast<std::uint32_t>(16);
|
|
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];
|
|
{ float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<2u, 4u>(vfpu_value);
|
|
const std::uint32_t vfpu_address = ctx.gpr[4] + static_cast<std::uint32_t>(32);
|
|
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])); }
|
|
local_pc = jump_target;
|
|
if (++local_transfers < 2048u) { entry_id = 0u; goto LOCAL_DISPATCH; }
|
|
ctx.pc = jump_target;
|
|
return;
|
|
L_08A06670:
|
|
ctx.gpr[5] = (std::bit_cast<std::uint32_t>(ctx.fpr[12]));
|
|
ctx.execute_vfpu_matrix_init(32u, 4u, 3u);
|
|
ctx.set_vfpu_scalar_bits_ct<0u>(ctx.gpr[5]);
|
|
ctx.set_vfpu_scalar_bits_ct<33u>(ctx.gpr[5]);
|
|
ctx.set_vfpu_scalar_bits_ct<66u>(ctx.gpr[5]);
|
|
{ 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])); }
|
|
{ float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<1u, 4u>(vfpu_value);
|
|
const std::uint32_t vfpu_address = ctx.gpr[4] + static_cast<std::uint32_t>(16);
|
|
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])); }
|
|
{ float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<2u, 4u>(vfpu_value);
|
|
const std::uint32_t vfpu_address = ctx.gpr[4] + static_cast<std::uint32_t>(32);
|
|
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];
|
|
{ float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<3u, 4u>(vfpu_value);
|
|
const std::uint32_t vfpu_address = ctx.gpr[4] + static_cast<std::uint32_t>(48);
|
|
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])); }
|
|
local_pc = jump_target;
|
|
if (++local_transfers < 2048u) { entry_id = 0u; goto LOCAL_DISPATCH; }
|
|
ctx.pc = jump_target;
|
|
return;
|
|
L_08A066A0:
|
|
ctx.gpr[5] = (std::bit_cast<std::uint32_t>(ctx.fpr[12]));
|
|
ctx.gpr[6] = (std::bit_cast<std::uint32_t>(ctx.fpr[13]));
|
|
ctx.gpr[7] = (std::bit_cast<std::uint32_t>(ctx.fpr[14]));
|
|
ctx.execute_vfpu_matrix_init(32u, 3u, 3u);
|
|
ctx.set_vfpu_scalar_bits_ct<3u>(ctx.gpr[5]);
|
|
ctx.set_vfpu_scalar_bits_ct<35u>(ctx.gpr[6]);
|
|
ctx.set_vfpu_scalar_bits_ct<67u>(ctx.gpr[7]);
|
|
{ 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])); }
|
|
{ float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<1u, 4u>(vfpu_value);
|
|
const std::uint32_t vfpu_address = ctx.gpr[4] + static_cast<std::uint32_t>(16);
|
|
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])); }
|
|
{ float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<2u, 4u>(vfpu_value);
|
|
const std::uint32_t vfpu_address = ctx.gpr[4] + static_cast<std::uint32_t>(32);
|
|
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];
|
|
{ float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<3u, 4u>(vfpu_value);
|
|
const std::uint32_t vfpu_address = ctx.gpr[4] + static_cast<std::uint32_t>(48);
|
|
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])); }
|
|
local_pc = jump_target;
|
|
if (++local_transfers < 2048u) { entry_id = 0u; goto LOCAL_DISPATCH; }
|
|
ctx.pc = jump_target;
|
|
return;
|
|
L_08A066D8:
|
|
ctx.gpr[5] = (std::bit_cast<std::uint32_t>(ctx.fpr[12]));
|
|
ctx.set_vfpu_scalar_bits_ct<8u>(ctx.gpr[5]);
|
|
{ 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<4u, 4u>(vfpu_value); }
|
|
{ const std::uint32_t vfpu_address = ctx.gpr[4] + 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[4] + 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); }
|
|
ctx.execute_vfpu_vmscl(32u, 36u, 8u, 3u);
|
|
{ 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])); }
|
|
{ float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<1u, 4u>(vfpu_value);
|
|
const std::uint32_t vfpu_address = ctx.gpr[4] + static_cast<std::uint32_t>(16);
|
|
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];
|
|
{ float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<2u, 4u>(vfpu_value);
|
|
const std::uint32_t vfpu_address = ctx.gpr[4] + static_cast<std::uint32_t>(32);
|
|
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])); }
|
|
local_pc = jump_target;
|
|
if (++local_transfers < 2048u) { entry_id = 0u; goto LOCAL_DISPATCH; }
|
|
ctx.pc = jump_target;
|
|
return;
|
|
L_08A06708:
|
|
ctx.gpr[5] = (std::bit_cast<std::uint32_t>(ctx.fpr[12]));
|
|
ctx.gpr[6] = (std::bit_cast<std::uint32_t>(ctx.fpr[13]));
|
|
ctx.gpr[7] = (std::bit_cast<std::uint32_t>(ctx.fpr[14]));
|
|
{ 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); }
|
|
{ const std::uint32_t vfpu_address = ctx.gpr[4] + 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<1u, 4u>(vfpu_value); }
|
|
{ const std::uint32_t vfpu_address = ctx.gpr[4] + 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<2u, 4u>(vfpu_value); }
|
|
ctx.set_vfpu_scalar_bits_ct<8u>(ctx.gpr[5]);
|
|
ctx.set_vfpu_scalar_bits_ct<40u>(ctx.gpr[6]);
|
|
ctx.set_vfpu_scalar_bits_ct<72u>(ctx.gpr[7]);
|
|
ctx.execute_vfpu_vscl_ct<32u, 32u, 8u, 3u>();
|
|
ctx.execute_vfpu_vscl_ct<33u, 33u, 40u, 3u>();
|
|
ctx.execute_vfpu_vscl_ct<34u, 34u, 72u, 3u>();
|
|
{ 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])); }
|
|
{ float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<1u, 4u>(vfpu_value);
|
|
const std::uint32_t vfpu_address = ctx.gpr[4] + static_cast<std::uint32_t>(16);
|
|
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];
|
|
{ float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<2u, 4u>(vfpu_value);
|
|
const std::uint32_t vfpu_address = ctx.gpr[4] + static_cast<std::uint32_t>(32);
|
|
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])); }
|
|
local_pc = jump_target;
|
|
if (++local_transfers < 2048u) { entry_id = 0u; goto LOCAL_DISPATCH; }
|
|
ctx.pc = jump_target;
|
|
return;
|
|
L_08A06750:
|
|
ctx.gpr[5] = (std::bit_cast<std::uint32_t>(ctx.fpr[12]));
|
|
ctx.gpr[6] = (std::bit_cast<std::uint32_t>(ctx.fpr[13]));
|
|
ctx.gpr[7] = (std::bit_cast<std::uint32_t>(ctx.fpr[14]));
|
|
ctx.set_vfpu_scalar_bits_ct<8u>(ctx.gpr[5]);
|
|
ctx.set_vfpu_scalar_bits_ct<40u>(ctx.gpr[6]);
|
|
ctx.set_vfpu_scalar_bits_ct<72u>(ctx.gpr[7]);
|
|
{ const std::uint32_t vfpu_address = ctx.gpr[4] + 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<3u, 4u>(vfpu_value); }
|
|
{ float vfpu_s[4]{}, vfpu_t[4]{}, vfpu_d[4]{};
|
|
ctx.read_vfpu_vector_with_source_prefix_ct<3u, 3u, 0u>(vfpu_s);
|
|
ctx.read_vfpu_vector_with_source_prefix_ct<8u, 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<3u, 3u>(vfpu_d); }
|
|
jump_target = ctx.gpr[31];
|
|
{ float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<3u, 4u>(vfpu_value);
|
|
const std::uint32_t vfpu_address = ctx.gpr[4] + static_cast<std::uint32_t>(48);
|
|
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])); }
|
|
local_pc = jump_target;
|
|
if (++local_transfers < 2048u) { entry_id = 0u; goto LOCAL_DISPATCH; }
|
|
ctx.pc = jump_target;
|
|
return;
|
|
L_08A06780:
|
|
ctx.gpr[5] = (std::bit_cast<std::uint32_t>(ctx.fpr[12]));
|
|
ctx.set_vfpu_scalar_bits_ct<0u>(ctx.gpr[5]);
|
|
{ const float vfpu_constant = std::bit_cast<float>(0x3F22F983u);
|
|
const float vfpu_value[4]{vfpu_constant, vfpu_constant, vfpu_constant, vfpu_constant};
|
|
ctx.write_vfpu_vector_with_destination_prefix_ct<32u, 1u>(vfpu_value); }
|
|
{ float vfpu_s[4]{}, vfpu_t[4]{}, vfpu_d[4]{};
|
|
ctx.read_vfpu_vector_with_source_prefix_ct<0u, 1u, 0u>(vfpu_s);
|
|
ctx.read_vfpu_vector_with_source_prefix_ct<32u, 1u, 1u>(vfpu_t);
|
|
for (std::uint32_t i = 0; i < 1u; ++i) vfpu_d[i] = vfpu_s[i] * vfpu_t[i];
|
|
ctx.write_vfpu_vector_with_destination_prefix_ct<64u, 1u>(vfpu_d); }
|
|
{ float vfpu_s[4]{}, vfpu_d[4]{};
|
|
ctx.read_vfpu_vector_with_source_prefix_ct<64u, 1u, 0u>(vfpu_s);
|
|
for (std::uint32_t i = 0; i < 1u; ++i) vfpu_d[i] = std::cos(vfpu_s[i] * 1.57079632679489661923f);
|
|
ctx.write_vfpu_vector_with_destination_prefix_ct<1u, 1u>(vfpu_d); }
|
|
ctx.gpr[5] = (ctx.vfpu_scalar_bits_ct<1u>());
|
|
ctx.fpr[15] = 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<0u>(ctx.gpr[5]);
|
|
{ const float vfpu_constant = std::bit_cast<float>(0x3F22F983u);
|
|
const float vfpu_value[4]{vfpu_constant, vfpu_constant, vfpu_constant, vfpu_constant};
|
|
ctx.write_vfpu_vector_with_destination_prefix_ct<32u, 1u>(vfpu_value); }
|
|
{ float vfpu_s[4]{}, vfpu_t[4]{}, vfpu_d[4]{};
|
|
ctx.read_vfpu_vector_with_source_prefix_ct<0u, 1u, 0u>(vfpu_s);
|
|
ctx.read_vfpu_vector_with_source_prefix_ct<32u, 1u, 1u>(vfpu_t);
|
|
for (std::uint32_t i = 0; i < 1u; ++i) vfpu_d[i] = vfpu_s[i] * vfpu_t[i];
|
|
ctx.write_vfpu_vector_with_destination_prefix_ct<64u, 1u>(vfpu_d); }
|
|
{ float vfpu_s[4]{}, vfpu_d[4]{};
|
|
ctx.read_vfpu_vector_with_source_prefix_ct<64u, 1u, 0u>(vfpu_s);
|
|
for (std::uint32_t i = 0; i < 1u; ++i) vfpu_d[i] = std::sin(vfpu_s[i] * 1.57079632679489661923f);
|
|
ctx.write_vfpu_vector_with_destination_prefix_ct<1u, 1u>(vfpu_d); }
|
|
ctx.gpr[5] = (ctx.vfpu_scalar_bits_ct<1u>());
|
|
ctx.fpr[16] = std::bit_cast<float>(ctx.gpr[5]);
|
|
ctx.gpr[5] = (std::bit_cast<std::uint32_t>(ctx.fpr[13]));
|
|
ctx.set_vfpu_scalar_bits_ct<0u>(ctx.gpr[5]);
|
|
{ const float vfpu_constant = std::bit_cast<float>(0x3F22F983u);
|
|
const float vfpu_value[4]{vfpu_constant, vfpu_constant, vfpu_constant, vfpu_constant};
|
|
ctx.write_vfpu_vector_with_destination_prefix_ct<32u, 1u>(vfpu_value); }
|
|
{ float vfpu_s[4]{}, vfpu_t[4]{}, vfpu_d[4]{};
|
|
ctx.read_vfpu_vector_with_source_prefix_ct<0u, 1u, 0u>(vfpu_s);
|
|
ctx.read_vfpu_vector_with_source_prefix_ct<32u, 1u, 1u>(vfpu_t);
|
|
for (std::uint32_t i = 0; i < 1u; ++i) vfpu_d[i] = vfpu_s[i] * vfpu_t[i];
|
|
ctx.write_vfpu_vector_with_destination_prefix_ct<64u, 1u>(vfpu_d); }
|
|
{ float vfpu_s[4]{}, vfpu_d[4]{};
|
|
ctx.read_vfpu_vector_with_source_prefix_ct<64u, 1u, 0u>(vfpu_s);
|
|
for (std::uint32_t i = 0; i < 1u; ++i) vfpu_d[i] = std::cos(vfpu_s[i] * 1.57079632679489661923f);
|
|
ctx.write_vfpu_vector_with_destination_prefix_ct<1u, 1u>(vfpu_d); }
|
|
ctx.gpr[5] = (ctx.vfpu_scalar_bits_ct<1u>());
|
|
ctx.fpr[12] = std::bit_cast<float>(ctx.gpr[5]);
|
|
ctx.gpr[5] = (std::bit_cast<std::uint32_t>(ctx.fpr[13]));
|
|
ctx.set_vfpu_scalar_bits_ct<0u>(ctx.gpr[5]);
|
|
{ const float vfpu_constant = std::bit_cast<float>(0x3F22F983u);
|
|
const float vfpu_value[4]{vfpu_constant, vfpu_constant, vfpu_constant, vfpu_constant};
|
|
ctx.write_vfpu_vector_with_destination_prefix_ct<32u, 1u>(vfpu_value); }
|
|
{ float vfpu_s[4]{}, vfpu_t[4]{}, vfpu_d[4]{};
|
|
ctx.read_vfpu_vector_with_source_prefix_ct<0u, 1u, 0u>(vfpu_s);
|
|
ctx.read_vfpu_vector_with_source_prefix_ct<32u, 1u, 1u>(vfpu_t);
|
|
for (std::uint32_t i = 0; i < 1u; ++i) vfpu_d[i] = vfpu_s[i] * vfpu_t[i];
|
|
ctx.write_vfpu_vector_with_destination_prefix_ct<64u, 1u>(vfpu_d); }
|
|
{ float vfpu_s[4]{}, vfpu_d[4]{};
|
|
ctx.read_vfpu_vector_with_source_prefix_ct<64u, 1u, 0u>(vfpu_s);
|
|
for (std::uint32_t i = 0; i < 1u; ++i) vfpu_d[i] = std::sin(vfpu_s[i] * 1.57079632679489661923f);
|
|
ctx.write_vfpu_vector_with_destination_prefix_ct<1u, 1u>(vfpu_d); }
|
|
ctx.gpr[5] = (ctx.vfpu_scalar_bits_ct<1u>());
|
|
ctx.fpr[17] = std::bit_cast<float>(ctx.gpr[5]);
|
|
ctx.gpr[5] = (std::bit_cast<std::uint32_t>(ctx.fpr[14]));
|
|
ctx.set_vfpu_scalar_bits_ct<0u>(ctx.gpr[5]);
|
|
{ const float vfpu_constant = std::bit_cast<float>(0x3F22F983u);
|
|
const float vfpu_value[4]{vfpu_constant, vfpu_constant, vfpu_constant, vfpu_constant};
|
|
ctx.write_vfpu_vector_with_destination_prefix_ct<32u, 1u>(vfpu_value); }
|
|
{ float vfpu_s[4]{}, vfpu_t[4]{}, vfpu_d[4]{};
|
|
ctx.read_vfpu_vector_with_source_prefix_ct<0u, 1u, 0u>(vfpu_s);
|
|
ctx.read_vfpu_vector_with_source_prefix_ct<32u, 1u, 1u>(vfpu_t);
|
|
for (std::uint32_t i = 0; i < 1u; ++i) vfpu_d[i] = vfpu_s[i] * vfpu_t[i];
|
|
ctx.write_vfpu_vector_with_destination_prefix_ct<64u, 1u>(vfpu_d); }
|
|
{ float vfpu_s[4]{}, vfpu_d[4]{};
|
|
ctx.read_vfpu_vector_with_source_prefix_ct<64u, 1u, 0u>(vfpu_s);
|
|
for (std::uint32_t i = 0; i < 1u; ++i) vfpu_d[i] = std::cos(vfpu_s[i] * 1.57079632679489661923f);
|
|
ctx.write_vfpu_vector_with_destination_prefix_ct<1u, 1u>(vfpu_d); }
|
|
ctx.gpr[5] = (ctx.vfpu_scalar_bits_ct<1u>());
|
|
ctx.fpr[13] = std::bit_cast<float>(ctx.gpr[5]);
|
|
ctx.gpr[5] = (std::bit_cast<std::uint32_t>(ctx.fpr[14]));
|
|
ctx.set_vfpu_scalar_bits_ct<0u>(ctx.gpr[5]);
|
|
{ const float vfpu_constant = std::bit_cast<float>(0x3F22F983u);
|
|
const float vfpu_value[4]{vfpu_constant, vfpu_constant, vfpu_constant, vfpu_constant};
|
|
ctx.write_vfpu_vector_with_destination_prefix_ct<32u, 1u>(vfpu_value); }
|
|
{ float vfpu_s[4]{}, vfpu_t[4]{}, vfpu_d[4]{};
|
|
ctx.read_vfpu_vector_with_source_prefix_ct<0u, 1u, 0u>(vfpu_s);
|
|
ctx.read_vfpu_vector_with_source_prefix_ct<32u, 1u, 1u>(vfpu_t);
|
|
for (std::uint32_t i = 0; i < 1u; ++i) vfpu_d[i] = vfpu_s[i] * vfpu_t[i];
|
|
ctx.write_vfpu_vector_with_destination_prefix_ct<64u, 1u>(vfpu_d); }
|
|
{ float vfpu_s[4]{}, vfpu_d[4]{};
|
|
ctx.read_vfpu_vector_with_source_prefix_ct<64u, 1u, 0u>(vfpu_s);
|
|
for (std::uint32_t i = 0; i < 1u; ++i) vfpu_d[i] = std::sin(vfpu_s[i] * 1.57079632679489661923f);
|
|
ctx.write_vfpu_vector_with_destination_prefix_ct<1u, 1u>(vfpu_d); }
|
|
ctx.gpr[5] = (ctx.vfpu_scalar_bits_ct<1u>());
|
|
ctx.fpr[18] = std::bit_cast<float>(ctx.gpr[5]);
|
|
{ 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[14] = std::bit_cast<float>(0x7FC00000u); else ctx.fpr[14] = fs * ft; }
|
|
{ const float fs = ctx.fpr[13]; const float ft = ctx.fpr[16]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[19] = std::bit_cast<float>(0x7FC00000u); else ctx.fpr[19] = fs * ft; }
|
|
{ const float fs = ctx.fpr[12]; const float ft = ctx.fpr[13]; 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; }
|
|
{ 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[2] = std::bit_cast<float>(0x7FC00000u); else ctx.fpr[2] = fs * ft; }
|
|
ctx.fpr[0] = ctx.fpr[0] - ctx.fpr[2];
|
|
{ const float fs = ctx.fpr[12]; const float ft = ctx.fpr[18]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[1] = std::bit_cast<float>(0x7FC00000u); else ctx.fpr[1] = fs * ft; }
|
|
{ const float fs = ctx.fpr[19]; const float ft = ctx.fpr[17]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[3] = std::bit_cast<float>(0x7FC00000u); else ctx.fpr[3] = fs * ft; }
|
|
ctx.fpr[1] = ctx.fpr[1] + ctx.fpr[3];
|
|
{ const float fs = ctx.fpr[15]; const float ft = ctx.fpr[17]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[4] = std::bit_cast<float>(0x7FC00000u); else ctx.fpr[4] = fs * ft; }
|
|
ctx.fpr[4] = std::bit_cast<float>(std::bit_cast<std::uint32_t>(ctx.fpr[4]) ^ 0x80000000u);
|
|
{ const float fs = ctx.fpr[15]; const float ft = ctx.fpr[18]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[5] = std::bit_cast<float>(0x7FC00000u); else ctx.fpr[5] = fs * ft; }
|
|
ctx.fpr[2] = std::bit_cast<float>(std::bit_cast<std::uint32_t>(ctx.fpr[5]) ^ 0x80000000u);
|
|
{ const float fs = ctx.fpr[15]; const float ft = ctx.fpr[13]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[6] = std::bit_cast<float>(0x7FC00000u); else ctx.fpr[6] = fs * ft; }
|
|
{ const float fs = ctx.fpr[13]; const float ft = ctx.fpr[17]; 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; }
|
|
{ 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[14] = std::bit_cast<float>(0x7FC00000u); else ctx.fpr[14] = fs * ft; }
|
|
ctx.fpr[13] = ctx.fpr[13] + ctx.fpr[14];
|
|
{ const float fs = ctx.fpr[17]; const float ft = ctx.fpr[18]; 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; }
|
|
{ const float fs = ctx.fpr[12]; const float ft = ctx.fpr[19]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[19] = std::bit_cast<float>(0x7FC00000u); else ctx.fpr[19] = fs * ft; }
|
|
ctx.fpr[17] = ctx.fpr[17] - ctx.fpr[19];
|
|
{ const float fs = ctx.fpr[15]; 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[3] = std::bit_cast<float>(aot_mem.aot_load32(ctx.gpr[4] + static_cast<std::uint32_t>(0)));
|
|
{ const float fs = ctx.fpr[0]; const float ft = ctx.fpr[3]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[5] = std::bit_cast<float>(0x7FC00000u); else ctx.fpr[5] = fs * ft; }
|
|
ctx.fpr[14] = std::bit_cast<float>(aot_mem.aot_load32(ctx.gpr[4] + static_cast<std::uint32_t>(4)));
|
|
{ const float fs = ctx.fpr[2]; const float ft = ctx.fpr[14]; 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[18] = ctx.fpr[5] + ctx.fpr[18];
|
|
ctx.fpr[19] = std::bit_cast<float>(aot_mem.aot_load32(ctx.gpr[4] + static_cast<std::uint32_t>(8)));
|
|
{ const float fs = ctx.fpr[13]; const float ft = ctx.fpr[19]; 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[15] = ctx.fpr[18] + ctx.fpr[15];
|
|
{ const float fs = ctx.fpr[1]; const float ft = ctx.fpr[3]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[7] = std::bit_cast<float>(0x7FC00000u); else ctx.fpr[7] = fs * ft; }
|
|
{ const float fs = ctx.fpr[6]; const float ft = ctx.fpr[14]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[8] = std::bit_cast<float>(0x7FC00000u); else ctx.fpr[8] = fs * ft; }
|
|
ctx.fpr[7] = ctx.fpr[7] + ctx.fpr[8];
|
|
{ const float fs = ctx.fpr[17]; const float ft = ctx.fpr[19]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[5] = std::bit_cast<float>(0x7FC00000u); else ctx.fpr[5] = fs * ft; }
|
|
ctx.fpr[5] = ctx.fpr[7] + ctx.fpr[5];
|
|
{ const float fs = ctx.fpr[4]; const float ft = ctx.fpr[3]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[3] = std::bit_cast<float>(0x7FC00000u); else ctx.fpr[3] = fs * ft; }
|
|
{ const float fs = ctx.fpr[16]; 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.fpr[14] = ctx.fpr[3] + ctx.fpr[14];
|
|
{ const float fs = ctx.fpr[12]; const float ft = ctx.fpr[19]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[18] = std::bit_cast<float>(0x7FC00000u); else ctx.fpr[18] = fs * ft; }
|
|
ctx.fpr[14] = ctx.fpr[14] + ctx.fpr[18];
|
|
ctx.fpr[8] = std::bit_cast<float>(aot_mem.aot_load32(ctx.gpr[4] + static_cast<std::uint32_t>(16)));
|
|
{ const float fs = ctx.fpr[0]; const float ft = ctx.fpr[8]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[7] = std::bit_cast<float>(0x7FC00000u); else ctx.fpr[7] = fs * ft; }
|
|
ctx.fpr[9] = std::bit_cast<float>(aot_mem.aot_load32(ctx.gpr[4] + static_cast<std::uint32_t>(20)));
|
|
{ const float fs = ctx.fpr[2]; const float ft = ctx.fpr[9]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[10] = std::bit_cast<float>(0x7FC00000u); else ctx.fpr[10] = fs * ft; }
|
|
ctx.fpr[3] = ctx.fpr[7] + ctx.fpr[10];
|
|
ctx.fpr[18] = std::bit_cast<float>(aot_mem.aot_load32(ctx.gpr[4] + static_cast<std::uint32_t>(24)));
|
|
{ const float fs = ctx.fpr[13]; const float ft = ctx.fpr[18]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[19] = std::bit_cast<float>(0x7FC00000u); else ctx.fpr[19] = fs * ft; }
|
|
ctx.fpr[19] = ctx.fpr[3] + ctx.fpr[19];
|
|
{ const float fs = ctx.fpr[1]; const float ft = ctx.fpr[8]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[11] = std::bit_cast<float>(0x7FC00000u); else ctx.fpr[11] = fs * ft; }
|
|
{ const float fs = ctx.fpr[6]; const float ft = ctx.fpr[9]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[21] = std::bit_cast<float>(0x7FC00000u); else ctx.fpr[21] = fs * ft; }
|
|
ctx.fpr[7] = ctx.fpr[11] + ctx.fpr[21];
|
|
{ const float fs = ctx.fpr[17]; const float ft = ctx.fpr[18]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[10] = std::bit_cast<float>(0x7FC00000u); else ctx.fpr[10] = fs * ft; }
|
|
ctx.fpr[7] = ctx.fpr[7] + ctx.fpr[10];
|
|
{ const float fs = ctx.fpr[4]; const float ft = ctx.fpr[8]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[3] = std::bit_cast<float>(0x7FC00000u); else ctx.fpr[3] = fs * ft; }
|
|
{ const float fs = ctx.fpr[16]; const float ft = ctx.fpr[9]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[9] = std::bit_cast<float>(0x7FC00000u); else ctx.fpr[9] = fs * ft; }
|
|
ctx.fpr[3] = ctx.fpr[3] + ctx.fpr[9];
|
|
{ const float fs = ctx.fpr[12]; const float ft = ctx.fpr[18]; 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[18] = ctx.fpr[3] + ctx.fpr[18];
|
|
ctx.fpr[11] = std::bit_cast<float>(aot_mem.aot_load32(ctx.gpr[4] + static_cast<std::uint32_t>(32)));
|
|
{ const float fs = ctx.fpr[0]; const float ft = ctx.fpr[11]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[10] = std::bit_cast<float>(0x7FC00000u); else ctx.fpr[10] = fs * ft; }
|
|
ctx.fpr[8] = std::bit_cast<float>(aot_mem.aot_load32(ctx.gpr[4] + static_cast<std::uint32_t>(36)));
|
|
{ const float fs = ctx.fpr[2]; const float ft = ctx.fpr[8]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[21] = std::bit_cast<float>(0x7FC00000u); else ctx.fpr[21] = fs * ft; }
|
|
ctx.fpr[9] = ctx.fpr[10] + ctx.fpr[21];
|
|
ctx.fpr[3] = std::bit_cast<float>(aot_mem.aot_load32(ctx.gpr[4] + static_cast<std::uint32_t>(40)));
|
|
{ const float fs = ctx.fpr[13]; const float ft = ctx.fpr[3]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[23] = std::bit_cast<float>(0x7FC00000u); else ctx.fpr[23] = fs * ft; }
|
|
ctx.fpr[9] = ctx.fpr[9] + ctx.fpr[23];
|
|
{ const float fs = ctx.fpr[1]; const float ft = ctx.fpr[11]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[25] = std::bit_cast<float>(0x7FC00000u); else ctx.fpr[25] = fs * ft; }
|
|
{ const float fs = ctx.fpr[6]; const float ft = ctx.fpr[8]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[27] = std::bit_cast<float>(0x7FC00000u); else ctx.fpr[27] = fs * ft; }
|
|
ctx.fpr[10] = ctx.fpr[25] + ctx.fpr[27];
|
|
{ const float fs = ctx.fpr[17]; const float ft = ctx.fpr[3]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[21] = std::bit_cast<float>(0x7FC00000u); else ctx.fpr[21] = fs * ft; }
|
|
ctx.fpr[10] = ctx.fpr[10] + ctx.fpr[21];
|
|
{ const float fs = ctx.fpr[4]; const float ft = ctx.fpr[11]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[11] = std::bit_cast<float>(0x7FC00000u); else ctx.fpr[11] = fs * ft; }
|
|
{ const float fs = ctx.fpr[16]; const float ft = ctx.fpr[8]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[8] = std::bit_cast<float>(0x7FC00000u); else ctx.fpr[8] = fs * ft; }
|
|
ctx.fpr[8] = ctx.fpr[11] + ctx.fpr[8];
|
|
{ const float fs = ctx.fpr[12]; const float ft = ctx.fpr[3]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[3] = std::bit_cast<float>(0x7FC00000u); else ctx.fpr[3] = fs * ft; }
|
|
ctx.fpr[3] = ctx.fpr[8] + ctx.fpr[3];
|
|
ctx.fpr[23] = std::bit_cast<float>(aot_mem.aot_load32(ctx.gpr[4] + static_cast<std::uint32_t>(48)));
|
|
{ const float fs = ctx.fpr[0]; const float ft = ctx.fpr[23]; 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.fpr[21] = std::bit_cast<float>(aot_mem.aot_load32(ctx.gpr[4] + static_cast<std::uint32_t>(52)));
|
|
{ const float fs = ctx.fpr[2]; const float ft = ctx.fpr[21]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[2] = std::bit_cast<float>(0x7FC00000u); else ctx.fpr[2] = fs * ft; }
|
|
ctx.fpr[0] = ctx.fpr[0] + ctx.fpr[2];
|
|
ctx.fpr[11] = std::bit_cast<float>(aot_mem.aot_load32(ctx.gpr[4] + static_cast<std::uint32_t>(56)));
|
|
{ const float fs = ctx.fpr[13]; const float ft = ctx.fpr[11]; 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[13] = ctx.fpr[0] + ctx.fpr[13];
|
|
{ const float fs = ctx.fpr[1]; const float ft = ctx.fpr[23]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[1] = std::bit_cast<float>(0x7FC00000u); else ctx.fpr[1] = fs * ft; }
|
|
{ const float fs = ctx.fpr[6]; const float ft = ctx.fpr[21]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[6] = std::bit_cast<float>(0x7FC00000u); else ctx.fpr[6] = fs * ft; }
|
|
ctx.fpr[1] = ctx.fpr[1] + ctx.fpr[6];
|
|
{ const float fs = ctx.fpr[17]; const float ft = ctx.fpr[11]; 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[17] = ctx.fpr[1] + ctx.fpr[17];
|
|
{ const float fs = ctx.fpr[4]; const float ft = ctx.fpr[23]; if ((std::isinf(fs) && ft == 0.0f) || (std::isinf(ft) && fs == 0.0f)) ctx.fpr[2] = std::bit_cast<float>(0x7FC00000u); else ctx.fpr[2] = fs * ft; }
|
|
{ const float fs = ctx.fpr[16]; const float ft = ctx.fpr[21]; 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; }
|
|
ctx.fpr[16] = ctx.fpr[2] + ctx.fpr[16];
|
|
{ const float fs = ctx.fpr[12]; const float ft = ctx.fpr[11]; 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[12] = ctx.fpr[16] + ctx.fpr[12];
|
|
aot_mem.aot_store32(ctx.gpr[4] + static_cast<std::uint32_t>(0), std::bit_cast<std::uint32_t>(ctx.fpr[15]));
|
|
aot_mem.aot_store32(ctx.gpr[4] + static_cast<std::uint32_t>(4), std::bit_cast<std::uint32_t>(ctx.fpr[5]));
|
|
aot_mem.aot_store32(ctx.gpr[4] + static_cast<std::uint32_t>(8), std::bit_cast<std::uint32_t>(ctx.fpr[14]));
|
|
aot_mem.aot_store32(ctx.gpr[4] + static_cast<std::uint32_t>(16), std::bit_cast<std::uint32_t>(ctx.fpr[19]));
|
|
aot_mem.aot_store32(ctx.gpr[4] + static_cast<std::uint32_t>(20), std::bit_cast<std::uint32_t>(ctx.fpr[7]));
|
|
aot_mem.aot_store32(ctx.gpr[4] + static_cast<std::uint32_t>(24), std::bit_cast<std::uint32_t>(ctx.fpr[18]));
|
|
aot_mem.aot_store32(ctx.gpr[4] + static_cast<std::uint32_t>(32), std::bit_cast<std::uint32_t>(ctx.fpr[9]));
|
|
aot_mem.aot_store32(ctx.gpr[4] + static_cast<std::uint32_t>(36), std::bit_cast<std::uint32_t>(ctx.fpr[10]));
|
|
aot_mem.aot_store32(ctx.gpr[4] + static_cast<std::uint32_t>(40), std::bit_cast<std::uint32_t>(ctx.fpr[3]));
|
|
aot_mem.aot_store32(ctx.gpr[4] + static_cast<std::uint32_t>(48), std::bit_cast<std::uint32_t>(ctx.fpr[13]));
|
|
aot_mem.aot_store32(ctx.gpr[4] + static_cast<std::uint32_t>(52), std::bit_cast<std::uint32_t>(ctx.fpr[17]));
|
|
aot_mem.aot_store32(ctx.gpr[4] + static_cast<std::uint32_t>(56), std::bit_cast<std::uint32_t>(ctx.fpr[12]));
|
|
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_08A069D0:
|
|
{ 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<4u, 4u>(vfpu_value); }
|
|
{ const std::uint32_t vfpu_address = ctx.gpr[4] + 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<1u, 4u>(vfpu_value); }
|
|
ctx.execute_vfpu_cross_quat(2u, 4u, 1u, 3u);
|
|
ctx.execute_vfpu_cross_quat(0u, 1u, 2u, 3u);
|
|
ctx.execute_vfpu_vdot_ct<8u, 0u, 0u, 3u>();
|
|
ctx.execute_vfpu_vdot_ct<40u, 1u, 1u, 3u>();
|
|
ctx.execute_vfpu_vdot_ct<72u, 2u, 2u, 3u>();
|
|
{ float vfpu_s[4]{}, vfpu_d[4]{};
|
|
ctx.read_vfpu_vector_with_source_prefix_ct<8u, 3u, 0u>(vfpu_s);
|
|
for (std::uint32_t i = 0; i < 3u; ++i) vfpu_d[i] = 1.0f / std::sqrt(vfpu_s[i]);
|
|
ctx.write_vfpu_vector_with_destination_prefix_ct<9u, 3u>(vfpu_d); }
|
|
ctx.execute_vfpu_vscl_ct<0u, 0u, 9u, 3u>();
|
|
ctx.execute_vfpu_vscl_ct<1u, 1u, 41u, 3u>();
|
|
ctx.execute_vfpu_vscl_ct<2u, 2u, 73u, 3u>();
|
|
{ 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])); }
|
|
{ float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<1u, 4u>(vfpu_value);
|
|
const std::uint32_t vfpu_address = ctx.gpr[4] + static_cast<std::uint32_t>(16);
|
|
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];
|
|
{ float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<2u, 4u>(vfpu_value);
|
|
const std::uint32_t vfpu_address = ctx.gpr[4] + static_cast<std::uint32_t>(32);
|
|
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])); }
|
|
local_pc = jump_target;
|
|
if (++local_transfers < 2048u) { entry_id = 0u; goto LOCAL_DISPATCH; }
|
|
ctx.pc = jump_target;
|
|
return;
|
|
L_08A06A14:
|
|
{ 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); }
|
|
{ const std::uint32_t vfpu_address = ctx.gpr[4] + 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<1u, 4u>(vfpu_value); }
|
|
{ const std::uint32_t vfpu_address = ctx.gpr[4] + 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<2u, 4u>(vfpu_value); }
|
|
{ const std::uint32_t vfpu_address = ctx.gpr[4] + 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<3u, 4u>(vfpu_value); }
|
|
ctx.gpr[2] = (ctx.gpr[5] | 0u);
|
|
{ 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])); }
|
|
{ float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<1u, 4u>(vfpu_value);
|
|
const std::uint32_t vfpu_address = ctx.gpr[5] + static_cast<std::uint32_t>(16);
|
|
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])); }
|
|
{ float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<2u, 4u>(vfpu_value);
|
|
const std::uint32_t vfpu_address = ctx.gpr[5] + static_cast<std::uint32_t>(32);
|
|
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];
|
|
{ float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<3u, 4u>(vfpu_value);
|
|
const std::uint32_t vfpu_address = ctx.gpr[5] + static_cast<std::uint32_t>(48);
|
|
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])); }
|
|
local_pc = jump_target;
|
|
if (++local_transfers < 2048u) { entry_id = 0u; goto LOCAL_DISPATCH; }
|
|
ctx.pc = jump_target;
|
|
return;
|
|
L_08A06A44:
|
|
{ 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[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<1u, 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<2u, 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<3u, 4u>(vfpu_value); }
|
|
ctx.gpr[6] = (aot_mem.aot_load32(ctx.gpr[4] + 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])); }
|
|
{ float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<1u, 4u>(vfpu_value);
|
|
const std::uint32_t vfpu_address = ctx.gpr[4] + static_cast<std::uint32_t>(16);
|
|
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])); }
|
|
{ float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<2u, 4u>(vfpu_value);
|
|
const std::uint32_t vfpu_address = ctx.gpr[4] + static_cast<std::uint32_t>(32);
|
|
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 = ctx.gpr[6] == 0u;
|
|
{ float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<3u, 4u>(vfpu_value);
|
|
const std::uint32_t vfpu_address = ctx.gpr[4] + static_cast<std::uint32_t>(48);
|
|
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])); }
|
|
if (branch_taken) {
|
|
goto L_08A06A7C;
|
|
}
|
|
goto L_08A06A6C;
|
|
}
|
|
L_08A06A6C:
|
|
{ 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])); }
|
|
{ float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<1u, 4u>(vfpu_value);
|
|
const std::uint32_t vfpu_address = ctx.gpr[6] + static_cast<std::uint32_t>(16);
|
|
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])); }
|
|
{ float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<2u, 4u>(vfpu_value);
|
|
const std::uint32_t vfpu_address = ctx.gpr[6] + static_cast<std::uint32_t>(32);
|
|
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])); }
|
|
{ float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<3u, 4u>(vfpu_value);
|
|
const std::uint32_t vfpu_address = ctx.gpr[6] + static_cast<std::uint32_t>(48);
|
|
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_08A06A7C;
|
|
L_08A06A7C:
|
|
jump_target = ctx.gpr[31];
|
|
ctx.gpr[2] = (ctx.gpr[4] | 0u);
|
|
local_pc = jump_target;
|
|
if (++local_transfers < 2048u) { entry_id = 0u; goto LOCAL_DISPATCH; }
|
|
ctx.pc = jump_target;
|
|
return;
|
|
L_08A06A8C:
|
|
{ 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<4u, 4u>(vfpu_value); }
|
|
{ const std::uint32_t vfpu_address = ctx.gpr[4] + 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[4] + 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[4] + 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); }
|
|
{ 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<8u, 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<9u, 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<10u, 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<11u, 4u>(vfpu_value); }
|
|
{ float vfpu_value[4]{};
|
|
ctx.write_vfpu_vector_with_destination_prefix_ct<39u, 3u>(vfpu_value); }
|
|
{ float vfpu_value[4]{1.0f, 1.0f, 1.0f, 1.0f};
|
|
ctx.write_vfpu_vector_with_destination_prefix_ct<103u, 1u>(vfpu_value); }
|
|
{ float vfpu_value[4]{};
|
|
ctx.write_vfpu_vector_with_destination_prefix_ct<43u, 3u>(vfpu_value); }
|
|
{ float vfpu_value[4]{1.0f, 1.0f, 1.0f, 1.0f};
|
|
ctx.write_vfpu_vector_with_destination_prefix_ct<107u, 1u>(vfpu_value); }
|
|
ctx.gpr[2] = (ctx.gpr[4] | 0u);
|
|
{ float vfpu_s[16]{}, vfpu_t[16]{}, vfpu_d[16]{};
|
|
ctx.read_vfpu_matrix(vfpu_s, 8u, 4u);
|
|
ctx.read_vfpu_matrix(vfpu_t, 36u, 4u);
|
|
for (std::uint32_t a = 0; a < 4u; ++a) {
|
|
for (std::uint32_t b = 0; b < 4u; ++b) {
|
|
float sum = 0.0f;
|
|
for (std::uint32_t c = 0; c < 4u; ++c) sum += vfpu_s[b * 4u + c] * vfpu_t[a * 4u + c];
|
|
vfpu_d[a * 4u + b] = sum;
|
|
}
|
|
}
|
|
ctx.write_vfpu_matrix(vfpu_d, 32u, 4u);
|
|
ctx.eat_vfpu_prefixes(); }
|
|
{ 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])); }
|
|
{ float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<1u, 4u>(vfpu_value);
|
|
const std::uint32_t vfpu_address = ctx.gpr[4] + static_cast<std::uint32_t>(16);
|
|
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])); }
|
|
{ float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<2u, 4u>(vfpu_value);
|
|
const std::uint32_t vfpu_address = ctx.gpr[4] + static_cast<std::uint32_t>(32);
|
|
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];
|
|
{ float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<3u, 4u>(vfpu_value);
|
|
const std::uint32_t vfpu_address = ctx.gpr[4] + static_cast<std::uint32_t>(48);
|
|
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])); }
|
|
local_pc = jump_target;
|
|
if (++local_transfers < 2048u) { entry_id = 0u; goto LOCAL_DISPATCH; }
|
|
ctx.pc = jump_target;
|
|
return;
|
|
L_08A06AE0:
|
|
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]);
|
|
ctx.gpr[16] = (2229u << 16u);
|
|
ctx.gpr[16] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast<std::uint32_t>(-15300)));
|
|
ctx.gpr[5] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast<std::uint32_t>(4)));
|
|
ctx.gpr[5] = (ctx.gpr[5] + ctx.gpr[4]);
|
|
ctx.gpr[5] = (aot_mem.aot_load8(ctx.gpr[5] + static_cast<std::uint32_t>(0)));
|
|
ctx.gpr[5] = (ctx.gpr[5] & 128u);
|
|
ctx.gpr[6] = (0u < ctx.gpr[5] ? 1u : 0u);
|
|
ctx.gpr[6] = (ctx.gpr[6] & 255u);
|
|
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>(32), ctx.gpr[31]);
|
|
{ const bool branch_taken = ctx.gpr[6] != 0u;
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_08A06C1C;
|
|
}
|
|
goto L_08A06B20;
|
|
}
|
|
L_08A06B20:
|
|
ctx.gpr[6] = (ctx.gpr[5] | 0u);
|
|
{ const bool branch_taken = ctx.gpr[6] == 0u;
|
|
ctx.gpr[5] = (0u | 3u);
|
|
if (branch_taken) {
|
|
goto L_08A06B34;
|
|
}
|
|
goto L_08A06B2C;
|
|
}
|
|
L_08A06B2C:
|
|
{ const bool branch_taken = 0u == 0u;
|
|
ctx.gpr[16] = (0u | 0u);
|
|
if (branch_taken) {
|
|
goto L_08A06B4C;
|
|
}
|
|
goto L_08A06B34;
|
|
}
|
|
L_08A06B34:
|
|
ctx.gpr[4] = (ctx.gpr[4] << 5u);
|
|
ctx.gpr[6] = (0u + ctx.gpr[4]);
|
|
ctx.gpr[16] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast<std::uint32_t>(0)));
|
|
ctx.gpr[4] = (ctx.gpr[4] << 4u);
|
|
ctx.gpr[4] = (ctx.gpr[6] + ctx.gpr[4]);
|
|
ctx.gpr[16] = (ctx.gpr[16] + ctx.gpr[4]);
|
|
goto L_08A06B4C;
|
|
L_08A06B4C:
|
|
ctx.gpr[17] = (ctx.gpr[16] | 0u);
|
|
ctx.gpr[4] = (aot_mem.aot_load8(ctx.gpr[17] + static_cast<std::uint32_t>(420)));
|
|
{ const bool branch_taken = ctx.gpr[4] != ctx.gpr[5];
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_08A06B90;
|
|
}
|
|
goto L_08A06B5C;
|
|
}
|
|
L_08A06B5C:
|
|
ctx.gpr[31] = (0x08A06B64u);
|
|
ctx.gpr[4] = (ctx.gpr[17] | 0u);
|
|
if (rt.invoke_chained_direct<&recomp_unit_0047_entry, 47u, 67u, 0x088C05B0u>(ctx, &aot_mem) && ctx.pc == 0x08A06B64u) goto L_08A06B64;
|
|
return;
|
|
L_08A06B64:
|
|
{ const bool branch_taken = ctx.gpr[16] == 0u;
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_08A06B88;
|
|
}
|
|
goto L_08A06B6C;
|
|
}
|
|
L_08A06B6C:
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[17] + static_cast<std::uint32_t>(92)));
|
|
ctx.gpr[5] = (0u | 3u);
|
|
ctx.gpr[4] = (ctx.gpr[4] + static_cast<std::uint32_t>(24));
|
|
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] = (0x08A06B88u);
|
|
ctx.gpr[4] = (ctx.gpr[16] + ctx.gpr[6]);
|
|
ctx.pc = jump_target;
|
|
if (rt.invoke_chained_call(ctx, &aot_mem) && ctx.pc == 0x08A06B88u) goto L_08A06B88;
|
|
return;
|
|
L_08A06B88:
|
|
{ const bool branch_taken = 0u == 0u;
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_08A06C1C;
|
|
}
|
|
goto L_08A06B90;
|
|
}
|
|
L_08A06B90:
|
|
ctx.gpr[31] = (0x08A06B98u);
|
|
ctx.gpr[4] = (ctx.gpr[17] | 0u);
|
|
if (rt.invoke_chained_direct<&recomp_unit_0012_entry, 12u, 147u, 0x08834C30u>(ctx, &aot_mem) && ctx.pc == 0x08A06B98u) goto L_08A06B98;
|
|
return;
|
|
L_08A06B98:
|
|
{ const bool branch_taken = ctx.gpr[2] != 0u;
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_08A06C1C;
|
|
}
|
|
goto L_08A06BA0;
|
|
}
|
|
L_08A06BA0:
|
|
ctx.gpr[18] = (0u | 0u);
|
|
ctx.gpr[31] = (0x08A06BACu);
|
|
ctx.gpr[4] = (0u | 496u);
|
|
if (rt.invoke_chained_direct<&recomp_unit_0014_entry, 14u, 238u, 0x0883D3ACu>(ctx, &aot_mem) && ctx.pc == 0x08A06BACu) goto L_08A06BAC;
|
|
return;
|
|
L_08A06BAC:
|
|
ctx.gpr[19] = (ctx.gpr[2] | 0u);
|
|
{ const bool branch_taken = ctx.gpr[19] == 0u;
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_08A06BCC;
|
|
}
|
|
goto L_08A06BB8;
|
|
}
|
|
L_08A06BB8:
|
|
ctx.gpr[5] = (static_cast<std::uint32_t>(static_cast<std::int32_t>(static_cast<std::int16_t>(aot_mem.aot_load16(ctx.gpr[17] + static_cast<std::uint32_t>(88))))));
|
|
ctx.gpr[4] = (ctx.gpr[19] | 0u);
|
|
ctx.gpr[31] = (0x08A06BC8u);
|
|
ctx.gpr[6] = (0u | 0u);
|
|
if (rt.invoke_chained_direct<&recomp_unit_0014_entry, 14u, 194u, 0x0883D0B8u>(ctx, &aot_mem) && ctx.pc == 0x08A06BC8u) goto L_08A06BC8;
|
|
return;
|
|
L_08A06BC8:
|
|
ctx.gpr[18] = (ctx.gpr[19] | 0u);
|
|
goto L_08A06BCC;
|
|
L_08A06BCC:
|
|
ctx.gpr[31] = (0x08A06BD4u);
|
|
ctx.gpr[4] = (ctx.gpr[17] | 0u);
|
|
if (rt.invoke_chained_direct<&recomp_unit_0047_entry, 47u, 67u, 0x088C05B0u>(ctx, &aot_mem) && ctx.pc == 0x08A06BD4u) goto L_08A06BD4;
|
|
return;
|
|
L_08A06BD4:
|
|
ctx.gpr[31] = (0x08A06BDCu);
|
|
// nop
|
|
if (rt.invoke_chained_direct<&recomp_unit_0192_entry, 192u, 295u, 0x08B05734u>(ctx, &aot_mem) && ctx.pc == 0x08A06BDCu) goto L_08A06BDC;
|
|
return;
|
|
L_08A06BDC:
|
|
ctx.gpr[4] = (ctx.gpr[18] | 0u);
|
|
ctx.gpr[5] = (ctx.gpr[17] | 0u);
|
|
ctx.gpr[31] = (0x08A06BECu);
|
|
ctx.gpr[6] = (ctx.gpr[2] | 0u);
|
|
if (rt.invoke_chained_direct<&recomp_unit_0117_entry, 117u, 296u, 0x089D9784u>(ctx, &aot_mem) && ctx.pc == 0x08A06BECu) goto L_08A06BEC;
|
|
return;
|
|
L_08A06BEC:
|
|
ctx.gpr[31] = (0x08A06BF4u);
|
|
ctx.gpr[4] = (ctx.gpr[18] | 0u);
|
|
if (rt.invoke_chained_direct<&recomp_unit_0047_entry, 47u, 47u, 0x088C045Cu>(ctx, &aot_mem) && ctx.pc == 0x08A06BF4u) goto L_08A06BF4;
|
|
return;
|
|
L_08A06BF4:
|
|
{ const bool branch_taken = ctx.gpr[16] == 0u;
|
|
aot_mem.aot_store32(ctx.gpr[17] + static_cast<std::uint32_t>(80), 0u);
|
|
if (branch_taken) {
|
|
goto L_08A06C18;
|
|
}
|
|
goto L_08A06BFC;
|
|
}
|
|
L_08A06BFC:
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[17] + static_cast<std::uint32_t>(92)));
|
|
ctx.gpr[5] = (0u | 3u);
|
|
ctx.gpr[4] = (ctx.gpr[4] + static_cast<std::uint32_t>(24));
|
|
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] = (0x08A06C18u);
|
|
ctx.gpr[4] = (ctx.gpr[16] + ctx.gpr[6]);
|
|
ctx.pc = jump_target;
|
|
if (rt.invoke_chained_call(ctx, &aot_mem) && ctx.pc == 0x08A06C18u) goto L_08A06C18;
|
|
return;
|
|
L_08A06C18:
|
|
aot_mem.aot_store32(ctx.gpr[18] + static_cast<std::uint32_t>(76), 0u);
|
|
goto L_08A06C1C;
|
|
L_08A06C1C:
|
|
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_08A06C38:
|
|
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] = (2275u << 16u);
|
|
ctx.gpr[16] = (ctx.gpr[16] + static_cast<std::uint32_t>(1824));
|
|
ctx.gpr[4] = (ctx.gpr[16] | 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>(24), ctx.gpr[18]);
|
|
aot_mem.aot_store32(ctx.gpr[29] + static_cast<std::uint32_t>(28), ctx.gpr[31]);
|
|
ctx.gpr[31] = (0x08A06C60u);
|
|
ctx.gpr[5] = (0u | 4u);
|
|
if (rt.invoke_chained_direct<&recomp_unit_0057_entry, 57u, 173u, 0x088E8DF4u>(ctx, &aot_mem) && ctx.pc == 0x08A06C60u) goto L_08A06C60;
|
|
return;
|
|
L_08A06C60:
|
|
ctx.gpr[17] = (0u | 0u);
|
|
ctx.gpr[31] = (0x08A06C6Cu);
|
|
ctx.gpr[4] = (0u | 16u);
|
|
if (rt.invoke_chained_direct<&recomp_unit_0167_entry, 167u, 663u, 0x08AA3190u>(ctx, &aot_mem) && ctx.pc == 0x08A06C6Cu) goto L_08A06C6C;
|
|
return;
|
|
L_08A06C6C:
|
|
ctx.gpr[18] = (ctx.gpr[2] | 0u);
|
|
{ const bool branch_taken = ctx.gpr[18] == 0u;
|
|
ctx.gpr[6] = (2226u << 16u);
|
|
if (branch_taken) {
|
|
goto L_08A06C8C;
|
|
}
|
|
goto L_08A06C78;
|
|
}
|
|
L_08A06C78:
|
|
ctx.gpr[4] = (ctx.gpr[18] | 0u);
|
|
ctx.gpr[5] = (0u | 60u);
|
|
ctx.gpr[31] = (0x08A06C88u);
|
|
ctx.gpr[6] = (ctx.gpr[6] + static_cast<std::uint32_t>(-200));
|
|
if (rt.invoke_chained_direct<&recomp_unit_0192_entry, 192u, 277u, 0x08B0552Cu>(ctx, &aot_mem) && ctx.pc == 0x08A06C88u) goto L_08A06C88;
|
|
return;
|
|
L_08A06C88:
|
|
ctx.gpr[17] = (ctx.gpr[18] | 0u);
|
|
goto L_08A06C8C;
|
|
L_08A06C8C:
|
|
ctx.gpr[4] = (2229u << 16u);
|
|
aot_mem.aot_store32(ctx.gpr[4] + static_cast<std::uint32_t>(-15316), ctx.gpr[17]);
|
|
ctx.gpr[17] = (0u | 0u);
|
|
ctx.gpr[31] = (0x08A06CA0u);
|
|
ctx.gpr[4] = (0u | 16u);
|
|
if (rt.invoke_chained_direct<&recomp_unit_0167_entry, 167u, 663u, 0x08AA3190u>(ctx, &aot_mem) && ctx.pc == 0x08A06CA0u) goto L_08A06CA0;
|
|
return;
|
|
L_08A06CA0:
|
|
ctx.gpr[18] = (ctx.gpr[2] | 0u);
|
|
{ const bool branch_taken = ctx.gpr[18] == 0u;
|
|
ctx.gpr[6] = (2226u << 16u);
|
|
if (branch_taken) {
|
|
goto L_08A06CC0;
|
|
}
|
|
goto L_08A06CAC;
|
|
}
|
|
L_08A06CAC:
|
|
ctx.gpr[4] = (ctx.gpr[18] | 0u);
|
|
ctx.gpr[5] = (0u | 60u);
|
|
ctx.gpr[31] = (0x08A06CBCu);
|
|
ctx.gpr[6] = (ctx.gpr[6] + static_cast<std::uint32_t>(-192));
|
|
if (rt.invoke_chained_direct<&recomp_unit_0192_entry, 192u, 283u, 0x08B055D4u>(ctx, &aot_mem) && ctx.pc == 0x08A06CBCu) goto L_08A06CBC;
|
|
return;
|
|
L_08A06CBC:
|
|
ctx.gpr[17] = (ctx.gpr[18] | 0u);
|
|
goto L_08A06CC0;
|
|
L_08A06CC0:
|
|
ctx.gpr[4] = (2229u << 16u);
|
|
aot_mem.aot_store32(ctx.gpr[4] + static_cast<std::uint32_t>(-15312), ctx.gpr[17]);
|
|
ctx.gpr[17] = (0u | 0u);
|
|
ctx.gpr[31] = (0x08A06CD4u);
|
|
ctx.gpr[4] = (0u | 16u);
|
|
if (rt.invoke_chained_direct<&recomp_unit_0167_entry, 167u, 663u, 0x08AA3190u>(ctx, &aot_mem) && ctx.pc == 0x08A06CD4u) goto L_08A06CD4;
|
|
return;
|
|
L_08A06CD4:
|
|
ctx.gpr[18] = (ctx.gpr[2] | 0u);
|
|
{ const bool branch_taken = ctx.gpr[18] == 0u;
|
|
ctx.gpr[6] = (2226u << 16u);
|
|
if (branch_taken) {
|
|
goto L_08A06CF4;
|
|
}
|
|
goto L_08A06CE0;
|
|
}
|
|
L_08A06CE0:
|
|
ctx.gpr[4] = (ctx.gpr[18] | 0u);
|
|
ctx.gpr[5] = (0u | 475u);
|
|
ctx.gpr[31] = (0x08A06CF0u);
|
|
ctx.gpr[6] = (ctx.gpr[6] + static_cast<std::uint32_t>(-180));
|
|
if (rt.invoke_chained_direct<&recomp_unit_0192_entry, 192u, 289u, 0x08B0568Cu>(ctx, &aot_mem) && ctx.pc == 0x08A06CF0u) goto L_08A06CF0;
|
|
return;
|
|
L_08A06CF0:
|
|
ctx.gpr[17] = (ctx.gpr[18] | 0u);
|
|
goto L_08A06CF4;
|
|
L_08A06CF4:
|
|
ctx.gpr[4] = (2229u << 16u);
|
|
aot_mem.aot_store32(ctx.gpr[4] + static_cast<std::uint32_t>(-15300), ctx.gpr[17]);
|
|
ctx.gpr[18] = (0u | 0u);
|
|
ctx.gpr[31] = (0x08A06D08u);
|
|
ctx.gpr[4] = (0u | 16u);
|
|
if (rt.invoke_chained_direct<&recomp_unit_0167_entry, 167u, 663u, 0x08AA3190u>(ctx, &aot_mem) && ctx.pc == 0x08A06D08u) goto L_08A06D08;
|
|
return;
|
|
L_08A06D08:
|
|
ctx.gpr[17] = (ctx.gpr[2] | 0u);
|
|
{ const bool branch_taken = ctx.gpr[17] == 0u;
|
|
ctx.gpr[6] = (2226u << 16u);
|
|
if (branch_taken) {
|
|
goto L_08A06D28;
|
|
}
|
|
goto L_08A06D14;
|
|
}
|
|
L_08A06D14:
|
|
ctx.gpr[4] = (ctx.gpr[17] | 0u);
|
|
ctx.gpr[5] = (0u | 192u);
|
|
ctx.gpr[31] = (0x08A06D24u);
|
|
ctx.gpr[6] = (ctx.gpr[6] + static_cast<std::uint32_t>(-172));
|
|
if (rt.invoke_chained_direct<&recomp_unit_0192_entry, 192u, 296u, 0x08B0573Cu>(ctx, &aot_mem) && ctx.pc == 0x08A06D24u) goto L_08A06D24;
|
|
return;
|
|
L_08A06D24:
|
|
ctx.gpr[18] = (ctx.gpr[17] | 0u);
|
|
goto L_08A06D28;
|
|
L_08A06D28:
|
|
ctx.gpr[4] = (2229u << 16u);
|
|
aot_mem.aot_store32(ctx.gpr[4] + static_cast<std::uint32_t>(-15292), ctx.gpr[18]);
|
|
ctx.gpr[31] = (0x08A06D38u);
|
|
ctx.gpr[4] = (ctx.gpr[16] | 0u);
|
|
if (rt.invoke_chained_direct<&recomp_unit_0057_entry, 57u, 174u, 0x088E8DFCu>(ctx, &aot_mem) && ctx.pc == 0x08A06D38u) goto L_08A06D38;
|
|
return;
|
|
L_08A06D38:
|
|
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[31] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast<std::uint32_t>(28)));
|
|
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_08A06D50:
|
|
ctx.gpr[29] = (ctx.gpr[29] + static_cast<std::uint32_t>(-32));
|
|
ctx.gpr[4] = (2229u << 16u);
|
|
aot_mem.aot_store32(ctx.gpr[29] + static_cast<std::uint32_t>(16), ctx.gpr[31]);
|
|
ctx.gpr[31] = (0x08A06D64u);
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[4] + static_cast<std::uint32_t>(-15316)));
|
|
if (rt.invoke_chained_direct<&recomp_unit_0192_entry, 192u, 9u, 0x08B0407Cu>(ctx, &aot_mem) && ctx.pc == 0x08A06D64u) goto L_08A06D64;
|
|
return;
|
|
L_08A06D64:
|
|
ctx.gpr[4] = (2229u << 16u);
|
|
ctx.gpr[31] = (0x08A06D70u);
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[4] + static_cast<std::uint32_t>(-15312)));
|
|
if (rt.invoke_chained_direct<&recomp_unit_0192_entry, 192u, 15u, 0x08B040CCu>(ctx, &aot_mem) && ctx.pc == 0x08A06D70u) goto L_08A06D70;
|
|
return;
|
|
L_08A06D70:
|
|
ctx.gpr[4] = (2226u << 16u);
|
|
ctx.gpr[31] = (0x08A06D7Cu);
|
|
ctx.gpr[4] = (ctx.gpr[4] + static_cast<std::uint32_t>(-112));
|
|
if (rt.invoke_chained_direct<&recomp_unit_0189_entry, 189u, 382u, 0x08AF9A9Cu>(ctx, &aot_mem) && ctx.pc == 0x08A06D7Cu) goto L_08A06D7C;
|
|
return;
|
|
L_08A06D7C:
|
|
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_08A06D88:
|
|
ctx.gpr[29] = (ctx.gpr[29] + static_cast<std::uint32_t>(-32));
|
|
ctx.gpr[5] = (ctx.gpr[4] | 0u);
|
|
ctx.gpr[4] = (2229u << 16u);
|
|
aot_mem.aot_store32(ctx.gpr[29] + static_cast<std::uint32_t>(16), ctx.gpr[31]);
|
|
ctx.gpr[31] = (0x08A06DA0u);
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[4] + static_cast<std::uint32_t>(-15316)));
|
|
if (rt.invoke_chained_direct<&recomp_unit_0190_entry, 190u, 493u, 0x08AFE0A8u>(ctx, &aot_mem) && ctx.pc == 0x08A06DA0u) goto L_08A06DA0;
|
|
return;
|
|
L_08A06DA0:
|
|
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_08A06DAC:
|
|
ctx.gpr[29] = (ctx.gpr[29] + static_cast<std::uint32_t>(-32));
|
|
ctx.gpr[5] = (ctx.gpr[4] | 0u);
|
|
ctx.gpr[4] = (2229u << 16u);
|
|
aot_mem.aot_store32(ctx.gpr[29] + static_cast<std::uint32_t>(16), ctx.gpr[31]);
|
|
ctx.gpr[31] = (0x08A06DC4u);
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[4] + static_cast<std::uint32_t>(-15316)));
|
|
if (rt.invoke_chained_direct<&recomp_unit_0189_entry, 189u, 840u, 0x08AFBA58u>(ctx, &aot_mem) && ctx.pc == 0x08A06DC4u) goto L_08A06DC4;
|
|
return;
|
|
L_08A06DC4:
|
|
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_08A06DD0:
|
|
ctx.gpr[29] = (ctx.gpr[29] + static_cast<std::uint32_t>(-32));
|
|
ctx.gpr[5] = (ctx.gpr[4] | 0u);
|
|
ctx.gpr[4] = (2229u << 16u);
|
|
aot_mem.aot_store32(ctx.gpr[29] + static_cast<std::uint32_t>(16), ctx.gpr[31]);
|
|
ctx.gpr[31] = (0x08A06DE8u);
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[4] + static_cast<std::uint32_t>(-15312)));
|
|
if (rt.invoke_chained_direct<&recomp_unit_0190_entry, 190u, 530u, 0x08AFE33Cu>(ctx, &aot_mem) && ctx.pc == 0x08A06DE8u) goto L_08A06DE8;
|
|
return;
|
|
L_08A06DE8:
|
|
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_08A06DF4:
|
|
ctx.gpr[29] = (ctx.gpr[29] + static_cast<std::uint32_t>(-32));
|
|
ctx.gpr[5] = (ctx.gpr[4] | 0u);
|
|
ctx.gpr[4] = (2229u << 16u);
|
|
aot_mem.aot_store32(ctx.gpr[29] + static_cast<std::uint32_t>(16), ctx.gpr[31]);
|
|
ctx.gpr[31] = (0x08A06E0Cu);
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[4] + static_cast<std::uint32_t>(-15312)));
|
|
if (rt.invoke_chained_direct<&recomp_unit_0189_entry, 189u, 836u, 0x08AFBA04u>(ctx, &aot_mem) && ctx.pc == 0x08A06E0Cu) goto L_08A06E0C;
|
|
return;
|
|
L_08A06E0C:
|
|
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_08A06E18:
|
|
ctx.gpr[29] = (ctx.gpr[29] + static_cast<std::uint32_t>(-32));
|
|
ctx.gpr[5] = (ctx.gpr[4] | 0u);
|
|
ctx.gpr[4] = (2229u << 16u);
|
|
aot_mem.aot_store32(ctx.gpr[29] + static_cast<std::uint32_t>(16), ctx.gpr[31]);
|
|
ctx.gpr[31] = (0x08A06E30u);
|
|
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, 804u, 0x08AFB74Cu>(ctx, &aot_mem) && ctx.pc == 0x08A06E30u) goto L_08A06E30;
|
|
return;
|
|
L_08A06E30:
|
|
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_08A06E3C:
|
|
ctx.gpr[29] = (ctx.gpr[29] + static_cast<std::uint32_t>(-32));
|
|
ctx.gpr[5] = (ctx.gpr[4] | 0u);
|
|
ctx.gpr[4] = (2229u << 16u);
|
|
aot_mem.aot_store32(ctx.gpr[29] + static_cast<std::uint32_t>(16), ctx.gpr[31]);
|
|
ctx.gpr[31] = (0x08A06E54u);
|
|
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 == 0x08A06E54u) goto L_08A06E54;
|
|
return;
|
|
L_08A06E54:
|
|
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_08A06E60:
|
|
ctx.gpr[4] = (2229u << 16u);
|
|
ctx.fpr[12] = std::bit_cast<float>(aot_mem.aot_load32(ctx.gpr[4] + static_cast<std::uint32_t>(-15348)));
|
|
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] = (2229u << 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>(-15352)));
|
|
ctx.gpr[7] = (2229u << 16u);
|
|
ctx.gpr[5] = (16014u << 16u);
|
|
ctx.gpr[5] = (ctx.gpr[5] | 14571u);
|
|
ctx.gpr[9] = (2229u << 16u);
|
|
ctx.gpr[8] = (2229u << 16u);
|
|
ctx.gpr[6] = (16672u << 16u);
|
|
ctx.gpr[10] = (2229u << 16u);
|
|
ctx.gpr[11] = (2229u << 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[17] = std::bit_cast<float>(0x7FC00000u); else ctx.fpr[17] = fs * ft; }
|
|
ctx.fpr[16] = std::bit_cast<float>(ctx.gpr[4]);
|
|
ctx.fpr[13] = ctx.fpr[13] / ctx.fpr[17];
|
|
aot_mem.aot_store32(ctx.gpr[7] + static_cast<std::uint32_t>(-15344), std::bit_cast<std::uint32_t>(ctx.fpr[14]));
|
|
ctx.fpr[14] = ctx.fpr[16] / ctx.fpr[15];
|
|
aot_mem.aot_store32(ctx.gpr[9] + static_cast<std::uint32_t>(-15336), std::bit_cast<std::uint32_t>(ctx.fpr[13]));
|
|
ctx.fpr[18] = std::bit_cast<float>(ctx.gpr[5]);
|
|
ctx.fpr[12] = ctx.fpr[18] / ctx.fpr[12];
|
|
aot_mem.aot_store32(ctx.gpr[8] + static_cast<std::uint32_t>(-15340), std::bit_cast<std::uint32_t>(ctx.fpr[14]));
|
|
ctx.fpr[14] = std::bit_cast<float>(ctx.gpr[6]);
|
|
{ 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; }
|
|
aot_mem.aot_store32(ctx.gpr[10] + static_cast<std::uint32_t>(-15332), std::bit_cast<std::uint32_t>(ctx.fpr[13]));
|
|
jump_target = ctx.gpr[31];
|
|
aot_mem.aot_store32(ctx.gpr[11] + static_cast<std::uint32_t>(-15328), std::bit_cast<std::uint32_t>(ctx.fpr[12]));
|
|
local_pc = jump_target;
|
|
if (++local_transfers < 2048u) { entry_id = 0u; goto LOCAL_DISPATCH; }
|
|
ctx.pc = jump_target;
|
|
return;
|
|
L_08A06ED8:
|
|
ctx.fpr[13] = std::bit_cast<float>(aot_mem.aot_load32(ctx.gpr[4] + static_cast<std::uint32_t>(12)));
|
|
ctx.fpr[14] = std::bit_cast<float>(aot_mem.aot_load32(ctx.gpr[4] + static_cast<std::uint32_t>(4)));
|
|
aot_mem.aot_store32(ctx.gpr[4] + static_cast<std::uint32_t>(16), std::bit_cast<std::uint32_t>(ctx.fpr[13]));
|
|
ctx.fpr[15] = std::bit_cast<float>(std::bit_cast<std::uint32_t>(ctx.fpr[14]) & 0x7FFFFFFFu);
|
|
ctx.fpr[13] = std::bit_cast<float>(aot_mem.aot_load32(ctx.gpr[4] + static_cast<std::uint32_t>(0)));
|
|
ctx.fpr[16] = std::bit_cast<float>(std::bit_cast<std::uint32_t>(ctx.fpr[13]) & 0x7FFFFFFFu);
|
|
ctx.set_fpu_condition((ctx.fpr[15] <= ctx.fpr[16]));
|
|
// nop
|
|
{ const bool branch_taken = ctx.fpu_condition();
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_08A06F08;
|
|
}
|
|
goto L_08A06F00;
|
|
}
|
|
L_08A06F00:
|
|
{ const bool branch_taken = 0u == 0u;
|
|
ctx.fpr[13] = std::bit_cast<float>(std::bit_cast<std::uint32_t>(ctx.fpr[14]));
|
|
if (branch_taken) {
|
|
goto L_08A06F08;
|
|
}
|
|
goto L_08A06F08;
|
|
}
|
|
L_08A06F08:
|
|
ctx.gpr[5] = (16256u << 16u);
|
|
ctx.fpr[14] = std::bit_cast<float>(ctx.gpr[5]);
|
|
ctx.set_fpu_condition((ctx.fpr[12] < ctx.fpr[14]));
|
|
// nop
|
|
{ const bool branch_taken = !ctx.fpu_condition();
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_08A06F2C;
|
|
}
|
|
goto L_08A06F20;
|
|
}
|
|
L_08A06F20:
|
|
{ const float fs = ctx.fpr[12]; 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; }
|
|
{ const bool branch_taken = 0u == 0u;
|
|
aot_mem.aot_store32(ctx.gpr[4] + static_cast<std::uint32_t>(12), std::bit_cast<std::uint32_t>(ctx.fpr[12]));
|
|
if (branch_taken) {
|
|
goto L_08A06F38;
|
|
}
|
|
goto L_08A06F2C;
|
|
}
|
|
L_08A06F2C:
|
|
aot_mem.aot_store32(ctx.gpr[4] + static_cast<std::uint32_t>(12), std::bit_cast<std::uint32_t>(ctx.fpr[13]));
|
|
ctx.gpr[5] = (0u | 1u);
|
|
aot_mem.aot_store8(ctx.gpr[4] + static_cast<std::uint32_t>(9), static_cast<std::uint8_t>(ctx.gpr[5]));
|
|
goto L_08A06F38;
|
|
L_08A06F38:
|
|
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_08A06F40:
|
|
ctx.fpr[12] = std::bit_cast<float>(aot_mem.aot_load32(ctx.gpr[4] + static_cast<std::uint32_t>(4)));
|
|
ctx.fpr[13] = std::bit_cast<float>(std::bit_cast<std::uint32_t>(ctx.fpr[12]) & 0x7FFFFFFFu);
|
|
ctx.fpr[0] = std::bit_cast<float>(aot_mem.aot_load32(ctx.gpr[4] + static_cast<std::uint32_t>(0)));
|
|
ctx.fpr[14] = std::bit_cast<float>(std::bit_cast<std::uint32_t>(ctx.fpr[0]) & 0x7FFFFFFFu);
|
|
ctx.set_fpu_condition((ctx.fpr[13] <= ctx.fpr[14]));
|
|
// nop
|
|
{ const bool branch_taken = ctx.fpu_condition();
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_08A06F68;
|
|
}
|
|
goto L_08A06F60;
|
|
}
|
|
L_08A06F60:
|
|
{ const bool branch_taken = 0u == 0u;
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_08A06F6C;
|
|
}
|
|
goto L_08A06F68;
|
|
}
|
|
L_08A06F68:
|
|
ctx.fpr[0] = std::bit_cast<float>(std::bit_cast<std::uint32_t>(ctx.fpr[12]));
|
|
goto L_08A06F6C;
|
|
L_08A06F6C:
|
|
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_08A06F74:
|
|
ctx.fpr[12] = std::bit_cast<float>(aot_mem.aot_load32(ctx.gpr[4] + static_cast<std::uint32_t>(4)));
|
|
ctx.fpr[13] = std::bit_cast<float>(std::bit_cast<std::uint32_t>(ctx.fpr[12]) & 0x7FFFFFFFu);
|
|
ctx.fpr[0] = std::bit_cast<float>(aot_mem.aot_load32(ctx.gpr[4] + static_cast<std::uint32_t>(0)));
|
|
ctx.fpr[14] = std::bit_cast<float>(std::bit_cast<std::uint32_t>(ctx.fpr[0]) & 0x7FFFFFFFu);
|
|
ctx.set_fpu_condition((ctx.fpr[13] <= ctx.fpr[14]));
|
|
// nop
|
|
{ const bool branch_taken = ctx.fpu_condition();
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_08A06F9C;
|
|
}
|
|
goto L_08A06F94;
|
|
}
|
|
L_08A06F94:
|
|
{ const bool branch_taken = 0u == 0u;
|
|
ctx.fpr[0] = std::bit_cast<float>(std::bit_cast<std::uint32_t>(ctx.fpr[12]));
|
|
if (branch_taken) {
|
|
goto L_08A06F9C;
|
|
}
|
|
goto L_08A06F9C;
|
|
}
|
|
L_08A06F9C:
|
|
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_08A06FA4:
|
|
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), std::bit_cast<std::uint32_t>(ctx.fpr[20]));
|
|
aot_mem.aot_store32(ctx.gpr[29] + static_cast<std::uint32_t>(20), ctx.gpr[31]);
|
|
ctx.gpr[31] = (0x08A06FB8u);
|
|
ctx.fpr[20] = std::bit_cast<float>(aot_mem.aot_load32(ctx.gpr[4] + static_cast<std::uint32_t>(12)));
|
|
goto L_08A06F40;
|
|
L_08A06FB8:
|
|
ctx.set_fpu_condition((!(std::isnan(ctx.fpr[20]) || std::isnan(ctx.fpr[0])) && ctx.fpr[20] == ctx.fpr[0]));
|
|
// nop
|
|
{ const bool branch_taken = !ctx.fpu_condition();
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_08A06FD0;
|
|
}
|
|
goto L_08A06FC8;
|
|
}
|
|
L_08A06FC8:
|
|
{ const bool branch_taken = 0u == 0u;
|
|
ctx.gpr[2] = (0u | 1u);
|
|
if (branch_taken) {
|
|
goto L_08A06FD4;
|
|
}
|
|
goto L_08A06FD0;
|
|
}
|
|
L_08A06FD0:
|
|
ctx.gpr[2] = (0u | 0u);
|
|
goto L_08A06FD4;
|
|
L_08A06FD4:
|
|
ctx.fpr[20] = std::bit_cast<float>(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_08A06FE4:
|
|
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.fpr[12] = std::bit_cast<float>(aot_mem.aot_load32(ctx.gpr[16] + static_cast<std::uint32_t>(12)));
|
|
aot_mem.aot_store32(ctx.gpr[29] + static_cast<std::uint32_t>(20), ctx.gpr[18]);
|
|
aot_mem.aot_store32(ctx.gpr[29] + static_cast<std::uint32_t>(24), ctx.gpr[19]);
|
|
aot_mem.aot_store32(ctx.gpr[29] + static_cast<std::uint32_t>(28), ctx.gpr[31]);
|
|
ctx.fpr[12] = std::bit_cast<float>(std::bit_cast<std::uint32_t>(ctx.fpr[12]) & 0x7FFFFFFFu);
|
|
ctx.gpr[31] = (0x08A0700Cu);
|
|
// nop
|
|
if (rt.invoke_chained_direct<&recomp_unit_0188_entry, 188u, 387u, 0x08AF5E68u>(ctx, &aot_mem) && ctx.pc == 0x08A0700Cu) goto L_08A0700C;
|
|
return;
|
|
L_08A0700C:
|
|
ctx.gpr[19] = (ctx.gpr[3] | 0u);
|
|
ctx.gpr[18] = (ctx.gpr[2] | 0u);
|
|
ctx.gpr[31] = (0x08A0701Cu);
|
|
ctx.gpr[4] = (ctx.gpr[16] | 0u);
|
|
goto L_08A06F74;
|
|
L_08A0701C:
|
|
ctx.fpr[12] = std::bit_cast<float>(std::bit_cast<std::uint32_t>(ctx.fpr[0]) & 0x7FFFFFFFu);
|
|
ctx.gpr[31] = (0x08A07028u);
|
|
// nop
|
|
if (rt.invoke_chained_direct<&recomp_unit_0188_entry, 188u, 387u, 0x08AF5E68u>(ctx, &aot_mem) && ctx.pc == 0x08A07028u) goto L_08A07028;
|
|
return;
|
|
L_08A07028:
|
|
ctx.gpr[4] = (2229u << 16u);
|
|
ctx.gpr[7] = (aot_mem.aot_load32(ctx.gpr[4] + static_cast<std::uint32_t>(-15252)));
|
|
ctx.gpr[6] = (aot_mem.aot_load32(ctx.gpr[4] + static_cast<std::uint32_t>(-15256)));
|
|
ctx.gpr[5] = (ctx.gpr[3] | 0u);
|
|
ctx.gpr[31] = (0x08A07040u);
|
|
ctx.gpr[4] = (ctx.gpr[2] | 0u);
|
|
if (rt.invoke_chained_direct<&recomp_unit_0188_entry, 188u, 441u, 0x08AF6264u>(ctx, &aot_mem) && ctx.pc == 0x08A07040u) goto L_08A07040;
|
|
return;
|
|
L_08A07040:
|
|
ctx.gpr[5] = (ctx.gpr[19] | 0u);
|
|
ctx.gpr[4] = (ctx.gpr[18] | 0u);
|
|
ctx.gpr[7] = (ctx.gpr[3] | 0u);
|
|
ctx.gpr[31] = (0x08A07054u);
|
|
ctx.gpr[6] = (ctx.gpr[2] | 0u);
|
|
if (rt.invoke_chained_direct<&recomp_unit_0188_entry, 188u, 524u, 0x08AF6874u>(ctx, &aot_mem) && ctx.pc == 0x08A07054u) goto L_08A07054;
|
|
return;
|
|
L_08A07054:
|
|
{ const bool branch_taken = static_cast<std::int32_t>(ctx.gpr[2]) < 0;
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_08A07064;
|
|
}
|
|
goto L_08A0705C;
|
|
}
|
|
L_08A0705C:
|
|
{ const bool branch_taken = 0u == 0u;
|
|
ctx.gpr[2] = (0u | 1u);
|
|
if (branch_taken) {
|
|
goto L_08A07068;
|
|
}
|
|
goto L_08A07064;
|
|
}
|
|
L_08A07064:
|
|
ctx.gpr[2] = (0u | 0u);
|
|
goto L_08A07068;
|
|
L_08A07068:
|
|
ctx.gpr[16] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast<std::uint32_t>(16)));
|
|
ctx.gpr[18] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast<std::uint32_t>(20)));
|
|
ctx.gpr[19] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast<std::uint32_t>(24)));
|
|
ctx.gpr[31] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast<std::uint32_t>(28)));
|
|
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_08A07080:
|
|
ctx.fpr[13] = std::bit_cast<float>(aot_mem.aot_load32(ctx.gpr[4] + static_cast<std::uint32_t>(12)));
|
|
ctx.fpr[14] = std::bit_cast<float>(aot_mem.aot_load32(ctx.gpr[4] + static_cast<std::uint32_t>(4)));
|
|
aot_mem.aot_store32(ctx.gpr[4] + static_cast<std::uint32_t>(16), std::bit_cast<std::uint32_t>(ctx.fpr[13]));
|
|
ctx.fpr[15] = std::bit_cast<float>(std::bit_cast<std::uint32_t>(ctx.fpr[14]) & 0x7FFFFFFFu);
|
|
ctx.fpr[13] = std::bit_cast<float>(aot_mem.aot_load32(ctx.gpr[4] + static_cast<std::uint32_t>(0)));
|
|
ctx.fpr[16] = std::bit_cast<float>(std::bit_cast<std::uint32_t>(ctx.fpr[13]) & 0x7FFFFFFFu);
|
|
ctx.set_fpu_condition((ctx.fpr[15] <= ctx.fpr[16]));
|
|
// nop
|
|
{ const bool branch_taken = ctx.fpu_condition();
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_08A070B0;
|
|
}
|
|
goto L_08A070A8;
|
|
}
|
|
L_08A070A8:
|
|
{ const bool branch_taken = 0u == 0u;
|
|
ctx.fpr[13] = std::bit_cast<float>(std::bit_cast<std::uint32_t>(ctx.fpr[14]));
|
|
if (branch_taken) {
|
|
goto L_08A070B0;
|
|
}
|
|
goto L_08A070B0;
|
|
}
|
|
L_08A070B0:
|
|
ctx.gpr[5] = (16256u << 16u);
|
|
ctx.fpr[14] = std::bit_cast<float>(ctx.gpr[5]);
|
|
ctx.set_fpu_condition((ctx.fpr[12] < ctx.fpr[14]));
|
|
// nop
|
|
{ const bool branch_taken = !ctx.fpu_condition();
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_08A070E8;
|
|
}
|
|
goto L_08A070C8;
|
|
}
|
|
L_08A070C8:
|
|
{ const float fs = ctx.fpr[12]; 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[13] = std::bit_cast<float>(0u);
|
|
ctx.set_fpu_condition((!(std::isnan(ctx.fpr[12]) || std::isnan(ctx.fpr[13])) && ctx.fpr[12] == ctx.fpr[13]));
|
|
// nop
|
|
{ const bool branch_taken = !ctx.fpu_condition();
|
|
aot_mem.aot_store32(ctx.gpr[4] + static_cast<std::uint32_t>(12), std::bit_cast<std::uint32_t>(ctx.fpr[12]));
|
|
if (branch_taken) {
|
|
goto L_08A070F4;
|
|
}
|
|
goto L_08A070E0;
|
|
}
|
|
L_08A070E0:
|
|
{ const bool branch_taken = 0u == 0u;
|
|
aot_mem.aot_store32(ctx.gpr[4] + static_cast<std::uint32_t>(20), std::bit_cast<std::uint32_t>(ctx.fpr[13]));
|
|
if (branch_taken) {
|
|
goto L_08A070F4;
|
|
}
|
|
goto L_08A070E8;
|
|
}
|
|
L_08A070E8:
|
|
aot_mem.aot_store32(ctx.gpr[4] + static_cast<std::uint32_t>(12), std::bit_cast<std::uint32_t>(ctx.fpr[13]));
|
|
ctx.gpr[5] = (0u | 1u);
|
|
aot_mem.aot_store8(ctx.gpr[4] + static_cast<std::uint32_t>(10), static_cast<std::uint8_t>(ctx.gpr[5]));
|
|
goto L_08A070F4;
|
|
L_08A070F4:
|
|
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_08A070FC:
|
|
ctx.fpr[12] = std::bit_cast<float>(aot_mem.aot_load32(ctx.gpr[4] + static_cast<std::uint32_t>(4)));
|
|
ctx.fpr[13] = std::bit_cast<float>(std::bit_cast<std::uint32_t>(ctx.fpr[12]) & 0x7FFFFFFFu);
|
|
ctx.fpr[0] = std::bit_cast<float>(aot_mem.aot_load32(ctx.gpr[4] + static_cast<std::uint32_t>(0)));
|
|
ctx.fpr[14] = std::bit_cast<float>(std::bit_cast<std::uint32_t>(ctx.fpr[0]) & 0x7FFFFFFFu);
|
|
ctx.set_fpu_condition((ctx.fpr[13] <= ctx.fpr[14]));
|
|
// nop
|
|
{ const bool branch_taken = ctx.fpu_condition();
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_08A07124;
|
|
}
|
|
goto L_08A0711C;
|
|
}
|
|
L_08A0711C:
|
|
{ const bool branch_taken = 0u == 0u;
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_08A07128;
|
|
}
|
|
goto L_08A07124;
|
|
}
|
|
L_08A07124:
|
|
ctx.fpr[0] = std::bit_cast<float>(std::bit_cast<std::uint32_t>(ctx.fpr[12]));
|
|
goto L_08A07128;
|
|
L_08A07128:
|
|
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_08A07130:
|
|
ctx.fpr[12] = std::bit_cast<float>(aot_mem.aot_load32(ctx.gpr[4] + static_cast<std::uint32_t>(4)));
|
|
ctx.fpr[13] = std::bit_cast<float>(std::bit_cast<std::uint32_t>(ctx.fpr[12]) & 0x7FFFFFFFu);
|
|
ctx.fpr[0] = std::bit_cast<float>(aot_mem.aot_load32(ctx.gpr[4] + static_cast<std::uint32_t>(0)));
|
|
ctx.fpr[14] = std::bit_cast<float>(std::bit_cast<std::uint32_t>(ctx.fpr[0]) & 0x7FFFFFFFu);
|
|
ctx.set_fpu_condition((ctx.fpr[13] <= ctx.fpr[14]));
|
|
// nop
|
|
{ const bool branch_taken = ctx.fpu_condition();
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_08A07158;
|
|
}
|
|
goto L_08A07150;
|
|
}
|
|
L_08A07150:
|
|
{ const bool branch_taken = 0u == 0u;
|
|
ctx.fpr[0] = std::bit_cast<float>(std::bit_cast<std::uint32_t>(ctx.fpr[12]));
|
|
if (branch_taken) {
|
|
goto L_08A07158;
|
|
}
|
|
goto L_08A07158;
|
|
}
|
|
L_08A07158:
|
|
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_08A07160:
|
|
ctx.fpr[13] = std::bit_cast<float>(aot_mem.aot_load32(ctx.gpr[4] + static_cast<std::uint32_t>(4)));
|
|
ctx.fpr[14] = std::bit_cast<float>(std::bit_cast<std::uint32_t>(ctx.fpr[13]) & 0x7FFFFFFFu);
|
|
ctx.fpr[12] = std::bit_cast<float>(aot_mem.aot_load32(ctx.gpr[4] + static_cast<std::uint32_t>(0)));
|
|
ctx.fpr[15] = std::bit_cast<float>(std::bit_cast<std::uint32_t>(ctx.fpr[12]) & 0x7FFFFFFFu);
|
|
ctx.set_fpu_condition((ctx.fpr[14] <= ctx.fpr[15]));
|
|
// nop
|
|
{ const bool branch_taken = ctx.fpu_condition();
|
|
ctx.fpr[0] = std::bit_cast<float>(0u);
|
|
if (branch_taken) {
|
|
goto L_08A07188;
|
|
}
|
|
goto L_08A07180;
|
|
}
|
|
L_08A07180:
|
|
{ const bool branch_taken = 0u == 0u;
|
|
ctx.fpr[12] = std::bit_cast<float>(std::bit_cast<std::uint32_t>(ctx.fpr[13]));
|
|
if (branch_taken) {
|
|
goto L_08A07188;
|
|
}
|
|
goto L_08A07188;
|
|
}
|
|
L_08A07188:
|
|
ctx.set_fpu_condition((!(std::isnan(ctx.fpr[12]) || std::isnan(ctx.fpr[0])) && ctx.fpr[12] == ctx.fpr[0]));
|
|
// nop
|
|
{ const bool branch_taken = ctx.fpu_condition();
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_08A071A8;
|
|
}
|
|
goto L_08A07198;
|
|
}
|
|
L_08A07198:
|
|
ctx.fpr[0] = std::bit_cast<float>(aot_mem.aot_load32(ctx.gpr[4] + static_cast<std::uint32_t>(12)));
|
|
ctx.fpr[0] = ctx.fpr[0] / ctx.fpr[12];
|
|
{ const bool branch_taken = 0u == 0u;
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_08A071A8;
|
|
}
|
|
goto L_08A071A8;
|
|
}
|
|
L_08A071A8:
|
|
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_08A071B0:
|
|
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), std::bit_cast<std::uint32_t>(ctx.fpr[20]));
|
|
aot_mem.aot_store32(ctx.gpr[29] + static_cast<std::uint32_t>(20), ctx.gpr[31]);
|
|
ctx.gpr[31] = (0x08A071C4u);
|
|
ctx.fpr[20] = std::bit_cast<float>(aot_mem.aot_load32(ctx.gpr[4] + static_cast<std::uint32_t>(12)));
|
|
goto L_08A070FC;
|
|
L_08A071C4:
|
|
ctx.set_fpu_condition((!(std::isnan(ctx.fpr[20]) || std::isnan(ctx.fpr[0])) && ctx.fpr[20] == ctx.fpr[0]));
|
|
// nop
|
|
{ const bool branch_taken = !ctx.fpu_condition();
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_08A071DC;
|
|
}
|
|
goto L_08A071D4;
|
|
}
|
|
L_08A071D4:
|
|
{ const bool branch_taken = 0u == 0u;
|
|
ctx.gpr[2] = (0u | 1u);
|
|
if (branch_taken) {
|
|
goto L_08A071E0;
|
|
}
|
|
goto L_08A071DC;
|
|
}
|
|
L_08A071DC:
|
|
ctx.gpr[2] = (0u | 0u);
|
|
goto L_08A071E0;
|
|
L_08A071E0:
|
|
ctx.fpr[20] = std::bit_cast<float>(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_08A071F0:
|
|
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.fpr[12] = std::bit_cast<float>(aot_mem.aot_load32(ctx.gpr[16] + static_cast<std::uint32_t>(12)));
|
|
aot_mem.aot_store32(ctx.gpr[29] + static_cast<std::uint32_t>(20), ctx.gpr[18]);
|
|
aot_mem.aot_store32(ctx.gpr[29] + static_cast<std::uint32_t>(24), ctx.gpr[19]);
|
|
aot_mem.aot_store32(ctx.gpr[29] + static_cast<std::uint32_t>(28), ctx.gpr[31]);
|
|
ctx.fpr[12] = std::bit_cast<float>(std::bit_cast<std::uint32_t>(ctx.fpr[12]) & 0x7FFFFFFFu);
|
|
ctx.gpr[31] = (0x08A07218u);
|
|
// nop
|
|
if (rt.invoke_chained_direct<&recomp_unit_0188_entry, 188u, 387u, 0x08AF5E68u>(ctx, &aot_mem) && ctx.pc == 0x08A07218u) goto L_08A07218;
|
|
return;
|
|
L_08A07218:
|
|
ctx.gpr[19] = (ctx.gpr[3] | 0u);
|
|
ctx.gpr[18] = (ctx.gpr[2] | 0u);
|
|
ctx.gpr[31] = (0x08A07228u);
|
|
ctx.gpr[4] = (ctx.gpr[16] | 0u);
|
|
goto L_08A07130;
|
|
L_08A07228:
|
|
ctx.fpr[12] = std::bit_cast<float>(std::bit_cast<std::uint32_t>(ctx.fpr[0]) & 0x7FFFFFFFu);
|
|
ctx.gpr[31] = (0x08A07234u);
|
|
// nop
|
|
if (rt.invoke_chained_direct<&recomp_unit_0188_entry, 188u, 387u, 0x08AF5E68u>(ctx, &aot_mem) && ctx.pc == 0x08A07234u) goto L_08A07234;
|
|
return;
|
|
L_08A07234:
|
|
ctx.gpr[4] = (2229u << 16u);
|
|
ctx.gpr[7] = (aot_mem.aot_load32(ctx.gpr[4] + static_cast<std::uint32_t>(-15252)));
|
|
ctx.gpr[6] = (aot_mem.aot_load32(ctx.gpr[4] + static_cast<std::uint32_t>(-15256)));
|
|
ctx.gpr[5] = (ctx.gpr[3] | 0u);
|
|
ctx.gpr[31] = (0x08A0724Cu);
|
|
ctx.gpr[4] = (ctx.gpr[2] | 0u);
|
|
if (rt.invoke_chained_direct<&recomp_unit_0188_entry, 188u, 441u, 0x08AF6264u>(ctx, &aot_mem) && ctx.pc == 0x08A0724Cu) goto L_08A0724C;
|
|
return;
|
|
L_08A0724C:
|
|
ctx.gpr[5] = (ctx.gpr[19] | 0u);
|
|
ctx.gpr[4] = (ctx.gpr[18] | 0u);
|
|
ctx.gpr[7] = (ctx.gpr[3] | 0u);
|
|
ctx.gpr[31] = (0x08A07260u);
|
|
ctx.gpr[6] = (ctx.gpr[2] | 0u);
|
|
if (rt.invoke_chained_direct<&recomp_unit_0188_entry, 188u, 524u, 0x08AF6874u>(ctx, &aot_mem) && ctx.pc == 0x08A07260u) goto L_08A07260;
|
|
return;
|
|
L_08A07260:
|
|
{ const bool branch_taken = static_cast<std::int32_t>(ctx.gpr[2]) < 0;
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_08A07270;
|
|
}
|
|
goto L_08A07268;
|
|
}
|
|
L_08A07268:
|
|
{ const bool branch_taken = 0u == 0u;
|
|
ctx.gpr[2] = (0u | 1u);
|
|
if (branch_taken) {
|
|
goto L_08A07274;
|
|
}
|
|
goto L_08A07270;
|
|
}
|
|
L_08A07270:
|
|
ctx.gpr[2] = (0u | 0u);
|
|
goto L_08A07274;
|
|
L_08A07274:
|
|
ctx.gpr[16] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast<std::uint32_t>(16)));
|
|
ctx.gpr[18] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast<std::uint32_t>(20)));
|
|
ctx.gpr[19] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast<std::uint32_t>(24)));
|
|
ctx.gpr[31] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast<std::uint32_t>(28)));
|
|
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_08A0728C:
|
|
ctx.gpr[29] = (ctx.gpr[29] + static_cast<std::uint32_t>(-400));
|
|
ctx.gpr[7] = (15948u << 16u);
|
|
ctx.gpr[7] = (ctx.gpr[7] | 52429u);
|
|
aot_mem.aot_store32(ctx.gpr[29] + static_cast<std::uint32_t>(356), std::bit_cast<std::uint32_t>(ctx.fpr[22]));
|
|
ctx.fpr[22] = std::bit_cast<float>(ctx.gpr[7]);
|
|
ctx.gpr[7] = (16025u << 16u);
|
|
ctx.gpr[7] = (ctx.gpr[7] | 39322u);
|
|
aot_mem.aot_store32(ctx.gpr[29] + static_cast<std::uint32_t>(352), std::bit_cast<std::uint32_t>(ctx.fpr[20]));
|
|
ctx.fpr[20] = std::bit_cast<float>(ctx.gpr[7]);
|
|
aot_mem.aot_store32(ctx.gpr[29] + static_cast<std::uint32_t>(364), ctx.gpr[17]);
|
|
ctx.gpr[17] = (ctx.gpr[4] | 0u);
|
|
ctx.gpr[6] = (aot_mem.aot_load32(ctx.gpr[5] + static_cast<std::uint32_t>(836)));
|
|
ctx.gpr[7] = (16256u << 16u);
|
|
aot_mem.aot_store32(ctx.gpr[29] + static_cast<std::uint32_t>(368), ctx.gpr[18]);
|
|
aot_mem.aot_store32(ctx.gpr[29] + static_cast<std::uint32_t>(372), ctx.gpr[19]);
|
|
aot_mem.aot_store32(ctx.gpr[29] + static_cast<std::uint32_t>(376), ctx.gpr[20]);
|
|
ctx.fpr[13] = std::bit_cast<float>(0u);
|
|
ctx.gpr[20] = (0u | 1u);
|
|
ctx.fpr[12] = std::bit_cast<float>(ctx.gpr[7]);
|
|
ctx.gpr[4] = (ctx.gpr[29] + static_cast<std::uint32_t>(32));
|
|
ctx.gpr[19] = (ctx.gpr[29] + static_cast<std::uint32_t>(48));
|
|
ctx.gpr[18] = (ctx.gpr[17] + static_cast<std::uint32_t>(32));
|
|
aot_mem.aot_store32(ctx.gpr[29] + static_cast<std::uint32_t>(360), ctx.gpr[16]);
|
|
aot_mem.aot_store32(ctx.gpr[29] + static_cast<std::uint32_t>(380), ctx.gpr[21]);
|
|
aot_mem.aot_store32(ctx.gpr[29] + static_cast<std::uint32_t>(384), ctx.gpr[22]);
|
|
aot_mem.aot_store32(ctx.gpr[29] + static_cast<std::uint32_t>(388), ctx.gpr[31]);
|
|
{ const bool branch_taken = ctx.gpr[6] != ctx.gpr[20];
|
|
ctx.gpr[16] = (ctx.gpr[5] | 0u);
|
|
if (branch_taken) {
|
|
goto L_08A07324;
|
|
}
|
|
goto L_08A072FC;
|
|
}
|
|
L_08A072FC:
|
|
aot_mem.aot_store32(ctx.gpr[29] + static_cast<std::uint32_t>(160), std::bit_cast<std::uint32_t>(ctx.fpr[13]));
|
|
ctx.gpr[5] = (49024u << 16u);
|
|
ctx.fpr[13] = std::bit_cast<float>(ctx.gpr[5]);
|
|
aot_mem.aot_store32(ctx.gpr[29] + static_cast<std::uint32_t>(164), std::bit_cast<std::uint32_t>(ctx.fpr[13]));
|
|
aot_mem.aot_store32(ctx.gpr[29] + static_cast<std::uint32_t>(168), std::bit_cast<std::uint32_t>(ctx.fpr[12]));
|
|
ctx.gpr[5] = (ctx.gpr[29] + static_cast<std::uint32_t>(160));
|
|
{ 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[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_08A0733C;
|
|
}
|
|
goto L_08A07324;
|
|
}
|
|
L_08A07324:
|
|
aot_mem.aot_store32(ctx.gpr[29] + static_cast<std::uint32_t>(176), std::bit_cast<std::uint32_t>(ctx.fpr[12]));
|
|
aot_mem.aot_store32(ctx.gpr[29] + static_cast<std::uint32_t>(180), std::bit_cast<std::uint32_t>(ctx.fpr[13]));
|
|
aot_mem.aot_store32(ctx.gpr[29] + static_cast<std::uint32_t>(184), std::bit_cast<std::uint32_t>(ctx.fpr[13]));
|
|
ctx.gpr[5] = (ctx.gpr[29] + static_cast<std::uint32_t>(176));
|
|
{ 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[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_08A0733C;
|
|
L_08A0733C:
|
|
ctx.fpr[12] = std::bit_cast<float>(aot_mem.aot_load32(ctx.gpr[29] + static_cast<std::uint32_t>(32)));
|
|
ctx.fpr[13] = std::bit_cast<float>(aot_mem.aot_load32(ctx.gpr[29] + static_cast<std::uint32_t>(36)));
|
|
ctx.fpr[14] = std::bit_cast<float>(aot_mem.aot_load32(ctx.gpr[29] + static_cast<std::uint32_t>(40)));
|
|
ctx.gpr[4] = (ctx.gpr[16] + static_cast<std::uint32_t>(128));
|
|
{ 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>(160));
|
|
{ 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>(256));
|
|
{ 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])); }
|
|
aot_mem.aot_store32(ctx.gpr[29] + static_cast<std::uint32_t>(272), std::bit_cast<std::uint32_t>(ctx.fpr[12]));
|
|
aot_mem.aot_store32(ctx.gpr[29] + static_cast<std::uint32_t>(276), std::bit_cast<std::uint32_t>(ctx.fpr[13]));
|
|
aot_mem.aot_store32(ctx.gpr[29] + static_cast<std::uint32_t>(280), std::bit_cast<std::uint32_t>(ctx.fpr[14]));
|
|
{ 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); }
|
|
ctx.gpr[4] = (ctx.gpr[29] + static_cast<std::uint32_t>(272));
|
|
{ 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<2u, 4u>(vfpu_value); }
|
|
ctx.execute_vfpu_cross_quat(0u, 1u, 2u, 3u);
|
|
ctx.gpr[4] = (ctx.gpr[29] + static_cast<std::uint32_t>(240));
|
|
{ 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); }
|
|
ctx.gpr[4] = (ctx.gpr[16] + 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); }
|
|
ctx.gpr[4] = (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[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); }
|
|
ctx.gpr[4] = (ctx.gpr[16] + static_cast<std::uint32_t>(144));
|
|
{ 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); }
|
|
{ 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[21] = (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[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.gpr[22] = (ctx.gpr[29] + static_cast<std::uint32_t>(80));
|
|
ctx.gpr[4] = (ctx.gpr[22] | 0u);
|
|
ctx.gpr[31] = (0x08A073D8u);
|
|
ctx.gpr[5] = (ctx.gpr[16] | 0u);
|
|
goto L_08A05EE4;
|
|
L_08A073D8:
|
|
{ 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<4u, 4u>(vfpu_value); }
|
|
{ const std::uint32_t vfpu_address = ctx.gpr[22] + 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[22] + 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[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<8u, 4u>(vfpu_value); }
|
|
{ float vfpu_matrix[16]{}, vfpu_target_raw[4]{}, vfpu_target[4]{}, vfpu_result[4]{};
|
|
ctx.read_vfpu_matrix(vfpu_matrix, 4u, 3u);
|
|
ctx.read_vfpu_vector_ct<8u, 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); }
|
|
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[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.gpr[4] = (aot_mem.aot_load8(ctx.gpr[17] + static_cast<std::uint32_t>(9)));
|
|
{ const bool branch_taken = static_cast<std::int32_t>(ctx.gpr[4]) > 0;
|
|
ctx.gpr[5] = (0u | 2u);
|
|
if (branch_taken) {
|
|
goto L_08A07418;
|
|
}
|
|
goto L_08A07408;
|
|
}
|
|
L_08A07408:
|
|
{ const bool branch_taken = static_cast<std::int32_t>(ctx.gpr[4]) < 0;
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_08A07480;
|
|
}
|
|
goto L_08A07410;
|
|
}
|
|
L_08A07410:
|
|
{ const bool branch_taken = 0u == 0u;
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_08A07454;
|
|
}
|
|
goto L_08A07418;
|
|
}
|
|
L_08A07418:
|
|
{ const bool branch_taken = ctx.gpr[4] != ctx.gpr[5];
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_08A07480;
|
|
}
|
|
goto L_08A07420;
|
|
}
|
|
L_08A07420:
|
|
ctx.gpr[4] = (aot_mem.aot_load8(ctx.gpr[17] + static_cast<std::uint32_t>(8)));
|
|
{ const bool branch_taken = ctx.gpr[4] == 0u;
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_08A07440;
|
|
}
|
|
goto L_08A0742C;
|
|
}
|
|
L_08A0742C:
|
|
ctx.fpr[12] = std::bit_cast<float>(aot_mem.aot_load32(ctx.gpr[29] + static_cast<std::uint32_t>(68)));
|
|
ctx.fpr[13] = std::bit_cast<float>(aot_mem.aot_load32(ctx.gpr[29] + static_cast<std::uint32_t>(64)));
|
|
ctx.fpr[12] = ctx.fpr[12] + ctx.fpr[13];
|
|
{ const bool branch_taken = 0u == 0u;
|
|
ctx.fpr[12] = std::bit_cast<float>(std::bit_cast<std::uint32_t>(ctx.fpr[12]) ^ 0x80000000u);
|
|
if (branch_taken) {
|
|
goto L_08A0744C;
|
|
}
|
|
goto L_08A07440;
|
|
}
|
|
L_08A07440:
|
|
ctx.fpr[12] = std::bit_cast<float>(aot_mem.aot_load32(ctx.gpr[29] + static_cast<std::uint32_t>(68)));
|
|
ctx.fpr[13] = std::bit_cast<float>(aot_mem.aot_load32(ctx.gpr[29] + static_cast<std::uint32_t>(64)));
|
|
ctx.fpr[12] = ctx.fpr[12] - ctx.fpr[13];
|
|
goto L_08A0744C;
|
|
L_08A0744C:
|
|
{ const bool branch_taken = 0u == 0u;
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_08A07480;
|
|
}
|
|
goto L_08A07454;
|
|
}
|
|
L_08A07454:
|
|
ctx.gpr[4] = (aot_mem.aot_load8(ctx.gpr[17] + static_cast<std::uint32_t>(8)));
|
|
{ const bool branch_taken = ctx.gpr[4] == 0u;
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_08A07470;
|
|
}
|
|
goto L_08A07460;
|
|
}
|
|
L_08A07460:
|
|
ctx.fpr[12] = std::bit_cast<float>(aot_mem.aot_load32(ctx.gpr[29] + static_cast<std::uint32_t>(72)));
|
|
ctx.fpr[13] = std::bit_cast<float>(aot_mem.aot_load32(ctx.gpr[29] + static_cast<std::uint32_t>(68)));
|
|
{ const bool branch_taken = 0u == 0u;
|
|
ctx.fpr[12] = ctx.fpr[12] + ctx.fpr[13];
|
|
if (branch_taken) {
|
|
goto L_08A07480;
|
|
}
|
|
goto L_08A07470;
|
|
}
|
|
L_08A07470:
|
|
ctx.fpr[12] = std::bit_cast<float>(aot_mem.aot_load32(ctx.gpr[29] + static_cast<std::uint32_t>(72)));
|
|
ctx.fpr[13] = std::bit_cast<float>(aot_mem.aot_load32(ctx.gpr[29] + static_cast<std::uint32_t>(68)));
|
|
ctx.fpr[12] = std::bit_cast<float>(std::bit_cast<std::uint32_t>(ctx.fpr[12]) ^ 0x80000000u);
|
|
ctx.fpr[12] = ctx.fpr[12] - ctx.fpr[13];
|
|
goto L_08A07480;
|
|
L_08A07480:
|
|
ctx.set_fpu_condition((ctx.fpr[12] <= ctx.fpr[22]));
|
|
// nop
|
|
{ const bool branch_taken = ctx.fpu_condition();
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_08A07498;
|
|
}
|
|
goto L_08A07490;
|
|
}
|
|
L_08A07490:
|
|
{ const bool branch_taken = 0u == 0u;
|
|
ctx.fpr[12] = std::bit_cast<float>(std::bit_cast<std::uint32_t>(ctx.fpr[22]));
|
|
if (branch_taken) {
|
|
goto L_08A074B8;
|
|
}
|
|
goto L_08A07498;
|
|
}
|
|
L_08A07498:
|
|
ctx.gpr[4] = (48716u << 16u);
|
|
ctx.gpr[4] = (ctx.gpr[4] | 52429u);
|
|
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_08A074B8;
|
|
}
|
|
goto L_08A074B4;
|
|
}
|
|
L_08A074B4:
|
|
ctx.fpr[12] = std::bit_cast<float>(std::bit_cast<std::uint32_t>(ctx.fpr[13]));
|
|
goto L_08A074B8;
|
|
L_08A074B8:
|
|
ctx.fpr[13] = std::bit_cast<float>(std::bit_cast<std::uint32_t>(ctx.fpr[12]) & 0x7FFFFFFFu);
|
|
ctx.gpr[4] = (2229u << 16u);
|
|
ctx.fpr[14] = std::bit_cast<float>(aot_mem.aot_load32(ctx.gpr[4] + static_cast<std::uint32_t>(-15260)));
|
|
ctx.set_fpu_condition((ctx.fpr[13] <= ctx.fpr[14]));
|
|
// nop
|
|
{ const bool branch_taken = ctx.fpu_condition();
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_08A074E0;
|
|
}
|
|
goto L_08A074D4;
|
|
}
|
|
L_08A074D4:
|
|
ctx.fpr[13] = std::bit_cast<float>(aot_mem.aot_load32(ctx.gpr[17] + static_cast<std::uint32_t>(20)));
|
|
ctx.fpr[12] = ctx.fpr[13] + ctx.fpr[12];
|
|
aot_mem.aot_store32(ctx.gpr[17] + static_cast<std::uint32_t>(20), std::bit_cast<std::uint32_t>(ctx.fpr[12]));
|
|
goto L_08A074E0;
|
|
L_08A074E0:
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast<std::uint32_t>(836)));
|
|
{ const bool branch_taken = ctx.gpr[4] != ctx.gpr[20];
|
|
ctx.gpr[4] = (16241u << 16u);
|
|
if (branch_taken) {
|
|
goto L_08A07508;
|
|
}
|
|
goto L_08A074EC;
|
|
}
|
|
L_08A074EC:
|
|
ctx.gpr[4] = (16250u << 16u);
|
|
ctx.fpr[12] = std::bit_cast<float>(aot_mem.aot_load32(ctx.gpr[17] + static_cast<std::uint32_t>(20)));
|
|
ctx.gpr[4] = (ctx.gpr[4] | 57672u);
|
|
ctx.fpr[13] = std::bit_cast<float>(ctx.gpr[4]);
|
|
{ const float fs = ctx.fpr[12]; 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; }
|
|
{ const bool branch_taken = 0u == 0u;
|
|
aot_mem.aot_store32(ctx.gpr[17] + static_cast<std::uint32_t>(20), std::bit_cast<std::uint32_t>(ctx.fpr[12]));
|
|
if (branch_taken) {
|
|
goto L_08A0751C;
|
|
}
|
|
goto L_08A07508;
|
|
}
|
|
L_08A07508:
|
|
ctx.fpr[12] = std::bit_cast<float>(aot_mem.aot_load32(ctx.gpr[17] + static_cast<std::uint32_t>(20)));
|
|
ctx.gpr[4] = (ctx.gpr[4] | 60293u);
|
|
ctx.fpr[13] = std::bit_cast<float>(ctx.gpr[4]);
|
|
{ const float fs = ctx.fpr[12]; 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; }
|
|
aot_mem.aot_store32(ctx.gpr[17] + static_cast<std::uint32_t>(20), std::bit_cast<std::uint32_t>(ctx.fpr[12]));
|
|
goto L_08A0751C;
|
|
L_08A0751C:
|
|
ctx.fpr[12] = std::bit_cast<float>(aot_mem.aot_load32(ctx.gpr[17] + static_cast<std::uint32_t>(20)));
|
|
ctx.set_fpu_condition((ctx.fpr[12] <= ctx.fpr[20]));
|
|
// nop
|
|
{ const bool branch_taken = ctx.fpu_condition();
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_08A07538;
|
|
}
|
|
goto L_08A07530;
|
|
}
|
|
L_08A07530:
|
|
{ const bool branch_taken = 0u == 0u;
|
|
aot_mem.aot_store32(ctx.gpr[17] + static_cast<std::uint32_t>(20), std::bit_cast<std::uint32_t>(ctx.fpr[20]));
|
|
if (branch_taken) {
|
|
goto L_08A0755C;
|
|
}
|
|
goto L_08A07538;
|
|
}
|
|
L_08A07538:
|
|
ctx.gpr[4] = (48793u << 16u);
|
|
ctx.fpr[13] = std::bit_cast<float>(aot_mem.aot_load32(ctx.gpr[17] + static_cast<std::uint32_t>(20)));
|
|
ctx.gpr[4] = (ctx.gpr[4] | 39322u);
|
|
ctx.fpr[12] = std::bit_cast<float>(ctx.gpr[4]);
|
|
ctx.set_fpu_condition((ctx.fpr[13] < ctx.fpr[12]));
|
|
// nop
|
|
if (!ctx.fpu_condition()) {
|
|
ctx.fpr[12] = std::bit_cast<float>(aot_mem.aot_load32(ctx.gpr[17] + static_cast<std::uint32_t>(12)));
|
|
goto L_08A07560;
|
|
}
|
|
goto L_08A07558;
|
|
L_08A07558:
|
|
aot_mem.aot_store32(ctx.gpr[17] + static_cast<std::uint32_t>(20), std::bit_cast<std::uint32_t>(ctx.fpr[12]));
|
|
goto L_08A0755C;
|
|
L_08A0755C:
|
|
ctx.fpr[12] = std::bit_cast<float>(aot_mem.aot_load32(ctx.gpr[17] + static_cast<std::uint32_t>(12)));
|
|
goto L_08A07560;
|
|
L_08A07560:
|
|
ctx.fpr[13] = std::bit_cast<float>(aot_mem.aot_load32(ctx.gpr[17] + static_cast<std::uint32_t>(20)));
|
|
ctx.fpr[14] = std::bit_cast<float>(aot_mem.aot_load32(ctx.gpr[17] + static_cast<std::uint32_t>(0)));
|
|
ctx.fpr[12] = ctx.fpr[12] + ctx.fpr[13];
|
|
aot_mem.aot_store8(ctx.gpr[17] + static_cast<std::uint32_t>(10), static_cast<std::uint8_t>(0u));
|
|
ctx.set_fpu_condition((ctx.fpr[12] <= ctx.fpr[14]));
|
|
// nop
|
|
{ const bool branch_taken = ctx.fpu_condition();
|
|
aot_mem.aot_store32(ctx.gpr[17] + static_cast<std::uint32_t>(12), std::bit_cast<std::uint32_t>(ctx.fpr[12]));
|
|
if (branch_taken) {
|
|
goto L_08A075A8;
|
|
}
|
|
goto L_08A07580;
|
|
}
|
|
L_08A07580:
|
|
ctx.gpr[4] = (48972u << 16u);
|
|
ctx.fpr[12] = std::bit_cast<float>(aot_mem.aot_load32(ctx.gpr[17] + static_cast<std::uint32_t>(20)));
|
|
ctx.gpr[4] = (ctx.gpr[4] | 52429u);
|
|
ctx.fpr[14] = std::bit_cast<float>(ctx.gpr[4]);
|
|
ctx.fpr[13] = std::bit_cast<float>(aot_mem.aot_load32(ctx.gpr[17] + static_cast<std::uint32_t>(0)));
|
|
{ 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; }
|
|
ctx.gpr[4] = (0u | 1u);
|
|
aot_mem.aot_store32(ctx.gpr[17] + static_cast<std::uint32_t>(12), std::bit_cast<std::uint32_t>(ctx.fpr[13]));
|
|
aot_mem.aot_store8(ctx.gpr[17] + static_cast<std::uint32_t>(10), static_cast<std::uint8_t>(ctx.gpr[4]));
|
|
aot_mem.aot_store32(ctx.gpr[17] + static_cast<std::uint32_t>(20), std::bit_cast<std::uint32_t>(ctx.fpr[12]));
|
|
goto L_08A075A8;
|
|
L_08A075A8:
|
|
ctx.fpr[12] = std::bit_cast<float>(aot_mem.aot_load32(ctx.gpr[17] + static_cast<std::uint32_t>(12)));
|
|
ctx.fpr[13] = std::bit_cast<float>(aot_mem.aot_load32(ctx.gpr[17] + static_cast<std::uint32_t>(4)));
|
|
ctx.set_fpu_condition((ctx.fpr[12] < ctx.fpr[13]));
|
|
// nop
|
|
{ const bool branch_taken = !ctx.fpu_condition();
|
|
ctx.gpr[4] = (48972u << 16u);
|
|
if (branch_taken) {
|
|
goto L_08A075E4;
|
|
}
|
|
goto L_08A075C0;
|
|
}
|
|
L_08A075C0:
|
|
ctx.fpr[12] = std::bit_cast<float>(aot_mem.aot_load32(ctx.gpr[17] + static_cast<std::uint32_t>(20)));
|
|
ctx.gpr[4] = (ctx.gpr[4] | 52429u);
|
|
ctx.fpr[14] = std::bit_cast<float>(ctx.gpr[4]);
|
|
ctx.fpr[13] = std::bit_cast<float>(aot_mem.aot_load32(ctx.gpr[17] + static_cast<std::uint32_t>(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; }
|
|
ctx.gpr[4] = (0u | 2u);
|
|
aot_mem.aot_store32(ctx.gpr[17] + static_cast<std::uint32_t>(12), std::bit_cast<std::uint32_t>(ctx.fpr[13]));
|
|
aot_mem.aot_store8(ctx.gpr[17] + static_cast<std::uint32_t>(10), static_cast<std::uint8_t>(ctx.gpr[4]));
|
|
aot_mem.aot_store32(ctx.gpr[17] + static_cast<std::uint32_t>(20), std::bit_cast<std::uint32_t>(ctx.fpr[12]));
|
|
goto L_08A075E4;
|
|
L_08A075E4:
|
|
{ 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); }
|
|
{ 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[29] + static_cast<std::uint32_t>(148)));
|
|
ctx.gpr[4] = (ctx.gpr[4] & 1u);
|
|
{ const bool branch_taken = ctx.gpr[4] == 0u;
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_08A07610;
|
|
}
|
|
goto L_08A075FC;
|
|
}
|
|
L_08A075FC:
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast<std::uint32_t>(144)));
|
|
{ const bool branch_taken = ctx.gpr[4] == 0u;
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_08A07610;
|
|
}
|
|
goto L_08A07608;
|
|
}
|
|
L_08A07608:
|
|
ctx.gpr[31] = (0x08A07610u);
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast<std::uint32_t>(144)));
|
|
if (rt.invoke_chained_direct<&recomp_unit_0134_entry, 134u, 263u, 0x08A1D574u>(ctx, &aot_mem) && ctx.pc == 0x08A07610u) goto L_08A07610;
|
|
return;
|
|
L_08A07610:
|
|
ctx.fpr[20] = std::bit_cast<float>(aot_mem.aot_load32(ctx.gpr[29] + static_cast<std::uint32_t>(352)));
|
|
ctx.fpr[22] = std::bit_cast<float>(aot_mem.aot_load32(ctx.gpr[29] + static_cast<std::uint32_t>(356)));
|
|
ctx.gpr[16] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast<std::uint32_t>(360)));
|
|
ctx.gpr[17] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast<std::uint32_t>(364)));
|
|
ctx.gpr[18] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast<std::uint32_t>(368)));
|
|
ctx.gpr[19] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast<std::uint32_t>(372)));
|
|
ctx.gpr[20] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast<std::uint32_t>(376)));
|
|
ctx.gpr[21] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast<std::uint32_t>(380)));
|
|
ctx.gpr[22] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast<std::uint32_t>(384)));
|
|
ctx.gpr[31] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast<std::uint32_t>(388)));
|
|
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_08A07640:
|
|
ctx.gpr[4] = (2229u << 16u);
|
|
ctx.fpr[12] = std::bit_cast<float>(aot_mem.aot_load32(ctx.gpr[4] + static_cast<std::uint32_t>(-15284)));
|
|
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] = (2229u << 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>(-15288)));
|
|
ctx.gpr[7] = (2229u << 16u);
|
|
ctx.gpr[5] = (16014u << 16u);
|
|
ctx.gpr[5] = (ctx.gpr[5] | 14571u);
|
|
ctx.gpr[9] = (2229u << 16u);
|
|
ctx.gpr[8] = (2229u << 16u);
|
|
ctx.gpr[6] = (16672u << 16u);
|
|
ctx.gpr[10] = (2229u << 16u);
|
|
ctx.gpr[11] = (2229u << 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[17] = std::bit_cast<float>(0x7FC00000u); else ctx.fpr[17] = fs * ft; }
|
|
ctx.fpr[16] = std::bit_cast<float>(ctx.gpr[4]);
|
|
ctx.fpr[13] = ctx.fpr[13] / ctx.fpr[17];
|
|
aot_mem.aot_store32(ctx.gpr[7] + static_cast<std::uint32_t>(-15280), std::bit_cast<std::uint32_t>(ctx.fpr[14]));
|
|
ctx.fpr[14] = ctx.fpr[16] / ctx.fpr[15];
|
|
aot_mem.aot_store32(ctx.gpr[9] + static_cast<std::uint32_t>(-15272), std::bit_cast<std::uint32_t>(ctx.fpr[13]));
|
|
ctx.fpr[18] = std::bit_cast<float>(ctx.gpr[5]);
|
|
ctx.fpr[12] = ctx.fpr[18] / ctx.fpr[12];
|
|
aot_mem.aot_store32(ctx.gpr[8] + static_cast<std::uint32_t>(-15276), std::bit_cast<std::uint32_t>(ctx.fpr[14]));
|
|
ctx.fpr[14] = std::bit_cast<float>(ctx.gpr[6]);
|
|
{ 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; }
|
|
aot_mem.aot_store32(ctx.gpr[10] + static_cast<std::uint32_t>(-15268), std::bit_cast<std::uint32_t>(ctx.fpr[13]));
|
|
jump_target = ctx.gpr[31];
|
|
aot_mem.aot_store32(ctx.gpr[11] + static_cast<std::uint32_t>(-15264), std::bit_cast<std::uint32_t>(ctx.fpr[12]));
|
|
local_pc = jump_target;
|
|
if (++local_transfers < 2048u) { entry_id = 0u; goto LOCAL_DISPATCH; }
|
|
ctx.pc = jump_target;
|
|
return;
|
|
L_08A076B8:
|
|
ctx.gpr[7] = (ctx.gpr[4] + static_cast<std::uint32_t>(16));
|
|
{ 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[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[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); }
|
|
{ float vfpu_value[4]{}; ctx.read_vfpu_vector_ct<0u, 4u>(vfpu_value);
|
|
const std::uint32_t vfpu_address = ctx.gpr[7] + 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];
|
|
ctx.gpr[2] = (ctx.gpr[4] | 0u);
|
|
local_pc = jump_target;
|
|
if (++local_transfers < 2048u) { entry_id = 0u; goto LOCAL_DISPATCH; }
|
|
ctx.pc = jump_target;
|
|
return;
|
|
L_08A076D4:
|
|
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_08A07700:
|
|
ctx.gpr[29] = (ctx.gpr[29] + static_cast<std::uint32_t>(-48));
|
|
aot_mem.aot_store32(ctx.gpr[29] + static_cast<std::uint32_t>(32), ctx.gpr[16]);
|
|
aot_mem.aot_store32(ctx.gpr[29] + static_cast<std::uint32_t>(36), ctx.gpr[17]);
|
|
ctx.gpr[17] = (ctx.gpr[4] | 0u);
|
|
ctx.gpr[16] = (ctx.gpr[6] | 0u);
|
|
aot_mem.aot_store32(ctx.gpr[29] + static_cast<std::uint32_t>(40), ctx.gpr[18]);
|
|
ctx.gpr[4] = (2226u << 16u);
|
|
ctx.gpr[18] = (0u | 0u);
|
|
ctx.gpr[5] = (0u | 0u);
|
|
ctx.gpr[6] = (0u | 0u);
|
|
ctx.gpr[7] = (0u | 1u);
|
|
ctx.gpr[8] = (0u | 0u);
|
|
aot_mem.aot_store32(ctx.gpr[29] + static_cast<std::uint32_t>(44), ctx.gpr[31]);
|
|
ctx.gpr[31] = (0x08A0773Cu);
|
|
ctx.gpr[4] = (ctx.gpr[4] + static_cast<std::uint32_t>(-80));
|
|
ctx.pc = 0x08B0BC24u;
|
|
return;
|
|
L_08A0773C:
|
|
ctx.gpr[4] = (2226u << 16u);
|
|
aot_mem.aot_store32(ctx.gpr[17] + static_cast<std::uint32_t>(0), ctx.gpr[2]);
|
|
ctx.gpr[5] = (0u | 0u);
|
|
ctx.gpr[6] = (0u | 1u);
|
|
ctx.gpr[7] = (0u | 1u);
|
|
ctx.gpr[8] = (0u | 0u);
|
|
ctx.gpr[31] = (0x08A0775Cu);
|
|
ctx.gpr[4] = (ctx.gpr[4] + static_cast<std::uint32_t>(-68));
|
|
ctx.pc = 0x08B0BC24u;
|
|
return;
|
|
L_08A0775C:
|
|
ctx.gpr[4] = (2226u << 16u);
|
|
aot_mem.aot_store32(ctx.gpr[17] + static_cast<std::uint32_t>(4), ctx.gpr[2]);
|
|
ctx.gpr[5] = (0u | 0u);
|
|
ctx.gpr[6] = (0u | 0u);
|
|
ctx.gpr[7] = (0u | 1u);
|
|
ctx.gpr[8] = (0u | 0u);
|
|
ctx.gpr[31] = (0x08A0777Cu);
|
|
ctx.gpr[4] = (ctx.gpr[4] + static_cast<std::uint32_t>(-56));
|
|
ctx.pc = 0x08B0BC24u;
|
|
return;
|
|
L_08A0777C:
|
|
ctx.gpr[4] = (68u << 16u);
|
|
ctx.gpr[5] = (2232u << 16u);
|
|
aot_mem.aot_store32(ctx.gpr[17] + static_cast<std::uint32_t>(8), ctx.gpr[2]);
|
|
ctx.gpr[4] = (ctx.gpr[17] + ctx.gpr[4]);
|
|
ctx.gpr[5] = (ctx.gpr[5] + static_cast<std::uint32_t>(-31824));
|
|
aot_mem.aot_store32(ctx.gpr[4] + static_cast<std::uint32_t>(24), ctx.gpr[5]);
|
|
ctx.gpr[4] = (68u << 16u);
|
|
ctx.gpr[5] = (2232u << 16u);
|
|
ctx.gpr[4] = (ctx.gpr[17] + ctx.gpr[4]);
|
|
ctx.gpr[5] = (ctx.gpr[5] + static_cast<std::uint32_t>(-31820));
|
|
aot_mem.aot_store32(ctx.gpr[4] + static_cast<std::uint32_t>(28), ctx.gpr[5]);
|
|
ctx.gpr[4] = (68u << 16u);
|
|
ctx.gpr[5] = (2232u << 16u);
|
|
ctx.gpr[4] = (ctx.gpr[17] + ctx.gpr[4]);
|
|
ctx.gpr[5] = (ctx.gpr[5] + static_cast<std::uint32_t>(-31816));
|
|
aot_mem.aot_store32(ctx.gpr[4] + static_cast<std::uint32_t>(32), ctx.gpr[5]);
|
|
ctx.gpr[4] = (68u << 16u);
|
|
ctx.gpr[5] = (2232u << 16u);
|
|
ctx.gpr[4] = (ctx.gpr[17] + ctx.gpr[4]);
|
|
ctx.gpr[5] = (ctx.gpr[5] + static_cast<std::uint32_t>(-31812));
|
|
aot_mem.aot_store32(ctx.gpr[4] + static_cast<std::uint32_t>(36), ctx.gpr[5]);
|
|
ctx.gpr[4] = (68u << 16u);
|
|
ctx.gpr[6] = (2232u << 16u);
|
|
ctx.gpr[4] = (ctx.gpr[17] + ctx.gpr[4]);
|
|
ctx.gpr[6] = (ctx.gpr[6] + static_cast<std::uint32_t>(-31808));
|
|
aot_mem.aot_store32(ctx.gpr[4] + static_cast<std::uint32_t>(40), ctx.gpr[6]);
|
|
aot_mem.aot_store32(ctx.gpr[5] + static_cast<std::uint32_t>(0), ctx.gpr[16]);
|
|
ctx.gpr[2] = (ctx.gpr[18] | 0u);
|
|
ctx.gpr[16] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast<std::uint32_t>(32)));
|
|
ctx.gpr[17] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast<std::uint32_t>(36)));
|
|
ctx.gpr[18] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast<std::uint32_t>(40)));
|
|
ctx.gpr[31] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast<std::uint32_t>(44)));
|
|
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_08A07804:
|
|
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] = (2232u << 16u);
|
|
aot_mem.aot_store32(ctx.gpr[4] + static_cast<std::uint32_t>(-31804), 0u);
|
|
ctx.gpr[4] = (2232u << 16u);
|
|
aot_mem.aot_store32(ctx.gpr[4] + static_cast<std::uint32_t>(-31800), 0u);
|
|
ctx.gpr[4] = (68u << 16u);
|
|
ctx.gpr[4] = (ctx.gpr[16] + ctx.gpr[4]);
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[4] + static_cast<std::uint32_t>(24)));
|
|
ctx.gpr[5] = (68u << 16u);
|
|
aot_mem.aot_store32(ctx.gpr[4] + static_cast<std::uint32_t>(0), 0u);
|
|
ctx.gpr[4] = (ctx.gpr[16] + ctx.gpr[5]);
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[4] + static_cast<std::uint32_t>(28)));
|
|
ctx.gpr[5] = (68u << 16u);
|
|
aot_mem.aot_store32(ctx.gpr[4] + static_cast<std::uint32_t>(0), 0u);
|
|
ctx.gpr[4] = (ctx.gpr[16] + ctx.gpr[5]);
|
|
ctx.gpr[5] = (aot_mem.aot_load32(ctx.gpr[4] + static_cast<std::uint32_t>(32)));
|
|
ctx.gpr[4] = (ctx.gpr[16] | 0u);
|
|
aot_mem.aot_store32(ctx.gpr[5] + static_cast<std::uint32_t>(0), 0u);
|
|
aot_mem.aot_store32(ctx.gpr[29] + static_cast<std::uint32_t>(20), ctx.gpr[31]);
|
|
ctx.gpr[31] = (0x08A07860u);
|
|
ctx.gpr[5] = (0u | 1u);
|
|
goto L_08A07A88;
|
|
L_08A07860:
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast<std::uint32_t>(0)));
|
|
ctx.gpr[31] = (0x08A0786Cu);
|
|
ctx.gpr[5] = (0u | 1u);
|
|
ctx.pc = 0x08B0BC4Cu;
|
|
return;
|
|
L_08A0786C:
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast<std::uint32_t>(8)));
|
|
ctx.gpr[31] = (0x08A07878u);
|
|
ctx.gpr[5] = (0u | 1u);
|
|
ctx.pc = 0x08B0BC4Cu;
|
|
return;
|
|
L_08A07878:
|
|
ctx.gpr[4] = (0u | 0u);
|
|
ctx.gpr[5] = (0u | 512u);
|
|
ctx.gpr[6] = (0u | 3u);
|
|
ctx.gpr[31] = (0x08A0788Cu);
|
|
ctx.gpr[7] = (0u | 1u);
|
|
ctx.pc = 0x08B0B98Cu;
|
|
return;
|
|
L_08A0788C:
|
|
ctx.gpr[2] = (0u | 0u);
|
|
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_08A078A0:
|
|
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);
|
|
aot_mem.aot_store32(ctx.gpr[29] + static_cast<std::uint32_t>(20), ctx.gpr[31]);
|
|
ctx.gpr[31] = (0x08A078B8u);
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast<std::uint32_t>(0)));
|
|
ctx.pc = 0x08B0BC2Cu;
|
|
return;
|
|
L_08A078B8:
|
|
ctx.gpr[31] = (0x08A078C0u);
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast<std::uint32_t>(4)));
|
|
ctx.pc = 0x08B0BC2Cu;
|
|
return;
|
|
L_08A078C0:
|
|
ctx.gpr[31] = (0x08A078C8u);
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast<std::uint32_t>(8)));
|
|
ctx.pc = 0x08B0BC2Cu;
|
|
return;
|
|
L_08A078C8:
|
|
ctx.gpr[2] = (0u | 0u);
|
|
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_08A078DC:
|
|
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]);
|
|
ctx.gpr[31] = (0x08A078F8u);
|
|
ctx.gpr[16] = (ctx.gpr[5] | 0u);
|
|
goto L_08A07A28;
|
|
L_08A078F8:
|
|
{ const bool branch_taken = static_cast<std::int32_t>(ctx.gpr[2]) <= 0;
|
|
ctx.gpr[4] = (68u << 16u);
|
|
if (branch_taken) {
|
|
goto L_08A0792C;
|
|
}
|
|
goto L_08A07900;
|
|
}
|
|
L_08A07900:
|
|
ctx.gpr[4] = (ctx.gpr[17] + ctx.gpr[4]);
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[4] + static_cast<std::uint32_t>(24)));
|
|
ctx.gpr[5] = (9u << 16u);
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[4] + static_cast<std::uint32_t>(0)));
|
|
ctx.gpr[5] = (ctx.gpr[5] + static_cast<std::uint32_t>(-32768));
|
|
{ const std::int64_t product = static_cast<std::int64_t>(static_cast<std::int32_t>(ctx.gpr[4])) * 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[4] = (ctx.lo);
|
|
ctx.gpr[4] = (ctx.gpr[17] + ctx.gpr[4]);
|
|
ctx.gpr[4] = (ctx.gpr[4] + static_cast<std::uint32_t>(16));
|
|
{ const bool branch_taken = 0u == 0u;
|
|
aot_mem.aot_store32(ctx.gpr[16] + static_cast<std::uint32_t>(0), ctx.gpr[4]);
|
|
if (branch_taken) {
|
|
goto L_08A07930;
|
|
}
|
|
goto L_08A0792C;
|
|
}
|
|
L_08A0792C:
|
|
aot_mem.aot_store32(ctx.gpr[16] + static_cast<std::uint32_t>(0), 0u);
|
|
goto L_08A07930;
|
|
L_08A07930:
|
|
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_08A07944:
|
|
ctx.gpr[6] = (68u << 16u);
|
|
ctx.gpr[6] = (ctx.gpr[4] + ctx.gpr[6]);
|
|
ctx.gpr[6] = (aot_mem.aot_load32(ctx.gpr[6] + static_cast<std::uint32_t>(24)));
|
|
ctx.gpr[7] = (68u << 16u);
|
|
ctx.gpr[6] = (aot_mem.aot_load32(ctx.gpr[6] + static_cast<std::uint32_t>(0)));
|
|
ctx.gpr[2] = (0u | 0u);
|
|
ctx.gpr[6] = (ctx.gpr[6] << 2u);
|
|
ctx.gpr[4] = (ctx.gpr[4] + ctx.gpr[6]);
|
|
ctx.gpr[4] = (ctx.gpr[4] + ctx.gpr[7]);
|
|
jump_target = ctx.gpr[31];
|
|
aot_mem.aot_store32(ctx.gpr[4] + static_cast<std::uint32_t>(16), ctx.gpr[5]);
|
|
local_pc = jump_target;
|
|
if (++local_transfers < 2048u) { entry_id = 0u; goto LOCAL_DISPATCH; }
|
|
ctx.pc = jump_target;
|
|
return;
|
|
L_08A07970:
|
|
ctx.gpr[6] = (68u << 16u);
|
|
ctx.gpr[6] = (ctx.gpr[4] + ctx.gpr[6]);
|
|
ctx.gpr[6] = (aot_mem.aot_load32(ctx.gpr[6] + static_cast<std::uint32_t>(28)));
|
|
ctx.gpr[7] = (68u << 16u);
|
|
ctx.gpr[6] = (aot_mem.aot_load32(ctx.gpr[6] + static_cast<std::uint32_t>(0)));
|
|
ctx.gpr[2] = (0u | 0u);
|
|
ctx.gpr[6] = (ctx.gpr[6] << 2u);
|
|
ctx.gpr[4] = (ctx.gpr[4] + ctx.gpr[6]);
|
|
ctx.gpr[4] = (ctx.gpr[4] + ctx.gpr[7]);
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[4] + static_cast<std::uint32_t>(16)));
|
|
jump_target = ctx.gpr[31];
|
|
aot_mem.aot_store32(ctx.gpr[5] + static_cast<std::uint32_t>(0), ctx.gpr[4]);
|
|
local_pc = jump_target;
|
|
if (++local_transfers < 2048u) { entry_id = 0u; goto LOCAL_DISPATCH; }
|
|
ctx.pc = jump_target;
|
|
return;
|
|
L_08A079A0:
|
|
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>(4)));
|
|
ctx.gpr[5] = (0u | 1u);
|
|
aot_mem.aot_store32(ctx.gpr[29] + static_cast<std::uint32_t>(20), ctx.gpr[31]);
|
|
ctx.gpr[31] = (0x08A079C0u);
|
|
ctx.gpr[6] = (0u | 0u);
|
|
ctx.pc = 0x08B0BC3Cu;
|
|
return;
|
|
L_08A079C0:
|
|
ctx.gpr[4] = (68u << 16u);
|
|
ctx.gpr[4] = (ctx.gpr[16] + ctx.gpr[4]);
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[4] + static_cast<std::uint32_t>(32)));
|
|
ctx.gpr[6] = (aot_mem.aot_load32(ctx.gpr[4] + static_cast<std::uint32_t>(0)));
|
|
ctx.gpr[5] = (68u << 16u);
|
|
ctx.gpr[6] = (ctx.gpr[6] + static_cast<std::uint32_t>(1));
|
|
ctx.gpr[5] = (ctx.gpr[16] + ctx.gpr[5]);
|
|
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>(24)));
|
|
ctx.gpr[5] = (68u << 16u);
|
|
ctx.gpr[6] = (aot_mem.aot_load32(ctx.gpr[4] + static_cast<std::uint32_t>(0)));
|
|
ctx.gpr[5] = (ctx.gpr[16] + ctx.gpr[5]);
|
|
ctx.gpr[5] = (aot_mem.aot_load32(ctx.gpr[5] + static_cast<std::uint32_t>(36)));
|
|
ctx.gpr[5] = (aot_mem.aot_load32(ctx.gpr[5] + static_cast<std::uint32_t>(0)));
|
|
ctx.gpr[6] = (ctx.gpr[6] + static_cast<std::uint32_t>(1));
|
|
{ const std::int32_t dividend = static_cast<std::int32_t>(ctx.gpr[6]); const std::int32_t divisor = static_cast<std::int32_t>(ctx.gpr[5]); 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 | 1u);
|
|
ctx.gpr[6] = (ctx.hi);
|
|
aot_mem.aot_store32(ctx.gpr[4] + static_cast<std::uint32_t>(0), ctx.gpr[6]);
|
|
ctx.gpr[31] = (0x08A07A14u);
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[16] + static_cast<std::uint32_t>(4)));
|
|
ctx.pc = 0x08B0BC34u;
|
|
return;
|
|
L_08A07A14:
|
|
ctx.gpr[2] = (0u | 0u);
|
|
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_08A07A28:
|
|
ctx.gpr[5] = (68u << 16u);
|
|
ctx.gpr[5] = (ctx.gpr[4] + ctx.gpr[5]);
|
|
ctx.gpr[5] = (aot_mem.aot_load32(ctx.gpr[5] + static_cast<std::uint32_t>(36)));
|
|
ctx.gpr[6] = (68u << 16u);
|
|
ctx.gpr[4] = (ctx.gpr[4] + ctx.gpr[6]);
|
|
ctx.gpr[2] = (aot_mem.aot_load32(ctx.gpr[5] + static_cast<std::uint32_t>(0)));
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[4] + static_cast<std::uint32_t>(32)));
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[4] + static_cast<std::uint32_t>(0)));
|
|
jump_target = ctx.gpr[31];
|
|
ctx.gpr[2] = (ctx.gpr[2] - ctx.gpr[4]);
|
|
local_pc = jump_target;
|
|
if (++local_transfers < 2048u) { entry_id = 0u; goto LOCAL_DISPATCH; }
|
|
ctx.pc = jump_target;
|
|
return;
|
|
L_08A07A50:
|
|
ctx.gpr[5] = (68u << 16u);
|
|
ctx.gpr[4] = (ctx.gpr[4] + ctx.gpr[5]);
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[4] + static_cast<std::uint32_t>(32)));
|
|
jump_target = ctx.gpr[31];
|
|
ctx.gpr[2] = (aot_mem.aot_load32(ctx.gpr[4] + static_cast<std::uint32_t>(0)));
|
|
local_pc = jump_target;
|
|
if (++local_transfers < 2048u) { entry_id = 0u; goto LOCAL_DISPATCH; }
|
|
ctx.pc = jump_target;
|
|
return;
|
|
L_08A07A64:
|
|
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] = (0x08A07A74u);
|
|
// nop
|
|
goto L_08A07AA0;
|
|
L_08A07A74:
|
|
ctx.gpr[2] = (ctx.gpr[2] ^ 255u);
|
|
ctx.gpr[2] = (ctx.gpr[2] < static_cast<std::uint32_t>(1) ? 1u : 0u);
|
|
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_08A07A88:
|
|
ctx.gpr[6] = (68u << 16u);
|
|
ctx.gpr[4] = (ctx.gpr[4] + ctx.gpr[6]);
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[4] + static_cast<std::uint32_t>(40)));
|
|
ctx.gpr[2] = (0u | 0u);
|
|
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_08A07AA0:
|
|
ctx.gpr[5] = (68u << 16u);
|
|
ctx.gpr[4] = (ctx.gpr[4] + ctx.gpr[5]);
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[4] + static_cast<std::uint32_t>(40)));
|
|
jump_target = ctx.gpr[31];
|
|
ctx.gpr[2] = (aot_mem.aot_load32(ctx.gpr[4] + static_cast<std::uint32_t>(0)));
|
|
local_pc = jump_target;
|
|
if (++local_transfers < 2048u) { entry_id = 0u; goto LOCAL_DISPATCH; }
|
|
ctx.pc = jump_target;
|
|
return;
|
|
L_08A07AB4:
|
|
ctx.gpr[29] = (ctx.gpr[29] + static_cast<std::uint32_t>(-64));
|
|
aot_mem.aot_store32(ctx.gpr[29] + static_cast<std::uint32_t>(40), ctx.gpr[22]);
|
|
ctx.gpr[22] = (ctx.gpr[5] | 0u);
|
|
aot_mem.aot_store32(ctx.gpr[29] + static_cast<std::uint32_t>(20), ctx.gpr[17]);
|
|
ctx.gpr[17] = (aot_mem.aot_load32(ctx.gpr[22] + static_cast<std::uint32_t>(0)));
|
|
aot_mem.aot_store32(ctx.gpr[29] + static_cast<std::uint32_t>(28), ctx.gpr[19]);
|
|
ctx.gpr[19] = (0u | 1u);
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[17] + static_cast<std::uint32_t>(0)));
|
|
ctx.gpr[5] = (0u | 1u);
|
|
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[18]);
|
|
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>(44), ctx.gpr[23]);
|
|
aot_mem.aot_store32(ctx.gpr[29] + static_cast<std::uint32_t>(48), ctx.gpr[30]);
|
|
aot_mem.aot_store32(ctx.gpr[29] + static_cast<std::uint32_t>(52), ctx.gpr[31]);
|
|
ctx.gpr[31] = (0x08A07AFCu);
|
|
ctx.gpr[6] = (0u | 0u);
|
|
ctx.pc = 0x08B0BC3Cu;
|
|
return;
|
|
L_08A07AFC:
|
|
ctx.gpr[20] = (68u << 16u);
|
|
ctx.gpr[30] = (0u | 4u);
|
|
ctx.gpr[23] = (0u | 2u);
|
|
ctx.gpr[20] = (ctx.gpr[17] + ctx.gpr[20]);
|
|
ctx.gpr[18] = (2232u << 16u);
|
|
ctx.gpr[21] = (2232u << 16u);
|
|
goto L_08A07B14;
|
|
L_08A07B14:
|
|
ctx.gpr[31] = (0x08A07B1Cu);
|
|
ctx.gpr[4] = (ctx.gpr[17] | 0u);
|
|
goto L_08A07A64;
|
|
L_08A07B1C:
|
|
{ const bool branch_taken = ctx.gpr[2] != 0u;
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_08A07BF4;
|
|
}
|
|
goto L_08A07B24;
|
|
}
|
|
L_08A07B24:
|
|
ctx.gpr[31] = (0x08A07B2Cu);
|
|
ctx.gpr[4] = (ctx.gpr[17] | 0u);
|
|
goto L_08A07AA0;
|
|
L_08A07B2C:
|
|
ctx.gpr[16] = (ctx.gpr[2] | 0u);
|
|
{ const bool branch_taken = ctx.gpr[16] == ctx.gpr[30];
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_08A07B50;
|
|
}
|
|
goto L_08A07B38;
|
|
}
|
|
L_08A07B38:
|
|
ctx.gpr[31] = (0x08A07B40u);
|
|
ctx.gpr[4] = (ctx.gpr[22] | 0u);
|
|
if (rt.invoke_chained_direct<&recomp_unit_0025_entry, 25u, 128u, 0x08868DE0u>(ctx, &aot_mem) && ctx.pc == 0x08A07B40u) goto L_08A07B40;
|
|
return;
|
|
L_08A07B40:
|
|
ctx.gpr[16] = (ctx.gpr[2] | 0u);
|
|
ctx.gpr[4] = (ctx.gpr[17] | 0u);
|
|
ctx.gpr[31] = (0x08A07B50u);
|
|
ctx.gpr[5] = (ctx.gpr[16] | 0u);
|
|
goto L_08A07A88;
|
|
L_08A07B50:
|
|
ctx.gpr[31] = (0x08A07B58u);
|
|
ctx.gpr[4] = (ctx.gpr[17] | 0u);
|
|
goto L_08A07A50;
|
|
L_08A07B58:
|
|
{ const bool branch_taken = static_cast<std::int32_t>(ctx.gpr[2]) <= 0;
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_08A07BD8;
|
|
}
|
|
goto L_08A07B60;
|
|
}
|
|
L_08A07B60:
|
|
ctx.gpr[4] = (0u | 1u);
|
|
{ const bool branch_taken = ctx.gpr[16] == ctx.gpr[4];
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_08A07B74;
|
|
}
|
|
goto L_08A07B6C;
|
|
}
|
|
L_08A07B6C:
|
|
{ const bool branch_taken = ctx.gpr[16] != ctx.gpr[23];
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_08A07BBC;
|
|
}
|
|
goto L_08A07B74;
|
|
}
|
|
L_08A07B74:
|
|
ctx.gpr[31] = (0x08A07B7Cu);
|
|
ctx.gpr[4] = (ctx.gpr[17] | 0u);
|
|
goto L_08A07D10;
|
|
L_08A07B7C:
|
|
{ const bool branch_taken = ctx.gpr[19] != 0u;
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_08A07BB8;
|
|
}
|
|
goto L_08A07B84;
|
|
}
|
|
L_08A07B84:
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[17] + static_cast<std::uint32_t>(4)));
|
|
ctx.gpr[5] = (0u | 1u);
|
|
ctx.gpr[31] = (0x08A07B94u);
|
|
ctx.gpr[6] = (0u | 0u);
|
|
ctx.pc = 0x08B0BC3Cu;
|
|
return;
|
|
L_08A07B94:
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[20] + static_cast<std::uint32_t>(32)));
|
|
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>(-1));
|
|
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[17] + static_cast<std::uint32_t>(4)));
|
|
ctx.gpr[31] = (0x08A07BB0u);
|
|
ctx.gpr[5] = (0u | 1u);
|
|
ctx.pc = 0x08B0BC34u;
|
|
return;
|
|
L_08A07BB0:
|
|
{ const bool branch_taken = 0u == 0u;
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_08A07BBC;
|
|
}
|
|
goto L_08A07BB8;
|
|
}
|
|
L_08A07BB8:
|
|
ctx.gpr[19] = (0u | 0u);
|
|
goto L_08A07BBC;
|
|
L_08A07BBC:
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[17] + static_cast<std::uint32_t>(8)));
|
|
ctx.gpr[31] = (0x08A07BC8u);
|
|
ctx.gpr[5] = (0u | 1u);
|
|
ctx.pc = 0x08B0BC34u;
|
|
return;
|
|
L_08A07BC8:
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[18] + static_cast<std::uint32_t>(-31804)));
|
|
ctx.gpr[4] = (ctx.gpr[4] + static_cast<std::uint32_t>(1));
|
|
{ const bool branch_taken = 0u == 0u;
|
|
aot_mem.aot_store32(ctx.gpr[18] + static_cast<std::uint32_t>(-31804), ctx.gpr[4]);
|
|
if (branch_taken) {
|
|
goto L_08A07BE4;
|
|
}
|
|
goto L_08A07BD8;
|
|
}
|
|
L_08A07BD8:
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[21] + static_cast<std::uint32_t>(-31800)));
|
|
ctx.gpr[4] = (ctx.gpr[4] + static_cast<std::uint32_t>(1));
|
|
aot_mem.aot_store32(ctx.gpr[21] + static_cast<std::uint32_t>(-31800), ctx.gpr[4]);
|
|
goto L_08A07BE4;
|
|
L_08A07BE4:
|
|
ctx.gpr[31] = (0x08A07BECu);
|
|
// nop
|
|
ctx.pc = 0x08B0B9A4u;
|
|
return;
|
|
L_08A07BEC:
|
|
{ const bool branch_taken = 0u == 0u;
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_08A07B14;
|
|
}
|
|
goto L_08A07BF4;
|
|
}
|
|
L_08A07BF4:
|
|
ctx.gpr[31] = (0x08A07BFCu);
|
|
ctx.gpr[4] = (ctx.gpr[17] | 0u);
|
|
goto L_08A07A50;
|
|
L_08A07BFC:
|
|
ctx.gpr[4] = (static_cast<std::int32_t>(ctx.gpr[2]) < 2 ? 1u : 0u);
|
|
{ const bool branch_taken = ctx.gpr[4] != 0u;
|
|
// nop
|
|
if (branch_taken) {
|
|
goto L_08A07C5C;
|
|
}
|
|
goto L_08A07C08;
|
|
}
|
|
L_08A07C08:
|
|
ctx.gpr[31] = (0x08A07C10u);
|
|
ctx.gpr[4] = (ctx.gpr[17] | 0u);
|
|
goto L_08A07AA0;
|
|
L_08A07C10:
|
|
ctx.gpr[31] = (0x08A07C18u);
|
|
ctx.gpr[4] = (ctx.gpr[17] | 0u);
|
|
goto L_08A07D10;
|
|
L_08A07C18:
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[17] + static_cast<std::uint32_t>(4)));
|
|
ctx.gpr[5] = (0u | 1u);
|
|
ctx.gpr[31] = (0x08A07C28u);
|
|
ctx.gpr[6] = (0u | 0u);
|
|
ctx.pc = 0x08B0BC3Cu;
|
|
return;
|
|
L_08A07C28:
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[20] + static_cast<std::uint32_t>(32)));
|
|
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>(-1));
|
|
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[17] + static_cast<std::uint32_t>(4)));
|
|
ctx.gpr[31] = (0x08A07C44u);
|
|
ctx.gpr[5] = (0u | 1u);
|
|
ctx.pc = 0x08B0BC34u;
|
|
return;
|
|
L_08A07C44:
|
|
ctx.gpr[31] = (0x08A07C4Cu);
|
|
// nop
|
|
ctx.pc = 0x08B0B9A4u;
|
|
return;
|
|
L_08A07C4C:
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[18] + static_cast<std::uint32_t>(-31804)));
|
|
ctx.gpr[4] = (ctx.gpr[4] + static_cast<std::uint32_t>(1));
|
|
{ const bool branch_taken = 0u == 0u;
|
|
aot_mem.aot_store32(ctx.gpr[18] + static_cast<std::uint32_t>(-31804), ctx.gpr[4]);
|
|
if (branch_taken) {
|
|
goto L_08A07BF4;
|
|
}
|
|
goto L_08A07C5C;
|
|
}
|
|
L_08A07C5C:
|
|
ctx.gpr[4] = (0u | 0u);
|
|
ctx.gpr[5] = (0u | 512u);
|
|
ctx.gpr[6] = (0u | 3u);
|
|
ctx.gpr[31] = (0x08A07C70u);
|
|
ctx.gpr[7] = (0u | 1u);
|
|
ctx.pc = 0x08B0B98Cu;
|
|
return;
|
|
L_08A07C70:
|
|
ctx.gpr[4] = (2226u << 16u);
|
|
ctx.gpr[5] = (aot_mem.aot_load32(ctx.gpr[18] + static_cast<std::uint32_t>(-31804)));
|
|
ctx.gpr[31] = (0x08A07C80u);
|
|
ctx.gpr[4] = (ctx.gpr[4] + static_cast<std::uint32_t>(-36));
|
|
goto L_08A076D4;
|
|
L_08A07C80:
|
|
ctx.gpr[4] = (2226u << 16u);
|
|
ctx.gpr[5] = (aot_mem.aot_load32(ctx.gpr[21] + static_cast<std::uint32_t>(-31800)));
|
|
ctx.gpr[31] = (0x08A07C90u);
|
|
ctx.gpr[4] = (ctx.gpr[4] + static_cast<std::uint32_t>(-16));
|
|
goto L_08A076D4;
|
|
L_08A07C90:
|
|
ctx.gpr[31] = (0x08A07C98u);
|
|
ctx.gpr[4] = (0u | 0u);
|
|
ctx.pc = 0x08B0BBB4u;
|
|
return;
|
|
L_08A07C98:
|
|
ctx.gpr[2] = (0u | 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[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[30] = (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_08A07CCC:
|
|
ctx.gpr[29] = (ctx.gpr[29] + static_cast<std::uint32_t>(-32));
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[4] + static_cast<std::uint32_t>(8)));
|
|
ctx.gpr[5] = (0u | 1u);
|
|
aot_mem.aot_store32(ctx.gpr[29] + static_cast<std::uint32_t>(16), ctx.gpr[31]);
|
|
ctx.gpr[31] = (0x08A07CE4u);
|
|
ctx.gpr[6] = (0u | 0u);
|
|
ctx.pc = 0x08B0BC3Cu;
|
|
return;
|
|
L_08A07CE4:
|
|
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_08A07CF0:
|
|
ctx.gpr[29] = (ctx.gpr[29] + static_cast<std::uint32_t>(-32));
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[4] + static_cast<std::uint32_t>(0)));
|
|
aot_mem.aot_store32(ctx.gpr[29] + static_cast<std::uint32_t>(16), ctx.gpr[31]);
|
|
ctx.gpr[31] = (0x08A07D04u);
|
|
ctx.gpr[5] = (0u | 1u);
|
|
ctx.pc = 0x08B0BC34u;
|
|
return;
|
|
L_08A07D04:
|
|
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_08A07D10:
|
|
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[17]);
|
|
aot_mem.aot_store32(ctx.gpr[29] + static_cast<std::uint32_t>(24), ctx.gpr[31]);
|
|
ctx.gpr[31] = (0x08A07D28u);
|
|
ctx.gpr[16] = (ctx.gpr[4] | 0u);
|
|
goto L_08A07AA0;
|
|
L_08A07D28:
|
|
ctx.gpr[17] = (68u << 16u);
|
|
ctx.gpr[17] = (ctx.gpr[16] + ctx.gpr[17]);
|
|
ctx.gpr[5] = (aot_mem.aot_load32(ctx.gpr[17] + static_cast<std::uint32_t>(28)));
|
|
ctx.gpr[6] = (0u | 1u);
|
|
{ const bool branch_taken = ctx.gpr[2] != ctx.gpr[6];
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[5] + static_cast<std::uint32_t>(0)));
|
|
if (branch_taken) {
|
|
goto L_08A07D78;
|
|
}
|
|
goto L_08A07D40;
|
|
}
|
|
L_08A07D40:
|
|
ctx.gpr[5] = (9u << 16u);
|
|
ctx.gpr[5] = (ctx.gpr[5] + static_cast<std::uint32_t>(-32768));
|
|
{ const std::int64_t product = static_cast<std::int64_t>(static_cast<std::int32_t>(ctx.gpr[4])) * 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[5] = (0u | 512u);
|
|
ctx.gpr[6] = (0u | 3u);
|
|
ctx.gpr[7] = (0u | 1u);
|
|
ctx.gpr[4] = (ctx.lo);
|
|
ctx.gpr[4] = (ctx.gpr[16] + ctx.gpr[4]);
|
|
ctx.gpr[31] = (0x08A07D68u);
|
|
ctx.gpr[4] = (ctx.gpr[4] + static_cast<std::uint32_t>(16));
|
|
ctx.pc = 0x08B0B98Cu;
|
|
return;
|
|
L_08A07D68:
|
|
ctx.gpr[31] = (0x08A07D70u);
|
|
// nop
|
|
ctx.pc = 0x08B0B9A4u;
|
|
return;
|
|
L_08A07D70:
|
|
ctx.gpr[5] = (aot_mem.aot_load32(ctx.gpr[17] + static_cast<std::uint32_t>(28)));
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[5] + static_cast<std::uint32_t>(0)));
|
|
goto L_08A07D78;
|
|
L_08A07D78:
|
|
ctx.gpr[6] = (68u << 16u);
|
|
ctx.gpr[6] = (ctx.gpr[16] + ctx.gpr[6]);
|
|
ctx.gpr[6] = (aot_mem.aot_load32(ctx.gpr[6] + static_cast<std::uint32_t>(36)));
|
|
ctx.gpr[4] = (ctx.gpr[4] + static_cast<std::uint32_t>(1));
|
|
ctx.gpr[6] = (aot_mem.aot_load32(ctx.gpr[6] + static_cast<std::uint32_t>(0)));
|
|
{ const std::int32_t dividend = static_cast<std::int32_t>(ctx.gpr[4]); 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[2] = (0u | 0u);
|
|
ctx.gpr[4] = (ctx.hi);
|
|
aot_mem.aot_store32(ctx.gpr[5] + static_cast<std::uint32_t>(0), 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[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_08A07DB0:
|
|
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_08A07DDC:
|
|
ctx.gpr[29] = (ctx.gpr[29] + static_cast<std::uint32_t>(-32));
|
|
ctx.gpr[7] = (ctx.gpr[5] | 0u);
|
|
ctx.gpr[5] = (ctx.gpr[4] | 0u);
|
|
ctx.gpr[4] = (ctx.gpr[6] | 0u);
|
|
aot_mem.aot_store32(ctx.gpr[29] + static_cast<std::uint32_t>(16), ctx.gpr[31]);
|
|
ctx.gpr[31] = (0x08A07DF8u);
|
|
ctx.gpr[6] = (ctx.gpr[7] | 0u);
|
|
if (rt.invoke_chained_direct<&recomp_unit_0129_entry, 129u, 606u, 0x08A0AA84u>(ctx, &aot_mem) && ctx.pc == 0x08A07DF8u) goto L_08A07DF8;
|
|
return;
|
|
L_08A07DF8:
|
|
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_08A07E04:
|
|
ctx.gpr[29] = (ctx.gpr[29] + static_cast<std::uint32_t>(-64));
|
|
aot_mem.aot_store32(ctx.gpr[29] + static_cast<std::uint32_t>(48), ctx.gpr[20]);
|
|
aot_mem.aot_store32(ctx.gpr[29] + static_cast<std::uint32_t>(52), ctx.gpr[21]);
|
|
ctx.gpr[20] = (ctx.gpr[4] | 0u);
|
|
ctx.gpr[21] = (2230u << 16u);
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[21] + static_cast<std::uint32_t>(-20932)));
|
|
aot_mem.aot_store32(ctx.gpr[29] + static_cast<std::uint32_t>(36), ctx.gpr[17]);
|
|
aot_mem.aot_store32(ctx.gpr[29] + static_cast<std::uint32_t>(40), ctx.gpr[18]);
|
|
aot_mem.aot_store32(ctx.gpr[29] + static_cast<std::uint32_t>(44), ctx.gpr[19]);
|
|
ctx.gpr[19] = (ctx.gpr[5] | 0u);
|
|
ctx.gpr[18] = (ctx.gpr[6] | 0u);
|
|
ctx.gpr[17] = (ctx.gpr[7] | 0u);
|
|
aot_mem.aot_store32(ctx.gpr[29] + static_cast<std::uint32_t>(32), ctx.gpr[16]);
|
|
aot_mem.aot_store32(ctx.gpr[29] + static_cast<std::uint32_t>(56), ctx.gpr[31]);
|
|
{ const bool branch_taken = ctx.gpr[4] != 0u;
|
|
ctx.gpr[16] = (ctx.gpr[8] | 0u);
|
|
if (branch_taken) {
|
|
goto L_08A07E4C;
|
|
}
|
|
goto L_08A07E44;
|
|
}
|
|
L_08A07E44:
|
|
ctx.gpr[31] = (0x08A07E4Cu);
|
|
// nop
|
|
if (rt.invoke_chained_direct<&recomp_unit_0189_entry, 189u, 526u, 0x08AFA53Cu>(ctx, &aot_mem) && ctx.pc == 0x08A07E4Cu) goto L_08A07E4C;
|
|
return;
|
|
L_08A07E4C:
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[21] + static_cast<std::uint32_t>(-20932)));
|
|
ctx.gpr[5] = (ctx.gpr[20] | 0u);
|
|
ctx.gpr[6] = (ctx.gpr[19] | 0u);
|
|
ctx.gpr[7] = (ctx.gpr[18] | 0u);
|
|
ctx.gpr[8] = (ctx.gpr[17] | 0u);
|
|
ctx.gpr[31] = (0x08A07E68u);
|
|
ctx.gpr[9] = (ctx.gpr[16] | 0u);
|
|
if (rt.invoke_chained_direct<&recomp_unit_0129_entry, 129u, 688u, 0x08A0B0B0u>(ctx, &aot_mem) && ctx.pc == 0x08A07E68u) goto L_08A07E68;
|
|
return;
|
|
L_08A07E68:
|
|
ctx.gpr[16] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast<std::uint32_t>(32)));
|
|
ctx.gpr[17] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast<std::uint32_t>(36)));
|
|
ctx.gpr[18] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast<std::uint32_t>(40)));
|
|
ctx.gpr[19] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast<std::uint32_t>(44)));
|
|
ctx.gpr[20] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast<std::uint32_t>(48)));
|
|
ctx.gpr[21] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast<std::uint32_t>(52)));
|
|
ctx.gpr[31] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast<std::uint32_t>(56)));
|
|
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_08A07E8C:
|
|
ctx.gpr[29] = (ctx.gpr[29] + static_cast<std::uint32_t>(-64));
|
|
aot_mem.aot_store32(ctx.gpr[29] + static_cast<std::uint32_t>(48), ctx.gpr[20]);
|
|
aot_mem.aot_store32(ctx.gpr[29] + static_cast<std::uint32_t>(52), ctx.gpr[21]);
|
|
ctx.gpr[20] = (ctx.gpr[4] | 0u);
|
|
ctx.gpr[21] = (2230u << 16u);
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[21] + static_cast<std::uint32_t>(-20932)));
|
|
aot_mem.aot_store32(ctx.gpr[29] + static_cast<std::uint32_t>(36), ctx.gpr[17]);
|
|
aot_mem.aot_store32(ctx.gpr[29] + static_cast<std::uint32_t>(40), ctx.gpr[18]);
|
|
aot_mem.aot_store32(ctx.gpr[29] + static_cast<std::uint32_t>(44), ctx.gpr[19]);
|
|
ctx.gpr[19] = (ctx.gpr[5] | 0u);
|
|
ctx.gpr[18] = (ctx.gpr[6] | 0u);
|
|
ctx.gpr[17] = (ctx.gpr[7] | 0u);
|
|
aot_mem.aot_store32(ctx.gpr[29] + static_cast<std::uint32_t>(32), ctx.gpr[16]);
|
|
aot_mem.aot_store32(ctx.gpr[29] + static_cast<std::uint32_t>(56), ctx.gpr[31]);
|
|
{ const bool branch_taken = ctx.gpr[4] != 0u;
|
|
ctx.gpr[16] = (ctx.gpr[8] | 0u);
|
|
if (branch_taken) {
|
|
goto L_08A07ED4;
|
|
}
|
|
goto L_08A07ECC;
|
|
}
|
|
L_08A07ECC:
|
|
ctx.gpr[31] = (0x08A07ED4u);
|
|
// nop
|
|
if (rt.invoke_chained_direct<&recomp_unit_0189_entry, 189u, 526u, 0x08AFA53Cu>(ctx, &aot_mem) && ctx.pc == 0x08A07ED4u) goto L_08A07ED4;
|
|
return;
|
|
L_08A07ED4:
|
|
ctx.gpr[4] = (aot_mem.aot_load32(ctx.gpr[21] + static_cast<std::uint32_t>(-20932)));
|
|
ctx.gpr[5] = (ctx.gpr[20] | 0u);
|
|
ctx.gpr[6] = (ctx.gpr[19] | 0u);
|
|
ctx.gpr[7] = (ctx.gpr[18] | 0u);
|
|
ctx.gpr[8] = (ctx.gpr[17] | 0u);
|
|
ctx.gpr[31] = (0x08A07EF0u);
|
|
ctx.gpr[9] = (ctx.gpr[16] | 0u);
|
|
if (rt.invoke_chained_direct<&recomp_unit_0129_entry, 129u, 732u, 0x08A0B400u>(ctx, &aot_mem) && ctx.pc == 0x08A07EF0u) goto L_08A07EF0;
|
|
return;
|
|
L_08A07EF0:
|
|
ctx.gpr[16] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast<std::uint32_t>(32)));
|
|
ctx.gpr[17] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast<std::uint32_t>(36)));
|
|
ctx.gpr[18] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast<std::uint32_t>(40)));
|
|
ctx.gpr[19] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast<std::uint32_t>(44)));
|
|
ctx.gpr[20] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast<std::uint32_t>(48)));
|
|
ctx.gpr[21] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast<std::uint32_t>(52)));
|
|
ctx.gpr[31] = (aot_mem.aot_load32(ctx.gpr[29] + static_cast<std::uint32_t>(56)));
|
|
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_08A07F14:
|
|
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] = (2229u << 16u);
|
|
aot_mem.aot_store32(ctx.gpr[29] + static_cast<std::uint32_t>(20), ctx.gpr[31]);
|
|
ctx.gpr[31] = (0x08A07F2Cu);
|
|
aot_mem.aot_store8(ctx.gpr[16] + static_cast<std::uint32_t>(-15160), static_cast<std::uint8_t>(0u));
|
|
if (rt.invoke_chained_direct<&recomp_unit_0138_entry, 138u, 382u, 0x08A2D910u>(ctx, &aot_mem) && ctx.pc == 0x08A07F2Cu) goto L_08A07F2C;
|
|
return;
|
|
L_08A07F2C:
|
|
ctx.gpr[4] = (0u | 1u);
|
|
aot_mem.aot_store8(ctx.gpr[16] + static_cast<std::uint32_t>(-15160), static_cast<std::uint8_t>(ctx.gpr[4]));
|
|
ctx.gpr[31] = (0x08A07F3Cu);
|
|
ctx.gpr[4] = (0u | 0u);
|
|
ctx.pc = 0x08B0BBB4u;
|
|
return;
|
|
L_08A07F3C:
|
|
ctx.gpr[2] = (0u | 0u);
|
|
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_08A07F50:
|
|
ctx.gpr[29] = (ctx.gpr[29] + static_cast<std::uint32_t>(-48));
|
|
aot_mem.aot_store32(ctx.gpr[29] + static_cast<std::uint32_t>(32), ctx.gpr[16]);
|
|
aot_mem.aot_store32(ctx.gpr[29] + static_cast<std::uint32_t>(36), ctx.gpr[17]);
|
|
aot_mem.aot_store32(ctx.gpr[29] + static_cast<std::uint32_t>(40), ctx.gpr[18]);
|
|
aot_mem.aot_store32(ctx.gpr[29] + static_cast<std::uint32_t>(44), ctx.gpr[31]);
|
|
ctx.gpr[16] = (ctx.gpr[6] | 0u);
|
|
ctx.gpr[17] = (ctx.gpr[5] | 0u);
|
|
ctx.gpr[18] = (ctx.gpr[4] | 0u);
|
|
ctx.gpr[4] = (ctx.gpr[18] + static_cast<std::uint32_t>(92));
|
|
ctx.gpr[5] = (0u | 0u);
|
|
ctx.gpr[31] = (0x08A07F80u);
|
|
ctx.gpr[6] = (0u | 1064u);
|
|
if (rt.invoke_chained_direct<&recomp_unit_0186_entry, 186u, 390u, 0x08AED5D0u>(ctx, &aot_mem) && ctx.pc == 0x08A07F80u) goto L_08A07F80;
|
|
return;
|
|
L_08A07F80:
|
|
ctx.gpr[4] = (ctx.gpr[18] + static_cast<std::uint32_t>(2100));
|
|
ctx.gpr[5] = (0u | 0u);
|
|
ctx.gpr[31] = (0x08A07F90u);
|
|
ctx.gpr[6] = (0u | 1064u);
|
|
if (rt.invoke_chained_direct<&recomp_unit_0186_entry, 186u, 390u, 0x08AED5D0u>(ctx, &aot_mem) && ctx.pc == 0x08A07F90u) goto L_08A07F90;
|
|
return;
|
|
L_08A07F90:
|
|
ctx.gpr[4] = (ctx.gpr[18] + static_cast<std::uint32_t>(1156));
|
|
ctx.gpr[5] = (0u | 0u);
|
|
ctx.gpr[31] = (0x08A07FA0u);
|
|
ctx.gpr[6] = (0u | 938u);
|
|
if (rt.invoke_chained_direct<&recomp_unit_0186_entry, 186u, 390u, 0x08AED5D0u>(ctx, &aot_mem) && ctx.pc == 0x08A07FA0u) goto L_08A07FA0;
|
|
return;
|
|
L_08A07FA0:
|
|
aot_mem.aot_store32(ctx.gpr[18] + static_cast<std::uint32_t>(40), ctx.gpr[17]);
|
|
aot_mem.aot_store32(ctx.gpr[18] + static_cast<std::uint32_t>(44), ctx.gpr[16]);
|
|
aot_mem.aot_store8(ctx.gpr[18] + static_cast<std::uint32_t>(60), static_cast<std::uint8_t>(0u));
|
|
aot_mem.aot_store32(ctx.gpr[18] + static_cast<std::uint32_t>(64), 0u);
|
|
aot_mem.aot_store32(ctx.gpr[18] + static_cast<std::uint32_t>(68), 0u);
|
|
aot_mem.aot_store8(ctx.gpr[18] + static_cast<std::uint32_t>(3164), static_cast<std::uint8_t>(0u));
|
|
aot_mem.aot_store32(ctx.gpr[18] + static_cast<std::uint32_t>(88), 0u);
|
|
ctx.gpr[4] = (2226u << 16u);
|
|
ctx.gpr[4] = (ctx.gpr[4] + static_cast<std::uint32_t>(16));
|
|
ctx.gpr[5] = (2208u << 16u);
|
|
ctx.gpr[5] = (ctx.gpr[5] + static_cast<std::uint32_t>(32532));
|
|
ctx.gpr[7] = (0u | 32768u);
|
|
ctx.gpr[6] = (0u | 111u);
|
|
ctx.gpr[8] = (0u | 16384u);
|
|
ctx.gpr[31] = (0x08A07FE0u);
|
|
ctx.gpr[9] = (0u | 0u);
|
|
ctx.pc = 0x08B0BBA4u;
|
|
return;
|
|
L_08A07FE0:
|
|
aot_mem.aot_store32(ctx.gpr[18] + static_cast<std::uint32_t>(8), ctx.gpr[2]);
|
|
ctx.gpr[4] = (ctx.gpr[2] | 0u);
|
|
ctx.gpr[5] = (0u | 0u);
|
|
ctx.gpr[31] = (0x08A07FF4u);
|
|
ctx.gpr[6] = (0u | 0u);
|
|
ctx.pc = 0x08B0BBACu;
|
|
return;
|
|
L_08A07FF4:
|
|
ctx.gpr[4] = (ctx.gpr[18] + static_cast<std::uint32_t>(16));
|
|
ctx.gpr[5] = (2229u << 16u);
|
|
ctx.gpr[6] = (aot_mem.aot_load32(ctx.gpr[5] + static_cast<std::uint32_t>(-15248)));
|
|
ctx.pc = 0x08A08000u; return;
|
|
}
|
|
|
|
void recomp_unit_0128(Runtime &rt, AllegrexContext &ctx) {
|
|
auto aot_mem = rt.memory().aot_fast_view();
|
|
recomp_unit_0128_entry(rt, ctx, 0u, aot_mem);
|
|
}
|
|
|
|
void register_generated_unit_128(Runtime &runtime) {
|
|
runtime.register_generated_unit(128u, 0x08A04000u, 16384u, &recomp_unit_0128, &recomp_unit_0128_entry);
|
|
runtime.register_function(0x08A04000u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A04008u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A04018u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A0404Cu, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A0405Cu, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A04074u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A04084u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A040A0u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A040C0u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A040D0u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A040E4u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A040ECu, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A040F8u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A04100u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A04104u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A04118u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A0413Cu, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A0414Cu, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A04160u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A0416Cu, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A04174u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A0417Cu, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A04184u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A0418Cu, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A04194u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A04198u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A0419Cu, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A041A4u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A041ACu, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A041B0u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A041C8u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A041ECu, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A041FCu, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A04210u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A0421Cu, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A04224u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A0422Cu, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A04234u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A0423Cu, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A04244u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A04248u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A0424Cu, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A04254u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A0425Cu, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A04260u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A04278u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A0429Cu, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A042ACu, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A042C0u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A042CCu, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A042D4u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A042DCu, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A042E4u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A042ECu, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A042F4u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A042F8u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A042FCu, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A04304u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A0430Cu, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A04310u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A04328u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A0434Cu, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A0435Cu, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A04370u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A0437Cu, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A04384u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A0438Cu, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A04394u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A0439Cu, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A043A4u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A043A8u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A043ACu, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A043B4u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A043BCu, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A043C0u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A043D8u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A043F8u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A04408u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A0441Cu, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A04424u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A04430u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A04438u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A0443Cu, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A04450u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A04470u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A04480u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A04494u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A0449Cu, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A044A8u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A044B0u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A044B4u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A044C8u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A044E8u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A044F8u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A0450Cu, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A04514u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A04520u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A04528u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A0452Cu, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A04540u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A0455Cu, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A0456Cu, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A04588u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A045A4u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A045ACu, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A045B8u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A045CCu, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A045D8u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A045E4u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A045F4u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A04600u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A04618u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A04620u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A0462Cu, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A04630u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A04644u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A04660u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A04668u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A04674u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A04680u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A04688u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A0468Cu, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A046A4u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A046C8u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A046D8u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A046F0u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A046F4u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A04728u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A04730u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A0473Cu, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A04748u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A04754u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A04764u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A04774u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A04784u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A0478Cu, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A04790u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A047A8u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A047CCu, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A047D4u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A047E0u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A047FCu, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A04810u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A04818u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A04820u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A0482Cu, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A04834u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A0483Cu, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A04850u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A04854u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A04884u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A04890u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A048A0u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A048B0u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A048B4u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A048C0u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A048D0u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A048E0u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A048F0u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A048FCu, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A0490Cu, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A0491Cu, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A0492Cu, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A04938u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A04948u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A04958u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A04968u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A04970u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A0497Cu, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A04984u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A04990u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A04998u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A0499Cu, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A049B8u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A049D4u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A049E8u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A049F4u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A04A00u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A04A0Cu, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A04A1Cu, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A04A28u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A04A38u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A04A44u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A04A54u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A04A60u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A04A80u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A04A9Cu, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A04AA4u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A04AB0u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A04AC0u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A04AC8u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A04AD4u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A04AE0u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A04AE4u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A04AF8u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A04B10u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A04B20u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A04B34u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A04B3Cu, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A04B48u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A04B5Cu, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A04B68u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A04B70u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A04B74u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A04B84u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A04BA4u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A04BACu, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A04BB8u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A04BD0u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A04BF0u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A04C00u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A04C08u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A04C18u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A04C20u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A04C2Cu, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A04C38u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A04C3Cu, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A04C54u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A04C6Cu, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A04C7Cu, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A04C90u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A04C98u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A04CA4u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A04CB8u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A04CC4u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A04CCCu, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A04CD0u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A04CE0u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A04D00u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A04D0Cu, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A04D20u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A04D28u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A04D34u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A04D3Cu, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A04D48u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A04D50u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A04D58u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A04D60u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A04D6Cu, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A04D74u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A04D7Cu, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A04D88u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A04D94u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A04D9Cu, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A04DB8u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A04DBCu, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A04DD8u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A04DF0u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A04DFCu, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A04E08u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A04E10u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A04E2Cu, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A04E30u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A04E44u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A04E60u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A04E6Cu, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A04E78u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A04E80u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A04E8Cu, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A04E94u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A04EB4u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A04ED4u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A04EF4u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A04F14u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A04F1Cu, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A04F3Cu, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A04F5Cu, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A04F68u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A04F6Cu, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A04F84u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A04FA4u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A04FACu, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A04FB8u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A04FCCu, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A04FE0u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A04FFCu, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A05008u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A05010u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A05024u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A05034u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A05040u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A05050u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A05060u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A0507Cu, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A0508Cu, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A050A0u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A050D8u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A050E0u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A050ECu, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A050F0u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A050FCu, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A05108u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A05114u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A05124u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A05134u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A05144u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A0514Cu, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A05158u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A0515Cu, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A05164u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A05170u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A05180u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A0518Cu, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A05194u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A051A0u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A051A4u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A051C0u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A051F8u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A05200u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A0520Cu, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A05210u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A0521Cu, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A0522Cu, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A0524Cu, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A05264u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A05274u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A05290u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A05298u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A052A0u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A052A8u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A052B8u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A052C8u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A052CCu, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A052D4u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A052DCu, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A052F4u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A052F8u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A052FCu, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A0532Cu, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A05334u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A05340u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A05360u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A05368u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A05370u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A05378u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A05384u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A0538Cu, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A05390u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A053A4u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A053D4u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A053DCu, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A053ECu, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A053FCu, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A05404u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A05410u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A05440u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A05448u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A05450u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A05458u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A05470u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A05478u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A05488u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A0548Cu, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A054A8u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A054B8u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A054C0u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A054D0u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A054E8u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A054FCu, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A05508u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A05510u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A05524u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A0553Cu, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A0555Cu, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A05574u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A0558Cu, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A05594u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A0559Cu, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A055A4u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A055ACu, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A055B4u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A055BCu, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A055C4u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A055C8u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A055D8u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A055F0u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A05628u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A05638u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A05664u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A0566Cu, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A05678u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A05688u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A05694u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A056A4u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A056ACu, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A056C0u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A056CCu, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A056F4u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A056FCu, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A05708u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A05718u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A05724u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A05734u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A0573Cu, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A05750u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A0575Cu, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A05784u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A0578Cu, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A05798u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A057A8u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A057B4u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A057C4u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A057CCu, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A057D8u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A057E0u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A057E8u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A057F8u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A05804u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A0580Cu, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A05814u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A05820u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A05840u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A05870u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A05880u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A05894u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A058A8u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A058B4u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A058F4u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A05908u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A05920u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A05934u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A05944u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A0594Cu, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A05950u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A05964u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A05968u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A05970u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A0597Cu, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A0598Cu, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A059B0u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A059B8u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A059C4u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A05A30u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A05A4Cu, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A05A64u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A05A7Cu, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A05A9Cu, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A05AA8u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A05AACu, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A05AC8u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A05AD8u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A05AE8u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A05AF0u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A05B04u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A05B18u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A05B24u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A05B2Cu, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A05B30u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A05B38u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A05B4Cu, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A05B60u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A05B74u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A05B88u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A05B94u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A05B9Cu, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A05BB0u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A05BBCu, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A05BC0u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A05BE4u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A05BECu, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A05BF4u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A05BFCu, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A05C04u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A05C10u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A05C1Cu, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A05C2Cu, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A05C3Cu, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A05C4Cu, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A05C6Cu, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A05C74u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A05C88u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A05C90u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A05C98u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A05CA4u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A05CACu, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A05CB8u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A05CC4u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A05CD8u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A05CE0u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A05CF4u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A05D04u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A05D0Cu, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A05D20u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A05D5Cu, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A05D6Cu, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A05D74u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A05D78u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A05DA0u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A05EE4u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A05EFCu, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A05F10u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A05F84u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A05FF8u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A0606Cu, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A06088u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A06094u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A060B0u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A060BCu, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A060D8u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A060E4u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A06218u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A062F8u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A063D8u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A064B8u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A064D8u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A064E8u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A064F8u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A06500u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A06504u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A0650Cu, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A06548u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A06584u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A065D0u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A065DCu, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A065FCu, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A06604u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A06634u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A06654u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A06670u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A066A0u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A066D8u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A06708u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A06750u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A06780u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A069D0u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A06A14u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A06A44u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A06A6Cu, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A06A7Cu, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A06A8Cu, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A06AE0u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A06B20u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A06B2Cu, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A06B34u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A06B4Cu, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A06B5Cu, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A06B64u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A06B6Cu, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A06B88u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A06B90u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A06B98u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A06BA0u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A06BACu, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A06BB8u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A06BC8u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A06BCCu, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A06BD4u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A06BDCu, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A06BECu, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A06BF4u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A06BFCu, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A06C18u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A06C1Cu, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A06C38u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A06C60u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A06C6Cu, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A06C78u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A06C88u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A06C8Cu, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A06CA0u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A06CACu, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A06CBCu, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A06CC0u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A06CD4u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A06CE0u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A06CF0u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A06CF4u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A06D08u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A06D14u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A06D24u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A06D28u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A06D38u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A06D50u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A06D64u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A06D70u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A06D7Cu, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A06D88u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A06DA0u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A06DACu, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A06DC4u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A06DD0u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A06DE8u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A06DF4u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A06E0Cu, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A06E18u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A06E30u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A06E3Cu, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A06E54u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A06E60u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A06ED8u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A06F00u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A06F08u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A06F20u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A06F2Cu, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A06F38u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A06F40u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A06F60u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A06F68u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A06F6Cu, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A06F74u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A06F94u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A06F9Cu, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A06FA4u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A06FB8u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A06FC8u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A06FD0u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A06FD4u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A06FE4u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A0700Cu, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A0701Cu, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A07028u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A07040u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A07054u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A0705Cu, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A07064u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A07068u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A07080u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A070A8u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A070B0u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A070C8u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A070E0u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A070E8u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A070F4u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A070FCu, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A0711Cu, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A07124u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A07128u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A07130u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A07150u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A07158u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A07160u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A07180u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A07188u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A07198u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A071A8u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A071B0u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A071C4u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A071D4u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A071DCu, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A071E0u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A071F0u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A07218u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A07228u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A07234u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A0724Cu, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A07260u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A07268u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A07270u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A07274u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A0728Cu, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A072FCu, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A07324u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A0733Cu, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A073D8u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A07408u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A07410u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A07418u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A07420u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A0742Cu, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A07440u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A0744Cu, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A07454u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A07460u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A07470u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A07480u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A07490u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A07498u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A074B4u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A074B8u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A074D4u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A074E0u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A074ECu, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A07508u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A0751Cu, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A07530u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A07538u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A07558u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A0755Cu, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A07560u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A07580u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A075A8u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A075C0u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A075E4u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A075FCu, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A07608u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A07610u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A07640u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A076B8u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A076D4u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A07700u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A0773Cu, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A0775Cu, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A0777Cu, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A07804u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A07860u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A0786Cu, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A07878u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A0788Cu, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A078A0u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A078B8u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A078C0u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A078C8u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A078DCu, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A078F8u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A07900u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A0792Cu, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A07930u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A07944u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A07970u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A079A0u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A079C0u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A07A14u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A07A28u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A07A50u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A07A64u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A07A74u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A07A88u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A07AA0u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A07AB4u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A07AFCu, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A07B14u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A07B1Cu, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A07B24u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A07B2Cu, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A07B38u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A07B40u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A07B50u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A07B58u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A07B60u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A07B6Cu, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A07B74u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A07B7Cu, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A07B84u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A07B94u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A07BB0u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A07BB8u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A07BBCu, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A07BC8u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A07BD8u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A07BE4u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A07BECu, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A07BF4u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A07BFCu, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A07C08u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A07C10u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A07C18u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A07C28u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A07C44u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A07C4Cu, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A07C5Cu, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A07C70u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A07C80u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A07C90u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A07C98u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A07CCCu, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A07CE4u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A07CF0u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A07D04u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A07D10u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A07D28u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A07D40u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A07D68u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A07D70u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A07D78u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A07DB0u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A07DDCu, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A07DF8u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A07E04u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A07E44u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A07E4Cu, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A07E68u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A07E8Cu, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A07ECCu, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A07ED4u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A07EF0u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A07F14u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A07F2Cu, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A07F3Cu, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A07F50u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A07F80u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A07F90u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A07FA0u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A07FE0u, &recomp_unit_0128, "recomp_unit_0128");
|
|
runtime.register_function(0x08A07FF4u, &recomp_unit_0128, "recomp_unit_0128");
|
|
}
|
|
} // namespace psprecomp
|