mirror of
https://github.com/ApfelTeeSaft/RebrewU.git
synced 2026-08-26 19:33:27 +00:00
18331 lines
910 KiB
C++
18331 lines
910 KiB
C++
// Generated by RebrewU -- do not edit
|
|
#include <rebrewu_runtime.h>
|
|
#include <stdint.h>
|
|
#include <math.h>
|
|
|
|
#include "Gambit.h"
|
|
|
|
// fn_021FE3B0 @ 0x21fe3b0
|
|
void Gambit_fn_021FE3B0(CPUState* cpu) {
|
|
L_021FE3B0: ; // 0x21fe3b0
|
|
/* 021FE3B0 */ return;
|
|
}
|
|
|
|
// fn_021FE3B4 @ 0x21fe3b4
|
|
void Gambit_fn_021FE3B4(CPUState* cpu) {
|
|
L_021FE3B4: ; // 0x21fe3b4
|
|
/* 021FE3B4 */ cpu->r[3] = 0x00000000u;
|
|
/* 021FE3B8 */ return;
|
|
}
|
|
|
|
// fn_021FE3BC @ 0x21fe3bc
|
|
void Gambit_fn_021FE3BC(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_021FE3BC: ; // 0x21fe3bc
|
|
/* 021FE3BC */ cpu->r[12] = 0x10040000u;
|
|
/* 021FE3C0 */ _t0 = cpu->r[12] + 0xFFFFCF84u;
|
|
/* 021FE3C0 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t0);
|
|
/* 021FE3C4 */ return;
|
|
}
|
|
|
|
// fn_021FE3C8 @ 0x21fe3c8
|
|
void Gambit_fn_021FE3C8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4;
|
|
|
|
L_021FE3C8: ; // 0x21fe3c8
|
|
/* 021FE3C8 */ _t0 = cpu->r[3] + 0x00000114u;
|
|
/* 021FE3C8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
|
|
/* 021FE3CC */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000012u, 0x00000013u);
|
|
/* 021FE3CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 021FE3D0 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021FE3D0 */ _t2 = _t1 & 0x00000001u;
|
|
/* 021FE3D0 */ if (_t2) goto L_021FE3E0; else goto L_021FE3D4;
|
|
L_021FE3D4: ; // 0x21fe3d4
|
|
/* 021FE3D4 */ cpu->r[12] = 0x10040000u;
|
|
/* 021FE3D8 */ _t3 = cpu->r[12] + 0xFFFFCF84u;
|
|
/* 021FE3D8 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t3);
|
|
/* 021FE3DC */ return;
|
|
L_021FE3E0: ; // 0x21fe3e0
|
|
/* 021FE3E0 */ cpu->r[12] = 0x10040000u;
|
|
/* 021FE3E4 */ _t4 = cpu->r[12] + 0xFFFFCF8Cu;
|
|
/* 021FE3E4 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t4);
|
|
/* 021FE3E8 */ return;
|
|
}
|
|
|
|
// fn_021FE3EC @ 0x21fe3ec
|
|
void Gambit_fn_021FE3EC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7;
|
|
|
|
L_021FE3EC: ; // 0x21fe3ec
|
|
/* 021FE3EC */ goto L_0222E4C4;
|
|
L_0222E4C4: ; // 0x222e4c4
|
|
/* 0222E4C4 */ cpu->r[0] = cpu->lr;
|
|
/* 0222E4C8 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 0222E4C8 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 0222E4CC */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 0222E4CC */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 0222E4CC */ cpu->r[1] = _t1;
|
|
/* 0222E4D0 */ Gambit_fn_021F7000(cpu);
|
|
/* 0222E4D4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0222E4D8 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0222E4D8 */ _t3 = _t2 & 0x00000001u;
|
|
/* 0222E4D8 */ if (_t3) goto L_0222E4F4; else goto L_0222E4DC;
|
|
L_0222E4DC: ; // 0x222e4dc
|
|
/* 0222E4DC */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0222E4DC */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0222E4E0 */ cpu->r[12] = 0x101E0000u;
|
|
/* 0222E4E4 */ cpu->lr = cpu->r[0];
|
|
/* 0222E4E8 */ _t5 = cpu->r[12] + 0xFFFF9594u;
|
|
/* 0222E4E8 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t5);
|
|
/* 0222E4EC */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 0222E4F0 */ return;
|
|
L_0222E4F4: ; // 0x222e4f4
|
|
/* 0222E4F4 */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0222E4F4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0222E4F8 */ cpu->r[12] = 0x101E0000u;
|
|
/* 0222E4FC */ cpu->lr = cpu->r[0];
|
|
/* 0222E500 */ _t7 = cpu->r[12] + 0xFFFF9590u;
|
|
/* 0222E500 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t7);
|
|
/* 0222E504 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 0222E508 */ return;
|
|
}
|
|
|
|
// fn_021FE3F0 @ 0x21fe3f0
|
|
void Gambit_fn_021FE3F0(CPUState* cpu) {
|
|
L_021FE3F0: ; // 0x21fe3f0
|
|
/* 021FE3F0 */ cpu->r[3] = 0x00000000u;
|
|
/* 021FE3F4 */ return;
|
|
}
|
|
|
|
// fn_021FE3F8 @ 0x21fe3f8
|
|
void Gambit_fn_021FE3F8(CPUState* cpu) {
|
|
L_021FE3F8: ; // 0x21fe3f8
|
|
/* 021FE3F8 */ cpu->r[3] = 0x00000000u;
|
|
/* 021FE3FC */ return;
|
|
}
|
|
|
|
// fn_021FE400 @ 0x21fe400
|
|
void Gambit_fn_021FE400(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_021FE400: ; // 0x21fe400
|
|
/* 021FE400 */ _t0 = cpu->r[3] + 0x00000114u;
|
|
/* 021FE400 */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
|
|
/* 021FE404 */ cpu->r[0] = cpu->r[0] | 0x00020000u;
|
|
/* 021FE408 */ _t1 = cpu->r[3] + 0x00000114u;
|
|
/* 021FE408 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 021FE40C */ return;
|
|
}
|
|
|
|
// fn_021FE410 @ 0x21fe410
|
|
void Gambit_fn_021FE410(CPUState* cpu) {
|
|
L_021FE410: ; // 0x21fe410
|
|
/* 021FE410 */ cpu->r[3] = 0x10040000u;
|
|
/* 021FE414 */ cpu->r[3] = cpu->r[3] + 0xFFFFCF6Cu;
|
|
/* 021FE418 */ return;
|
|
}
|
|
|
|
// fn_021FE41C @ 0x21fe41c
|
|
void Gambit_fn_021FE41C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32;
|
|
|
|
L_021FE41C: ; // 0x21fe41c
|
|
/* 021FE41C */ cpu->r[10] = 0x101D0000u;
|
|
/* 021FE420 */ _t0 = cpu->r[10] + 0xFFFFFDACu;
|
|
/* 021FE420 */ cpu->r[10] = rbrew_read32(cpu->mem, _t0);
|
|
/* 021FE424 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 021FE428 */ cpu->r[10] = 0x101D0000u;
|
|
/* 021FE42C */ cpu->r[10] = cpu->r[10] + 0xFFFFFE60u;
|
|
/* 021FE430 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021FE430 */ _t2 = _t1 & 0x00000001u;
|
|
/* 021FE430 */ if (_t2) goto L_021FE434; else goto L_021FE44C;
|
|
L_021FE434: ; // 0x21fe434
|
|
/* 021FE434 */ cpu->r[0] = 0x10040000u;
|
|
/* 021FE438 */ cpu->r[9] = 0x00000001u;
|
|
/* 021FE43C */ cpu->r[11] = 0x101D0000u;
|
|
/* 021FE440 */ cpu->r[0] = cpu->r[0] + 0xFFFFCF5Cu;
|
|
/* 021FE444 */ _t3 = cpu->r[11] + 0xFFFFFDACu;
|
|
/* 021FE444 */ rbrew_write32(cpu->mem, _t3, cpu->r[9]);
|
|
/* 021FE448 */ _t4 = cpu->r[10] + 0x00000000u;
|
|
/* 021FE448 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
L_021FE44C: ; // 0x21fe44c
|
|
/* 021FE44C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[10]);
|
|
/* 021FE450 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021FE450 */ _t6 = _t5 & 0x00000001u;
|
|
/* 021FE450 */ if (_t6) goto L_021FE454; else goto L_021FE45C;
|
|
L_021FE454: ; // 0x21fe454
|
|
/* 021FE454 */ cpu->r[3] = 0x00000001u;
|
|
/* 021FE458 */ return;
|
|
L_021FE45C: ; // 0x21fe45c
|
|
/* 021FE45C */ cpu->r[9] = 0x101D0000u;
|
|
/* 021FE460 */ _t7 = cpu->r[9] + 0xFFFFDA00u;
|
|
/* 021FE460 */ cpu->r[9] = rbrew_read32(cpu->mem, _t7);
|
|
/* 021FE464 */ cpu->r[11] = 0x101D0000u;
|
|
/* 021FE468 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 021FE46C */ cpu->r[11] = cpu->r[11] + 0xFFFFFBFCu;
|
|
/* 021FE470 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021FE470 */ _t9 = _t8 & 0x00000001u;
|
|
/* 021FE470 */ if (_t9) goto L_021FE474; else goto L_021FE48C;
|
|
L_021FE474: ; // 0x21fe474
|
|
/* 021FE474 */ cpu->r[9] = 0x10040000u;
|
|
/* 021FE478 */ cpu->r[0] = 0x00000001u;
|
|
/* 021FE47C */ cpu->r[10] = 0x101D0000u;
|
|
/* 021FE480 */ cpu->r[9] = cpu->r[9] + 0xFFFFCF4Cu;
|
|
/* 021FE484 */ _t10 = cpu->r[10] + 0xFFFFDA00u;
|
|
/* 021FE484 */ rbrew_write32(cpu->mem, _t10, cpu->r[0]);
|
|
/* 021FE488 */ _t11 = cpu->r[11] + 0x00000000u;
|
|
/* 021FE488 */ rbrew_write32(cpu->mem, _t11, cpu->r[9]);
|
|
L_021FE48C: ; // 0x21fe48c
|
|
/* 021FE48C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[11]);
|
|
/* 021FE490 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021FE490 */ _t13 = _t12 & 0x00000001u;
|
|
/* 021FE490 */ if (_t13) goto L_021FE494; else goto L_021FE49C;
|
|
L_021FE494: ; // 0x21fe494
|
|
/* 021FE494 */ cpu->r[0] = 0x00000001u;
|
|
/* 021FE498 */ goto L_021FE554;
|
|
L_021FE49C: ; // 0x21fe49c
|
|
/* 021FE49C */ cpu->r[11] = 0x101D0000u;
|
|
/* 021FE4A0 */ _t14 = cpu->r[11] + 0xFFFFD9ECu;
|
|
/* 021FE4A0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t14);
|
|
/* 021FE4A4 */ cpu->r[9] = 0x101D0000u;
|
|
/* 021FE4A8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 021FE4AC */ cpu->r[9] = cpu->r[9] + 0xFFFFFB4Cu;
|
|
/* 021FE4B0 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021FE4B0 */ _t16 = _t15 & 0x00000001u;
|
|
/* 021FE4B0 */ if (_t16) goto L_021FE4B4; else goto L_021FE4CC;
|
|
L_021FE4B4: ; // 0x21fe4b4
|
|
/* 021FE4B4 */ cpu->r[11] = 0x10040000u;
|
|
/* 021FE4B8 */ cpu->r[10] = 0x00000001u;
|
|
/* 021FE4BC */ cpu->r[12] = 0x101D0000u;
|
|
/* 021FE4C0 */ cpu->r[11] = cpu->r[11] + 0xFFFFCF3Cu;
|
|
/* 021FE4C4 */ _t17 = cpu->r[12] + 0xFFFFD9ECu;
|
|
/* 021FE4C4 */ rbrew_write32(cpu->mem, _t17, cpu->r[10]);
|
|
/* 021FE4C8 */ _t18 = cpu->r[9] + 0x00000000u;
|
|
/* 021FE4C8 */ rbrew_write32(cpu->mem, _t18, cpu->r[11]);
|
|
L_021FE4CC: ; // 0x21fe4cc
|
|
/* 021FE4CC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[9]);
|
|
/* 021FE4D0 */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021FE4D0 */ _t20 = _t19 & 0x00000001u;
|
|
/* 021FE4D0 */ if (_t20) goto L_021FE4D4; else goto L_021FE4DC;
|
|
L_021FE4D4: ; // 0x21fe4d4
|
|
/* 021FE4D4 */ cpu->r[0] = 0x00000001u;
|
|
/* 021FE4D8 */ goto L_021FE550;
|
|
L_021FE4DC: ; // 0x21fe4dc
|
|
/* 021FE4DC */ cpu->r[9] = 0x101D0000u;
|
|
/* 021FE4E0 */ _t21 = cpu->r[9] + 0xFFFFD4E8u;
|
|
/* 021FE4E0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t21);
|
|
/* 021FE4E0 */ cpu->r[9] = _t21;
|
|
/* 021FE4E4 */ cpu->r[10] = 0x101D0000u;
|
|
/* 021FE4E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 021FE4EC */ cpu->r[10] = cpu->r[10] + 0xFFFFD4ECu;
|
|
/* 021FE4F0 */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021FE4F0 */ _t23 = _t22 & 0x00000001u;
|
|
/* 021FE4F0 */ if (_t23) goto L_021FE4F4; else goto L_021FE508;
|
|
L_021FE4F4: ; // 0x21fe4f4
|
|
/* 021FE4F4 */ cpu->r[0] = 0x10040000u;
|
|
/* 021FE4F8 */ cpu->r[11] = 0x00000001u;
|
|
/* 021FE4FC */ cpu->r[0] = cpu->r[0] + 0xFFFFCF2Cu;
|
|
/* 021FE500 */ _t24 = cpu->r[9] + 0x00000000u;
|
|
/* 021FE500 */ rbrew_write32(cpu->mem, _t24, cpu->r[11]);
|
|
/* 021FE504 */ _t25 = cpu->r[10] + 0x00000000u;
|
|
/* 021FE504 */ rbrew_write32(cpu->mem, _t25, cpu->r[0]);
|
|
L_021FE508: ; // 0x21fe508
|
|
/* 021FE508 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[10]);
|
|
/* 021FE50C */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021FE50C */ _t27 = _t26 & 0x00000001u;
|
|
/* 021FE50C */ if (_t27) goto L_021FE510; else goto L_021FE518;
|
|
L_021FE510: ; // 0x21fe510
|
|
/* 021FE510 */ cpu->r[0] = 0x00000001u;
|
|
/* 021FE514 */ goto L_021FE550;
|
|
L_021FE518: ; // 0x21fe518
|
|
/* 021FE518 */ cpu->r[10] = 0x101D0000u;
|
|
/* 021FE51C */ _t28 = cpu->r[10] + 0xFFFFD4E0u;
|
|
/* 021FE51C */ cpu->r[9] = rbrew_read32(cpu->mem, _t28);
|
|
/* 021FE51C */ cpu->r[10] = _t28;
|
|
/* 021FE520 */ cpu->r[11] = 0x101D0000u;
|
|
/* 021FE524 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 021FE528 */ cpu->r[11] = cpu->r[11] + 0xFFFFD4E4u;
|
|
/* 021FE52C */ _t29 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021FE52C */ _t30 = _t29 & 0x00000001u;
|
|
/* 021FE52C */ if (_t30) goto L_021FE530; else goto L_021FE544;
|
|
L_021FE530: ; // 0x21fe530
|
|
/* 021FE530 */ cpu->r[9] = 0x10040000u;
|
|
/* 021FE534 */ cpu->r[0] = 0x00000001u;
|
|
/* 021FE538 */ cpu->r[9] = cpu->r[9] + 0xFFFFCF04u;
|
|
/* 021FE53C */ _t31 = cpu->r[10] + 0x00000000u;
|
|
/* 021FE53C */ rbrew_write32(cpu->mem, _t31, cpu->r[0]);
|
|
/* 021FE540 */ _t32 = cpu->r[11] + 0x00000000u;
|
|
/* 021FE540 */ rbrew_write32(cpu->mem, _t32, cpu->r[9]);
|
|
L_021FE544: ; // 0x21fe544
|
|
/* 021FE544 */ cpu->r[0] = cpu->r[4] ^ cpu->r[11];
|
|
/* 021FE548 */ cpu->r[0] = rbrew_clz32(cpu->r[0]);
|
|
/* 021FE54C */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x0000001Bu, 0x00000018u, 0x0000001Fu);
|
|
L_021FE550: ; // 0x21fe550
|
|
/* 021FE550 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
L_021FE554: ; // 0x21fe554
|
|
/* 021FE554 */ cpu->r[3] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 021FE558 */ return;
|
|
}
|
|
|
|
// fn_021FE55C @ 0x21fe55c
|
|
void Gambit_fn_021FE55C(CPUState* cpu) {
|
|
L_021FE55C: ; // 0x21fe55c
|
|
/* 021FE55C */ cpu->r[3] = cpu->r[3] + 0x0000012Cu;
|
|
/* 021FE560 */ return;
|
|
}
|
|
|
|
// fn_021FE564 @ 0x21fe564
|
|
void Gambit_fn_021FE564(CPUState* cpu) {
|
|
L_021FE564: ; // 0x21fe564
|
|
/* 021FE564 */ cpu->r[3] = cpu->r[3] + 0x0000015Cu;
|
|
/* 021FE568 */ return;
|
|
}
|
|
|
|
// fn_021FE56C @ 0x21fe56c
|
|
void Gambit_fn_021FE56C(CPUState* cpu) {
|
|
L_021FE56C: ; // 0x21fe56c
|
|
/* 021FE56C */ return;
|
|
}
|
|
|
|
// fn_021FE570 @ 0x21fe570
|
|
void Gambit_fn_021FE570(CPUState* cpu) {
|
|
L_021FE570: ; // 0x21fe570
|
|
/* 021FE570 */ cpu->r[3] = 0x00000000u;
|
|
/* 021FE574 */ return;
|
|
}
|
|
|
|
// fn_021FE578 @ 0x21fe578
|
|
void Gambit_fn_021FE578(CPUState* cpu) {
|
|
L_021FE578: ; // 0x21fe578
|
|
/* 021FE578 */ cpu->r[3] = 0x00000000u;
|
|
/* 021FE57C */ return;
|
|
}
|
|
|
|
// fn_021FE580 @ 0x21fe580
|
|
void Gambit_fn_021FE580(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_021FE580: ; // 0x21fe580
|
|
/* 021FE580 */ _t0 = cpu->r[3] + 0x00000198u;
|
|
/* 021FE580 */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
|
|
/* 021FE584 */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x00000012u, 0x0000001Eu, 0x0000001Fu);
|
|
/* 021FE588 */ cpu->r[0] = 0x101C0000u;
|
|
/* 021FE58C */ cpu->r[12] = rbrew_rlwinm(cpu->r[12], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 021FE590 */ cpu->r[0] = cpu->r[0] + 0x0000513Cu;
|
|
/* 021FE594 */ _t1 = cpu->r[12] + cpu->r[0];
|
|
/* 021FE594 */ cpu->r[3] = rbrew_read32(cpu->mem, _t1);
|
|
/* 021FE598 */ return;
|
|
}
|
|
|
|
// fn_021FE59C @ 0x21fe59c
|
|
void Gambit_fn_021FE59C(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_021FE59C: ; // 0x21fe59c
|
|
/* 021FE59C */ _t0 = cpu->r[3] + 0x00000198u;
|
|
/* 021FE59C */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
|
|
/* 021FE5A0 */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x00000012u, 0x0000001Eu, 0x0000001Fu);
|
|
/* 021FE5A4 */ cpu->r[0] = 0x101C0000u;
|
|
/* 021FE5A8 */ cpu->r[12] = rbrew_rlwinm(cpu->r[12], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 021FE5AC */ cpu->r[0] = cpu->r[0] + 0x0000514Cu;
|
|
/* 021FE5B0 */ _t1 = cpu->r[12] + cpu->r[0];
|
|
/* 021FE5B0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t1);
|
|
/* 021FE5B4 */ return;
|
|
}
|
|
|
|
// fn_021FE5B8 @ 0x21fe5b8
|
|
void Gambit_fn_021FE5B8(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_021FE5B8: ; // 0x21fe5b8
|
|
/* 021FE5B8 */ _t0 = cpu->r[3] + 0x00000198u;
|
|
/* 021FE5B8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
|
|
/* 021FE5BC */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x00000012u, 0x0000001Eu, 0x0000001Fu);
|
|
/* 021FE5C0 */ cpu->r[0] = 0x101C0000u;
|
|
/* 021FE5C4 */ cpu->r[12] = rbrew_rlwinm(cpu->r[12], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 021FE5C8 */ cpu->r[0] = cpu->r[0] + 0x0000515Cu;
|
|
/* 021FE5CC */ _t1 = cpu->r[12] + cpu->r[0];
|
|
/* 021FE5CC */ cpu->r[3] = rbrew_read32(cpu->mem, _t1);
|
|
/* 021FE5D0 */ return;
|
|
}
|
|
|
|
// fn_021FE5D4 @ 0x21fe5d4
|
|
void Gambit_fn_021FE5D4(CPUState* cpu) {
|
|
L_021FE5D4: ; // 0x21fe5d4
|
|
/* 021FE5D4 */ return;
|
|
}
|
|
|
|
// fn_021FE5D8 @ 0x21fe5d8
|
|
void Gambit_fn_021FE5D8(CPUState* cpu) {
|
|
L_021FE5D8: ; // 0x21fe5d8
|
|
/* 021FE5D8 */ return;
|
|
}
|
|
|
|
// fn_021FE5DC @ 0x21fe5dc
|
|
void Gambit_fn_021FE5DC(CPUState* cpu) {
|
|
L_021FE5DC: ; // 0x21fe5dc
|
|
/* 021FE5DC */ return;
|
|
}
|
|
|
|
// fn_021FE5E0 @ 0x21fe5e0
|
|
void Gambit_fn_021FE5E0(CPUState* cpu) {
|
|
L_021FE5E0: ; // 0x21fe5e0
|
|
/* 021FE5E0 */ return;
|
|
}
|
|
|
|
// fn_021FE5E4 @ 0x21fe5e4
|
|
void Gambit_fn_021FE5E4(CPUState* cpu) {
|
|
L_021FE5E4: ; // 0x21fe5e4
|
|
/* 021FE5E4 */ return;
|
|
}
|
|
|
|
// fn_021FE5E8 @ 0x21fe5e8
|
|
void Gambit_fn_021FE5E8(CPUState* cpu) {
|
|
L_021FE5E8: ; // 0x21fe5e8
|
|
/* 021FE5E8 */ return;
|
|
}
|
|
|
|
// fn_021FE5EC @ 0x21fe5ec
|
|
void Gambit_fn_021FE5EC(CPUState* cpu) {
|
|
L_021FE5EC: ; // 0x21fe5ec
|
|
/* 021FE5EC */ return;
|
|
}
|
|
|
|
// fn_021FE5F0 @ 0x21fe5f0
|
|
void Gambit_fn_021FE5F0(CPUState* cpu) {
|
|
L_021FE5F0: ; // 0x21fe5f0
|
|
/* 021FE5F0 */ return;
|
|
}
|
|
|
|
// fn_021FE5F4 @ 0x21fe5f4
|
|
void Gambit_fn_021FE5F4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_021FE5F4: ; // 0x21fe5f4
|
|
/* 021FE5F4 */ _t0 = cpu->r[3] + 0x0000000Cu;
|
|
/* 021FE5F4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
|
|
/* 021FE5F8 */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x0000001Fu, 0x0000001Fu, 0x0000001Fu);
|
|
/* 021FE5F8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 021FE5FC */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021FE5FC */ _t2 = _t1 & 0x00000001u;
|
|
/* 021FE5FC */ _t3 = _t2 ^ 0x00000001u;
|
|
/* 021FE5FC */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 021FE5FC */ goto L_021FE600;
|
|
L_021FE600: ; // 0x21fe600
|
|
/* 021FE600 */ _t4 = cpu->r[3] + 0x00000004u;
|
|
/* 021FE600 */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 021FE604 */ _t5 = cpu->r[12] + 0x0000004Cu;
|
|
/* 021FE604 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 021FE608 */ cpu->ctr = cpu->r[0];
|
|
/* 021FE60C */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_021FE610 @ 0x21fe610
|
|
void Gambit_fn_021FE610(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_021FE610: ; // 0x21fe610
|
|
/* 021FE610 */ _t0 = cpu->r[3] + 0x0000000Cu;
|
|
/* 021FE610 */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
|
|
/* 021FE614 */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x0000001Du, 0x0000001Fu, 0x0000001Fu);
|
|
/* 021FE614 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 021FE618 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021FE618 */ _t2 = _t1 & 0x00000001u;
|
|
/* 021FE618 */ _t3 = _t2 ^ 0x00000001u;
|
|
/* 021FE618 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 021FE618 */ goto L_021FE61C;
|
|
L_021FE61C: ; // 0x21fe61c
|
|
/* 021FE61C */ _t4 = cpu->r[3] + 0x00000004u;
|
|
/* 021FE61C */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 021FE620 */ _t5 = cpu->r[12] + 0x0000005Cu;
|
|
/* 021FE620 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 021FE624 */ cpu->ctr = cpu->r[0];
|
|
/* 021FE628 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_021FE62C @ 0x21fe62c
|
|
void Gambit_fn_021FE62C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_021FE62C: ; // 0x21fe62c
|
|
/* 021FE62C */ _t0 = cpu->r[3] + 0x0000000Cu;
|
|
/* 021FE62C */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
|
|
/* 021FE630 */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x0000001Au, 0x0000001Fu, 0x0000001Fu);
|
|
/* 021FE630 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 021FE634 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021FE634 */ _t2 = _t1 & 0x00000001u;
|
|
/* 021FE634 */ _t3 = _t2 ^ 0x00000001u;
|
|
/* 021FE634 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 021FE634 */ goto L_021FE638;
|
|
L_021FE638: ; // 0x21fe638
|
|
/* 021FE638 */ _t4 = cpu->r[3] + 0x00000004u;
|
|
/* 021FE638 */ cpu->r[11] = rbrew_read32(cpu->mem, _t4);
|
|
/* 021FE63C */ _t5 = cpu->r[11] + 0x00000074u;
|
|
/* 021FE63C */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 021FE640 */ cpu->ctr = cpu->r[0];
|
|
/* 021FE644 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_021FE648 @ 0x21fe648
|
|
void Gambit_fn_021FE648(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_021FE648: ; // 0x21fe648
|
|
/* 021FE648 */ _t0 = cpu->r[3] + 0x00000004u;
|
|
/* 021FE648 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 021FE64C */ _t1 = cpu->r[12] + 0x0000002Cu;
|
|
/* 021FE64C */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 021FE650 */ cpu->ctr = cpu->r[0];
|
|
/* 021FE654 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_021FE658 @ 0x21fe658
|
|
void Gambit_fn_021FE658(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_021FE658: ; // 0x21fe658
|
|
/* 021FE658 */ cpu->r[0] = cpu->lr;
|
|
/* 021FE65C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 021FE65C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 021FE65C */ cpu->r[1] = _t0;
|
|
/* 021FE660 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021FE660 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 021FE664 */ cpu->r[31] = cpu->r[3];
|
|
/* 021FE668 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 021FE668 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 021FE66C */ _t3 = cpu->r[31] + 0x0000001Cu;
|
|
/* 021FE66C */ cpu->r[11] = rbrew_read32(cpu->mem, _t3);
|
|
/* 021FE670 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000003u);
|
|
/* 021FE674 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021FE674 */ _t5 = _t4 & 0x00000001u;
|
|
/* 021FE674 */ if (_t5) goto L_021FE678; else goto L_021FE694;
|
|
L_021FE678: ; // 0x21fe678
|
|
/* 021FE678 */ _t6 = cpu->r[31] + 0x00000004u;
|
|
/* 021FE678 */ cpu->r[12] = rbrew_read32(cpu->mem, _t6);
|
|
/* 021FE67C */ _t7 = cpu->r[12] + 0x0000010Cu;
|
|
/* 021FE67C */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 021FE680 */ cpu->ctr = cpu->r[0];
|
|
/* 021FE684 */ cpu->r[3] = cpu->r[31];
|
|
/* 021FE688 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021FE68C */ cpu->r[0] = 0x00000002u;
|
|
/* 021FE690 */ _t8 = cpu->r[31] + 0x0000001Cu;
|
|
/* 021FE690 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
L_021FE694: ; // 0x21fe694
|
|
/* 021FE694 */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 021FE694 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 021FE698 */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021FE698 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 021FE69C */ cpu->lr = cpu->r[0];
|
|
/* 021FE6A0 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 021FE6A4 */ return;
|
|
}
|
|
|
|
// fn_021FE65C @ 0x21fe65c
|
|
void Gambit_fn_021FE65C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_021FE65C: ; // 0x21fe65c
|
|
/* 021FE65C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 021FE65C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 021FE65C */ cpu->r[1] = _t0;
|
|
/* 021FE660 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021FE660 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 021FE664 */ cpu->r[31] = cpu->r[3];
|
|
/* 021FE668 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 021FE668 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 021FE66C */ _t3 = cpu->r[31] + 0x0000001Cu;
|
|
/* 021FE66C */ cpu->r[11] = rbrew_read32(cpu->mem, _t3);
|
|
/* 021FE670 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000003u);
|
|
/* 021FE674 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021FE674 */ _t5 = _t4 & 0x00000001u;
|
|
/* 021FE674 */ if (_t5) goto L_021FE678; else goto L_021FE694;
|
|
L_021FE678: ; // 0x21fe678
|
|
/* 021FE678 */ _t6 = cpu->r[31] + 0x00000004u;
|
|
/* 021FE678 */ cpu->r[12] = rbrew_read32(cpu->mem, _t6);
|
|
/* 021FE67C */ _t7 = cpu->r[12] + 0x0000010Cu;
|
|
/* 021FE67C */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 021FE680 */ cpu->ctr = cpu->r[0];
|
|
/* 021FE684 */ cpu->r[3] = cpu->r[31];
|
|
/* 021FE688 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021FE68C */ cpu->r[0] = 0x00000002u;
|
|
/* 021FE690 */ _t8 = cpu->r[31] + 0x0000001Cu;
|
|
/* 021FE690 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
L_021FE694: ; // 0x21fe694
|
|
/* 021FE694 */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 021FE694 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 021FE698 */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021FE698 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 021FE69C */ cpu->lr = cpu->r[0];
|
|
/* 021FE6A0 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 021FE6A4 */ return;
|
|
}
|
|
|
|
// fn_021FE6A8 @ 0x21fe6a8
|
|
void Gambit_fn_021FE6A8(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_021FE6A8: ; // 0x21fe6a8
|
|
/* 021FE6A8 */ _t0 = cpu->r[3] + 0x00000004u;
|
|
/* 021FE6A8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 021FE6AC */ _t1 = cpu->r[12] + 0x0000008Cu;
|
|
/* 021FE6AC */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 021FE6B0 */ cpu->ctr = cpu->r[0];
|
|
/* 021FE6B4 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_021FE6B8 @ 0x21fe6b8
|
|
void Gambit_fn_021FE6B8(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_021FE6B8: ; // 0x21fe6b8
|
|
/* 021FE6B8 */ _t0 = cpu->r[3] + 0x00000004u;
|
|
/* 021FE6B8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 021FE6BC */ _t1 = cpu->r[12] + 0x00000124u;
|
|
/* 021FE6BC */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 021FE6C0 */ cpu->ctr = cpu->r[0];
|
|
/* 021FE6C4 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_021FE6C8 @ 0x21fe6c8
|
|
void Gambit_fn_021FE6C8(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_021FE6C8: ; // 0x21fe6c8
|
|
/* 021FE6C8 */ _t0 = cpu->r[3] + 0x00000004u;
|
|
/* 021FE6C8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 021FE6CC */ _t1 = cpu->r[12] + 0x00000124u;
|
|
/* 021FE6CC */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 021FE6D0 */ cpu->ctr = cpu->r[0];
|
|
/* 021FE6D4 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_021FE6D8 @ 0x21fe6d8
|
|
void Gambit_fn_021FE6D8(CPUState* cpu) {
|
|
L_021FE6D8: ; // 0x21fe6d8
|
|
/* 021FE6D8 */ cpu->r[3] = 0x00000001u;
|
|
/* 021FE6DC */ return;
|
|
}
|
|
|
|
// fn_021FE6E0 @ 0x21fe6e0
|
|
void Gambit_fn_021FE6E0(CPUState* cpu) {
|
|
L_021FE6E0: ; // 0x21fe6e0
|
|
/* 021FE6E0 */ return;
|
|
}
|
|
|
|
// fn_021FE6E4 @ 0x21fe6e4
|
|
void Gambit_fn_021FE6E4(CPUState* cpu) {
|
|
L_021FE6E4: ; // 0x21fe6e4
|
|
/* 021FE6E4 */ return;
|
|
}
|
|
|
|
// fn_021FE6E8 @ 0x21fe6e8
|
|
void Gambit_fn_021FE6E8(CPUState* cpu) {
|
|
L_021FE6E8: ; // 0x21fe6e8
|
|
/* 021FE6E8 */ return;
|
|
}
|
|
|
|
// fn_021FE6EC @ 0x21fe6ec
|
|
void Gambit_fn_021FE6EC(CPUState* cpu) {
|
|
L_021FE6EC: ; // 0x21fe6ec
|
|
/* 021FE6EC */ return;
|
|
}
|
|
|
|
// fn_021FE6F0 @ 0x21fe6f0
|
|
void Gambit_fn_021FE6F0(CPUState* cpu) {
|
|
L_021FE6F0: ; // 0x21fe6f0
|
|
/* 021FE6F0 */ return;
|
|
}
|
|
|
|
// fn_021FE6F4 @ 0x21fe6f4
|
|
void Gambit_fn_021FE6F4(CPUState* cpu) {
|
|
L_021FE6F4: ; // 0x21fe6f4
|
|
/* 021FE6F4 */ return;
|
|
}
|
|
|
|
// fn_021FE6F8 @ 0x21fe6f8
|
|
void Gambit_fn_021FE6F8(CPUState* cpu) {
|
|
L_021FE6F8: ; // 0x21fe6f8
|
|
/* 021FE6F8 */ return;
|
|
}
|
|
|
|
// fn_021FE6FC @ 0x21fe6fc
|
|
void Gambit_fn_021FE6FC(CPUState* cpu) {
|
|
L_021FE6FC: ; // 0x21fe6fc
|
|
/* 021FE6FC */ cpu->r[3] = 0x00000001u;
|
|
/* 021FE700 */ return;
|
|
}
|
|
|
|
// fn_021FE704 @ 0x21fe704
|
|
void Gambit_fn_021FE704(CPUState* cpu) {
|
|
L_021FE704: ; // 0x21fe704
|
|
/* 021FE704 */ cpu->r[3] = 0x00000000u;
|
|
/* 021FE708 */ return;
|
|
}
|
|
|
|
// fn_021FE70C @ 0x21fe70c
|
|
void Gambit_fn_021FE70C(CPUState* cpu) {
|
|
L_021FE70C: ; // 0x21fe70c
|
|
/* 021FE70C */ cpu->r[3] = 0x00000001u;
|
|
/* 021FE710 */ return;
|
|
}
|
|
|
|
// fn_021FE714 @ 0x21fe714
|
|
void Gambit_fn_021FE714(CPUState* cpu) {
|
|
L_021FE714: ; // 0x21fe714
|
|
/* 021FE714 */ cpu->r[3] = 0x00000000u;
|
|
/* 021FE718 */ return;
|
|
}
|
|
|
|
// fn_021FE71C @ 0x21fe71c
|
|
void Gambit_fn_021FE71C(CPUState* cpu) {
|
|
L_021FE71C: ; // 0x21fe71c
|
|
/* 021FE71C */ cpu->r[3] = 0x00000000u;
|
|
/* 021FE720 */ return;
|
|
}
|
|
|
|
// fn_021FE724 @ 0x21fe724
|
|
void Gambit_fn_021FE724(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_021FE724: ; // 0x21fe724
|
|
/* 021FE724 */ _t0 = cpu->r[3] + 0x00000004u;
|
|
/* 021FE724 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 021FE728 */ _t1 = cpu->r[12] + 0x0000021Cu;
|
|
/* 021FE728 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 021FE72C */ cpu->ctr = cpu->r[0];
|
|
/* 021FE730 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_021FE734 @ 0x21fe734
|
|
void Gambit_fn_021FE734(CPUState* cpu) {
|
|
L_021FE734: ; // 0x21fe734
|
|
/* 021FE734 */ cpu->r[3] = 0x00000000u;
|
|
/* 021FE738 */ return;
|
|
}
|
|
|
|
// fn_021FE73C @ 0x21fe73c
|
|
void Gambit_fn_021FE73C(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_021FE73C: ; // 0x21fe73c
|
|
/* 021FE73C */ _t0 = cpu->r[3] + 0x00000004u;
|
|
/* 021FE73C */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 021FE740 */ _t1 = cpu->r[12] + 0x0000027Cu;
|
|
/* 021FE740 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 021FE744 */ cpu->ctr = cpu->r[0];
|
|
/* 021FE748 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_021FE74C @ 0x21fe74c
|
|
void Gambit_fn_021FE74C(CPUState* cpu) {
|
|
L_021FE74C: ; // 0x21fe74c
|
|
/* 021FE74C */ cpu->r[3] = 0x00000000u;
|
|
/* 021FE750 */ return;
|
|
}
|
|
|
|
// fn_021FE754 @ 0x21fe754
|
|
void Gambit_fn_021FE754(CPUState* cpu) {
|
|
L_021FE754: ; // 0x21fe754
|
|
/* 021FE754 */ cpu->r[3] = 0x00000001u;
|
|
/* 021FE758 */ return;
|
|
}
|
|
|
|
// fn_021FE75C @ 0x21fe75c
|
|
void Gambit_fn_021FE75C(CPUState* cpu) {
|
|
L_021FE75C: ; // 0x21fe75c
|
|
/* 021FE75C */ cpu->r[3] = 0x00000000u;
|
|
/* 021FE760 */ return;
|
|
}
|
|
|
|
// fn_021FE764 @ 0x21fe764
|
|
void Gambit_fn_021FE764(CPUState* cpu) {
|
|
L_021FE764: ; // 0x21fe764
|
|
/* 021FE764 */ cpu->r[3] = 0x00000000u;
|
|
/* 021FE768 */ return;
|
|
}
|
|
|
|
// fn_021FE76C @ 0x21fe76c
|
|
void Gambit_fn_021FE76C(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_021FE76C: ; // 0x21fe76c
|
|
/* 021FE76C */ _t0 = cpu->r[3] + 0x00000080u;
|
|
/* 021FE76C */ cpu->r[3] = rbrew_read32(cpu->mem, _t0);
|
|
/* 021FE770 */ return;
|
|
}
|
|
|
|
// fn_021FE774 @ 0x21fe774
|
|
void Gambit_fn_021FE774(CPUState* cpu) {
|
|
L_021FE774: ; // 0x21fe774
|
|
/* 021FE774 */ cpu->r[3] = cpu->r[3] + 0x00000094u;
|
|
/* 021FE778 */ return;
|
|
}
|
|
|
|
// fn_021FE77C @ 0x21fe77c
|
|
void Gambit_fn_021FE77C(CPUState* cpu) {
|
|
L_021FE77C: ; // 0x21fe77c
|
|
/* 021FE77C */ cpu->r[3] = cpu->r[3] + 0x000000C4u;
|
|
/* 021FE780 */ return;
|
|
}
|
|
|
|
// fn_021FE784 @ 0x21fe784
|
|
void Gambit_fn_021FE784(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_021FE784: ; // 0x21fe784
|
|
/* 021FE784 */ cpu->r[12] = 0x10040000u;
|
|
/* 021FE788 */ _t0 = cpu->r[12] + 0xFFFFD670u;
|
|
/* 021FE788 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t0);
|
|
/* 021FE78C */ return;
|
|
}
|
|
|
|
// fn_021FE790 @ 0x21fe790
|
|
void Gambit_fn_021FE790(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_021FE790: ; // 0x21fe790
|
|
/* 021FE790 */ cpu->r[12] = 0x10040000u;
|
|
/* 021FE794 */ _t0 = cpu->r[12] + 0xFFFFD670u;
|
|
/* 021FE794 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t0);
|
|
/* 021FE798 */ return;
|
|
}
|
|
|
|
// fn_021FE79C @ 0x21fe79c
|
|
void Gambit_fn_021FE79C(CPUState* cpu) {
|
|
L_021FE79C: ; // 0x21fe79c
|
|
/* 021FE79C */ cpu->r[3] = 0x00000001u;
|
|
/* 021FE7A0 */ return;
|
|
}
|
|
|
|
// fn_021FE7A4 @ 0x21fe7a4
|
|
void Gambit_fn_021FE7A4(CPUState* cpu) {
|
|
L_021FE7A4: ; // 0x21fe7a4
|
|
/* 021FE7A4 */ cpu->r[3] = 0x00000001u;
|
|
/* 021FE7A8 */ return;
|
|
}
|
|
|
|
// fn_021FE7AC @ 0x21fe7ac
|
|
void Gambit_fn_021FE7AC(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_021FE7AC: ; // 0x21fe7ac
|
|
/* 021FE7AC */ _t0 = cpu->r[3] + 0x00000004u;
|
|
/* 021FE7AC */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 021FE7B0 */ _t1 = cpu->r[12] + 0x0000035Cu;
|
|
/* 021FE7B0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 021FE7B4 */ cpu->ctr = cpu->r[0];
|
|
/* 021FE7B8 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_021FE7BC @ 0x21fe7bc
|
|
void Gambit_fn_021FE7BC(CPUState* cpu) {
|
|
L_021FE7BC: ; // 0x21fe7bc
|
|
/* 021FE7BC */ cpu->r[3] = 0x00000001u;
|
|
/* 021FE7C0 */ return;
|
|
}
|
|
|
|
// fn_021FE7C4 @ 0x21fe7c4
|
|
void Gambit_fn_021FE7C4(CPUState* cpu) {
|
|
L_021FE7C4: ; // 0x21fe7c4
|
|
/* 021FE7C4 */ cpu->r[3] = 0x00000000u;
|
|
/* 021FE7C8 */ return;
|
|
}
|
|
|
|
// fn_021FE7CC @ 0x21fe7cc
|
|
void Gambit_fn_021FE7CC(CPUState* cpu) {
|
|
L_021FE7CC: ; // 0x21fe7cc
|
|
/* 021FE7CC */ cpu->r[3] = 0x00000000u;
|
|
/* 021FE7D0 */ return;
|
|
}
|
|
|
|
// fn_021FE7D4 @ 0x21fe7d4
|
|
void Gambit_fn_021FE7D4(CPUState* cpu) {
|
|
L_021FE7D4: ; // 0x21fe7d4
|
|
/* 021FE7D4 */ cpu->r[3] = 0x00000001u;
|
|
/* 021FE7D8 */ return;
|
|
}
|
|
|
|
// fn_021FE7DC @ 0x21fe7dc
|
|
void Gambit_fn_021FE7DC(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_021FE7DC: ; // 0x21fe7dc
|
|
/* 021FE7DC */ _t0 = cpu->r[3] + 0x00000004u;
|
|
/* 021FE7DC */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 021FE7E0 */ _t1 = cpu->r[12] + 0x0000039Cu;
|
|
/* 021FE7E0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 021FE7E4 */ cpu->ctr = cpu->r[0];
|
|
/* 021FE7E8 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_021FE7EC @ 0x21fe7ec
|
|
void Gambit_fn_021FE7EC(CPUState* cpu) {
|
|
L_021FE7EC: ; // 0x21fe7ec
|
|
/* 021FE7EC */ return;
|
|
}
|
|
|
|
// fn_021FE7F0 @ 0x21fe7f0
|
|
void Gambit_fn_021FE7F0(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_021FE7F0: ; // 0x21fe7f0
|
|
/* 021FE7F0 */ _t0 = cpu->r[3] + 0x00000020u;
|
|
/* 021FE7F0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t0);
|
|
/* 021FE7F4 */ return;
|
|
}
|
|
|
|
// fn_021FE7F8 @ 0x21fe7f8
|
|
void Gambit_fn_021FE7F8(CPUState* cpu) {
|
|
L_021FE7F8: ; // 0x21fe7f8
|
|
/* 021FE7F8 */ cpu->r[3] = 0x00000000u;
|
|
/* 021FE7FC */ return;
|
|
}
|
|
|
|
// fn_021FE800 @ 0x21fe800
|
|
void Gambit_fn_021FE800(CPUState* cpu) {
|
|
L_021FE800: ; // 0x21fe800
|
|
/* 021FE800 */ cpu->r[3] = 0x00000000u;
|
|
/* 021FE804 */ return;
|
|
}
|
|
|
|
// fn_021FE808 @ 0x21fe808
|
|
void Gambit_fn_021FE808(CPUState* cpu) {
|
|
L_021FE808: ; // 0x21fe808
|
|
/* 021FE808 */ cpu->r[3] = 0x00000001u;
|
|
/* 021FE80C */ return;
|
|
}
|
|
|
|
// fn_021FE810 @ 0x21fe810
|
|
void Gambit_fn_021FE810(CPUState* cpu) {
|
|
L_021FE810: ; // 0x21fe810
|
|
/* 021FE810 */ cpu->r[3] = 0x00000000u;
|
|
/* 021FE814 */ return;
|
|
}
|
|
|
|
// fn_021FE818 @ 0x21fe818
|
|
void Gambit_fn_021FE818(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_021FE818: ; // 0x21fe818
|
|
/* 021FE818 */ _t0 = cpu->r[3] + 0x000000C0u;
|
|
/* 021FE818 */ cpu->r[3] = rbrew_read8(cpu->mem, _t0);
|
|
/* 021FE81C */ return;
|
|
}
|
|
|
|
// fn_021FE820 @ 0x21fe820
|
|
void Gambit_fn_021FE820(CPUState* cpu) {
|
|
L_021FE820: ; // 0x21fe820
|
|
/* 021FE820 */ return;
|
|
}
|
|
|
|
// fn_021FE824 @ 0x21fe824
|
|
void Gambit_fn_021FE824(CPUState* cpu) {
|
|
L_021FE824: ; // 0x21fe824
|
|
/* 021FE824 */ return;
|
|
}
|
|
|
|
// fn_021FE828 @ 0x21fe828
|
|
void Gambit_fn_021FE828(CPUState* cpu) {
|
|
L_021FE828: ; // 0x21fe828
|
|
/* 021FE828 */ cpu->r[3] = 0x00000000u;
|
|
/* 021FE82C */ return;
|
|
}
|
|
|
|
// fn_021FE830 @ 0x21fe830
|
|
void Gambit_fn_021FE830(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_021FE830: ; // 0x21fe830
|
|
/* 021FE830 */ cpu->r[12] = 0x10040000u;
|
|
/* 021FE834 */ _t0 = cpu->r[12] + 0xFFFFD674u;
|
|
/* 021FE834 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t0);
|
|
/* 021FE838 */ return;
|
|
}
|
|
|
|
// fn_021FE83C @ 0x21fe83c
|
|
void Gambit_fn_021FE83C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4;
|
|
|
|
L_021FE83C: ; // 0x21fe83c
|
|
/* 021FE83C */ _t0 = cpu->r[3] + 0x00000114u;
|
|
/* 021FE83C */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
|
|
/* 021FE840 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000012u, 0x00000013u);
|
|
/* 021FE840 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 021FE844 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021FE844 */ _t2 = _t1 & 0x00000001u;
|
|
/* 021FE844 */ if (_t2) goto L_021FE854; else goto L_021FE848;
|
|
L_021FE848: ; // 0x21fe848
|
|
/* 021FE848 */ cpu->r[12] = 0x10040000u;
|
|
/* 021FE84C */ _t3 = cpu->r[12] + 0xFFFFD674u;
|
|
/* 021FE84C */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t3);
|
|
/* 021FE850 */ return;
|
|
L_021FE854: ; // 0x21fe854
|
|
/* 021FE854 */ cpu->r[12] = 0x10040000u;
|
|
/* 021FE858 */ _t4 = cpu->r[12] + 0xFFFFD678u;
|
|
/* 021FE858 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t4);
|
|
/* 021FE85C */ return;
|
|
}
|
|
|
|
// fn_021FE860 @ 0x21fe860
|
|
void Gambit_fn_021FE860(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7;
|
|
|
|
L_021FE860: ; // 0x21fe860
|
|
/* 021FE860 */ goto L_0222E4C4;
|
|
L_0222E4C4: ; // 0x222e4c4
|
|
/* 0222E4C4 */ cpu->r[0] = cpu->lr;
|
|
/* 0222E4C8 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 0222E4C8 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 0222E4CC */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 0222E4CC */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 0222E4CC */ cpu->r[1] = _t1;
|
|
/* 0222E4D0 */ Gambit_fn_021F7000(cpu);
|
|
/* 0222E4D4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0222E4D8 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0222E4D8 */ _t3 = _t2 & 0x00000001u;
|
|
/* 0222E4D8 */ if (_t3) goto L_0222E4F4; else goto L_0222E4DC;
|
|
L_0222E4DC: ; // 0x222e4dc
|
|
/* 0222E4DC */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0222E4DC */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0222E4E0 */ cpu->r[12] = 0x101E0000u;
|
|
/* 0222E4E4 */ cpu->lr = cpu->r[0];
|
|
/* 0222E4E8 */ _t5 = cpu->r[12] + 0xFFFF9594u;
|
|
/* 0222E4E8 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t5);
|
|
/* 0222E4EC */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 0222E4F0 */ return;
|
|
L_0222E4F4: ; // 0x222e4f4
|
|
/* 0222E4F4 */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0222E4F4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0222E4F8 */ cpu->r[12] = 0x101E0000u;
|
|
/* 0222E4FC */ cpu->lr = cpu->r[0];
|
|
/* 0222E500 */ _t7 = cpu->r[12] + 0xFFFF9590u;
|
|
/* 0222E500 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t7);
|
|
/* 0222E504 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 0222E508 */ return;
|
|
}
|
|
|
|
// fn_021FE864 @ 0x21fe864
|
|
void Gambit_fn_021FE864(CPUState* cpu) {
|
|
L_021FE864: ; // 0x21fe864
|
|
/* 021FE864 */ cpu->r[3] = 0x00000000u;
|
|
/* 021FE868 */ return;
|
|
}
|
|
|
|
// fn_021FE86C @ 0x21fe86c
|
|
void Gambit_fn_021FE86C(CPUState* cpu) {
|
|
L_021FE86C: ; // 0x21fe86c
|
|
/* 021FE86C */ cpu->r[3] = 0x00000000u;
|
|
/* 021FE870 */ return;
|
|
}
|
|
|
|
// fn_021FE874 @ 0x21fe874
|
|
void Gambit_fn_021FE874(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_021FE874: ; // 0x21fe874
|
|
/* 021FE874 */ _t0 = cpu->r[3] + 0x00000114u;
|
|
/* 021FE874 */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
|
|
/* 021FE878 */ cpu->r[0] = cpu->r[0] | 0x00020000u;
|
|
/* 021FE87C */ _t1 = cpu->r[3] + 0x00000114u;
|
|
/* 021FE87C */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 021FE880 */ return;
|
|
}
|
|
|
|
// fn_021FE884 @ 0x21fe884
|
|
void Gambit_fn_021FE884(CPUState* cpu) {
|
|
L_021FE884: ; // 0x21fe884
|
|
/* 021FE884 */ cpu->r[3] = 0x00000001u;
|
|
/* 021FE888 */ return;
|
|
}
|
|
|
|
// fn_021FE88C @ 0x21fe88c
|
|
void Gambit_fn_021FE88C(CPUState* cpu) {
|
|
L_021FE88C: ; // 0x21fe88c
|
|
/* 021FE88C */ cpu->r[3] = cpu->r[3] + 0x000001ACu;
|
|
/* 021FE890 */ return;
|
|
}
|
|
|
|
// fn_021FE894 @ 0x21fe894
|
|
void Gambit_fn_021FE894(CPUState* cpu) {
|
|
L_021FE894: ; // 0x21fe894
|
|
/* 021FE894 */ cpu->r[3] = cpu->r[3] + 0x000001DCu;
|
|
/* 021FE898 */ return;
|
|
}
|
|
|
|
// fn_021FE89C @ 0x21fe89c
|
|
void Gambit_fn_021FE89C(CPUState* cpu) {
|
|
L_021FE89C: ; // 0x21fe89c
|
|
/* 021FE89C */ cpu->r[3] = 0x10040000u;
|
|
/* 021FE8A0 */ cpu->r[3] = cpu->r[3] + 0xFFFFD57Cu;
|
|
/* 021FE8A4 */ return;
|
|
}
|
|
|
|
// fn_021FE8A8 @ 0x21fe8a8
|
|
void Gambit_fn_021FE8A8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39;
|
|
|
|
L_021FE8A8: ; // 0x21fe8a8
|
|
/* 021FE8A8 */ cpu->r[8] = 0x101D0000u;
|
|
/* 021FE8AC */ _t0 = cpu->r[8] + 0xFFFFFD9Cu;
|
|
/* 021FE8AC */ cpu->r[8] = rbrew_read32(cpu->mem, _t0);
|
|
/* 021FE8B0 */ cpu->r[6] = 0x101D0000u;
|
|
/* 021FE8B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 021FE8B8 */ cpu->r[6] = cpu->r[6] + 0xFFFFFE8Cu;
|
|
/* 021FE8BC */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021FE8BC */ _t2 = _t1 & 0x00000001u;
|
|
/* 021FE8BC */ if (_t2) goto L_021FE8C0; else goto L_021FE8D8;
|
|
L_021FE8C0: ; // 0x21fe8c0
|
|
/* 021FE8C0 */ cpu->r[5] = 0x10040000u;
|
|
/* 021FE8C4 */ cpu->r[0] = 0x00000001u;
|
|
/* 021FE8C8 */ cpu->r[8] = 0x101D0000u;
|
|
/* 021FE8CC */ cpu->r[5] = cpu->r[5] + 0xFFFFD550u;
|
|
/* 021FE8D0 */ _t3 = cpu->r[8] + 0xFFFFFD9Cu;
|
|
/* 021FE8D0 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 021FE8D4 */ _t4 = cpu->r[6] + 0x00000000u;
|
|
/* 021FE8D4 */ rbrew_write32(cpu->mem, _t4, cpu->r[5]);
|
|
L_021FE8D8: ; // 0x21fe8d8
|
|
/* 021FE8D8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[6]);
|
|
/* 021FE8DC */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021FE8DC */ _t6 = _t5 & 0x00000001u;
|
|
/* 021FE8DC */ if (_t6) goto L_021FE8E0; else goto L_021FE8E8;
|
|
L_021FE8E0: ; // 0x21fe8e0
|
|
/* 021FE8E0 */ cpu->r[3] = 0x00000001u;
|
|
/* 021FE8E4 */ return;
|
|
L_021FE8E8: ; // 0x21fe8e8
|
|
/* 021FE8E8 */ cpu->r[10] = 0x101D0000u;
|
|
/* 021FE8EC */ _t7 = cpu->r[10] + 0xFFFFE620u;
|
|
/* 021FE8EC */ cpu->r[10] = rbrew_read32(cpu->mem, _t7);
|
|
/* 021FE8F0 */ cpu->r[8] = 0x101D0000u;
|
|
/* 021FE8F4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 021FE8F8 */ cpu->r[8] = cpu->r[8] + 0xFFFFFE88u;
|
|
/* 021FE8FC */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021FE8FC */ _t9 = _t8 & 0x00000001u;
|
|
/* 021FE8FC */ if (_t9) goto L_021FE900; else goto L_021FE918;
|
|
L_021FE900: ; // 0x21fe900
|
|
/* 021FE900 */ cpu->r[0] = 0x10040000u;
|
|
/* 021FE904 */ cpu->r[7] = 0x00000001u;
|
|
/* 021FE908 */ cpu->r[6] = 0x101D0000u;
|
|
/* 021FE90C */ cpu->r[0] = cpu->r[0] + 0xFFFFD540u;
|
|
/* 021FE910 */ _t10 = cpu->r[6] + 0xFFFFE620u;
|
|
/* 021FE910 */ rbrew_write32(cpu->mem, _t10, cpu->r[7]);
|
|
/* 021FE914 */ _t11 = cpu->r[8] + 0x00000000u;
|
|
/* 021FE914 */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
|
|
L_021FE918: ; // 0x21fe918
|
|
/* 021FE918 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[8]);
|
|
/* 021FE91C */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021FE91C */ _t13 = _t12 & 0x00000001u;
|
|
/* 021FE91C */ if (_t13) goto L_021FE920; else goto L_021FE928;
|
|
L_021FE920: ; // 0x21fe920
|
|
/* 021FE920 */ cpu->r[0] = 0x00000001u;
|
|
/* 021FE924 */ goto L_021FEA20;
|
|
L_021FE928: ; // 0x21fe928
|
|
/* 021FE928 */ cpu->r[12] = 0x101D0000u;
|
|
/* 021FE92C */ _t14 = cpu->r[12] + 0xFFFFDA00u;
|
|
/* 021FE92C */ cpu->r[12] = rbrew_read32(cpu->mem, _t14);
|
|
/* 021FE930 */ cpu->r[10] = 0x101D0000u;
|
|
/* 021FE934 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 021FE938 */ cpu->r[10] = cpu->r[10] + 0xFFFFFBFCu;
|
|
/* 021FE93C */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021FE93C */ _t16 = _t15 & 0x00000001u;
|
|
/* 021FE93C */ if (_t16) goto L_021FE940; else goto L_021FE958;
|
|
L_021FE940: ; // 0x21fe940
|
|
/* 021FE940 */ cpu->r[7] = 0x10040000u;
|
|
/* 021FE944 */ cpu->r[5] = 0x00000001u;
|
|
/* 021FE948 */ cpu->r[12] = 0x101D0000u;
|
|
/* 021FE94C */ cpu->r[7] = cpu->r[7] + 0xFFFFD530u;
|
|
/* 021FE950 */ _t17 = cpu->r[12] + 0xFFFFDA00u;
|
|
/* 021FE950 */ rbrew_write32(cpu->mem, _t17, cpu->r[5]);
|
|
/* 021FE954 */ _t18 = cpu->r[10] + 0x00000000u;
|
|
/* 021FE954 */ rbrew_write32(cpu->mem, _t18, cpu->r[7]);
|
|
L_021FE958: ; // 0x21fe958
|
|
/* 021FE958 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[10]);
|
|
/* 021FE95C */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021FE95C */ _t20 = _t19 & 0x00000001u;
|
|
/* 021FE95C */ if (_t20) goto L_021FE960; else goto L_021FE968;
|
|
L_021FE960: ; // 0x21fe960
|
|
/* 021FE960 */ cpu->r[0] = 0x00000001u;
|
|
/* 021FE964 */ goto L_021FEA20;
|
|
L_021FE968: ; // 0x21fe968
|
|
/* 021FE968 */ cpu->r[11] = 0x101D0000u;
|
|
/* 021FE96C */ _t21 = cpu->r[11] + 0xFFFFD9ECu;
|
|
/* 021FE96C */ cpu->r[11] = rbrew_read32(cpu->mem, _t21);
|
|
/* 021FE970 */ cpu->r[12] = 0x101D0000u;
|
|
/* 021FE974 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 021FE978 */ cpu->r[12] = cpu->r[12] + 0xFFFFFB4Cu;
|
|
/* 021FE97C */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021FE97C */ _t23 = _t22 & 0x00000001u;
|
|
/* 021FE97C */ if (_t23) goto L_021FE980; else goto L_021FE998;
|
|
L_021FE980: ; // 0x21fe980
|
|
/* 021FE980 */ cpu->r[10] = 0x10040000u;
|
|
/* 021FE984 */ cpu->r[9] = 0x00000001u;
|
|
/* 021FE988 */ cpu->r[8] = 0x101D0000u;
|
|
/* 021FE98C */ cpu->r[10] = cpu->r[10] + 0xFFFFD520u;
|
|
/* 021FE990 */ _t24 = cpu->r[8] + 0xFFFFD9ECu;
|
|
/* 021FE990 */ rbrew_write32(cpu->mem, _t24, cpu->r[9]);
|
|
/* 021FE994 */ _t25 = cpu->r[12] + 0x00000000u;
|
|
/* 021FE994 */ rbrew_write32(cpu->mem, _t25, cpu->r[10]);
|
|
L_021FE998: ; // 0x21fe998
|
|
/* 021FE998 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[12]);
|
|
/* 021FE99C */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021FE99C */ _t27 = _t26 & 0x00000001u;
|
|
/* 021FE99C */ if (_t27) goto L_021FE9A0; else goto L_021FE9A8;
|
|
L_021FE9A0: ; // 0x21fe9a0
|
|
/* 021FE9A0 */ cpu->r[0] = 0x00000001u;
|
|
/* 021FE9A4 */ goto L_021FEA1C;
|
|
L_021FE9A8: ; // 0x21fe9a8
|
|
/* 021FE9A8 */ cpu->r[10] = 0x101D0000u;
|
|
/* 021FE9AC */ _t28 = cpu->r[10] + 0xFFFFD4E8u;
|
|
/* 021FE9AC */ cpu->r[11] = rbrew_read32(cpu->mem, _t28);
|
|
/* 021FE9AC */ cpu->r[10] = _t28;
|
|
/* 021FE9B0 */ cpu->r[7] = 0x101D0000u;
|
|
/* 021FE9B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 021FE9B8 */ cpu->r[7] = cpu->r[7] + 0xFFFFD4ECu;
|
|
/* 021FE9BC */ _t29 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021FE9BC */ _t30 = _t29 & 0x00000001u;
|
|
/* 021FE9BC */ if (_t30) goto L_021FE9C0; else goto L_021FE9D4;
|
|
L_021FE9C0: ; // 0x21fe9c0
|
|
/* 021FE9C0 */ cpu->r[0] = 0x10040000u;
|
|
/* 021FE9C4 */ cpu->r[12] = 0x00000001u;
|
|
/* 021FE9C8 */ cpu->r[0] = cpu->r[0] + 0xFFFFD510u;
|
|
/* 021FE9CC */ _t31 = cpu->r[10] + 0x00000000u;
|
|
/* 021FE9CC */ rbrew_write32(cpu->mem, _t31, cpu->r[12]);
|
|
/* 021FE9D0 */ _t32 = cpu->r[7] + 0x00000000u;
|
|
/* 021FE9D0 */ rbrew_write32(cpu->mem, _t32, cpu->r[0]);
|
|
L_021FE9D4: ; // 0x21fe9d4
|
|
/* 021FE9D4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[7]);
|
|
/* 021FE9D8 */ _t33 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021FE9D8 */ _t34 = _t33 & 0x00000001u;
|
|
/* 021FE9D8 */ if (_t34) goto L_021FE9DC; else goto L_021FE9E4;
|
|
L_021FE9DC: ; // 0x21fe9dc
|
|
/* 021FE9DC */ cpu->r[0] = 0x00000001u;
|
|
/* 021FE9E0 */ goto L_021FEA1C;
|
|
L_021FE9E4: ; // 0x21fe9e4
|
|
/* 021FE9E4 */ cpu->r[8] = 0x101D0000u;
|
|
/* 021FE9E8 */ _t35 = cpu->r[8] + 0xFFFFD4E0u;
|
|
/* 021FE9E8 */ cpu->r[5] = rbrew_read32(cpu->mem, _t35);
|
|
/* 021FE9E8 */ cpu->r[8] = _t35;
|
|
/* 021FE9EC */ cpu->r[6] = 0x101D0000u;
|
|
/* 021FE9F0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u);
|
|
/* 021FE9F4 */ cpu->r[6] = cpu->r[6] + 0xFFFFD4E4u;
|
|
/* 021FE9F8 */ _t36 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021FE9F8 */ _t37 = _t36 & 0x00000001u;
|
|
/* 021FE9F8 */ if (_t37) goto L_021FE9FC; else goto L_021FEA10;
|
|
L_021FE9FC: ; // 0x21fe9fc
|
|
/* 021FE9FC */ cpu->r[9] = 0x10040000u;
|
|
/* 021FEA00 */ cpu->r[7] = 0x00000001u;
|
|
/* 021FEA04 */ cpu->r[9] = cpu->r[9] + 0xFFFFD500u;
|
|
/* 021FEA08 */ _t38 = cpu->r[8] + 0x00000000u;
|
|
/* 021FEA08 */ rbrew_write32(cpu->mem, _t38, cpu->r[7]);
|
|
/* 021FEA0C */ _t39 = cpu->r[6] + 0x00000000u;
|
|
/* 021FEA0C */ rbrew_write32(cpu->mem, _t39, cpu->r[9]);
|
|
L_021FEA10: ; // 0x21fea10
|
|
/* 021FEA10 */ cpu->r[0] = cpu->r[4] ^ cpu->r[6];
|
|
/* 021FEA14 */ cpu->r[5] = rbrew_clz32(cpu->r[0]);
|
|
/* 021FEA18 */ cpu->r[0] = rbrew_rlwinm(cpu->r[5], 0x0000001Bu, 0x00000018u, 0x0000001Fu);
|
|
L_021FEA1C: ; // 0x21fea1c
|
|
/* 021FEA1C */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
L_021FEA20: ; // 0x21fea20
|
|
/* 021FEA20 */ cpu->r[3] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 021FEA24 */ return;
|
|
}
|
|
|
|
// fn_021FEA28 @ 0x21fea28
|
|
void Gambit_fn_021FEA28(CPUState* cpu) {
|
|
L_021FEA28: ; // 0x21fea28
|
|
/* 021FEA28 */ cpu->r[3] = 0x10040000u;
|
|
/* 021FEA2C */ cpu->r[3] = cpu->r[3] + 0xFFFFD598u;
|
|
/* 021FEA30 */ return;
|
|
}
|
|
|
|
// fn_021FEA34 @ 0x21fea34
|
|
void Gambit_fn_021FEA34(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39;
|
|
|
|
L_021FEA34: ; // 0x21fea34
|
|
/* 021FEA34 */ cpu->r[8] = 0x101D0000u;
|
|
/* 021FEA38 */ _t0 = cpu->r[8] + 0xFFFFFDA0u;
|
|
/* 021FEA38 */ cpu->r[8] = rbrew_read32(cpu->mem, _t0);
|
|
/* 021FEA3C */ cpu->r[6] = 0x101D0000u;
|
|
/* 021FEA40 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 021FEA44 */ cpu->r[6] = cpu->r[6] + 0xFFFFFE90u;
|
|
/* 021FEA48 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021FEA48 */ _t2 = _t1 & 0x00000001u;
|
|
/* 021FEA48 */ if (_t2) goto L_021FEA4C; else goto L_021FEA64;
|
|
L_021FEA4C: ; // 0x21fea4c
|
|
/* 021FEA4C */ cpu->r[5] = 0x10040000u;
|
|
/* 021FEA50 */ cpu->r[0] = 0x00000001u;
|
|
/* 021FEA54 */ cpu->r[8] = 0x101D0000u;
|
|
/* 021FEA58 */ cpu->r[5] = cpu->r[5] + 0xFFFFD550u;
|
|
/* 021FEA5C */ _t3 = cpu->r[8] + 0xFFFFFDA0u;
|
|
/* 021FEA5C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 021FEA60 */ _t4 = cpu->r[6] + 0x00000000u;
|
|
/* 021FEA60 */ rbrew_write32(cpu->mem, _t4, cpu->r[5]);
|
|
L_021FEA64: ; // 0x21fea64
|
|
/* 021FEA64 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[6]);
|
|
/* 021FEA68 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021FEA68 */ _t6 = _t5 & 0x00000001u;
|
|
/* 021FEA68 */ if (_t6) goto L_021FEA6C; else goto L_021FEA74;
|
|
L_021FEA6C: ; // 0x21fea6c
|
|
/* 021FEA6C */ cpu->r[3] = 0x00000001u;
|
|
/* 021FEA70 */ return;
|
|
L_021FEA74: ; // 0x21fea74
|
|
/* 021FEA74 */ cpu->r[10] = 0x101D0000u;
|
|
/* 021FEA78 */ _t7 = cpu->r[10] + 0xFFFFE620u;
|
|
/* 021FEA78 */ cpu->r[10] = rbrew_read32(cpu->mem, _t7);
|
|
/* 021FEA7C */ cpu->r[8] = 0x101D0000u;
|
|
/* 021FEA80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 021FEA84 */ cpu->r[8] = cpu->r[8] + 0xFFFFFE88u;
|
|
/* 021FEA88 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021FEA88 */ _t9 = _t8 & 0x00000001u;
|
|
/* 021FEA88 */ if (_t9) goto L_021FEA8C; else goto L_021FEAA4;
|
|
L_021FEA8C: ; // 0x21fea8c
|
|
/* 021FEA8C */ cpu->r[0] = 0x10040000u;
|
|
/* 021FEA90 */ cpu->r[7] = 0x00000001u;
|
|
/* 021FEA94 */ cpu->r[6] = 0x101D0000u;
|
|
/* 021FEA98 */ cpu->r[0] = cpu->r[0] + 0xFFFFD540u;
|
|
/* 021FEA9C */ _t10 = cpu->r[6] + 0xFFFFE620u;
|
|
/* 021FEA9C */ rbrew_write32(cpu->mem, _t10, cpu->r[7]);
|
|
/* 021FEAA0 */ _t11 = cpu->r[8] + 0x00000000u;
|
|
/* 021FEAA0 */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
|
|
L_021FEAA4: ; // 0x21feaa4
|
|
/* 021FEAA4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[8]);
|
|
/* 021FEAA8 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021FEAA8 */ _t13 = _t12 & 0x00000001u;
|
|
/* 021FEAA8 */ if (_t13) goto L_021FEAAC; else goto L_021FEAB4;
|
|
L_021FEAAC: ; // 0x21feaac
|
|
/* 021FEAAC */ cpu->r[0] = 0x00000001u;
|
|
/* 021FEAB0 */ goto L_021FEBAC;
|
|
L_021FEAB4: ; // 0x21feab4
|
|
/* 021FEAB4 */ cpu->r[12] = 0x101D0000u;
|
|
/* 021FEAB8 */ _t14 = cpu->r[12] + 0xFFFFDA00u;
|
|
/* 021FEAB8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t14);
|
|
/* 021FEABC */ cpu->r[10] = 0x101D0000u;
|
|
/* 021FEAC0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 021FEAC4 */ cpu->r[10] = cpu->r[10] + 0xFFFFFBFCu;
|
|
/* 021FEAC8 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021FEAC8 */ _t16 = _t15 & 0x00000001u;
|
|
/* 021FEAC8 */ if (_t16) goto L_021FEACC; else goto L_021FEAE4;
|
|
L_021FEACC: ; // 0x21feacc
|
|
/* 021FEACC */ cpu->r[7] = 0x10040000u;
|
|
/* 021FEAD0 */ cpu->r[5] = 0x00000001u;
|
|
/* 021FEAD4 */ cpu->r[12] = 0x101D0000u;
|
|
/* 021FEAD8 */ cpu->r[7] = cpu->r[7] + 0xFFFFD530u;
|
|
/* 021FEADC */ _t17 = cpu->r[12] + 0xFFFFDA00u;
|
|
/* 021FEADC */ rbrew_write32(cpu->mem, _t17, cpu->r[5]);
|
|
/* 021FEAE0 */ _t18 = cpu->r[10] + 0x00000000u;
|
|
/* 021FEAE0 */ rbrew_write32(cpu->mem, _t18, cpu->r[7]);
|
|
L_021FEAE4: ; // 0x21feae4
|
|
/* 021FEAE4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[10]);
|
|
/* 021FEAE8 */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021FEAE8 */ _t20 = _t19 & 0x00000001u;
|
|
/* 021FEAE8 */ if (_t20) goto L_021FEAEC; else goto L_021FEAF4;
|
|
L_021FEAEC: ; // 0x21feaec
|
|
/* 021FEAEC */ cpu->r[0] = 0x00000001u;
|
|
/* 021FEAF0 */ goto L_021FEBAC;
|
|
L_021FEAF4: ; // 0x21feaf4
|
|
/* 021FEAF4 */ cpu->r[11] = 0x101D0000u;
|
|
/* 021FEAF8 */ _t21 = cpu->r[11] + 0xFFFFD9ECu;
|
|
/* 021FEAF8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t21);
|
|
/* 021FEAFC */ cpu->r[12] = 0x101D0000u;
|
|
/* 021FEB00 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 021FEB04 */ cpu->r[12] = cpu->r[12] + 0xFFFFFB4Cu;
|
|
/* 021FEB08 */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021FEB08 */ _t23 = _t22 & 0x00000001u;
|
|
/* 021FEB08 */ if (_t23) goto L_021FEB0C; else goto L_021FEB24;
|
|
L_021FEB0C: ; // 0x21feb0c
|
|
/* 021FEB0C */ cpu->r[10] = 0x10040000u;
|
|
/* 021FEB10 */ cpu->r[9] = 0x00000001u;
|
|
/* 021FEB14 */ cpu->r[8] = 0x101D0000u;
|
|
/* 021FEB18 */ cpu->r[10] = cpu->r[10] + 0xFFFFD520u;
|
|
/* 021FEB1C */ _t24 = cpu->r[8] + 0xFFFFD9ECu;
|
|
/* 021FEB1C */ rbrew_write32(cpu->mem, _t24, cpu->r[9]);
|
|
/* 021FEB20 */ _t25 = cpu->r[12] + 0x00000000u;
|
|
/* 021FEB20 */ rbrew_write32(cpu->mem, _t25, cpu->r[10]);
|
|
L_021FEB24: ; // 0x21feb24
|
|
/* 021FEB24 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[12]);
|
|
/* 021FEB28 */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021FEB28 */ _t27 = _t26 & 0x00000001u;
|
|
/* 021FEB28 */ if (_t27) goto L_021FEB2C; else goto L_021FEB34;
|
|
L_021FEB2C: ; // 0x21feb2c
|
|
/* 021FEB2C */ cpu->r[0] = 0x00000001u;
|
|
/* 021FEB30 */ goto L_021FEBA8;
|
|
L_021FEB34: ; // 0x21feb34
|
|
/* 021FEB34 */ cpu->r[10] = 0x101D0000u;
|
|
/* 021FEB38 */ _t28 = cpu->r[10] + 0xFFFFD4E8u;
|
|
/* 021FEB38 */ cpu->r[11] = rbrew_read32(cpu->mem, _t28);
|
|
/* 021FEB38 */ cpu->r[10] = _t28;
|
|
/* 021FEB3C */ cpu->r[7] = 0x101D0000u;
|
|
/* 021FEB40 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 021FEB44 */ cpu->r[7] = cpu->r[7] + 0xFFFFD4ECu;
|
|
/* 021FEB48 */ _t29 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021FEB48 */ _t30 = _t29 & 0x00000001u;
|
|
/* 021FEB48 */ if (_t30) goto L_021FEB4C; else goto L_021FEB60;
|
|
L_021FEB4C: ; // 0x21feb4c
|
|
/* 021FEB4C */ cpu->r[0] = 0x10040000u;
|
|
/* 021FEB50 */ cpu->r[12] = 0x00000001u;
|
|
/* 021FEB54 */ cpu->r[0] = cpu->r[0] + 0xFFFFD510u;
|
|
/* 021FEB58 */ _t31 = cpu->r[10] + 0x00000000u;
|
|
/* 021FEB58 */ rbrew_write32(cpu->mem, _t31, cpu->r[12]);
|
|
/* 021FEB5C */ _t32 = cpu->r[7] + 0x00000000u;
|
|
/* 021FEB5C */ rbrew_write32(cpu->mem, _t32, cpu->r[0]);
|
|
L_021FEB60: ; // 0x21feb60
|
|
/* 021FEB60 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[7]);
|
|
/* 021FEB64 */ _t33 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021FEB64 */ _t34 = _t33 & 0x00000001u;
|
|
/* 021FEB64 */ if (_t34) goto L_021FEB68; else goto L_021FEB70;
|
|
L_021FEB68: ; // 0x21feb68
|
|
/* 021FEB68 */ cpu->r[0] = 0x00000001u;
|
|
/* 021FEB6C */ goto L_021FEBA8;
|
|
L_021FEB70: ; // 0x21feb70
|
|
/* 021FEB70 */ cpu->r[8] = 0x101D0000u;
|
|
/* 021FEB74 */ _t35 = cpu->r[8] + 0xFFFFD4E0u;
|
|
/* 021FEB74 */ cpu->r[5] = rbrew_read32(cpu->mem, _t35);
|
|
/* 021FEB74 */ cpu->r[8] = _t35;
|
|
/* 021FEB78 */ cpu->r[6] = 0x101D0000u;
|
|
/* 021FEB7C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u);
|
|
/* 021FEB80 */ cpu->r[6] = cpu->r[6] + 0xFFFFD4E4u;
|
|
/* 021FEB84 */ _t36 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021FEB84 */ _t37 = _t36 & 0x00000001u;
|
|
/* 021FEB84 */ if (_t37) goto L_021FEB88; else goto L_021FEB9C;
|
|
L_021FEB88: ; // 0x21feb88
|
|
/* 021FEB88 */ cpu->r[9] = 0x10040000u;
|
|
/* 021FEB8C */ cpu->r[7] = 0x00000001u;
|
|
/* 021FEB90 */ cpu->r[9] = cpu->r[9] + 0xFFFFD500u;
|
|
/* 021FEB94 */ _t38 = cpu->r[8] + 0x00000000u;
|
|
/* 021FEB94 */ rbrew_write32(cpu->mem, _t38, cpu->r[7]);
|
|
/* 021FEB98 */ _t39 = cpu->r[6] + 0x00000000u;
|
|
/* 021FEB98 */ rbrew_write32(cpu->mem, _t39, cpu->r[9]);
|
|
L_021FEB9C: ; // 0x21feb9c
|
|
/* 021FEB9C */ cpu->r[0] = cpu->r[4] ^ cpu->r[6];
|
|
/* 021FEBA0 */ cpu->r[5] = rbrew_clz32(cpu->r[0]);
|
|
/* 021FEBA4 */ cpu->r[0] = rbrew_rlwinm(cpu->r[5], 0x0000001Bu, 0x00000018u, 0x0000001Fu);
|
|
L_021FEBA8: ; // 0x21feba8
|
|
/* 021FEBA8 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
L_021FEBAC: ; // 0x21febac
|
|
/* 021FEBAC */ cpu->r[3] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 021FEBB0 */ return;
|
|
}
|
|
|
|
// fn_021FEBB4 @ 0x21febb4
|
|
void Gambit_fn_021FEBB4(CPUState* cpu) {
|
|
L_021FEBB4: ; // 0x21febb4
|
|
/* 021FEBB4 */ cpu->r[3] = 0x10040000u;
|
|
/* 021FEBB8 */ cpu->r[3] = cpu->r[3] + 0xFFFFD560u;
|
|
/* 021FEBBC */ return;
|
|
}
|
|
|
|
// fn_021FEBC0 @ 0x21febc0
|
|
void Gambit_fn_021FEBC0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39;
|
|
|
|
L_021FEBC0: ; // 0x21febc0
|
|
/* 021FEBC0 */ cpu->r[8] = 0x101D0000u;
|
|
/* 021FEBC4 */ _t0 = cpu->r[8] + 0xFFFFFDA4u;
|
|
/* 021FEBC4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t0);
|
|
/* 021FEBC8 */ cpu->r[6] = 0x101D0000u;
|
|
/* 021FEBCC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 021FEBD0 */ cpu->r[6] = cpu->r[6] + 0xFFFFFE94u;
|
|
/* 021FEBD4 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021FEBD4 */ _t2 = _t1 & 0x00000001u;
|
|
/* 021FEBD4 */ if (_t2) goto L_021FEBD8; else goto L_021FEBF0;
|
|
L_021FEBD8: ; // 0x21febd8
|
|
/* 021FEBD8 */ cpu->r[5] = 0x10040000u;
|
|
/* 021FEBDC */ cpu->r[0] = 0x00000001u;
|
|
/* 021FEBE0 */ cpu->r[8] = 0x101D0000u;
|
|
/* 021FEBE4 */ cpu->r[5] = cpu->r[5] + 0xFFFFD550u;
|
|
/* 021FEBE8 */ _t3 = cpu->r[8] + 0xFFFFFDA4u;
|
|
/* 021FEBE8 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 021FEBEC */ _t4 = cpu->r[6] + 0x00000000u;
|
|
/* 021FEBEC */ rbrew_write32(cpu->mem, _t4, cpu->r[5]);
|
|
L_021FEBF0: ; // 0x21febf0
|
|
/* 021FEBF0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[6]);
|
|
/* 021FEBF4 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021FEBF4 */ _t6 = _t5 & 0x00000001u;
|
|
/* 021FEBF4 */ if (_t6) goto L_021FEBF8; else goto L_021FEC00;
|
|
L_021FEBF8: ; // 0x21febf8
|
|
/* 021FEBF8 */ cpu->r[3] = 0x00000001u;
|
|
/* 021FEBFC */ return;
|
|
L_021FEC00: ; // 0x21fec00
|
|
/* 021FEC00 */ cpu->r[10] = 0x101D0000u;
|
|
/* 021FEC04 */ _t7 = cpu->r[10] + 0xFFFFE620u;
|
|
/* 021FEC04 */ cpu->r[10] = rbrew_read32(cpu->mem, _t7);
|
|
/* 021FEC08 */ cpu->r[8] = 0x101D0000u;
|
|
/* 021FEC0C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 021FEC10 */ cpu->r[8] = cpu->r[8] + 0xFFFFFE88u;
|
|
/* 021FEC14 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021FEC14 */ _t9 = _t8 & 0x00000001u;
|
|
/* 021FEC14 */ if (_t9) goto L_021FEC18; else goto L_021FEC30;
|
|
L_021FEC18: ; // 0x21fec18
|
|
/* 021FEC18 */ cpu->r[0] = 0x10040000u;
|
|
/* 021FEC1C */ cpu->r[7] = 0x00000001u;
|
|
/* 021FEC20 */ cpu->r[6] = 0x101D0000u;
|
|
/* 021FEC24 */ cpu->r[0] = cpu->r[0] + 0xFFFFD540u;
|
|
/* 021FEC28 */ _t10 = cpu->r[6] + 0xFFFFE620u;
|
|
/* 021FEC28 */ rbrew_write32(cpu->mem, _t10, cpu->r[7]);
|
|
/* 021FEC2C */ _t11 = cpu->r[8] + 0x00000000u;
|
|
/* 021FEC2C */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
|
|
L_021FEC30: ; // 0x21fec30
|
|
/* 021FEC30 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[8]);
|
|
/* 021FEC34 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021FEC34 */ _t13 = _t12 & 0x00000001u;
|
|
/* 021FEC34 */ if (_t13) goto L_021FEC38; else goto L_021FEC40;
|
|
L_021FEC38: ; // 0x21fec38
|
|
/* 021FEC38 */ cpu->r[0] = 0x00000001u;
|
|
/* 021FEC3C */ goto L_021FED38;
|
|
L_021FEC40: ; // 0x21fec40
|
|
/* 021FEC40 */ cpu->r[12] = 0x101D0000u;
|
|
/* 021FEC44 */ _t14 = cpu->r[12] + 0xFFFFDA00u;
|
|
/* 021FEC44 */ cpu->r[12] = rbrew_read32(cpu->mem, _t14);
|
|
/* 021FEC48 */ cpu->r[10] = 0x101D0000u;
|
|
/* 021FEC4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 021FEC50 */ cpu->r[10] = cpu->r[10] + 0xFFFFFBFCu;
|
|
/* 021FEC54 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021FEC54 */ _t16 = _t15 & 0x00000001u;
|
|
/* 021FEC54 */ if (_t16) goto L_021FEC58; else goto L_021FEC70;
|
|
L_021FEC58: ; // 0x21fec58
|
|
/* 021FEC58 */ cpu->r[7] = 0x10040000u;
|
|
/* 021FEC5C */ cpu->r[5] = 0x00000001u;
|
|
/* 021FEC60 */ cpu->r[12] = 0x101D0000u;
|
|
/* 021FEC64 */ cpu->r[7] = cpu->r[7] + 0xFFFFD530u;
|
|
/* 021FEC68 */ _t17 = cpu->r[12] + 0xFFFFDA00u;
|
|
/* 021FEC68 */ rbrew_write32(cpu->mem, _t17, cpu->r[5]);
|
|
/* 021FEC6C */ _t18 = cpu->r[10] + 0x00000000u;
|
|
/* 021FEC6C */ rbrew_write32(cpu->mem, _t18, cpu->r[7]);
|
|
L_021FEC70: ; // 0x21fec70
|
|
/* 021FEC70 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[10]);
|
|
/* 021FEC74 */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021FEC74 */ _t20 = _t19 & 0x00000001u;
|
|
/* 021FEC74 */ if (_t20) goto L_021FEC78; else goto L_021FEC80;
|
|
L_021FEC78: ; // 0x21fec78
|
|
/* 021FEC78 */ cpu->r[0] = 0x00000001u;
|
|
/* 021FEC7C */ goto L_021FED38;
|
|
L_021FEC80: ; // 0x21fec80
|
|
/* 021FEC80 */ cpu->r[11] = 0x101D0000u;
|
|
/* 021FEC84 */ _t21 = cpu->r[11] + 0xFFFFD9ECu;
|
|
/* 021FEC84 */ cpu->r[11] = rbrew_read32(cpu->mem, _t21);
|
|
/* 021FEC88 */ cpu->r[12] = 0x101D0000u;
|
|
/* 021FEC8C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 021FEC90 */ cpu->r[12] = cpu->r[12] + 0xFFFFFB4Cu;
|
|
/* 021FEC94 */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021FEC94 */ _t23 = _t22 & 0x00000001u;
|
|
/* 021FEC94 */ if (_t23) goto L_021FEC98; else goto L_021FECB0;
|
|
L_021FEC98: ; // 0x21fec98
|
|
/* 021FEC98 */ cpu->r[10] = 0x10040000u;
|
|
/* 021FEC9C */ cpu->r[9] = 0x00000001u;
|
|
/* 021FECA0 */ cpu->r[8] = 0x101D0000u;
|
|
/* 021FECA4 */ cpu->r[10] = cpu->r[10] + 0xFFFFD520u;
|
|
/* 021FECA8 */ _t24 = cpu->r[8] + 0xFFFFD9ECu;
|
|
/* 021FECA8 */ rbrew_write32(cpu->mem, _t24, cpu->r[9]);
|
|
/* 021FECAC */ _t25 = cpu->r[12] + 0x00000000u;
|
|
/* 021FECAC */ rbrew_write32(cpu->mem, _t25, cpu->r[10]);
|
|
L_021FECB0: ; // 0x21fecb0
|
|
/* 021FECB0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[12]);
|
|
/* 021FECB4 */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021FECB4 */ _t27 = _t26 & 0x00000001u;
|
|
/* 021FECB4 */ if (_t27) goto L_021FECB8; else goto L_021FECC0;
|
|
L_021FECB8: ; // 0x21fecb8
|
|
/* 021FECB8 */ cpu->r[0] = 0x00000001u;
|
|
/* 021FECBC */ goto L_021FED34;
|
|
L_021FECC0: ; // 0x21fecc0
|
|
/* 021FECC0 */ cpu->r[10] = 0x101D0000u;
|
|
/* 021FECC4 */ _t28 = cpu->r[10] + 0xFFFFD4E8u;
|
|
/* 021FECC4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t28);
|
|
/* 021FECC4 */ cpu->r[10] = _t28;
|
|
/* 021FECC8 */ cpu->r[7] = 0x101D0000u;
|
|
/* 021FECCC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 021FECD0 */ cpu->r[7] = cpu->r[7] + 0xFFFFD4ECu;
|
|
/* 021FECD4 */ _t29 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021FECD4 */ _t30 = _t29 & 0x00000001u;
|
|
/* 021FECD4 */ if (_t30) goto L_021FECD8; else goto L_021FECEC;
|
|
L_021FECD8: ; // 0x21fecd8
|
|
/* 021FECD8 */ cpu->r[0] = 0x10040000u;
|
|
/* 021FECDC */ cpu->r[12] = 0x00000001u;
|
|
/* 021FECE0 */ cpu->r[0] = cpu->r[0] + 0xFFFFD510u;
|
|
/* 021FECE4 */ _t31 = cpu->r[10] + 0x00000000u;
|
|
/* 021FECE4 */ rbrew_write32(cpu->mem, _t31, cpu->r[12]);
|
|
/* 021FECE8 */ _t32 = cpu->r[7] + 0x00000000u;
|
|
/* 021FECE8 */ rbrew_write32(cpu->mem, _t32, cpu->r[0]);
|
|
L_021FECEC: ; // 0x21fecec
|
|
/* 021FECEC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[7]);
|
|
/* 021FECF0 */ _t33 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021FECF0 */ _t34 = _t33 & 0x00000001u;
|
|
/* 021FECF0 */ if (_t34) goto L_021FECF4; else goto L_021FECFC;
|
|
L_021FECF4: ; // 0x21fecf4
|
|
/* 021FECF4 */ cpu->r[0] = 0x00000001u;
|
|
/* 021FECF8 */ goto L_021FED34;
|
|
L_021FECFC: ; // 0x21fecfc
|
|
/* 021FECFC */ cpu->r[8] = 0x101D0000u;
|
|
/* 021FED00 */ _t35 = cpu->r[8] + 0xFFFFD4E0u;
|
|
/* 021FED00 */ cpu->r[5] = rbrew_read32(cpu->mem, _t35);
|
|
/* 021FED00 */ cpu->r[8] = _t35;
|
|
/* 021FED04 */ cpu->r[6] = 0x101D0000u;
|
|
/* 021FED08 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u);
|
|
/* 021FED0C */ cpu->r[6] = cpu->r[6] + 0xFFFFD4E4u;
|
|
/* 021FED10 */ _t36 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021FED10 */ _t37 = _t36 & 0x00000001u;
|
|
/* 021FED10 */ if (_t37) goto L_021FED14; else goto L_021FED28;
|
|
L_021FED14: ; // 0x21fed14
|
|
/* 021FED14 */ cpu->r[9] = 0x10040000u;
|
|
/* 021FED18 */ cpu->r[7] = 0x00000001u;
|
|
/* 021FED1C */ cpu->r[9] = cpu->r[9] + 0xFFFFD500u;
|
|
/* 021FED20 */ _t38 = cpu->r[8] + 0x00000000u;
|
|
/* 021FED20 */ rbrew_write32(cpu->mem, _t38, cpu->r[7]);
|
|
/* 021FED24 */ _t39 = cpu->r[6] + 0x00000000u;
|
|
/* 021FED24 */ rbrew_write32(cpu->mem, _t39, cpu->r[9]);
|
|
L_021FED28: ; // 0x21fed28
|
|
/* 021FED28 */ cpu->r[0] = cpu->r[4] ^ cpu->r[6];
|
|
/* 021FED2C */ cpu->r[5] = rbrew_clz32(cpu->r[0]);
|
|
/* 021FED30 */ cpu->r[0] = rbrew_rlwinm(cpu->r[5], 0x0000001Bu, 0x00000018u, 0x0000001Fu);
|
|
L_021FED34: ; // 0x21fed34
|
|
/* 021FED34 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
L_021FED38: ; // 0x21fed38
|
|
/* 021FED38 */ cpu->r[3] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 021FED3C */ return;
|
|
}
|
|
|
|
// fn_021FED40 @ 0x21fed40
|
|
void Gambit_fn_021FED40(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69, _t70, _t71, _t72, _t73, _t74, _t75, _t76, _t77, _t78, _t79, _t80, _t81, _t82, _t83, _t84, _t85, _t86, _t87, _t88, _t89, _t90, _t91, _t92, _t93, _t94, _t95, _t96, _t97, _t98, _t99, _t100, _t101, _t102, _t103, _t104, _t105, _t106, _t107, _t108, _t109, _t110, _t111, _t112, _t113, _t114, _t115, _t116, _t117, _t118, _t119, _t120, _t121, _t122, _t123, _t124, _t125, _t126, _t127, _t128, _t129, _t130, _t131, _t132, _t133, _t134, _t135, _t136, _t137, _t138, _t139, _t140, _t141, _t142, _t143, _t144, _t145;
|
|
|
|
L_021FED40: ; // 0x21fed40
|
|
/* 021FED40 */ _t0 = cpu->r[1] + 0xFFFFFFA0u;
|
|
/* 021FED40 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 021FED40 */ cpu->r[1] = _t0;
|
|
/* 021FED44 */ _t1 = cpu->r[1] + 0x00000050u;
|
|
/* 021FED44 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[31]);
|
|
/* 021FED48 */ /* nop */
|
|
/* 021FED4C */ cpu->r[0] = cpu->lr;
|
|
/* 021FED50 */ /* nop */
|
|
/* 021FED54 */ _t2 = cpu->r[1] + 0x00000058u;
|
|
/* 021FED54 */ rbrew_write_f32(cpu->mem, _t2, cpu->f[31]);
|
|
/* 021FED58 */ cpu->r[31] = cpu->r[3];
|
|
/* 021FED58 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 021FED5C */ _t3 = cpu->r[1] + 0x00000064u;
|
|
/* 021FED5C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 021FED60 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021FED60 */ _t5 = _t4 & 0x00000001u;
|
|
/* 021FED60 */ if (_t5) goto L_021FED64; else goto L_021FED74;
|
|
L_021FED64: ; // 0x21fed64
|
|
/* 021FED64 */ cpu->r[3] = 0x000001E8u;
|
|
/* 021FED68 */ Gambit_fn_02801A78(cpu);
|
|
/* 021FED6C */ cpu->r[31] = cpu->r[3];
|
|
/* 021FED6C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 021FED70 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021FED70 */ _t7 = _t6 & 0x00000001u;
|
|
/* 021FED70 */ if (_t7) goto L_021FF18C; else goto L_021FED74;
|
|
L_021FED74: ; // 0x21fed74
|
|
/* 021FED74 */ cpu->r[3] = cpu->r[31];
|
|
/* 021FED78 */ Gambit_fn_02228894(cpu);
|
|
/* 021FED7C */ cpu->r[9] = 0x10040000u;
|
|
/* 021FED80 */ cpu->r[8] = 0x10040000u;
|
|
/* 021FED84 */ cpu->r[9] = cpu->r[9] + 0xFFFFE5F4u;
|
|
/* 021FED88 */ _t8 = cpu->r[8] + 0xFFFFE510u;
|
|
/* 021FED88 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t8);
|
|
/* 021FED8C */ _t9 = cpu->r[31] + 0x00000004u;
|
|
/* 021FED8C */ rbrew_write32(cpu->mem, _t9, cpu->r[9]);
|
|
/* 021FED90 */ _t10 = cpu->r[31] + 0x0000012Cu;
|
|
/* 021FED90 */ rbrew_write_f32(cpu->mem, _t10, cpu->f[31]);
|
|
/* 021FED94 */ cpu->r[30] = cpu->r[31] + 0x00000134u;
|
|
/* 021FED94 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 021FED98 */ _t11 = cpu->r[31] + 0x00000128u;
|
|
/* 021FED98 */ rbrew_write_f32(cpu->mem, _t11, cpu->f[31]);
|
|
/* 021FED9C */ cpu->r[27] = 0x00000000u;
|
|
/* 021FEDA0 */ _t12 = cpu->r[31] + 0x00000130u;
|
|
/* 021FEDA0 */ rbrew_write_f32(cpu->mem, _t12, cpu->f[31]);
|
|
/* 021FEDA4 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021FEDA4 */ _t14 = _t13 & 0x00000001u;
|
|
/* 021FEDA4 */ if (_t14) goto L_021FEDA8; else goto L_021FEDB8;
|
|
L_021FEDA8: ; // 0x21feda8
|
|
/* 021FEDA8 */ cpu->r[3] = 0x00000038u;
|
|
/* 021FEDAC */ Gambit_fn_02801A78(cpu);
|
|
/* 021FEDB0 */ cpu->r[30] = cpu->r[3];
|
|
/* 021FEDB0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 021FEDB4 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021FEDB4 */ _t16 = _t15 & 0x00000001u;
|
|
/* 021FEDB4 */ if (_t16) goto L_021FEDE8; else goto L_021FEDB8;
|
|
L_021FEDB8: ; // 0x21fedb8
|
|
/* 021FEDB8 */ cpu->r[3] = cpu->r[30];
|
|
/* 021FEDBC */ Gambit_fn_027FC29C(cpu);
|
|
/* 021FEDC0 */ cpu->r[10] = 0x10040000u;
|
|
/* 021FEDC4 */ _t17 = cpu->r[30] + 0x00000030u;
|
|
/* 021FEDC4 */ rbrew_write32(cpu->mem, _t17, cpu->r[27]);
|
|
/* 021FEDC8 */ cpu->r[10] = cpu->r[10] + 0xFFFFE5C4u;
|
|
/* 021FEDCC */ _t18 = cpu->r[30] + 0x00000034u;
|
|
/* 021FEDCC */ rbrew_write32(cpu->mem, _t18, cpu->r[27]);
|
|
/* 021FEDD0 */ _t19 = cpu->r[30] + 0x00000004u;
|
|
/* 021FEDD0 */ rbrew_write32(cpu->mem, _t19, cpu->r[10]);
|
|
/* 021FEDD4 */ _t20 = cpu->r[30] + 0x00000024u;
|
|
/* 021FEDD4 */ rbrew_write32(cpu->mem, _t20, cpu->r[27]);
|
|
/* 021FEDD8 */ _t21 = cpu->r[30] + 0x00000028u;
|
|
/* 021FEDD8 */ rbrew_write32(cpu->mem, _t21, cpu->r[27]);
|
|
/* 021FEDDC */ _t22 = cpu->r[30] + 0x0000002Cu;
|
|
/* 021FEDDC */ rbrew_write32(cpu->mem, _t22, cpu->r[27]);
|
|
/* 021FEDE0 */ _t23 = cpu->r[30] + 0x0000001Cu;
|
|
/* 021FEDE0 */ rbrew_write32(cpu->mem, _t23, cpu->r[27]);
|
|
/* 021FEDE4 */ _t24 = cpu->r[30] + 0x00000020u;
|
|
/* 021FEDE4 */ rbrew_write32(cpu->mem, _t24, cpu->r[27]);
|
|
L_021FEDE8: ; // 0x21fede8
|
|
/* 021FEDE8 */ cpu->r[11] = cpu->r[31] + 0x00000170u;
|
|
/* 021FEDE8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 021FEDEC */ _t25 = cpu->r[31] + 0x0000016Cu;
|
|
/* 021FEDEC */ rbrew_write_f32(cpu->mem, _t25, cpu->f[31]);
|
|
/* 021FEDF0 */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021FEDF0 */ _t27 = _t26 & 0x00000001u;
|
|
/* 021FEDF0 */ if (_t27) goto L_021FEDF4; else goto L_021FEDFC;
|
|
L_021FEDF4: ; // 0x21fedf4
|
|
/* 021FEDF4 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 021FEDF8 */ Gambit_fn_02801A78(cpu);
|
|
L_021FEDFC: ; // 0x21fedfc
|
|
/* 021FEDFC */ cpu->r[12] = cpu->r[31] + 0x0000017Cu;
|
|
/* 021FEDFC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 021FEE00 */ _t28 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021FEE00 */ _t29 = _t28 & 0x00000001u;
|
|
/* 021FEE00 */ if (_t29) goto L_021FEE04; else goto L_021FEE0C;
|
|
L_021FEE04: ; // 0x21fee04
|
|
/* 021FEE04 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 021FEE08 */ Gambit_fn_02801A78(cpu);
|
|
L_021FEE0C: ; // 0x21fee0c
|
|
/* 021FEE0C */ cpu->r[0] = cpu->r[31] + 0x00000188u;
|
|
/* 021FEE0C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 021FEE10 */ _t30 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021FEE10 */ _t31 = _t30 & 0x00000001u;
|
|
/* 021FEE10 */ if (_t31) goto L_021FEE14; else goto L_021FEE1C;
|
|
L_021FEE14: ; // 0x21fee14
|
|
/* 021FEE14 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 021FEE18 */ Gambit_fn_02801A78(cpu);
|
|
L_021FEE1C: ; // 0x21fee1c
|
|
/* 021FEE1C */ _t32 = cpu->r[31] + 0x00000198u;
|
|
/* 021FEE1C */ rbrew_write16(cpu->mem, _t32, (uint16_t)cpu->r[27]);
|
|
/* 021FEE20 */ _t33 = cpu->r[31] + 0x00000198u;
|
|
/* 021FEE20 */ cpu->r[5] = rbrew_read32(cpu->mem, _t33);
|
|
/* 021FEE24 */ cpu->r[6] = 0x0000033Fu;
|
|
/* 021FEE28 */ cpu->r[7] = 0x10040000u;
|
|
/* 021FEE2C */ _t34 = rbrew_rlwinm(cpu->r[6], 0x00000000u, 0x00000012u, 0x0000001Fu);
|
|
/* 021FEE2C */ _t35 = cpu->r[5] & 0xFFFFC000u;
|
|
/* 021FEE2C */ cpu->r[5] = _t35 | _t34;
|
|
/* 021FEE30 */ _t36 = cpu->r[7] + 0xFFFFE528u;
|
|
/* 021FEE30 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t36);
|
|
/* 021FEE34 */ _t37 = cpu->r[31] + 0x00000198u;
|
|
/* 021FEE34 */ rbrew_write32(cpu->mem, _t37, cpu->r[5]);
|
|
/* 021FEE38 */ cpu->r[7] = cpu->r[31] + 0x000001ACu;
|
|
/* 021FEE38 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 021FEE3C */ _t38 = cpu->r[31] + 0x00000194u;
|
|
/* 021FEE3C */ rbrew_write_f32(cpu->mem, _t38, cpu->f[0]);
|
|
/* 021FEE40 */ _t39 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021FEE40 */ _t40 = _t39 & 0x00000001u;
|
|
/* 021FEE40 */ if (_t40) goto L_021FEE44; else goto L_021FEE4C;
|
|
L_021FEE44: ; // 0x21fee44
|
|
/* 021FEE44 */ cpu->r[3] = 0x00000030u;
|
|
/* 021FEE48 */ Gambit_fn_02801A78(cpu);
|
|
L_021FEE4C: ; // 0x21fee4c
|
|
/* 021FEE4C */ cpu->r[0] = cpu->r[31] + 0x000001DCu;
|
|
/* 021FEE4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 021FEE50 */ _t41 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021FEE50 */ _t42 = _t41 & 0x00000001u;
|
|
/* 021FEE50 */ if (_t42) goto L_021FEE54; else goto L_021FEE5C;
|
|
L_021FEE54: ; // 0x21fee54
|
|
/* 021FEE54 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 021FEE58 */ Gambit_fn_02801A78(cpu);
|
|
L_021FEE5C: ; // 0x21fee5c
|
|
/* 021FEE5C */ cpu->r[0] = 0x00000003u;
|
|
/* 021FEE60 */ cpu->r[3] = cpu->r[31] + 0x00000134u;
|
|
/* 021FEE64 */ cpu->r[4] = cpu->r[31];
|
|
/* 021FEE68 */ cpu->r[6] = 0x00000000u;
|
|
/* 021FEE6C */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 021FEE70 */ _t43 = cpu->r[1] + 0x00000008u;
|
|
/* 021FEE70 */ rbrew_write8(cpu->mem, _t43, (uint8_t)cpu->r[0]);
|
|
/* 021FEE74 */ Gambit_fn_02202AF4(cpu);
|
|
/* 021FEE78 */ cpu->r[25] = 0x10040000u;
|
|
/* 021FEE7C */ cpu->r[26] = 0x02200000u;
|
|
/* 021FEE80 */ cpu->r[25] = cpu->r[25] + 0xFFFFE40Cu;
|
|
/* 021FEE84 */ cpu->r[9] = 0x10040000u;
|
|
/* 021FEE88 */ cpu->r[26] = cpu->r[26] + 0x000023C8u;
|
|
/* 021FEE8C */ cpu->r[9] = cpu->r[9] + 0xFFFFE538u;
|
|
/* 021FEE90 */ cpu->ctr = cpu->r[26];
|
|
/* 021FEE94 */ _t44 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021FEE94 */ rbrew_write32(cpu->mem, _t44, cpu->r[9]);
|
|
/* 021FEE98 */ _t45 = cpu->r[1] + 0x00000010u;
|
|
/* 021FEE98 */ rbrew_write32(cpu->mem, _t45, cpu->r[25]);
|
|
/* 021FEE9C */ _t46 = cpu->r[31] + 0x0000014Cu;
|
|
/* 021FEE9C */ cpu->r[24] = rbrew_read32(cpu->mem, _t46);
|
|
/* 021FEEA0 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 021FEEA4 */ _t47 = cpu->r[24] + 0x00000000u;
|
|
/* 021FEEA4 */ cpu->r[28] = rbrew_read32(cpu->mem, _t47);
|
|
/* 021FEEA8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021FEEAC */ cpu->r[29] = 0x10110000u;
|
|
/* 021FEEB0 */ _t48 = cpu->r[29] + 0x00007399u;
|
|
/* 021FEEB0 */ cpu->r[29] = rbrew_read8(cpu->mem, _t48);
|
|
/* 021FEEB4 */ _t49 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021FEEB4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t49);
|
|
/* 021FEEB8 */ _t50 = cpu->r[9] + 0x00000000u;
|
|
/* 021FEEB8 */ cpu->r[10] = rbrew_read8(cpu->mem, _t50);
|
|
/* 021FEEBC */ cpu->r[30] = 0x00000000u;
|
|
/* 021FEEC0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[29]);
|
|
/* 021FEEC4 */ cpu->r[12] = 0x00080000u;
|
|
/* 021FEEC8 */ _t51 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021FEEC8 */ _t52 = _t51 & 0x00000001u;
|
|
/* 021FEEC8 */ if (_t52) goto L_021FEEF0; else goto L_021FEECC;
|
|
L_021FEECC: ; // 0x21feecc
|
|
/* 021FEECC */ cpu->r[30] = cpu->r[30] + 0x00000001u;
|
|
/* 021FEED0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[12]);
|
|
/* 021FEED4 */ cpu->r[9] = cpu->r[9] + 0x00000001u;
|
|
/* 021FEED8 */ _t53 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 021FEED8 */ _t54 = _t53 & 0x00000001u;
|
|
/* 021FEED8 */ if (_t54) goto L_021FEEEC; else goto L_021FEEDC;
|
|
L_021FEEDC: ; // 0x21feedc
|
|
/* 021FEEDC */ _t55 = cpu->r[9] + 0x00000000u;
|
|
/* 021FEEDC */ cpu->r[11] = rbrew_read8(cpu->mem, _t55);
|
|
/* 021FEEE0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[29]);
|
|
/* 021FEEE4 */ _t56 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021FEEE4 */ _t57 = _t56 & 0x00000001u;
|
|
/* 021FEEE4 */ if (_t57) goto L_021FEEE8; else goto L_021FEECC;
|
|
L_021FEEE8: ; // 0x21feee8
|
|
/* 021FEEE8 */ goto L_021FEEF0;
|
|
L_021FEEEC: ; // 0x21feeec
|
|
/* 021FEEEC */ cpu->r[30] = 0x00000000u;
|
|
L_021FEEF0: ; // 0x21feef0
|
|
/* 021FEEF0 */ _t58 = cpu->r[24] + 0x00000008u;
|
|
/* 021FEEF0 */ cpu->r[8] = rbrew_read32(cpu->mem, _t58);
|
|
/* 021FEEF4 */ _t59 = cpu->r[1] + 0x00000010u;
|
|
/* 021FEEF4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t59);
|
|
/* 021FEEF8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[8]);
|
|
/* 021FEEFC */ _t60 = cpu->r[12] + 0x00000014u;
|
|
/* 021FEEFC */ cpu->r[0] = rbrew_read32(cpu->mem, _t60);
|
|
/* 021FEF00 */ _t61 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 021FEF00 */ _t62 = _t61 & 0x00000001u;
|
|
/* 021FEF00 */ if (_t62) goto L_021FEF08; else goto L_021FEF04;
|
|
L_021FEF04: ; // 0x21fef04
|
|
/* 021FEF04 */ cpu->r[30] = cpu->r[8] + 0xFFFFFFFFu;
|
|
L_021FEF08: ; // 0x21fef08
|
|
/* 021FEF08 */ cpu->ctr = cpu->r[0];
|
|
/* 021FEF0C */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 021FEF10 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021FEF14 */ _t63 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021FEF14 */ cpu->r[4] = rbrew_read32(cpu->mem, _t63);
|
|
/* 021FEF18 */ cpu->r[6] = 0x00000000u;
|
|
/* 021FEF1C */ cpu->r[5] = cpu->r[30];
|
|
/* 021FEF20 */ cpu->r[3] = cpu->r[28];
|
|
/* 021FEF24 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 021FEF28 */ _t64 = cpu->r[28] + cpu->r[30];
|
|
/* 021FEF28 */ rbrew_write8(cpu->mem, _t64, (uint8_t)cpu->r[29]);
|
|
/* 021FEF2C */ cpu->r[7] = 0x02200000u;
|
|
/* 021FEF30 */ _t65 = cpu->r[1] + 0x00000014u;
|
|
/* 021FEF30 */ rbrew_write16(cpu->mem, _t65, (uint16_t)cpu->r[27]);
|
|
/* 021FEF34 */ cpu->r[7] = cpu->r[7] + 0x00001C1Cu;
|
|
/* 021FEF38 */ _t66 = cpu->r[1] + 0x00000028u;
|
|
/* 021FEF38 */ rbrew_write32(cpu->mem, _t66, cpu->r[27]);
|
|
/* 021FEF3C */ cpu->r[5] = 0x02200000u;
|
|
/* 021FEF40 */ _t67 = cpu->r[1] + 0x00000024u;
|
|
/* 021FEF40 */ rbrew_write16(cpu->mem, _t67, (uint16_t)cpu->r[27]);
|
|
/* 021FEF44 */ cpu->r[5] = cpu->r[5] + 0x00001C04u;
|
|
/* 021FEF48 */ _t68 = cpu->r[1] + 0x00000020u;
|
|
/* 021FEF48 */ rbrew_write32(cpu->mem, _t68, cpu->r[7]);
|
|
/* 021FEF4C */ _t69 = cpu->r[1] + 0x00000026u;
|
|
/* 021FEF4C */ rbrew_write16(cpu->mem, _t69, (uint16_t)cpu->r[27]);
|
|
/* 021FEF50 */ cpu->r[11] = 0x00000000u;
|
|
/* 021FEF54 */ _t70 = cpu->r[1] + 0x00000018u;
|
|
/* 021FEF54 */ rbrew_write32(cpu->mem, _t70, cpu->r[5]);
|
|
/* 021FEF58 */ cpu->r[12] = 0xFFFFFFFFu;
|
|
/* 021FEF5C */ _t71 = cpu->r[1] + 0x00000008u;
|
|
/* 021FEF5C */ rbrew_write8(cpu->mem, _t71, (uint8_t)cpu->r[11]);
|
|
/* 021FEF60 */ cpu->r[5] = cpu->r[1] + 0x0000001Cu;
|
|
/* 021FEF64 */ cpu->r[4] = cpu->r[1] + 0x00000014u;
|
|
/* 021FEF68 */ _t72 = cpu->r[1] + 0x0000001Eu;
|
|
/* 021FEF68 */ rbrew_write16(cpu->mem, _t72, (uint16_t)cpu->r[12]);
|
|
/* 021FEF6C */ cpu->r[3] = cpu->r[31] + 0x00000134u;
|
|
/* 021FEF70 */ cpu->r[6] = cpu->r[1] + 0x00000024u;
|
|
/* 021FEF74 */ _t73 = cpu->r[1] + 0x0000001Cu;
|
|
/* 021FEF74 */ rbrew_write16(cpu->mem, _t73, (uint16_t)cpu->r[27]);
|
|
/* 021FEF78 */ cpu->r[7] = cpu->r[1] + 0x00000008u;
|
|
/* 021FEF7C */ _t74 = cpu->r[1] + 0x00000016u;
|
|
/* 021FEF7C */ rbrew_write16(cpu->mem, _t74, (uint16_t)cpu->r[12]);
|
|
/* 021FEF80 */ Gambit_fn_02202DA4(cpu);
|
|
/* 021FEF84 */ cpu->r[6] = 0x10040000u;
|
|
/* 021FEF88 */ _t75 = cpu->r[1] + 0x00000010u;
|
|
/* 021FEF88 */ rbrew_write32(cpu->mem, _t75, cpu->r[25]);
|
|
/* 021FEF8C */ cpu->r[6] = cpu->r[6] + 0xFFFFE54Cu;
|
|
/* 021FEF90 */ _t76 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021FEF90 */ rbrew_write32(cpu->mem, _t76, cpu->r[6]);
|
|
/* 021FEF94 */ _t77 = cpu->r[31] + 0x00000148u;
|
|
/* 021FEF94 */ cpu->r[7] = rbrew_read32(cpu->mem, _t77);
|
|
/* 021FEF98 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], 0x00000001u);
|
|
/* 021FEF9C */ _t78 = cpu->r[31] + 0x0000014Cu;
|
|
/* 021FEF9C */ cpu->r[28] = rbrew_read32(cpu->mem, _t78);
|
|
/* 021FEFA0 */ _t79 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 021FEFA0 */ _t80 = _t79 & 0x00000001u;
|
|
/* 021FEFA0 */ if (_t80) goto L_021FEFA4; else goto L_021FEFA8;
|
|
L_021FEFA4: ; // 0x21fefa4
|
|
/* 021FEFA4 */ cpu->r[28] = cpu->r[28] + 0x00000024u;
|
|
L_021FEFA8: ; // 0x21fefa8
|
|
/* 021FEFA8 */ cpu->ctr = cpu->r[26];
|
|
/* 021FEFAC */ _t81 = cpu->r[28] + 0x00000000u;
|
|
/* 021FEFAC */ cpu->r[24] = rbrew_read32(cpu->mem, _t81);
|
|
/* 021FEFB0 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 021FEFB4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021FEFB8 */ _t82 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021FEFB8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t82);
|
|
/* 021FEFBC */ _t83 = cpu->r[12] + 0x00000000u;
|
|
/* 021FEFBC */ cpu->r[8] = rbrew_read8(cpu->mem, _t83);
|
|
/* 021FEFC0 */ cpu->r[30] = 0x00000000u;
|
|
/* 021FEFC4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[29]);
|
|
/* 021FEFC8 */ cpu->r[6] = 0x00080000u;
|
|
/* 021FEFCC */ _t84 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021FEFCC */ _t85 = _t84 & 0x00000001u;
|
|
/* 021FEFCC */ if (_t85) goto L_021FEFF4; else goto L_021FEFD0;
|
|
L_021FEFD0: ; // 0x21fefd0
|
|
/* 021FEFD0 */ cpu->r[30] = cpu->r[30] + 0x00000001u;
|
|
/* 021FEFD4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[6]);
|
|
/* 021FEFD8 */ cpu->r[12] = cpu->r[12] + 0x00000001u;
|
|
/* 021FEFDC */ _t86 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 021FEFDC */ _t87 = _t86 & 0x00000001u;
|
|
/* 021FEFDC */ if (_t87) goto L_021FEFF0; else goto L_021FEFE0;
|
|
L_021FEFE0: ; // 0x21fefe0
|
|
/* 021FEFE0 */ _t88 = cpu->r[12] + 0x00000000u;
|
|
/* 021FEFE0 */ cpu->r[0] = rbrew_read8(cpu->mem, _t88);
|
|
/* 021FEFE4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[29]);
|
|
/* 021FEFE8 */ _t89 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021FEFE8 */ _t90 = _t89 & 0x00000001u;
|
|
/* 021FEFE8 */ if (_t90) goto L_021FEFEC; else goto L_021FEFD0;
|
|
L_021FEFEC: ; // 0x21fefec
|
|
/* 021FEFEC */ goto L_021FEFF4;
|
|
L_021FEFF0: ; // 0x21feff0
|
|
/* 021FEFF0 */ cpu->r[30] = 0x00000000u;
|
|
L_021FEFF4: ; // 0x21feff4
|
|
/* 021FEFF4 */ _t91 = cpu->r[28] + 0x00000008u;
|
|
/* 021FEFF4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t91);
|
|
/* 021FEFF8 */ _t92 = cpu->r[1] + 0x00000010u;
|
|
/* 021FEFF8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t92);
|
|
/* 021FEFFC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[9]);
|
|
/* 021FF000 */ _t93 = cpu->r[10] + 0x00000014u;
|
|
/* 021FF000 */ cpu->r[0] = rbrew_read32(cpu->mem, _t93);
|
|
/* 021FF004 */ _t94 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 021FF004 */ _t95 = _t94 & 0x00000001u;
|
|
/* 021FF004 */ if (_t95) goto L_021FF00C; else goto L_021FF008;
|
|
L_021FF008: ; // 0x21ff008
|
|
/* 021FF008 */ cpu->r[30] = cpu->r[9] + 0xFFFFFFFFu;
|
|
L_021FF00C: ; // 0x21ff00c
|
|
/* 021FF00C */ cpu->ctr = cpu->r[0];
|
|
/* 021FF010 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 021FF014 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021FF018 */ _t96 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021FF018 */ cpu->r[4] = rbrew_read32(cpu->mem, _t96);
|
|
/* 021FF01C */ cpu->r[6] = 0x00000000u;
|
|
/* 021FF020 */ cpu->r[5] = cpu->r[30];
|
|
/* 021FF024 */ cpu->r[3] = cpu->r[24];
|
|
/* 021FF028 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 021FF02C */ _t97 = cpu->r[24] + cpu->r[30];
|
|
/* 021FF02C */ rbrew_write8(cpu->mem, _t97, (uint8_t)cpu->r[29]);
|
|
/* 021FF030 */ cpu->r[10] = 0x00000001u;
|
|
/* 021FF034 */ _t98 = cpu->r[1] + 0x00000026u;
|
|
/* 021FF034 */ rbrew_write16(cpu->mem, _t98, (uint16_t)cpu->r[27]);
|
|
/* 021FF038 */ cpu->r[12] = 0x02200000u;
|
|
/* 021FF03C */ _t99 = cpu->r[1] + 0x00000008u;
|
|
/* 021FF03C */ rbrew_write8(cpu->mem, _t99, (uint8_t)cpu->r[10]);
|
|
/* 021FF040 */ cpu->r[6] = 0xFFFFFFFFu;
|
|
/* 021FF044 */ _t100 = cpu->r[1] + 0x00000014u;
|
|
/* 021FF044 */ rbrew_write16(cpu->mem, _t100, (uint16_t)cpu->r[27]);
|
|
/* 021FF048 */ cpu->r[0] = 0x02200000u;
|
|
/* 021FF04C */ _t101 = cpu->r[1] + 0x0000001Eu;
|
|
/* 021FF04C */ rbrew_write16(cpu->mem, _t101, (uint16_t)cpu->r[6]);
|
|
/* 021FF050 */ _t102 = cpu->r[1] + 0x00000024u;
|
|
/* 021FF050 */ rbrew_write16(cpu->mem, _t102, (uint16_t)cpu->r[27]);
|
|
/* 021FF054 */ cpu->r[12] = cpu->r[12] + 0x00001C60u;
|
|
/* 021FF058 */ _t103 = cpu->r[1] + 0x00000016u;
|
|
/* 021FF058 */ rbrew_write16(cpu->mem, _t103, (uint16_t)cpu->r[6]);
|
|
/* 021FF05C */ cpu->r[6] = cpu->r[1] + 0x00000024u;
|
|
/* 021FF060 */ cpu->r[0] = cpu->r[0] + 0x00001C80u;
|
|
/* 021FF064 */ _t104 = cpu->r[1] + 0x00000020u;
|
|
/* 021FF064 */ rbrew_write32(cpu->mem, _t104, cpu->r[12]);
|
|
/* 021FF068 */ cpu->r[5] = cpu->r[1] + 0x00000014u;
|
|
/* 021FF06C */ _t105 = cpu->r[1] + 0x00000018u;
|
|
/* 021FF06C */ rbrew_write32(cpu->mem, _t105, cpu->r[0]);
|
|
/* 021FF070 */ cpu->r[3] = cpu->r[31] + 0x00000134u;
|
|
/* 021FF074 */ cpu->r[4] = cpu->r[1] + 0x0000001Cu;
|
|
/* 021FF078 */ _t106 = cpu->r[1] + 0x0000001Cu;
|
|
/* 021FF078 */ rbrew_write16(cpu->mem, _t106, (uint16_t)cpu->r[27]);
|
|
/* 021FF07C */ cpu->r[7] = cpu->r[1] + 0x00000008u;
|
|
/* 021FF080 */ _t107 = cpu->r[1] + 0x00000028u;
|
|
/* 021FF080 */ rbrew_write32(cpu->mem, _t107, cpu->r[27]);
|
|
/* 021FF084 */ Gambit_fn_02202DA4(cpu);
|
|
/* 021FF088 */ cpu->r[5] = 0x10040000u;
|
|
/* 021FF08C */ _t108 = cpu->r[1] + 0x00000010u;
|
|
/* 021FF08C */ rbrew_write32(cpu->mem, _t108, cpu->r[25]);
|
|
/* 021FF090 */ cpu->r[5] = cpu->r[5] + 0xFFFFE52Cu;
|
|
/* 021FF094 */ _t109 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021FF094 */ rbrew_write32(cpu->mem, _t109, cpu->r[5]);
|
|
/* 021FF098 */ _t110 = cpu->r[31] + 0x00000148u;
|
|
/* 021FF098 */ cpu->r[7] = rbrew_read32(cpu->mem, _t110);
|
|
/* 021FF09C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], 0x00000002u);
|
|
/* 021FF0A0 */ _t111 = cpu->r[31] + 0x0000014Cu;
|
|
/* 021FF0A0 */ cpu->r[28] = rbrew_read32(cpu->mem, _t111);
|
|
/* 021FF0A4 */ _t112 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 021FF0A4 */ _t113 = _t112 & 0x00000001u;
|
|
/* 021FF0A4 */ if (_t113) goto L_021FF0A8; else goto L_021FF0AC;
|
|
L_021FF0A8: ; // 0x21ff0a8
|
|
/* 021FF0A8 */ cpu->r[28] = cpu->r[28] + 0x00000048u;
|
|
L_021FF0AC: ; // 0x21ff0ac
|
|
/* 021FF0AC */ cpu->ctr = cpu->r[26];
|
|
/* 021FF0B0 */ _t114 = cpu->r[28] + 0x00000000u;
|
|
/* 021FF0B0 */ cpu->r[25] = rbrew_read32(cpu->mem, _t114);
|
|
/* 021FF0B4 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 021FF0B8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021FF0BC */ _t115 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021FF0BC */ cpu->r[8] = rbrew_read32(cpu->mem, _t115);
|
|
/* 021FF0C0 */ _t116 = cpu->r[8] + 0x00000000u;
|
|
/* 021FF0C0 */ cpu->r[11] = rbrew_read8(cpu->mem, _t116);
|
|
/* 021FF0C4 */ cpu->r[30] = 0x00000000u;
|
|
/* 021FF0C8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[29]);
|
|
/* 021FF0CC */ cpu->r[10] = 0x00080000u;
|
|
/* 021FF0D0 */ _t117 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021FF0D0 */ _t118 = _t117 & 0x00000001u;
|
|
/* 021FF0D0 */ if (_t118) goto L_021FF0F8; else goto L_021FF0D4;
|
|
L_021FF0D4: ; // 0x21ff0d4
|
|
/* 021FF0D4 */ cpu->r[30] = cpu->r[30] + 0x00000001u;
|
|
/* 021FF0D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[10]);
|
|
/* 021FF0DC */ cpu->r[8] = cpu->r[8] + 0x00000001u;
|
|
/* 021FF0E0 */ _t119 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 021FF0E0 */ _t120 = _t119 & 0x00000001u;
|
|
/* 021FF0E0 */ if (_t120) goto L_021FF0F4; else goto L_021FF0E4;
|
|
L_021FF0E4: ; // 0x21ff0e4
|
|
/* 021FF0E4 */ _t121 = cpu->r[8] + 0x00000000u;
|
|
/* 021FF0E4 */ cpu->r[0] = rbrew_read8(cpu->mem, _t121);
|
|
/* 021FF0E8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[29]);
|
|
/* 021FF0EC */ _t122 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021FF0EC */ _t123 = _t122 & 0x00000001u;
|
|
/* 021FF0EC */ if (_t123) goto L_021FF0F0; else goto L_021FF0D4;
|
|
L_021FF0F0: ; // 0x21ff0f0
|
|
/* 021FF0F0 */ goto L_021FF0F8;
|
|
L_021FF0F4: ; // 0x21ff0f4
|
|
/* 021FF0F4 */ cpu->r[30] = 0x00000000u;
|
|
L_021FF0F8: ; // 0x21ff0f8
|
|
/* 021FF0F8 */ _t124 = cpu->r[28] + 0x00000008u;
|
|
/* 021FF0F8 */ cpu->r[5] = rbrew_read32(cpu->mem, _t124);
|
|
/* 021FF0FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[5]);
|
|
/* 021FF100 */ _t125 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 021FF100 */ _t126 = _t125 & 0x00000001u;
|
|
/* 021FF100 */ if (_t126) goto L_021FF108; else goto L_021FF104;
|
|
L_021FF104: ; // 0x21ff104
|
|
/* 021FF104 */ cpu->r[30] = cpu->r[5] + 0xFFFFFFFFu;
|
|
L_021FF108: ; // 0x21ff108
|
|
/* 021FF108 */ _t127 = cpu->r[1] + 0x00000010u;
|
|
/* 021FF108 */ cpu->r[5] = rbrew_read32(cpu->mem, _t127);
|
|
/* 021FF10C */ _t128 = cpu->r[5] + 0x00000014u;
|
|
/* 021FF10C */ cpu->r[0] = rbrew_read32(cpu->mem, _t128);
|
|
/* 021FF110 */ cpu->ctr = cpu->r[0];
|
|
/* 021FF114 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 021FF118 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021FF11C */ _t129 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021FF11C */ cpu->r[4] = rbrew_read32(cpu->mem, _t129);
|
|
/* 021FF120 */ cpu->r[6] = 0x00000000u;
|
|
/* 021FF124 */ cpu->r[5] = cpu->r[30];
|
|
/* 021FF128 */ cpu->r[3] = cpu->r[25];
|
|
/* 021FF12C */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 021FF130 */ _t130 = cpu->r[25] + cpu->r[30];
|
|
/* 021FF130 */ rbrew_write8(cpu->mem, _t130, (uint8_t)cpu->r[29]);
|
|
/* 021FF134 */ cpu->r[0] = 0x00000002u;
|
|
/* 021FF138 */ _t131 = cpu->r[1] + 0x00000014u;
|
|
/* 021FF138 */ rbrew_write16(cpu->mem, _t131, (uint16_t)cpu->r[27]);
|
|
/* 021FF13C */ cpu->r[10] = 0x02200000u;
|
|
/* 021FF140 */ _t132 = cpu->r[1] + 0x00000028u;
|
|
/* 021FF140 */ rbrew_write32(cpu->mem, _t132, cpu->r[27]);
|
|
/* 021FF144 */ cpu->r[10] = cpu->r[10] + 0x00001FA8u;
|
|
/* 021FF148 */ _t133 = cpu->r[1] + 0x00000024u;
|
|
/* 021FF148 */ rbrew_write16(cpu->mem, _t133, (uint16_t)cpu->r[27]);
|
|
/* 021FF14C */ cpu->r[8] = 0xFFFFFFFFu;
|
|
/* 021FF150 */ _t134 = cpu->r[1] + 0x00000026u;
|
|
/* 021FF150 */ rbrew_write16(cpu->mem, _t134, (uint16_t)cpu->r[27]);
|
|
/* 021FF154 */ cpu->r[3] = cpu->r[31] + 0x00000134u;
|
|
/* 021FF158 */ _t135 = cpu->r[1] + 0x0000001Eu;
|
|
/* 021FF158 */ rbrew_write16(cpu->mem, _t135, (uint16_t)cpu->r[8]);
|
|
/* 021FF15C */ cpu->r[7] = cpu->r[1] + 0x00000008u;
|
|
/* 021FF160 */ _t136 = cpu->r[1] + 0x00000020u;
|
|
/* 021FF160 */ rbrew_write32(cpu->mem, _t136, cpu->r[10]);
|
|
/* 021FF164 */ cpu->r[4] = cpu->r[1] + 0x0000001Cu;
|
|
/* 021FF168 */ _t137 = cpu->r[1] + 0x00000008u;
|
|
/* 021FF168 */ rbrew_write8(cpu->mem, _t137, (uint8_t)cpu->r[0]);
|
|
/* 021FF16C */ cpu->r[0] = 0x02200000u;
|
|
/* 021FF170 */ _t138 = cpu->r[1] + 0x0000001Cu;
|
|
/* 021FF170 */ rbrew_write16(cpu->mem, _t138, (uint16_t)cpu->r[27]);
|
|
/* 021FF174 */ cpu->r[0] = cpu->r[0] + 0x000028D8u;
|
|
/* 021FF178 */ cpu->r[5] = cpu->r[1] + 0x00000014u;
|
|
/* 021FF17C */ _t139 = cpu->r[1] + 0x00000016u;
|
|
/* 021FF17C */ rbrew_write16(cpu->mem, _t139, (uint16_t)cpu->r[8]);
|
|
/* 021FF180 */ cpu->r[6] = cpu->r[1] + 0x00000024u;
|
|
/* 021FF184 */ _t140 = cpu->r[1] + 0x00000018u;
|
|
/* 021FF184 */ rbrew_write32(cpu->mem, _t140, cpu->r[0]);
|
|
/* 021FF188 */ Gambit_fn_02202DA4(cpu);
|
|
L_021FF18C: ; // 0x21ff18c
|
|
/* 021FF18C */ cpu->r[3] = cpu->r[31];
|
|
/* 021FF190 */ /* nop */
|
|
/* 021FF194 */ _t141 = cpu->r[1] + 0x00000058u;
|
|
/* 021FF194 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t141);
|
|
/* 021FF198 */ _t142 = cpu->r[1] + 0x00000050u;
|
|
/* 021FF198 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t142);
|
|
/* 021FF19C */ _t143 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 021FF19C */ _t144 = _t143 & 0x00000001u;
|
|
/* 021FF19C */ if (_t144) goto L_021FF1A0; // else: addr-0 trap, fall-through
|
|
L_021FF1A0: ; // 0x21ff1a0
|
|
/* 021FF1A0 */ _t145 = cpu->r[1] + 0x00000064u;
|
|
/* 021FF1A0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t145);
|
|
/* 021FF1A4 */ cpu->lr = cpu->r[0];
|
|
/* 021FF1A8 */ cpu->r[1] = cpu->r[1] + 0x00000060u;
|
|
/* 021FF1AC */ return;
|
|
}
|
|
|
|
// fn_021FF1B0 @ 0x21ff1b0
|
|
void Gambit_fn_021FF1B0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_021FF1B0: ; // 0x21ff1b0
|
|
/* 021FF1B0 */ cpu->r[0] = cpu->lr;
|
|
/* 021FF1B4 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 021FF1B4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 021FF1B4 */ cpu->r[1] = _t0;
|
|
/* 021FF1B8 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021FF1B8 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 021FF1BC */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 021FF1BC */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 021FF1C0 */ _t3 = cpu->r[3] + 0x00000004u;
|
|
/* 021FF1C0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t3);
|
|
/* 021FF1C4 */ _t4 = cpu->r[12] + 0x00000474u;
|
|
/* 021FF1C4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 021FF1C8 */ cpu->ctr = cpu->r[12];
|
|
/* 021FF1CC */ cpu->r[31] = cpu->r[3];
|
|
/* 021FF1D0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021FF1D4 */ _t5 = cpu->r[31] + 0x00000198u;
|
|
/* 021FF1D4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 021FF1D8 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000016u, 0x00000016u);
|
|
/* 021FF1D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 021FF1DC */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021FF1DC */ _t7 = _t6 & 0x00000001u;
|
|
/* 021FF1DC */ if (_t7) goto L_021FF1E8; else goto L_021FF1E0;
|
|
L_021FF1E0: ; // 0x21ff1e0
|
|
/* 021FF1E0 */ _t8 = cpu->r[3] + 0x00000930u;
|
|
/* 021FF1E0 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t8);
|
|
/* 021FF1E4 */ goto L_021FF1EC;
|
|
L_021FF1E8: ; // 0x21ff1e8
|
|
/* 021FF1E8 */ _t9 = cpu->r[3] + 0x00000E10u;
|
|
/* 021FF1E8 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t9);
|
|
L_021FF1EC: ; // 0x21ff1ec
|
|
/* 021FF1EC */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 021FF1EC */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 021FF1F0 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021FF1F0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 021FF1F4 */ cpu->lr = cpu->r[0];
|
|
/* 021FF1F8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 021FF1FC */ return;
|
|
}
|
|
|
|
// fn_021FF1B4 @ 0x21ff1b4
|
|
void Gambit_fn_021FF1B4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_021FF1B4: ; // 0x21ff1b4
|
|
/* 021FF1B4 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 021FF1B4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 021FF1B4 */ cpu->r[1] = _t0;
|
|
/* 021FF1B8 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021FF1B8 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 021FF1BC */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 021FF1BC */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 021FF1C0 */ _t3 = cpu->r[3] + 0x00000004u;
|
|
/* 021FF1C0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t3);
|
|
/* 021FF1C4 */ _t4 = cpu->r[12] + 0x00000474u;
|
|
/* 021FF1C4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 021FF1C8 */ cpu->ctr = cpu->r[12];
|
|
/* 021FF1CC */ cpu->r[31] = cpu->r[3];
|
|
/* 021FF1D0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021FF1D4 */ _t5 = cpu->r[31] + 0x00000198u;
|
|
/* 021FF1D4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 021FF1D8 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000016u, 0x00000016u);
|
|
/* 021FF1D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 021FF1DC */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021FF1DC */ _t7 = _t6 & 0x00000001u;
|
|
/* 021FF1DC */ if (_t7) goto L_021FF1E8; else goto L_021FF1E0;
|
|
L_021FF1E0: ; // 0x21ff1e0
|
|
/* 021FF1E0 */ _t8 = cpu->r[3] + 0x00000930u;
|
|
/* 021FF1E0 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t8);
|
|
/* 021FF1E4 */ goto L_021FF1EC;
|
|
L_021FF1E8: ; // 0x21ff1e8
|
|
/* 021FF1E8 */ _t9 = cpu->r[3] + 0x00000E10u;
|
|
/* 021FF1E8 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t9);
|
|
L_021FF1EC: ; // 0x21ff1ec
|
|
/* 021FF1EC */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 021FF1EC */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 021FF1F0 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021FF1F0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 021FF1F4 */ cpu->lr = cpu->r[0];
|
|
/* 021FF1F8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 021FF1FC */ return;
|
|
}
|
|
|
|
// fn_021FF200 @ 0x21ff200
|
|
void Gambit_fn_021FF200(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_021FF200: ; // 0x21ff200
|
|
/* 021FF200 */ cpu->r[0] = cpu->lr;
|
|
/* 021FF204 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 021FF204 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 021FF204 */ cpu->r[1] = _t0;
|
|
/* 021FF208 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021FF208 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 021FF20C */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 021FF20C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 021FF210 */ _t3 = cpu->r[3] + 0x00000004u;
|
|
/* 021FF210 */ cpu->r[12] = rbrew_read32(cpu->mem, _t3);
|
|
/* 021FF214 */ _t4 = cpu->r[12] + 0x00000474u;
|
|
/* 021FF214 */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 021FF218 */ cpu->ctr = cpu->r[12];
|
|
/* 021FF21C */ cpu->r[31] = cpu->r[3];
|
|
/* 021FF220 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021FF224 */ _t5 = cpu->r[31] + 0x00000198u;
|
|
/* 021FF224 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 021FF228 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000016u, 0x00000016u);
|
|
/* 021FF228 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 021FF22C */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021FF22C */ _t7 = _t6 & 0x00000001u;
|
|
/* 021FF22C */ if (_t7) goto L_021FF238; else goto L_021FF230;
|
|
L_021FF230: ; // 0x21ff230
|
|
/* 021FF230 */ _t8 = cpu->r[3] + 0x00000B70u;
|
|
/* 021FF230 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t8);
|
|
/* 021FF234 */ goto L_021FF23C;
|
|
L_021FF238: ; // 0x21ff238
|
|
/* 021FF238 */ _t9 = cpu->r[3] + 0x00001050u;
|
|
/* 021FF238 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t9);
|
|
L_021FF23C: ; // 0x21ff23c
|
|
/* 021FF23C */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 021FF23C */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 021FF240 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021FF240 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 021FF244 */ cpu->lr = cpu->r[0];
|
|
/* 021FF248 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 021FF24C */ return;
|
|
}
|
|
|
|
// fn_021FF204 @ 0x21ff204
|
|
void Gambit_fn_021FF204(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_021FF204: ; // 0x21ff204
|
|
/* 021FF204 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 021FF204 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 021FF204 */ cpu->r[1] = _t0;
|
|
/* 021FF208 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021FF208 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 021FF20C */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 021FF20C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 021FF210 */ _t3 = cpu->r[3] + 0x00000004u;
|
|
/* 021FF210 */ cpu->r[12] = rbrew_read32(cpu->mem, _t3);
|
|
/* 021FF214 */ _t4 = cpu->r[12] + 0x00000474u;
|
|
/* 021FF214 */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 021FF218 */ cpu->ctr = cpu->r[12];
|
|
/* 021FF21C */ cpu->r[31] = cpu->r[3];
|
|
/* 021FF220 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021FF224 */ _t5 = cpu->r[31] + 0x00000198u;
|
|
/* 021FF224 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 021FF228 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000016u, 0x00000016u);
|
|
/* 021FF228 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 021FF22C */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021FF22C */ _t7 = _t6 & 0x00000001u;
|
|
/* 021FF22C */ if (_t7) goto L_021FF238; else goto L_021FF230;
|
|
L_021FF230: ; // 0x21ff230
|
|
/* 021FF230 */ _t8 = cpu->r[3] + 0x00000B70u;
|
|
/* 021FF230 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t8);
|
|
/* 021FF234 */ goto L_021FF23C;
|
|
L_021FF238: ; // 0x21ff238
|
|
/* 021FF238 */ _t9 = cpu->r[3] + 0x00001050u;
|
|
/* 021FF238 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t9);
|
|
L_021FF23C: ; // 0x21ff23c
|
|
/* 021FF23C */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 021FF23C */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 021FF240 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021FF240 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 021FF244 */ cpu->lr = cpu->r[0];
|
|
/* 021FF248 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 021FF24C */ return;
|
|
}
|
|
|
|
// fn_021FF250 @ 0x21ff250
|
|
void Gambit_fn_021FF250(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_021FF250: ; // 0x21ff250
|
|
/* 021FF250 */ cpu->r[0] = cpu->lr;
|
|
/* 021FF254 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 021FF254 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 021FF254 */ cpu->r[1] = _t0;
|
|
/* 021FF258 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021FF258 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 021FF25C */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 021FF25C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 021FF260 */ _t3 = cpu->r[3] + 0x00000004u;
|
|
/* 021FF260 */ cpu->r[12] = rbrew_read32(cpu->mem, _t3);
|
|
/* 021FF264 */ _t4 = cpu->r[12] + 0x00000474u;
|
|
/* 021FF264 */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 021FF268 */ cpu->ctr = cpu->r[12];
|
|
/* 021FF26C */ cpu->r[31] = cpu->r[3];
|
|
/* 021FF270 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021FF274 */ _t5 = cpu->r[31] + 0x00000198u;
|
|
/* 021FF274 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 021FF278 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000016u, 0x00000016u);
|
|
/* 021FF278 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 021FF27C */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021FF27C */ _t7 = _t6 & 0x00000001u;
|
|
/* 021FF27C */ if (_t7) goto L_021FF288; else goto L_021FF280;
|
|
L_021FF280: ; // 0x21ff280
|
|
/* 021FF280 */ _t8 = cpu->r[3] + 0x00000AB0u;
|
|
/* 021FF280 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t8);
|
|
/* 021FF284 */ goto L_021FF28C;
|
|
L_021FF288: ; // 0x21ff288
|
|
/* 021FF288 */ _t9 = cpu->r[3] + 0x00000F90u;
|
|
/* 021FF288 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t9);
|
|
L_021FF28C: ; // 0x21ff28c
|
|
/* 021FF28C */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 021FF28C */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 021FF290 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021FF290 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 021FF294 */ cpu->lr = cpu->r[0];
|
|
/* 021FF298 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 021FF29C */ return;
|
|
}
|
|
|
|
// fn_021FF254 @ 0x21ff254
|
|
void Gambit_fn_021FF254(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_021FF254: ; // 0x21ff254
|
|
/* 021FF254 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 021FF254 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 021FF254 */ cpu->r[1] = _t0;
|
|
/* 021FF258 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021FF258 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 021FF25C */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 021FF25C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 021FF260 */ _t3 = cpu->r[3] + 0x00000004u;
|
|
/* 021FF260 */ cpu->r[12] = rbrew_read32(cpu->mem, _t3);
|
|
/* 021FF264 */ _t4 = cpu->r[12] + 0x00000474u;
|
|
/* 021FF264 */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 021FF268 */ cpu->ctr = cpu->r[12];
|
|
/* 021FF26C */ cpu->r[31] = cpu->r[3];
|
|
/* 021FF270 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021FF274 */ _t5 = cpu->r[31] + 0x00000198u;
|
|
/* 021FF274 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 021FF278 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000016u, 0x00000016u);
|
|
/* 021FF278 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 021FF27C */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021FF27C */ _t7 = _t6 & 0x00000001u;
|
|
/* 021FF27C */ if (_t7) goto L_021FF288; else goto L_021FF280;
|
|
L_021FF280: ; // 0x21ff280
|
|
/* 021FF280 */ _t8 = cpu->r[3] + 0x00000AB0u;
|
|
/* 021FF280 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t8);
|
|
/* 021FF284 */ goto L_021FF28C;
|
|
L_021FF288: ; // 0x21ff288
|
|
/* 021FF288 */ _t9 = cpu->r[3] + 0x00000F90u;
|
|
/* 021FF288 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t9);
|
|
L_021FF28C: ; // 0x21ff28c
|
|
/* 021FF28C */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 021FF28C */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 021FF290 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021FF290 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 021FF294 */ cpu->lr = cpu->r[0];
|
|
/* 021FF298 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 021FF29C */ return;
|
|
}
|
|
|
|
// fn_021FF2A0 @ 0x21ff2a0
|
|
void Gambit_fn_021FF2A0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_021FF2A0: ; // 0x21ff2a0
|
|
/* 021FF2A0 */ cpu->r[0] = cpu->lr;
|
|
/* 021FF2A4 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 021FF2A4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 021FF2A4 */ cpu->r[1] = _t0;
|
|
/* 021FF2A8 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021FF2A8 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 021FF2AC */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 021FF2AC */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 021FF2B0 */ _t3 = cpu->r[3] + 0x00000004u;
|
|
/* 021FF2B0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t3);
|
|
/* 021FF2B4 */ _t4 = cpu->r[12] + 0x00000474u;
|
|
/* 021FF2B4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 021FF2B8 */ cpu->ctr = cpu->r[12];
|
|
/* 021FF2BC */ cpu->r[31] = cpu->r[3];
|
|
/* 021FF2C0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021FF2C4 */ _t5 = cpu->r[31] + 0x00000198u;
|
|
/* 021FF2C4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 021FF2C8 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000016u, 0x00000016u);
|
|
/* 021FF2C8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 021FF2CC */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021FF2CC */ _t7 = _t6 & 0x00000001u;
|
|
/* 021FF2CC */ if (_t7) goto L_021FF2D8; else goto L_021FF2D0;
|
|
L_021FF2D0: ; // 0x21ff2d0
|
|
/* 021FF2D0 */ _t8 = cpu->r[3] + 0x00000810u;
|
|
/* 021FF2D0 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t8);
|
|
/* 021FF2D4 */ goto L_021FF2DC;
|
|
L_021FF2D8: ; // 0x21ff2d8
|
|
/* 021FF2D8 */ _t9 = cpu->r[3] + 0x00000CF0u;
|
|
/* 021FF2D8 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t9);
|
|
L_021FF2DC: ; // 0x21ff2dc
|
|
/* 021FF2DC */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 021FF2DC */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 021FF2E0 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021FF2E0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 021FF2E4 */ cpu->lr = cpu->r[0];
|
|
/* 021FF2E8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 021FF2EC */ return;
|
|
}
|
|
|
|
// fn_021FF2A4 @ 0x21ff2a4
|
|
void Gambit_fn_021FF2A4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_021FF2A4: ; // 0x21ff2a4
|
|
/* 021FF2A4 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 021FF2A4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 021FF2A4 */ cpu->r[1] = _t0;
|
|
/* 021FF2A8 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021FF2A8 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 021FF2AC */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 021FF2AC */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 021FF2B0 */ _t3 = cpu->r[3] + 0x00000004u;
|
|
/* 021FF2B0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t3);
|
|
/* 021FF2B4 */ _t4 = cpu->r[12] + 0x00000474u;
|
|
/* 021FF2B4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 021FF2B8 */ cpu->ctr = cpu->r[12];
|
|
/* 021FF2BC */ cpu->r[31] = cpu->r[3];
|
|
/* 021FF2C0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021FF2C4 */ _t5 = cpu->r[31] + 0x00000198u;
|
|
/* 021FF2C4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 021FF2C8 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000016u, 0x00000016u);
|
|
/* 021FF2C8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 021FF2CC */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021FF2CC */ _t7 = _t6 & 0x00000001u;
|
|
/* 021FF2CC */ if (_t7) goto L_021FF2D8; else goto L_021FF2D0;
|
|
L_021FF2D0: ; // 0x21ff2d0
|
|
/* 021FF2D0 */ _t8 = cpu->r[3] + 0x00000810u;
|
|
/* 021FF2D0 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t8);
|
|
/* 021FF2D4 */ goto L_021FF2DC;
|
|
L_021FF2D8: ; // 0x21ff2d8
|
|
/* 021FF2D8 */ _t9 = cpu->r[3] + 0x00000CF0u;
|
|
/* 021FF2D8 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t9);
|
|
L_021FF2DC: ; // 0x21ff2dc
|
|
/* 021FF2DC */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 021FF2DC */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 021FF2E0 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021FF2E0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 021FF2E4 */ cpu->lr = cpu->r[0];
|
|
/* 021FF2E8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 021FF2EC */ return;
|
|
}
|
|
|
|
// fn_021FF2F0 @ 0x21ff2f0
|
|
void Gambit_fn_021FF2F0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61;
|
|
|
|
L_021FF2F0: ; // 0x21ff2f0
|
|
/* 021FF2F0 */ _t0 = cpu->r[1] + 0xFFFFFF90u;
|
|
/* 021FF2F0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 021FF2F0 */ cpu->r[1] = _t0;
|
|
/* 021FF2F4 */ /* nop */
|
|
/* 021FF2F8 */ _t1 = cpu->r[1] + 0x00000040u;
|
|
/* 021FF2F8 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[29]);
|
|
/* 021FF2FC */ /* nop */
|
|
/* 021FF300 */ _t2 = cpu->r[1] + 0x00000050u;
|
|
/* 021FF300 */ rbrew_write_f64(cpu->mem, _t2, cpu->f[30]);
|
|
/* 021FF304 */ /* nop */
|
|
/* 021FF308 */ _t3 = cpu->r[1] + 0x00000048u;
|
|
/* 021FF308 */ rbrew_write_f32(cpu->mem, _t3, cpu->f[29]);
|
|
/* 021FF30C */ _t4 = cpu->r[1] + 0x00000060u;
|
|
/* 021FF30C */ rbrew_write_f64(cpu->mem, _t4, cpu->f[31]);
|
|
/* 021FF310 */ cpu->r[0] = cpu->lr;
|
|
/* 021FF314 */ _t5 = cpu->r[1] + 0x00000058u;
|
|
/* 021FF314 */ rbrew_write_f32(cpu->mem, _t5, cpu->f[30]);
|
|
/* 021FF318 */ /* nop */
|
|
/* 021FF31C */ _t6 = cpu->r[1] + 0x00000068u;
|
|
/* 021FF31C */ rbrew_write_f32(cpu->mem, _t6, cpu->f[31]);
|
|
/* 021FF320 */ _t7 = cpu->r[1] + 0x00000074u;
|
|
/* 021FF320 */ rbrew_write32(cpu->mem, _t7, cpu->r[0]);
|
|
/* 021FF324 */ cpu->r[29] = cpu->r[8];
|
|
/* 021FF328 */ cpu->r[27] = cpu->r[6];
|
|
/* 021FF32C */ _t8 = cpu->r[3] + 0x00000004u;
|
|
/* 021FF32C */ cpu->r[6] = rbrew_read32(cpu->mem, _t8);
|
|
/* 021FF330 */ _t9 = cpu->r[6] + 0x00000474u;
|
|
/* 021FF330 */ cpu->r[12] = rbrew_read32(cpu->mem, _t9);
|
|
/* 021FF334 */ cpu->ctr = cpu->r[12];
|
|
/* 021FF338 */ cpu->r[25] = cpu->r[4];
|
|
/* 021FF33C */ cpu->r[26] = cpu->r[5];
|
|
/* 021FF340 */ cpu->r[28] = cpu->r[7];
|
|
/* 021FF344 */ cpu->r[30] = cpu->r[9];
|
|
/* 021FF348 */ cpu->r[31] = cpu->r[10];
|
|
/* 021FF34C */ cpu->r[24] = cpu->r[3];
|
|
/* 021FF350 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021FF354 */ _t10 = cpu->r[24] + 0x00000198u;
|
|
/* 021FF354 */ cpu->r[10] = rbrew_read32(cpu->mem, _t10);
|
|
/* 021FF358 */ cpu->r[10] = rbrew_rlwinm(cpu->r[10], 0x00000000u, 0x00000016u, 0x00000016u);
|
|
/* 021FF358 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 021FF35C */ cpu->r[23] = cpu->r[3];
|
|
/* 021FF360 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021FF360 */ _t12 = _t11 & 0x00000001u;
|
|
/* 021FF360 */ if (_t12) goto L_021FF388; else goto L_021FF364;
|
|
L_021FF364: ; // 0x21ff364
|
|
/* 021FF364 */ _t13 = cpu->r[23] + 0x00000B10u;
|
|
/* 021FF364 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t13);
|
|
/* 021FF368 */ cpu->r[4] = cpu->r[31];
|
|
/* 021FF36C */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 021FF370 */ _t14 = cpu->r[24] + 0x00000130u;
|
|
/* 021FF370 */ rbrew_write_f32(cpu->mem, _t14, cpu->f[13]);
|
|
/* 021FF374 */ Gambit_fn_028300A4(cpu);
|
|
/* 021FF378 */ _t15 = cpu->r[24] + 0x00000198u;
|
|
/* 021FF378 */ cpu->r[9] = rbrew_read32(cpu->mem, _t15);
|
|
/* 021FF37C */ cpu->r[0] = rbrew_rlwinm(cpu->r[9], 0x00000017u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 021FF37C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 021FF380 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021FF380 */ _t17 = _t16 & 0x00000001u;
|
|
/* 021FF380 */ if (_t17) goto L_021FF3B8; else goto L_021FF384;
|
|
L_021FF384: ; // 0x21ff384
|
|
/* 021FF384 */ goto L_021FF3A8;
|
|
L_021FF388: ; // 0x21ff388
|
|
/* 021FF388 */ _t18 = cpu->r[23] + 0x00000FF0u;
|
|
/* 021FF388 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t18);
|
|
/* 021FF38C */ cpu->r[4] = cpu->r[31];
|
|
/* 021FF390 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 021FF394 */ _t19 = cpu->r[24] + 0x00000130u;
|
|
/* 021FF394 */ rbrew_write_f32(cpu->mem, _t19, cpu->f[13]);
|
|
/* 021FF398 */ Gambit_fn_028300A4(cpu);
|
|
/* 021FF39C */ _t20 = cpu->r[24] + 0x00000198u;
|
|
/* 021FF39C */ cpu->r[9] = rbrew_read32(cpu->mem, _t20);
|
|
/* 021FF3A0 */ cpu->r[0] = rbrew_rlwinm(cpu->r[9], 0x00000017u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 021FF3A0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 021FF3A4 */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021FF3A4 */ _t22 = _t21 & 0x00000001u;
|
|
/* 021FF3A4 */ if (_t22) goto L_021FF3B8; else goto L_021FF3A8;
|
|
L_021FF3A8: ; // 0x21ff3a8
|
|
/* 021FF3A8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 021FF3AC */ _t23 = cpu->r[23] + 0x00001350u;
|
|
/* 021FF3AC */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t23);
|
|
/* 021FF3B0 */ _t24 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021FF3B0 */ _t25 = _t24 & 0x00000001u;
|
|
/* 021FF3B0 */ if (_t25) goto L_021FF490; else goto L_021FF3B4;
|
|
L_021FF3B4: ; // 0x21ff3b4
|
|
/* 021FF3B4 */ goto L_021FF3C4;
|
|
L_021FF3B8: ; // 0x21ff3b8
|
|
/* 021FF3B8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 021FF3BC */ _t26 = cpu->r[23] + 0x00001650u;
|
|
/* 021FF3BC */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t26);
|
|
/* 021FF3C0 */ _t27 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021FF3C0 */ _t28 = _t27 & 0x00000001u;
|
|
/* 021FF3C0 */ if (_t28) goto L_021FF490; else goto L_021FF3C4;
|
|
L_021FF3C4: ; // 0x21ff3c4
|
|
/* 021FF3C4 */ cpu->r[12] = 0x10040000u;
|
|
/* 021FF3C8 */ _t29 = cpu->r[12] + 0xFFFFE51Cu;
|
|
/* 021FF3C8 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t29);
|
|
/* 021FF3CC */ _t30 = cpu->r[23] + 0x000012F0u;
|
|
/* 021FF3CC */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t30);
|
|
/* 021FF3D0 */ cpu->f[29] = cpu->f[31] - cpu->f[0];
|
|
/* 021FF3D4 */ cpu->f[9] = cpu->f[31] - cpu->f[10];
|
|
/* 021FF3D8 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 021FF3DC */ cpu->f[30] = cpu->f[9] - cpu->f[29];
|
|
/* 021FF3E0 */ Gambit_fn_02830138(cpu);
|
|
/* 021FF3E4 */ cpu->r[11] = rbrew_rlwinm(cpu->r[3], 0x00000017u, 0x00000009u, 0x0000001Fu);
|
|
/* 021FF3E8 */ cpu->r[12] = cpu->r[11] | 0x3F800000u;
|
|
/* 021FF3EC */ _t31 = cpu->r[1] + 0x00000008u;
|
|
/* 021FF3EC */ rbrew_write32(cpu->mem, _t31, cpu->r[12]);
|
|
/* 021FF3F0 */ _t32 = cpu->r[1] + 0x00000008u;
|
|
/* 021FF3F0 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t32);
|
|
/* 021FF3F4 */ _t33 = cpu->r[24] + 0x00000198u;
|
|
/* 021FF3F4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t33);
|
|
/* 021FF3F8 */ cpu->f[13] = cpu->f[0] - cpu->f[31];
|
|
/* 021FF3FC */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000016u, 0x00000016u);
|
|
/* 021FF3FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 021FF400 */ cpu->f[11] = fma(cpu->f[13], cpu->f[30], cpu->f[29]);
|
|
/* 021FF404 */ _t34 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021FF404 */ _t35 = _t34 & 0x00000001u;
|
|
/* 021FF404 */ if (_t35) goto L_021FF408; else goto L_021FF4D4;
|
|
L_021FF408: ; // 0x21ff408
|
|
/* 021FF408 */ _t36 = cpu->r[23] + 0x00001530u;
|
|
/* 021FF408 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t36);
|
|
/* 021FF40C */ cpu->f[12] = cpu->f[12] * cpu->f[11];
|
|
/* 021FF410 */ cpu->r[3] = cpu->r[24];
|
|
/* 021FF414 */ _t37 = cpu->r[24] + 0x0000016Cu;
|
|
/* 021FF414 */ rbrew_write_f32(cpu->mem, _t37, cpu->f[12]);
|
|
/* 021FF418 */ Gambit_fn_021FF1B0(cpu);
|
|
/* 021FF41C */ cpu->r[3] = cpu->r[24];
|
|
/* 021FF420 */ cpu->f[29] = cpu->f[1];
|
|
/* 021FF424 */ _t38 = cpu->r[24] + 0x00000004u;
|
|
/* 021FF424 */ cpu->r[23] = rbrew_read32(cpu->mem, _t38);
|
|
/* 021FF428 */ Gambit_fn_021FF200(cpu);
|
|
/* 021FF42C */ cpu->r[3] = cpu->r[24];
|
|
/* 021FF430 */ cpu->f[30] = cpu->f[1];
|
|
/* 021FF434 */ Gambit_fn_021FF250(cpu);
|
|
/* 021FF438 */ cpu->r[3] = cpu->r[24];
|
|
/* 021FF43C */ cpu->f[31] = cpu->f[1];
|
|
/* 021FF440 */ Gambit_fn_021FF2A0(cpu);
|
|
/* 021FF444 */ _t39 = cpu->r[23] + 0x00000464u;
|
|
/* 021FF444 */ cpu->r[0] = rbrew_read32(cpu->mem, _t39);
|
|
/* 021FF448 */ cpu->f[2] = cpu->f[30];
|
|
/* 021FF44C */ cpu->ctr = cpu->r[0];
|
|
/* 021FF450 */ cpu->f[3] = cpu->f[31];
|
|
/* 021FF454 */ cpu->r[4] = cpu->r[25];
|
|
/* 021FF458 */ cpu->r[9] = cpu->r[30];
|
|
/* 021FF45C */ cpu->f[4] = cpu->f[1];
|
|
/* 021FF460 */ cpu->r[10] = cpu->r[31];
|
|
/* 021FF464 */ cpu->r[6] = cpu->r[27];
|
|
/* 021FF468 */ cpu->f[1] = cpu->f[29];
|
|
/* 021FF46C */ cpu->r[5] = cpu->r[26];
|
|
/* 021FF470 */ cpu->r[7] = cpu->r[28];
|
|
/* 021FF474 */ cpu->r[8] = cpu->r[29];
|
|
/* 021FF478 */ cpu->r[3] = cpu->r[24];
|
|
/* 021FF47C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021FF480 */ cpu->r[3] = cpu->r[29];
|
|
/* 021FF484 */ Gambit_fn_02C69350(cpu);
|
|
/* 021FF488 */ _t40 = cpu->r[24] + 0x0000012Cu;
|
|
/* 021FF488 */ rbrew_write_f32(cpu->mem, _t40, cpu->f[1]);
|
|
/* 021FF48C */ goto L_021FF558;
|
|
L_021FF490: ; // 0x21ff490
|
|
/* 021FF490 */ cpu->r[12] = 0x10040000u;
|
|
/* 021FF494 */ _t41 = cpu->r[12] + 0xFFFFE51Cu;
|
|
/* 021FF494 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t41);
|
|
/* 021FF498 */ _t42 = cpu->r[23] + 0x000015F0u;
|
|
/* 021FF498 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t42);
|
|
/* 021FF49C */ cpu->f[29] = cpu->f[31] - cpu->f[0];
|
|
/* 021FF4A0 */ cpu->f[9] = cpu->f[31] - cpu->f[10];
|
|
/* 021FF4A4 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 021FF4A8 */ cpu->f[30] = cpu->f[9] - cpu->f[29];
|
|
/* 021FF4AC */ Gambit_fn_02830138(cpu);
|
|
/* 021FF4B0 */ cpu->r[11] = rbrew_rlwinm(cpu->r[3], 0x00000017u, 0x00000009u, 0x0000001Fu);
|
|
/* 021FF4B4 */ cpu->r[12] = cpu->r[11] | 0x3F800000u;
|
|
/* 021FF4B8 */ _t43 = cpu->r[1] + 0x00000008u;
|
|
/* 021FF4B8 */ rbrew_write32(cpu->mem, _t43, cpu->r[12]);
|
|
/* 021FF4BC */ _t44 = cpu->r[1] + 0x00000008u;
|
|
/* 021FF4BC */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t44);
|
|
/* 021FF4C0 */ _t45 = cpu->r[24] + 0x00000198u;
|
|
/* 021FF4C0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t45);
|
|
/* 021FF4C4 */ cpu->f[13] = cpu->f[0] - cpu->f[31];
|
|
/* 021FF4C8 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000016u, 0x00000016u);
|
|
/* 021FF4C8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 021FF4CC */ cpu->f[11] = fma(cpu->f[13], cpu->f[30], cpu->f[29]);
|
|
/* 021FF4D0 */ _t46 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021FF4D0 */ _t47 = _t46 & 0x00000001u;
|
|
/* 021FF4D0 */ if (_t47) goto L_021FF408; else goto L_021FF4D4;
|
|
L_021FF4D4: ; // 0x21ff4d4
|
|
/* 021FF4D4 */ _t48 = cpu->r[23] + 0x00001230u;
|
|
/* 021FF4D4 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t48);
|
|
/* 021FF4D8 */ cpu->f[12] = cpu->f[12] * cpu->f[11];
|
|
/* 021FF4DC */ cpu->r[3] = cpu->r[24];
|
|
/* 021FF4E0 */ _t49 = cpu->r[24] + 0x0000016Cu;
|
|
/* 021FF4E0 */ rbrew_write_f32(cpu->mem, _t49, cpu->f[12]);
|
|
/* 021FF4E4 */ Gambit_fn_021FF1B0(cpu);
|
|
/* 021FF4E8 */ cpu->r[3] = cpu->r[24];
|
|
/* 021FF4EC */ cpu->f[29] = cpu->f[1];
|
|
/* 021FF4F0 */ _t50 = cpu->r[24] + 0x00000004u;
|
|
/* 021FF4F0 */ cpu->r[23] = rbrew_read32(cpu->mem, _t50);
|
|
/* 021FF4F4 */ Gambit_fn_021FF200(cpu);
|
|
/* 021FF4F8 */ cpu->r[3] = cpu->r[24];
|
|
/* 021FF4FC */ cpu->f[30] = cpu->f[1];
|
|
/* 021FF500 */ Gambit_fn_021FF250(cpu);
|
|
/* 021FF504 */ cpu->r[3] = cpu->r[24];
|
|
/* 021FF508 */ cpu->f[31] = cpu->f[1];
|
|
/* 021FF50C */ Gambit_fn_021FF2A0(cpu);
|
|
/* 021FF510 */ _t51 = cpu->r[23] + 0x00000464u;
|
|
/* 021FF510 */ cpu->r[0] = rbrew_read32(cpu->mem, _t51);
|
|
/* 021FF514 */ cpu->f[2] = cpu->f[30];
|
|
/* 021FF518 */ cpu->ctr = cpu->r[0];
|
|
/* 021FF51C */ cpu->f[3] = cpu->f[31];
|
|
/* 021FF520 */ cpu->r[4] = cpu->r[25];
|
|
/* 021FF524 */ cpu->r[9] = cpu->r[30];
|
|
/* 021FF528 */ cpu->f[4] = cpu->f[1];
|
|
/* 021FF52C */ cpu->r[10] = cpu->r[31];
|
|
/* 021FF530 */ cpu->r[6] = cpu->r[27];
|
|
/* 021FF534 */ cpu->f[1] = cpu->f[29];
|
|
/* 021FF538 */ cpu->r[5] = cpu->r[26];
|
|
/* 021FF53C */ cpu->r[7] = cpu->r[28];
|
|
/* 021FF540 */ cpu->r[8] = cpu->r[29];
|
|
/* 021FF544 */ cpu->r[3] = cpu->r[24];
|
|
/* 021FF548 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021FF54C */ cpu->r[3] = cpu->r[29];
|
|
/* 021FF550 */ Gambit_fn_02C69350(cpu);
|
|
/* 021FF554 */ _t52 = cpu->r[24] + 0x0000012Cu;
|
|
/* 021FF554 */ rbrew_write_f32(cpu->mem, _t52, cpu->f[1]);
|
|
L_021FF558: ; // 0x21ff558
|
|
/* 021FF558 */ /* nop */
|
|
/* 021FF55C */ _t53 = cpu->r[1] + 0x00000048u;
|
|
/* 021FF55C */ cpu->f[29] = rbrew_read_f32(cpu->mem, _t53);
|
|
/* 021FF560 */ _t54 = cpu->r[1] + 0x00000058u;
|
|
/* 021FF560 */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t54);
|
|
/* 021FF564 */ _t55 = cpu->r[1] + 0x00000040u;
|
|
/* 021FF564 */ cpu->f[29] = rbrew_read_f64(cpu->mem, _t55);
|
|
/* 021FF568 */ _t56 = cpu->r[1] + 0x00000068u;
|
|
/* 021FF568 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t56);
|
|
/* 021FF56C */ _t57 = cpu->r[1] + 0x00000050u;
|
|
/* 021FF56C */ cpu->f[30] = rbrew_read_f64(cpu->mem, _t57);
|
|
/* 021FF570 */ _t58 = cpu->r[1] + 0x00000060u;
|
|
/* 021FF570 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t58);
|
|
/* 021FF574 */ _t59 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 021FF574 */ _t60 = _t59 & 0x00000001u;
|
|
/* 021FF574 */ if (_t60) goto L_021FF578; // else: addr-0 trap, fall-through
|
|
L_021FF578: ; // 0x21ff578
|
|
/* 021FF578 */ _t61 = cpu->r[1] + 0x00000074u;
|
|
/* 021FF578 */ cpu->r[0] = rbrew_read32(cpu->mem, _t61);
|
|
/* 021FF57C */ cpu->lr = cpu->r[0];
|
|
/* 021FF580 */ cpu->r[1] = cpu->r[1] + 0x00000070u;
|
|
/* 021FF584 */ return;
|
|
}
|
|
|
|
// fn_021FF588 @ 0x21ff588
|
|
void Gambit_fn_021FF588(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68;
|
|
|
|
L_021FF2F0: ; // 0x21ff2f0
|
|
/* 021FF2F0 */ _t0 = cpu->r[1] + 0xFFFFFF90u;
|
|
/* 021FF2F0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 021FF2F0 */ cpu->r[1] = _t0;
|
|
/* 021FF2F4 */ /* nop */
|
|
/* 021FF2F8 */ _t1 = cpu->r[1] + 0x00000040u;
|
|
/* 021FF2F8 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[29]);
|
|
/* 021FF2FC */ /* nop */
|
|
/* 021FF300 */ _t2 = cpu->r[1] + 0x00000050u;
|
|
/* 021FF300 */ rbrew_write_f64(cpu->mem, _t2, cpu->f[30]);
|
|
/* 021FF304 */ /* nop */
|
|
/* 021FF308 */ _t3 = cpu->r[1] + 0x00000048u;
|
|
/* 021FF308 */ rbrew_write_f32(cpu->mem, _t3, cpu->f[29]);
|
|
/* 021FF30C */ _t4 = cpu->r[1] + 0x00000060u;
|
|
/* 021FF30C */ rbrew_write_f64(cpu->mem, _t4, cpu->f[31]);
|
|
/* 021FF310 */ cpu->r[0] = cpu->lr;
|
|
/* 021FF314 */ _t5 = cpu->r[1] + 0x00000058u;
|
|
/* 021FF314 */ rbrew_write_f32(cpu->mem, _t5, cpu->f[30]);
|
|
/* 021FF318 */ /* nop */
|
|
/* 021FF31C */ _t6 = cpu->r[1] + 0x00000068u;
|
|
/* 021FF31C */ rbrew_write_f32(cpu->mem, _t6, cpu->f[31]);
|
|
/* 021FF320 */ _t7 = cpu->r[1] + 0x00000074u;
|
|
/* 021FF320 */ rbrew_write32(cpu->mem, _t7, cpu->r[0]);
|
|
/* 021FF324 */ cpu->r[29] = cpu->r[8];
|
|
/* 021FF328 */ cpu->r[27] = cpu->r[6];
|
|
/* 021FF32C */ _t8 = cpu->r[3] + 0x00000004u;
|
|
/* 021FF32C */ cpu->r[6] = rbrew_read32(cpu->mem, _t8);
|
|
/* 021FF330 */ _t9 = cpu->r[6] + 0x00000474u;
|
|
/* 021FF330 */ cpu->r[12] = rbrew_read32(cpu->mem, _t9);
|
|
/* 021FF334 */ cpu->ctr = cpu->r[12];
|
|
/* 021FF338 */ cpu->r[25] = cpu->r[4];
|
|
/* 021FF33C */ cpu->r[26] = cpu->r[5];
|
|
/* 021FF340 */ cpu->r[28] = cpu->r[7];
|
|
/* 021FF344 */ cpu->r[30] = cpu->r[9];
|
|
/* 021FF348 */ cpu->r[31] = cpu->r[10];
|
|
/* 021FF34C */ cpu->r[24] = cpu->r[3];
|
|
/* 021FF350 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021FF354 */ _t10 = cpu->r[24] + 0x00000198u;
|
|
/* 021FF354 */ cpu->r[10] = rbrew_read32(cpu->mem, _t10);
|
|
/* 021FF358 */ cpu->r[10] = rbrew_rlwinm(cpu->r[10], 0x00000000u, 0x00000016u, 0x00000016u);
|
|
/* 021FF358 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 021FF35C */ cpu->r[23] = cpu->r[3];
|
|
/* 021FF360 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021FF360 */ _t12 = _t11 & 0x00000001u;
|
|
/* 021FF360 */ if (_t12) goto L_021FF388; else goto L_021FF364;
|
|
L_021FF364: ; // 0x21ff364
|
|
/* 021FF364 */ _t13 = cpu->r[23] + 0x00000B10u;
|
|
/* 021FF364 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t13);
|
|
/* 021FF368 */ cpu->r[4] = cpu->r[31];
|
|
/* 021FF36C */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 021FF370 */ _t14 = cpu->r[24] + 0x00000130u;
|
|
/* 021FF370 */ rbrew_write_f32(cpu->mem, _t14, cpu->f[13]);
|
|
/* 021FF374 */ Gambit_fn_028300A4(cpu);
|
|
/* 021FF378 */ _t15 = cpu->r[24] + 0x00000198u;
|
|
/* 021FF378 */ cpu->r[9] = rbrew_read32(cpu->mem, _t15);
|
|
/* 021FF37C */ cpu->r[0] = rbrew_rlwinm(cpu->r[9], 0x00000017u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 021FF37C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 021FF380 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021FF380 */ _t17 = _t16 & 0x00000001u;
|
|
/* 021FF380 */ if (_t17) goto L_021FF3B8; else goto L_021FF384;
|
|
L_021FF384: ; // 0x21ff384
|
|
/* 021FF384 */ goto L_021FF3A8;
|
|
L_021FF388: ; // 0x21ff388
|
|
/* 021FF388 */ _t18 = cpu->r[23] + 0x00000FF0u;
|
|
/* 021FF388 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t18);
|
|
/* 021FF38C */ cpu->r[4] = cpu->r[31];
|
|
/* 021FF390 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 021FF394 */ _t19 = cpu->r[24] + 0x00000130u;
|
|
/* 021FF394 */ rbrew_write_f32(cpu->mem, _t19, cpu->f[13]);
|
|
/* 021FF398 */ Gambit_fn_028300A4(cpu);
|
|
/* 021FF39C */ _t20 = cpu->r[24] + 0x00000198u;
|
|
/* 021FF39C */ cpu->r[9] = rbrew_read32(cpu->mem, _t20);
|
|
/* 021FF3A0 */ cpu->r[0] = rbrew_rlwinm(cpu->r[9], 0x00000017u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 021FF3A0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 021FF3A4 */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021FF3A4 */ _t22 = _t21 & 0x00000001u;
|
|
/* 021FF3A4 */ if (_t22) goto L_021FF3B8; else goto L_021FF3A8;
|
|
L_021FF3A8: ; // 0x21ff3a8
|
|
/* 021FF3A8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 021FF3AC */ _t23 = cpu->r[23] + 0x00001350u;
|
|
/* 021FF3AC */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t23);
|
|
/* 021FF3B0 */ _t24 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021FF3B0 */ _t25 = _t24 & 0x00000001u;
|
|
/* 021FF3B0 */ if (_t25) goto L_021FF490; else goto L_021FF3B4;
|
|
L_021FF3B4: ; // 0x21ff3b4
|
|
/* 021FF3B4 */ goto L_021FF3C4;
|
|
L_021FF3B8: ; // 0x21ff3b8
|
|
/* 021FF3B8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 021FF3BC */ _t26 = cpu->r[23] + 0x00001650u;
|
|
/* 021FF3BC */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t26);
|
|
/* 021FF3C0 */ _t27 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021FF3C0 */ _t28 = _t27 & 0x00000001u;
|
|
/* 021FF3C0 */ if (_t28) goto L_021FF490; else goto L_021FF3C4;
|
|
L_021FF3C4: ; // 0x21ff3c4
|
|
/* 021FF3C4 */ cpu->r[12] = 0x10040000u;
|
|
/* 021FF3C8 */ _t29 = cpu->r[12] + 0xFFFFE51Cu;
|
|
/* 021FF3C8 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t29);
|
|
/* 021FF3CC */ _t30 = cpu->r[23] + 0x000012F0u;
|
|
/* 021FF3CC */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t30);
|
|
/* 021FF3D0 */ cpu->f[29] = cpu->f[31] - cpu->f[0];
|
|
/* 021FF3D4 */ cpu->f[9] = cpu->f[31] - cpu->f[10];
|
|
/* 021FF3D8 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 021FF3DC */ cpu->f[30] = cpu->f[9] - cpu->f[29];
|
|
/* 021FF3E0 */ Gambit_fn_02830138(cpu);
|
|
/* 021FF3E4 */ cpu->r[11] = rbrew_rlwinm(cpu->r[3], 0x00000017u, 0x00000009u, 0x0000001Fu);
|
|
/* 021FF3E8 */ cpu->r[12] = cpu->r[11] | 0x3F800000u;
|
|
/* 021FF3EC */ _t31 = cpu->r[1] + 0x00000008u;
|
|
/* 021FF3EC */ rbrew_write32(cpu->mem, _t31, cpu->r[12]);
|
|
/* 021FF3F0 */ _t32 = cpu->r[1] + 0x00000008u;
|
|
/* 021FF3F0 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t32);
|
|
/* 021FF3F4 */ _t33 = cpu->r[24] + 0x00000198u;
|
|
/* 021FF3F4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t33);
|
|
/* 021FF3F8 */ cpu->f[13] = cpu->f[0] - cpu->f[31];
|
|
/* 021FF3FC */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000016u, 0x00000016u);
|
|
/* 021FF3FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 021FF400 */ cpu->f[11] = fma(cpu->f[13], cpu->f[30], cpu->f[29]);
|
|
/* 021FF404 */ _t34 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021FF404 */ _t35 = _t34 & 0x00000001u;
|
|
/* 021FF404 */ if (_t35) goto L_021FF408; else goto L_021FF4D4;
|
|
L_021FF408: ; // 0x21ff408
|
|
/* 021FF408 */ _t36 = cpu->r[23] + 0x00001530u;
|
|
/* 021FF408 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t36);
|
|
/* 021FF40C */ cpu->f[12] = cpu->f[12] * cpu->f[11];
|
|
/* 021FF410 */ cpu->r[3] = cpu->r[24];
|
|
/* 021FF414 */ _t37 = cpu->r[24] + 0x0000016Cu;
|
|
/* 021FF414 */ rbrew_write_f32(cpu->mem, _t37, cpu->f[12]);
|
|
/* 021FF418 */ Gambit_fn_021FF1B0(cpu);
|
|
/* 021FF41C */ cpu->r[3] = cpu->r[24];
|
|
/* 021FF420 */ cpu->f[29] = cpu->f[1];
|
|
/* 021FF424 */ _t38 = cpu->r[24] + 0x00000004u;
|
|
/* 021FF424 */ cpu->r[23] = rbrew_read32(cpu->mem, _t38);
|
|
/* 021FF428 */ Gambit_fn_021FF200(cpu);
|
|
/* 021FF42C */ cpu->r[3] = cpu->r[24];
|
|
/* 021FF430 */ cpu->f[30] = cpu->f[1];
|
|
/* 021FF434 */ Gambit_fn_021FF250(cpu);
|
|
/* 021FF438 */ cpu->r[3] = cpu->r[24];
|
|
/* 021FF43C */ cpu->f[31] = cpu->f[1];
|
|
/* 021FF440 */ Gambit_fn_021FF2A0(cpu);
|
|
/* 021FF444 */ _t39 = cpu->r[23] + 0x00000464u;
|
|
/* 021FF444 */ cpu->r[0] = rbrew_read32(cpu->mem, _t39);
|
|
/* 021FF448 */ cpu->f[2] = cpu->f[30];
|
|
/* 021FF44C */ cpu->ctr = cpu->r[0];
|
|
/* 021FF450 */ cpu->f[3] = cpu->f[31];
|
|
/* 021FF454 */ cpu->r[4] = cpu->r[25];
|
|
/* 021FF458 */ cpu->r[9] = cpu->r[30];
|
|
/* 021FF45C */ cpu->f[4] = cpu->f[1];
|
|
/* 021FF460 */ cpu->r[10] = cpu->r[31];
|
|
/* 021FF464 */ cpu->r[6] = cpu->r[27];
|
|
/* 021FF468 */ cpu->f[1] = cpu->f[29];
|
|
/* 021FF46C */ cpu->r[5] = cpu->r[26];
|
|
/* 021FF470 */ cpu->r[7] = cpu->r[28];
|
|
/* 021FF474 */ cpu->r[8] = cpu->r[29];
|
|
/* 021FF478 */ cpu->r[3] = cpu->r[24];
|
|
/* 021FF47C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021FF480 */ cpu->r[3] = cpu->r[29];
|
|
/* 021FF484 */ Gambit_fn_02C69350(cpu);
|
|
/* 021FF488 */ _t40 = cpu->r[24] + 0x0000012Cu;
|
|
/* 021FF488 */ rbrew_write_f32(cpu->mem, _t40, cpu->f[1]);
|
|
/* 021FF48C */ goto L_021FF558;
|
|
L_021FF490: ; // 0x21ff490
|
|
/* 021FF490 */ cpu->r[12] = 0x10040000u;
|
|
/* 021FF494 */ _t41 = cpu->r[12] + 0xFFFFE51Cu;
|
|
/* 021FF494 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t41);
|
|
/* 021FF498 */ _t42 = cpu->r[23] + 0x000015F0u;
|
|
/* 021FF498 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t42);
|
|
/* 021FF49C */ cpu->f[29] = cpu->f[31] - cpu->f[0];
|
|
/* 021FF4A0 */ cpu->f[9] = cpu->f[31] - cpu->f[10];
|
|
/* 021FF4A4 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 021FF4A8 */ cpu->f[30] = cpu->f[9] - cpu->f[29];
|
|
/* 021FF4AC */ Gambit_fn_02830138(cpu);
|
|
/* 021FF4B0 */ cpu->r[11] = rbrew_rlwinm(cpu->r[3], 0x00000017u, 0x00000009u, 0x0000001Fu);
|
|
/* 021FF4B4 */ cpu->r[12] = cpu->r[11] | 0x3F800000u;
|
|
/* 021FF4B8 */ _t43 = cpu->r[1] + 0x00000008u;
|
|
/* 021FF4B8 */ rbrew_write32(cpu->mem, _t43, cpu->r[12]);
|
|
/* 021FF4BC */ _t44 = cpu->r[1] + 0x00000008u;
|
|
/* 021FF4BC */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t44);
|
|
/* 021FF4C0 */ _t45 = cpu->r[24] + 0x00000198u;
|
|
/* 021FF4C0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t45);
|
|
/* 021FF4C4 */ cpu->f[13] = cpu->f[0] - cpu->f[31];
|
|
/* 021FF4C8 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000016u, 0x00000016u);
|
|
/* 021FF4C8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 021FF4CC */ cpu->f[11] = fma(cpu->f[13], cpu->f[30], cpu->f[29]);
|
|
/* 021FF4D0 */ _t46 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021FF4D0 */ _t47 = _t46 & 0x00000001u;
|
|
/* 021FF4D0 */ if (_t47) goto L_021FF408; else goto L_021FF4D4;
|
|
L_021FF4D4: ; // 0x21ff4d4
|
|
/* 021FF4D4 */ _t48 = cpu->r[23] + 0x00001230u;
|
|
/* 021FF4D4 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t48);
|
|
/* 021FF4D8 */ cpu->f[12] = cpu->f[12] * cpu->f[11];
|
|
/* 021FF4DC */ cpu->r[3] = cpu->r[24];
|
|
/* 021FF4E0 */ _t49 = cpu->r[24] + 0x0000016Cu;
|
|
/* 021FF4E0 */ rbrew_write_f32(cpu->mem, _t49, cpu->f[12]);
|
|
/* 021FF4E4 */ Gambit_fn_021FF1B0(cpu);
|
|
/* 021FF4E8 */ cpu->r[3] = cpu->r[24];
|
|
/* 021FF4EC */ cpu->f[29] = cpu->f[1];
|
|
/* 021FF4F0 */ _t50 = cpu->r[24] + 0x00000004u;
|
|
/* 021FF4F0 */ cpu->r[23] = rbrew_read32(cpu->mem, _t50);
|
|
/* 021FF4F4 */ Gambit_fn_021FF200(cpu);
|
|
/* 021FF4F8 */ cpu->r[3] = cpu->r[24];
|
|
/* 021FF4FC */ cpu->f[30] = cpu->f[1];
|
|
/* 021FF500 */ Gambit_fn_021FF250(cpu);
|
|
/* 021FF504 */ cpu->r[3] = cpu->r[24];
|
|
/* 021FF508 */ cpu->f[31] = cpu->f[1];
|
|
/* 021FF50C */ Gambit_fn_021FF2A0(cpu);
|
|
/* 021FF510 */ _t51 = cpu->r[23] + 0x00000464u;
|
|
/* 021FF510 */ cpu->r[0] = rbrew_read32(cpu->mem, _t51);
|
|
/* 021FF514 */ cpu->f[2] = cpu->f[30];
|
|
/* 021FF518 */ cpu->ctr = cpu->r[0];
|
|
/* 021FF51C */ cpu->f[3] = cpu->f[31];
|
|
/* 021FF520 */ cpu->r[4] = cpu->r[25];
|
|
/* 021FF524 */ cpu->r[9] = cpu->r[30];
|
|
/* 021FF528 */ cpu->f[4] = cpu->f[1];
|
|
/* 021FF52C */ cpu->r[10] = cpu->r[31];
|
|
/* 021FF530 */ cpu->r[6] = cpu->r[27];
|
|
/* 021FF534 */ cpu->f[1] = cpu->f[29];
|
|
/* 021FF538 */ cpu->r[5] = cpu->r[26];
|
|
/* 021FF53C */ cpu->r[7] = cpu->r[28];
|
|
/* 021FF540 */ cpu->r[8] = cpu->r[29];
|
|
/* 021FF544 */ cpu->r[3] = cpu->r[24];
|
|
/* 021FF548 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021FF54C */ cpu->r[3] = cpu->r[29];
|
|
/* 021FF550 */ Gambit_fn_02C69350(cpu);
|
|
/* 021FF554 */ _t52 = cpu->r[24] + 0x0000012Cu;
|
|
/* 021FF554 */ rbrew_write_f32(cpu->mem, _t52, cpu->f[1]);
|
|
L_021FF558: ; // 0x21ff558
|
|
/* 021FF558 */ /* nop */
|
|
/* 021FF55C */ _t53 = cpu->r[1] + 0x00000048u;
|
|
/* 021FF55C */ cpu->f[29] = rbrew_read_f32(cpu->mem, _t53);
|
|
/* 021FF560 */ _t54 = cpu->r[1] + 0x00000058u;
|
|
/* 021FF560 */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t54);
|
|
/* 021FF564 */ _t55 = cpu->r[1] + 0x00000040u;
|
|
/* 021FF564 */ cpu->f[29] = rbrew_read_f64(cpu->mem, _t55);
|
|
/* 021FF568 */ _t56 = cpu->r[1] + 0x00000068u;
|
|
/* 021FF568 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t56);
|
|
/* 021FF56C */ _t57 = cpu->r[1] + 0x00000050u;
|
|
/* 021FF56C */ cpu->f[30] = rbrew_read_f64(cpu->mem, _t57);
|
|
/* 021FF570 */ _t58 = cpu->r[1] + 0x00000060u;
|
|
/* 021FF570 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t58);
|
|
/* 021FF574 */ _t59 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 021FF574 */ _t60 = _t59 & 0x00000001u;
|
|
/* 021FF574 */ if (_t60) goto L_021FF578; // else: addr-0 trap, fall-through
|
|
L_021FF578: ; // 0x21ff578
|
|
/* 021FF578 */ _t61 = cpu->r[1] + 0x00000074u;
|
|
/* 021FF578 */ cpu->r[0] = rbrew_read32(cpu->mem, _t61);
|
|
/* 021FF57C */ cpu->lr = cpu->r[0];
|
|
/* 021FF580 */ cpu->r[1] = cpu->r[1] + 0x00000070u;
|
|
/* 021FF584 */ return;
|
|
L_021FF588: ; // 0x21ff588
|
|
/* 021FF588 */ _t62 = cpu->r[3] + 0x00000198u;
|
|
/* 021FF588 */ cpu->r[12] = rbrew_read32(cpu->mem, _t62);
|
|
/* 021FF58C */ _t63 = cpu->r[1] + 0x00000008u;
|
|
/* 021FF58C */ cpu->r[0] = rbrew_read32(cpu->mem, _t63);
|
|
/* 021FF590 */ _t64 = rbrew_rlwinm(cpu->r[9], 0x0000000Eu, 0x00000010u, 0x00000011u);
|
|
/* 021FF590 */ _t65 = cpu->r[12] & 0xFFFF3FFFu;
|
|
/* 021FF590 */ cpu->r[12] = _t65 | _t64;
|
|
/* 021FF594 */ cpu->r[9] = 0x00000001u;
|
|
/* 021FF598 */ _t66 = rbrew_rlwinm(cpu->r[10], 0x00000009u, 0x00000016u, 0x00000016u);
|
|
/* 021FF598 */ _t67 = cpu->r[12] & 0xFFFFFDFFu;
|
|
/* 021FF598 */ cpu->r[12] = _t67 | _t66;
|
|
/* 021FF59C */ cpu->r[10] = cpu->r[0];
|
|
/* 021FF5A0 */ _t68 = cpu->r[3] + 0x00000198u;
|
|
/* 021FF5A0 */ rbrew_write32(cpu->mem, _t68, cpu->r[12]);
|
|
/* 021FF5A4 */ goto L_021FF2F0;
|
|
}
|
|
|
|
// fn_021FF5A8 @ 0x21ff5a8
|
|
void Gambit_fn_021FF5A8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68;
|
|
|
|
L_021FF2F0: ; // 0x21ff2f0
|
|
/* 021FF2F0 */ _t0 = cpu->r[1] + 0xFFFFFF90u;
|
|
/* 021FF2F0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 021FF2F0 */ cpu->r[1] = _t0;
|
|
/* 021FF2F4 */ /* nop */
|
|
/* 021FF2F8 */ _t1 = cpu->r[1] + 0x00000040u;
|
|
/* 021FF2F8 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[29]);
|
|
/* 021FF2FC */ /* nop */
|
|
/* 021FF300 */ _t2 = cpu->r[1] + 0x00000050u;
|
|
/* 021FF300 */ rbrew_write_f64(cpu->mem, _t2, cpu->f[30]);
|
|
/* 021FF304 */ /* nop */
|
|
/* 021FF308 */ _t3 = cpu->r[1] + 0x00000048u;
|
|
/* 021FF308 */ rbrew_write_f32(cpu->mem, _t3, cpu->f[29]);
|
|
/* 021FF30C */ _t4 = cpu->r[1] + 0x00000060u;
|
|
/* 021FF30C */ rbrew_write_f64(cpu->mem, _t4, cpu->f[31]);
|
|
/* 021FF310 */ cpu->r[0] = cpu->lr;
|
|
/* 021FF314 */ _t5 = cpu->r[1] + 0x00000058u;
|
|
/* 021FF314 */ rbrew_write_f32(cpu->mem, _t5, cpu->f[30]);
|
|
/* 021FF318 */ /* nop */
|
|
/* 021FF31C */ _t6 = cpu->r[1] + 0x00000068u;
|
|
/* 021FF31C */ rbrew_write_f32(cpu->mem, _t6, cpu->f[31]);
|
|
/* 021FF320 */ _t7 = cpu->r[1] + 0x00000074u;
|
|
/* 021FF320 */ rbrew_write32(cpu->mem, _t7, cpu->r[0]);
|
|
/* 021FF324 */ cpu->r[29] = cpu->r[8];
|
|
/* 021FF328 */ cpu->r[27] = cpu->r[6];
|
|
/* 021FF32C */ _t8 = cpu->r[3] + 0x00000004u;
|
|
/* 021FF32C */ cpu->r[6] = rbrew_read32(cpu->mem, _t8);
|
|
/* 021FF330 */ _t9 = cpu->r[6] + 0x00000474u;
|
|
/* 021FF330 */ cpu->r[12] = rbrew_read32(cpu->mem, _t9);
|
|
/* 021FF334 */ cpu->ctr = cpu->r[12];
|
|
/* 021FF338 */ cpu->r[25] = cpu->r[4];
|
|
/* 021FF33C */ cpu->r[26] = cpu->r[5];
|
|
/* 021FF340 */ cpu->r[28] = cpu->r[7];
|
|
/* 021FF344 */ cpu->r[30] = cpu->r[9];
|
|
/* 021FF348 */ cpu->r[31] = cpu->r[10];
|
|
/* 021FF34C */ cpu->r[24] = cpu->r[3];
|
|
/* 021FF350 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021FF354 */ _t10 = cpu->r[24] + 0x00000198u;
|
|
/* 021FF354 */ cpu->r[10] = rbrew_read32(cpu->mem, _t10);
|
|
/* 021FF358 */ cpu->r[10] = rbrew_rlwinm(cpu->r[10], 0x00000000u, 0x00000016u, 0x00000016u);
|
|
/* 021FF358 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 021FF35C */ cpu->r[23] = cpu->r[3];
|
|
/* 021FF360 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021FF360 */ _t12 = _t11 & 0x00000001u;
|
|
/* 021FF360 */ if (_t12) goto L_021FF388; else goto L_021FF364;
|
|
L_021FF364: ; // 0x21ff364
|
|
/* 021FF364 */ _t13 = cpu->r[23] + 0x00000B10u;
|
|
/* 021FF364 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t13);
|
|
/* 021FF368 */ cpu->r[4] = cpu->r[31];
|
|
/* 021FF36C */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 021FF370 */ _t14 = cpu->r[24] + 0x00000130u;
|
|
/* 021FF370 */ rbrew_write_f32(cpu->mem, _t14, cpu->f[13]);
|
|
/* 021FF374 */ Gambit_fn_028300A4(cpu);
|
|
/* 021FF378 */ _t15 = cpu->r[24] + 0x00000198u;
|
|
/* 021FF378 */ cpu->r[9] = rbrew_read32(cpu->mem, _t15);
|
|
/* 021FF37C */ cpu->r[0] = rbrew_rlwinm(cpu->r[9], 0x00000017u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 021FF37C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 021FF380 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021FF380 */ _t17 = _t16 & 0x00000001u;
|
|
/* 021FF380 */ if (_t17) goto L_021FF3B8; else goto L_021FF384;
|
|
L_021FF384: ; // 0x21ff384
|
|
/* 021FF384 */ goto L_021FF3A8;
|
|
L_021FF388: ; // 0x21ff388
|
|
/* 021FF388 */ _t18 = cpu->r[23] + 0x00000FF0u;
|
|
/* 021FF388 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t18);
|
|
/* 021FF38C */ cpu->r[4] = cpu->r[31];
|
|
/* 021FF390 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 021FF394 */ _t19 = cpu->r[24] + 0x00000130u;
|
|
/* 021FF394 */ rbrew_write_f32(cpu->mem, _t19, cpu->f[13]);
|
|
/* 021FF398 */ Gambit_fn_028300A4(cpu);
|
|
/* 021FF39C */ _t20 = cpu->r[24] + 0x00000198u;
|
|
/* 021FF39C */ cpu->r[9] = rbrew_read32(cpu->mem, _t20);
|
|
/* 021FF3A0 */ cpu->r[0] = rbrew_rlwinm(cpu->r[9], 0x00000017u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 021FF3A0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 021FF3A4 */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021FF3A4 */ _t22 = _t21 & 0x00000001u;
|
|
/* 021FF3A4 */ if (_t22) goto L_021FF3B8; else goto L_021FF3A8;
|
|
L_021FF3A8: ; // 0x21ff3a8
|
|
/* 021FF3A8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 021FF3AC */ _t23 = cpu->r[23] + 0x00001350u;
|
|
/* 021FF3AC */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t23);
|
|
/* 021FF3B0 */ _t24 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021FF3B0 */ _t25 = _t24 & 0x00000001u;
|
|
/* 021FF3B0 */ if (_t25) goto L_021FF490; else goto L_021FF3B4;
|
|
L_021FF3B4: ; // 0x21ff3b4
|
|
/* 021FF3B4 */ goto L_021FF3C4;
|
|
L_021FF3B8: ; // 0x21ff3b8
|
|
/* 021FF3B8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 021FF3BC */ _t26 = cpu->r[23] + 0x00001650u;
|
|
/* 021FF3BC */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t26);
|
|
/* 021FF3C0 */ _t27 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021FF3C0 */ _t28 = _t27 & 0x00000001u;
|
|
/* 021FF3C0 */ if (_t28) goto L_021FF490; else goto L_021FF3C4;
|
|
L_021FF3C4: ; // 0x21ff3c4
|
|
/* 021FF3C4 */ cpu->r[12] = 0x10040000u;
|
|
/* 021FF3C8 */ _t29 = cpu->r[12] + 0xFFFFE51Cu;
|
|
/* 021FF3C8 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t29);
|
|
/* 021FF3CC */ _t30 = cpu->r[23] + 0x000012F0u;
|
|
/* 021FF3CC */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t30);
|
|
/* 021FF3D0 */ cpu->f[29] = cpu->f[31] - cpu->f[0];
|
|
/* 021FF3D4 */ cpu->f[9] = cpu->f[31] - cpu->f[10];
|
|
/* 021FF3D8 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 021FF3DC */ cpu->f[30] = cpu->f[9] - cpu->f[29];
|
|
/* 021FF3E0 */ Gambit_fn_02830138(cpu);
|
|
/* 021FF3E4 */ cpu->r[11] = rbrew_rlwinm(cpu->r[3], 0x00000017u, 0x00000009u, 0x0000001Fu);
|
|
/* 021FF3E8 */ cpu->r[12] = cpu->r[11] | 0x3F800000u;
|
|
/* 021FF3EC */ _t31 = cpu->r[1] + 0x00000008u;
|
|
/* 021FF3EC */ rbrew_write32(cpu->mem, _t31, cpu->r[12]);
|
|
/* 021FF3F0 */ _t32 = cpu->r[1] + 0x00000008u;
|
|
/* 021FF3F0 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t32);
|
|
/* 021FF3F4 */ _t33 = cpu->r[24] + 0x00000198u;
|
|
/* 021FF3F4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t33);
|
|
/* 021FF3F8 */ cpu->f[13] = cpu->f[0] - cpu->f[31];
|
|
/* 021FF3FC */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000016u, 0x00000016u);
|
|
/* 021FF3FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 021FF400 */ cpu->f[11] = fma(cpu->f[13], cpu->f[30], cpu->f[29]);
|
|
/* 021FF404 */ _t34 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021FF404 */ _t35 = _t34 & 0x00000001u;
|
|
/* 021FF404 */ if (_t35) goto L_021FF408; else goto L_021FF4D4;
|
|
L_021FF408: ; // 0x21ff408
|
|
/* 021FF408 */ _t36 = cpu->r[23] + 0x00001530u;
|
|
/* 021FF408 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t36);
|
|
/* 021FF40C */ cpu->f[12] = cpu->f[12] * cpu->f[11];
|
|
/* 021FF410 */ cpu->r[3] = cpu->r[24];
|
|
/* 021FF414 */ _t37 = cpu->r[24] + 0x0000016Cu;
|
|
/* 021FF414 */ rbrew_write_f32(cpu->mem, _t37, cpu->f[12]);
|
|
/* 021FF418 */ Gambit_fn_021FF1B0(cpu);
|
|
/* 021FF41C */ cpu->r[3] = cpu->r[24];
|
|
/* 021FF420 */ cpu->f[29] = cpu->f[1];
|
|
/* 021FF424 */ _t38 = cpu->r[24] + 0x00000004u;
|
|
/* 021FF424 */ cpu->r[23] = rbrew_read32(cpu->mem, _t38);
|
|
/* 021FF428 */ Gambit_fn_021FF200(cpu);
|
|
/* 021FF42C */ cpu->r[3] = cpu->r[24];
|
|
/* 021FF430 */ cpu->f[30] = cpu->f[1];
|
|
/* 021FF434 */ Gambit_fn_021FF250(cpu);
|
|
/* 021FF438 */ cpu->r[3] = cpu->r[24];
|
|
/* 021FF43C */ cpu->f[31] = cpu->f[1];
|
|
/* 021FF440 */ Gambit_fn_021FF2A0(cpu);
|
|
/* 021FF444 */ _t39 = cpu->r[23] + 0x00000464u;
|
|
/* 021FF444 */ cpu->r[0] = rbrew_read32(cpu->mem, _t39);
|
|
/* 021FF448 */ cpu->f[2] = cpu->f[30];
|
|
/* 021FF44C */ cpu->ctr = cpu->r[0];
|
|
/* 021FF450 */ cpu->f[3] = cpu->f[31];
|
|
/* 021FF454 */ cpu->r[4] = cpu->r[25];
|
|
/* 021FF458 */ cpu->r[9] = cpu->r[30];
|
|
/* 021FF45C */ cpu->f[4] = cpu->f[1];
|
|
/* 021FF460 */ cpu->r[10] = cpu->r[31];
|
|
/* 021FF464 */ cpu->r[6] = cpu->r[27];
|
|
/* 021FF468 */ cpu->f[1] = cpu->f[29];
|
|
/* 021FF46C */ cpu->r[5] = cpu->r[26];
|
|
/* 021FF470 */ cpu->r[7] = cpu->r[28];
|
|
/* 021FF474 */ cpu->r[8] = cpu->r[29];
|
|
/* 021FF478 */ cpu->r[3] = cpu->r[24];
|
|
/* 021FF47C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021FF480 */ cpu->r[3] = cpu->r[29];
|
|
/* 021FF484 */ Gambit_fn_02C69350(cpu);
|
|
/* 021FF488 */ _t40 = cpu->r[24] + 0x0000012Cu;
|
|
/* 021FF488 */ rbrew_write_f32(cpu->mem, _t40, cpu->f[1]);
|
|
/* 021FF48C */ goto L_021FF558;
|
|
L_021FF490: ; // 0x21ff490
|
|
/* 021FF490 */ cpu->r[12] = 0x10040000u;
|
|
/* 021FF494 */ _t41 = cpu->r[12] + 0xFFFFE51Cu;
|
|
/* 021FF494 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t41);
|
|
/* 021FF498 */ _t42 = cpu->r[23] + 0x000015F0u;
|
|
/* 021FF498 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t42);
|
|
/* 021FF49C */ cpu->f[29] = cpu->f[31] - cpu->f[0];
|
|
/* 021FF4A0 */ cpu->f[9] = cpu->f[31] - cpu->f[10];
|
|
/* 021FF4A4 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 021FF4A8 */ cpu->f[30] = cpu->f[9] - cpu->f[29];
|
|
/* 021FF4AC */ Gambit_fn_02830138(cpu);
|
|
/* 021FF4B0 */ cpu->r[11] = rbrew_rlwinm(cpu->r[3], 0x00000017u, 0x00000009u, 0x0000001Fu);
|
|
/* 021FF4B4 */ cpu->r[12] = cpu->r[11] | 0x3F800000u;
|
|
/* 021FF4B8 */ _t43 = cpu->r[1] + 0x00000008u;
|
|
/* 021FF4B8 */ rbrew_write32(cpu->mem, _t43, cpu->r[12]);
|
|
/* 021FF4BC */ _t44 = cpu->r[1] + 0x00000008u;
|
|
/* 021FF4BC */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t44);
|
|
/* 021FF4C0 */ _t45 = cpu->r[24] + 0x00000198u;
|
|
/* 021FF4C0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t45);
|
|
/* 021FF4C4 */ cpu->f[13] = cpu->f[0] - cpu->f[31];
|
|
/* 021FF4C8 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000016u, 0x00000016u);
|
|
/* 021FF4C8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 021FF4CC */ cpu->f[11] = fma(cpu->f[13], cpu->f[30], cpu->f[29]);
|
|
/* 021FF4D0 */ _t46 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021FF4D0 */ _t47 = _t46 & 0x00000001u;
|
|
/* 021FF4D0 */ if (_t47) goto L_021FF408; else goto L_021FF4D4;
|
|
L_021FF4D4: ; // 0x21ff4d4
|
|
/* 021FF4D4 */ _t48 = cpu->r[23] + 0x00001230u;
|
|
/* 021FF4D4 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t48);
|
|
/* 021FF4D8 */ cpu->f[12] = cpu->f[12] * cpu->f[11];
|
|
/* 021FF4DC */ cpu->r[3] = cpu->r[24];
|
|
/* 021FF4E0 */ _t49 = cpu->r[24] + 0x0000016Cu;
|
|
/* 021FF4E0 */ rbrew_write_f32(cpu->mem, _t49, cpu->f[12]);
|
|
/* 021FF4E4 */ Gambit_fn_021FF1B0(cpu);
|
|
/* 021FF4E8 */ cpu->r[3] = cpu->r[24];
|
|
/* 021FF4EC */ cpu->f[29] = cpu->f[1];
|
|
/* 021FF4F0 */ _t50 = cpu->r[24] + 0x00000004u;
|
|
/* 021FF4F0 */ cpu->r[23] = rbrew_read32(cpu->mem, _t50);
|
|
/* 021FF4F4 */ Gambit_fn_021FF200(cpu);
|
|
/* 021FF4F8 */ cpu->r[3] = cpu->r[24];
|
|
/* 021FF4FC */ cpu->f[30] = cpu->f[1];
|
|
/* 021FF500 */ Gambit_fn_021FF250(cpu);
|
|
/* 021FF504 */ cpu->r[3] = cpu->r[24];
|
|
/* 021FF508 */ cpu->f[31] = cpu->f[1];
|
|
/* 021FF50C */ Gambit_fn_021FF2A0(cpu);
|
|
/* 021FF510 */ _t51 = cpu->r[23] + 0x00000464u;
|
|
/* 021FF510 */ cpu->r[0] = rbrew_read32(cpu->mem, _t51);
|
|
/* 021FF514 */ cpu->f[2] = cpu->f[30];
|
|
/* 021FF518 */ cpu->ctr = cpu->r[0];
|
|
/* 021FF51C */ cpu->f[3] = cpu->f[31];
|
|
/* 021FF520 */ cpu->r[4] = cpu->r[25];
|
|
/* 021FF524 */ cpu->r[9] = cpu->r[30];
|
|
/* 021FF528 */ cpu->f[4] = cpu->f[1];
|
|
/* 021FF52C */ cpu->r[10] = cpu->r[31];
|
|
/* 021FF530 */ cpu->r[6] = cpu->r[27];
|
|
/* 021FF534 */ cpu->f[1] = cpu->f[29];
|
|
/* 021FF538 */ cpu->r[5] = cpu->r[26];
|
|
/* 021FF53C */ cpu->r[7] = cpu->r[28];
|
|
/* 021FF540 */ cpu->r[8] = cpu->r[29];
|
|
/* 021FF544 */ cpu->r[3] = cpu->r[24];
|
|
/* 021FF548 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021FF54C */ cpu->r[3] = cpu->r[29];
|
|
/* 021FF550 */ Gambit_fn_02C69350(cpu);
|
|
/* 021FF554 */ _t52 = cpu->r[24] + 0x0000012Cu;
|
|
/* 021FF554 */ rbrew_write_f32(cpu->mem, _t52, cpu->f[1]);
|
|
L_021FF558: ; // 0x21ff558
|
|
/* 021FF558 */ /* nop */
|
|
/* 021FF55C */ _t53 = cpu->r[1] + 0x00000048u;
|
|
/* 021FF55C */ cpu->f[29] = rbrew_read_f32(cpu->mem, _t53);
|
|
/* 021FF560 */ _t54 = cpu->r[1] + 0x00000058u;
|
|
/* 021FF560 */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t54);
|
|
/* 021FF564 */ _t55 = cpu->r[1] + 0x00000040u;
|
|
/* 021FF564 */ cpu->f[29] = rbrew_read_f64(cpu->mem, _t55);
|
|
/* 021FF568 */ _t56 = cpu->r[1] + 0x00000068u;
|
|
/* 021FF568 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t56);
|
|
/* 021FF56C */ _t57 = cpu->r[1] + 0x00000050u;
|
|
/* 021FF56C */ cpu->f[30] = rbrew_read_f64(cpu->mem, _t57);
|
|
/* 021FF570 */ _t58 = cpu->r[1] + 0x00000060u;
|
|
/* 021FF570 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t58);
|
|
/* 021FF574 */ _t59 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 021FF574 */ _t60 = _t59 & 0x00000001u;
|
|
/* 021FF574 */ if (_t60) goto L_021FF578; // else: addr-0 trap, fall-through
|
|
L_021FF578: ; // 0x21ff578
|
|
/* 021FF578 */ _t61 = cpu->r[1] + 0x00000074u;
|
|
/* 021FF578 */ cpu->r[0] = rbrew_read32(cpu->mem, _t61);
|
|
/* 021FF57C */ cpu->lr = cpu->r[0];
|
|
/* 021FF580 */ cpu->r[1] = cpu->r[1] + 0x00000070u;
|
|
/* 021FF584 */ return;
|
|
L_021FF5A8: ; // 0x21ff5a8
|
|
/* 021FF5A8 */ _t62 = cpu->r[3] + 0x00000198u;
|
|
/* 021FF5A8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t62);
|
|
/* 021FF5AC */ _t63 = cpu->r[1] + 0x00000008u;
|
|
/* 021FF5AC */ cpu->r[0] = rbrew_read32(cpu->mem, _t63);
|
|
/* 021FF5B0 */ _t64 = rbrew_rlwinm(cpu->r[9], 0x0000000Eu, 0x00000010u, 0x00000011u);
|
|
/* 021FF5B0 */ _t65 = cpu->r[12] & 0xFFFF3FFFu;
|
|
/* 021FF5B0 */ cpu->r[12] = _t65 | _t64;
|
|
/* 021FF5B4 */ cpu->r[9] = 0x00000000u;
|
|
/* 021FF5B8 */ _t66 = rbrew_rlwinm(cpu->r[10], 0x00000009u, 0x00000016u, 0x00000016u);
|
|
/* 021FF5B8 */ _t67 = cpu->r[12] & 0xFFFFFDFFu;
|
|
/* 021FF5B8 */ cpu->r[12] = _t67 | _t66;
|
|
/* 021FF5BC */ cpu->r[10] = cpu->r[0];
|
|
/* 021FF5C0 */ _t68 = cpu->r[3] + 0x00000198u;
|
|
/* 021FF5C0 */ rbrew_write32(cpu->mem, _t68, cpu->r[12]);
|
|
/* 021FF5C4 */ goto L_021FF2F0;
|
|
}
|
|
|
|
// fn_021FF5C8 @ 0x21ff5c8
|
|
void Gambit_fn_021FF5C8(CPUState* cpu) {
|
|
L_021FF5C8: ; // 0x21ff5c8
|
|
/* 021FF5C8 */ return;
|
|
}
|
|
|
|
// fn_021FF5CC @ 0x21ff5cc
|
|
void Gambit_fn_021FF5CC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17;
|
|
|
|
L_021FF5CC: ; // 0x21ff5cc
|
|
/* 021FF5CC */ cpu->r[0] = cpu->lr;
|
|
/* 021FF5D0 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 021FF5D0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 021FF5D0 */ cpu->r[1] = _t0;
|
|
/* 021FF5D4 */ _t1 = cpu->r[1] + 0x00000020u;
|
|
/* 021FF5D4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t1);
|
|
/* 021FF5D8 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 021FF5D8 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 021FF5DC */ _t3 = cpu->r[1] + 0x00000026u;
|
|
/* 021FF5DC */ cpu->r[12] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t3);
|
|
/* 021FF5E0 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 021FF5E0 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 021FF5E4 */ _t5 = cpu->r[9] + 0x00000000u;
|
|
/* 021FF5E4 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t5);
|
|
/* 021FF5E8 */ _t6 = cpu->r[1] + 0x00000028u;
|
|
/* 021FF5E8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 021FF5EC */ _t7 = cpu->r[3] + 0x00000184u;
|
|
/* 021FF5EC */ rbrew_write_f32(cpu->mem, _t7, cpu->f[13]);
|
|
/* 021FF5F0 */ _t8 = cpu->r[9] + 0x00000004u;
|
|
/* 021FF5F0 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t8);
|
|
/* 021FF5F4 */ _t9 = cpu->r[3] + 0x00000188u;
|
|
/* 021FF5F4 */ rbrew_write_f32(cpu->mem, _t9, cpu->f[0]);
|
|
/* 021FF5F8 */ _t10 = cpu->r[11] + 0x00000000u;
|
|
/* 021FF5F8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t10);
|
|
/* 021FF5FC */ cpu->r[31] = cpu->r[3];
|
|
/* 021FF600 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021FF600 */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
|
|
/* 021FF604 */ cpu->r[9] = cpu->r[10];
|
|
/* 021FF608 */ _t12 = cpu->r[1] + 0x00000010u;
|
|
/* 021FF608 */ rbrew_write32(cpu->mem, _t12, cpu->r[11]);
|
|
/* 021FF60C */ cpu->r[10] = cpu->r[1] + 0x00000010u;
|
|
/* 021FF610 */ _t13 = cpu->r[1] + 0x00000008u;
|
|
/* 021FF610 */ rbrew_write32(cpu->mem, _t13, cpu->r[12]);
|
|
/* 021FF614 */ Gambit_fn_021D83F8(cpu);
|
|
/* 021FF618 */ cpu->r[12] = 0x101C0000u;
|
|
/* 021FF61C */ _t14 = cpu->r[12] + 0x00006000u;
|
|
/* 021FF61C */ cpu->r[12] = rbrew_read32(cpu->mem, _t14);
|
|
/* 021FF620 */ _t15 = cpu->r[12] + 0x00000274u;
|
|
/* 021FF620 */ cpu->r[3] = rbrew_read32(cpu->mem, _t15);
|
|
/* 021FF624 */ cpu->r[4] = cpu->r[31];
|
|
/* 021FF628 */ Gambit_fn_021EFAA4(cpu);
|
|
/* 021FF62C */ _t16 = cpu->r[1] + 0x0000001Cu;
|
|
/* 021FF62C */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 021FF630 */ cpu->lr = cpu->r[0];
|
|
/* 021FF634 */ _t17 = cpu->r[1] + 0x00000014u;
|
|
/* 021FF634 */ cpu->r[31] = rbrew_read32(cpu->mem, _t17);
|
|
/* 021FF638 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 021FF63C */ return;
|
|
}
|
|
|
|
// fn_021FF5D0 @ 0x21ff5d0
|
|
void Gambit_fn_021FF5D0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17;
|
|
|
|
L_021FF5D0: ; // 0x21ff5d0
|
|
/* 021FF5D0 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 021FF5D0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 021FF5D0 */ cpu->r[1] = _t0;
|
|
/* 021FF5D4 */ _t1 = cpu->r[1] + 0x00000020u;
|
|
/* 021FF5D4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t1);
|
|
/* 021FF5D8 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 021FF5D8 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 021FF5DC */ _t3 = cpu->r[1] + 0x00000026u;
|
|
/* 021FF5DC */ cpu->r[12] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t3);
|
|
/* 021FF5E0 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 021FF5E0 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 021FF5E4 */ _t5 = cpu->r[9] + 0x00000000u;
|
|
/* 021FF5E4 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t5);
|
|
/* 021FF5E8 */ _t6 = cpu->r[1] + 0x00000028u;
|
|
/* 021FF5E8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 021FF5EC */ _t7 = cpu->r[3] + 0x00000184u;
|
|
/* 021FF5EC */ rbrew_write_f32(cpu->mem, _t7, cpu->f[13]);
|
|
/* 021FF5F0 */ _t8 = cpu->r[9] + 0x00000004u;
|
|
/* 021FF5F0 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t8);
|
|
/* 021FF5F4 */ _t9 = cpu->r[3] + 0x00000188u;
|
|
/* 021FF5F4 */ rbrew_write_f32(cpu->mem, _t9, cpu->f[0]);
|
|
/* 021FF5F8 */ _t10 = cpu->r[11] + 0x00000000u;
|
|
/* 021FF5F8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t10);
|
|
/* 021FF5FC */ cpu->r[31] = cpu->r[3];
|
|
/* 021FF600 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021FF600 */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
|
|
/* 021FF604 */ cpu->r[9] = cpu->r[10];
|
|
/* 021FF608 */ _t12 = cpu->r[1] + 0x00000010u;
|
|
/* 021FF608 */ rbrew_write32(cpu->mem, _t12, cpu->r[11]);
|
|
/* 021FF60C */ cpu->r[10] = cpu->r[1] + 0x00000010u;
|
|
/* 021FF610 */ _t13 = cpu->r[1] + 0x00000008u;
|
|
/* 021FF610 */ rbrew_write32(cpu->mem, _t13, cpu->r[12]);
|
|
/* 021FF614 */ Gambit_fn_021D83F8(cpu);
|
|
/* 021FF618 */ cpu->r[12] = 0x101C0000u;
|
|
/* 021FF61C */ _t14 = cpu->r[12] + 0x00006000u;
|
|
/* 021FF61C */ cpu->r[12] = rbrew_read32(cpu->mem, _t14);
|
|
/* 021FF620 */ _t15 = cpu->r[12] + 0x00000274u;
|
|
/* 021FF620 */ cpu->r[3] = rbrew_read32(cpu->mem, _t15);
|
|
/* 021FF624 */ cpu->r[4] = cpu->r[31];
|
|
/* 021FF628 */ Gambit_fn_021EFAA4(cpu);
|
|
/* 021FF62C */ _t16 = cpu->r[1] + 0x0000001Cu;
|
|
/* 021FF62C */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 021FF630 */ cpu->lr = cpu->r[0];
|
|
/* 021FF634 */ _t17 = cpu->r[1] + 0x00000014u;
|
|
/* 021FF634 */ cpu->r[31] = rbrew_read32(cpu->mem, _t17);
|
|
/* 021FF638 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 021FF63C */ return;
|
|
}
|
|
|
|
// fn_021FF640 @ 0x21ff640
|
|
void Gambit_fn_021FF640(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69, _t70, _t71, _t72, _t73, _t74, _t75, _t76, _t77, _t78, _t79, _t80, _t81, _t82, _t83, _t84, _t85, _t86, _t87, _t88, _t89, _t90, _t91, _t92, _t93, _t94, _t95, _t96, _t97, _t98, _t99, _t100, _t101, _t102, _t103, _t104, _t105, _t108, _t109, _t110, _t111, _t112, _t113, _t114, _t115, _t116, _t117, _t118, _t119, _t120, _t121, _t122, _t123, _t124, _t125, _t126, _t127, _t128, _t129, _t130, _t131, _t132, _t133, _t134, _t135, _t136, _t137, _t138, _t139, _t140, _t141, _t142, _t143, _t144, _t145, _t146, _t147, _t148, _t149, _t150, _t151, _t152, _t153, _t154, _t155, _t156, _t157, _t158, _t159, _t160, _t161, _t162, _t163, _t164, _t165, _t166, _t167, _t168, _t169, _t170, _t171, _t174, _t175, _t176, _t177, _t178, _t179, _t180, _t181, _t182, _t183, _t184, _t185, _t186, _t187, _t188, _t189, _t190, _t191, _t192, _t193, _t194, _t195, _t196, _t197, _t198, _t199, _t200, _t201, _t202, _t203, _t204, _t205, _t206, _t207, _t208, _t209, _t210, _t211, _t212, _t213, _t214, _t215, _t216, _t217, _t218, _t219, _t220, _t221, _t222, _t223, _t224, _t225, _t226, _t227, _t228, _t229, _t230, _t231, _t232, _t233;
|
|
double _ft106, _ft107, _ft172, _ft173;
|
|
|
|
L_021FF640: ; // 0x21ff640
|
|
/* 021FF640 */ _t0 = cpu->r[1] + 0xFFFFFEB0u;
|
|
/* 021FF640 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 021FF640 */ cpu->r[1] = _t0;
|
|
/* 021FF644 */ _t1 = cpu->r[1] + 0x00000060u;
|
|
/* 021FF644 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[17]);
|
|
/* 021FF648 */ _t2 = cpu->r[1] + 0x00000070u;
|
|
/* 021FF648 */ rbrew_write_f64(cpu->mem, _t2, cpu->f[18]);
|
|
/* 021FF64C */ _t3 = cpu->r[1] + 0x00000080u;
|
|
/* 021FF64C */ rbrew_write_f64(cpu->mem, _t3, cpu->f[19]);
|
|
/* 021FF650 */ /* nop */
|
|
/* 021FF654 */ _t4 = cpu->r[1] + 0x00000090u;
|
|
/* 021FF654 */ rbrew_write_f64(cpu->mem, _t4, cpu->f[20]);
|
|
/* 021FF658 */ /* nop */
|
|
/* 021FF65C */ _t5 = cpu->r[1] + 0x000000A0u;
|
|
/* 021FF65C */ rbrew_write_f64(cpu->mem, _t5, cpu->f[21]);
|
|
/* 021FF660 */ /* nop */
|
|
/* 021FF664 */ _t6 = cpu->r[1] + 0x000000B0u;
|
|
/* 021FF664 */ rbrew_write_f64(cpu->mem, _t6, cpu->f[22]);
|
|
/* 021FF668 */ /* nop */
|
|
/* 021FF66C */ _t7 = cpu->r[1] + 0x000000C0u;
|
|
/* 021FF66C */ rbrew_write_f64(cpu->mem, _t7, cpu->f[23]);
|
|
/* 021FF670 */ /* nop */
|
|
/* 021FF674 */ _t8 = cpu->r[1] + 0x000000D0u;
|
|
/* 021FF674 */ rbrew_write_f64(cpu->mem, _t8, cpu->f[24]);
|
|
/* 021FF678 */ /* nop */
|
|
/* 021FF67C */ _t9 = cpu->r[1] + 0x000000E0u;
|
|
/* 021FF67C */ rbrew_write_f64(cpu->mem, _t9, cpu->f[25]);
|
|
/* 021FF680 */ /* nop */
|
|
/* 021FF684 */ _t10 = cpu->r[1] + 0x000000F0u;
|
|
/* 021FF684 */ rbrew_write_f64(cpu->mem, _t10, cpu->f[26]);
|
|
/* 021FF688 */ /* nop */
|
|
/* 021FF68C */ _t11 = cpu->r[1] + 0x00000068u;
|
|
/* 021FF68C */ rbrew_write_f32(cpu->mem, _t11, cpu->f[17]);
|
|
/* 021FF690 */ _t12 = cpu->r[1] + 0x00000078u;
|
|
/* 021FF690 */ rbrew_write_f32(cpu->mem, _t12, cpu->f[18]);
|
|
/* 021FF694 */ _t13 = cpu->r[1] + 0x00000088u;
|
|
/* 021FF694 */ rbrew_write_f32(cpu->mem, _t13, cpu->f[19]);
|
|
/* 021FF698 */ /* nop */
|
|
/* 021FF69C */ _t14 = cpu->r[1] + 0x00000098u;
|
|
/* 021FF69C */ rbrew_write_f32(cpu->mem, _t14, cpu->f[20]);
|
|
/* 021FF6A0 */ _t15 = cpu->r[1] + 0x000000A8u;
|
|
/* 021FF6A0 */ rbrew_write_f32(cpu->mem, _t15, cpu->f[21]);
|
|
/* 021FF6A4 */ _t16 = cpu->r[1] + 0x000000B8u;
|
|
/* 021FF6A4 */ rbrew_write_f32(cpu->mem, _t16, cpu->f[22]);
|
|
/* 021FF6A8 */ /* nop */
|
|
/* 021FF6AC */ _t17 = cpu->r[1] + 0x000000C8u;
|
|
/* 021FF6AC */ rbrew_write_f32(cpu->mem, _t17, cpu->f[23]);
|
|
/* 021FF6B0 */ _t18 = cpu->r[1] + 0x000000D8u;
|
|
/* 021FF6B0 */ rbrew_write_f32(cpu->mem, _t18, cpu->f[24]);
|
|
/* 021FF6B4 */ _t19 = cpu->r[1] + 0x000000E8u;
|
|
/* 021FF6B4 */ rbrew_write_f32(cpu->mem, _t19, cpu->f[25]);
|
|
/* 021FF6B8 */ cpu->r[0] = cpu->lr;
|
|
/* 021FF6BC */ _t20 = cpu->r[1] + 0x000000F8u;
|
|
/* 021FF6BC */ rbrew_write_f32(cpu->mem, _t20, cpu->f[26]);
|
|
/* 021FF6C0 */ _t21 = cpu->r[1] + 0x00000100u;
|
|
/* 021FF6C0 */ rbrew_write_f64(cpu->mem, _t21, cpu->f[27]);
|
|
/* 021FF6C4 */ /* nop */
|
|
/* 021FF6C8 */ _t22 = cpu->r[1] + 0x00000108u;
|
|
/* 021FF6C8 */ rbrew_write_f32(cpu->mem, _t22, cpu->f[27]);
|
|
/* 021FF6CC */ _t23 = cpu->r[1] + 0x00000110u;
|
|
/* 021FF6CC */ rbrew_write_f64(cpu->mem, _t23, cpu->f[28]);
|
|
/* 021FF6D0 */ /* nop */
|
|
/* 021FF6D4 */ _t24 = cpu->r[1] + 0x00000118u;
|
|
/* 021FF6D4 */ rbrew_write_f32(cpu->mem, _t24, cpu->f[28]);
|
|
/* 021FF6D8 */ _t25 = cpu->r[1] + 0x00000120u;
|
|
/* 021FF6D8 */ rbrew_write_f64(cpu->mem, _t25, cpu->f[29]);
|
|
/* 021FF6DC */ /* nop */
|
|
/* 021FF6E0 */ _t26 = cpu->r[1] + 0x00000128u;
|
|
/* 021FF6E0 */ rbrew_write_f32(cpu->mem, _t26, cpu->f[29]);
|
|
/* 021FF6E4 */ _t27 = cpu->r[1] + 0x00000130u;
|
|
/* 021FF6E4 */ rbrew_write_f64(cpu->mem, _t27, cpu->f[30]);
|
|
/* 021FF6E8 */ /* nop */
|
|
/* 021FF6EC */ _t28 = cpu->r[1] + 0x00000138u;
|
|
/* 021FF6EC */ rbrew_write_f32(cpu->mem, _t28, cpu->f[30]);
|
|
/* 021FF6F0 */ _t29 = cpu->r[1] + 0x00000140u;
|
|
/* 021FF6F0 */ rbrew_write_f64(cpu->mem, _t29, cpu->f[31]);
|
|
/* 021FF6F4 */ /* nop */
|
|
/* 021FF6F8 */ /* nop */
|
|
/* 021FF6FC */ _t30 = cpu->r[1] + 0x00000154u;
|
|
/* 021FF6FC */ rbrew_write32(cpu->mem, _t30, cpu->r[0]);
|
|
/* 021FF700 */ _t31 = cpu->r[1] + 0x00000148u;
|
|
/* 021FF700 */ rbrew_write_f32(cpu->mem, _t31, cpu->f[31]);
|
|
/* 021FF704 */ _t32 = cpu->r[3] + 0x00000004u;
|
|
/* 021FF704 */ cpu->r[7] = rbrew_read32(cpu->mem, _t32);
|
|
/* 021FF708 */ _t33 = cpu->r[7] + 0x0000025Cu;
|
|
/* 021FF708 */ cpu->r[9] = rbrew_read32(cpu->mem, _t33);
|
|
/* 021FF70C */ cpu->ctr = cpu->r[9];
|
|
/* 021FF710 */ cpu->r[31] = cpu->r[3];
|
|
/* 021FF714 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021FF718 */ _t34 = cpu->r[3] + 0x00000000u;
|
|
/* 021FF718 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t34);
|
|
/* 021FF71C */ _t35 = cpu->r[31] + 0x00000170u;
|
|
/* 021FF71C */ rbrew_write_f32(cpu->mem, _t35, cpu->f[13]);
|
|
/* 021FF720 */ _t36 = cpu->r[3] + 0x00000004u;
|
|
/* 021FF720 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t36);
|
|
/* 021FF724 */ _t37 = cpu->r[31] + 0x00000174u;
|
|
/* 021FF724 */ rbrew_write_f32(cpu->mem, _t37, cpu->f[0]);
|
|
/* 021FF728 */ _t38 = cpu->r[3] + 0x00000008u;
|
|
/* 021FF728 */ cpu->f[6] = rbrew_read_f32(cpu->mem, _t38);
|
|
/* 021FF72C */ cpu->r[3] = cpu->r[31];
|
|
/* 021FF730 */ _t39 = cpu->r[31] + 0x00000178u;
|
|
/* 021FF730 */ rbrew_write_f32(cpu->mem, _t39, cpu->f[6]);
|
|
/* 021FF734 */ Gambit_fn_0222C128(cpu);
|
|
/* 021FF738 */ cpu->r[3] = cpu->r[31] + 0x00000134u;
|
|
/* 021FF73C */ Gambit_fn_02202EB4(cpu);
|
|
/* 021FF740 */ _t40 = cpu->r[31] + 0x00000004u;
|
|
/* 021FF740 */ cpu->r[10] = rbrew_read32(cpu->mem, _t40);
|
|
/* 021FF744 */ _t41 = cpu->r[10] + 0x00000254u;
|
|
/* 021FF744 */ cpu->r[11] = rbrew_read32(cpu->mem, _t41);
|
|
/* 021FF748 */ cpu->ctr = cpu->r[11];
|
|
/* 021FF74C */ cpu->r[3] = cpu->r[31];
|
|
/* 021FF750 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021FF754 */ /* nop */
|
|
/* 021FF758 */ /* nop */
|
|
/* 021FF75C */ _t42 = cpu->r[31] + 0x00000090u;
|
|
/* 021FF75C */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t42);
|
|
/* 021FF760 */ /* nop */
|
|
/* 021FF764 */ cpu->r[9] = 0x10040000u;
|
|
/* 021FF768 */ /* nop */
|
|
/* 021FF76C */ _t43 = cpu->r[3] + 0x00000008u;
|
|
/* 021FF76C */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t43);
|
|
/* 021FF770 */ _t44 = cpu->r[9] + 0xFFFFE510u;
|
|
/* 021FF770 */ cpu->f[28] = rbrew_read_f32(cpu->mem, _t44);
|
|
/* 021FF774 */ cpu->f[7] = cpu->f[10] - cpu->f[12];
|
|
/* 021FF778 */ _t45 = cpu->r[31] + 0x00000194u;
|
|
/* 021FF778 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t45);
|
|
/* 021FF77C */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[0], cpu->f[28]);
|
|
/* 021FF780 */ _t46 = cpu->r[1] + 0x0000003Cu;
|
|
/* 021FF780 */ rbrew_write_f32(cpu->mem, _t46, cpu->f[7]);
|
|
/* 021FF784 */ _t47 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 021FF784 */ _t48 = _t47 & 0x00000001u;
|
|
/* 021FF784 */ if (_t48) goto L_021FF87C; else goto L_021FF788;
|
|
L_021FF788: ; // 0x21ff788
|
|
/* 021FF788 */ cpu->r[3] = cpu->r[1] + 0x00000034u;
|
|
/* 021FF78C */ Gambit_fn_02C69350(cpu);
|
|
/* 021FF790 */ _t49 = cpu->r[31] + 0x00000194u;
|
|
/* 021FF790 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t49);
|
|
/* 021FF794 */ _t50 = cpu->r[31] + 0x00000004u;
|
|
/* 021FF794 */ cpu->r[10] = rbrew_read32(cpu->mem, _t50);
|
|
/* 021FF798 */ cpu->f[31] = cpu->f[31] + cpu->f[1];
|
|
/* 021FF79C */ _t51 = cpu->r[31] + 0x00000194u;
|
|
/* 021FF79C */ rbrew_write_f32(cpu->mem, _t51, cpu->f[31]);
|
|
/* 021FF7A0 */ _t52 = cpu->r[10] + 0x000003D4u;
|
|
/* 021FF7A0 */ cpu->r[7] = rbrew_read32(cpu->mem, _t52);
|
|
/* 021FF7A4 */ cpu->ctr = cpu->r[7];
|
|
/* 021FF7A8 */ cpu->r[3] = cpu->r[31];
|
|
/* 021FF7AC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021FF7B0 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[31], cpu->f[1]);
|
|
/* 021FF7B4 */ _t53 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 021FF7B4 */ _t54 = _t53 & 0x00000001u;
|
|
/* 021FF7B4 */ if (_t54) goto L_021FF7E4; else goto L_021FF7B8;
|
|
L_021FF7B8: ; // 0x21ff7b8
|
|
/* 021FF7B8 */ _t55 = cpu->r[1] + 0x0000003Cu;
|
|
/* 021FF7B8 */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t55);
|
|
/* 021FF7BC */ cpu->r[5] = 0x10040000u;
|
|
/* 021FF7C0 */ _t56 = cpu->r[1] + 0x00000034u;
|
|
/* 021FF7C0 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t56);
|
|
/* 021FF7C4 */ cpu->f[7] = cpu->f[7] * cpu->f[7];
|
|
/* 021FF7C8 */ _t57 = cpu->r[5] + 0xFFFFE514u;
|
|
/* 021FF7C8 */ cpu->f[29] = rbrew_read_f32(cpu->mem, _t57);
|
|
/* 021FF7CC */ cpu->f[13] = fma(cpu->f[8], cpu->f[8], cpu->f[7]);
|
|
/* 021FF7D0 */ cpu->r[7] = 0x10040000u;
|
|
/* 021FF7D4 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[13], cpu->f[28]);
|
|
/* 021FF7D8 */ _t58 = cpu->r[7] + 0xFFFFE524u;
|
|
/* 021FF7D8 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t58);
|
|
/* 021FF7DC */ _t59 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 021FF7DC */ _t60 = _t59 & 0x00000001u;
|
|
/* 021FF7DC */ if (_t60) goto L_021FF7E0; else goto L_021FF8A0;
|
|
L_021FF7E0: ; // 0x21ff7e0
|
|
/* 021FF7E0 */ goto L_021FF8D8;
|
|
L_021FF7E4: ; // 0x21ff7e4
|
|
/* 021FF7E4 */ cpu->r[3] = cpu->r[31];
|
|
/* 021FF7E8 */ Gambit_fn_02790488(cpu);
|
|
/* 021FF7EC */ /* nop */
|
|
/* 021FF7F0 */ _t61 = cpu->r[1] + 0x000000B8u;
|
|
/* 021FF7F0 */ cpu->f[22] = rbrew_read_f32(cpu->mem, _t61);
|
|
/* 021FF7F4 */ _t62 = cpu->r[1] + 0x00000098u;
|
|
/* 021FF7F4 */ cpu->f[20] = rbrew_read_f32(cpu->mem, _t62);
|
|
/* 021FF7F8 */ _t63 = cpu->r[1] + 0x000000B0u;
|
|
/* 021FF7F8 */ cpu->f[22] = rbrew_read_f64(cpu->mem, _t63);
|
|
/* 021FF7FC */ _t64 = cpu->r[1] + 0x00000090u;
|
|
/* 021FF7FC */ cpu->f[20] = rbrew_read_f64(cpu->mem, _t64);
|
|
/* 021FF800 */ _t65 = cpu->r[1] + 0x00000088u;
|
|
/* 021FF800 */ cpu->f[19] = rbrew_read_f32(cpu->mem, _t65);
|
|
/* 021FF804 */ _t66 = cpu->r[1] + 0x000000D8u;
|
|
/* 021FF804 */ cpu->f[24] = rbrew_read_f32(cpu->mem, _t66);
|
|
/* 021FF808 */ _t67 = cpu->r[1] + 0x00000080u;
|
|
/* 021FF808 */ cpu->f[19] = rbrew_read_f64(cpu->mem, _t67);
|
|
/* 021FF80C */ _t68 = cpu->r[1] + 0x000000D0u;
|
|
/* 021FF80C */ cpu->f[24] = rbrew_read_f64(cpu->mem, _t68);
|
|
/* 021FF810 */ _t69 = cpu->r[1] + 0x000000A8u;
|
|
/* 021FF810 */ cpu->f[21] = rbrew_read_f32(cpu->mem, _t69);
|
|
/* 021FF814 */ _t70 = cpu->r[1] + 0x000000F8u;
|
|
/* 021FF814 */ cpu->f[26] = rbrew_read_f32(cpu->mem, _t70);
|
|
/* 021FF818 */ _t71 = cpu->r[1] + 0x000000A0u;
|
|
/* 021FF818 */ cpu->f[21] = rbrew_read_f64(cpu->mem, _t71);
|
|
/* 021FF81C */ _t72 = cpu->r[1] + 0x000000F0u;
|
|
/* 021FF81C */ cpu->f[26] = rbrew_read_f64(cpu->mem, _t72);
|
|
/* 021FF820 */ _t73 = cpu->r[1] + 0x000000C8u;
|
|
/* 021FF820 */ cpu->f[23] = rbrew_read_f32(cpu->mem, _t73);
|
|
/* 021FF824 */ _t74 = cpu->r[1] + 0x00000108u;
|
|
/* 021FF824 */ cpu->f[27] = rbrew_read_f32(cpu->mem, _t74);
|
|
/* 021FF828 */ _t75 = cpu->r[1] + 0x00000138u;
|
|
/* 021FF828 */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t75);
|
|
/* 021FF82C */ _t76 = cpu->r[1] + 0x00000100u;
|
|
/* 021FF82C */ cpu->f[27] = rbrew_read_f64(cpu->mem, _t76);
|
|
/* 021FF830 */ _t77 = cpu->r[1] + 0x00000130u;
|
|
/* 021FF830 */ cpu->f[30] = rbrew_read_f64(cpu->mem, _t77);
|
|
/* 021FF834 */ _t78 = cpu->r[1] + 0x00000078u;
|
|
/* 021FF834 */ cpu->f[18] = rbrew_read_f32(cpu->mem, _t78);
|
|
/* 021FF838 */ _t79 = cpu->r[1] + 0x00000128u;
|
|
/* 021FF838 */ cpu->f[29] = rbrew_read_f32(cpu->mem, _t79);
|
|
/* 021FF83C */ _t80 = cpu->r[1] + 0x00000070u;
|
|
/* 021FF83C */ cpu->f[18] = rbrew_read_f64(cpu->mem, _t80);
|
|
/* 021FF840 */ _t81 = cpu->r[1] + 0x00000120u;
|
|
/* 021FF840 */ cpu->f[29] = rbrew_read_f64(cpu->mem, _t81);
|
|
/* 021FF844 */ _t82 = cpu->r[1] + 0x00000068u;
|
|
/* 021FF844 */ cpu->f[17] = rbrew_read_f32(cpu->mem, _t82);
|
|
/* 021FF848 */ _t83 = cpu->r[1] + 0x00000148u;
|
|
/* 021FF848 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t83);
|
|
/* 021FF84C */ _t84 = cpu->r[1] + 0x00000060u;
|
|
/* 021FF84C */ cpu->f[17] = rbrew_read_f64(cpu->mem, _t84);
|
|
/* 021FF850 */ _t85 = cpu->r[1] + 0x00000140u;
|
|
/* 021FF850 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t85);
|
|
/* 021FF854 */ _t86 = cpu->r[1] + 0x000000C0u;
|
|
/* 021FF854 */ cpu->f[23] = rbrew_read_f64(cpu->mem, _t86);
|
|
/* 021FF858 */ _t87 = cpu->r[1] + 0x000000E8u;
|
|
/* 021FF858 */ cpu->f[25] = rbrew_read_f32(cpu->mem, _t87);
|
|
/* 021FF85C */ _t88 = cpu->r[1] + 0x00000118u;
|
|
/* 021FF85C */ cpu->f[28] = rbrew_read_f32(cpu->mem, _t88);
|
|
/* 021FF860 */ _t89 = cpu->r[1] + 0x000000E0u;
|
|
/* 021FF860 */ cpu->f[25] = rbrew_read_f64(cpu->mem, _t89);
|
|
/* 021FF864 */ _t90 = cpu->r[1] + 0x00000110u;
|
|
/* 021FF864 */ cpu->f[28] = rbrew_read_f64(cpu->mem, _t90);
|
|
/* 021FF868 */ _t91 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 021FF868 */ _t92 = _t91 & 0x00000001u;
|
|
/* 021FF868 */ if (_t92) goto L_021FF86C; // else: addr-0 trap, fall-through
|
|
L_021FF86C: ; // 0x21ff86c
|
|
/* 021FF86C */ _t93 = cpu->r[1] + 0x00000154u;
|
|
/* 021FF86C */ cpu->r[0] = rbrew_read32(cpu->mem, _t93);
|
|
/* 021FF870 */ cpu->lr = cpu->r[0];
|
|
/* 021FF874 */ cpu->r[1] = cpu->r[1] + 0x00000150u;
|
|
/* 021FF878 */ return;
|
|
L_021FF87C: ; // 0x21ff87c
|
|
/* 021FF87C */ cpu->f[7] = cpu->f[7] * cpu->f[7];
|
|
/* 021FF880 */ _t94 = cpu->r[1] + 0x00000034u;
|
|
/* 021FF880 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t94);
|
|
/* 021FF884 */ cpu->r[5] = 0x10040000u;
|
|
/* 021FF888 */ cpu->f[13] = fma(cpu->f[8], cpu->f[8], cpu->f[7]);
|
|
/* 021FF88C */ _t95 = cpu->r[5] + 0xFFFFE514u;
|
|
/* 021FF88C */ cpu->f[29] = rbrew_read_f32(cpu->mem, _t95);
|
|
/* 021FF890 */ cpu->r[7] = 0x10040000u;
|
|
/* 021FF894 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[13], cpu->f[28]);
|
|
/* 021FF898 */ _t96 = cpu->r[7] + 0xFFFFE524u;
|
|
/* 021FF898 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t96);
|
|
/* 021FF89C */ _t97 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 021FF89C */ _t98 = _t97 & 0x00000001u;
|
|
/* 021FF89C */ if (_t98) goto L_021FF8D8; else goto L_021FF8A0;
|
|
L_021FF8A0: ; // 0x21ff8a0
|
|
/* 021FF8A0 */ cpu->f[21] = cpu->f[28] * cpu->f[13];
|
|
/* 021FF8A4 */ _t99 = cpu->r[31] + 0x00000128u;
|
|
/* 021FF8A4 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t99);
|
|
/* 021FF8A8 */ _t100 = cpu->r[31] + 0x00000004u;
|
|
/* 021FF8A8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t100);
|
|
/* 021FF8AC */ cpu->f[8] = cpu->f[8] + cpu->f[21];
|
|
/* 021FF8B0 */ _t101 = cpu->r[31] + 0x00000128u;
|
|
/* 021FF8B0 */ rbrew_write_f32(cpu->mem, _t101, cpu->f[8]);
|
|
/* 021FF8B4 */ _t102 = cpu->r[10] + 0x00000474u;
|
|
/* 021FF8B4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t102);
|
|
/* 021FF8B8 */ cpu->ctr = cpu->r[11];
|
|
/* 021FF8BC */ cpu->r[3] = cpu->r[31];
|
|
/* 021FF8C0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021FF8C4 */ _t103 = cpu->r[31] + 0x00000198u;
|
|
/* 021FF8C4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t103);
|
|
/* 021FF8C8 */ cpu->r[8] = rbrew_rlwinm(cpu->r[0], 0x00000017u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 021FF8C8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 021FF8CC */ cpu->r[24] = cpu->r[3];
|
|
/* 021FF8D0 */ _t104 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021FF8D0 */ _t105 = _t104 & 0x00000001u;
|
|
/* 021FF8D0 */ if (_t105) goto L_021FF930; else goto L_021FF8D4;
|
|
L_021FF8D4: ; // 0x21ff8d4
|
|
/* 021FF8D4 */ goto L_021FF920;
|
|
L_021FF8D8: ; // 0x21ff8d8
|
|
/* 021FF8D8 */ _ft106 = sqrt(cpu->f[13]);
|
|
/* 021FF8D8 */ _ft107 = (double)(int32_t)0x00000001u;
|
|
/* 021FF8D8 */ cpu->f[0] = _ft107 / _ft106;
|
|
/* 021FF8DC */ cpu->f[11] = cpu->f[0] * cpu->f[0];
|
|
/* 021FF8E0 */ cpu->f[6] = cpu->f[0] * cpu->f[29];
|
|
/* 021FF8E4 */ cpu->f[11] = -fma(cpu->f[11], cpu->f[13], -(cpu->f[31]));
|
|
/* 021FF8E8 */ cpu->f[0] = cpu->f[11] * cpu->f[6];
|
|
/* 021FF8EC */ cpu->f[21] = cpu->f[0] * cpu->f[13];
|
|
/* 021FF8F0 */ _t108 = cpu->r[31] + 0x00000128u;
|
|
/* 021FF8F0 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t108);
|
|
/* 021FF8F4 */ _t109 = cpu->r[31] + 0x00000004u;
|
|
/* 021FF8F4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t109);
|
|
/* 021FF8F8 */ cpu->f[8] = cpu->f[8] + cpu->f[21];
|
|
/* 021FF8FC */ _t110 = cpu->r[31] + 0x00000128u;
|
|
/* 021FF8FC */ rbrew_write_f32(cpu->mem, _t110, cpu->f[8]);
|
|
/* 021FF900 */ _t111 = cpu->r[10] + 0x00000474u;
|
|
/* 021FF900 */ cpu->r[11] = rbrew_read32(cpu->mem, _t111);
|
|
/* 021FF904 */ cpu->ctr = cpu->r[11];
|
|
/* 021FF908 */ cpu->r[3] = cpu->r[31];
|
|
/* 021FF90C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021FF910 */ _t112 = cpu->r[31] + 0x00000198u;
|
|
/* 021FF910 */ cpu->r[0] = rbrew_read32(cpu->mem, _t112);
|
|
/* 021FF914 */ cpu->r[8] = rbrew_rlwinm(cpu->r[0], 0x00000017u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 021FF914 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 021FF918 */ cpu->r[24] = cpu->r[3];
|
|
/* 021FF91C */ _t113 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021FF91C */ _t114 = _t113 & 0x00000001u;
|
|
/* 021FF91C */ if (_t114) goto L_021FF930; else goto L_021FF920;
|
|
L_021FF920: ; // 0x21ff920
|
|
/* 021FF920 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 021FF924 */ _t115 = cpu->r[24] + 0x00001170u;
|
|
/* 021FF924 */ cpu->f[22] = rbrew_read_f32(cpu->mem, _t115);
|
|
/* 021FF928 */ _t116 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021FF928 */ _t117 = _t116 & 0x00000001u;
|
|
/* 021FF928 */ if (_t117) goto L_021FF94C; else goto L_021FF92C;
|
|
L_021FF92C: ; // 0x21ff92c
|
|
/* 021FF92C */ goto L_021FF93C;
|
|
L_021FF930: ; // 0x21ff930
|
|
/* 021FF930 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 021FF934 */ _t118 = cpu->r[24] + 0x00001470u;
|
|
/* 021FF934 */ cpu->f[22] = rbrew_read_f32(cpu->mem, _t118);
|
|
/* 021FF938 */ _t119 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021FF938 */ _t120 = _t119 & 0x00000001u;
|
|
/* 021FF938 */ if (_t120) goto L_021FF94C; else goto L_021FF93C;
|
|
L_021FF93C: ; // 0x21ff93c
|
|
/* 021FF93C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 021FF940 */ _t121 = cpu->r[24] + 0x000010B0u;
|
|
/* 021FF940 */ cpu->f[23] = rbrew_read_f32(cpu->mem, _t121);
|
|
/* 021FF944 */ _t122 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021FF944 */ _t123 = _t122 & 0x00000001u;
|
|
/* 021FF944 */ if (_t123) goto L_021FF968; else goto L_021FF948;
|
|
L_021FF948: ; // 0x21ff948
|
|
/* 021FF948 */ goto L_021FF958;
|
|
L_021FF94C: ; // 0x21ff94c
|
|
/* 021FF94C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 021FF950 */ _t124 = cpu->r[24] + 0x000013B0u;
|
|
/* 021FF950 */ cpu->f[23] = rbrew_read_f32(cpu->mem, _t124);
|
|
/* 021FF954 */ _t125 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021FF954 */ _t126 = _t125 & 0x00000001u;
|
|
/* 021FF954 */ if (_t126) goto L_021FF968; else goto L_021FF958;
|
|
L_021FF958: ; // 0x21ff958
|
|
/* 021FF958 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[22], cpu->f[28]);
|
|
/* 021FF95C */ _t127 = cpu->r[24] + 0x00001110u;
|
|
/* 021FF95C */ cpu->f[24] = rbrew_read_f32(cpu->mem, _t127);
|
|
/* 021FF960 */ _t128 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 021FF960 */ _t129 = _t128 & 0x00000001u;
|
|
/* 021FF960 */ if (_t129) goto L_021FF964; else goto L_021FFBCC;
|
|
L_021FF964: ; // 0x21ff964
|
|
/* 021FF964 */ goto L_021FF974;
|
|
L_021FF968: ; // 0x21ff968
|
|
/* 021FF968 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[22], cpu->f[28]);
|
|
/* 021FF96C */ _t130 = cpu->r[24] + 0x00001410u;
|
|
/* 021FF96C */ cpu->f[24] = rbrew_read_f32(cpu->mem, _t130);
|
|
/* 021FF970 */ _t131 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 021FF970 */ _t132 = _t131 & 0x00000001u;
|
|
/* 021FF970 */ if (_t132) goto L_021FF974; else goto L_021FFBCC;
|
|
L_021FF974: ; // 0x21ff974
|
|
/* 021FF974 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 021FF978 */ _t133 = cpu->r[31] + 0x0000016Cu;
|
|
/* 021FF978 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t133);
|
|
/* 021FF97C */ _t134 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021FF97C */ _t135 = _t134 & 0x00000001u;
|
|
/* 021FF97C */ if (_t135) goto L_021FF9D4; else goto L_021FF980;
|
|
L_021FF980: ; // 0x21ff980
|
|
/* 021FF980 */ _t136 = cpu->r[24] + 0x00001230u;
|
|
/* 021FF980 */ cpu->f[20] = rbrew_read_f32(cpu->mem, _t136);
|
|
/* 021FF984 */ cpu->f[7] = cpu->f[12] + cpu->f[21];
|
|
/* 021FF988 */ cpu->r[4] = 0x10040000u;
|
|
/* 021FF98C */ cpu->f[25] = cpu->f[20] - cpu->f[12];
|
|
/* 021FF990 */ cpu->r[27] = 0x101C0000u;
|
|
/* 021FF994 */ cpu->f[11] = cpu->f[7] / cpu->f[20];
|
|
/* 021FF998 */ cpu->r[0] = cpu->r[1] + 0x00000028u;
|
|
/* 021FF99C */ cpu->r[27] = cpu->r[27] + 0x00005184u;
|
|
/* 021FF9A0 */ _t137 = cpu->r[31] + 0x0000016Cu;
|
|
/* 021FF9A0 */ rbrew_write_f32(cpu->mem, _t137, cpu->f[7]);
|
|
/* 021FF9A4 */ cpu->r[25] = 0x101F0000u;
|
|
/* 021FF9A8 */ cpu->r[30] = 0x00000000u;
|
|
/* 021FF9AC */ _t138 = cpu->r[4] + 0xFFFFE55Cu;
|
|
/* 021FF9AC */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t138);
|
|
/* 021FF9B0 */ cpu->r[28] = 0x101C0000u;
|
|
/* 021FF9B4 */ cpu->f[12] = (uint32_t)(int32_t)cpu->f[11];
|
|
/* 021FF9B8 */ cpu->r[25] = cpu->r[25] + 0x00006338u;
|
|
/* 021FF9BC */ cpu->f[18] = cpu->f[29];
|
|
/* 021FF9C0 */ cpu->r[26] = cpu->r[30];
|
|
/* 021FF9C4 */ cpu->r[28] = cpu->r[28] + 0x00006000u;
|
|
/* 021FF9C8 */ /* nop */
|
|
/* 021FF9CC */ _t139 = cpu->r[1] + 0x00000028u;
|
|
/* 021FF9CC */ cpu->r[29] = rbrew_read32(cpu->mem, _t139);
|
|
/* 021FF9D0 */ goto L_021FFBB8;
|
|
L_021FF9D4: ; // 0x21ff9d4
|
|
/* 021FF9D4 */ _t140 = cpu->r[24] + 0x00001530u;
|
|
/* 021FF9D4 */ cpu->f[20] = rbrew_read_f32(cpu->mem, _t140);
|
|
/* 021FF9D8 */ cpu->f[7] = cpu->f[12] + cpu->f[21];
|
|
/* 021FF9DC */ cpu->r[4] = 0x10040000u;
|
|
/* 021FF9E0 */ cpu->f[25] = cpu->f[20] - cpu->f[12];
|
|
/* 021FF9E4 */ cpu->r[27] = 0x101C0000u;
|
|
/* 021FF9E8 */ cpu->f[11] = cpu->f[7] / cpu->f[20];
|
|
/* 021FF9EC */ cpu->r[0] = cpu->r[1] + 0x00000028u;
|
|
/* 021FF9F0 */ cpu->r[27] = cpu->r[27] + 0x00005184u;
|
|
/* 021FF9F4 */ _t141 = cpu->r[31] + 0x0000016Cu;
|
|
/* 021FF9F4 */ rbrew_write_f32(cpu->mem, _t141, cpu->f[7]);
|
|
/* 021FF9F8 */ cpu->r[25] = 0x101F0000u;
|
|
/* 021FF9FC */ cpu->r[30] = 0x00000000u;
|
|
/* 021FFA00 */ _t142 = cpu->r[4] + 0xFFFFE55Cu;
|
|
/* 021FFA00 */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t142);
|
|
/* 021FFA04 */ cpu->r[28] = 0x101C0000u;
|
|
/* 021FFA08 */ cpu->f[12] = (uint32_t)(int32_t)cpu->f[11];
|
|
/* 021FFA0C */ cpu->r[25] = cpu->r[25] + 0x00006338u;
|
|
/* 021FFA10 */ cpu->f[18] = cpu->f[29];
|
|
/* 021FFA14 */ cpu->r[26] = cpu->r[30];
|
|
/* 021FFA18 */ cpu->r[28] = cpu->r[28] + 0x00006000u;
|
|
/* 021FFA1C */ /* nop */
|
|
/* 021FFA20 */ _t143 = cpu->r[1] + 0x00000028u;
|
|
/* 021FFA20 */ cpu->r[29] = rbrew_read32(cpu->mem, _t143);
|
|
/* 021FFA24 */ goto L_021FFBB8;
|
|
L_021FFA28: ; // 0x21ffa28
|
|
/* 021FFA28 */ cpu->r[12] = 0x10040000u;
|
|
/* 021FFA2C */ cpu->r[4] = 0x43300000u;
|
|
/* 021FFA30 */ _t144 = cpu->r[12] + 0xFFFFE560u;
|
|
/* 021FFA30 */ cpu->f[13] = rbrew_read_f64(cpu->mem, _t144);
|
|
/* 021FFA34 */ cpu->r[5] = cpu->r[30] ^ 0x80000000u;
|
|
/* 021FFA38 */ _t145 = cpu->r[1] + 0x00000028u;
|
|
/* 021FFA38 */ rbrew_write32(cpu->mem, _t145, cpu->r[4]);
|
|
/* 021FFA3C */ _t146 = cpu->r[1] + 0x0000002Cu;
|
|
/* 021FFA3C */ rbrew_write32(cpu->mem, _t146, cpu->r[5]);
|
|
/* 021FFA40 */ _t147 = cpu->r[1] + 0x00000028u;
|
|
/* 021FFA40 */ cpu->f[12] = rbrew_read_f64(cpu->mem, _t147);
|
|
/* 021FFA44 */ _t148 = cpu->r[31] + 0x00000004u;
|
|
/* 021FFA44 */ cpu->r[6] = rbrew_read32(cpu->mem, _t148);
|
|
/* 021FFA48 */ cpu->f[13] = cpu->f[12] - cpu->f[13];
|
|
/* 021FFA4C */ _t149 = cpu->r[6] + 0x00000254u;
|
|
/* 021FFA4C */ cpu->r[7] = rbrew_read32(cpu->mem, _t149);
|
|
/* 021FFA50 */ cpu->f[11] = (double)(float)cpu->f[13];
|
|
/* 021FFA54 */ cpu->ctr = cpu->r[7];
|
|
/* 021FFA58 */ cpu->f[17] = fma(cpu->f[20], cpu->f[11], cpu->f[25]);
|
|
/* 021FFA5C */ cpu->r[3] = cpu->r[31];
|
|
/* 021FFA60 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021FFA64 */ cpu->f[11] = cpu->f[17] / cpu->f[21];
|
|
/* 021FFA68 */ _t150 = cpu->r[3] + 0x00000000u;
|
|
/* 021FFA68 */ cpu->f[6] = rbrew_read_f32(cpu->mem, _t150);
|
|
/* 021FFA6C */ _t151 = cpu->r[31] + 0x00000088u;
|
|
/* 021FFA6C */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t151);
|
|
/* 021FFA70 */ cpu->f[0] = cpu->f[6] - cpu->f[13];
|
|
/* 021FFA74 */ cpu->f[7] = fma(cpu->f[0], cpu->f[11], cpu->f[13]);
|
|
/* 021FFA78 */ _t152 = cpu->r[31] + 0x0000008Cu;
|
|
/* 021FFA78 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t152);
|
|
/* 021FFA7C */ _t153 = cpu->r[1] + 0x0000001Cu;
|
|
/* 021FFA7C */ rbrew_write_f32(cpu->mem, _t153, cpu->f[7]);
|
|
/* 021FFA80 */ _t154 = cpu->r[3] + 0x00000004u;
|
|
/* 021FFA80 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t154);
|
|
/* 021FFA84 */ _t155 = cpu->r[31] + 0x00000198u;
|
|
/* 021FFA84 */ cpu->r[0] = rbrew_read32(cpu->mem, _t155);
|
|
/* 021FFA88 */ cpu->f[8] = cpu->f[9] - cpu->f[13];
|
|
/* 021FFA8C */ _t156 = cpu->r[31] + 0x000000C4u;
|
|
/* 021FFA8C */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t156);
|
|
/* 021FFA90 */ cpu->f[10] = fma(cpu->f[8], cpu->f[11], cpu->f[13]);
|
|
/* 021FFA94 */ _t157 = cpu->r[31] + 0x00000090u;
|
|
/* 021FFA94 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t157);
|
|
/* 021FFA98 */ _t158 = cpu->r[1] + 0x00000020u;
|
|
/* 021FFA98 */ rbrew_write_f32(cpu->mem, _t158, cpu->f[10]);
|
|
/* 021FFA9C */ _t159 = cpu->r[3] + 0x00000008u;
|
|
/* 021FFA9C */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t159);
|
|
/* 021FFAA0 */ _t160 = cpu->r[31] + 0x000000CCu;
|
|
/* 021FFAA0 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t160);
|
|
/* 021FFAA4 */ cpu->f[6] = cpu->f[9] - cpu->f[13];
|
|
/* 021FFAA8 */ _t161 = cpu->r[1] + 0x00000014u;
|
|
/* 021FFAA8 */ rbrew_write_f32(cpu->mem, _t161, cpu->f[12]);
|
|
/* 021FFAAC */ cpu->f[0] = fma(cpu->f[6], cpu->f[11], cpu->f[13]);
|
|
/* 021FFAB0 */ _t162 = cpu->r[1] + 0x00000018u;
|
|
/* 021FFAB0 */ rbrew_write_f32(cpu->mem, _t162, cpu->f[10]);
|
|
/* 021FFAB4 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000016u, 0x00000016u);
|
|
/* 021FFAB4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 021FFAB8 */ _t163 = cpu->r[1] + 0x00000024u;
|
|
/* 021FFAB8 */ rbrew_write_f32(cpu->mem, _t163, cpu->f[0]);
|
|
/* 021FFABC */ _t164 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021FFABC */ _t165 = _t164 & 0x00000001u;
|
|
/* 021FFABC */ if (_t165) goto L_021FFAD8; else goto L_021FFAC0;
|
|
L_021FFAC0: ; // 0x21ffac0
|
|
/* 021FFAC0 */ cpu->f[9] = cpu->f[10] * cpu->f[10];
|
|
/* 021FFAC4 */ cpu->f[9] = fma(cpu->f[12], cpu->f[12], cpu->f[9]);
|
|
/* 021FFAC8 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[9], cpu->f[28]);
|
|
/* 021FFACC */ _t166 = cpu->r[24] + 0x000011D0u;
|
|
/* 021FFACC */ cpu->f[6] = rbrew_read_f32(cpu->mem, _t166);
|
|
/* 021FFAD0 */ _t167 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 021FFAD0 */ _t168 = _t167 & 0x00000001u;
|
|
/* 021FFAD0 */ if (_t168) goto L_021FFAD4; else goto L_021FFB10;
|
|
L_021FFAD4: ; // 0x21ffad4
|
|
/* 021FFAD4 */ goto L_021FFAEC;
|
|
L_021FFAD8: ; // 0x21ffad8
|
|
/* 021FFAD8 */ cpu->f[9] = cpu->f[10] * cpu->f[10];
|
|
/* 021FFADC */ cpu->f[9] = fma(cpu->f[12], cpu->f[12], cpu->f[9]);
|
|
/* 021FFAE0 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[9], cpu->f[28]);
|
|
/* 021FFAE4 */ _t169 = cpu->r[24] + 0x000014D0u;
|
|
/* 021FFAE4 */ cpu->f[6] = rbrew_read_f32(cpu->mem, _t169);
|
|
/* 021FFAE8 */ _t170 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 021FFAE8 */ _t171 = _t170 & 0x00000001u;
|
|
/* 021FFAE8 */ if (_t171) goto L_021FFAEC; else goto L_021FFB10;
|
|
L_021FFAEC: ; // 0x21ffaec
|
|
/* 021FFAEC */ _ft172 = sqrt(cpu->f[9]);
|
|
/* 021FFAEC */ _ft173 = (double)(int32_t)0x00000001u;
|
|
/* 021FFAEC */ cpu->f[19] = _ft173 / _ft172;
|
|
/* 021FFAF0 */ cpu->f[26] = cpu->f[19] * cpu->f[19];
|
|
/* 021FFAF4 */ cpu->f[27] = cpu->f[19] * cpu->f[6];
|
|
/* 021FFAF8 */ cpu->f[26] = -fma(cpu->f[26], cpu->f[9], -(cpu->f[31]));
|
|
/* 021FFAFC */ cpu->f[27] = cpu->f[27] * cpu->f[29];
|
|
/* 021FFB00 */ cpu->f[19] = cpu->f[26] * cpu->f[27];
|
|
/* 021FFB04 */ /* nop */
|
|
/* 021FFB08 */ /* nop */
|
|
/* 021FFB0C */ /* nop */
|
|
L_021FFB10: ; // 0x21ffb10
|
|
/* 021FFB10 */ _t174 = cpu->r[28] + 0x00000000u;
|
|
/* 021FFB10 */ cpu->r[4] = rbrew_read32(cpu->mem, _t174);
|
|
/* 021FFB14 */ _t175 = cpu->r[27] + 0x00000000u;
|
|
/* 021FFB14 */ cpu->r[6] = rbrew_read32(cpu->mem, _t175);
|
|
/* 021FFB18 */ _t176 = cpu->r[4] + 0x00000274u;
|
|
/* 021FFB18 */ cpu->r[3] = rbrew_read32(cpu->mem, _t176);
|
|
/* 021FFB1C */ cpu->r[5] = cpu->r[3] + cpu->r[6];
|
|
/* 021FFB20 */ _t177 = cpu->r[5] + 0x00000104u;
|
|
/* 021FFB20 */ cpu->r[4] = rbrew_read8(cpu->mem, _t177);
|
|
/* 021FFB24 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x000000FFu);
|
|
/* 021FFB28 */ _t178 = cpu->r[31] + 0x00000051u;
|
|
/* 021FFB28 */ cpu->r[5] = rbrew_read8(cpu->mem, _t178);
|
|
/* 021FFB2C */ _t179 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021FFB2C */ _t180 = _t179 & 0x00000001u;
|
|
/* 021FFB2C */ if (_t180) goto L_021FFB9C; else goto L_021FFB30;
|
|
L_021FFB30: ; // 0x21ffb30
|
|
/* 021FFB30 */ cpu->r[6] = cpu->r[1] + 0x0000001Cu;
|
|
/* 021FFB34 */ cpu->r[7] = cpu->r[25];
|
|
/* 021FFB38 */ Gambit_fn_021F000C(cpu);
|
|
/* 021FFB3C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 021FFB40 */ _t181 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021FFB40 */ _t182 = _t181 & 0x00000001u;
|
|
/* 021FFB40 */ if (_t182) goto L_021FFB9C; else goto L_021FFB44;
|
|
L_021FFB44: ; // 0x21ffb44
|
|
/* 021FFB44 */ _t183 = cpu->r[31] + 0x00000058u;
|
|
/* 021FFB44 */ cpu->r[6] = rbrew_read32(cpu->mem, _t183);
|
|
/* 021FFB48 */ cpu->f[1] = cpu->f[23];
|
|
/* 021FFB4C */ _t184 = cpu->r[31] + 0x00000054u;
|
|
/* 021FFB4C */ cpu->r[5] = rbrew_read32(cpu->mem, _t184);
|
|
/* 021FFB50 */ cpu->f[2] = cpu->f[24];
|
|
/* 021FFB54 */ cpu->r[0] = cpu->r[1] + 0x00000030u;
|
|
/* 021FFB58 */ _t185 = cpu->r[31] + 0x00000051u;
|
|
/* 021FFB58 */ cpu->r[10] = rbrew_read8(cpu->mem, _t185);
|
|
/* 021FFB5C */ cpu->f[5] = cpu->f[30];
|
|
/* 021FFB60 */ _t186 = cpu->r[1] + 0x00000008u;
|
|
/* 021FFB60 */ rbrew_write32(cpu->mem, _t186, cpu->r[0]);
|
|
/* 021FFB64 */ _t187 = cpu->r[31] + 0x00000064u;
|
|
/* 021FFB64 */ cpu->r[8] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t187);
|
|
/* 021FFB68 */ cpu->f[3] = cpu->f[22];
|
|
/* 021FFB6C */ _t188 = cpu->r[1] + 0x00000030u;
|
|
/* 021FFB6C */ rbrew_write32(cpu->mem, _t188, cpu->r[26]);
|
|
/* 021FFB70 */ cpu->f[4] = cpu->f[28];
|
|
/* 021FFB74 */ cpu->r[4] = 0x00000000u;
|
|
/* 021FFB78 */ _t189 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021FFB78 */ rbrew_write32(cpu->mem, _t189, cpu->r[8]);
|
|
/* 021FFB7C */ _t190 = cpu->r[31] + 0x0000005Cu;
|
|
/* 021FFB7C */ cpu->r[12] = rbrew_read32(cpu->mem, _t190);
|
|
/* 021FFB80 */ cpu->f[6] = cpu->f[18];
|
|
/* 021FFB84 */ cpu->r[9] = cpu->r[1] + 0x00000014u;
|
|
/* 021FFB88 */ cpu->r[7] = cpu->r[1] + 0x0000001Cu;
|
|
/* 021FFB8C */ cpu->r[0] = cpu->r[12] + cpu->r[30];
|
|
/* 021FFB90 */ cpu->r[8] = cpu->r[25];
|
|
/* 021FFB94 */ _t191 = cpu->r[1] + 0x00000010u;
|
|
/* 021FFB94 */ rbrew_write32(cpu->mem, _t191, cpu->r[0]);
|
|
/* 021FFB98 */ Gambit_fn_021FF5CC(cpu);
|
|
L_021FFB9C: ; // 0x21ffb9c
|
|
/* 021FFB9C */ _t192 = cpu->r[31] + 0x0000016Cu;
|
|
/* 021FFB9C */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t192);
|
|
/* 021FFBA0 */ _t193 = cpu->r[31] + 0x00000198u;
|
|
/* 021FFBA0 */ cpu->r[9] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t193);
|
|
/* 021FFBA4 */ cpu->f[10] = cpu->f[10] - cpu->f[20];
|
|
/* 021FFBA8 */ cpu->r[9] = cpu->r[9] + 0xFFFFFFFFu;
|
|
/* 021FFBAC */ _t194 = cpu->r[31] + 0x00000198u;
|
|
/* 021FFBAC */ rbrew_write16(cpu->mem, _t194, (uint16_t)cpu->r[9]);
|
|
/* 021FFBB0 */ cpu->r[30] = cpu->r[30] + 0x00000001u;
|
|
/* 021FFBB4 */ _t195 = cpu->r[31] + 0x0000016Cu;
|
|
/* 021FFBB4 */ rbrew_write_f32(cpu->mem, _t195, cpu->f[10]);
|
|
L_021FFBB8: ; // 0x21ffbb8
|
|
/* 021FFBB8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[29]);
|
|
/* 021FFBBC */ _t196 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 021FFBBC */ _t197 = _t196 & 0x00000001u;
|
|
/* 021FFBBC */ if (_t197) goto L_021FFBC0; else goto L_021FFBCC;
|
|
L_021FFBC0: ; // 0x21ffbc0
|
|
/* 021FFBC0 */ _t198 = cpu->r[31] + 0x00000198u;
|
|
/* 021FFBC0 */ cpu->r[12] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t198);
|
|
/* 021FFBC4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 021FFBC8 */ _t199 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 021FFBC8 */ _t200 = _t199 & 0x00000001u;
|
|
/* 021FFBC8 */ if (_t200) goto L_021FFA28; else goto L_021FFBCC;
|
|
L_021FFBCC: ; // 0x21ffbcc
|
|
/* 021FFBCC */ /* nop */
|
|
/* 021FFBD0 */ _t201 = cpu->r[1] + 0x000000B8u;
|
|
/* 021FFBD0 */ cpu->f[22] = rbrew_read_f32(cpu->mem, _t201);
|
|
/* 021FFBD4 */ _t202 = cpu->r[1] + 0x00000098u;
|
|
/* 021FFBD4 */ cpu->f[20] = rbrew_read_f32(cpu->mem, _t202);
|
|
/* 021FFBD8 */ _t203 = cpu->r[1] + 0x000000B0u;
|
|
/* 021FFBD8 */ cpu->f[22] = rbrew_read_f64(cpu->mem, _t203);
|
|
/* 021FFBDC */ _t204 = cpu->r[1] + 0x00000088u;
|
|
/* 021FFBDC */ cpu->f[19] = rbrew_read_f32(cpu->mem, _t204);
|
|
/* 021FFBE0 */ _t205 = cpu->r[1] + 0x00000090u;
|
|
/* 021FFBE0 */ cpu->f[20] = rbrew_read_f64(cpu->mem, _t205);
|
|
/* 021FFBE4 */ _t206 = cpu->r[1] + 0x00000080u;
|
|
/* 021FFBE4 */ cpu->f[19] = rbrew_read_f64(cpu->mem, _t206);
|
|
/* 021FFBE8 */ _t207 = cpu->r[1] + 0x000000D8u;
|
|
/* 021FFBE8 */ cpu->f[24] = rbrew_read_f32(cpu->mem, _t207);
|
|
/* 021FFBEC */ _t208 = cpu->r[1] + 0x000000A8u;
|
|
/* 021FFBEC */ cpu->f[21] = rbrew_read_f32(cpu->mem, _t208);
|
|
/* 021FFBF0 */ _t209 = cpu->r[1] + 0x000000D0u;
|
|
/* 021FFBF0 */ cpu->f[24] = rbrew_read_f64(cpu->mem, _t209);
|
|
/* 021FFBF4 */ _t210 = cpu->r[1] + 0x000000A0u;
|
|
/* 021FFBF4 */ cpu->f[21] = rbrew_read_f64(cpu->mem, _t210);
|
|
/* 021FFBF8 */ _t211 = cpu->r[1] + 0x000000F8u;
|
|
/* 021FFBF8 */ cpu->f[26] = rbrew_read_f32(cpu->mem, _t211);
|
|
/* 021FFBFC */ _t212 = cpu->r[1] + 0x000000C8u;
|
|
/* 021FFBFC */ cpu->f[23] = rbrew_read_f32(cpu->mem, _t212);
|
|
/* 021FFC00 */ _t213 = cpu->r[1] + 0x000000F0u;
|
|
/* 021FFC00 */ cpu->f[26] = rbrew_read_f64(cpu->mem, _t213);
|
|
/* 021FFC04 */ _t214 = cpu->r[1] + 0x000000C0u;
|
|
/* 021FFC04 */ cpu->f[23] = rbrew_read_f64(cpu->mem, _t214);
|
|
/* 021FFC08 */ _t215 = cpu->r[1] + 0x00000118u;
|
|
/* 021FFC08 */ cpu->f[28] = rbrew_read_f32(cpu->mem, _t215);
|
|
/* 021FFC0C */ _t216 = cpu->r[1] + 0x00000108u;
|
|
/* 021FFC0C */ cpu->f[27] = rbrew_read_f32(cpu->mem, _t216);
|
|
/* 021FFC10 */ _t217 = cpu->r[1] + 0x00000078u;
|
|
/* 021FFC10 */ cpu->f[18] = rbrew_read_f32(cpu->mem, _t217);
|
|
/* 021FFC14 */ _t218 = cpu->r[1] + 0x00000100u;
|
|
/* 021FFC14 */ cpu->f[27] = rbrew_read_f64(cpu->mem, _t218);
|
|
/* 021FFC18 */ _t219 = cpu->r[1] + 0x00000128u;
|
|
/* 021FFC18 */ cpu->f[29] = rbrew_read_f32(cpu->mem, _t219);
|
|
/* 021FFC1C */ _t220 = cpu->r[1] + 0x00000070u;
|
|
/* 021FFC1C */ cpu->f[18] = rbrew_read_f64(cpu->mem, _t220);
|
|
/* 021FFC20 */ _t221 = cpu->r[1] + 0x00000120u;
|
|
/* 021FFC20 */ cpu->f[29] = rbrew_read_f64(cpu->mem, _t221);
|
|
/* 021FFC24 */ _t222 = cpu->r[1] + 0x00000068u;
|
|
/* 021FFC24 */ cpu->f[17] = rbrew_read_f32(cpu->mem, _t222);
|
|
/* 021FFC28 */ _t223 = cpu->r[1] + 0x00000148u;
|
|
/* 021FFC28 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t223);
|
|
/* 021FFC2C */ _t224 = cpu->r[1] + 0x00000060u;
|
|
/* 021FFC2C */ cpu->f[17] = rbrew_read_f64(cpu->mem, _t224);
|
|
/* 021FFC30 */ _t225 = cpu->r[1] + 0x00000140u;
|
|
/* 021FFC30 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t225);
|
|
/* 021FFC34 */ _t226 = cpu->r[1] + 0x00000110u;
|
|
/* 021FFC34 */ cpu->f[28] = rbrew_read_f64(cpu->mem, _t226);
|
|
/* 021FFC38 */ _t227 = cpu->r[1] + 0x00000138u;
|
|
/* 021FFC38 */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t227);
|
|
/* 021FFC3C */ _t228 = cpu->r[1] + 0x000000E8u;
|
|
/* 021FFC3C */ cpu->f[25] = rbrew_read_f32(cpu->mem, _t228);
|
|
/* 021FFC40 */ _t229 = cpu->r[1] + 0x00000130u;
|
|
/* 021FFC40 */ cpu->f[30] = rbrew_read_f64(cpu->mem, _t229);
|
|
/* 021FFC44 */ _t230 = cpu->r[1] + 0x000000E0u;
|
|
/* 021FFC44 */ cpu->f[25] = rbrew_read_f64(cpu->mem, _t230);
|
|
/* 021FFC48 */ _t231 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 021FFC48 */ _t232 = _t231 & 0x00000001u;
|
|
/* 021FFC48 */ if (_t232) goto L_021FFC4C; // else: addr-0 trap, fall-through
|
|
L_021FFC4C: ; // 0x21ffc4c
|
|
/* 021FFC4C */ _t233 = cpu->r[1] + 0x00000154u;
|
|
/* 021FFC4C */ cpu->r[0] = rbrew_read32(cpu->mem, _t233);
|
|
/* 021FFC50 */ cpu->lr = cpu->r[0];
|
|
/* 021FFC54 */ cpu->r[1] = cpu->r[1] + 0x00000150u;
|
|
/* 021FFC58 */ return;
|
|
}
|
|
|
|
// fn_021FFC5C @ 0x21ffc5c
|
|
void Gambit_fn_021FFC5C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30;
|
|
|
|
L_021FFC5C: ; // 0x21ffc5c
|
|
/* 021FFC5C */ _t0 = cpu->r[1] + 0xFFFFFFD8u;
|
|
/* 021FFC5C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 021FFC5C */ cpu->r[1] = _t0;
|
|
/* 021FFC60 */ /* nop */
|
|
/* 021FFC64 */ cpu->r[0] = cpu->lr;
|
|
/* 021FFC68 */ _t1 = cpu->r[1] + 0x0000002Cu;
|
|
/* 021FFC68 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 021FFC6C */ _t2 = cpu->r[3] + 0x00000004u;
|
|
/* 021FFC6C */ cpu->r[31] = rbrew_read32(cpu->mem, _t2);
|
|
/* 021FFC70 */ _t3 = cpu->r[31] + 0x00000254u;
|
|
/* 021FFC70 */ cpu->r[8] = rbrew_read32(cpu->mem, _t3);
|
|
/* 021FFC74 */ cpu->r[11] = 0x101C0000u;
|
|
/* 021FFC78 */ _t4 = cpu->r[3] + 0x00000051u;
|
|
/* 021FFC78 */ cpu->r[28] = rbrew_read8(cpu->mem, _t4);
|
|
/* 021FFC7C */ cpu->ctr = cpu->r[8];
|
|
/* 021FFC80 */ _t5 = cpu->r[11] + 0x00006000u;
|
|
/* 021FFC80 */ cpu->r[11] = rbrew_read32(cpu->mem, _t5);
|
|
/* 021FFC84 */ cpu->r[29] = cpu->r[3];
|
|
/* 021FFC88 */ _t6 = cpu->r[11] + 0x00000274u;
|
|
/* 021FFC88 */ cpu->r[30] = rbrew_read32(cpu->mem, _t6);
|
|
/* 021FFC8C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021FFC90 */ _t7 = cpu->r[31] + 0x0000025Cu;
|
|
/* 021FFC90 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 021FFC94 */ cpu->r[31] = cpu->r[3];
|
|
/* 021FFC98 */ cpu->ctr = cpu->r[0];
|
|
/* 021FFC9C */ cpu->r[3] = cpu->r[29];
|
|
/* 021FFCA0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021FFCA4 */ cpu->r[12] = 0x101C0000u;
|
|
/* 021FFCA8 */ _t8 = cpu->r[12] + 0x0000510Cu;
|
|
/* 021FFCA8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t8);
|
|
/* 021FFCAC */ cpu->r[10] = cpu->r[30] + cpu->r[12];
|
|
/* 021FFCB0 */ _t9 = cpu->r[10] + 0x00000104u;
|
|
/* 021FFCB0 */ cpu->r[4] = rbrew_read8(cpu->mem, _t9);
|
|
/* 021FFCB4 */ cpu->r[7] = cpu->r[3];
|
|
/* 021FFCB8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x000000FFu);
|
|
/* 021FFCBC */ cpu->r[27] = 0x00000000u;
|
|
/* 021FFCC0 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021FFCC0 */ _t11 = _t10 & 0x00000001u;
|
|
/* 021FFCC0 */ if (_t11) goto L_021FFCD8; else goto L_021FFCC4;
|
|
L_021FFCC4: ; // 0x21ffcc4
|
|
/* 021FFCC4 */ cpu->r[6] = cpu->r[31];
|
|
/* 021FFCC8 */ cpu->r[5] = cpu->r[28];
|
|
/* 021FFCCC */ cpu->r[3] = cpu->r[30];
|
|
/* 021FFCD0 */ Gambit_fn_021F000C(cpu);
|
|
/* 021FFCD4 */ cpu->r[27] = cpu->r[3];
|
|
L_021FFCD8: ; // 0x21ffcd8
|
|
/* 021FFCD8 */ _t12 = cpu->r[29] + 0x00000198u;
|
|
/* 021FFCD8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 021FFCDC */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000012u, 0x00000013u);
|
|
/* 021FFCDC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 021FFCE0 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021FFCE0 */ _t14 = _t13 & 0x00000001u;
|
|
/* 021FFCE0 */ if (_t14) goto L_021FFCE4; else goto L_021FFCF8;
|
|
L_021FFCE4: ; // 0x21ffce4
|
|
/* 021FFCE4 */ _t15 = cpu->r[29] + 0x00000004u;
|
|
/* 021FFCE4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t15);
|
|
/* 021FFCE8 */ _t16 = cpu->r[10] + 0x00000254u;
|
|
/* 021FFCE8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t16);
|
|
/* 021FFCEC */ cpu->ctr = cpu->r[12];
|
|
/* 021FFCF0 */ cpu->r[3] = cpu->r[29];
|
|
/* 021FFCF4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_021FFCF8: ; // 0x21ffcf8
|
|
/* 021FFCF8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 021FFCFC */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021FFCFC */ _t18 = _t17 & 0x00000001u;
|
|
/* 021FFCFC */ if (_t18) goto L_021FFD64; else goto L_021FFD00;
|
|
L_021FFD00: ; // 0x21ffd00
|
|
/* 021FFD00 */ _t19 = cpu->r[29] + 0x00000064u;
|
|
/* 021FFD00 */ cpu->r[9] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t19);
|
|
/* 021FFD04 */ cpu->r[0] = cpu->r[29] + 0x0000019Cu;
|
|
/* 021FFD08 */ _t20 = cpu->r[29] + 0x00000054u;
|
|
/* 021FFD08 */ cpu->r[5] = rbrew_read32(cpu->mem, _t20);
|
|
/* 021FFD0C */ _t21 = cpu->r[29] + 0x00000058u;
|
|
/* 021FFD0C */ cpu->r[6] = rbrew_read32(cpu->mem, _t21);
|
|
/* 021FFD10 */ _t22 = cpu->r[1] + 0x00000008u;
|
|
/* 021FFD10 */ rbrew_write32(cpu->mem, _t22, cpu->r[0]);
|
|
/* 021FFD14 */ _t23 = cpu->r[29] + 0x00000198u;
|
|
/* 021FFD14 */ cpu->r[0] = rbrew_read32(cpu->mem, _t23);
|
|
/* 021FFD18 */ cpu->r[3] = cpu->r[27];
|
|
/* 021FFD1C */ cpu->r[11] = rbrew_rlwinm(cpu->r[0], 0x0000001Au, 0x00000000u, 0x00000005u);
|
|
/* 021FFD20 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 021FFD24 */ /* nop */
|
|
/* 021FFD28 */ cpu->r[4] = 0x00000000u;
|
|
/* 021FFD2C */ _t24 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021FFD2C */ rbrew_write32(cpu->mem, _t24, cpu->r[0]);
|
|
/* 021FFD30 */ _t25 = cpu->r[29] + 0x0000005Cu;
|
|
/* 021FFD30 */ cpu->r[0] = rbrew_read32(cpu->mem, _t25);
|
|
/* 021FFD34 */ cpu->r[10] = cpu->r[29];
|
|
/* 021FFD38 */ cpu->r[8] = cpu->r[29] + 0x0000017Cu;
|
|
/* 021FFD3C */ cpu->r[7] = cpu->r[29] + 0x00000188u;
|
|
/* 021FFD40 */ _t26 = cpu->r[1] + 0x00000010u;
|
|
/* 021FFD40 */ rbrew_write32(cpu->mem, _t26, cpu->r[0]);
|
|
/* 021FFD44 */ _t27 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021FFD44 */ _t28 = _t27 & 0x00000001u;
|
|
/* 021FFD44 */ if (_t28) goto L_021FFD60; else goto L_021FFD48;
|
|
L_021FFD48: ; // 0x21ffd48
|
|
/* 021FFD48 */ Gambit_fn_021EAE70(cpu);
|
|
/* 021FFD4C */ /* nop */
|
|
/* 021FFD50 */ _t29 = cpu->r[1] + 0x0000002Cu;
|
|
/* 021FFD50 */ cpu->r[0] = rbrew_read32(cpu->mem, _t29);
|
|
/* 021FFD54 */ cpu->lr = cpu->r[0];
|
|
/* 021FFD58 */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 021FFD5C */ return;
|
|
L_021FFD60: ; // 0x21ffd60
|
|
/* 021FFD60 */ Gambit_fn_021EAF60(cpu);
|
|
L_021FFD64: ; // 0x21ffd64
|
|
/* 021FFD64 */ /* nop */
|
|
/* 021FFD68 */ _t30 = cpu->r[1] + 0x0000002Cu;
|
|
/* 021FFD68 */ cpu->r[0] = rbrew_read32(cpu->mem, _t30);
|
|
/* 021FFD6C */ cpu->lr = cpu->r[0];
|
|
/* 021FFD70 */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 021FFD74 */ return;
|
|
}
|
|
|
|
// fn_021FFD78 @ 0x21ffd78
|
|
void Gambit_fn_021FFD78(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52;
|
|
double _ft22, _ft23;
|
|
|
|
L_021FFD78: ; // 0x21ffd78
|
|
/* 021FFD78 */ cpu->r[0] = cpu->lr;
|
|
/* 021FFD7C */ _t0 = cpu->r[1] + 0xFFFFFF60u;
|
|
/* 021FFD7C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 021FFD7C */ cpu->r[1] = _t0;
|
|
/* 021FFD80 */ _t1 = cpu->r[1] + 0x0000009Cu;
|
|
/* 021FFD80 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 021FFD84 */ _t2 = cpu->r[1] + 0x000000A4u;
|
|
/* 021FFD84 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 021FFD88 */ _t3 = cpu->r[3] + 0x00000004u;
|
|
/* 021FFD88 */ cpu->r[8] = rbrew_read32(cpu->mem, _t3);
|
|
/* 021FFD8C */ _t4 = cpu->r[8] + 0x00000254u;
|
|
/* 021FFD8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 021FFD90 */ cpu->ctr = cpu->r[0];
|
|
/* 021FFD94 */ cpu->r[31] = cpu->r[3];
|
|
/* 021FFD98 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021FFD9C */ /* nop */
|
|
/* 021FFDA0 */ /* nop */
|
|
/* 021FFDA4 */ _t5 = cpu->r[31] + 0x00000090u;
|
|
/* 021FFDA4 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t5);
|
|
/* 021FFDA8 */ /* nop */
|
|
/* 021FFDAC */ /* nop */
|
|
/* 021FFDB0 */ _t6 = cpu->r[3] + 0x00000008u;
|
|
/* 021FFDB0 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t6);
|
|
/* 021FFDB4 */ _t7 = cpu->r[1] + 0x00000018u;
|
|
/* 021FFDB4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t7);
|
|
/* 021FFDB8 */ _t8 = cpu->r[1] + 0x00000014u;
|
|
/* 021FFDB8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t8);
|
|
/* 021FFDBC */ _t9 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021FFDBC */ rbrew_write32(cpu->mem, _t9, cpu->r[12]);
|
|
/* 021FFDC0 */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021FFDC0 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t10);
|
|
/* 021FFDC4 */ cpu->f[13] = cpu->f[0] - cpu->f[9];
|
|
/* 021FFDC8 */ _t11 = cpu->r[1] + 0x00000008u;
|
|
/* 021FFDC8 */ rbrew_write32(cpu->mem, _t11, cpu->r[10]);
|
|
/* 021FFDCC */ _t12 = cpu->r[1] + 0x00000008u;
|
|
/* 021FFDCC */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t12);
|
|
/* 021FFDD0 */ cpu->f[10] = cpu->f[10] * cpu->f[10];
|
|
/* 021FFDD4 */ _t13 = cpu->r[1] + 0x0000001Cu;
|
|
/* 021FFDD4 */ rbrew_write_f32(cpu->mem, _t13, cpu->f[13]);
|
|
/* 021FFDD8 */ _t14 = cpu->r[1] + 0x0000001Cu;
|
|
/* 021FFDD8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 021FFDDC */ cpu->f[11] = fma(cpu->f[9], cpu->f[9], cpu->f[10]);
|
|
/* 021FFDE0 */ _t15 = cpu->r[1] + 0x00000010u;
|
|
/* 021FFDE0 */ rbrew_write32(cpu->mem, _t15, cpu->r[0]);
|
|
/* 021FFDE4 */ _t16 = cpu->r[1] + 0x00000010u;
|
|
/* 021FFDE4 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t16);
|
|
/* 021FFDE8 */ cpu->r[9] = 0x10040000u;
|
|
/* 021FFDEC */ cpu->f[10] = fma(cpu->f[12], cpu->f[12], cpu->f[11]);
|
|
/* 021FFDF0 */ _t17 = cpu->r[9] + 0xFFFFE510u;
|
|
/* 021FFDF0 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t17);
|
|
/* 021FFDF4 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[10], cpu->f[13]);
|
|
/* 021FFDF8 */ _t18 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 021FFDF8 */ _t19 = _t18 & 0x00000001u;
|
|
/* 021FFDF8 */ if (_t19) goto L_021FFDFC; else goto L_021FFE38;
|
|
L_021FFDFC: ; // 0x21ffdfc
|
|
/* 021FFDFC */ cpu->r[11] = 0x10040000u;
|
|
/* 021FFE00 */ cpu->r[9] = 0x10040000u;
|
|
/* 021FFE04 */ _t20 = cpu->r[11] + 0xFFFFE514u;
|
|
/* 021FFE04 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t20);
|
|
/* 021FFE08 */ _t21 = cpu->r[9] + 0xFFFFE524u;
|
|
/* 021FFE08 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t21);
|
|
/* 021FFE0C */ _ft22 = sqrt(cpu->f[10]);
|
|
/* 021FFE0C */ _ft23 = (double)(int32_t)0x00000001u;
|
|
/* 021FFE0C */ cpu->f[9] = _ft23 / _ft22;
|
|
/* 021FFE10 */ cpu->f[11] = cpu->f[9] * cpu->f[9];
|
|
/* 021FFE14 */ cpu->f[13] = cpu->f[9] * cpu->f[0];
|
|
/* 021FFE18 */ cpu->f[11] = -fma(cpu->f[11], cpu->f[10], -(cpu->f[12]));
|
|
/* 021FFE1C */ cpu->f[9] = cpu->f[11] * cpu->f[13];
|
|
/* 021FFE20 */ _t24 = cpu->r[1] + 0x00000010u;
|
|
/* 021FFE20 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t24);
|
|
/* 021FFE24 */ /* nop */
|
|
/* 021FFE28 */ cpu->f[13] = cpu->f[13] * cpu->f[9];
|
|
/* 021FFE2C */ /* nop */
|
|
/* 021FFE30 */ _t25 = cpu->r[1] + 0x00000010u;
|
|
/* 021FFE30 */ rbrew_write_f32(cpu->mem, _t25, cpu->f[13]);
|
|
/* 021FFE34 */ /* nop */
|
|
L_021FFE38: ; // 0x21ffe38
|
|
/* 021FFE38 */ cpu->r[10] = 0x10040000u;
|
|
/* 021FFE3C */ _t26 = cpu->r[10] + 0xFFFFE568u;
|
|
/* 021FFE3C */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t26);
|
|
/* 021FFE40 */ cpu->r[3] = cpu->r[31];
|
|
/* 021FFE44 */ Gambit_fn_0222E1F4(cpu);
|
|
/* 021FFE48 */ cpu->r[3] = cpu->r[31];
|
|
/* 021FFE4C */ Gambit_fn_0222C57C(cpu);
|
|
/* 021FFE50 */ _t27 = cpu->r[31] + 0x00000198u;
|
|
/* 021FFE50 */ cpu->r[0] = rbrew_read32(cpu->mem, _t27);
|
|
/* 021FFE54 */ _t28 = cpu->r[31] + 0x00000104u;
|
|
/* 021FFE54 */ cpu->f[3] = rbrew_read_f32(cpu->mem, _t28);
|
|
/* 021FFE58 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000018u, 0x00000016u);
|
|
/* 021FFE5C */ _t29 = cpu->r[31] + 0x00000100u;
|
|
/* 021FFE5C */ cpu->f[2] = rbrew_read_f32(cpu->mem, _t29);
|
|
/* 021FFE60 */ _t30 = cpu->r[31] + 0x000000FCu;
|
|
/* 021FFE60 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t30);
|
|
/* 021FFE64 */ cpu->r[3] = cpu->r[1] + 0x00000068u;
|
|
/* 021FFE68 */ _t31 = cpu->r[31] + 0x00000198u;
|
|
/* 021FFE68 */ rbrew_write32(cpu->mem, _t31, cpu->r[0]);
|
|
/* 021FFE6C */ Gambit_fn_02C69840(cpu);
|
|
/* 021FFE70 */ cpu->r[4] = 0x101F0000u;
|
|
/* 021FFE74 */ cpu->r[3] = cpu->r[1] + 0x00000038u;
|
|
/* 021FFE78 */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 021FFE7C */ cpu->r[4] = cpu->r[4] + 0x0000635Cu;
|
|
/* 021FFE80 */ Gambit_fn_021C6DD8(cpu);
|
|
/* 021FFE84 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 021FFE88 */ _t32 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021FFE88 */ _t33 = _t32 & 0x00000001u;
|
|
/* 021FFE88 */ if (_t33) goto L_021FFE8C; else goto L_021FFEA0;
|
|
L_021FFE8C: ; // 0x21ffe8c
|
|
/* 021FFE8C */ cpu->r[4] = 0x00000000u;
|
|
/* 021FFE90 */ cpu->r[5] = 0x80000000u;
|
|
/* 021FFE94 */ cpu->r[3] = cpu->r[1] + 0x00000038u;
|
|
/* 021FFE98 */ cpu->r[6] = cpu->r[4];
|
|
/* 021FFE9C */ Gambit_fn_021E1408(cpu);
|
|
L_021FFEA0: ; // 0x21ffea0
|
|
/* 021FFEA0 */ cpu->r[5] = cpu->r[31] + 0x000001ACu;
|
|
/* 021FFEA4 */ cpu->r[4] = cpu->r[1] + 0x00000038u;
|
|
/* 021FFEA8 */ cpu->r[3] = cpu->r[1] + 0x00000068u;
|
|
/* 021FFEAC */ Gambit_fn_02C69544(cpu);
|
|
/* 021FFEB0 */ cpu->r[3] = cpu->r[31];
|
|
/* 021FFEB4 */ Gambit_fn_021FF1B0(cpu);
|
|
/* 021FFEB8 */ cpu->r[11] = 0x101F0000u;
|
|
/* 021FFEBC */ _t34 = cpu->r[31] + 0x00000198u;
|
|
/* 021FFEBC */ cpu->r[12] = rbrew_read32(cpu->mem, _t34);
|
|
/* 021FFEC0 */ cpu->r[11] = cpu->r[11] + 0x00006368u;
|
|
/* 021FFEC4 */ /* nop */
|
|
/* 021FFEC8 */ _t35 = cpu->r[11] + 0x00000008u;
|
|
/* 021FFEC8 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t35);
|
|
/* 021FFECC */ /* nop */
|
|
/* 021FFED0 */ /* nop */
|
|
/* 021FFED4 */ _t36 = cpu->r[1] + 0x00000020u;
|
|
/* 021FFED4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t36);
|
|
/* 021FFED8 */ _t37 = cpu->r[1] + 0x00000024u;
|
|
/* 021FFED8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t37);
|
|
/* 021FFEDC */ cpu->f[0] = cpu->f[9] * cpu->f[1];
|
|
/* 021FFEE0 */ _t38 = cpu->r[1] + 0x0000002Cu;
|
|
/* 021FFEE0 */ rbrew_write32(cpu->mem, _t38, cpu->r[8]);
|
|
/* 021FFEE4 */ _t39 = cpu->r[1] + 0x0000002Cu;
|
|
/* 021FFEE4 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t39);
|
|
/* 021FFEE8 */ _t40 = cpu->r[1] + 0x00000030u;
|
|
/* 021FFEE8 */ rbrew_write32(cpu->mem, _t40, cpu->r[9]);
|
|
/* 021FFEEC */ _t41 = cpu->r[1] + 0x00000030u;
|
|
/* 021FFEEC */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t41);
|
|
/* 021FFEF0 */ _t42 = cpu->r[1] + 0x00000028u;
|
|
/* 021FFEF0 */ rbrew_write_f32(cpu->mem, _t42, cpu->f[0]);
|
|
/* 021FFEF4 */ _t43 = cpu->r[1] + 0x00000028u;
|
|
/* 021FFEF4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t43);
|
|
/* 021FFEF8 */ _t44 = cpu->r[31] + 0x000001DCu;
|
|
/* 021FFEF8 */ rbrew_write_f32(cpu->mem, _t44, cpu->f[13]);
|
|
/* 021FFEFC */ _t45 = cpu->r[1] + 0x00000034u;
|
|
/* 021FFEFC */ rbrew_write32(cpu->mem, _t45, cpu->r[10]);
|
|
/* 021FFF00 */ _t46 = cpu->r[1] + 0x00000034u;
|
|
/* 021FFF00 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t46);
|
|
/* 021FFF04 */ _t47 = cpu->r[31] + 0x000001E0u;
|
|
/* 021FFF04 */ rbrew_write_f32(cpu->mem, _t47, cpu->f[9]);
|
|
/* 021FFF08 */ cpu->r[12] = rbrew_rlwinm(cpu->r[12], 0x00000000u, 0x00000012u, 0x00000013u);
|
|
/* 021FFF08 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 021FFF0C */ _t48 = cpu->r[31] + 0x000001E4u;
|
|
/* 021FFF0C */ rbrew_write_f32(cpu->mem, _t48, cpu->f[0]);
|
|
/* 021FFF10 */ _t49 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021FFF10 */ _t50 = _t49 & 0x00000001u;
|
|
/* 021FFF10 */ if (_t50) goto L_021FFF1C; else goto L_021FFF14;
|
|
L_021FFF14: ; // 0x21fff14
|
|
/* 021FFF14 */ cpu->r[3] = cpu->r[31];
|
|
/* 021FFF18 */ Gambit_fn_021FFC5C(cpu);
|
|
L_021FFF1C: ; // 0x21fff1c
|
|
/* 021FFF1C */ _t51 = cpu->r[1] + 0x000000A4u;
|
|
/* 021FFF1C */ cpu->r[0] = rbrew_read32(cpu->mem, _t51);
|
|
/* 021FFF20 */ _t52 = cpu->r[1] + 0x0000009Cu;
|
|
/* 021FFF20 */ cpu->r[31] = rbrew_read32(cpu->mem, _t52);
|
|
/* 021FFF24 */ cpu->lr = cpu->r[0];
|
|
/* 021FFF28 */ cpu->r[1] = cpu->r[1] + 0x000000A0u;
|
|
/* 021FFF2C */ return;
|
|
}
|
|
|
|
// fn_021FFD7C @ 0x21ffd7c
|
|
void Gambit_fn_021FFD7C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52;
|
|
double _ft22, _ft23;
|
|
|
|
L_021FFD7C: ; // 0x21ffd7c
|
|
/* 021FFD7C */ _t0 = cpu->r[1] + 0xFFFFFF60u;
|
|
/* 021FFD7C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 021FFD7C */ cpu->r[1] = _t0;
|
|
/* 021FFD80 */ _t1 = cpu->r[1] + 0x0000009Cu;
|
|
/* 021FFD80 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 021FFD84 */ _t2 = cpu->r[1] + 0x000000A4u;
|
|
/* 021FFD84 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 021FFD88 */ _t3 = cpu->r[3] + 0x00000004u;
|
|
/* 021FFD88 */ cpu->r[8] = rbrew_read32(cpu->mem, _t3);
|
|
/* 021FFD8C */ _t4 = cpu->r[8] + 0x00000254u;
|
|
/* 021FFD8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 021FFD90 */ cpu->ctr = cpu->r[0];
|
|
/* 021FFD94 */ cpu->r[31] = cpu->r[3];
|
|
/* 021FFD98 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021FFD9C */ /* nop */
|
|
/* 021FFDA0 */ /* nop */
|
|
/* 021FFDA4 */ _t5 = cpu->r[31] + 0x00000090u;
|
|
/* 021FFDA4 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t5);
|
|
/* 021FFDA8 */ /* nop */
|
|
/* 021FFDAC */ /* nop */
|
|
/* 021FFDB0 */ _t6 = cpu->r[3] + 0x00000008u;
|
|
/* 021FFDB0 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t6);
|
|
/* 021FFDB4 */ _t7 = cpu->r[1] + 0x00000018u;
|
|
/* 021FFDB4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t7);
|
|
/* 021FFDB8 */ _t8 = cpu->r[1] + 0x00000014u;
|
|
/* 021FFDB8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t8);
|
|
/* 021FFDBC */ _t9 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021FFDBC */ rbrew_write32(cpu->mem, _t9, cpu->r[12]);
|
|
/* 021FFDC0 */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 021FFDC0 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t10);
|
|
/* 021FFDC4 */ cpu->f[13] = cpu->f[0] - cpu->f[9];
|
|
/* 021FFDC8 */ _t11 = cpu->r[1] + 0x00000008u;
|
|
/* 021FFDC8 */ rbrew_write32(cpu->mem, _t11, cpu->r[10]);
|
|
/* 021FFDCC */ _t12 = cpu->r[1] + 0x00000008u;
|
|
/* 021FFDCC */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t12);
|
|
/* 021FFDD0 */ cpu->f[10] = cpu->f[10] * cpu->f[10];
|
|
/* 021FFDD4 */ _t13 = cpu->r[1] + 0x0000001Cu;
|
|
/* 021FFDD4 */ rbrew_write_f32(cpu->mem, _t13, cpu->f[13]);
|
|
/* 021FFDD8 */ _t14 = cpu->r[1] + 0x0000001Cu;
|
|
/* 021FFDD8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 021FFDDC */ cpu->f[11] = fma(cpu->f[9], cpu->f[9], cpu->f[10]);
|
|
/* 021FFDE0 */ _t15 = cpu->r[1] + 0x00000010u;
|
|
/* 021FFDE0 */ rbrew_write32(cpu->mem, _t15, cpu->r[0]);
|
|
/* 021FFDE4 */ _t16 = cpu->r[1] + 0x00000010u;
|
|
/* 021FFDE4 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t16);
|
|
/* 021FFDE8 */ cpu->r[9] = 0x10040000u;
|
|
/* 021FFDEC */ cpu->f[10] = fma(cpu->f[12], cpu->f[12], cpu->f[11]);
|
|
/* 021FFDF0 */ _t17 = cpu->r[9] + 0xFFFFE510u;
|
|
/* 021FFDF0 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t17);
|
|
/* 021FFDF4 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[10], cpu->f[13]);
|
|
/* 021FFDF8 */ _t18 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 021FFDF8 */ _t19 = _t18 & 0x00000001u;
|
|
/* 021FFDF8 */ if (_t19) goto L_021FFDFC; else goto L_021FFE38;
|
|
L_021FFDFC: ; // 0x21ffdfc
|
|
/* 021FFDFC */ cpu->r[11] = 0x10040000u;
|
|
/* 021FFE00 */ cpu->r[9] = 0x10040000u;
|
|
/* 021FFE04 */ _t20 = cpu->r[11] + 0xFFFFE514u;
|
|
/* 021FFE04 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t20);
|
|
/* 021FFE08 */ _t21 = cpu->r[9] + 0xFFFFE524u;
|
|
/* 021FFE08 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t21);
|
|
/* 021FFE0C */ _ft22 = sqrt(cpu->f[10]);
|
|
/* 021FFE0C */ _ft23 = (double)(int32_t)0x00000001u;
|
|
/* 021FFE0C */ cpu->f[9] = _ft23 / _ft22;
|
|
/* 021FFE10 */ cpu->f[11] = cpu->f[9] * cpu->f[9];
|
|
/* 021FFE14 */ cpu->f[13] = cpu->f[9] * cpu->f[0];
|
|
/* 021FFE18 */ cpu->f[11] = -fma(cpu->f[11], cpu->f[10], -(cpu->f[12]));
|
|
/* 021FFE1C */ cpu->f[9] = cpu->f[11] * cpu->f[13];
|
|
/* 021FFE20 */ _t24 = cpu->r[1] + 0x00000010u;
|
|
/* 021FFE20 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t24);
|
|
/* 021FFE24 */ /* nop */
|
|
/* 021FFE28 */ cpu->f[13] = cpu->f[13] * cpu->f[9];
|
|
/* 021FFE2C */ /* nop */
|
|
/* 021FFE30 */ _t25 = cpu->r[1] + 0x00000010u;
|
|
/* 021FFE30 */ rbrew_write_f32(cpu->mem, _t25, cpu->f[13]);
|
|
/* 021FFE34 */ /* nop */
|
|
L_021FFE38: ; // 0x21ffe38
|
|
/* 021FFE38 */ cpu->r[10] = 0x10040000u;
|
|
/* 021FFE3C */ _t26 = cpu->r[10] + 0xFFFFE568u;
|
|
/* 021FFE3C */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t26);
|
|
/* 021FFE40 */ cpu->r[3] = cpu->r[31];
|
|
/* 021FFE44 */ Gambit_fn_0222E1F4(cpu);
|
|
/* 021FFE48 */ cpu->r[3] = cpu->r[31];
|
|
/* 021FFE4C */ Gambit_fn_0222C57C(cpu);
|
|
/* 021FFE50 */ _t27 = cpu->r[31] + 0x00000198u;
|
|
/* 021FFE50 */ cpu->r[0] = rbrew_read32(cpu->mem, _t27);
|
|
/* 021FFE54 */ _t28 = cpu->r[31] + 0x00000104u;
|
|
/* 021FFE54 */ cpu->f[3] = rbrew_read_f32(cpu->mem, _t28);
|
|
/* 021FFE58 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000018u, 0x00000016u);
|
|
/* 021FFE5C */ _t29 = cpu->r[31] + 0x00000100u;
|
|
/* 021FFE5C */ cpu->f[2] = rbrew_read_f32(cpu->mem, _t29);
|
|
/* 021FFE60 */ _t30 = cpu->r[31] + 0x000000FCu;
|
|
/* 021FFE60 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t30);
|
|
/* 021FFE64 */ cpu->r[3] = cpu->r[1] + 0x00000068u;
|
|
/* 021FFE68 */ _t31 = cpu->r[31] + 0x00000198u;
|
|
/* 021FFE68 */ rbrew_write32(cpu->mem, _t31, cpu->r[0]);
|
|
/* 021FFE6C */ Gambit_fn_02C69840(cpu);
|
|
/* 021FFE70 */ cpu->r[4] = 0x101F0000u;
|
|
/* 021FFE74 */ cpu->r[3] = cpu->r[1] + 0x00000038u;
|
|
/* 021FFE78 */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 021FFE7C */ cpu->r[4] = cpu->r[4] + 0x0000635Cu;
|
|
/* 021FFE80 */ Gambit_fn_021C6DD8(cpu);
|
|
/* 021FFE84 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 021FFE88 */ _t32 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021FFE88 */ _t33 = _t32 & 0x00000001u;
|
|
/* 021FFE88 */ if (_t33) goto L_021FFE8C; else goto L_021FFEA0;
|
|
L_021FFE8C: ; // 0x21ffe8c
|
|
/* 021FFE8C */ cpu->r[4] = 0x00000000u;
|
|
/* 021FFE90 */ cpu->r[5] = 0x80000000u;
|
|
/* 021FFE94 */ cpu->r[3] = cpu->r[1] + 0x00000038u;
|
|
/* 021FFE98 */ cpu->r[6] = cpu->r[4];
|
|
/* 021FFE9C */ Gambit_fn_021E1408(cpu);
|
|
L_021FFEA0: ; // 0x21ffea0
|
|
/* 021FFEA0 */ cpu->r[5] = cpu->r[31] + 0x000001ACu;
|
|
/* 021FFEA4 */ cpu->r[4] = cpu->r[1] + 0x00000038u;
|
|
/* 021FFEA8 */ cpu->r[3] = cpu->r[1] + 0x00000068u;
|
|
/* 021FFEAC */ Gambit_fn_02C69544(cpu);
|
|
/* 021FFEB0 */ cpu->r[3] = cpu->r[31];
|
|
/* 021FFEB4 */ Gambit_fn_021FF1B0(cpu);
|
|
/* 021FFEB8 */ cpu->r[11] = 0x101F0000u;
|
|
/* 021FFEBC */ _t34 = cpu->r[31] + 0x00000198u;
|
|
/* 021FFEBC */ cpu->r[12] = rbrew_read32(cpu->mem, _t34);
|
|
/* 021FFEC0 */ cpu->r[11] = cpu->r[11] + 0x00006368u;
|
|
/* 021FFEC4 */ /* nop */
|
|
/* 021FFEC8 */ _t35 = cpu->r[11] + 0x00000008u;
|
|
/* 021FFEC8 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t35);
|
|
/* 021FFECC */ /* nop */
|
|
/* 021FFED0 */ /* nop */
|
|
/* 021FFED4 */ _t36 = cpu->r[1] + 0x00000020u;
|
|
/* 021FFED4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t36);
|
|
/* 021FFED8 */ _t37 = cpu->r[1] + 0x00000024u;
|
|
/* 021FFED8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t37);
|
|
/* 021FFEDC */ cpu->f[0] = cpu->f[9] * cpu->f[1];
|
|
/* 021FFEE0 */ _t38 = cpu->r[1] + 0x0000002Cu;
|
|
/* 021FFEE0 */ rbrew_write32(cpu->mem, _t38, cpu->r[8]);
|
|
/* 021FFEE4 */ _t39 = cpu->r[1] + 0x0000002Cu;
|
|
/* 021FFEE4 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t39);
|
|
/* 021FFEE8 */ _t40 = cpu->r[1] + 0x00000030u;
|
|
/* 021FFEE8 */ rbrew_write32(cpu->mem, _t40, cpu->r[9]);
|
|
/* 021FFEEC */ _t41 = cpu->r[1] + 0x00000030u;
|
|
/* 021FFEEC */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t41);
|
|
/* 021FFEF0 */ _t42 = cpu->r[1] + 0x00000028u;
|
|
/* 021FFEF0 */ rbrew_write_f32(cpu->mem, _t42, cpu->f[0]);
|
|
/* 021FFEF4 */ _t43 = cpu->r[1] + 0x00000028u;
|
|
/* 021FFEF4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t43);
|
|
/* 021FFEF8 */ _t44 = cpu->r[31] + 0x000001DCu;
|
|
/* 021FFEF8 */ rbrew_write_f32(cpu->mem, _t44, cpu->f[13]);
|
|
/* 021FFEFC */ _t45 = cpu->r[1] + 0x00000034u;
|
|
/* 021FFEFC */ rbrew_write32(cpu->mem, _t45, cpu->r[10]);
|
|
/* 021FFF00 */ _t46 = cpu->r[1] + 0x00000034u;
|
|
/* 021FFF00 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t46);
|
|
/* 021FFF04 */ _t47 = cpu->r[31] + 0x000001E0u;
|
|
/* 021FFF04 */ rbrew_write_f32(cpu->mem, _t47, cpu->f[9]);
|
|
/* 021FFF08 */ cpu->r[12] = rbrew_rlwinm(cpu->r[12], 0x00000000u, 0x00000012u, 0x00000013u);
|
|
/* 021FFF08 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 021FFF0C */ _t48 = cpu->r[31] + 0x000001E4u;
|
|
/* 021FFF0C */ rbrew_write_f32(cpu->mem, _t48, cpu->f[0]);
|
|
/* 021FFF10 */ _t49 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 021FFF10 */ _t50 = _t49 & 0x00000001u;
|
|
/* 021FFF10 */ if (_t50) goto L_021FFF1C; else goto L_021FFF14;
|
|
L_021FFF14: ; // 0x21fff14
|
|
/* 021FFF14 */ cpu->r[3] = cpu->r[31];
|
|
/* 021FFF18 */ Gambit_fn_021FFC5C(cpu);
|
|
L_021FFF1C: ; // 0x21fff1c
|
|
/* 021FFF1C */ _t51 = cpu->r[1] + 0x000000A4u;
|
|
/* 021FFF1C */ cpu->r[0] = rbrew_read32(cpu->mem, _t51);
|
|
/* 021FFF20 */ _t52 = cpu->r[1] + 0x0000009Cu;
|
|
/* 021FFF20 */ cpu->r[31] = rbrew_read32(cpu->mem, _t52);
|
|
/* 021FFF24 */ cpu->lr = cpu->r[0];
|
|
/* 021FFF28 */ cpu->r[1] = cpu->r[1] + 0x000000A0u;
|
|
/* 021FFF2C */ return;
|
|
}
|
|
|
|
// fn_021FFF30 @ 0x21fff30
|
|
void Gambit_fn_021FFF30(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69, _t70, _t71, _t72, _t73, _t74, _t75, _t76, _t77, _t78, _t79, _t80;
|
|
|
|
L_021FFF30: ; // 0x21fff30
|
|
/* 021FFF30 */ _t0 = cpu->r[1] + 0xFFFFFF60u;
|
|
/* 021FFF30 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 021FFF30 */ cpu->r[1] = _t0;
|
|
/* 021FFF34 */ _t1 = cpu->r[1] + 0x00000080u;
|
|
/* 021FFF34 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[30]);
|
|
/* 021FFF38 */ /* nop */
|
|
/* 021FFF3C */ cpu->r[27] = cpu->r[7];
|
|
/* 021FFF40 */ /* nop */
|
|
/* 021FFF44 */ cpu->r[0] = cpu->lr;
|
|
/* 021FFF48 */ _t2 = cpu->r[1] + 0x00000090u;
|
|
/* 021FFF48 */ rbrew_write_f64(cpu->mem, _t2, cpu->f[31]);
|
|
/* 021FFF4C */ /* nop */
|
|
/* 021FFF50 */ _t3 = cpu->r[1] + 0x00000088u;
|
|
/* 021FFF50 */ rbrew_write_f32(cpu->mem, _t3, cpu->f[30]);
|
|
/* 021FFF54 */ cpu->r[26] = cpu->r[4];
|
|
/* 021FFF58 */ _t4 = cpu->r[1] + 0x00000098u;
|
|
/* 021FFF58 */ rbrew_write_f32(cpu->mem, _t4, cpu->f[31]);
|
|
/* 021FFF5C */ cpu->r[4] = cpu->r[5];
|
|
/* 021FFF60 */ _t5 = cpu->r[1] + 0x000000A4u;
|
|
/* 021FFF60 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 021FFF64 */ cpu->r[29] = cpu->r[8];
|
|
/* 021FFF68 */ cpu->r[0] = 0xFFFFFFFFu;
|
|
/* 021FFF6C */ _t6 = cpu->r[1] + 0x00000044u;
|
|
/* 021FFF6C */ rbrew_write32(cpu->mem, _t6, cpu->r[6]);
|
|
/* 021FFF70 */ cpu->r[12] = 0x00000001u;
|
|
/* 021FFF74 */ _t7 = cpu->r[1] + 0x00000038u;
|
|
/* 021FFF74 */ rbrew_write32(cpu->mem, _t7, cpu->r[0]);
|
|
/* 021FFF78 */ cpu->r[30] = cpu->r[9];
|
|
/* 021FFF7C */ _t8 = cpu->r[1] + 0x00000040u;
|
|
/* 021FFF7C */ rbrew_write32(cpu->mem, _t8, cpu->r[4]);
|
|
/* 021FFF80 */ cpu->r[25] = 0x00000000u;
|
|
/* 021FFF84 */ _t9 = cpu->r[1] + 0x00000050u;
|
|
/* 021FFF84 */ rbrew_write16(cpu->mem, _t9, (uint16_t)cpu->r[0]);
|
|
/* 021FFF88 */ cpu->r[28] = cpu->r[3];
|
|
/* 021FFF8C */ _t10 = cpu->r[1] + 0x0000004Cu;
|
|
/* 021FFF8C */ rbrew_write32(cpu->mem, _t10, cpu->r[25]);
|
|
/* 021FFF90 */ cpu->r[3] = cpu->r[1] + 0x00000054u;
|
|
/* 021FFF94 */ _t11 = cpu->r[1] + 0x00000048u;
|
|
/* 021FFF94 */ rbrew_write32(cpu->mem, _t11, cpu->r[25]);
|
|
/* 021FFF98 */ cpu->r[31] = cpu->r[10];
|
|
/* 021FFF9C */ _t12 = cpu->r[1] + 0x0000003Cu;
|
|
/* 021FFF9C */ rbrew_write8(cpu->mem, _t12, (uint8_t)cpu->r[12]);
|
|
/* 021FFFA0 */ Gambit_fn_027E3E54(cpu);
|
|
/* 021FFFA4 */ _t13 = cpu->r[1] + 0x00000054u;
|
|
/* 021FFFA4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t13);
|
|
/* 021FFFA8 */ _t14 = cpu->r[1] + 0x0000004Cu;
|
|
/* 021FFFA8 */ rbrew_write32(cpu->mem, _t14, cpu->r[26]);
|
|
/* 021FFFAC */ _t15 = cpu->r[1] + 0x00000038u;
|
|
/* 021FFFAC */ rbrew_write32(cpu->mem, _t15, cpu->r[8]);
|
|
/* 021FFFB0 */ _t16 = cpu->r[28] + 0x00000004u;
|
|
/* 021FFFB0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t16);
|
|
/* 021FFFB4 */ _t17 = cpu->r[1] + 0x0000003Cu;
|
|
/* 021FFFB4 */ rbrew_write8(cpu->mem, _t17, (uint8_t)cpu->r[30]);
|
|
/* 021FFFB8 */ _t18 = cpu->r[1] + 0x00000058u;
|
|
/* 021FFFB8 */ rbrew_write32(cpu->mem, _t18, cpu->r[25]);
|
|
/* 021FFFBC */ _t19 = cpu->r[1] + 0x00000048u;
|
|
/* 021FFFBC */ rbrew_write32(cpu->mem, _t19, cpu->r[31]);
|
|
/* 021FFFC0 */ _t20 = cpu->r[9] + 0x0000046Cu;
|
|
/* 021FFFC0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t20);
|
|
/* 021FFFC4 */ cpu->ctr = cpu->r[10];
|
|
/* 021FFFC8 */ cpu->r[3] = cpu->r[28];
|
|
/* 021FFFCC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 021FFFD0 */ cpu->r[11] = 0x10040000u;
|
|
/* 021FFFD4 */ _t21 = cpu->r[1] + 0x0000005Cu;
|
|
/* 021FFFD4 */ rbrew_write32(cpu->mem, _t21, cpu->r[3]);
|
|
/* 021FFFD8 */ cpu->r[11] = cpu->r[11] + 0xFFFFE40Cu;
|
|
/* 021FFFDC */ cpu->r[4] = cpu->r[1] + 0x0000005Cu;
|
|
/* 021FFFE0 */ cpu->r[3] = cpu->r[1] + 0x00000058u;
|
|
/* 021FFFE4 */ _t22 = cpu->r[1] + 0x00000060u;
|
|
/* 021FFFE4 */ rbrew_write32(cpu->mem, _t22, cpu->r[11]);
|
|
/* 021FFFE8 */ Gambit_fn_021BD554(cpu);
|
|
/* 021FFFEC */ cpu->r[7] = 0x10040000u;
|
|
/* 021FFFF0 */ _t23 = cpu->r[27] + 0x00000004u;
|
|
/* 021FFFF0 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t23);
|
|
/* 021FFFF4 */ cpu->r[12] = 0x10040000u;
|
|
/* 021FFFF8 */ _t24 = cpu->r[7] + 0xFFFFE510u;
|
|
/* 021FFFF8 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t24);
|
|
/* 021FFFFC */ _t25 = cpu->r[12] + 0xFFFFE51Cu;
|
|
/* 021FFFFC */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t25);
|
|
/* 02200000 */ _t26 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02200000 */ rbrew_write_f32(cpu->mem, _t26, cpu->f[31]);
|
|
/* 02200004 */ _t27 = cpu->r[1] + 0x00000030u;
|
|
/* 02200004 */ rbrew_write_f32(cpu->mem, _t27, cpu->f[31]);
|
|
/* 02200008 */ cpu->r[8] = 0x101F0000u;
|
|
/* 0220000C */ _t28 = cpu->r[27] + 0x00000000u;
|
|
/* 0220000C */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t28);
|
|
/* 02200010 */ _t29 = cpu->r[8] + 0x00006338u;
|
|
/* 02200010 */ cpu->r[5] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02200010 */ cpu->r[8] = _t29;
|
|
/* 02200014 */ _t30 = cpu->r[27] + 0x00000008u;
|
|
/* 02200014 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t30);
|
|
/* 02200018 */ _t31 = cpu->r[1] + 0x00000008u;
|
|
/* 02200018 */ rbrew_write32(cpu->mem, _t31, cpu->r[5]);
|
|
/* 0220001C */ _t32 = cpu->r[1] + 0x00000008u;
|
|
/* 0220001C */ rbrew_write_f32(cpu->mem, _t32, cpu->f[12]);
|
|
/* 02200020 */ _t33 = cpu->r[8] + 0x00000008u;
|
|
/* 02200020 */ cpu->r[9] = rbrew_read32(cpu->mem, _t33);
|
|
/* 02200024 */ _t34 = cpu->r[8] + 0x00000004u;
|
|
/* 02200024 */ cpu->r[0] = rbrew_read32(cpu->mem, _t34);
|
|
/* 02200028 */ _t35 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02200028 */ rbrew_write32(cpu->mem, _t35, cpu->r[9]);
|
|
/* 0220002C */ _t36 = cpu->r[1] + 0x00000018u;
|
|
/* 0220002C */ rbrew_write32(cpu->mem, _t36, cpu->r[0]);
|
|
/* 02200030 */ _t37 = cpu->r[29] + 0x00000008u;
|
|
/* 02200030 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t37);
|
|
/* 02200034 */ _t38 = cpu->r[29] + 0x00000000u;
|
|
/* 02200034 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t38);
|
|
/* 02200038 */ _t39 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02200038 */ rbrew_write_f32(cpu->mem, _t39, cpu->f[11]);
|
|
/* 0220003C */ _t40 = cpu->r[1] + 0x00000014u;
|
|
/* 0220003C */ rbrew_write_f32(cpu->mem, _t40, cpu->f[9]);
|
|
/* 02200040 */ _t41 = cpu->r[29] + 0x00000004u;
|
|
/* 02200040 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t41);
|
|
/* 02200044 */ _t42 = cpu->r[1] + 0x00000034u;
|
|
/* 02200044 */ rbrew_write_f32(cpu->mem, _t42, cpu->f[30]);
|
|
/* 02200048 */ _t43 = cpu->r[1] + 0x00000018u;
|
|
/* 02200048 */ rbrew_write_f32(cpu->mem, _t43, cpu->f[10]);
|
|
/* 0220004C */ _t44 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0220004C */ rbrew_write32(cpu->mem, _t44, cpu->r[0]);
|
|
/* 02200050 */ _t45 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02200050 */ rbrew_write_f32(cpu->mem, _t45, cpu->f[13]);
|
|
/* 02200054 */ _t46 = cpu->r[1] + 0x00000024u;
|
|
/* 02200054 */ rbrew_write_f32(cpu->mem, _t46, cpu->f[31]);
|
|
/* 02200058 */ _t47 = cpu->r[1] + 0x00000010u;
|
|
/* 02200058 */ rbrew_write32(cpu->mem, _t47, cpu->r[9]);
|
|
/* 0220005C */ _t48 = cpu->r[1] + 0x00000020u;
|
|
/* 0220005C */ rbrew_write_f32(cpu->mem, _t48, cpu->f[31]);
|
|
/* 02200060 */ _t49 = cpu->r[1] + 0x00000050u;
|
|
/* 02200060 */ rbrew_write16(cpu->mem, _t49, (uint16_t)cpu->r[3]);
|
|
/* 02200064 */ _t50 = cpu->r[1] + 0x00000028u;
|
|
/* 02200064 */ rbrew_write_f32(cpu->mem, _t50, cpu->f[31]);
|
|
/* 02200068 */ cpu->r[3] = cpu->r[28];
|
|
/* 0220006C */ _t51 = cpu->r[1] + 0x00000010u;
|
|
/* 0220006C */ rbrew_write_f32(cpu->mem, _t51, cpu->f[8]);
|
|
/* 02200070 */ Gambit_fn_021FF200(cpu);
|
|
/* 02200074 */ cpu->r[3] = cpu->r[28];
|
|
/* 02200078 */ _t52 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02200078 */ rbrew_write_f32(cpu->mem, _t52, cpu->f[1]);
|
|
/* 0220007C */ Gambit_fn_021FF250(cpu);
|
|
/* 02200080 */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 02200084 */ _t53 = cpu->r[1] + 0x00000030u;
|
|
/* 02200084 */ rbrew_write_f32(cpu->mem, _t53, cpu->f[1]);
|
|
/* 02200088 */ cpu->r[3] = cpu->r[28];
|
|
/* 0220008C */ cpu->r[4] = cpu->r[1] + 0x00000038u;
|
|
/* 02200090 */ _t54 = cpu->r[1] + 0x00000034u;
|
|
/* 02200090 */ rbrew_write_f32(cpu->mem, _t54, cpu->f[30]);
|
|
/* 02200094 */ Gambit_fn_0222A738(cpu);
|
|
/* 02200098 */ _t55 = cpu->r[28] + 0x00000142u;
|
|
/* 02200098 */ cpu->r[4] = rbrew_read8(cpu->mem, _t55);
|
|
/* 0220009C */ cpu->r[3] = cpu->r[28] + 0x00000134u;
|
|
/* 022000A0 */ /* nop */
|
|
/* 022000A4 */ Gambit_fn_027FC35C(cpu);
|
|
/* 022000A8 */ cpu->r[3] = cpu->r[28] + 0x00000134u;
|
|
/* 022000AC */ Gambit_fn_02202F24(cpu);
|
|
/* 022000B0 */ _t56 = cpu->r[28] + 0x00000004u;
|
|
/* 022000B0 */ cpu->r[6] = rbrew_read32(cpu->mem, _t56);
|
|
/* 022000B4 */ _t57 = cpu->r[28] + 0x00000128u;
|
|
/* 022000B4 */ rbrew_write_f32(cpu->mem, _t57, cpu->f[31]);
|
|
/* 022000B8 */ _t58 = cpu->r[6] + 0x00000474u;
|
|
/* 022000B8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t58);
|
|
/* 022000BC */ cpu->ctr = cpu->r[0];
|
|
/* 022000C0 */ cpu->r[3] = cpu->r[28];
|
|
/* 022000C4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 022000C8 */ _t59 = cpu->r[28] + 0x00000198u;
|
|
/* 022000C8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t59);
|
|
/* 022000CC */ cpu->r[9] = rbrew_rlwinm(cpu->r[9], 0x00000000u, 0x00000016u, 0x00000016u);
|
|
/* 022000CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 022000D0 */ _t60 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 022000D0 */ _t61 = _t60 & 0x00000001u;
|
|
/* 022000D0 */ if (_t61) goto L_02200100; else goto L_022000D4;
|
|
L_022000D4: ; // 0x22000d4
|
|
/* 022000D4 */ _t62 = cpu->r[3] + 0x00001290u;
|
|
/* 022000D4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t62);
|
|
/* 022000D8 */ _t63 = cpu->r[28] + 0x00000198u;
|
|
/* 022000D8 */ rbrew_write16(cpu->mem, _t63, (uint16_t)cpu->r[11]);
|
|
/* 022000DC */ _t64 = cpu->r[28] + 0x00000198u;
|
|
/* 022000DC */ cpu->r[0] = rbrew_read32(cpu->mem, _t64);
|
|
/* 022000E0 */ cpu->r[12] = 0x10040000u;
|
|
/* 022000E4 */ cpu->r[0] = cpu->r[0] | 0x00000100u;
|
|
/* 022000E8 */ _t65 = cpu->r[12] + 0xFFFFE528u;
|
|
/* 022000E8 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t65);
|
|
/* 022000EC */ cpu->r[6] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000016u, 0x00000011u);
|
|
/* 022000F0 */ cpu->r[0] = rbrew_rlwinm(cpu->r[6], 0x00000000u, 0x00000000u, 0x00000017u);
|
|
/* 022000F4 */ _t66 = cpu->r[28] + 0x00000194u;
|
|
/* 022000F4 */ rbrew_write_f32(cpu->mem, _t66, cpu->f[0]);
|
|
/* 022000F8 */ _t67 = cpu->r[28] + 0x00000198u;
|
|
/* 022000F8 */ rbrew_write32(cpu->mem, _t67, cpu->r[0]);
|
|
/* 022000FC */ goto L_02200128;
|
|
L_02200100: ; // 0x2200100
|
|
/* 02200100 */ _t68 = cpu->r[3] + 0x00001590u;
|
|
/* 02200100 */ cpu->r[11] = rbrew_read32(cpu->mem, _t68);
|
|
/* 02200104 */ _t69 = cpu->r[28] + 0x00000198u;
|
|
/* 02200104 */ rbrew_write16(cpu->mem, _t69, (uint16_t)cpu->r[11]);
|
|
/* 02200108 */ _t70 = cpu->r[28] + 0x00000198u;
|
|
/* 02200108 */ cpu->r[0] = rbrew_read32(cpu->mem, _t70);
|
|
/* 0220010C */ cpu->r[12] = 0x10040000u;
|
|
/* 02200110 */ cpu->r[0] = cpu->r[0] | 0x00000100u;
|
|
/* 02200114 */ _t71 = cpu->r[12] + 0xFFFFE528u;
|
|
/* 02200114 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t71);
|
|
/* 02200118 */ cpu->r[6] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000016u, 0x00000011u);
|
|
/* 0220011C */ cpu->r[0] = rbrew_rlwinm(cpu->r[6], 0x00000000u, 0x00000000u, 0x00000017u);
|
|
/* 02200120 */ _t72 = cpu->r[28] + 0x00000194u;
|
|
/* 02200120 */ rbrew_write_f32(cpu->mem, _t72, cpu->f[0]);
|
|
/* 02200124 */ _t73 = cpu->r[28] + 0x00000198u;
|
|
/* 02200124 */ rbrew_write32(cpu->mem, _t73, cpu->r[0]);
|
|
L_02200128: ; // 0x2200128
|
|
/* 02200128 */ /* nop */
|
|
/* 0220012C */ _t74 = cpu->r[1] + 0x00000088u;
|
|
/* 0220012C */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t74);
|
|
/* 02200130 */ _t75 = cpu->r[1] + 0x00000098u;
|
|
/* 02200130 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t75);
|
|
/* 02200134 */ _t76 = cpu->r[1] + 0x00000080u;
|
|
/* 02200134 */ cpu->f[30] = rbrew_read_f64(cpu->mem, _t76);
|
|
/* 02200138 */ _t77 = cpu->r[1] + 0x00000090u;
|
|
/* 02200138 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t77);
|
|
/* 0220013C */ _t78 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0220013C */ _t79 = _t78 & 0x00000001u;
|
|
/* 0220013C */ if (_t79) goto L_02200140; // else: addr-0 trap, fall-through
|
|
L_02200140: ; // 0x2200140
|
|
/* 02200140 */ _t80 = cpu->r[1] + 0x000000A4u;
|
|
/* 02200140 */ cpu->r[0] = rbrew_read32(cpu->mem, _t80);
|
|
/* 02200144 */ cpu->lr = cpu->r[0];
|
|
/* 02200148 */ cpu->r[1] = cpu->r[1] + 0x000000A0u;
|
|
/* 0220014C */ return;
|
|
}
|
|
|
|
// fn_02200150 @ 0x2200150
|
|
void Gambit_fn_02200150(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64;
|
|
|
|
L_02200150: ; // 0x2200150
|
|
/* 02200150 */ _t0 = cpu->r[1] + 0xFFFFFF18u;
|
|
/* 02200150 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02200150 */ cpu->r[1] = _t0;
|
|
/* 02200154 */ /* nop */
|
|
/* 02200158 */ _t1 = cpu->r[1] + 0x000000D8u;
|
|
/* 02200158 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[31]);
|
|
/* 0220015C */ /* nop */
|
|
/* 02200160 */ _t2 = cpu->r[1] + 0x000000E0u;
|
|
/* 02200160 */ rbrew_write_f32(cpu->mem, _t2, cpu->f[31]);
|
|
/* 02200164 */ cpu->r[0] = cpu->lr;
|
|
/* 02200168 */ _t3 = cpu->r[1] + 0x000000ECu;
|
|
/* 02200168 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0220016C */ cpu->r[29] = cpu->r[3];
|
|
/* 02200170 */ cpu->r[3] = 0x101C0000u;
|
|
/* 02200174 */ _t4 = cpu->r[3] + 0x00006000u;
|
|
/* 02200174 */ cpu->r[3] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02200178 */ cpu->r[31] = cpu->r[5];
|
|
/* 0220017C */ _t5 = cpu->r[3] + 0x00000004u;
|
|
/* 0220017C */ cpu->r[5] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02200180 */ cpu->r[27] = cpu->r[8];
|
|
/* 02200184 */ _t6 = cpu->r[5] + 0x00000134u;
|
|
/* 02200184 */ cpu->r[8] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02200188 */ cpu->ctr = cpu->r[8];
|
|
/* 0220018C */ cpu->f[31] = cpu->f[1];
|
|
/* 02200190 */ cpu->r[30] = cpu->r[4];
|
|
/* 02200194 */ cpu->r[21] = cpu->r[6];
|
|
/* 02200198 */ cpu->r[22] = cpu->r[7];
|
|
/* 0220019C */ cpu->r[23] = cpu->r[9];
|
|
/* 022001A0 */ cpu->r[28] = cpu->r[10];
|
|
/* 022001A4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 022001A8 */ _t7 = cpu->r[28] + 0x00000000u;
|
|
/* 022001A8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t7);
|
|
/* 022001AC */ cpu->r[28] = 0x101C0000u;
|
|
/* 022001B0 */ _t8 = cpu->r[28] + 0x000060F4u;
|
|
/* 022001B0 */ cpu->r[26] = rbrew_read32(cpu->mem, _t8);
|
|
/* 022001B0 */ cpu->r[28] = _t8;
|
|
/* 022001B4 */ cpu->r[19] = cpu->r[3];
|
|
/* 022001B8 */ _t9 = cpu->r[1] + 0x00000034u;
|
|
/* 022001B8 */ rbrew_write32(cpu->mem, _t9, cpu->r[9]);
|
|
/* 022001BC */ _t10 = cpu->r[1] + 0x00000034u;
|
|
/* 022001BC */ cpu->r[10] = rbrew_read32(cpu->mem, _t10);
|
|
/* 022001C0 */ cpu->r[3] = cpu->r[26];
|
|
/* 022001C4 */ cpu->r[4] = cpu->r[23];
|
|
/* 022001C8 */ _t11 = cpu->r[1] + 0x00000038u;
|
|
/* 022001C8 */ rbrew_write32(cpu->mem, _t11, cpu->r[10]);
|
|
/* 022001CC */ Gambit_fn_023F600C(cpu);
|
|
/* 022001D0 */ cpu->r[7] = cpu->r[1] + 0x00000038u;
|
|
/* 022001D4 */ cpu->r[6] = cpu->r[27];
|
|
/* 022001D8 */ cpu->r[5] = cpu->r[22];
|
|
/* 022001DC */ cpu->r[4] = cpu->r[23];
|
|
/* 022001E0 */ cpu->r[3] = cpu->r[26];
|
|
/* 022001E4 */ Gambit_fn_023F4B7C(cpu);
|
|
/* 022001E8 */ _t12 = cpu->r[27] + 0x00000000u;
|
|
/* 022001E8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t12);
|
|
/* 022001EC */ _t13 = cpu->r[27] + 0x00000004u;
|
|
/* 022001EC */ cpu->r[10] = rbrew_read32(cpu->mem, _t13);
|
|
/* 022001F0 */ _t14 = cpu->r[1] + 0x0000003Cu;
|
|
/* 022001F0 */ rbrew_write32(cpu->mem, _t14, cpu->r[9]);
|
|
/* 022001F4 */ _t15 = cpu->r[29] + 0x0000005Cu;
|
|
/* 022001F4 */ cpu->r[4] = rbrew_read32(cpu->mem, _t15);
|
|
/* 022001F8 */ _t16 = cpu->r[27] + 0x00000008u;
|
|
/* 022001F8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t16);
|
|
/* 022001FC */ cpu->r[18] = cpu->r[3];
|
|
/* 02200200 */ _t17 = cpu->r[1] + 0x00000040u;
|
|
/* 02200200 */ rbrew_write32(cpu->mem, _t17, cpu->r[10]);
|
|
/* 02200204 */ cpu->r[3] = cpu->r[1] + 0x0000008Cu;
|
|
/* 02200208 */ _t18 = cpu->r[1] + 0x00000044u;
|
|
/* 02200208 */ rbrew_write32(cpu->mem, _t18, cpu->r[11]);
|
|
/* 0220020C */ Gambit_fn_028300A4(cpu);
|
|
/* 02200210 */ cpu->r[3] = cpu->r[1] + 0x0000008Cu;
|
|
/* 02200214 */ Gambit_fn_02830138(cpu);
|
|
/* 02200218 */ cpu->r[12] = 0x10040000u;
|
|
/* 0220021C */ cpu->r[7] = rbrew_rlwinm(cpu->r[3], 0x00000000u, 0x00000008u, 0x0000001Fu);
|
|
/* 02200220 */ _t19 = cpu->r[12] + 0xFFFFE3F0u;
|
|
/* 02200220 */ cpu->f[0] = rbrew_read_f64(cpu->mem, _t19);
|
|
/* 02200224 */ cpu->r[5] = 0x43300000u;
|
|
/* 02200228 */ _t20 = cpu->r[1] + 0x0000004Cu;
|
|
/* 02200228 */ rbrew_write32(cpu->mem, _t20, cpu->r[7]);
|
|
/* 0220022C */ _t21 = cpu->r[1] + 0x00000048u;
|
|
/* 0220022C */ rbrew_write32(cpu->mem, _t21, cpu->r[5]);
|
|
/* 02200230 */ _t22 = cpu->r[1] + 0x00000048u;
|
|
/* 02200230 */ cpu->f[13] = rbrew_read_f64(cpu->mem, _t22);
|
|
/* 02200234 */ cpu->r[10] = 0x10110000u;
|
|
/* 02200238 */ cpu->r[0] = rbrew_rlwinm(cpu->r[3], 0x0000000Cu, 0x00000014u, 0x0000001Bu);
|
|
/* 0220023C */ cpu->f[9] = cpu->f[13] - cpu->f[0];
|
|
/* 02200240 */ cpu->r[10] = cpu->r[10] + 0x000053A0u;
|
|
/* 02200244 */ cpu->r[11] = 0x10040000u;
|
|
/* 02200248 */ cpu->r[6] = cpu->r[10] + cpu->r[0];
|
|
/* 0220024C */ _t23 = cpu->r[11] + 0xFFFFE3E8u;
|
|
/* 0220024C */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t23);
|
|
/* 02200250 */ cpu->f[9] = (double)(float)cpu->f[9];
|
|
/* 02200254 */ _t24 = cpu->r[6] + 0x0000000Cu;
|
|
/* 02200254 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t24);
|
|
/* 02200258 */ _t25 = cpu->r[6] + 0x00000004u;
|
|
/* 02200258 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t25);
|
|
/* 0220025C */ cpu->f[10] = cpu->f[11] * cpu->f[9];
|
|
/* 02200260 */ _t26 = cpu->r[6] + 0x00000008u;
|
|
/* 02200260 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t26);
|
|
/* 02200264 */ cpu->f[11] = cpu->f[8] * cpu->f[9];
|
|
/* 02200268 */ _t27 = cpu->r[10] + cpu->r[0];
|
|
/* 02200268 */ cpu->r[8] = rbrew_read32(cpu->mem, _t27);
|
|
/* 0220026C */ cpu->r[17] = 0x00000000u;
|
|
/* 02200270 */ cpu->f[10] = fma(cpu->f[10], cpu->f[13], cpu->f[12]);
|
|
/* 02200274 */ cpu->r[24] = rbrew_rlwinm(cpu->r[31], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02200278 */ cpu->f[0] = fma(cpu->f[11], cpu->f[13], cpu->f[8]);
|
|
/* 0220027C */ cpu->r[27] = cpu->r[17];
|
|
/* 02200280 */ cpu->r[26] = 0xFFFFFFFFu;
|
|
/* 02200284 */ _t28 = cpu->r[1] + 0x00000020u;
|
|
/* 02200284 */ rbrew_write_f32(cpu->mem, _t28, cpu->f[10]);
|
|
/* 02200288 */ cpu->r[29] = 0x00000001u;
|
|
/* 0220028C */ cpu->r[20] = 0x00000006u;
|
|
/* 02200290 */ cpu->r[25] = 0x101C0000u;
|
|
/* 02200294 */ _t29 = cpu->r[1] + 0x00000024u;
|
|
/* 02200294 */ rbrew_write_f32(cpu->mem, _t29, cpu->f[0]);
|
|
L_02200298: ; // 0x2200298
|
|
/* 02200298 */ /* nop */
|
|
/* 0220029C */ cpu->r[0] = cpu->r[18] & cpu->r[8];
|
|
/* 0220029C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 022002A0 */ _t30 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 022002A0 */ _t31 = _t30 & 0x00000001u;
|
|
/* 022002A0 */ if (_t31) goto L_02200354; else goto L_022002A4;
|
|
L_022002A4: ; // 0x22002a4
|
|
/* 022002A4 */ _t32 = cpu->r[21] + 0x00000000u;
|
|
/* 022002A4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t32);
|
|
/* 022002A8 */ cpu->r[11] = cpu->r[1] + 0x00000018u;
|
|
/* 022002AC */ _t33 = cpu->r[22] + 0x00000008u;
|
|
/* 022002AC */ cpu->r[9] = rbrew_read32(cpu->mem, _t33);
|
|
/* 022002B0 */ cpu->r[12] = cpu->r[1] + 0x00000028u;
|
|
/* 022002B4 */ _t34 = cpu->r[22] + 0x00000000u;
|
|
/* 022002B4 */ cpu->r[7] = rbrew_read32(cpu->mem, _t34);
|
|
/* 022002B8 */ _t35 = cpu->r[22] + 0x00000004u;
|
|
/* 022002B8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t35);
|
|
/* 022002BC */ _t36 = cpu->r[1] + 0x00000028u;
|
|
/* 022002BC */ rbrew_write32(cpu->mem, _t36, cpu->r[7]);
|
|
/* 022002C0 */ _t37 = cpu->r[1] + 0x0000002Cu;
|
|
/* 022002C0 */ rbrew_write32(cpu->mem, _t37, cpu->r[8]);
|
|
/* 022002C4 */ _t38 = cpu->r[1] + 0x00000020u;
|
|
/* 022002C4 */ cpu->r[6] = rbrew_read32(cpu->mem, _t38);
|
|
/* 022002C8 */ _t39 = cpu->r[1] + 0x00000024u;
|
|
/* 022002C8 */ cpu->r[7] = rbrew_read32(cpu->mem, _t39);
|
|
/* 022002CC */ cpu->r[4] = cpu->r[30];
|
|
/* 022002D0 */ _t40 = cpu->r[1] + 0x00000018u;
|
|
/* 022002D0 */ rbrew_write32(cpu->mem, _t40, cpu->r[6]);
|
|
/* 022002D4 */ cpu->f[1] = cpu->f[31];
|
|
/* 022002D8 */ _t41 = cpu->r[1] + 0x0000001Cu;
|
|
/* 022002D8 */ rbrew_write32(cpu->mem, _t41, cpu->r[7]);
|
|
/* 022002DC */ cpu->r[8] = cpu->r[1] + 0x00000014u;
|
|
/* 022002E0 */ _t42 = cpu->r[1] + 0x00000030u;
|
|
/* 022002E0 */ rbrew_write32(cpu->mem, _t42, cpu->r[9]);
|
|
/* 022002E4 */ cpu->r[9] = cpu->r[17];
|
|
/* 022002E8 */ _t43 = cpu->r[1] + 0x00000008u;
|
|
/* 022002E8 */ rbrew_write32(cpu->mem, _t43, cpu->r[23]);
|
|
/* 022002EC */ cpu->r[6] = cpu->r[12];
|
|
/* 022002F0 */ cpu->r[3] = cpu->r[1] + 0x00000050u;
|
|
/* 022002F4 */ _t44 = cpu->r[1] + 0x0000000Cu;
|
|
/* 022002F4 */ rbrew_write32(cpu->mem, _t44, cpu->r[27]);
|
|
/* 022002F8 */ cpu->r[7] = cpu->r[11];
|
|
/* 022002FC */ cpu->r[5] = cpu->r[19];
|
|
/* 02200300 */ _t45 = cpu->r[1] + 0x00000014u;
|
|
/* 02200300 */ rbrew_write32(cpu->mem, _t45, cpu->r[0]);
|
|
/* 02200304 */ cpu->r[10] = cpu->r[1] + 0x0000003Cu;
|
|
/* 02200308 */ _t46 = cpu->r[1] + 0x00000010u;
|
|
/* 02200308 */ rbrew_write32(cpu->mem, _t46, cpu->r[26]);
|
|
/* 0220030C */ Gambit_fn_023F6488(cpu);
|
|
/* 02200310 */ _t47 = cpu->r[25] + 0x00005BA0u;
|
|
/* 02200310 */ cpu->r[12] = rbrew_read32(cpu->mem, _t47);
|
|
/* 02200314 */ _t48 = cpu->r[12] + 0x00000078u;
|
|
/* 02200314 */ cpu->r[0] = rbrew_read32(cpu->mem, _t48);
|
|
/* 02200318 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[0]);
|
|
/* 0220031C */ cpu->r[3] = 0x00000000u;
|
|
/* 02200320 */ _t49 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02200320 */ _t50 = _t49 & 0x00000001u;
|
|
/* 02200320 */ if (_t50) goto L_02200324; else goto L_0220032C;
|
|
L_02200324: ; // 0x2200324
|
|
/* 02200324 */ _t51 = cpu->r[12] + 0x00000080u;
|
|
/* 02200324 */ cpu->r[5] = rbrew_read32(cpu->mem, _t51);
|
|
/* 02200328 */ _t52 = cpu->r[5] + cpu->r[24];
|
|
/* 02200328 */ cpu->r[3] = rbrew_read32(cpu->mem, _t52);
|
|
L_0220032C: ; // 0x220032c
|
|
/* 0220032C */ cpu->r[5] = 0x00000002u;
|
|
/* 02200330 */ cpu->r[4] = cpu->r[1] + 0x00000050u;
|
|
/* 02200334 */ Gambit_fn_025E0B80(cpu);
|
|
/* 02200338 */ _t53 = cpu->r[25] + 0x00005BA0u;
|
|
/* 02200338 */ cpu->r[6] = rbrew_read32(cpu->mem, _t53);
|
|
/* 0220033C */ _t54 = cpu->r[6] + 0x00000044u;
|
|
/* 0220033C */ cpu->r[7] = rbrew_read8(cpu->mem, _t54);
|
|
/* 02200340 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 02200344 */ _t55 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02200344 */ _t56 = _t55 & 0x00000001u;
|
|
/* 02200344 */ if (_t56) goto L_02200354; else goto L_02200348;
|
|
L_02200348: ; // 0x2200348
|
|
/* 02200348 */ _t57 = cpu->r[28] + 0x00000000u;
|
|
/* 02200348 */ cpu->r[3] = rbrew_read32(cpu->mem, _t57);
|
|
/* 0220034C */ cpu->r[4] = cpu->r[1] + 0x00000050u;
|
|
/* 02200350 */ Gambit_fn_023EEED0(cpu);
|
|
L_02200354: ; // 0x2200354
|
|
/* 02200354 */ cpu->r[20] = cpu->r[20] + 0xFFFFFFFFu;
|
|
/* 02200354 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[20], 0x00000000u);
|
|
/* 02200358 */ cpu->r[17] = cpu->r[17] + 0x00000001u;
|
|
/* 0220035C */ _t58 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0220035C */ _t59 = _t58 & 0x00000001u;
|
|
/* 0220035C */ if (_t59) goto L_02200360; else goto L_02200298;
|
|
L_02200360: ; // 0x2200360
|
|
/* 02200360 */ /* nop */
|
|
/* 02200364 */ _t60 = cpu->r[1] + 0x000000E0u;
|
|
/* 02200364 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t60);
|
|
/* 02200368 */ _t61 = cpu->r[1] + 0x000000D8u;
|
|
/* 02200368 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t61);
|
|
/* 0220036C */ _t62 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0220036C */ _t63 = _t62 & 0x00000001u;
|
|
/* 0220036C */ if (_t63) goto L_02200370; // else: addr-0 trap, fall-through
|
|
L_02200370: ; // 0x2200370
|
|
/* 02200370 */ _t64 = cpu->r[1] + 0x000000ECu;
|
|
/* 02200370 */ cpu->r[0] = rbrew_read32(cpu->mem, _t64);
|
|
/* 02200374 */ cpu->lr = cpu->r[0];
|
|
/* 02200378 */ cpu->r[1] = cpu->r[1] + 0x000000E8u;
|
|
/* 0220037C */ return;
|
|
}
|
|
|
|
// fn_02200380 @ 0x2200380
|
|
void Gambit_fn_02200380(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69, _t70, _t71, _t72, _t73, _t74, _t75, _t76, _t77, _t78, _t79, _t80, _t81, _t82, _t83, _t84, _t85, _t86, _t87, _t88, _t89, _t90, _t91, _t92, _t93, _t94, _t95, _t96, _t97, _t98, _t99, _t100, _t101, _t102, _t103, _t104, _t105, _t106, _t107, _t108, _t109, _t110, _t111, _t112, _t113, _t114, _t115, _t116, _t117, _t118, _t119, _t120, _t121, _t122, _t123, _t124, _t125, _t126, _t127, _t128, _t129, _t130, _t131, _t132, _t133, _t134, _t135, _t136, _t137, _t138, _t139, _t140, _t141, _t142, _t143, _t144, _t145, _t146, _t147, _t148, _t149, _t150, _t151, _t152;
|
|
|
|
L_02200380: ; // 0x2200380
|
|
/* 02200380 */ _t0 = cpu->r[1] + 0xFFFFFF28u;
|
|
/* 02200380 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02200380 */ cpu->r[1] = _t0;
|
|
/* 02200384 */ /* nop */
|
|
/* 02200388 */ _t1 = cpu->r[1] + 0x000000B8u;
|
|
/* 02200388 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[30]);
|
|
/* 0220038C */ /* nop */
|
|
/* 02200390 */ _t2 = cpu->r[1] + 0x000000C8u;
|
|
/* 02200390 */ rbrew_write_f64(cpu->mem, _t2, cpu->f[31]);
|
|
/* 02200394 */ _t3 = cpu->r[1] + 0x000000C0u;
|
|
/* 02200394 */ rbrew_write_f32(cpu->mem, _t3, cpu->f[30]);
|
|
/* 02200398 */ /* nop */
|
|
/* 0220039C */ _t4 = cpu->r[1] + 0x000000A8u;
|
|
/* 0220039C */ rbrew_write_f64(cpu->mem, _t4, cpu->f[29]);
|
|
/* 022003A0 */ _t5 = cpu->r[1] + 0x000000D0u;
|
|
/* 022003A0 */ rbrew_write_f32(cpu->mem, _t5, cpu->f[31]);
|
|
/* 022003A4 */ /* nop */
|
|
/* 022003A8 */ cpu->r[0] = cpu->lr;
|
|
/* 022003AC */ _t6 = cpu->r[1] + 0x000000B0u;
|
|
/* 022003AC */ rbrew_write_f32(cpu->mem, _t6, cpu->f[29]);
|
|
/* 022003B0 */ _t7 = cpu->r[1] + 0x000000DCu;
|
|
/* 022003B0 */ rbrew_write32(cpu->mem, _t7, cpu->r[0]);
|
|
/* 022003B4 */ cpu->r[26] = cpu->r[3];
|
|
/* 022003B8 */ _t8 = cpu->r[26] + 0x00000198u;
|
|
/* 022003B8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 022003BC */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000012u, 0x00000013u);
|
|
/* 022003BC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 022003C0 */ cpu->r[27] = cpu->r[5];
|
|
/* 022003C4 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 022003C4 */ _t10 = _t9 & 0x00000001u;
|
|
/* 022003C4 */ if (_t10) goto L_02200738; else goto L_022003C8;
|
|
L_022003C8: ; // 0x22003c8
|
|
/* 022003C8 */ _t11 = cpu->r[26] + 0x00000051u;
|
|
/* 022003C8 */ cpu->r[10] = rbrew_read8(cpu->mem, _t11);
|
|
/* 022003CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 022003D0 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 022003D0 */ _t13 = _t12 & 0x00000001u;
|
|
/* 022003D0 */ if (_t13) goto L_02200738; else goto L_022003D4;
|
|
L_022003D4: ; // 0x22003d4
|
|
/* 022003D4 */ _t14 = cpu->r[26] + 0x00000004u;
|
|
/* 022003D4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t14);
|
|
/* 022003D8 */ _t15 = cpu->r[11] + 0x00000474u;
|
|
/* 022003D8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t15);
|
|
/* 022003DC */ cpu->ctr = cpu->r[10];
|
|
/* 022003E0 */ cpu->r[3] = cpu->r[26];
|
|
/* 022003E4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 022003E8 */ cpu->r[7] = 0x10040000u;
|
|
/* 022003EC */ _t16 = cpu->r[3] + 0x00001A08u;
|
|
/* 022003EC */ cpu->f[29] = rbrew_read_f32(cpu->mem, _t16);
|
|
/* 022003F0 */ _t17 = cpu->r[7] + 0xFFFFE510u;
|
|
/* 022003F0 */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t17);
|
|
/* 022003F4 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[29], cpu->f[30]);
|
|
/* 022003F8 */ _t18 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 022003F8 */ _t19 = _t18 & 0x00000001u;
|
|
/* 022003F8 */ if (_t19) goto L_022003FC; else goto L_02200738;
|
|
L_022003FC: ; // 0x22003fc
|
|
/* 022003FC */ _t20 = cpu->r[27] + 0x00000164u;
|
|
/* 022003FC */ cpu->r[0] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02200400 */ cpu->r[25] = 0x00000000u;
|
|
/* 02200404 */ _t21 = cpu->r[27] + 0x00000000u;
|
|
/* 02200404 */ cpu->r[10] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02200408 */ cpu->r[9] = rbrew_rlwinm(cpu->r[0], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 0220040C */ _t22 = cpu->r[27] + 0x0000015Cu;
|
|
/* 0220040C */ cpu->r[0] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02200410 */ cpu->r[12] = cpu->r[9] + 0x101E0000u;
|
|
/* 02200414 */ _t23 = cpu->r[1] + 0x00000024u;
|
|
/* 02200414 */ rbrew_write32(cpu->mem, _t23, cpu->r[25]);
|
|
/* 02200418 */ cpu->r[5] = 0x10040000u;
|
|
/* 0220041C */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000018u, 0x0000001Bu);
|
|
/* 0220041C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02200420 */ _t24 = cpu->r[12] + 0xFFFF9484u;
|
|
/* 02200420 */ cpu->r[24] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02200424 */ _t25 = cpu->r[5] + 0xFFFFE51Cu;
|
|
/* 02200424 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t25);
|
|
/* 02200428 */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02200428 */ _t27 = _t26 & 0x00000001u;
|
|
/* 02200428 */ if (_t27) goto L_02200480; else goto L_0220042C;
|
|
L_0220042C: ; // 0x220042c
|
|
/* 0220042C */ cpu->r[10] = rbrew_rlwinm(cpu->r[10], 0x00000000u, 0x0000001Eu, 0x0000001Eu);
|
|
/* 0220042C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02200430 */ cpu->r[31] = cpu->r[27] + 0x000000A8u;
|
|
/* 02200434 */ _t28 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02200434 */ _t29 = _t28 & 0x00000001u;
|
|
/* 02200434 */ if (_t29) goto L_02200470; else goto L_02200438;
|
|
L_02200438: ; // 0x2200438
|
|
/* 02200438 */ cpu->r[3] = cpu->r[27] + 0x00000138u;
|
|
/* 0220043C */ Gambit_fn_02C69350(cpu);
|
|
/* 02200440 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[1], cpu->f[30]);
|
|
/* 02200444 */ _t30 = cpu->r[27] + 0x00000000u;
|
|
/* 02200444 */ cpu->r[8] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02200448 */ _t31 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02200448 */ _t32 = _t31 & 0x00000001u;
|
|
/* 02200448 */ if (_t32) goto L_0220044C; else goto L_02200468;
|
|
L_0220044C: ; // 0x220044c
|
|
/* 0220044C */ cpu->f[9] = cpu->f[31] / cpu->f[1];
|
|
/* 02200450 */ _t33 = cpu->r[27] + 0x00000140u;
|
|
/* 02200450 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t33);
|
|
/* 02200454 */ /* nop */
|
|
/* 02200458 */ /* nop */
|
|
/* 0220045C */ cpu->f[9] = cpu->f[10] * cpu->f[9];
|
|
/* 02200460 */ /* nop */
|
|
/* 02200464 */ _t34 = cpu->r[27] + 0x000000B0u;
|
|
/* 02200464 */ rbrew_write_f32(cpu->mem, _t34, cpu->f[9]);
|
|
L_02200468: ; // 0x2200468
|
|
/* 02200468 */ cpu->r[8] = rbrew_rlwinm(cpu->r[8], 0x00000000u, 0x0000001Fu, 0x0000001Du);
|
|
/* 0220046C */ _t35 = cpu->r[27] + 0x00000000u;
|
|
/* 0220046C */ rbrew_write32(cpu->mem, _t35, cpu->r[8]);
|
|
L_02200470: ; // 0x2200470
|
|
/* 02200470 */ cpu->r[28] = cpu->r[24];
|
|
/* 02200470 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 02200474 */ cpu->r[22] = 0x00000000u;
|
|
/* 02200478 */ _t36 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02200478 */ _t37 = _t36 & 0x00000001u;
|
|
/* 02200478 */ if (_t37) goto L_0220047C; else goto L_022006F4;
|
|
L_0220047C: ; // 0x220047c
|
|
/* 0220047C */ goto L_022004D0;
|
|
L_02200480: ; // 0x2200480
|
|
/* 02200480 */ cpu->r[0] = rbrew_rlwinm(cpu->r[10], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02200480 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02200484 */ cpu->r[31] = cpu->r[27] + 0x00000048u;
|
|
/* 02200488 */ _t38 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02200488 */ _t39 = _t38 & 0x00000001u;
|
|
/* 02200488 */ if (_t39) goto L_022004C4; else goto L_0220048C;
|
|
L_0220048C: ; // 0x220048c
|
|
/* 0220048C */ cpu->r[3] = cpu->r[27] + 0x0000012Cu;
|
|
/* 02200490 */ Gambit_fn_02C69350(cpu);
|
|
/* 02200494 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[1], cpu->f[30]);
|
|
/* 02200498 */ _t40 = cpu->r[27] + 0x00000000u;
|
|
/* 02200498 */ cpu->r[4] = rbrew_read32(cpu->mem, _t40);
|
|
/* 0220049C */ _t41 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0220049C */ _t42 = _t41 & 0x00000001u;
|
|
/* 0220049C */ if (_t42) goto L_022004A0; else goto L_022004BC;
|
|
L_022004A0: ; // 0x22004a0
|
|
/* 022004A0 */ cpu->f[10] = cpu->f[31] / cpu->f[1];
|
|
/* 022004A4 */ _t43 = cpu->r[27] + 0x00000134u;
|
|
/* 022004A4 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t43);
|
|
/* 022004A8 */ /* nop */
|
|
/* 022004AC */ /* nop */
|
|
/* 022004B0 */ cpu->f[13] = cpu->f[0] * cpu->f[10];
|
|
/* 022004B4 */ /* nop */
|
|
/* 022004B8 */ _t44 = cpu->r[27] + 0x00000050u;
|
|
/* 022004B8 */ rbrew_write_f32(cpu->mem, _t44, cpu->f[13]);
|
|
L_022004BC: ; // 0x22004bc
|
|
/* 022004BC */ cpu->r[4] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x00000000u, 0x0000001Eu);
|
|
/* 022004C0 */ _t45 = cpu->r[27] + 0x00000000u;
|
|
/* 022004C0 */ rbrew_write32(cpu->mem, _t45, cpu->r[4]);
|
|
L_022004C4: ; // 0x22004c4
|
|
/* 022004C4 */ cpu->r[28] = cpu->r[24];
|
|
/* 022004C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 022004C8 */ cpu->r[22] = 0x00000000u;
|
|
/* 022004CC */ _t46 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 022004CC */ _t47 = _t46 & 0x00000001u;
|
|
/* 022004CC */ if (_t47) goto L_022004D0; else goto L_022006F4;
|
|
L_022004D0: ; // 0x22004d0
|
|
/* 022004D0 */ cpu->r[30] = 0x00000003u;
|
|
/* 022004D4 */ cpu->r[29] = cpu->r[1] + 0x00000024u;
|
|
L_022004D8: ; // 0x22004d8
|
|
/* 022004D8 */ cpu->r[10] = cpu->r[1] + 0x00000070u;
|
|
/* 022004DC */ cpu->r[9] = 0x00000000u;
|
|
/* 022004E0 */ cpu->r[8] = cpu->r[1] + 0x00000024u;
|
|
/* 022004E4 */ cpu->r[7] = cpu->r[1] + 0x00000028u;
|
|
/* 022004E8 */ cpu->r[6] = cpu->r[1] + 0x00000064u;
|
|
/* 022004EC */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 022004F0 */ cpu->r[4] = cpu->r[22];
|
|
/* 022004F4 */ cpu->r[3] = cpu->r[27];
|
|
/* 022004F8 */ Gambit_fn_02040F70(cpu);
|
|
/* 022004FC */ _t48 = cpu->r[1] + 0x00000024u;
|
|
/* 022004FC */ cpu->r[0] = rbrew_read32(cpu->mem, _t48);
|
|
/* 02200500 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02200504 */ _t49 = cpu->r[1] + 0x00000070u;
|
|
/* 02200504 */ cpu->r[12] = rbrew_read32(cpu->mem, _t49);
|
|
/* 02200508 */ _t50 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02200508 */ _t51 = _t50 & 0x00000001u;
|
|
/* 02200508 */ if (_t51) goto L_0220050C; else goto L_02200518;
|
|
L_0220050C: ; // 0x220050c
|
|
/* 0220050C */ cpu->r[0] = cpu->r[30];
|
|
/* 02200510 */ _t52 = cpu->r[1] + 0x00000024u;
|
|
/* 02200510 */ rbrew_write32(cpu->mem, _t52, cpu->r[0]);
|
|
/* 02200514 */ _t53 = cpu->r[29] + 0x00000000u;
|
|
/* 02200514 */ cpu->r[5] = rbrew_read32(cpu->mem, _t53);
|
|
L_02200518: ; // 0x2200518
|
|
/* 02200518 */ cpu->r[11] = cpu->r[12];
|
|
/* 0220051C */ _t54 = cpu->r[11] + 0x00000000u;
|
|
/* 0220051C */ cpu->r[9] = rbrew_read32(cpu->mem, _t54);
|
|
/* 02200520 */ cpu->r[7] = rbrew_rlwinm(cpu->r[9], 0x00000000u, 0x0000001Eu, 0x0000001Eu);
|
|
/* 02200520 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 02200524 */ _t55 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02200524 */ _t56 = _t55 & 0x00000001u;
|
|
/* 02200524 */ if (_t56) goto L_022005B0; else goto L_02200528;
|
|
L_02200528: ; // 0x2200528
|
|
/* 02200528 */ _t57 = cpu->r[11] + 0x00000004u;
|
|
/* 02200528 */ cpu->f[6] = rbrew_read_f32(cpu->mem, _t57);
|
|
/* 0220052C */ _t58 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0220052C */ rbrew_write_f32(cpu->mem, _t58, cpu->f[6]);
|
|
/* 02200530 */ _t59 = cpu->r[11] + 0x00000008u;
|
|
/* 02200530 */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t59);
|
|
/* 02200534 */ _t60 = cpu->r[1] + 0x00000028u;
|
|
/* 02200534 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t60);
|
|
/* 02200538 */ _t61 = cpu->r[1] + 0x00000010u;
|
|
/* 02200538 */ rbrew_write_f32(cpu->mem, _t61, cpu->f[7]);
|
|
/* 0220053C */ _t62 = cpu->r[11] + 0x0000000Cu;
|
|
/* 0220053C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t62);
|
|
/* 02200540 */ _t63 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02200540 */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t63);
|
|
/* 02200544 */ cpu->f[0] = cpu->f[0] * cpu->f[12];
|
|
/* 02200548 */ /* nop */
|
|
/* 0220054C */ _t64 = cpu->r[1] + 0x00000014u;
|
|
/* 0220054C */ rbrew_write_f32(cpu->mem, _t64, cpu->f[0]);
|
|
/* 02200550 */ _t65 = cpu->r[11] + 0x00000018u;
|
|
/* 02200550 */ cpu->f[6] = rbrew_read_f32(cpu->mem, _t65);
|
|
/* 02200554 */ /* nop */
|
|
/* 02200558 */ _t66 = cpu->r[1] + 0x00000030u;
|
|
/* 02200558 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t66);
|
|
/* 0220055C */ cpu->f[0] = fma(cpu->f[7], cpu->f[6], cpu->f[0]);
|
|
/* 02200560 */ /* nop */
|
|
/* 02200564 */ _t67 = cpu->r[1] + 0x00000014u;
|
|
/* 02200564 */ rbrew_write_f32(cpu->mem, _t67, cpu->f[0]);
|
|
/* 02200568 */ /* nop */
|
|
/* 0220056C */ /* nop */
|
|
/* 02200570 */ /* nop */
|
|
/* 02200574 */ /* nop */
|
|
/* 02200578 */ _t68 = cpu->r[11] + 0x00000024u;
|
|
/* 02200578 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t68);
|
|
/* 0220057C */ cpu->f[13] = fma(cpu->f[10], cpu->f[11], cpu->f[0]);
|
|
/* 02200580 */ /* nop */
|
|
/* 02200584 */ _t69 = cpu->r[1] + 0x00000014u;
|
|
/* 02200584 */ rbrew_write_f32(cpu->mem, _t69, cpu->f[13]);
|
|
/* 02200588 */ _t70 = cpu->r[12] + 0x00000034u;
|
|
/* 02200588 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t70);
|
|
/* 0220058C */ _t71 = cpu->r[1] + 0x0000006Cu;
|
|
/* 0220058C */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t71);
|
|
/* 02200590 */ /* nop */
|
|
/* 02200594 */ cpu->f[7] = cpu->f[10] * cpu->f[12];
|
|
/* 02200598 */ /* nop */
|
|
/* 0220059C */ _t72 = cpu->r[1] + 0x00000048u;
|
|
/* 0220059C */ rbrew_write_f32(cpu->mem, _t72, cpu->f[7]);
|
|
/* 022005A0 */ _t73 = cpu->r[12] + 0x00000000u;
|
|
/* 022005A0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t73);
|
|
/* 022005A4 */ cpu->r[8] = rbrew_rlwinm(cpu->r[9], 0x00000000u, 0x0000001Eu, 0x0000001Eu);
|
|
/* 022005A4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 022005A8 */ _t74 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 022005A8 */ _t75 = _t74 & 0x00000001u;
|
|
/* 022005A8 */ if (_t75) goto L_022005AC; else goto L_022005F0;
|
|
L_022005AC: ; // 0x22005ac
|
|
/* 022005AC */ goto L_02200648;
|
|
L_022005B0: ; // 0x22005b0
|
|
/* 022005B0 */ _t76 = cpu->r[1] + 0x00000028u;
|
|
/* 022005B0 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t76);
|
|
/* 022005B4 */ _t77 = cpu->r[1] + 0x0000002Cu;
|
|
/* 022005B4 */ cpu->f[6] = rbrew_read_f32(cpu->mem, _t77);
|
|
/* 022005B8 */ _t78 = cpu->r[1] + 0x0000000Cu;
|
|
/* 022005B8 */ rbrew_write_f32(cpu->mem, _t78, cpu->f[0]);
|
|
/* 022005BC */ _t79 = cpu->r[1] + 0x00000010u;
|
|
/* 022005BC */ rbrew_write_f32(cpu->mem, _t79, cpu->f[6]);
|
|
/* 022005C0 */ _t80 = cpu->r[1] + 0x00000030u;
|
|
/* 022005C0 */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t80);
|
|
/* 022005C4 */ _t81 = cpu->r[1] + 0x0000006Cu;
|
|
/* 022005C4 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t81);
|
|
/* 022005C8 */ _t82 = cpu->r[1] + 0x00000014u;
|
|
/* 022005C8 */ rbrew_write_f32(cpu->mem, _t82, cpu->f[7]);
|
|
/* 022005CC */ _t83 = cpu->r[12] + 0x00000034u;
|
|
/* 022005CC */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t83);
|
|
/* 022005D0 */ /* nop */
|
|
/* 022005D4 */ cpu->f[7] = cpu->f[10] * cpu->f[12];
|
|
/* 022005D8 */ /* nop */
|
|
/* 022005DC */ /* nop */
|
|
/* 022005E0 */ _t84 = cpu->r[1] + 0x00000048u;
|
|
/* 022005E0 */ rbrew_write_f32(cpu->mem, _t84, cpu->f[7]);
|
|
/* 022005E4 */ _t85 = cpu->r[12] + 0x00000000u;
|
|
/* 022005E4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t85);
|
|
/* 022005E8 */ cpu->r[8] = rbrew_rlwinm(cpu->r[9], 0x00000000u, 0x0000001Eu, 0x0000001Eu);
|
|
/* 022005E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 022005EC */ _t86 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 022005EC */ _t87 = _t86 & 0x00000001u;
|
|
/* 022005EC */ if (_t87) goto L_02200648; else goto L_022005F0;
|
|
L_022005F0: ; // 0x22005f0
|
|
/* 022005F0 */ _t88 = cpu->r[12] + 0x00000004u;
|
|
/* 022005F0 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t88);
|
|
/* 022005F4 */ _t89 = cpu->r[1] + 0x00000018u;
|
|
/* 022005F4 */ rbrew_write_f32(cpu->mem, _t89, cpu->f[11]);
|
|
/* 022005F8 */ _t90 = cpu->r[12] + 0x00000008u;
|
|
/* 022005F8 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t90);
|
|
/* 022005FC */ _t91 = cpu->r[1] + 0x00000040u;
|
|
/* 022005FC */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t91);
|
|
/* 02200600 */ _t92 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02200600 */ rbrew_write_f32(cpu->mem, _t92, cpu->f[12]);
|
|
/* 02200604 */ _t93 = cpu->r[12] + 0x0000000Cu;
|
|
/* 02200604 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t93);
|
|
/* 02200608 */ cpu->f[12] = cpu->f[12] * cpu->f[13];
|
|
/* 0220060C */ _t94 = cpu->r[1] + 0x00000020u;
|
|
/* 0220060C */ rbrew_write_f32(cpu->mem, _t94, cpu->f[12]);
|
|
/* 02200610 */ _t95 = cpu->r[12] + 0x00000018u;
|
|
/* 02200610 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t95);
|
|
/* 02200614 */ _t96 = cpu->r[1] + 0x00000044u;
|
|
/* 02200614 */ cpu->f[6] = rbrew_read_f32(cpu->mem, _t96);
|
|
/* 02200618 */ cpu->f[12] = fma(cpu->f[6], cpu->f[13], cpu->f[12]);
|
|
/* 0220061C */ _t97 = cpu->r[1] + 0x00000020u;
|
|
/* 0220061C */ rbrew_write_f32(cpu->mem, _t97, cpu->f[12]);
|
|
/* 02200620 */ _t98 = cpu->r[12] + 0x00000024u;
|
|
/* 02200620 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t98);
|
|
/* 02200624 */ _t99 = cpu->r[1] + 0x00000048u;
|
|
/* 02200624 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t99);
|
|
/* 02200628 */ cpu->f[12] = fma(cpu->f[8], cpu->f[0], cpu->f[12]);
|
|
/* 0220062C */ _t100 = cpu->r[1] + 0x00000020u;
|
|
/* 0220062C */ rbrew_write_f32(cpu->mem, _t100, cpu->f[12]);
|
|
/* 02200630 */ _t101 = cpu->r[12] + 0x00000030u;
|
|
/* 02200630 */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t101);
|
|
/* 02200634 */ cpu->f[6] = cpu->f[12] + cpu->f[7];
|
|
/* 02200638 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[22], 0x00000000u);
|
|
/* 0220063C */ _t102 = cpu->r[1] + 0x00000020u;
|
|
/* 0220063C */ rbrew_write_f32(cpu->mem, _t102, cpu->f[6]);
|
|
/* 02200640 */ _t103 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02200640 */ _t104 = _t103 & 0x00000001u;
|
|
/* 02200640 */ if (_t104) goto L_02200644; else goto L_0220065C;
|
|
L_02200644: ; // 0x2200644
|
|
/* 02200644 */ goto L_02200698;
|
|
L_02200648: ; // 0x2200648
|
|
/* 02200648 */ _t105 = cpu->r[12] + 0x00000030u;
|
|
/* 02200648 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t105);
|
|
/* 0220064C */ cpu->f[8] = cpu->f[7] + cpu->f[9];
|
|
/* 02200650 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[22], 0x00000000u);
|
|
/* 02200654 */ _t106 = cpu->r[1] + 0x00000020u;
|
|
/* 02200654 */ rbrew_write_f32(cpu->mem, _t106, cpu->f[8]);
|
|
/* 02200658 */ _t107 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02200658 */ _t108 = _t107 & 0x00000001u;
|
|
/* 02200658 */ if (_t108) goto L_02200698; else goto L_0220065C;
|
|
L_0220065C: ; // 0x220065c
|
|
/* 0220065C */ /* nop */
|
|
/* 02200660 */ /* nop */
|
|
/* 02200664 */ /* nop */
|
|
/* 02200668 */ /* nop */
|
|
/* 0220066C */ /* nop */
|
|
/* 02200670 */ /* nop */
|
|
/* 02200674 */ _t109 = cpu->r[31] + 0x00000008u;
|
|
/* 02200674 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t109);
|
|
/* 02200678 */ /* nop */
|
|
/* 0220067C */ _t110 = cpu->r[1] + 0x00000014u;
|
|
/* 0220067C */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t110);
|
|
/* 02200680 */ cpu->f[6] = cpu->f[7];
|
|
/* 02200684 */ _t111 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02200684 */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t111);
|
|
/* 02200688 */ cpu->f[0] = fma(cpu->f[10], cpu->f[9], cpu->f[12]);
|
|
/* 0220068C */ cpu->f[8] = fma(cpu->f[10], cpu->f[7], cpu->f[6]);
|
|
/* 02200690 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[0], cpu->f[8]);
|
|
/* 02200694 */ _t112 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02200694 */ _t113 = _t112 & 0x00000001u;
|
|
/* 02200694 */ if (_t113) goto L_02200698; else goto L_022006E8;
|
|
L_02200698: ; // 0x2200698
|
|
/* 02200698 */ _t114 = cpu->r[1] + 0x00000064u;
|
|
/* 02200698 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t114);
|
|
/* 0220069C */ _t115 = cpu->r[1] + 0x00000010u;
|
|
/* 0220069C */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t115);
|
|
/* 022006A0 */ _t116 = cpu->r[1] + 0x0000004Cu;
|
|
/* 022006A0 */ rbrew_write_f32(cpu->mem, _t116, cpu->f[9]);
|
|
/* 022006A4 */ _t117 = cpu->r[1] + 0x00000038u;
|
|
/* 022006A4 */ rbrew_write_f32(cpu->mem, _t117, cpu->f[7]);
|
|
/* 022006A8 */ _t118 = cpu->r[1] + 0x0000000Cu;
|
|
/* 022006A8 */ cpu->f[6] = rbrew_read_f32(cpu->mem, _t118);
|
|
/* 022006AC */ _t119 = cpu->r[1] + 0x00000068u;
|
|
/* 022006AC */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t119);
|
|
/* 022006B0 */ _t120 = cpu->r[1] + 0x00000034u;
|
|
/* 022006B0 */ rbrew_write_f32(cpu->mem, _t120, cpu->f[6]);
|
|
/* 022006B4 */ _t121 = cpu->r[1] + 0x00000050u;
|
|
/* 022006B4 */ rbrew_write_f32(cpu->mem, _t121, cpu->f[10]);
|
|
/* 022006B8 */ _t122 = cpu->r[1] + 0x00000014u;
|
|
/* 022006B8 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t122);
|
|
/* 022006BC */ _t123 = cpu->r[1] + 0x0000002Cu;
|
|
/* 022006BC */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t123);
|
|
/* 022006C0 */ _t124 = cpu->r[1] + 0x0000003Cu;
|
|
/* 022006C0 */ rbrew_write_f32(cpu->mem, _t124, cpu->f[8]);
|
|
/* 022006C4 */ _t125 = cpu->r[1] + 0x0000005Cu;
|
|
/* 022006C4 */ rbrew_write_f32(cpu->mem, _t125, cpu->f[13]);
|
|
/* 022006C8 */ _t126 = cpu->r[1] + 0x0000006Cu;
|
|
/* 022006C8 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t126);
|
|
/* 022006CC */ _t127 = cpu->r[1] + 0x00000030u;
|
|
/* 022006CC */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t127);
|
|
/* 022006D0 */ _t128 = cpu->r[1] + 0x00000054u;
|
|
/* 022006D0 */ rbrew_write_f32(cpu->mem, _t128, cpu->f[11]);
|
|
/* 022006D4 */ _t129 = cpu->r[1] + 0x00000060u;
|
|
/* 022006D4 */ rbrew_write_f32(cpu->mem, _t129, cpu->f[0]);
|
|
/* 022006D8 */ _t130 = cpu->r[1] + 0x00000028u;
|
|
/* 022006D8 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t130);
|
|
/* 022006DC */ _t131 = cpu->r[1] + 0x00000008u;
|
|
/* 022006DC */ cpu->r[23] = rbrew_read8(cpu->mem, _t131);
|
|
/* 022006E0 */ cpu->r[25] = cpu->r[0];
|
|
/* 022006E4 */ _t132 = cpu->r[1] + 0x00000058u;
|
|
/* 022006E4 */ rbrew_write_f32(cpu->mem, _t132, cpu->f[12]);
|
|
L_022006E8: ; // 0x22006e8
|
|
/* 022006E8 */ cpu->r[28] = cpu->r[28] + 0xFFFFFFFFu;
|
|
/* 022006E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 022006EC */ cpu->r[22] = cpu->r[22] + 0x00000001u;
|
|
/* 022006F0 */ _t133 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 022006F0 */ _t134 = _t133 & 0x00000001u;
|
|
/* 022006F0 */ if (_t134) goto L_022006F4; else goto L_022004D8;
|
|
L_022006F4: ; // 0x22006f4
|
|
/* 022006F4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], 0x00000000u);
|
|
/* 022006F8 */ _t135 = cpu->r[1] + 0x00000074u;
|
|
/* 022006F8 */ rbrew_write32(cpu->mem, _t135, cpu->r[25]);
|
|
/* 022006FC */ _t136 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 022006FC */ _t137 = _t136 & 0x00000001u;
|
|
/* 022006FC */ if (_t137) goto L_02200700; else goto L_02200738;
|
|
L_02200700: ; // 0x2200700
|
|
/* 02200700 */ _t138 = cpu->r[26] + 0x00000058u;
|
|
/* 02200700 */ cpu->r[5] = rbrew_read32(cpu->mem, _t138);
|
|
/* 02200704 */ cpu->f[1] = cpu->f[29];
|
|
/* 02200708 */ _t139 = cpu->r[26] + 0x0000002Cu;
|
|
/* 02200708 */ cpu->r[12] = rbrew_read32(cpu->mem, _t139);
|
|
/* 0220070C */ cpu->r[7] = cpu->r[1] + 0x0000004Cu;
|
|
/* 02200710 */ _t140 = cpu->r[26] + 0x00000054u;
|
|
/* 02200710 */ cpu->r[4] = rbrew_read32(cpu->mem, _t140);
|
|
/* 02200714 */ cpu->r[8] = cpu->r[1] + 0x00000058u;
|
|
/* 02200718 */ cpu->r[9] = cpu->r[23];
|
|
/* 0220071C */ _t141 = cpu->r[1] + 0x00000074u;
|
|
/* 0220071C */ cpu->r[0] = rbrew_read32(cpu->mem, _t141);
|
|
/* 02200720 */ cpu->r[10] = cpu->r[1] + 0x0000007Cu;
|
|
/* 02200724 */ cpu->r[6] = cpu->r[1] + 0x00000078u;
|
|
/* 02200728 */ _t142 = cpu->r[1] + 0x00000078u;
|
|
/* 02200728 */ rbrew_write32(cpu->mem, _t142, cpu->r[12]);
|
|
/* 0220072C */ cpu->r[3] = cpu->r[26];
|
|
/* 02200730 */ _t143 = cpu->r[1] + 0x0000007Cu;
|
|
/* 02200730 */ rbrew_write32(cpu->mem, _t143, cpu->r[0]);
|
|
/* 02200734 */ Gambit_fn_02200150(cpu);
|
|
L_02200738: ; // 0x2200738
|
|
/* 02200738 */ /* nop */
|
|
/* 0220073C */ _t144 = cpu->r[1] + 0x000000B0u;
|
|
/* 0220073C */ cpu->f[29] = rbrew_read_f32(cpu->mem, _t144);
|
|
/* 02200740 */ _t145 = cpu->r[1] + 0x000000C0u;
|
|
/* 02200740 */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t145);
|
|
/* 02200744 */ _t146 = cpu->r[1] + 0x000000A8u;
|
|
/* 02200744 */ cpu->f[29] = rbrew_read_f64(cpu->mem, _t146);
|
|
/* 02200748 */ _t147 = cpu->r[1] + 0x000000D0u;
|
|
/* 02200748 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t147);
|
|
/* 0220074C */ _t148 = cpu->r[1] + 0x000000B8u;
|
|
/* 0220074C */ cpu->f[30] = rbrew_read_f64(cpu->mem, _t148);
|
|
/* 02200750 */ _t149 = cpu->r[1] + 0x000000C8u;
|
|
/* 02200750 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t149);
|
|
/* 02200754 */ _t150 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02200754 */ _t151 = _t150 & 0x00000001u;
|
|
/* 02200754 */ if (_t151) goto L_02200758; // else: addr-0 trap, fall-through
|
|
L_02200758: ; // 0x2200758
|
|
/* 02200758 */ _t152 = cpu->r[1] + 0x000000DCu;
|
|
/* 02200758 */ cpu->r[0] = rbrew_read32(cpu->mem, _t152);
|
|
/* 0220075C */ cpu->lr = cpu->r[0];
|
|
/* 02200760 */ cpu->r[1] = cpu->r[1] + 0x000000D8u;
|
|
/* 02200764 */ return;
|
|
}
|
|
|
|
// fn_02200768 @ 0x2200768
|
|
void Gambit_fn_02200768(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t68, _t69, _t70, _t71, _t72, _t73, _t74, _t75, _t76, _t77, _t78, _t79, _t80, _t81, _t82, _t83, _t84, _t85, _t86, _t87, _t88, _t89, _t90, _t91, _t92, _t93, _t94, _t95, _t96, _t97, _t98, _t99, _t100, _t101, _t102, _t103, _t104, _t105, _t106, _t107, _t108, _t109, _t110, _t111, _t112, _t113, _t114, _t115, _t116, _t117, _t118, _t119, _t120, _t121, _t122, _t123, _t124, _t125, _t126, _t127, _t128, _t131, _t132, _t133, _t134, _t135, _t136, _t137, _t138, _t139, _t140, _t141, _t142, _t143, _t144, _t145, _t146, _t147, _t148, _t149, _t150, _t151, _t152, _t153, _t154, _t155, _t156, _t157, _t158, _t159, _t160, _t161, _t162, _t163, _t164, _t165, _t166, _t167, _t168, _t169, _t170, _t171, _t172, _t173, _t174, _t175, _t176, _t177, _t178, _t179, _t180, _t181;
|
|
double _ft49, _ft50, _ft66, _ft67, _ft129, _ft130;
|
|
|
|
L_02200768: ; // 0x2200768
|
|
/* 02200768 */ _t0 = cpu->r[1] + 0xFFFFFE80u;
|
|
/* 02200768 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02200768 */ cpu->r[1] = _t0;
|
|
/* 0220076C */ _t1 = cpu->r[1] + 0x000000E0u;
|
|
/* 0220076C */ rbrew_write_f64(cpu->mem, _t1, cpu->f[22]);
|
|
/* 02200770 */ _t2 = cpu->r[1] + 0x000000F0u;
|
|
/* 02200770 */ rbrew_write_f64(cpu->mem, _t2, cpu->f[23]);
|
|
/* 02200774 */ _t3 = cpu->r[1] + 0x00000100u;
|
|
/* 02200774 */ rbrew_write_f64(cpu->mem, _t3, cpu->f[24]);
|
|
/* 02200778 */ /* nop */
|
|
/* 0220077C */ _t4 = cpu->r[1] + 0x00000110u;
|
|
/* 0220077C */ rbrew_write_f64(cpu->mem, _t4, cpu->f[25]);
|
|
/* 02200780 */ /* nop */
|
|
/* 02200784 */ _t5 = cpu->r[1] + 0x00000120u;
|
|
/* 02200784 */ rbrew_write_f64(cpu->mem, _t5, cpu->f[26]);
|
|
/* 02200788 */ /* nop */
|
|
/* 0220078C */ _t6 = cpu->r[1] + 0x00000130u;
|
|
/* 0220078C */ rbrew_write_f64(cpu->mem, _t6, cpu->f[27]);
|
|
/* 02200790 */ /* nop */
|
|
/* 02200794 */ _t7 = cpu->r[1] + 0x00000140u;
|
|
/* 02200794 */ rbrew_write_f64(cpu->mem, _t7, cpu->f[28]);
|
|
/* 02200798 */ /* nop */
|
|
/* 0220079C */ _t8 = cpu->r[1] + 0x00000150u;
|
|
/* 0220079C */ rbrew_write_f64(cpu->mem, _t8, cpu->f[29]);
|
|
/* 022007A0 */ /* nop */
|
|
/* 022007A4 */ _t9 = cpu->r[1] + 0x00000160u;
|
|
/* 022007A4 */ rbrew_write_f64(cpu->mem, _t9, cpu->f[30]);
|
|
/* 022007A8 */ /* nop */
|
|
/* 022007AC */ _t10 = cpu->r[1] + 0x00000170u;
|
|
/* 022007AC */ rbrew_write_f64(cpu->mem, _t10, cpu->f[31]);
|
|
/* 022007B0 */ /* nop */
|
|
/* 022007B4 */ _t11 = cpu->r[1] + 0x000000E8u;
|
|
/* 022007B4 */ rbrew_write_f32(cpu->mem, _t11, cpu->f[22]);
|
|
/* 022007B8 */ _t12 = cpu->r[1] + 0x000000F8u;
|
|
/* 022007B8 */ rbrew_write_f32(cpu->mem, _t12, cpu->f[23]);
|
|
/* 022007BC */ _t13 = cpu->r[1] + 0x00000108u;
|
|
/* 022007BC */ rbrew_write_f32(cpu->mem, _t13, cpu->f[24]);
|
|
/* 022007C0 */ /* nop */
|
|
/* 022007C4 */ _t14 = cpu->r[1] + 0x00000118u;
|
|
/* 022007C4 */ rbrew_write_f32(cpu->mem, _t14, cpu->f[25]);
|
|
/* 022007C8 */ _t15 = cpu->r[1] + 0x00000128u;
|
|
/* 022007C8 */ rbrew_write_f32(cpu->mem, _t15, cpu->f[26]);
|
|
/* 022007CC */ _t16 = cpu->r[1] + 0x00000138u;
|
|
/* 022007CC */ rbrew_write_f32(cpu->mem, _t16, cpu->f[27]);
|
|
/* 022007D0 */ /* nop */
|
|
/* 022007D4 */ _t17 = cpu->r[1] + 0x00000148u;
|
|
/* 022007D4 */ rbrew_write_f32(cpu->mem, _t17, cpu->f[28]);
|
|
/* 022007D8 */ _t18 = cpu->r[1] + 0x00000158u;
|
|
/* 022007D8 */ rbrew_write_f32(cpu->mem, _t18, cpu->f[29]);
|
|
/* 022007DC */ _t19 = cpu->r[1] + 0x00000168u;
|
|
/* 022007DC */ rbrew_write_f32(cpu->mem, _t19, cpu->f[30]);
|
|
/* 022007E0 */ cpu->r[0] = cpu->lr;
|
|
/* 022007E4 */ _t20 = cpu->r[1] + 0x00000178u;
|
|
/* 022007E4 */ rbrew_write_f32(cpu->mem, _t20, cpu->f[31]);
|
|
/* 022007E8 */ _t21 = cpu->r[1] + 0x00000184u;
|
|
/* 022007E8 */ rbrew_write32(cpu->mem, _t21, cpu->r[0]);
|
|
/* 022007EC */ /* nop */
|
|
/* 022007F0 */ _t22 = cpu->r[3] + 0x00000004u;
|
|
/* 022007F0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t22);
|
|
/* 022007F4 */ _t23 = cpu->r[11] + 0x00000254u;
|
|
/* 022007F4 */ cpu->r[4] = rbrew_read32(cpu->mem, _t23);
|
|
/* 022007F8 */ cpu->r[30] = cpu->r[3];
|
|
/* 022007FC */ cpu->ctr = cpu->r[4];
|
|
/* 02200800 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02200804 */ /* nop */
|
|
/* 02200808 */ /* nop */
|
|
/* 0220080C */ /* nop */
|
|
/* 02200810 */ /* nop */
|
|
/* 02200814 */ _t24 = cpu->r[3] + 0x00000008u;
|
|
/* 02200814 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t24);
|
|
/* 02200818 */ _t25 = cpu->r[30] + 0x000000D8u;
|
|
/* 02200818 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t25);
|
|
/* 0220081C */ cpu->f[9] = cpu->f[10] - cpu->f[11];
|
|
/* 02200820 */ _t26 = cpu->r[30] + 0x00000004u;
|
|
/* 02200820 */ cpu->r[7] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02200824 */ _t27 = cpu->r[1] + 0x00000064u;
|
|
/* 02200824 */ rbrew_write_f32(cpu->mem, _t27, cpu->f[9]);
|
|
/* 02200828 */ _t28 = cpu->r[7] + 0x0000025Cu;
|
|
/* 02200828 */ cpu->r[9] = rbrew_read32(cpu->mem, _t28);
|
|
/* 0220082C */ cpu->ctr = cpu->r[9];
|
|
/* 02200830 */ cpu->r[3] = cpu->r[30];
|
|
/* 02200834 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02200838 */ /* nop */
|
|
/* 0220083C */ /* nop */
|
|
/* 02200840 */ _t29 = cpu->r[1] + 0x00000064u;
|
|
/* 02200840 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t29);
|
|
/* 02200844 */ /* nop */
|
|
/* 02200848 */ _t30 = cpu->r[3] + 0x00000008u;
|
|
/* 02200848 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t30);
|
|
/* 0220084C */ /* nop */
|
|
/* 02200850 */ cpu->r[12] = 0x10040000u;
|
|
/* 02200854 */ cpu->f[10] = fma(cpu->f[8], cpu->f[9], cpu->f[6]);
|
|
/* 02200858 */ _t31 = cpu->r[12] + 0xFFFFE510u;
|
|
/* 02200858 */ cpu->f[29] = rbrew_read_f32(cpu->mem, _t31);
|
|
/* 0220085C */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[10], cpu->f[29]);
|
|
/* 02200860 */ _t32 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02200860 */ _t33 = _t32 & 0x00000001u;
|
|
/* 02200860 */ if (_t33) goto L_02200C74; else goto L_02200864;
|
|
L_02200864: ; // 0x2200864
|
|
/* 02200864 */ cpu->r[3] = cpu->r[1] + 0x0000005Cu;
|
|
/* 02200868 */ Gambit_fn_02C69350(cpu);
|
|
/* 0220086C */ _t34 = cpu->r[30] + 0x00000004u;
|
|
/* 0220086C */ cpu->r[9] = rbrew_read32(cpu->mem, _t34);
|
|
/* 02200870 */ _t35 = cpu->r[9] + 0x0000025Cu;
|
|
/* 02200870 */ cpu->r[0] = rbrew_read32(cpu->mem, _t35);
|
|
/* 02200874 */ cpu->ctr = cpu->r[0];
|
|
/* 02200878 */ cpu->f[26] = cpu->f[1];
|
|
/* 0220087C */ cpu->r[3] = cpu->r[30];
|
|
/* 02200880 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02200884 */ _t36 = cpu->r[3] + 0x00000000u;
|
|
/* 02200884 */ cpu->r[9] = rbrew_read32(cpu->mem, _t36);
|
|
/* 02200888 */ _t37 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02200888 */ rbrew_write32(cpu->mem, _t37, cpu->r[9]);
|
|
/* 0220088C */ _t38 = cpu->r[3] + 0x00000004u;
|
|
/* 0220088C */ cpu->r[11] = rbrew_read32(cpu->mem, _t38);
|
|
/* 02200890 */ _t39 = cpu->r[1] + 0x00000030u;
|
|
/* 02200890 */ rbrew_write32(cpu->mem, _t39, cpu->r[11]);
|
|
/* 02200894 */ _t40 = cpu->r[3] + 0x00000008u;
|
|
/* 02200894 */ cpu->r[0] = rbrew_read32(cpu->mem, _t40);
|
|
/* 02200898 */ _t41 = cpu->r[1] + 0x00000030u;
|
|
/* 02200898 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t41);
|
|
/* 0220089C */ _t42 = cpu->r[1] + 0x00000034u;
|
|
/* 0220089C */ rbrew_write32(cpu->mem, _t42, cpu->r[0]);
|
|
/* 022008A0 */ cpu->f[9] = cpu->f[9] * cpu->f[9];
|
|
/* 022008A4 */ _t43 = cpu->r[1] + 0x0000002Cu;
|
|
/* 022008A4 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t43);
|
|
/* 022008A8 */ _t44 = cpu->r[1] + 0x00000034u;
|
|
/* 022008A8 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t44);
|
|
/* 022008AC */ cpu->r[4] = 0x10040000u;
|
|
/* 022008B0 */ cpu->f[10] = fma(cpu->f[12], cpu->f[12], cpu->f[9]);
|
|
/* 022008B4 */ _t45 = cpu->r[4] + 0xFFFFE524u;
|
|
/* 022008B4 */ cpu->f[27] = rbrew_read_f32(cpu->mem, _t45);
|
|
/* 022008B8 */ cpu->f[6] = fma(cpu->f[11], cpu->f[11], cpu->f[10]);
|
|
/* 022008BC */ cpu->r[8] = 0x10040000u;
|
|
/* 022008C0 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[6], cpu->f[29]);
|
|
/* 022008C4 */ _t46 = cpu->r[8] + 0xFFFFE514u;
|
|
/* 022008C4 */ cpu->f[28] = rbrew_read_f32(cpu->mem, _t46);
|
|
/* 022008C8 */ _t47 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 022008C8 */ _t48 = _t47 & 0x00000001u;
|
|
/* 022008C8 */ if (_t48) goto L_022008CC; else goto L_022008F8;
|
|
L_022008CC: ; // 0x22008cc
|
|
/* 022008CC */ _ft49 = sqrt(cpu->f[6]);
|
|
/* 022008CC */ _ft50 = (double)(int32_t)0x00000001u;
|
|
/* 022008CC */ cpu->f[8] = _ft50 / _ft49;
|
|
/* 022008D0 */ cpu->f[10] = cpu->f[8] * cpu->f[8];
|
|
/* 022008D4 */ cpu->f[12] = cpu->f[8] * cpu->f[28];
|
|
/* 022008D8 */ cpu->f[10] = -fma(cpu->f[10], cpu->f[6], -(cpu->f[27]));
|
|
/* 022008DC */ cpu->f[8] = cpu->f[10] * cpu->f[12];
|
|
/* 022008E0 */ _t51 = cpu->r[1] + 0x00000034u;
|
|
/* 022008E0 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t51);
|
|
/* 022008E4 */ /* nop */
|
|
/* 022008E8 */ cpu->f[0] = cpu->f[0] * cpu->f[8];
|
|
/* 022008EC */ /* nop */
|
|
/* 022008F0 */ _t52 = cpu->r[1] + 0x00000034u;
|
|
/* 022008F0 */ rbrew_write_f32(cpu->mem, _t52, cpu->f[0]);
|
|
/* 022008F4 */ /* nop */
|
|
L_022008F8: ; // 0x22008f8
|
|
/* 022008F8 */ _t53 = cpu->r[30] + 0x00000004u;
|
|
/* 022008F8 */ cpu->r[6] = rbrew_read32(cpu->mem, _t53);
|
|
/* 022008FC */ _t54 = cpu->r[6] + 0x0000025Cu;
|
|
/* 022008FC */ cpu->r[7] = rbrew_read32(cpu->mem, _t54);
|
|
/* 02200900 */ cpu->ctr = cpu->r[7];
|
|
/* 02200904 */ cpu->r[3] = cpu->r[30];
|
|
/* 02200908 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0220090C */ _t55 = cpu->r[3] + 0x00000000u;
|
|
/* 0220090C */ cpu->r[0] = rbrew_read32(cpu->mem, _t55);
|
|
/* 02200910 */ _t56 = cpu->r[1] + 0x00000038u;
|
|
/* 02200910 */ rbrew_write32(cpu->mem, _t56, cpu->r[0]);
|
|
/* 02200914 */ _t57 = cpu->r[3] + 0x00000004u;
|
|
/* 02200914 */ cpu->r[5] = rbrew_read32(cpu->mem, _t57);
|
|
/* 02200918 */ cpu->r[4] = cpu->r[1] + 0x0000002Cu;
|
|
/* 0220091C */ _t58 = cpu->r[1] + 0x0000003Cu;
|
|
/* 0220091C */ rbrew_write32(cpu->mem, _t58, cpu->r[5]);
|
|
/* 02200920 */ _t59 = cpu->r[3] + 0x00000008u;
|
|
/* 02200920 */ cpu->r[7] = rbrew_read32(cpu->mem, _t59);
|
|
/* 02200924 */ cpu->r[3] = 0x101F0000u;
|
|
/* 02200928 */ cpu->r[5] = cpu->r[1] + 0x00000050u;
|
|
/* 0220092C */ cpu->r[3] = cpu->r[3] + 0x00006350u;
|
|
/* 02200930 */ _t60 = cpu->r[1] + 0x00000040u;
|
|
/* 02200930 */ rbrew_write32(cpu->mem, _t60, cpu->r[7]);
|
|
/* 02200934 */ Gambit_fn_02C692EC(cpu);
|
|
/* 02200938 */ _t61 = cpu->r[1] + 0x00000054u;
|
|
/* 02200938 */ cpu->f[6] = rbrew_read_f32(cpu->mem, _t61);
|
|
/* 0220093C */ cpu->f[8] = cpu->f[6] * cpu->f[6];
|
|
/* 02200940 */ _t62 = cpu->r[1] + 0x00000050u;
|
|
/* 02200940 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t62);
|
|
/* 02200944 */ cpu->f[10] = fma(cpu->f[0], cpu->f[0], cpu->f[8]);
|
|
/* 02200948 */ _t63 = cpu->r[1] + 0x00000058u;
|
|
/* 02200948 */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t63);
|
|
/* 0220094C */ cpu->f[7] = fma(cpu->f[7], cpu->f[7], cpu->f[10]);
|
|
/* 02200950 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[7], cpu->f[29]);
|
|
/* 02200954 */ _t64 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02200954 */ _t65 = _t64 & 0x00000001u;
|
|
/* 02200954 */ if (_t65) goto L_02200958; else goto L_02200984;
|
|
L_02200958: ; // 0x2200958
|
|
/* 02200958 */ _ft66 = sqrt(cpu->f[7]);
|
|
/* 02200958 */ _ft67 = (double)(int32_t)0x00000001u;
|
|
/* 02200958 */ cpu->f[8] = _ft67 / _ft66;
|
|
/* 0220095C */ cpu->f[10] = cpu->f[8] * cpu->f[8];
|
|
/* 02200960 */ cpu->f[12] = cpu->f[8] * cpu->f[28];
|
|
/* 02200964 */ cpu->f[10] = -fma(cpu->f[10], cpu->f[7], -(cpu->f[27]));
|
|
/* 02200968 */ cpu->f[8] = cpu->f[10] * cpu->f[12];
|
|
/* 0220096C */ _t68 = cpu->r[1] + 0x00000058u;
|
|
/* 0220096C */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t68);
|
|
/* 02200970 */ /* nop */
|
|
/* 02200974 */ cpu->f[7] = cpu->f[7] * cpu->f[8];
|
|
/* 02200978 */ /* nop */
|
|
/* 0220097C */ _t69 = cpu->r[1] + 0x00000058u;
|
|
/* 0220097C */ rbrew_write_f32(cpu->mem, _t69, cpu->f[7]);
|
|
/* 02200980 */ /* nop */
|
|
L_02200984: ; // 0x2200984
|
|
/* 02200984 */ _t70 = cpu->r[1] + 0x00000030u;
|
|
/* 02200984 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t70);
|
|
/* 02200988 */ Gambit_fn_02C892F8(cpu);
|
|
/* 0220098C */ cpu->r[12] = 0x10040000u;
|
|
/* 02200990 */ _t71 = cpu->r[12] + 0xFFFFE56Cu;
|
|
/* 02200990 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t71);
|
|
/* 02200994 */ cpu->r[8] = 0x10040000u;
|
|
/* 02200998 */ cpu->f[8] = cpu->f[0] - cpu->f[1];
|
|
/* 0220099C */ _t72 = cpu->r[8] + 0xFFFFE570u;
|
|
/* 0220099C */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t72);
|
|
/* 022009A0 */ cpu->f[1] = cpu->f[8] * cpu->f[13];
|
|
/* 022009A4 */ cpu->r[3] = cpu->r[1] + 0x0000008Cu;
|
|
/* 022009A8 */ cpu->r[4] = cpu->r[1] + 0x00000050u;
|
|
/* 022009AC */ Gambit_fn_021DE2B4(cpu);
|
|
/* 022009B0 */ cpu->r[4] = cpu->r[1] + 0x00000038u;
|
|
/* 022009B4 */ cpu->r[3] = cpu->r[1] + 0x0000008Cu;
|
|
/* 022009B8 */ cpu->r[5] = cpu->r[4];
|
|
/* 022009BC */ Gambit_fn_02C69468(cpu);
|
|
/* 022009C0 */ _t73 = cpu->r[30] + 0x00000004u;
|
|
/* 022009C0 */ cpu->r[5] = rbrew_read32(cpu->mem, _t73);
|
|
/* 022009C4 */ _t74 = cpu->r[5] + 0x0000025Cu;
|
|
/* 022009C4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t74);
|
|
/* 022009C8 */ cpu->ctr = cpu->r[0];
|
|
/* 022009CC */ cpu->r[3] = cpu->r[30];
|
|
/* 022009D0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 022009D4 */ _t75 = cpu->r[3] + 0x00000000u;
|
|
/* 022009D4 */ cpu->r[6] = rbrew_read32(cpu->mem, _t75);
|
|
/* 022009D8 */ _t76 = cpu->r[1] + 0x0000006Cu;
|
|
/* 022009D8 */ rbrew_write32(cpu->mem, _t76, cpu->r[6]);
|
|
/* 022009DC */ _t77 = cpu->r[3] + 0x00000004u;
|
|
/* 022009DC */ cpu->r[8] = rbrew_read32(cpu->mem, _t77);
|
|
/* 022009E0 */ _t78 = cpu->r[1] + 0x00000038u;
|
|
/* 022009E0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t78);
|
|
/* 022009E4 */ _t79 = cpu->r[1] + 0x00000070u;
|
|
/* 022009E4 */ rbrew_write32(cpu->mem, _t79, cpu->r[8]);
|
|
/* 022009E8 */ _t80 = cpu->r[3] + 0x00000008u;
|
|
/* 022009E8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t80);
|
|
/* 022009EC */ _t81 = cpu->r[1] + 0x00000078u;
|
|
/* 022009EC */ rbrew_write32(cpu->mem, _t81, cpu->r[0]);
|
|
/* 022009F0 */ _t82 = cpu->r[1] + 0x0000007Cu;
|
|
/* 022009F0 */ rbrew_write_f32(cpu->mem, _t82, cpu->f[29]);
|
|
/* 022009F4 */ /* nop */
|
|
/* 022009F8 */ _t83 = cpu->r[1] + 0x00000070u;
|
|
/* 022009F8 */ rbrew_write_f32(cpu->mem, _t83, cpu->f[29]);
|
|
/* 022009FC */ /* nop */
|
|
/* 02200A00 */ _t84 = cpu->r[1] + 0x00000040u;
|
|
/* 02200A00 */ cpu->r[9] = rbrew_read32(cpu->mem, _t84);
|
|
/* 02200A04 */ _t85 = cpu->r[1] + 0x00000074u;
|
|
/* 02200A04 */ rbrew_write32(cpu->mem, _t85, cpu->r[10]);
|
|
/* 02200A08 */ _t86 = cpu->r[1] + 0x00000074u;
|
|
/* 02200A08 */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t86);
|
|
/* 02200A0C */ /* nop */
|
|
/* 02200A10 */ _t87 = cpu->r[1] + 0x00000080u;
|
|
/* 02200A10 */ rbrew_write32(cpu->mem, _t87, cpu->r[9]);
|
|
/* 02200A14 */ _t88 = cpu->r[1] + 0x00000080u;
|
|
/* 02200A14 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t88);
|
|
/* 02200A18 */ /* nop */
|
|
/* 02200A1C */ cpu->f[9] = fma(cpu->f[7], cpu->f[8], cpu->f[0]);
|
|
/* 02200A20 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[9], cpu->f[29]);
|
|
/* 02200A24 */ _t89 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02200A24 */ _t90 = _t89 & 0x00000001u;
|
|
/* 02200A24 */ if (_t90) goto L_02200C74; else goto L_02200A28;
|
|
L_02200A28: ; // 0x2200a28
|
|
/* 02200A28 */ _t91 = cpu->r[30] + 0x00000004u;
|
|
/* 02200A28 */ cpu->r[7] = rbrew_read32(cpu->mem, _t91);
|
|
/* 02200A2C */ cpu->r[29] = 0x00000000u;
|
|
/* 02200A30 */ _t92 = cpu->r[1] + 0x00000068u;
|
|
/* 02200A30 */ rbrew_write32(cpu->mem, _t92, cpu->r[29]);
|
|
/* 02200A34 */ _t93 = cpu->r[7] + 0x0000046Cu;
|
|
/* 02200A34 */ cpu->r[10] = rbrew_read32(cpu->mem, _t93);
|
|
/* 02200A38 */ cpu->ctr = cpu->r[10];
|
|
/* 02200A3C */ cpu->r[3] = cpu->r[30];
|
|
/* 02200A40 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02200A44 */ cpu->r[4] = 0x10040000u;
|
|
/* 02200A48 */ _t94 = cpu->r[1] + 0x00000084u;
|
|
/* 02200A48 */ rbrew_write32(cpu->mem, _t94, cpu->r[3]);
|
|
/* 02200A4C */ cpu->r[4] = cpu->r[4] + 0xFFFFE40Cu;
|
|
/* 02200A50 */ cpu->r[3] = cpu->r[1] + 0x00000068u;
|
|
/* 02200A54 */ _t95 = cpu->r[1] + 0x00000088u;
|
|
/* 02200A54 */ rbrew_write32(cpu->mem, _t95, cpu->r[4]);
|
|
/* 02200A58 */ cpu->r[4] = cpu->r[1] + 0x00000084u;
|
|
/* 02200A5C */ Gambit_fn_021BD554(cpu);
|
|
/* 02200A60 */ cpu->r[6] = 0x10040000u;
|
|
/* 02200A64 */ _t96 = cpu->r[30] + 0x00000198u;
|
|
/* 02200A64 */ cpu->r[27] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t96);
|
|
/* 02200A68 */ cpu->r[12] = 0x101C0000u;
|
|
/* 02200A6C */ _t97 = cpu->r[6] + 0xFFFFE578u;
|
|
/* 02200A6C */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t97);
|
|
/* 02200A70 */ cpu->r[10] = 0x10040000u;
|
|
/* 02200A74 */ _t98 = cpu->r[12] + 0x00006000u;
|
|
/* 02200A74 */ cpu->r[12] = rbrew_read32(cpu->mem, _t98);
|
|
/* 02200A78 */ cpu->r[26] = cpu->r[3];
|
|
/* 02200A7C */ cpu->r[25] = 0x101C0000u;
|
|
/* 02200A80 */ _t99 = cpu->r[10] + 0xFFFFE574u;
|
|
/* 02200A80 */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t99);
|
|
/* 02200A84 */ cpu->r[28] = 0x00000001u;
|
|
/* 02200A88 */ cpu->r[25] = cpu->r[25] + 0x0000518Cu;
|
|
/* 02200A8C */ _t100 = cpu->r[12] + 0x00000274u;
|
|
/* 02200A8C */ cpu->r[24] = rbrew_read32(cpu->mem, _t100);
|
|
/* 02200A90 */ goto L_02200C3C;
|
|
L_02200A94: ; // 0x2200a94
|
|
/* 02200A94 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[12], cpu->f[26]);
|
|
/* 02200A98 */ _t101 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02200A98 */ _t102 = _t101 & 0x00000001u;
|
|
/* 02200A98 */ if (_t102) goto L_02200C74; else goto L_02200A9C;
|
|
L_02200A9C: ; // 0x2200a9c
|
|
/* 02200A9C */ /* nop */
|
|
/* 02200AA0 */ _t103 = cpu->r[1] + 0x00000034u;
|
|
/* 02200AA0 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t103);
|
|
/* 02200AA4 */ /* nop */
|
|
/* 02200AA8 */ _t104 = cpu->r[30] + 0x00000004u;
|
|
/* 02200AA8 */ cpu->r[5] = rbrew_read32(cpu->mem, _t104);
|
|
/* 02200AAC */ cpu->f[12] = cpu->f[13] * cpu->f[12];
|
|
/* 02200AB0 */ /* nop */
|
|
/* 02200AB4 */ _t105 = cpu->r[1] + 0x00000024u;
|
|
/* 02200AB4 */ cpu->r[4] = rbrew_read32(cpu->mem, _t105);
|
|
/* 02200AB8 */ _t106 = cpu->r[1] + 0x00000020u;
|
|
/* 02200AB8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t106);
|
|
/* 02200ABC */ _t107 = cpu->r[1] + 0x00000028u;
|
|
/* 02200ABC */ rbrew_write_f32(cpu->mem, _t107, cpu->f[12]);
|
|
/* 02200AC0 */ _t108 = cpu->r[1] + 0x00000028u;
|
|
/* 02200AC0 */ cpu->r[6] = rbrew_read32(cpu->mem, _t108);
|
|
/* 02200AC4 */ _t109 = cpu->r[1] + 0x00000044u;
|
|
/* 02200AC4 */ rbrew_write32(cpu->mem, _t109, cpu->r[12]);
|
|
/* 02200AC8 */ _t110 = cpu->r[1] + 0x00000048u;
|
|
/* 02200AC8 */ rbrew_write32(cpu->mem, _t110, cpu->r[4]);
|
|
/* 02200ACC */ _t111 = cpu->r[1] + 0x0000004Cu;
|
|
/* 02200ACC */ rbrew_write32(cpu->mem, _t111, cpu->r[6]);
|
|
/* 02200AD0 */ _t112 = cpu->r[5] + 0x00000254u;
|
|
/* 02200AD0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t112);
|
|
/* 02200AD4 */ cpu->ctr = cpu->r[0];
|
|
/* 02200AD8 */ cpu->r[3] = cpu->r[30];
|
|
/* 02200ADC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02200AE0 */ /* nop */
|
|
/* 02200AE4 */ /* nop */
|
|
/* 02200AE8 */ /* nop */
|
|
/* 02200AEC */ /* nop */
|
|
/* 02200AF0 */ _t113 = cpu->r[3] + 0x00000008u;
|
|
/* 02200AF0 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t113);
|
|
/* 02200AF4 */ _t114 = cpu->r[1] + 0x0000004Cu;
|
|
/* 02200AF4 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t114);
|
|
/* 02200AF8 */ cpu->f[11] = cpu->f[13] - cpu->f[0];
|
|
/* 02200AFC */ _t115 = cpu->r[30] + 0x00000004u;
|
|
/* 02200AFC */ cpu->r[9] = rbrew_read32(cpu->mem, _t115);
|
|
/* 02200B00 */ _t116 = cpu->r[1] + 0x00000014u;
|
|
/* 02200B00 */ rbrew_write_f32(cpu->mem, _t116, cpu->f[11]);
|
|
/* 02200B04 */ _t117 = cpu->r[9] + 0x00000254u;
|
|
/* 02200B04 */ cpu->r[10] = rbrew_read32(cpu->mem, _t117);
|
|
/* 02200B08 */ cpu->ctr = cpu->r[10];
|
|
/* 02200B0C */ cpu->r[3] = cpu->r[30];
|
|
/* 02200B10 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02200B14 */ _t118 = cpu->r[1] + 0x00000014u;
|
|
/* 02200B14 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t118);
|
|
/* 02200B18 */ _t119 = cpu->r[3] + 0x00000008u;
|
|
/* 02200B18 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t119);
|
|
/* 02200B1C */ _t120 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02200B1C */ cpu->f[6] = rbrew_read_f32(cpu->mem, _t120);
|
|
/* 02200B20 */ cpu->f[0] = cpu->f[11] - cpu->f[13];
|
|
/* 02200B24 */ _t121 = cpu->r[3] + 0x00000000u;
|
|
/* 02200B24 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t121);
|
|
/* 02200B28 */ cpu->f[13] = cpu->f[6] - cpu->f[9];
|
|
/* 02200B2C */ cpu->f[0] = cpu->f[0] * cpu->f[0];
|
|
/* 02200B30 */ cpu->f[12] = fma(cpu->f[13], cpu->f[13], cpu->f[0]);
|
|
/* 02200B34 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[12], cpu->f[29]);
|
|
/* 02200B38 */ _t122 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02200B38 */ _t123 = _t122 & 0x00000001u;
|
|
/* 02200B38 */ if (_t123) goto L_02200B5C; else goto L_02200B3C;
|
|
L_02200B3C: ; // 0x2200b3c
|
|
/* 02200B3C */ _t124 = cpu->r[25] + 0x00000000u;
|
|
/* 02200B3C */ cpu->r[0] = rbrew_read32(cpu->mem, _t124);
|
|
/* 02200B40 */ cpu->r[12] = cpu->r[24] + cpu->r[0];
|
|
/* 02200B44 */ _t125 = cpu->r[12] + 0x00000104u;
|
|
/* 02200B44 */ cpu->r[4] = rbrew_read8(cpu->mem, _t125);
|
|
/* 02200B48 */ cpu->f[22] = cpu->f[29] * cpu->f[12];
|
|
/* 02200B4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x000000FFu);
|
|
/* 02200B50 */ _t126 = cpu->r[30] + 0x00000051u;
|
|
/* 02200B50 */ cpu->r[5] = rbrew_read8(cpu->mem, _t126);
|
|
/* 02200B54 */ _t127 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02200B54 */ _t128 = _t127 & 0x00000001u;
|
|
/* 02200B54 */ if (_t128) goto L_02200C34; else goto L_02200B58;
|
|
L_02200B58: ; // 0x2200b58
|
|
/* 02200B58 */ goto L_02200B8C;
|
|
L_02200B5C: ; // 0x2200b5c
|
|
/* 02200B5C */ _ft129 = sqrt(cpu->f[12]);
|
|
/* 02200B5C */ _ft130 = (double)(int32_t)0x00000001u;
|
|
/* 02200B5C */ cpu->f[23] = _ft130 / _ft129;
|
|
/* 02200B60 */ cpu->f[24] = cpu->f[23] * cpu->f[23];
|
|
/* 02200B64 */ cpu->f[25] = cpu->f[23] * cpu->f[28];
|
|
/* 02200B68 */ cpu->f[24] = -fma(cpu->f[24], cpu->f[12], -(cpu->f[27]));
|
|
/* 02200B6C */ cpu->f[23] = cpu->f[24] * cpu->f[25];
|
|
/* 02200B70 */ _t131 = cpu->r[25] + 0x00000000u;
|
|
/* 02200B70 */ cpu->r[0] = rbrew_read32(cpu->mem, _t131);
|
|
/* 02200B74 */ cpu->r[12] = cpu->r[24] + cpu->r[0];
|
|
/* 02200B78 */ _t132 = cpu->r[12] + 0x00000104u;
|
|
/* 02200B78 */ cpu->r[4] = rbrew_read8(cpu->mem, _t132);
|
|
/* 02200B7C */ cpu->f[22] = cpu->f[23] * cpu->f[12];
|
|
/* 02200B80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x000000FFu);
|
|
/* 02200B84 */ _t133 = cpu->r[30] + 0x00000051u;
|
|
/* 02200B84 */ cpu->r[5] = rbrew_read8(cpu->mem, _t133);
|
|
/* 02200B88 */ _t134 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02200B88 */ _t135 = _t134 & 0x00000001u;
|
|
/* 02200B88 */ if (_t135) goto L_02200C34; else goto L_02200B8C;
|
|
L_02200B8C: ; // 0x2200b8c
|
|
/* 02200B8C */ cpu->r[7] = cpu->r[1] + 0x00000038u;
|
|
/* 02200B90 */ cpu->r[6] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02200B94 */ cpu->r[3] = cpu->r[24];
|
|
/* 02200B98 */ Gambit_fn_021F000C(cpu);
|
|
/* 02200B9C */ cpu->r[31] = cpu->r[3];
|
|
/* 02200B9C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02200BA0 */ _t136 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02200BA0 */ _t137 = _t136 & 0x00000001u;
|
|
/* 02200BA0 */ if (_t137) goto L_02200C34; else goto L_02200BA4;
|
|
L_02200BA4: ; // 0x2200ba4
|
|
/* 02200BA4 */ _t138 = cpu->r[30] + 0x00000004u;
|
|
/* 02200BA4 */ cpu->r[4] = rbrew_read32(cpu->mem, _t138);
|
|
/* 02200BA8 */ _t139 = cpu->r[30] + 0x00000051u;
|
|
/* 02200BA8 */ cpu->r[5] = rbrew_read8(cpu->mem, _t139);
|
|
/* 02200BAC */ _t140 = cpu->r[4] + 0x000003DCu;
|
|
/* 02200BAC */ cpu->r[0] = rbrew_read32(cpu->mem, _t140);
|
|
/* 02200BB0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u);
|
|
/* 02200BB4 */ cpu->r[3] = cpu->r[30];
|
|
/* 02200BB8 */ cpu->ctr = cpu->r[0];
|
|
/* 02200BBC */ _t141 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02200BBC */ _t142 = _t141 & 0x00000001u;
|
|
/* 02200BBC */ if (_t142) goto L_02200C00; else goto L_02200BC0;
|
|
L_02200BC0: ; // 0x2200bc0
|
|
/* 02200BC0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02200BC4 */ _t143 = cpu->r[30] + 0x00000054u;
|
|
/* 02200BC4 */ cpu->r[5] = rbrew_read32(cpu->mem, _t143);
|
|
/* 02200BC8 */ cpu->r[10] = cpu->r[26];
|
|
/* 02200BCC */ cpu->r[9] = cpu->r[3];
|
|
/* 02200BD0 */ cpu->r[3] = cpu->r[31];
|
|
/* 02200BD4 */ cpu->r[7] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02200BD8 */ _t144 = cpu->r[30] + 0x0000005Cu;
|
|
/* 02200BD8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t144);
|
|
/* 02200BDC */ cpu->f[1] = cpu->f[22] * cpu->f[30];
|
|
/* 02200BE0 */ _t145 = cpu->r[30] + 0x00000058u;
|
|
/* 02200BE0 */ cpu->r[6] = rbrew_read32(cpu->mem, _t145);
|
|
/* 02200BE4 */ cpu->r[8] = cpu->r[1] + 0x00000038u;
|
|
/* 02200BE8 */ cpu->r[4] = 0x00000000u;
|
|
/* 02200BEC */ _t146 = cpu->r[1] + 0x00000008u;
|
|
/* 02200BEC */ rbrew_write32(cpu->mem, _t146, cpu->r[0]);
|
|
/* 02200BF0 */ Gambit_fn_02203194(cpu);
|
|
/* 02200BF4 */ cpu->r[28] = cpu->r[28] + 0x00000001u;
|
|
/* 02200BF8 */ cpu->r[29] = cpu->r[29] + 0x00000001u;
|
|
/* 02200BFC */ goto L_02200C3C;
|
|
L_02200C00: ; // 0x2200c00
|
|
/* 02200C00 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02200C04 */ _t147 = cpu->r[30] + 0x00000054u;
|
|
/* 02200C04 */ cpu->r[5] = rbrew_read32(cpu->mem, _t147);
|
|
/* 02200C08 */ cpu->r[10] = cpu->r[26];
|
|
/* 02200C0C */ cpu->r[9] = cpu->r[3];
|
|
/* 02200C10 */ cpu->r[3] = cpu->r[31];
|
|
/* 02200C14 */ cpu->r[7] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02200C18 */ _t148 = cpu->r[30] + 0x0000005Cu;
|
|
/* 02200C18 */ cpu->r[0] = rbrew_read32(cpu->mem, _t148);
|
|
/* 02200C1C */ cpu->f[1] = cpu->f[22] * cpu->f[30];
|
|
/* 02200C20 */ _t149 = cpu->r[30] + 0x00000058u;
|
|
/* 02200C20 */ cpu->r[6] = rbrew_read32(cpu->mem, _t149);
|
|
/* 02200C24 */ cpu->r[8] = cpu->r[1] + 0x00000038u;
|
|
/* 02200C28 */ cpu->r[4] = 0x00000000u;
|
|
/* 02200C2C */ _t150 = cpu->r[1] + 0x00000008u;
|
|
/* 02200C2C */ rbrew_write32(cpu->mem, _t150, cpu->r[0]);
|
|
/* 02200C30 */ Gambit_fn_022031C4(cpu);
|
|
L_02200C34: ; // 0x2200c34
|
|
/* 02200C34 */ cpu->r[29] = cpu->r[29] + 0x00000001u;
|
|
/* 02200C38 */ cpu->r[28] = cpu->r[28] + 0x00000001u;
|
|
L_02200C3C: ; // 0x2200c3c
|
|
/* 02200C3C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[27]);
|
|
/* 02200C40 */ _t151 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02200C40 */ _t152 = _t151 & 0x00000001u;
|
|
/* 02200C40 */ if (_t152) goto L_02200C44; else goto L_02200C74;
|
|
L_02200C44: ; // 0x2200c44
|
|
/* 02200C44 */ cpu->r[7] = 0x10040000u;
|
|
/* 02200C48 */ cpu->r[10] = cpu->r[28] ^ 0x80000000u;
|
|
/* 02200C4C */ _t153 = cpu->r[7] + 0xFFFFE560u;
|
|
/* 02200C4C */ cpu->f[11] = rbrew_read_f64(cpu->mem, _t153);
|
|
/* 02200C50 */ cpu->r[7] = 0x43300000u;
|
|
/* 02200C54 */ _t154 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02200C54 */ rbrew_write32(cpu->mem, _t154, cpu->r[10]);
|
|
/* 02200C58 */ _t155 = cpu->r[1] + 0x00000018u;
|
|
/* 02200C58 */ rbrew_write32(cpu->mem, _t155, cpu->r[7]);
|
|
/* 02200C5C */ _t156 = cpu->r[1] + 0x00000018u;
|
|
/* 02200C5C */ cpu->f[6] = rbrew_read_f64(cpu->mem, _t156);
|
|
/* 02200C60 */ cpu->f[8] = cpu->f[6] - cpu->f[11];
|
|
/* 02200C64 */ cpu->f[11] = (double)(float)cpu->f[8];
|
|
/* 02200C68 */ cpu->f[12] = cpu->f[11] * cpu->f[31];
|
|
/* 02200C6C */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[12], cpu->f[26]);
|
|
/* 02200C70 */ _t157 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02200C70 */ _t158 = _t157 & 0x00000001u;
|
|
/* 02200C70 */ if (_t158) goto L_02200C74; else goto L_02200A94;
|
|
L_02200C74: ; // 0x2200c74
|
|
/* 02200C74 */ /* nop */
|
|
/* 02200C78 */ _t159 = cpu->r[1] + 0x00000128u;
|
|
/* 02200C78 */ cpu->f[26] = rbrew_read_f32(cpu->mem, _t159);
|
|
/* 02200C7C */ _t160 = cpu->r[1] + 0x00000108u;
|
|
/* 02200C7C */ cpu->f[24] = rbrew_read_f32(cpu->mem, _t160);
|
|
/* 02200C80 */ _t161 = cpu->r[1] + 0x00000120u;
|
|
/* 02200C80 */ cpu->f[26] = rbrew_read_f64(cpu->mem, _t161);
|
|
/* 02200C84 */ _t162 = cpu->r[1] + 0x00000100u;
|
|
/* 02200C84 */ cpu->f[24] = rbrew_read_f64(cpu->mem, _t162);
|
|
/* 02200C88 */ _t163 = cpu->r[1] + 0x00000148u;
|
|
/* 02200C88 */ cpu->f[28] = rbrew_read_f32(cpu->mem, _t163);
|
|
/* 02200C8C */ _t164 = cpu->r[1] + 0x00000118u;
|
|
/* 02200C8C */ cpu->f[25] = rbrew_read_f32(cpu->mem, _t164);
|
|
/* 02200C90 */ _t165 = cpu->r[1] + 0x00000140u;
|
|
/* 02200C90 */ cpu->f[28] = rbrew_read_f64(cpu->mem, _t165);
|
|
/* 02200C94 */ _t166 = cpu->r[1] + 0x00000110u;
|
|
/* 02200C94 */ cpu->f[25] = rbrew_read_f64(cpu->mem, _t166);
|
|
/* 02200C98 */ _t167 = cpu->r[1] + 0x00000168u;
|
|
/* 02200C98 */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t167);
|
|
/* 02200C9C */ _t168 = cpu->r[1] + 0x00000138u;
|
|
/* 02200C9C */ cpu->f[27] = rbrew_read_f32(cpu->mem, _t168);
|
|
/* 02200CA0 */ _t169 = cpu->r[1] + 0x00000160u;
|
|
/* 02200CA0 */ cpu->f[30] = rbrew_read_f64(cpu->mem, _t169);
|
|
/* 02200CA4 */ _t170 = cpu->r[1] + 0x00000130u;
|
|
/* 02200CA4 */ cpu->f[27] = rbrew_read_f64(cpu->mem, _t170);
|
|
/* 02200CA8 */ _t171 = cpu->r[1] + 0x000000F8u;
|
|
/* 02200CA8 */ cpu->f[23] = rbrew_read_f32(cpu->mem, _t171);
|
|
/* 02200CAC */ _t172 = cpu->r[1] + 0x00000158u;
|
|
/* 02200CAC */ cpu->f[29] = rbrew_read_f32(cpu->mem, _t172);
|
|
/* 02200CB0 */ _t173 = cpu->r[1] + 0x000000F0u;
|
|
/* 02200CB0 */ cpu->f[23] = rbrew_read_f64(cpu->mem, _t173);
|
|
/* 02200CB4 */ _t174 = cpu->r[1] + 0x00000150u;
|
|
/* 02200CB4 */ cpu->f[29] = rbrew_read_f64(cpu->mem, _t174);
|
|
/* 02200CB8 */ _t175 = cpu->r[1] + 0x000000E8u;
|
|
/* 02200CB8 */ cpu->f[22] = rbrew_read_f32(cpu->mem, _t175);
|
|
/* 02200CBC */ _t176 = cpu->r[1] + 0x00000178u;
|
|
/* 02200CBC */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t176);
|
|
/* 02200CC0 */ _t177 = cpu->r[1] + 0x000000E0u;
|
|
/* 02200CC0 */ cpu->f[22] = rbrew_read_f64(cpu->mem, _t177);
|
|
/* 02200CC4 */ _t178 = cpu->r[1] + 0x00000170u;
|
|
/* 02200CC4 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t178);
|
|
/* 02200CC8 */ _t179 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02200CC8 */ _t180 = _t179 & 0x00000001u;
|
|
/* 02200CC8 */ if (_t180) goto L_02200CCC; // else: addr-0 trap, fall-through
|
|
L_02200CCC: ; // 0x2200ccc
|
|
/* 02200CCC */ _t181 = cpu->r[1] + 0x00000184u;
|
|
/* 02200CCC */ cpu->r[0] = rbrew_read32(cpu->mem, _t181);
|
|
/* 02200CD0 */ cpu->lr = cpu->r[0];
|
|
/* 02200CD4 */ cpu->r[1] = cpu->r[1] + 0x00000180u;
|
|
/* 02200CD8 */ return;
|
|
}
|
|
|
|
// fn_02200CDC @ 0x2200cdc
|
|
void Gambit_fn_02200CDC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55;
|
|
|
|
L_02200CDC: ; // 0x2200cdc
|
|
/* 02200CDC */ _t0 = cpu->r[1] + 0xFFFFFFB0u;
|
|
/* 02200CDC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02200CDC */ cpu->r[1] = _t0;
|
|
/* 02200CE0 */ /* nop */
|
|
/* 02200CE4 */ cpu->r[0] = cpu->lr;
|
|
/* 02200CE8 */ _t1 = cpu->r[1] + 0x00000054u;
|
|
/* 02200CE8 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02200CEC */ cpu->r[29] = cpu->r[4];
|
|
/* 02200CF0 */ _t2 = cpu->r[3] + 0x00000004u;
|
|
/* 02200CF0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02200CF4 */ _t3 = cpu->r[10] + 0x00000474u;
|
|
/* 02200CF4 */ cpu->r[6] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02200CF8 */ cpu->ctr = cpu->r[6];
|
|
/* 02200CFC */ cpu->r[30] = cpu->r[5];
|
|
/* 02200D00 */ cpu->r[28] = cpu->r[3];
|
|
/* 02200D04 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02200D08 */ _t4 = cpu->r[28] + 0x00000198u;
|
|
/* 02200D08 */ cpu->r[8] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02200D0C */ _t5 = cpu->r[3] + 0x000016B0u;
|
|
/* 02200D0C */ cpu->r[7] = rbrew_read8(cpu->mem, _t5);
|
|
/* 02200D10 */ _t6 = rbrew_rlwinm(cpu->r[7], 0x0000000Cu, 0x00000012u, 0x00000013u);
|
|
/* 02200D10 */ _t7 = cpu->r[8] & 0xFFFFCFFFu;
|
|
/* 02200D10 */ cpu->r[8] = _t7 | _t6;
|
|
/* 02200D14 */ cpu->r[0] = rbrew_rlwinm(cpu->r[8], 0x00000000u, 0x00000012u, 0x00000013u);
|
|
/* 02200D14 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02200D18 */ _t8 = cpu->r[28] + 0x00000198u;
|
|
/* 02200D18 */ rbrew_write32(cpu->mem, _t8, cpu->r[8]);
|
|
/* 02200D1C */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02200D1C */ _t10 = _t9 & 0x00000001u;
|
|
/* 02200D1C */ if (_t10) goto L_02200D4C; else goto L_02200D20;
|
|
L_02200D20: ; // 0x2200d20
|
|
/* 02200D20 */ _t11 = cpu->r[28] + 0x00000004u;
|
|
/* 02200D20 */ cpu->r[11] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02200D24 */ _t12 = cpu->r[11] + 0x0000025Cu;
|
|
/* 02200D24 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02200D28 */ cpu->ctr = cpu->r[0];
|
|
/* 02200D2C */ cpu->r[3] = cpu->r[28];
|
|
/* 02200D30 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02200D34 */ _t13 = cpu->r[3] + 0x00000000u;
|
|
/* 02200D34 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t13);
|
|
/* 02200D38 */ _t14 = cpu->r[28] + 0x0000017Cu;
|
|
/* 02200D38 */ rbrew_write_f32(cpu->mem, _t14, cpu->f[12]);
|
|
/* 02200D3C */ _t15 = cpu->r[3] + 0x00000004u;
|
|
/* 02200D3C */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t15);
|
|
/* 02200D40 */ _t16 = cpu->r[28] + 0x00000180u;
|
|
/* 02200D40 */ rbrew_write_f32(cpu->mem, _t16, cpu->f[13]);
|
|
/* 02200D44 */ _t17 = cpu->r[3] + 0x00000008u;
|
|
/* 02200D44 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t17);
|
|
/* 02200D48 */ _t18 = cpu->r[28] + 0x00000184u;
|
|
/* 02200D48 */ rbrew_write_f32(cpu->mem, _t18, cpu->f[12]);
|
|
L_02200D4C: ; // 0x2200d4c
|
|
/* 02200D4C */ cpu->r[5] = cpu->r[30];
|
|
/* 02200D50 */ cpu->r[4] = cpu->r[29];
|
|
/* 02200D54 */ cpu->r[3] = cpu->r[28];
|
|
/* 02200D58 */ Gambit_fn_0222CCFC(cpu);
|
|
/* 02200D5C */ _t19 = cpu->r[28] + 0x00000198u;
|
|
/* 02200D5C */ cpu->r[7] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02200D60 */ cpu->r[7] = rbrew_rlwinm(cpu->r[7], 0x00000000u, 0x00000012u, 0x00000013u);
|
|
/* 02200D60 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 02200D64 */ cpu->r[31] = cpu->r[3];
|
|
/* 02200D68 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02200D68 */ _t21 = _t20 & 0x00000001u;
|
|
/* 02200D68 */ if (_t21) goto L_02200E70; else goto L_02200D6C;
|
|
L_02200D6C: ; // 0x2200d6c
|
|
/* 02200D6C */ _t22 = cpu->r[30] + 0x00000000u;
|
|
/* 02200D6C */ cpu->r[12] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02200D70 */ cpu->r[9] = rbrew_rlwinm(cpu->r[12], 0x00000000u, 0x0000001Eu, 0x0000001Eu);
|
|
/* 02200D70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 02200D74 */ cpu->r[27] = cpu->r[30] + 0x000000A8u;
|
|
/* 02200D78 */ _t23 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02200D78 */ _t24 = _t23 & 0x00000001u;
|
|
/* 02200D78 */ if (_t24) goto L_02200DC4; else goto L_02200D7C;
|
|
L_02200D7C: ; // 0x2200d7c
|
|
/* 02200D7C */ cpu->r[3] = cpu->r[30] + 0x00000138u;
|
|
/* 02200D80 */ Gambit_fn_02C69350(cpu);
|
|
/* 02200D84 */ cpu->r[11] = 0x10040000u;
|
|
/* 02200D88 */ _t25 = cpu->r[11] + 0xFFFFE510u;
|
|
/* 02200D88 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t25);
|
|
/* 02200D8C */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[1], cpu->f[12]);
|
|
/* 02200D90 */ _t26 = cpu->r[30] + 0x00000000u;
|
|
/* 02200D90 */ cpu->r[11] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02200D94 */ _t27 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02200D94 */ _t28 = _t27 & 0x00000001u;
|
|
/* 02200D94 */ if (_t28) goto L_02200D98; else goto L_02200DBC;
|
|
L_02200D98: ; // 0x2200d98
|
|
/* 02200D98 */ cpu->r[6] = 0x10040000u;
|
|
/* 02200D9C */ _t29 = cpu->r[6] + 0xFFFFE51Cu;
|
|
/* 02200D9C */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t29);
|
|
/* 02200DA0 */ _t30 = cpu->r[30] + 0x00000140u;
|
|
/* 02200DA0 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t30);
|
|
/* 02200DA4 */ cpu->f[11] = cpu->f[13] / cpu->f[1];
|
|
/* 02200DA8 */ /* nop */
|
|
/* 02200DAC */ /* nop */
|
|
/* 02200DB0 */ cpu->f[11] = cpu->f[12] * cpu->f[11];
|
|
/* 02200DB4 */ /* nop */
|
|
/* 02200DB8 */ _t31 = cpu->r[30] + 0x000000B0u;
|
|
/* 02200DB8 */ rbrew_write_f32(cpu->mem, _t31, cpu->f[11]);
|
|
L_02200DBC: ; // 0x2200dbc
|
|
/* 02200DBC */ cpu->r[11] = rbrew_rlwinm(cpu->r[11], 0x00000000u, 0x0000001Fu, 0x0000001Du);
|
|
/* 02200DC0 */ _t32 = cpu->r[30] + 0x00000000u;
|
|
/* 02200DC0 */ rbrew_write32(cpu->mem, _t32, cpu->r[11]);
|
|
L_02200DC4: ; // 0x2200dc4
|
|
/* 02200DC4 */ _t33 = cpu->r[28] + 0x00000004u;
|
|
/* 02200DC4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t33);
|
|
/* 02200DC8 */ _t34 = cpu->r[12] + 0x000003D4u;
|
|
/* 02200DC8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t34);
|
|
/* 02200DCC */ cpu->ctr = cpu->r[0];
|
|
/* 02200DD0 */ cpu->r[3] = cpu->r[28];
|
|
/* 02200DD4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02200DD8 */ /* nop */
|
|
/* 02200DDC */ /* nop */
|
|
/* 02200DE0 */ /* nop */
|
|
/* 02200DE4 */ _t35 = cpu->r[27] + 0x00000008u;
|
|
/* 02200DE4 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t35);
|
|
/* 02200DE8 */ cpu->r[11] = 0x10040000u;
|
|
/* 02200DEC */ _t36 = cpu->r[1] + 0x00000008u;
|
|
/* 02200DEC */ cpu->r[7] = rbrew_read32(cpu->mem, _t36);
|
|
/* 02200DF0 */ cpu->f[12] = cpu->f[13] * cpu->f[1];
|
|
/* 02200DF4 */ _t37 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02200DF4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t37);
|
|
/* 02200DF8 */ _t38 = cpu->r[11] + 0xFFFFE57Cu;
|
|
/* 02200DF8 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t38);
|
|
/* 02200DFC */ _t39 = cpu->r[1] + 0x00000010u;
|
|
/* 02200DFC */ rbrew_write_f32(cpu->mem, _t39, cpu->f[12]);
|
|
/* 02200E00 */ _t40 = cpu->r[1] + 0x00000010u;
|
|
/* 02200E00 */ cpu->r[0] = rbrew_read32(cpu->mem, _t40);
|
|
/* 02200E04 */ _t41 = cpu->r[1] + 0x00000034u;
|
|
/* 02200E04 */ rbrew_write32(cpu->mem, _t41, cpu->r[0]);
|
|
/* 02200E08 */ _t42 = cpu->r[1] + 0x00000034u;
|
|
/* 02200E08 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t42);
|
|
/* 02200E0C */ _t43 = cpu->r[1] + 0x00000030u;
|
|
/* 02200E0C */ rbrew_write32(cpu->mem, _t43, cpu->r[8]);
|
|
/* 02200E10 */ cpu->f[12] = cpu->f[13] * cpu->f[0];
|
|
/* 02200E14 */ _t44 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02200E14 */ rbrew_write32(cpu->mem, _t44, cpu->r[7]);
|
|
/* 02200E18 */ /* nop */
|
|
/* 02200E1C */ _t45 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02200E1C */ rbrew_write_f32(cpu->mem, _t45, cpu->f[12]);
|
|
/* 02200E20 */ _t46 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02200E20 */ cpu->r[0] = rbrew_read32(cpu->mem, _t46);
|
|
/* 02200E24 */ /* nop */
|
|
/* 02200E28 */ /* nop */
|
|
/* 02200E2C */ /* nop */
|
|
/* 02200E30 */ _t47 = cpu->r[1] + 0x00000014u;
|
|
/* 02200E30 */ cpu->r[8] = rbrew_read32(cpu->mem, _t47);
|
|
/* 02200E34 */ _t48 = cpu->r[1] + 0x00000018u;
|
|
/* 02200E34 */ cpu->r[10] = rbrew_read32(cpu->mem, _t48);
|
|
/* 02200E38 */ _t49 = cpu->r[1] + 0x00000020u;
|
|
/* 02200E38 */ rbrew_write32(cpu->mem, _t49, cpu->r[8]);
|
|
/* 02200E3C */ _t50 = cpu->r[1] + 0x00000024u;
|
|
/* 02200E3C */ rbrew_write32(cpu->mem, _t50, cpu->r[10]);
|
|
/* 02200E40 */ /* nop */
|
|
/* 02200E44 */ _t51 = cpu->r[1] + 0x00000028u;
|
|
/* 02200E44 */ rbrew_write32(cpu->mem, _t51, cpu->r[0]);
|
|
/* 02200E48 */ _t52 = cpu->r[1] + 0x00000028u;
|
|
/* 02200E48 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t52);
|
|
/* 02200E4C */ /* nop */
|
|
/* 02200E50 */ /* nop */
|
|
/* 02200E54 */ _t53 = cpu->r[30] + 0x000000C8u;
|
|
/* 02200E54 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t53);
|
|
/* 02200E58 */ cpu->f[11] = cpu->f[12] + cpu->f[13];
|
|
/* 02200E5C */ cpu->r[3] = cpu->r[28];
|
|
/* 02200E60 */ cpu->r[4] = cpu->r[29];
|
|
/* 02200E64 */ cpu->r[5] = cpu->r[30];
|
|
/* 02200E68 */ _t54 = cpu->r[28] + 0x00000190u;
|
|
/* 02200E68 */ rbrew_write_f32(cpu->mem, _t54, cpu->f[11]);
|
|
/* 02200E6C */ Gambit_fn_02200380(cpu);
|
|
L_02200E70: ; // 0x2200e70
|
|
/* 02200E70 */ cpu->r[3] = cpu->r[28];
|
|
/* 02200E74 */ Gambit_fn_02200768(cpu);
|
|
/* 02200E78 */ cpu->r[3] = cpu->r[31];
|
|
/* 02200E7C */ /* nop */
|
|
/* 02200E80 */ _t55 = cpu->r[1] + 0x00000054u;
|
|
/* 02200E80 */ cpu->r[0] = rbrew_read32(cpu->mem, _t55);
|
|
/* 02200E84 */ cpu->lr = cpu->r[0];
|
|
/* 02200E88 */ cpu->r[1] = cpu->r[1] + 0x00000050u;
|
|
/* 02200E8C */ return;
|
|
}
|
|
|
|
// fn_02200E90 @ 0x2200e90
|
|
void Gambit_fn_02200E90(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60;
|
|
|
|
L_02200E90: ; // 0x2200e90
|
|
/* 02200E90 */ _t0 = cpu->r[1] + 0xFFFFFFB0u;
|
|
/* 02200E90 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02200E90 */ cpu->r[1] = _t0;
|
|
/* 02200E94 */ /* nop */
|
|
/* 02200E98 */ cpu->r[0] = cpu->lr;
|
|
/* 02200E9C */ _t1 = cpu->r[1] + 0x00000054u;
|
|
/* 02200E9C */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02200EA0 */ cpu->r[29] = cpu->r[4];
|
|
/* 02200EA4 */ _t2 = cpu->r[3] + 0x00000004u;
|
|
/* 02200EA4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02200EA8 */ _t3 = cpu->r[11] + 0x00000474u;
|
|
/* 02200EA8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02200EAC */ cpu->ctr = cpu->r[0];
|
|
/* 02200EB0 */ cpu->r[30] = cpu->r[5];
|
|
/* 02200EB4 */ cpu->r[28] = cpu->r[3];
|
|
/* 02200EB8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02200EBC */ _t4 = cpu->r[28] + 0x00000198u;
|
|
/* 02200EBC */ cpu->r[8] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02200EC0 */ _t5 = cpu->r[3] + 0x000016B0u;
|
|
/* 02200EC0 */ cpu->r[6] = rbrew_read8(cpu->mem, _t5);
|
|
/* 02200EC4 */ _t6 = rbrew_rlwinm(cpu->r[6], 0x0000000Cu, 0x00000012u, 0x00000013u);
|
|
/* 02200EC4 */ _t7 = cpu->r[8] & 0xFFFFCFFFu;
|
|
/* 02200EC4 */ cpu->r[8] = _t7 | _t6;
|
|
/* 02200EC8 */ cpu->r[9] = rbrew_rlwinm(cpu->r[8], 0x00000000u, 0x00000012u, 0x00000013u);
|
|
/* 02200EC8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 02200ECC */ _t8 = cpu->r[28] + 0x00000198u;
|
|
/* 02200ECC */ rbrew_write32(cpu->mem, _t8, cpu->r[8]);
|
|
/* 02200ED0 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02200ED0 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02200ED0 */ if (_t10) goto L_02200F00; else goto L_02200ED4;
|
|
L_02200ED4: ; // 0x2200ed4
|
|
/* 02200ED4 */ _t11 = cpu->r[28] + 0x00000004u;
|
|
/* 02200ED4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02200ED8 */ _t12 = cpu->r[10] + 0x0000025Cu;
|
|
/* 02200ED8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02200EDC */ cpu->ctr = cpu->r[0];
|
|
/* 02200EE0 */ cpu->r[3] = cpu->r[28];
|
|
/* 02200EE4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02200EE8 */ _t13 = cpu->r[3] + 0x00000000u;
|
|
/* 02200EE8 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t13);
|
|
/* 02200EEC */ _t14 = cpu->r[28] + 0x0000017Cu;
|
|
/* 02200EEC */ rbrew_write_f32(cpu->mem, _t14, cpu->f[12]);
|
|
/* 02200EF0 */ _t15 = cpu->r[3] + 0x00000004u;
|
|
/* 02200EF0 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t15);
|
|
/* 02200EF4 */ _t16 = cpu->r[28] + 0x00000180u;
|
|
/* 02200EF4 */ rbrew_write_f32(cpu->mem, _t16, cpu->f[13]);
|
|
/* 02200EF8 */ _t17 = cpu->r[3] + 0x00000008u;
|
|
/* 02200EF8 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t17);
|
|
/* 02200EFC */ _t18 = cpu->r[28] + 0x00000184u;
|
|
/* 02200EFC */ rbrew_write_f32(cpu->mem, _t18, cpu->f[0]);
|
|
L_02200F00: ; // 0x2200f00
|
|
/* 02200F00 */ _t19 = cpu->r[28] + 0x00000198u;
|
|
/* 02200F00 */ cpu->r[8] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02200F04 */ cpu->r[0] = 0x00000001u;
|
|
/* 02200F08 */ cpu->r[4] = cpu->r[29];
|
|
/* 02200F0C */ cpu->r[3] = cpu->r[28];
|
|
/* 02200F10 */ _t20 = rbrew_rlwinm(cpu->r[0], 0x00000006u, 0x00000018u, 0x00000019u);
|
|
/* 02200F10 */ _t21 = cpu->r[8] & 0xFFFFFF3Fu;
|
|
/* 02200F10 */ cpu->r[8] = _t21 | _t20;
|
|
/* 02200F14 */ cpu->r[5] = cpu->r[30];
|
|
/* 02200F18 */ _t22 = cpu->r[28] + 0x00000198u;
|
|
/* 02200F18 */ rbrew_write32(cpu->mem, _t22, cpu->r[8]);
|
|
/* 02200F1C */ Gambit_fn_0222CA20(cpu);
|
|
/* 02200F20 */ _t23 = cpu->r[28] + 0x00000198u;
|
|
/* 02200F20 */ cpu->r[6] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02200F24 */ cpu->r[6] = rbrew_rlwinm(cpu->r[6], 0x00000000u, 0x0000001Au, 0x00000017u);
|
|
/* 02200F28 */ cpu->r[31] = cpu->r[3];
|
|
/* 02200F2C */ cpu->r[8] = rbrew_rlwinm(cpu->r[6], 0x00000000u, 0x00000012u, 0x00000013u);
|
|
/* 02200F2C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 02200F30 */ _t24 = cpu->r[28] + 0x00000198u;
|
|
/* 02200F30 */ rbrew_write32(cpu->mem, _t24, cpu->r[6]);
|
|
/* 02200F34 */ _t25 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02200F34 */ _t26 = _t25 & 0x00000001u;
|
|
/* 02200F34 */ if (_t26) goto L_0220103C; else goto L_02200F38;
|
|
L_02200F38: ; // 0x2200f38
|
|
/* 02200F38 */ _t27 = cpu->r[30] + 0x00000000u;
|
|
/* 02200F38 */ cpu->r[0] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02200F3C */ cpu->r[10] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02200F3C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02200F40 */ cpu->r[27] = cpu->r[30] + 0x00000048u;
|
|
/* 02200F44 */ _t28 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02200F44 */ _t29 = _t28 & 0x00000001u;
|
|
/* 02200F44 */ if (_t29) goto L_02200F90; else goto L_02200F48;
|
|
L_02200F48: ; // 0x2200f48
|
|
/* 02200F48 */ cpu->r[3] = cpu->r[30] + 0x0000012Cu;
|
|
/* 02200F4C */ Gambit_fn_02C69350(cpu);
|
|
/* 02200F50 */ cpu->r[12] = 0x10040000u;
|
|
/* 02200F54 */ _t30 = cpu->r[12] + 0xFFFFE510u;
|
|
/* 02200F54 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t30);
|
|
/* 02200F58 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[1], cpu->f[13]);
|
|
/* 02200F5C */ _t31 = cpu->r[30] + 0x00000000u;
|
|
/* 02200F5C */ cpu->r[12] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02200F60 */ _t32 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02200F60 */ _t33 = _t32 & 0x00000001u;
|
|
/* 02200F60 */ if (_t33) goto L_02200F64; else goto L_02200F88;
|
|
L_02200F64: ; // 0x2200f64
|
|
/* 02200F64 */ cpu->r[7] = 0x10040000u;
|
|
/* 02200F68 */ _t34 = cpu->r[7] + 0xFFFFE51Cu;
|
|
/* 02200F68 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t34);
|
|
/* 02200F6C */ /* nop */
|
|
/* 02200F70 */ cpu->f[11] = cpu->f[0] / cpu->f[1];
|
|
/* 02200F74 */ _t35 = cpu->r[30] + 0x00000134u;
|
|
/* 02200F74 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t35);
|
|
/* 02200F78 */ /* nop */
|
|
/* 02200F7C */ cpu->f[12] = cpu->f[13] * cpu->f[11];
|
|
/* 02200F80 */ /* nop */
|
|
/* 02200F84 */ _t36 = cpu->r[30] + 0x00000050u;
|
|
/* 02200F84 */ rbrew_write_f32(cpu->mem, _t36, cpu->f[12]);
|
|
L_02200F88: ; // 0x2200f88
|
|
/* 02200F88 */ cpu->r[12] = rbrew_rlwinm(cpu->r[12], 0x00000000u, 0x00000000u, 0x0000001Eu);
|
|
/* 02200F8C */ _t37 = cpu->r[30] + 0x00000000u;
|
|
/* 02200F8C */ rbrew_write32(cpu->mem, _t37, cpu->r[12]);
|
|
L_02200F90: ; // 0x2200f90
|
|
/* 02200F90 */ _t38 = cpu->r[28] + 0x00000004u;
|
|
/* 02200F90 */ cpu->r[5] = rbrew_read32(cpu->mem, _t38);
|
|
/* 02200F94 */ _t39 = cpu->r[5] + 0x000003D4u;
|
|
/* 02200F94 */ cpu->r[7] = rbrew_read32(cpu->mem, _t39);
|
|
/* 02200F98 */ cpu->ctr = cpu->r[7];
|
|
/* 02200F9C */ cpu->r[3] = cpu->r[28];
|
|
/* 02200FA0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02200FA4 */ /* nop */
|
|
/* 02200FA8 */ cpu->r[12] = 0x10040000u;
|
|
/* 02200FAC */ _t40 = cpu->r[12] + 0xFFFFE57Cu;
|
|
/* 02200FAC */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t40);
|
|
/* 02200FB0 */ /* nop */
|
|
/* 02200FB4 */ /* nop */
|
|
/* 02200FB8 */ _t41 = cpu->r[27] + 0x00000008u;
|
|
/* 02200FB8 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t41);
|
|
/* 02200FBC */ _t42 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02200FBC */ cpu->r[7] = rbrew_read32(cpu->mem, _t42);
|
|
/* 02200FC0 */ cpu->f[9] = cpu->f[10] * cpu->f[1];
|
|
/* 02200FC4 */ _t43 = cpu->r[1] + 0x00000008u;
|
|
/* 02200FC4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t43);
|
|
/* 02200FC8 */ _t44 = cpu->r[1] + 0x00000030u;
|
|
/* 02200FC8 */ rbrew_write32(cpu->mem, _t44, cpu->r[7]);
|
|
/* 02200FCC */ _t45 = cpu->r[1] + 0x00000010u;
|
|
/* 02200FCC */ rbrew_write_f32(cpu->mem, _t45, cpu->f[9]);
|
|
/* 02200FD0 */ _t46 = cpu->r[1] + 0x00000010u;
|
|
/* 02200FD0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t46);
|
|
/* 02200FD4 */ _t47 = cpu->r[1] + 0x00000034u;
|
|
/* 02200FD4 */ rbrew_write32(cpu->mem, _t47, cpu->r[9]);
|
|
/* 02200FD8 */ _t48 = cpu->r[1] + 0x00000034u;
|
|
/* 02200FD8 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t48);
|
|
/* 02200FDC */ _t49 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02200FDC */ rbrew_write32(cpu->mem, _t49, cpu->r[0]);
|
|
/* 02200FE0 */ cpu->f[10] = cpu->f[11] * cpu->f[12];
|
|
/* 02200FE4 */ /* nop */
|
|
/* 02200FE8 */ /* nop */
|
|
/* 02200FEC */ /* nop */
|
|
/* 02200FF0 */ _t50 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02200FF0 */ rbrew_write_f32(cpu->mem, _t50, cpu->f[10]);
|
|
/* 02200FF4 */ _t51 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02200FF4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t51);
|
|
/* 02200FF8 */ /* nop */
|
|
/* 02200FFC */ _t52 = cpu->r[1] + 0x00000014u;
|
|
/* 02200FFC */ cpu->r[9] = rbrew_read32(cpu->mem, _t52);
|
|
/* 02201000 */ _t53 = cpu->r[1] + 0x00000018u;
|
|
/* 02201000 */ cpu->r[0] = rbrew_read32(cpu->mem, _t53);
|
|
/* 02201004 */ _t54 = cpu->r[1] + 0x00000020u;
|
|
/* 02201004 */ rbrew_write32(cpu->mem, _t54, cpu->r[9]);
|
|
/* 02201008 */ _t55 = cpu->r[1] + 0x00000024u;
|
|
/* 02201008 */ rbrew_write32(cpu->mem, _t55, cpu->r[0]);
|
|
/* 0220100C */ /* nop */
|
|
/* 02201010 */ _t56 = cpu->r[1] + 0x00000028u;
|
|
/* 02201010 */ rbrew_write32(cpu->mem, _t56, cpu->r[10]);
|
|
/* 02201014 */ _t57 = cpu->r[1] + 0x00000028u;
|
|
/* 02201014 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t57);
|
|
/* 02201018 */ /* nop */
|
|
/* 0220101C */ /* nop */
|
|
/* 02201020 */ _t58 = cpu->r[30] + 0x00000068u;
|
|
/* 02201020 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t58);
|
|
/* 02201024 */ cpu->f[13] = cpu->f[0] + cpu->f[9];
|
|
/* 02201028 */ cpu->r[5] = cpu->r[30];
|
|
/* 0220102C */ cpu->r[4] = cpu->r[29];
|
|
/* 02201030 */ cpu->r[3] = cpu->r[28];
|
|
/* 02201034 */ _t59 = cpu->r[28] + 0x00000190u;
|
|
/* 02201034 */ rbrew_write_f32(cpu->mem, _t59, cpu->f[13]);
|
|
/* 02201038 */ Gambit_fn_02200380(cpu);
|
|
L_0220103C: ; // 0x220103c
|
|
/* 0220103C */ cpu->r[3] = cpu->r[31];
|
|
/* 02201040 */ /* nop */
|
|
/* 02201044 */ _t60 = cpu->r[1] + 0x00000054u;
|
|
/* 02201044 */ cpu->r[0] = rbrew_read32(cpu->mem, _t60);
|
|
/* 02201048 */ cpu->lr = cpu->r[0];
|
|
/* 0220104C */ cpu->r[1] = cpu->r[1] + 0x00000050u;
|
|
/* 02201050 */ return;
|
|
}
|
|
|
|
// fn_02201054 @ 0x2201054
|
|
void Gambit_fn_02201054(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22;
|
|
|
|
L_02201054: ; // 0x2201054
|
|
/* 02201054 */ cpu->r[0] = cpu->lr;
|
|
/* 02201058 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02201058 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02201058 */ cpu->r[1] = _t0;
|
|
/* 0220105C */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 0220105C */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02201060 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02201060 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02201064 */ _t3 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02201064 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02201068 */ _t4 = cpu->r[8] + 0x00000000u;
|
|
/* 02201068 */ cpu->r[8] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0220106C */ cpu->r[31] = cpu->r[4];
|
|
/* 02201070 */ _t5 = cpu->r[1] + 0x00000023u;
|
|
/* 02201070 */ cpu->r[0] = rbrew_read8(cpu->mem, _t5);
|
|
/* 02201074 */ cpu->r[30] = cpu->r[3];
|
|
/* 02201078 */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02201078 */ rbrew_write32(cpu->mem, _t6, cpu->r[8]);
|
|
/* 0220107C */ cpu->r[8] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02201080 */ _t7 = cpu->r[1] + 0x00000008u;
|
|
/* 02201080 */ rbrew_write32(cpu->mem, _t7, cpu->r[0]);
|
|
/* 02201084 */ Gambit_fn_021BD3E0(cpu);
|
|
/* 02201088 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0220108C */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0220108C */ _t9 = _t8 & 0x00000001u;
|
|
/* 0220108C */ if (_t9) goto L_022010D0; else goto L_02201090;
|
|
L_02201090: ; // 0x2201090
|
|
/* 02201090 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02201094 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02201094 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02201094 */ if (_t11) goto L_022010D0; else goto L_02201098;
|
|
L_02201098: ; // 0x2201098
|
|
/* 02201098 */ _t12 = cpu->r[30] + 0x00000198u;
|
|
/* 02201098 */ cpu->r[9] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0220109C */ cpu->r[10] = rbrew_rlwinm(cpu->r[9], 0x0000001Au, 0x00000000u, 0x00000005u);
|
|
/* 022010A0 */ /* nop */
|
|
/* 022010A4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000004u);
|
|
/* 022010A8 */ _t13 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 022010A8 */ _t14 = _t13 & 0x00000001u;
|
|
/* 022010A8 */ if (_t14) goto L_022010AC; else goto L_022010D0;
|
|
L_022010AC: ; // 0x22010ac
|
|
/* 022010AC */ cpu->r[11] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 022010B0 */ cpu->r[12] = cpu->r[30] + cpu->r[11];
|
|
/* 022010B4 */ _t15 = cpu->r[12] + 0x0000019Cu;
|
|
/* 022010B4 */ rbrew_write32(cpu->mem, _t15, cpu->r[31]);
|
|
/* 022010B8 */ _t16 = cpu->r[30] + 0x00000198u;
|
|
/* 022010B8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t16);
|
|
/* 022010BC */ cpu->r[12] = rbrew_rlwinm(cpu->r[11], 0x0000001Au, 0x00000000u, 0x00000005u);
|
|
/* 022010C0 */ /* nop */
|
|
/* 022010C4 */ cpu->r[10] = cpu->r[10] + 0x00000001u;
|
|
/* 022010C8 */ _t17 = rbrew_rlwinm(cpu->r[10], 0x00000000u, 0x0000001Au, 0x0000001Fu);
|
|
/* 022010C8 */ _t18 = cpu->r[11] & 0xFFFFFFC0u;
|
|
/* 022010C8 */ cpu->r[11] = _t18 | _t17;
|
|
/* 022010CC */ _t19 = cpu->r[30] + 0x00000198u;
|
|
/* 022010CC */ rbrew_write32(cpu->mem, _t19, cpu->r[11]);
|
|
L_022010D0: ; // 0x22010d0
|
|
/* 022010D0 */ _t20 = cpu->r[1] + 0x0000001Cu;
|
|
/* 022010D0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t20);
|
|
/* 022010D4 */ _t21 = cpu->r[1] + 0x00000010u;
|
|
/* 022010D4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t21);
|
|
/* 022010D8 */ cpu->lr = cpu->r[0];
|
|
/* 022010DC */ _t22 = cpu->r[1] + 0x00000014u;
|
|
/* 022010DC */ cpu->r[31] = rbrew_read32(cpu->mem, _t22);
|
|
/* 022010E0 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 022010E4 */ return;
|
|
}
|
|
|
|
// fn_02201058 @ 0x2201058
|
|
void Gambit_fn_02201058(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22;
|
|
|
|
L_02201058: ; // 0x2201058
|
|
/* 02201058 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02201058 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02201058 */ cpu->r[1] = _t0;
|
|
/* 0220105C */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 0220105C */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02201060 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02201060 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02201064 */ _t3 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02201064 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02201068 */ _t4 = cpu->r[8] + 0x00000000u;
|
|
/* 02201068 */ cpu->r[8] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0220106C */ cpu->r[31] = cpu->r[4];
|
|
/* 02201070 */ _t5 = cpu->r[1] + 0x00000023u;
|
|
/* 02201070 */ cpu->r[0] = rbrew_read8(cpu->mem, _t5);
|
|
/* 02201074 */ cpu->r[30] = cpu->r[3];
|
|
/* 02201078 */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02201078 */ rbrew_write32(cpu->mem, _t6, cpu->r[8]);
|
|
/* 0220107C */ cpu->r[8] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02201080 */ _t7 = cpu->r[1] + 0x00000008u;
|
|
/* 02201080 */ rbrew_write32(cpu->mem, _t7, cpu->r[0]);
|
|
/* 02201084 */ Gambit_fn_021BD3E0(cpu);
|
|
/* 02201088 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0220108C */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0220108C */ _t9 = _t8 & 0x00000001u;
|
|
/* 0220108C */ if (_t9) goto L_022010D0; else goto L_02201090;
|
|
L_02201090: ; // 0x2201090
|
|
/* 02201090 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02201094 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02201094 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02201094 */ if (_t11) goto L_022010D0; else goto L_02201098;
|
|
L_02201098: ; // 0x2201098
|
|
/* 02201098 */ _t12 = cpu->r[30] + 0x00000198u;
|
|
/* 02201098 */ cpu->r[9] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0220109C */ cpu->r[10] = rbrew_rlwinm(cpu->r[9], 0x0000001Au, 0x00000000u, 0x00000005u);
|
|
/* 022010A0 */ /* nop */
|
|
/* 022010A4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000004u);
|
|
/* 022010A8 */ _t13 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 022010A8 */ _t14 = _t13 & 0x00000001u;
|
|
/* 022010A8 */ if (_t14) goto L_022010AC; else goto L_022010D0;
|
|
L_022010AC: ; // 0x22010ac
|
|
/* 022010AC */ cpu->r[11] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 022010B0 */ cpu->r[12] = cpu->r[30] + cpu->r[11];
|
|
/* 022010B4 */ _t15 = cpu->r[12] + 0x0000019Cu;
|
|
/* 022010B4 */ rbrew_write32(cpu->mem, _t15, cpu->r[31]);
|
|
/* 022010B8 */ _t16 = cpu->r[30] + 0x00000198u;
|
|
/* 022010B8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t16);
|
|
/* 022010BC */ cpu->r[12] = rbrew_rlwinm(cpu->r[11], 0x0000001Au, 0x00000000u, 0x00000005u);
|
|
/* 022010C0 */ /* nop */
|
|
/* 022010C4 */ cpu->r[10] = cpu->r[10] + 0x00000001u;
|
|
/* 022010C8 */ _t17 = rbrew_rlwinm(cpu->r[10], 0x00000000u, 0x0000001Au, 0x0000001Fu);
|
|
/* 022010C8 */ _t18 = cpu->r[11] & 0xFFFFFFC0u;
|
|
/* 022010C8 */ cpu->r[11] = _t18 | _t17;
|
|
/* 022010CC */ _t19 = cpu->r[30] + 0x00000198u;
|
|
/* 022010CC */ rbrew_write32(cpu->mem, _t19, cpu->r[11]);
|
|
L_022010D0: ; // 0x22010d0
|
|
/* 022010D0 */ _t20 = cpu->r[1] + 0x0000001Cu;
|
|
/* 022010D0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t20);
|
|
/* 022010D4 */ _t21 = cpu->r[1] + 0x00000010u;
|
|
/* 022010D4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t21);
|
|
/* 022010D8 */ cpu->lr = cpu->r[0];
|
|
/* 022010DC */ _t22 = cpu->r[1] + 0x00000014u;
|
|
/* 022010DC */ cpu->r[31] = rbrew_read32(cpu->mem, _t22);
|
|
/* 022010E0 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 022010E4 */ return;
|
|
}
|
|
|
|
// fn_022010E8 @ 0x22010e8
|
|
void Gambit_fn_022010E8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_022010E8: ; // 0x22010e8
|
|
/* 022010E8 */ cpu->r[0] = cpu->lr;
|
|
/* 022010EC */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 022010EC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 022010EC */ cpu->r[1] = _t0;
|
|
/* 022010F0 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 022010F0 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 022010F4 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 022010F4 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 022010F8 */ _t3 = cpu->r[3] + 0x00000004u;
|
|
/* 022010F8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t3);
|
|
/* 022010FC */ _t4 = cpu->r[12] + 0x00000474u;
|
|
/* 022010FC */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02201100 */ cpu->ctr = cpu->r[12];
|
|
/* 02201104 */ cpu->r[31] = cpu->r[3];
|
|
/* 02201108 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0220110C */ _t5 = cpu->r[31] + 0x00000198u;
|
|
/* 0220110C */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02201110 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000016u, 0x00000016u);
|
|
/* 02201110 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02201114 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02201114 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02201114 */ if (_t7) goto L_02201120; else goto L_02201118;
|
|
L_02201118: ; // 0x2201118
|
|
/* 02201118 */ _t8 = cpu->r[3] + 0x000007B0u;
|
|
/* 02201118 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t8);
|
|
/* 0220111C */ goto L_02201124;
|
|
L_02201120: ; // 0x2201120
|
|
/* 02201120 */ _t9 = cpu->r[3] + 0x00000C90u;
|
|
/* 02201120 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t9);
|
|
L_02201124: ; // 0x2201124
|
|
/* 02201124 */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02201124 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02201128 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02201128 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0220112C */ cpu->lr = cpu->r[0];
|
|
/* 02201130 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02201134 */ return;
|
|
}
|
|
|
|
// fn_022010EC @ 0x22010ec
|
|
void Gambit_fn_022010EC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_022010EC: ; // 0x22010ec
|
|
/* 022010EC */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 022010EC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 022010EC */ cpu->r[1] = _t0;
|
|
/* 022010F0 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 022010F0 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 022010F4 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 022010F4 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 022010F8 */ _t3 = cpu->r[3] + 0x00000004u;
|
|
/* 022010F8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t3);
|
|
/* 022010FC */ _t4 = cpu->r[12] + 0x00000474u;
|
|
/* 022010FC */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02201100 */ cpu->ctr = cpu->r[12];
|
|
/* 02201104 */ cpu->r[31] = cpu->r[3];
|
|
/* 02201108 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0220110C */ _t5 = cpu->r[31] + 0x00000198u;
|
|
/* 0220110C */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02201110 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000016u, 0x00000016u);
|
|
/* 02201110 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02201114 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02201114 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02201114 */ if (_t7) goto L_02201120; else goto L_02201118;
|
|
L_02201118: ; // 0x2201118
|
|
/* 02201118 */ _t8 = cpu->r[3] + 0x000007B0u;
|
|
/* 02201118 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t8);
|
|
/* 0220111C */ goto L_02201124;
|
|
L_02201120: ; // 0x2201120
|
|
/* 02201120 */ _t9 = cpu->r[3] + 0x00000C90u;
|
|
/* 02201120 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t9);
|
|
L_02201124: ; // 0x2201124
|
|
/* 02201124 */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02201124 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02201128 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02201128 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0220112C */ cpu->lr = cpu->r[0];
|
|
/* 02201130 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02201134 */ return;
|
|
}
|
|
|
|
// fn_02201138 @ 0x2201138
|
|
void Gambit_fn_02201138(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_02201138: ; // 0x2201138
|
|
/* 02201138 */ cpu->r[0] = cpu->lr;
|
|
/* 0220113C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0220113C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0220113C */ cpu->r[1] = _t0;
|
|
/* 02201140 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02201140 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02201144 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02201144 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02201148 */ _t3 = cpu->r[3] + 0x00000004u;
|
|
/* 02201148 */ cpu->r[12] = rbrew_read32(cpu->mem, _t3);
|
|
/* 0220114C */ _t4 = cpu->r[12] + 0x00000474u;
|
|
/* 0220114C */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02201150 */ cpu->ctr = cpu->r[12];
|
|
/* 02201154 */ cpu->r[31] = cpu->r[3];
|
|
/* 02201158 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0220115C */ _t5 = cpu->r[31] + 0x00000198u;
|
|
/* 0220115C */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02201160 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000016u, 0x00000016u);
|
|
/* 02201160 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02201164 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02201164 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02201164 */ if (_t7) goto L_02201170; else goto L_02201168;
|
|
L_02201168: ; // 0x2201168
|
|
/* 02201168 */ _t8 = cpu->r[3] + 0x00000750u;
|
|
/* 02201168 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t8);
|
|
/* 0220116C */ goto L_02201174;
|
|
L_02201170: ; // 0x2201170
|
|
/* 02201170 */ _t9 = cpu->r[3] + 0x00000C30u;
|
|
/* 02201170 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t9);
|
|
L_02201174: ; // 0x2201174
|
|
/* 02201174 */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02201174 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02201178 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02201178 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0220117C */ cpu->lr = cpu->r[0];
|
|
/* 02201180 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02201184 */ return;
|
|
}
|
|
|
|
// fn_0220113C @ 0x220113c
|
|
void Gambit_fn_0220113C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_0220113C: ; // 0x220113c
|
|
/* 0220113C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0220113C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0220113C */ cpu->r[1] = _t0;
|
|
/* 02201140 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02201140 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02201144 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02201144 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02201148 */ _t3 = cpu->r[3] + 0x00000004u;
|
|
/* 02201148 */ cpu->r[12] = rbrew_read32(cpu->mem, _t3);
|
|
/* 0220114C */ _t4 = cpu->r[12] + 0x00000474u;
|
|
/* 0220114C */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02201150 */ cpu->ctr = cpu->r[12];
|
|
/* 02201154 */ cpu->r[31] = cpu->r[3];
|
|
/* 02201158 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0220115C */ _t5 = cpu->r[31] + 0x00000198u;
|
|
/* 0220115C */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02201160 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000016u, 0x00000016u);
|
|
/* 02201160 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02201164 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02201164 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02201164 */ if (_t7) goto L_02201170; else goto L_02201168;
|
|
L_02201168: ; // 0x2201168
|
|
/* 02201168 */ _t8 = cpu->r[3] + 0x00000750u;
|
|
/* 02201168 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t8);
|
|
/* 0220116C */ goto L_02201174;
|
|
L_02201170: ; // 0x2201170
|
|
/* 02201170 */ _t9 = cpu->r[3] + 0x00000C30u;
|
|
/* 02201170 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t9);
|
|
L_02201174: ; // 0x2201174
|
|
/* 02201174 */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02201174 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02201178 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02201178 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0220117C */ cpu->lr = cpu->r[0];
|
|
/* 02201180 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02201184 */ return;
|
|
}
|
|
|
|
// fn_02201188 @ 0x2201188
|
|
void Gambit_fn_02201188(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_02201188: ; // 0x2201188
|
|
/* 02201188 */ cpu->r[0] = cpu->lr;
|
|
/* 0220118C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0220118C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0220118C */ cpu->r[1] = _t0;
|
|
/* 02201190 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02201190 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02201194 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02201194 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02201198 */ _t3 = cpu->r[3] + 0x00000004u;
|
|
/* 02201198 */ cpu->r[12] = rbrew_read32(cpu->mem, _t3);
|
|
/* 0220119C */ _t4 = cpu->r[12] + 0x00000474u;
|
|
/* 0220119C */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 022011A0 */ cpu->ctr = cpu->r[12];
|
|
/* 022011A4 */ cpu->r[31] = cpu->r[3];
|
|
/* 022011A8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 022011AC */ _t5 = cpu->r[31] + 0x00000198u;
|
|
/* 022011AC */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 022011B0 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000016u, 0x00000016u);
|
|
/* 022011B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 022011B4 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 022011B4 */ _t7 = _t6 & 0x00000001u;
|
|
/* 022011B4 */ if (_t7) goto L_022011C0; else goto L_022011B8;
|
|
L_022011B8: ; // 0x22011b8
|
|
/* 022011B8 */ _t8 = cpu->r[3] + 0x000008D0u;
|
|
/* 022011B8 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t8);
|
|
/* 022011BC */ goto L_022011C4;
|
|
L_022011C0: ; // 0x22011c0
|
|
/* 022011C0 */ _t9 = cpu->r[3] + 0x00000DB0u;
|
|
/* 022011C0 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t9);
|
|
L_022011C4: ; // 0x22011c4
|
|
/* 022011C4 */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 022011C4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 022011C8 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 022011C8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 022011CC */ cpu->lr = cpu->r[0];
|
|
/* 022011D0 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 022011D4 */ return;
|
|
}
|
|
|
|
// fn_0220118C @ 0x220118c
|
|
void Gambit_fn_0220118C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_0220118C: ; // 0x220118c
|
|
/* 0220118C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0220118C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0220118C */ cpu->r[1] = _t0;
|
|
/* 02201190 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02201190 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02201194 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02201194 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02201198 */ _t3 = cpu->r[3] + 0x00000004u;
|
|
/* 02201198 */ cpu->r[12] = rbrew_read32(cpu->mem, _t3);
|
|
/* 0220119C */ _t4 = cpu->r[12] + 0x00000474u;
|
|
/* 0220119C */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 022011A0 */ cpu->ctr = cpu->r[12];
|
|
/* 022011A4 */ cpu->r[31] = cpu->r[3];
|
|
/* 022011A8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 022011AC */ _t5 = cpu->r[31] + 0x00000198u;
|
|
/* 022011AC */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 022011B0 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000016u, 0x00000016u);
|
|
/* 022011B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 022011B4 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 022011B4 */ _t7 = _t6 & 0x00000001u;
|
|
/* 022011B4 */ if (_t7) goto L_022011C0; else goto L_022011B8;
|
|
L_022011B8: ; // 0x22011b8
|
|
/* 022011B8 */ _t8 = cpu->r[3] + 0x000008D0u;
|
|
/* 022011B8 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t8);
|
|
/* 022011BC */ goto L_022011C4;
|
|
L_022011C0: ; // 0x22011c0
|
|
/* 022011C0 */ _t9 = cpu->r[3] + 0x00000DB0u;
|
|
/* 022011C0 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t9);
|
|
L_022011C4: ; // 0x22011c4
|
|
/* 022011C4 */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 022011C4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 022011C8 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 022011C8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 022011CC */ cpu->lr = cpu->r[0];
|
|
/* 022011D0 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 022011D4 */ return;
|
|
}
|
|
|
|
// fn_022011D8 @ 0x22011d8
|
|
void Gambit_fn_022011D8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_022011D8: ; // 0x22011d8
|
|
/* 022011D8 */ cpu->r[0] = cpu->lr;
|
|
/* 022011DC */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 022011DC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 022011DC */ cpu->r[1] = _t0;
|
|
/* 022011E0 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 022011E0 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 022011E4 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 022011E4 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 022011E8 */ _t3 = cpu->r[3] + 0x00000004u;
|
|
/* 022011E8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t3);
|
|
/* 022011EC */ _t4 = cpu->r[12] + 0x00000474u;
|
|
/* 022011EC */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 022011F0 */ cpu->ctr = cpu->r[12];
|
|
/* 022011F4 */ cpu->r[31] = cpu->r[3];
|
|
/* 022011F8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 022011FC */ _t5 = cpu->r[31] + 0x00000198u;
|
|
/* 022011FC */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02201200 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000016u, 0x00000016u);
|
|
/* 02201200 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02201204 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02201204 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02201204 */ if (_t7) goto L_02201210; else goto L_02201208;
|
|
L_02201208: ; // 0x2201208
|
|
/* 02201208 */ _t8 = cpu->r[3] + 0x00000870u;
|
|
/* 02201208 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t8);
|
|
/* 0220120C */ goto L_02201214;
|
|
L_02201210: ; // 0x2201210
|
|
/* 02201210 */ _t9 = cpu->r[3] + 0x00000D50u;
|
|
/* 02201210 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t9);
|
|
L_02201214: ; // 0x2201214
|
|
/* 02201214 */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02201214 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02201218 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02201218 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0220121C */ cpu->lr = cpu->r[0];
|
|
/* 02201220 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02201224 */ return;
|
|
}
|
|
|
|
// fn_022011DC @ 0x22011dc
|
|
void Gambit_fn_022011DC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_022011DC: ; // 0x22011dc
|
|
/* 022011DC */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 022011DC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 022011DC */ cpu->r[1] = _t0;
|
|
/* 022011E0 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 022011E0 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 022011E4 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 022011E4 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 022011E8 */ _t3 = cpu->r[3] + 0x00000004u;
|
|
/* 022011E8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t3);
|
|
/* 022011EC */ _t4 = cpu->r[12] + 0x00000474u;
|
|
/* 022011EC */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 022011F0 */ cpu->ctr = cpu->r[12];
|
|
/* 022011F4 */ cpu->r[31] = cpu->r[3];
|
|
/* 022011F8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 022011FC */ _t5 = cpu->r[31] + 0x00000198u;
|
|
/* 022011FC */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02201200 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000016u, 0x00000016u);
|
|
/* 02201200 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02201204 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02201204 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02201204 */ if (_t7) goto L_02201210; else goto L_02201208;
|
|
L_02201208: ; // 0x2201208
|
|
/* 02201208 */ _t8 = cpu->r[3] + 0x00000870u;
|
|
/* 02201208 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t8);
|
|
/* 0220120C */ goto L_02201214;
|
|
L_02201210: ; // 0x2201210
|
|
/* 02201210 */ _t9 = cpu->r[3] + 0x00000D50u;
|
|
/* 02201210 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t9);
|
|
L_02201214: ; // 0x2201214
|
|
/* 02201214 */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02201214 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02201218 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02201218 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0220121C */ cpu->lr = cpu->r[0];
|
|
/* 02201220 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02201224 */ return;
|
|
}
|
|
|
|
// fn_02201228 @ 0x2201228
|
|
void Gambit_fn_02201228(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40;
|
|
|
|
L_02201228: ; // 0x2201228
|
|
/* 02201228 */ _t0 = cpu->r[1] + 0xFFFFFFC0u;
|
|
/* 02201228 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02201228 */ cpu->r[1] = _t0;
|
|
/* 0220122C */ cpu->r[0] = cpu->lr;
|
|
/* 02201230 */ _t1 = cpu->r[1] + 0x00000020u;
|
|
/* 02201230 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[30]);
|
|
/* 02201234 */ /* nop */
|
|
/* 02201238 */ _t2 = cpu->r[1] + 0x00000030u;
|
|
/* 02201238 */ rbrew_write_f64(cpu->mem, _t2, cpu->f[31]);
|
|
/* 0220123C */ _t3 = cpu->r[1] + 0x00000010u;
|
|
/* 0220123C */ rbrew_write_f64(cpu->mem, _t3, cpu->f[29]);
|
|
/* 02201240 */ /* nop */
|
|
/* 02201244 */ _t4 = cpu->r[1] + 0x00000028u;
|
|
/* 02201244 */ rbrew_write_f32(cpu->mem, _t4, cpu->f[30]);
|
|
/* 02201248 */ /* nop */
|
|
/* 0220124C */ _t5 = cpu->r[1] + 0x00000038u;
|
|
/* 0220124C */ rbrew_write_f32(cpu->mem, _t5, cpu->f[31]);
|
|
/* 02201250 */ _t6 = cpu->r[1] + 0x00000008u;
|
|
/* 02201250 */ rbrew_write32(cpu->mem, _t6, cpu->r[30]);
|
|
/* 02201254 */ _t7 = cpu->r[1] + 0x00000044u;
|
|
/* 02201254 */ rbrew_write32(cpu->mem, _t7, cpu->r[0]);
|
|
/* 02201258 */ _t8 = cpu->r[1] + 0x00000018u;
|
|
/* 02201258 */ rbrew_write_f32(cpu->mem, _t8, cpu->f[29]);
|
|
/* 0220125C */ cpu->r[30] = cpu->r[3];
|
|
/* 02201260 */ _t9 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02201260 */ rbrew_write32(cpu->mem, _t9, cpu->r[31]);
|
|
/* 02201264 */ _t10 = cpu->r[5] + 0x00000000u;
|
|
/* 02201264 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02201268 */ _t11 = cpu->r[30] + 0x0000002Cu;
|
|
/* 02201268 */ cpu->r[9] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0220126C */ cpu->r[31] = cpu->r[4];
|
|
/* 02201270 */ cpu->r[11] = 0x10040000u;
|
|
/* 02201274 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[9]);
|
|
/* 02201278 */ _t12 = cpu->r[11] + 0xFFFFE510u;
|
|
/* 02201278 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t12);
|
|
/* 0220127C */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0220127C */ _t14 = _t13 & 0x00000001u;
|
|
/* 0220127C */ if (_t14) goto L_02201360; else goto L_02201280;
|
|
L_02201280: ; // 0x2201280
|
|
/* 02201280 */ cpu->r[3] = cpu->r[30];
|
|
/* 02201284 */ _t15 = cpu->r[30] + 0x00000128u;
|
|
/* 02201284 */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t15);
|
|
/* 02201288 */ Gambit_fn_022010E8(cpu);
|
|
/* 0220128C */ cpu->f[29] = cpu->f[1];
|
|
/* 02201290 */ cpu->r[3] = cpu->r[30];
|
|
/* 02201294 */ Gambit_fn_02201138(cpu);
|
|
/* 02201298 */ cpu->f[12] = cpu->f[29] - cpu->f[1];
|
|
/* 0220129C */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[12], cpu->f[31]);
|
|
/* 022012A0 */ _t16 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 022012A0 */ _t17 = _t16 & 0x00000001u;
|
|
/* 022012A0 */ if (_t17) goto L_022012A4; else goto L_022012F0;
|
|
L_022012A4: ; // 0x22012a4
|
|
/* 022012A4 */ cpu->f[30] = cpu->f[29] - cpu->f[30];
|
|
/* 022012A8 */ cpu->r[3] = cpu->r[30];
|
|
/* 022012AC */ Gambit_fn_02201138(cpu);
|
|
/* 022012B0 */ cpu->f[13] = cpu->f[29] - cpu->f[1];
|
|
/* 022012B4 */ cpu->f[30] = cpu->f[30] / cpu->f[13];
|
|
/* 022012B8 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[30], cpu->f[31]);
|
|
/* 022012BC */ _t18 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 022012BC */ _t19 = _t18 & 0x00000001u;
|
|
/* 022012BC */ if (_t19) goto L_022012E0; else goto L_022012C0;
|
|
L_022012C0: ; // 0x22012c0
|
|
/* 022012C0 */ cpu->r[3] = cpu->r[30];
|
|
/* 022012C4 */ Gambit_fn_022011D8(cpu);
|
|
/* 022012C8 */ cpu->r[3] = cpu->r[31];
|
|
/* 022012CC */ cpu->f[31] = cpu->f[1];
|
|
/* 022012D0 */ Gambit_fn_021BCFBC(cpu);
|
|
/* 022012D4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 022012D8 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 022012D8 */ _t21 = _t20 & 0x00000001u;
|
|
/* 022012D8 */ if (_t21) goto L_02201360; else goto L_022012DC;
|
|
L_022012DC: ; // 0x22012dc
|
|
/* 022012DC */ goto L_02201354;
|
|
L_022012E0: ; // 0x22012e0
|
|
/* 022012E0 */ cpu->r[10] = 0x10040000u;
|
|
/* 022012E4 */ _t22 = cpu->r[10] + 0xFFFFE51Cu;
|
|
/* 022012E4 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t22);
|
|
/* 022012E8 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[30], cpu->f[13]);
|
|
/* 022012EC */ _t23 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 022012EC */ _t24 = _t23 & 0x00000001u;
|
|
/* 022012EC */ if (_t24) goto L_02201310; else goto L_022012F0;
|
|
L_022012F0: ; // 0x22012f0
|
|
/* 022012F0 */ cpu->r[3] = cpu->r[30];
|
|
/* 022012F4 */ Gambit_fn_021FF2A0(cpu);
|
|
/* 022012F8 */ cpu->r[3] = cpu->r[31];
|
|
/* 022012FC */ cpu->f[31] = cpu->f[1];
|
|
/* 02201300 */ Gambit_fn_021BCFBC(cpu);
|
|
/* 02201304 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02201308 */ _t25 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02201308 */ _t26 = _t25 & 0x00000001u;
|
|
/* 02201308 */ if (_t26) goto L_02201360; else goto L_0220130C;
|
|
L_0220130C: ; // 0x220130c
|
|
/* 0220130C */ goto L_02201354;
|
|
L_02201310: ; // 0x2201310
|
|
/* 02201310 */ cpu->r[3] = cpu->r[30];
|
|
/* 02201314 */ Gambit_fn_02201188(cpu);
|
|
/* 02201318 */ cpu->f[2] = cpu->f[1];
|
|
/* 0220131C */ cpu->f[1] = cpu->f[30];
|
|
/* 02201320 */ Gambit_fn_02C88860(cpu);
|
|
/* 02201324 */ cpu->f[30] = cpu->f[1];
|
|
/* 02201328 */ cpu->r[3] = cpu->r[30];
|
|
/* 0220132C */ Gambit_fn_022011D8(cpu);
|
|
/* 02201330 */ cpu->f[31] = cpu->f[1];
|
|
/* 02201334 */ cpu->r[3] = cpu->r[30];
|
|
/* 02201338 */ Gambit_fn_021FF2A0(cpu);
|
|
/* 0220133C */ cpu->f[0] = cpu->f[1] - cpu->f[31];
|
|
/* 02201340 */ cpu->r[3] = cpu->r[31];
|
|
/* 02201344 */ cpu->f[31] = fma(cpu->f[0], cpu->f[30], cpu->f[31]);
|
|
/* 02201348 */ Gambit_fn_021BCFBC(cpu);
|
|
/* 0220134C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02201350 */ _t27 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02201350 */ _t28 = _t27 & 0x00000001u;
|
|
/* 02201350 */ if (_t28) goto L_02201360; else goto L_02201354;
|
|
L_02201354: ; // 0x2201354
|
|
/* 02201354 */ cpu->r[12] = 0x10040000u;
|
|
/* 02201358 */ _t29 = cpu->r[12] + 0xFFFFE580u;
|
|
/* 02201358 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t29);
|
|
/* 0220135C */ cpu->f[31] = cpu->f[31] * cpu->f[0];
|
|
L_02201360: ; // 0x2201360
|
|
/* 02201360 */ _t30 = cpu->r[1] + 0x00000008u;
|
|
/* 02201360 */ cpu->r[30] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02201364 */ cpu->f[1] = cpu->f[31];
|
|
/* 02201368 */ _t31 = cpu->r[1] + 0x00000038u;
|
|
/* 02201368 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t31);
|
|
/* 0220136C */ _t32 = cpu->r[1] + 0x00000028u;
|
|
/* 0220136C */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t32);
|
|
/* 02201370 */ _t33 = cpu->r[1] + 0x00000030u;
|
|
/* 02201370 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t33);
|
|
/* 02201374 */ _t34 = cpu->r[1] + 0x00000018u;
|
|
/* 02201374 */ cpu->f[29] = rbrew_read_f32(cpu->mem, _t34);
|
|
/* 02201378 */ _t35 = cpu->r[1] + 0x00000020u;
|
|
/* 02201378 */ cpu->f[30] = rbrew_read_f64(cpu->mem, _t35);
|
|
/* 0220137C */ _t36 = cpu->r[1] + 0x00000010u;
|
|
/* 0220137C */ cpu->f[29] = rbrew_read_f64(cpu->mem, _t36);
|
|
/* 02201380 */ _t37 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02201380 */ cpu->r[31] = rbrew_read32(cpu->mem, _t37);
|
|
/* 02201384 */ _t38 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02201384 */ _t39 = _t38 & 0x00000001u;
|
|
/* 02201384 */ if (_t39) goto L_02201388; // else: addr-0 trap, fall-through
|
|
L_02201388: ; // 0x2201388
|
|
/* 02201388 */ _t40 = cpu->r[1] + 0x00000044u;
|
|
/* 02201388 */ cpu->r[0] = rbrew_read32(cpu->mem, _t40);
|
|
/* 0220138C */ cpu->lr = cpu->r[0];
|
|
/* 02201390 */ cpu->r[1] = cpu->r[1] + 0x00000040u;
|
|
/* 02201394 */ return;
|
|
}
|
|
|
|
// fn_02201398 @ 0x2201398
|
|
void Gambit_fn_02201398(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t18, _t19, _t20;
|
|
double _ft16, _ft17;
|
|
|
|
L_02201398: ; // 0x2201398
|
|
/* 02201398 */ cpu->r[0] = cpu->lr;
|
|
/* 0220139C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0220139C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0220139C */ cpu->r[1] = _t0;
|
|
/* 022013A0 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 022013A0 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 022013A4 */ cpu->r[30] = cpu->r[3];
|
|
/* 022013A8 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 022013A8 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 022013AC */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 022013AC */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 022013B0 */ _t4 = cpu->r[30] + 0x00000054u;
|
|
/* 022013B0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t4);
|
|
/* 022013B4 */ Gambit_fn_027E3E40(cpu);
|
|
/* 022013B8 */ _t5 = cpu->r[30] + 0x00000004u;
|
|
/* 022013B8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t5);
|
|
/* 022013BC */ _t6 = cpu->r[11] + 0x00000254u;
|
|
/* 022013BC */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 022013C0 */ cpu->r[31] = cpu->r[3] + 0x00000244u;
|
|
/* 022013C4 */ cpu->ctr = cpu->r[0];
|
|
/* 022013C8 */ cpu->r[3] = cpu->r[30];
|
|
/* 022013CC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 022013D0 */ _t7 = cpu->r[31] + 0x00000008u;
|
|
/* 022013D0 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t7);
|
|
/* 022013D4 */ _t8 = cpu->r[3] + 0x00000008u;
|
|
/* 022013D4 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t8);
|
|
/* 022013D8 */ _t9 = cpu->r[3] + 0x00000000u;
|
|
/* 022013D8 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t9);
|
|
/* 022013DC */ cpu->f[13] = cpu->f[0] - cpu->f[10];
|
|
/* 022013E0 */ _t10 = cpu->r[31] + 0x00000000u;
|
|
/* 022013E0 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t10);
|
|
/* 022013E4 */ cpu->f[11] = cpu->f[11] - cpu->f[12];
|
|
/* 022013E8 */ cpu->f[12] = cpu->f[13] * cpu->f[13];
|
|
/* 022013EC */ cpu->r[10] = 0x10040000u;
|
|
/* 022013F0 */ cpu->f[9] = fma(cpu->f[11], cpu->f[11], cpu->f[12]);
|
|
/* 022013F4 */ _t11 = cpu->r[10] + 0xFFFFE510u;
|
|
/* 022013F4 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t11);
|
|
/* 022013F8 */ cpu->r[12] = 0x10040000u;
|
|
/* 022013FC */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[9], cpu->f[0]);
|
|
/* 02201400 */ _t12 = cpu->r[12] + 0xFFFFE514u;
|
|
/* 02201400 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t12);
|
|
/* 02201404 */ _t13 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02201404 */ _t14 = _t13 & 0x00000001u;
|
|
/* 02201404 */ if (_t14) goto L_02201408; else goto L_02201424;
|
|
L_02201408: ; // 0x2201408
|
|
/* 02201408 */ cpu->r[12] = 0x10040000u;
|
|
/* 0220140C */ _t15 = cpu->r[12] + 0xFFFFE524u;
|
|
/* 0220140C */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t15);
|
|
/* 02201410 */ _ft16 = sqrt(cpu->f[9]);
|
|
/* 02201410 */ _ft17 = (double)(int32_t)0x00000001u;
|
|
/* 02201410 */ cpu->f[0] = _ft17 / _ft16;
|
|
/* 02201414 */ cpu->f[10] = cpu->f[0] * cpu->f[0];
|
|
/* 02201418 */ cpu->f[11] = cpu->f[0] * cpu->f[12];
|
|
/* 0220141C */ cpu->f[10] = -fma(cpu->f[10], cpu->f[9], -(cpu->f[13]));
|
|
/* 02201420 */ cpu->f[0] = cpu->f[10] * cpu->f[11];
|
|
L_02201424: ; // 0x2201424
|
|
/* 02201424 */ _t18 = cpu->r[1] + 0x00000014u;
|
|
/* 02201424 */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02201428 */ cpu->f[0] = cpu->f[0] * cpu->f[9];
|
|
/* 0220142C */ _t19 = cpu->r[1] + 0x00000008u;
|
|
/* 0220142C */ cpu->r[30] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02201430 */ cpu->lr = cpu->r[0];
|
|
/* 02201434 */ _t20 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02201434 */ cpu->r[31] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02201438 */ cpu->f[1] = cpu->f[0] * cpu->f[12];
|
|
/* 0220143C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02201440 */ return;
|
|
}
|
|
|
|
// fn_0220139C @ 0x220139c
|
|
void Gambit_fn_0220139C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t18, _t19, _t20;
|
|
double _ft16, _ft17;
|
|
|
|
L_0220139C: ; // 0x220139c
|
|
/* 0220139C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0220139C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0220139C */ cpu->r[1] = _t0;
|
|
/* 022013A0 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 022013A0 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 022013A4 */ cpu->r[30] = cpu->r[3];
|
|
/* 022013A8 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 022013A8 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 022013AC */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 022013AC */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 022013B0 */ _t4 = cpu->r[30] + 0x00000054u;
|
|
/* 022013B0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t4);
|
|
/* 022013B4 */ Gambit_fn_027E3E40(cpu);
|
|
/* 022013B8 */ _t5 = cpu->r[30] + 0x00000004u;
|
|
/* 022013B8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t5);
|
|
/* 022013BC */ _t6 = cpu->r[11] + 0x00000254u;
|
|
/* 022013BC */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 022013C0 */ cpu->r[31] = cpu->r[3] + 0x00000244u;
|
|
/* 022013C4 */ cpu->ctr = cpu->r[0];
|
|
/* 022013C8 */ cpu->r[3] = cpu->r[30];
|
|
/* 022013CC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 022013D0 */ _t7 = cpu->r[31] + 0x00000008u;
|
|
/* 022013D0 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t7);
|
|
/* 022013D4 */ _t8 = cpu->r[3] + 0x00000008u;
|
|
/* 022013D4 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t8);
|
|
/* 022013D8 */ _t9 = cpu->r[3] + 0x00000000u;
|
|
/* 022013D8 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t9);
|
|
/* 022013DC */ cpu->f[13] = cpu->f[0] - cpu->f[10];
|
|
/* 022013E0 */ _t10 = cpu->r[31] + 0x00000000u;
|
|
/* 022013E0 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t10);
|
|
/* 022013E4 */ cpu->f[11] = cpu->f[11] - cpu->f[12];
|
|
/* 022013E8 */ cpu->f[12] = cpu->f[13] * cpu->f[13];
|
|
/* 022013EC */ cpu->r[10] = 0x10040000u;
|
|
/* 022013F0 */ cpu->f[9] = fma(cpu->f[11], cpu->f[11], cpu->f[12]);
|
|
/* 022013F4 */ _t11 = cpu->r[10] + 0xFFFFE510u;
|
|
/* 022013F4 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t11);
|
|
/* 022013F8 */ cpu->r[12] = 0x10040000u;
|
|
/* 022013FC */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[9], cpu->f[0]);
|
|
/* 02201400 */ _t12 = cpu->r[12] + 0xFFFFE514u;
|
|
/* 02201400 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t12);
|
|
/* 02201404 */ _t13 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02201404 */ _t14 = _t13 & 0x00000001u;
|
|
/* 02201404 */ if (_t14) goto L_02201408; else goto L_02201424;
|
|
L_02201408: ; // 0x2201408
|
|
/* 02201408 */ cpu->r[12] = 0x10040000u;
|
|
/* 0220140C */ _t15 = cpu->r[12] + 0xFFFFE524u;
|
|
/* 0220140C */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t15);
|
|
/* 02201410 */ _ft16 = sqrt(cpu->f[9]);
|
|
/* 02201410 */ _ft17 = (double)(int32_t)0x00000001u;
|
|
/* 02201410 */ cpu->f[0] = _ft17 / _ft16;
|
|
/* 02201414 */ cpu->f[10] = cpu->f[0] * cpu->f[0];
|
|
/* 02201418 */ cpu->f[11] = cpu->f[0] * cpu->f[12];
|
|
/* 0220141C */ cpu->f[10] = -fma(cpu->f[10], cpu->f[9], -(cpu->f[13]));
|
|
/* 02201420 */ cpu->f[0] = cpu->f[10] * cpu->f[11];
|
|
L_02201424: ; // 0x2201424
|
|
/* 02201424 */ _t18 = cpu->r[1] + 0x00000014u;
|
|
/* 02201424 */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02201428 */ cpu->f[0] = cpu->f[0] * cpu->f[9];
|
|
/* 0220142C */ _t19 = cpu->r[1] + 0x00000008u;
|
|
/* 0220142C */ cpu->r[30] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02201430 */ cpu->lr = cpu->r[0];
|
|
/* 02201434 */ _t20 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02201434 */ cpu->r[31] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02201438 */ cpu->f[1] = cpu->f[0] * cpu->f[12];
|
|
/* 0220143C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02201440 */ return;
|
|
}
|
|
|
|
// fn_02201444 @ 0x2201444
|
|
void Gambit_fn_02201444(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69, _t70, _t71, _t72, _t75, _t76, _t77, _t78, _t79, _t80, _t81, _t82, _t83, _t84, _t85, _t86, _t87, _t88, _t89, _t90, _t91, _t92;
|
|
double _ft24, _ft25, _ft73, _ft74;
|
|
|
|
L_02201444: ; // 0x2201444
|
|
/* 02201444 */ _t0 = cpu->r[1] + 0xFFFFFF98u;
|
|
/* 02201444 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02201444 */ cpu->r[1] = _t0;
|
|
/* 02201448 */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 02201448 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0220144C */ cpu->r[0] = cpu->lr;
|
|
/* 02201450 */ _t2 = cpu->r[1] + 0x00000038u;
|
|
/* 02201450 */ rbrew_write_f64(cpu->mem, _t2, cpu->f[29]);
|
|
/* 02201454 */ /* nop */
|
|
/* 02201458 */ _t3 = cpu->r[1] + 0x00000018u;
|
|
/* 02201458 */ rbrew_write_f64(cpu->mem, _t3, cpu->f[27]);
|
|
/* 0220145C */ _t4 = cpu->r[1] + 0x00000048u;
|
|
/* 0220145C */ rbrew_write_f64(cpu->mem, _t4, cpu->f[30]);
|
|
/* 02201460 */ /* nop */
|
|
/* 02201464 */ _t5 = cpu->r[1] + 0x00000058u;
|
|
/* 02201464 */ rbrew_write_f64(cpu->mem, _t5, cpu->f[31]);
|
|
/* 02201468 */ _t6 = cpu->r[1] + 0x00000020u;
|
|
/* 02201468 */ rbrew_write_f32(cpu->mem, _t6, cpu->f[27]);
|
|
/* 0220146C */ _t7 = cpu->r[1] + 0x00000028u;
|
|
/* 0220146C */ rbrew_write_f64(cpu->mem, _t7, cpu->f[28]);
|
|
/* 02201470 */ _t8 = cpu->r[1] + 0x0000006Cu;
|
|
/* 02201470 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
/* 02201474 */ /* nop */
|
|
/* 02201478 */ _t9 = cpu->r[1] + 0x00000040u;
|
|
/* 02201478 */ rbrew_write_f32(cpu->mem, _t9, cpu->f[29]);
|
|
/* 0220147C */ /* nop */
|
|
/* 02201480 */ _t10 = cpu->r[1] + 0x00000050u;
|
|
/* 02201480 */ rbrew_write_f32(cpu->mem, _t10, cpu->f[30]);
|
|
/* 02201484 */ /* nop */
|
|
/* 02201488 */ _t11 = cpu->r[1] + 0x00000030u;
|
|
/* 02201488 */ rbrew_write_f32(cpu->mem, _t11, cpu->f[28]);
|
|
/* 0220148C */ _t12 = cpu->r[1] + 0x00000060u;
|
|
/* 0220148C */ rbrew_write_f32(cpu->mem, _t12, cpu->f[31]);
|
|
/* 02201490 */ _t13 = cpu->r[5] + 0x00000008u;
|
|
/* 02201490 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t13);
|
|
/* 02201494 */ cpu->r[11] = 0x10040000u;
|
|
/* 02201498 */ _t14 = cpu->r[11] + 0xFFFFE510u;
|
|
/* 02201498 */ cpu->f[28] = rbrew_read_f32(cpu->mem, _t14);
|
|
/* 0220149C */ cpu->f[10] = cpu->f[11] * cpu->f[11];
|
|
/* 022014A0 */ _t15 = cpu->r[5] + 0x00000000u;
|
|
/* 022014A0 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t15);
|
|
/* 022014A4 */ cpu->r[11] = 0x10040000u;
|
|
/* 022014A8 */ _t16 = cpu->r[1] + 0x0000000Cu;
|
|
/* 022014A8 */ rbrew_write_f32(cpu->mem, _t16, cpu->f[11]);
|
|
/* 022014AC */ cpu->f[13] = fma(cpu->f[12], cpu->f[12], cpu->f[10]);
|
|
/* 022014B0 */ _t17 = cpu->r[11] + 0xFFFFE514u;
|
|
/* 022014B0 */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t17);
|
|
/* 022014B4 */ _t18 = cpu->r[1] + 0x00000008u;
|
|
/* 022014B4 */ rbrew_write_f32(cpu->mem, _t18, cpu->f[12]);
|
|
/* 022014B8 */ cpu->r[12] = 0x10040000u;
|
|
/* 022014BC */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[13], cpu->f[28]);
|
|
/* 022014C0 */ _t19 = cpu->r[12] + 0xFFFFE524u;
|
|
/* 022014C0 */ cpu->f[29] = rbrew_read_f32(cpu->mem, _t19);
|
|
/* 022014C4 */ cpu->r[31] = cpu->r[4];
|
|
/* 022014C8 */ _t20 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 022014C8 */ _t21 = _t20 & 0x00000001u;
|
|
/* 022014C8 */ if (_t21) goto L_022014DC; else goto L_022014CC;
|
|
L_022014CC: ; // 0x22014cc
|
|
/* 022014CC */ cpu->f[10] = cpu->f[28] * cpu->f[13];
|
|
/* 022014D0 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[10], cpu->f[28]);
|
|
/* 022014D4 */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 022014D4 */ _t23 = _t22 & 0x00000001u;
|
|
/* 022014D4 */ if (_t23) goto L_022014D8; else goto L_022014FC;
|
|
L_022014D8: ; // 0x22014d8
|
|
/* 022014D8 */ goto L_02201684;
|
|
L_022014DC: ; // 0x22014dc
|
|
/* 022014DC */ _ft24 = sqrt(cpu->f[13]);
|
|
/* 022014DC */ _ft25 = (double)(int32_t)0x00000001u;
|
|
/* 022014DC */ cpu->f[0] = _ft25 / _ft24;
|
|
/* 022014E0 */ cpu->f[10] = cpu->f[0] * cpu->f[0];
|
|
/* 022014E4 */ cpu->f[12] = cpu->f[0] * cpu->f[30];
|
|
/* 022014E8 */ cpu->f[10] = -fma(cpu->f[10], cpu->f[13], -(cpu->f[29]));
|
|
/* 022014EC */ cpu->f[0] = cpu->f[10] * cpu->f[12];
|
|
/* 022014F0 */ cpu->f[10] = cpu->f[0] * cpu->f[13];
|
|
/* 022014F4 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[10], cpu->f[28]);
|
|
/* 022014F8 */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 022014F8 */ _t27 = _t26 & 0x00000001u;
|
|
/* 022014F8 */ if (_t27) goto L_02201684; else goto L_022014FC;
|
|
L_022014FC: ; // 0x22014fc
|
|
/* 022014FC */ cpu->r[11] = 0x10040000u;
|
|
/* 02201500 */ _t28 = cpu->r[11] + 0xFFFFE584u;
|
|
/* 02201500 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t28);
|
|
/* 02201504 */ cpu->r[12] = 0x10040000u;
|
|
/* 02201508 */ cpu->f[12] = cpu->f[10] - cpu->f[11];
|
|
/* 0220150C */ _t29 = cpu->r[12] + 0xFFFFE588u;
|
|
/* 0220150C */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t29);
|
|
/* 02201510 */ cpu->f[8] = cpu->f[12] / cpu->f[9];
|
|
/* 02201514 */ cpu->r[12] = 0x10040000u;
|
|
/* 02201518 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[8], cpu->f[28]);
|
|
/* 0220151C */ _t30 = cpu->r[12] + 0xFFFFE51Cu;
|
|
/* 0220151C */ cpu->f[27] = rbrew_read_f32(cpu->mem, _t30);
|
|
/* 02201520 */ _t31 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02201520 */ _t32 = _t31 & 0x00000001u;
|
|
/* 02201520 */ if (_t32) goto L_02201564; else goto L_02201524;
|
|
L_02201524: ; // 0x2201524
|
|
/* 02201524 */ _t33 = cpu->r[5] + 0x00000004u;
|
|
/* 02201524 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t33);
|
|
/* 02201528 */ cpu->f[0] = fabs(cpu->f[8]);
|
|
/* 0220152C */ cpu->f[31] = cpu->f[27];
|
|
/* 02201530 */ cpu->f[1] = cpu->f[0] / cpu->f[10];
|
|
/* 02201534 */ Gambit_fn_02C89110(cpu);
|
|
/* 02201538 */ cpu->r[12] = 0x10040000u;
|
|
/* 0220153C */ _t34 = cpu->r[12] + 0xFFFFE594u;
|
|
/* 0220153C */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t34);
|
|
/* 02201540 */ cpu->r[12] = 0x10040000u;
|
|
/* 02201544 */ _t35 = cpu->r[12] + 0xFFFFE598u;
|
|
/* 02201544 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t35);
|
|
/* 02201548 */ cpu->r[12] = 0x10040000u;
|
|
/* 0220154C */ cpu->f[9] = fma(cpu->f[1], cpu->f[13], -(cpu->f[12]));
|
|
/* 02201550 */ _t36 = cpu->r[12] + 0xFFFFE59Cu;
|
|
/* 02201550 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t36);
|
|
/* 02201554 */ cpu->f[9] = cpu->f[9] / cpu->f[10];
|
|
/* 02201558 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[9], cpu->f[28]);
|
|
/* 0220155C */ _t37 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0220155C */ _t38 = _t37 & 0x00000001u;
|
|
/* 0220155C */ if (_t38) goto L_02201560; else goto L_022015F4;
|
|
L_02201560: ; // 0x2201560
|
|
/* 02201560 */ goto L_0220160C;
|
|
L_02201564: ; // 0x2201564
|
|
/* 02201564 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[8], cpu->f[27]);
|
|
/* 02201568 */ _t39 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02201568 */ _t40 = _t39 & 0x00000001u;
|
|
/* 02201568 */ if (_t40) goto L_022015B0; else goto L_0220156C;
|
|
L_0220156C: ; // 0x220156c
|
|
/* 0220156C */ _t41 = cpu->r[5] + 0x00000004u;
|
|
/* 0220156C */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t41);
|
|
/* 02201570 */ cpu->f[0] = fabs(cpu->f[8]);
|
|
/* 02201574 */ cpu->r[12] = 0x10040000u;
|
|
/* 02201578 */ cpu->f[1] = cpu->f[0] / cpu->f[10];
|
|
/* 0220157C */ _t42 = cpu->r[12] + 0xFFFFE58Cu;
|
|
/* 0220157C */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t42);
|
|
/* 02201580 */ Gambit_fn_02C89110(cpu);
|
|
/* 02201584 */ cpu->r[12] = 0x10040000u;
|
|
/* 02201588 */ _t43 = cpu->r[12] + 0xFFFFE594u;
|
|
/* 02201588 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t43);
|
|
/* 0220158C */ cpu->r[12] = 0x10040000u;
|
|
/* 02201590 */ _t44 = cpu->r[12] + 0xFFFFE598u;
|
|
/* 02201590 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t44);
|
|
/* 02201594 */ cpu->r[12] = 0x10040000u;
|
|
/* 02201598 */ cpu->f[9] = fma(cpu->f[1], cpu->f[13], -(cpu->f[12]));
|
|
/* 0220159C */ _t45 = cpu->r[12] + 0xFFFFE59Cu;
|
|
/* 0220159C */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t45);
|
|
/* 022015A0 */ cpu->f[9] = cpu->f[9] / cpu->f[10];
|
|
/* 022015A4 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[9], cpu->f[28]);
|
|
/* 022015A8 */ _t46 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 022015A8 */ _t47 = _t46 & 0x00000001u;
|
|
/* 022015A8 */ if (_t47) goto L_022015AC; else goto L_022015F4;
|
|
L_022015AC: ; // 0x22015ac
|
|
/* 022015AC */ goto L_0220160C;
|
|
L_022015B0: ; // 0x22015b0
|
|
/* 022015B0 */ cpu->r[12] = 0x10040000u;
|
|
/* 022015B4 */ _t48 = cpu->r[12] + 0xFFFFE590u;
|
|
/* 022015B4 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t48);
|
|
/* 022015B8 */ cpu->f[31] = fma(cpu->f[13], cpu->f[8], cpu->f[27]);
|
|
/* 022015BC */ _t49 = cpu->r[5] + 0x00000004u;
|
|
/* 022015BC */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t49);
|
|
/* 022015C0 */ cpu->f[0] = fabs(cpu->f[8]);
|
|
/* 022015C4 */ cpu->f[1] = cpu->f[0] / cpu->f[10];
|
|
/* 022015C8 */ Gambit_fn_02C89110(cpu);
|
|
/* 022015CC */ cpu->r[12] = 0x10040000u;
|
|
/* 022015D0 */ _t50 = cpu->r[12] + 0xFFFFE594u;
|
|
/* 022015D0 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t50);
|
|
/* 022015D4 */ cpu->r[12] = 0x10040000u;
|
|
/* 022015D8 */ _t51 = cpu->r[12] + 0xFFFFE598u;
|
|
/* 022015D8 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t51);
|
|
/* 022015DC */ cpu->r[12] = 0x10040000u;
|
|
/* 022015E0 */ cpu->f[9] = fma(cpu->f[1], cpu->f[13], -(cpu->f[12]));
|
|
/* 022015E4 */ _t52 = cpu->r[12] + 0xFFFFE59Cu;
|
|
/* 022015E4 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t52);
|
|
/* 022015E8 */ cpu->f[9] = cpu->f[9] / cpu->f[10];
|
|
/* 022015EC */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[9], cpu->f[28]);
|
|
/* 022015F0 */ _t53 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 022015F0 */ _t54 = _t53 & 0x00000001u;
|
|
/* 022015F0 */ if (_t54) goto L_0220160C; else goto L_022015F4;
|
|
L_022015F4: ; // 0x22015f4
|
|
/* 022015F4 */ cpu->f[0] = cpu->f[29];
|
|
/* 022015F8 */ _t55 = cpu->r[1] + 0x00000008u;
|
|
/* 022015F8 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t55);
|
|
/* 022015FC */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[31], cpu->f[0]);
|
|
/* 02201600 */ _t56 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02201600 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t56);
|
|
/* 02201604 */ _t57 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02201604 */ _t58 = _t57 & 0x00000001u;
|
|
/* 02201604 */ if (_t58) goto L_0220164C; else goto L_02201608;
|
|
L_02201608: ; // 0x2201608
|
|
/* 02201608 */ goto L_02201650;
|
|
L_0220160C: ; // 0x220160c
|
|
/* 0220160C */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[9], cpu->f[27]);
|
|
/* 02201610 */ _t59 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02201610 */ _t60 = _t59 & 0x00000001u;
|
|
/* 02201610 */ if (_t60) goto L_02201630; else goto L_02201614;
|
|
L_02201614: ; // 0x2201614
|
|
/* 02201614 */ cpu->r[11] = 0x10040000u;
|
|
/* 02201618 */ _t61 = cpu->r[11] + 0xFFFFE5A0u;
|
|
/* 02201618 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t61);
|
|
/* 0220161C */ _t62 = cpu->r[1] + 0x00000008u;
|
|
/* 0220161C */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t62);
|
|
/* 02201620 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[31], cpu->f[0]);
|
|
/* 02201624 */ _t63 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02201624 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t63);
|
|
/* 02201628 */ _t64 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02201628 */ _t65 = _t64 & 0x00000001u;
|
|
/* 02201628 */ if (_t65) goto L_0220164C; else goto L_0220162C;
|
|
L_0220162C: ; // 0x220162c
|
|
/* 0220162C */ goto L_02201650;
|
|
L_02201630: ; // 0x2201630
|
|
/* 02201630 */ cpu->r[11] = 0x10040000u;
|
|
/* 02201634 */ _t66 = cpu->r[11] + 0xFFFFE5A4u;
|
|
/* 02201634 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t66);
|
|
/* 02201638 */ cpu->f[0] = fma(cpu->f[8], cpu->f[9], cpu->f[29]);
|
|
/* 0220163C */ _t67 = cpu->r[1] + 0x00000008u;
|
|
/* 0220163C */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t67);
|
|
/* 02201640 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[31], cpu->f[0]);
|
|
/* 02201644 */ _t68 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02201644 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t68);
|
|
/* 02201648 */ _t69 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02201648 */ _t70 = _t69 & 0x00000001u;
|
|
/* 02201648 */ if (_t70) goto L_0220164C; else goto L_02201650;
|
|
L_0220164C: ; // 0x220164c
|
|
/* 0220164C */ cpu->f[31] = cpu->f[0];
|
|
L_02201650: ; // 0x2201650
|
|
/* 02201650 */ cpu->f[10] = cpu->f[8] * cpu->f[8];
|
|
/* 02201654 */ cpu->f[8] = fma(cpu->f[9], cpu->f[9], cpu->f[10]);
|
|
/* 02201658 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[8], cpu->f[28]);
|
|
/* 0220165C */ _t71 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0220165C */ _t72 = _t71 & 0x00000001u;
|
|
/* 0220165C */ if (_t72) goto L_02201660; else goto L_02201684;
|
|
L_02201660: ; // 0x2201660
|
|
/* 02201660 */ _ft73 = sqrt(cpu->f[8]);
|
|
/* 02201660 */ _ft74 = (double)(int32_t)0x00000001u;
|
|
/* 02201660 */ cpu->f[9] = _ft74 / _ft73;
|
|
/* 02201664 */ cpu->f[11] = cpu->f[9] * cpu->f[9];
|
|
/* 02201668 */ cpu->f[13] = cpu->f[9] * cpu->f[31];
|
|
/* 0220166C */ cpu->f[11] = -fma(cpu->f[11], cpu->f[8], -(cpu->f[29]));
|
|
/* 02201670 */ cpu->f[13] = cpu->f[13] * cpu->f[30];
|
|
/* 02201674 */ cpu->f[9] = cpu->f[11] * cpu->f[13];
|
|
/* 02201678 */ /* nop */
|
|
/* 0220167C */ /* nop */
|
|
/* 02201680 */ /* nop */
|
|
L_02201684: ; // 0x2201684
|
|
/* 02201684 */ _t75 = cpu->r[1] + 0x00000008u;
|
|
/* 02201684 */ cpu->r[11] = rbrew_read32(cpu->mem, _t75);
|
|
/* 02201688 */ _t76 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02201688 */ cpu->r[0] = rbrew_read32(cpu->mem, _t76);
|
|
/* 0220168C */ _t77 = cpu->r[31] + 0x00000000u;
|
|
/* 0220168C */ rbrew_write32(cpu->mem, _t77, cpu->r[11]);
|
|
/* 02201690 */ _t78 = cpu->r[31] + 0x00000004u;
|
|
/* 02201690 */ rbrew_write32(cpu->mem, _t78, cpu->r[0]);
|
|
/* 02201694 */ _t79 = cpu->r[1] + 0x00000040u;
|
|
/* 02201694 */ cpu->f[29] = rbrew_read_f32(cpu->mem, _t79);
|
|
/* 02201698 */ _t80 = cpu->r[1] + 0x00000020u;
|
|
/* 02201698 */ cpu->f[27] = rbrew_read_f32(cpu->mem, _t80);
|
|
/* 0220169C */ _t81 = cpu->r[1] + 0x00000038u;
|
|
/* 0220169C */ cpu->f[29] = rbrew_read_f64(cpu->mem, _t81);
|
|
/* 022016A0 */ _t82 = cpu->r[1] + 0x00000018u;
|
|
/* 022016A0 */ cpu->f[27] = rbrew_read_f64(cpu->mem, _t82);
|
|
/* 022016A4 */ _t83 = cpu->r[1] + 0x00000050u;
|
|
/* 022016A4 */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t83);
|
|
/* 022016A8 */ _t84 = cpu->r[1] + 0x00000030u;
|
|
/* 022016A8 */ cpu->f[28] = rbrew_read_f32(cpu->mem, _t84);
|
|
/* 022016AC */ _t85 = cpu->r[1] + 0x00000048u;
|
|
/* 022016AC */ cpu->f[30] = rbrew_read_f64(cpu->mem, _t85);
|
|
/* 022016B0 */ _t86 = cpu->r[1] + 0x00000028u;
|
|
/* 022016B0 */ cpu->f[28] = rbrew_read_f64(cpu->mem, _t86);
|
|
/* 022016B4 */ _t87 = cpu->r[1] + 0x00000060u;
|
|
/* 022016B4 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t87);
|
|
/* 022016B8 */ _t88 = cpu->r[1] + 0x00000014u;
|
|
/* 022016B8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t88);
|
|
/* 022016BC */ _t89 = cpu->r[1] + 0x00000058u;
|
|
/* 022016BC */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t89);
|
|
/* 022016C0 */ _t90 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 022016C0 */ _t91 = _t90 & 0x00000001u;
|
|
/* 022016C0 */ if (_t91) goto L_022016C4; // else: addr-0 trap, fall-through
|
|
L_022016C4: ; // 0x22016c4
|
|
/* 022016C4 */ _t92 = cpu->r[1] + 0x0000006Cu;
|
|
/* 022016C4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t92);
|
|
/* 022016C8 */ cpu->lr = cpu->r[0];
|
|
/* 022016CC */ cpu->r[1] = cpu->r[1] + 0x00000068u;
|
|
/* 022016D0 */ return;
|
|
}
|
|
|
|
// fn_022016D4 @ 0x22016d4
|
|
void Gambit_fn_022016D4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31;
|
|
|
|
L_022016D4: ; // 0x22016d4
|
|
/* 022016D4 */ cpu->r[0] = cpu->lr;
|
|
/* 022016D8 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 022016D8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 022016D8 */ cpu->r[1] = _t0;
|
|
/* 022016DC */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 022016DC */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 022016E0 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 022016E0 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 022016E4 */ _t3 = cpu->r[3] + 0x00000004u;
|
|
/* 022016E4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t3);
|
|
/* 022016E8 */ _t4 = cpu->r[12] + 0x0000039Cu;
|
|
/* 022016E8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 022016EC */ cpu->ctr = cpu->r[0];
|
|
/* 022016F0 */ cpu->r[31] = cpu->r[3];
|
|
/* 022016F4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 022016F8 */ _t5 = cpu->r[31] + 0x00000004u;
|
|
/* 022016F8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t5);
|
|
/* 022016FC */ _t6 = cpu->r[12] + 0x00000474u;
|
|
/* 022016FC */ cpu->r[12] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02201700 */ cpu->ctr = cpu->r[12];
|
|
/* 02201704 */ cpu->r[3] = cpu->r[31];
|
|
/* 02201708 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0220170C */ _t7 = cpu->r[3] + 0x000016B0u;
|
|
/* 0220170C */ cpu->r[0] = rbrew_read8(cpu->mem, _t7);
|
|
/* 02201710 */ _t8 = cpu->r[31] + 0x00000198u;
|
|
/* 02201710 */ cpu->r[12] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02201714 */ _t9 = rbrew_rlwinm(cpu->r[0], 0x0000000Cu, 0x00000012u, 0x00000013u);
|
|
/* 02201714 */ _t10 = cpu->r[12] & 0xFFFFCFFFu;
|
|
/* 02201714 */ cpu->r[12] = _t10 | _t9;
|
|
/* 02201718 */ cpu->r[0] = rbrew_rlwinm(cpu->r[12], 0x00000000u, 0x00000012u, 0x00000013u);
|
|
/* 02201718 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0220171C */ _t11 = cpu->r[31] + 0x00000198u;
|
|
/* 0220171C */ rbrew_write32(cpu->mem, _t11, cpu->r[12]);
|
|
/* 02201720 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02201720 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02201720 */ if (_t13) goto L_0220177C; else goto L_02201724;
|
|
L_02201724: ; // 0x2201724
|
|
/* 02201724 */ _t14 = cpu->r[31] + 0x00000004u;
|
|
/* 02201724 */ cpu->r[12] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02201728 */ _t15 = cpu->r[12] + 0x0000025Cu;
|
|
/* 02201728 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 0220172C */ cpu->ctr = cpu->r[0];
|
|
/* 02201730 */ cpu->r[3] = cpu->r[31];
|
|
/* 02201734 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02201738 */ _t16 = cpu->r[3] + 0x00000000u;
|
|
/* 02201738 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t16);
|
|
/* 0220173C */ _t17 = cpu->r[31] + 0x0000017Cu;
|
|
/* 0220173C */ rbrew_write_f32(cpu->mem, _t17, cpu->f[0]);
|
|
/* 02201740 */ _t18 = cpu->r[3] + 0x00000004u;
|
|
/* 02201740 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t18);
|
|
/* 02201744 */ _t19 = cpu->r[31] + 0x00000004u;
|
|
/* 02201744 */ cpu->r[12] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02201748 */ _t20 = cpu->r[31] + 0x00000180u;
|
|
/* 02201748 */ rbrew_write_f32(cpu->mem, _t20, cpu->f[0]);
|
|
/* 0220174C */ _t21 = cpu->r[3] + 0x00000008u;
|
|
/* 0220174C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t21);
|
|
/* 02201750 */ _t22 = cpu->r[31] + 0x00000184u;
|
|
/* 02201750 */ rbrew_write_f32(cpu->mem, _t22, cpu->f[0]);
|
|
/* 02201754 */ _t23 = cpu->r[12] + 0x00000254u;
|
|
/* 02201754 */ cpu->r[0] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02201758 */ cpu->ctr = cpu->r[0];
|
|
/* 0220175C */ cpu->r[3] = cpu->r[31];
|
|
/* 02201760 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02201764 */ _t24 = cpu->r[3] + 0x00000000u;
|
|
/* 02201764 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t24);
|
|
/* 02201768 */ _t25 = cpu->r[31] + 0x00000188u;
|
|
/* 02201768 */ rbrew_write_f32(cpu->mem, _t25, cpu->f[0]);
|
|
/* 0220176C */ _t26 = cpu->r[3] + 0x00000004u;
|
|
/* 0220176C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t26);
|
|
/* 02201770 */ _t27 = cpu->r[31] + 0x0000018Cu;
|
|
/* 02201770 */ rbrew_write_f32(cpu->mem, _t27, cpu->f[0]);
|
|
/* 02201774 */ _t28 = cpu->r[3] + 0x00000008u;
|
|
/* 02201774 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t28);
|
|
/* 02201778 */ _t29 = cpu->r[31] + 0x00000190u;
|
|
/* 02201778 */ rbrew_write_f32(cpu->mem, _t29, cpu->f[0]);
|
|
L_0220177C: ; // 0x220177c
|
|
/* 0220177C */ _t30 = cpu->r[1] + 0x00000014u;
|
|
/* 0220177C */ cpu->r[0] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02201780 */ _t31 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02201780 */ cpu->r[31] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02201784 */ cpu->lr = cpu->r[0];
|
|
/* 02201788 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0220178C */ cpu->r[3] = 0x00000001u;
|
|
/* 02201790 */ return;
|
|
}
|
|
|
|
// fn_022016D8 @ 0x22016d8
|
|
void Gambit_fn_022016D8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31;
|
|
|
|
L_022016D8: ; // 0x22016d8
|
|
/* 022016D8 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 022016D8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 022016D8 */ cpu->r[1] = _t0;
|
|
/* 022016DC */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 022016DC */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 022016E0 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 022016E0 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 022016E4 */ _t3 = cpu->r[3] + 0x00000004u;
|
|
/* 022016E4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t3);
|
|
/* 022016E8 */ _t4 = cpu->r[12] + 0x0000039Cu;
|
|
/* 022016E8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 022016EC */ cpu->ctr = cpu->r[0];
|
|
/* 022016F0 */ cpu->r[31] = cpu->r[3];
|
|
/* 022016F4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 022016F8 */ _t5 = cpu->r[31] + 0x00000004u;
|
|
/* 022016F8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t5);
|
|
/* 022016FC */ _t6 = cpu->r[12] + 0x00000474u;
|
|
/* 022016FC */ cpu->r[12] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02201700 */ cpu->ctr = cpu->r[12];
|
|
/* 02201704 */ cpu->r[3] = cpu->r[31];
|
|
/* 02201708 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0220170C */ _t7 = cpu->r[3] + 0x000016B0u;
|
|
/* 0220170C */ cpu->r[0] = rbrew_read8(cpu->mem, _t7);
|
|
/* 02201710 */ _t8 = cpu->r[31] + 0x00000198u;
|
|
/* 02201710 */ cpu->r[12] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02201714 */ _t9 = rbrew_rlwinm(cpu->r[0], 0x0000000Cu, 0x00000012u, 0x00000013u);
|
|
/* 02201714 */ _t10 = cpu->r[12] & 0xFFFFCFFFu;
|
|
/* 02201714 */ cpu->r[12] = _t10 | _t9;
|
|
/* 02201718 */ cpu->r[0] = rbrew_rlwinm(cpu->r[12], 0x00000000u, 0x00000012u, 0x00000013u);
|
|
/* 02201718 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0220171C */ _t11 = cpu->r[31] + 0x00000198u;
|
|
/* 0220171C */ rbrew_write32(cpu->mem, _t11, cpu->r[12]);
|
|
/* 02201720 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02201720 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02201720 */ if (_t13) goto L_0220177C; else goto L_02201724;
|
|
L_02201724: ; // 0x2201724
|
|
/* 02201724 */ _t14 = cpu->r[31] + 0x00000004u;
|
|
/* 02201724 */ cpu->r[12] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02201728 */ _t15 = cpu->r[12] + 0x0000025Cu;
|
|
/* 02201728 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 0220172C */ cpu->ctr = cpu->r[0];
|
|
/* 02201730 */ cpu->r[3] = cpu->r[31];
|
|
/* 02201734 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02201738 */ _t16 = cpu->r[3] + 0x00000000u;
|
|
/* 02201738 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t16);
|
|
/* 0220173C */ _t17 = cpu->r[31] + 0x0000017Cu;
|
|
/* 0220173C */ rbrew_write_f32(cpu->mem, _t17, cpu->f[0]);
|
|
/* 02201740 */ _t18 = cpu->r[3] + 0x00000004u;
|
|
/* 02201740 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t18);
|
|
/* 02201744 */ _t19 = cpu->r[31] + 0x00000004u;
|
|
/* 02201744 */ cpu->r[12] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02201748 */ _t20 = cpu->r[31] + 0x00000180u;
|
|
/* 02201748 */ rbrew_write_f32(cpu->mem, _t20, cpu->f[0]);
|
|
/* 0220174C */ _t21 = cpu->r[3] + 0x00000008u;
|
|
/* 0220174C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t21);
|
|
/* 02201750 */ _t22 = cpu->r[31] + 0x00000184u;
|
|
/* 02201750 */ rbrew_write_f32(cpu->mem, _t22, cpu->f[0]);
|
|
/* 02201754 */ _t23 = cpu->r[12] + 0x00000254u;
|
|
/* 02201754 */ cpu->r[0] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02201758 */ cpu->ctr = cpu->r[0];
|
|
/* 0220175C */ cpu->r[3] = cpu->r[31];
|
|
/* 02201760 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02201764 */ _t24 = cpu->r[3] + 0x00000000u;
|
|
/* 02201764 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t24);
|
|
/* 02201768 */ _t25 = cpu->r[31] + 0x00000188u;
|
|
/* 02201768 */ rbrew_write_f32(cpu->mem, _t25, cpu->f[0]);
|
|
/* 0220176C */ _t26 = cpu->r[3] + 0x00000004u;
|
|
/* 0220176C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t26);
|
|
/* 02201770 */ _t27 = cpu->r[31] + 0x0000018Cu;
|
|
/* 02201770 */ rbrew_write_f32(cpu->mem, _t27, cpu->f[0]);
|
|
/* 02201774 */ _t28 = cpu->r[3] + 0x00000008u;
|
|
/* 02201774 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t28);
|
|
/* 02201778 */ _t29 = cpu->r[31] + 0x00000190u;
|
|
/* 02201778 */ rbrew_write_f32(cpu->mem, _t29, cpu->f[0]);
|
|
L_0220177C: ; // 0x220177c
|
|
/* 0220177C */ _t30 = cpu->r[1] + 0x00000014u;
|
|
/* 0220177C */ cpu->r[0] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02201780 */ _t31 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02201780 */ cpu->r[31] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02201784 */ cpu->lr = cpu->r[0];
|
|
/* 02201788 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0220178C */ cpu->r[3] = 0x00000001u;
|
|
/* 02201790 */ return;
|
|
}
|
|
|
|
// fn_02201794 @ 0x2201794
|
|
void Gambit_fn_02201794(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12;
|
|
|
|
L_02201794: ; // 0x2201794
|
|
/* 02201794 */ cpu->r[0] = cpu->lr;
|
|
/* 02201798 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02201798 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02201798 */ cpu->r[1] = _t0;
|
|
/* 0220179C */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 0220179C */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 022017A0 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 022017A0 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 022017A4 */ cpu->r[30] = cpu->r[4];
|
|
/* 022017A8 */ _t3 = cpu->r[1] + 0x0000001Cu;
|
|
/* 022017A8 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 022017AC */ _t4 = cpu->r[3] + 0x00000064u;
|
|
/* 022017AC */ cpu->r[31] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t4);
|
|
/* 022017B0 */ Gambit_fn_021FF2A0(cpu);
|
|
/* 022017B4 */ cpu->f[0] = (uint32_t)(int32_t)cpu->f[1];
|
|
/* 022017B8 */ _t5 = cpu->r[30] + 0x00000003u;
|
|
/* 022017B8 */ cpu->r[9] = rbrew_read8(cpu->mem, _t5);
|
|
/* 022017BC */ cpu->r[0] = cpu->r[1] + 0x00000008u;
|
|
/* 022017C0 */ _t6 = cpu->r[30] + 0x00000000u;
|
|
/* 022017C0 */ rbrew_write16(cpu->mem, _t6, (uint16_t)cpu->r[31]);
|
|
/* 022017C4 */ /* nop */
|
|
/* 022017C8 */ _t7 = cpu->r[1] + 0x00000008u;
|
|
/* 022017C8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t7);
|
|
/* 022017CC */ _t8 = cpu->r[30] + 0x00000002u;
|
|
/* 022017CC */ rbrew_write16(cpu->mem, _t8, (uint16_t)cpu->r[9]);
|
|
/* 022017D0 */ cpu->r[10] = cpu->r[12] + 0xFFFFFFFFu;
|
|
/* 022017D4 */ _t9 = cpu->r[30] + 0x00000003u;
|
|
/* 022017D4 */ rbrew_write8(cpu->mem, _t9, (uint8_t)cpu->r[10]);
|
|
/* 022017D8 */ _t10 = cpu->r[1] + 0x0000001Cu;
|
|
/* 022017D8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 022017DC */ _t11 = cpu->r[1] + 0x00000014u;
|
|
/* 022017DC */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 022017E0 */ cpu->lr = cpu->r[0];
|
|
/* 022017E4 */ _t12 = cpu->r[1] + 0x00000010u;
|
|
/* 022017E4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t12);
|
|
/* 022017E8 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 022017EC */ return;
|
|
}
|
|
|
|
// fn_02201798 @ 0x2201798
|
|
void Gambit_fn_02201798(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12;
|
|
|
|
L_02201798: ; // 0x2201798
|
|
/* 02201798 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02201798 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02201798 */ cpu->r[1] = _t0;
|
|
/* 0220179C */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 0220179C */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 022017A0 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 022017A0 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 022017A4 */ cpu->r[30] = cpu->r[4];
|
|
/* 022017A8 */ _t3 = cpu->r[1] + 0x0000001Cu;
|
|
/* 022017A8 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 022017AC */ _t4 = cpu->r[3] + 0x00000064u;
|
|
/* 022017AC */ cpu->r[31] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t4);
|
|
/* 022017B0 */ Gambit_fn_021FF2A0(cpu);
|
|
/* 022017B4 */ cpu->f[0] = (uint32_t)(int32_t)cpu->f[1];
|
|
/* 022017B8 */ _t5 = cpu->r[30] + 0x00000003u;
|
|
/* 022017B8 */ cpu->r[9] = rbrew_read8(cpu->mem, _t5);
|
|
/* 022017BC */ cpu->r[0] = cpu->r[1] + 0x00000008u;
|
|
/* 022017C0 */ _t6 = cpu->r[30] + 0x00000000u;
|
|
/* 022017C0 */ rbrew_write16(cpu->mem, _t6, (uint16_t)cpu->r[31]);
|
|
/* 022017C4 */ /* nop */
|
|
/* 022017C8 */ _t7 = cpu->r[1] + 0x00000008u;
|
|
/* 022017C8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t7);
|
|
/* 022017CC */ _t8 = cpu->r[30] + 0x00000002u;
|
|
/* 022017CC */ rbrew_write16(cpu->mem, _t8, (uint16_t)cpu->r[9]);
|
|
/* 022017D0 */ cpu->r[10] = cpu->r[12] + 0xFFFFFFFFu;
|
|
/* 022017D4 */ _t9 = cpu->r[30] + 0x00000003u;
|
|
/* 022017D4 */ rbrew_write8(cpu->mem, _t9, (uint8_t)cpu->r[10]);
|
|
/* 022017D8 */ _t10 = cpu->r[1] + 0x0000001Cu;
|
|
/* 022017D8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 022017DC */ _t11 = cpu->r[1] + 0x00000014u;
|
|
/* 022017DC */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 022017E0 */ cpu->lr = cpu->r[0];
|
|
/* 022017E4 */ _t12 = cpu->r[1] + 0x00000010u;
|
|
/* 022017E4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t12);
|
|
/* 022017E8 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 022017EC */ return;
|
|
}
|
|
|
|
// fn_022017F0 @ 0x22017f0
|
|
void Gambit_fn_022017F0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_022017F0: ; // 0x22017f0
|
|
/* 022017F0 */ cpu->r[0] = cpu->lr;
|
|
/* 022017F4 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 022017F4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 022017F4 */ cpu->r[1] = _t0;
|
|
/* 022017F8 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 022017F8 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 022017FC */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 022017FC */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02201800 */ _t3 = cpu->r[3] + 0x00000004u;
|
|
/* 02201800 */ cpu->r[12] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02201804 */ _t4 = cpu->r[12] + 0x00000474u;
|
|
/* 02201804 */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02201808 */ cpu->ctr = cpu->r[12];
|
|
/* 0220180C */ cpu->r[31] = cpu->r[3];
|
|
/* 02201810 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02201814 */ _t5 = cpu->r[31] + 0x00000198u;
|
|
/* 02201814 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02201818 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000016u, 0x00000016u);
|
|
/* 02201818 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0220181C */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0220181C */ _t7 = _t6 & 0x00000001u;
|
|
/* 0220181C */ if (_t7) goto L_02201828; else goto L_02201820;
|
|
L_02201820: ; // 0x2201820
|
|
/* 02201820 */ _t8 = cpu->r[3] + 0x00000990u;
|
|
/* 02201820 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t8);
|
|
/* 02201824 */ goto L_0220182C;
|
|
L_02201828: ; // 0x2201828
|
|
/* 02201828 */ _t9 = cpu->r[3] + 0x00000E70u;
|
|
/* 02201828 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t9);
|
|
L_0220182C: ; // 0x220182c
|
|
/* 0220182C */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 0220182C */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02201830 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02201830 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02201834 */ cpu->lr = cpu->r[0];
|
|
/* 02201838 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0220183C */ return;
|
|
}
|
|
|
|
// fn_022017F4 @ 0x22017f4
|
|
void Gambit_fn_022017F4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_022017F4: ; // 0x22017f4
|
|
/* 022017F4 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 022017F4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 022017F4 */ cpu->r[1] = _t0;
|
|
/* 022017F8 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 022017F8 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 022017FC */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 022017FC */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02201800 */ _t3 = cpu->r[3] + 0x00000004u;
|
|
/* 02201800 */ cpu->r[12] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02201804 */ _t4 = cpu->r[12] + 0x00000474u;
|
|
/* 02201804 */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02201808 */ cpu->ctr = cpu->r[12];
|
|
/* 0220180C */ cpu->r[31] = cpu->r[3];
|
|
/* 02201810 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02201814 */ _t5 = cpu->r[31] + 0x00000198u;
|
|
/* 02201814 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02201818 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000016u, 0x00000016u);
|
|
/* 02201818 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0220181C */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0220181C */ _t7 = _t6 & 0x00000001u;
|
|
/* 0220181C */ if (_t7) goto L_02201828; else goto L_02201820;
|
|
L_02201820: ; // 0x2201820
|
|
/* 02201820 */ _t8 = cpu->r[3] + 0x00000990u;
|
|
/* 02201820 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t8);
|
|
/* 02201824 */ goto L_0220182C;
|
|
L_02201828: ; // 0x2201828
|
|
/* 02201828 */ _t9 = cpu->r[3] + 0x00000E70u;
|
|
/* 02201828 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t9);
|
|
L_0220182C: ; // 0x220182c
|
|
/* 0220182C */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 0220182C */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02201830 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02201830 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02201834 */ cpu->lr = cpu->r[0];
|
|
/* 02201838 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0220183C */ return;
|
|
}
|
|
|
|
// fn_02201840 @ 0x2201840
|
|
void Gambit_fn_02201840(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_02201840: ; // 0x2201840
|
|
/* 02201840 */ cpu->r[0] = cpu->lr;
|
|
/* 02201844 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02201844 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02201844 */ cpu->r[1] = _t0;
|
|
/* 02201848 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02201848 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0220184C */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0220184C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02201850 */ _t3 = cpu->r[3] + 0x00000004u;
|
|
/* 02201850 */ cpu->r[12] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02201854 */ _t4 = cpu->r[12] + 0x00000474u;
|
|
/* 02201854 */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02201858 */ cpu->ctr = cpu->r[12];
|
|
/* 0220185C */ cpu->r[31] = cpu->r[3];
|
|
/* 02201860 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02201864 */ _t5 = cpu->r[31] + 0x00000198u;
|
|
/* 02201864 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02201868 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000016u, 0x00000016u);
|
|
/* 02201868 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0220186C */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0220186C */ _t7 = _t6 & 0x00000001u;
|
|
/* 0220186C */ if (_t7) goto L_02201878; else goto L_02201870;
|
|
L_02201870: ; // 0x2201870
|
|
/* 02201870 */ _t8 = cpu->r[3] + 0x000009F0u;
|
|
/* 02201870 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t8);
|
|
/* 02201874 */ goto L_0220187C;
|
|
L_02201878: ; // 0x2201878
|
|
/* 02201878 */ _t9 = cpu->r[3] + 0x00000ED0u;
|
|
/* 02201878 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t9);
|
|
L_0220187C: ; // 0x220187c
|
|
/* 0220187C */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 0220187C */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02201880 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02201880 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02201884 */ cpu->lr = cpu->r[0];
|
|
/* 02201888 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0220188C */ return;
|
|
}
|
|
|
|
// fn_02201844 @ 0x2201844
|
|
void Gambit_fn_02201844(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_02201844: ; // 0x2201844
|
|
/* 02201844 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02201844 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02201844 */ cpu->r[1] = _t0;
|
|
/* 02201848 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02201848 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0220184C */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0220184C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02201850 */ _t3 = cpu->r[3] + 0x00000004u;
|
|
/* 02201850 */ cpu->r[12] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02201854 */ _t4 = cpu->r[12] + 0x00000474u;
|
|
/* 02201854 */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02201858 */ cpu->ctr = cpu->r[12];
|
|
/* 0220185C */ cpu->r[31] = cpu->r[3];
|
|
/* 02201860 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02201864 */ _t5 = cpu->r[31] + 0x00000198u;
|
|
/* 02201864 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02201868 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000016u, 0x00000016u);
|
|
/* 02201868 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0220186C */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0220186C */ _t7 = _t6 & 0x00000001u;
|
|
/* 0220186C */ if (_t7) goto L_02201878; else goto L_02201870;
|
|
L_02201870: ; // 0x2201870
|
|
/* 02201870 */ _t8 = cpu->r[3] + 0x000009F0u;
|
|
/* 02201870 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t8);
|
|
/* 02201874 */ goto L_0220187C;
|
|
L_02201878: ; // 0x2201878
|
|
/* 02201878 */ _t9 = cpu->r[3] + 0x00000ED0u;
|
|
/* 02201878 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t9);
|
|
L_0220187C: ; // 0x220187c
|
|
/* 0220187C */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 0220187C */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02201880 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02201880 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02201884 */ cpu->lr = cpu->r[0];
|
|
/* 02201888 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0220188C */ return;
|
|
}
|
|
|
|
// fn_02201890 @ 0x2201890
|
|
void Gambit_fn_02201890(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_02201890: ; // 0x2201890
|
|
/* 02201890 */ cpu->r[0] = cpu->lr;
|
|
/* 02201894 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02201894 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02201894 */ cpu->r[1] = _t0;
|
|
/* 02201898 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02201898 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0220189C */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0220189C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 022018A0 */ _t3 = cpu->r[3] + 0x00000004u;
|
|
/* 022018A0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t3);
|
|
/* 022018A4 */ _t4 = cpu->r[12] + 0x00000474u;
|
|
/* 022018A4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 022018A8 */ cpu->ctr = cpu->r[12];
|
|
/* 022018AC */ cpu->r[31] = cpu->r[3];
|
|
/* 022018B0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 022018B4 */ _t5 = cpu->r[31] + 0x00000198u;
|
|
/* 022018B4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 022018B8 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000016u, 0x00000016u);
|
|
/* 022018B8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 022018BC */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 022018BC */ _t7 = _t6 & 0x00000001u;
|
|
/* 022018BC */ if (_t7) goto L_022018C8; else goto L_022018C0;
|
|
L_022018C0: ; // 0x22018c0
|
|
/* 022018C0 */ _t8 = cpu->r[3] + 0x00000A50u;
|
|
/* 022018C0 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t8);
|
|
/* 022018C4 */ goto L_022018CC;
|
|
L_022018C8: ; // 0x22018c8
|
|
/* 022018C8 */ _t9 = cpu->r[3] + 0x00000F30u;
|
|
/* 022018C8 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t9);
|
|
L_022018CC: ; // 0x22018cc
|
|
/* 022018CC */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 022018CC */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 022018D0 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 022018D0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 022018D4 */ cpu->lr = cpu->r[0];
|
|
/* 022018D8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 022018DC */ return;
|
|
}
|
|
|
|
// fn_02201894 @ 0x2201894
|
|
void Gambit_fn_02201894(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_02201894: ; // 0x2201894
|
|
/* 02201894 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02201894 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02201894 */ cpu->r[1] = _t0;
|
|
/* 02201898 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02201898 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0220189C */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0220189C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 022018A0 */ _t3 = cpu->r[3] + 0x00000004u;
|
|
/* 022018A0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t3);
|
|
/* 022018A4 */ _t4 = cpu->r[12] + 0x00000474u;
|
|
/* 022018A4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 022018A8 */ cpu->ctr = cpu->r[12];
|
|
/* 022018AC */ cpu->r[31] = cpu->r[3];
|
|
/* 022018B0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 022018B4 */ _t5 = cpu->r[31] + 0x00000198u;
|
|
/* 022018B4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 022018B8 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000016u, 0x00000016u);
|
|
/* 022018B8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 022018BC */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 022018BC */ _t7 = _t6 & 0x00000001u;
|
|
/* 022018BC */ if (_t7) goto L_022018C8; else goto L_022018C0;
|
|
L_022018C0: ; // 0x22018c0
|
|
/* 022018C0 */ _t8 = cpu->r[3] + 0x00000A50u;
|
|
/* 022018C0 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t8);
|
|
/* 022018C4 */ goto L_022018CC;
|
|
L_022018C8: ; // 0x22018c8
|
|
/* 022018C8 */ _t9 = cpu->r[3] + 0x00000F30u;
|
|
/* 022018C8 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t9);
|
|
L_022018CC: ; // 0x22018cc
|
|
/* 022018CC */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 022018CC */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 022018D0 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 022018D0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 022018D4 */ cpu->lr = cpu->r[0];
|
|
/* 022018D8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 022018DC */ return;
|
|
}
|
|
|
|
// fn_022018E0 @ 0x22018e0
|
|
void Gambit_fn_022018E0(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_022018E0: ; // 0x22018e0
|
|
/* 022018E0 */ _t0 = cpu->r[3] + 0x00000130u;
|
|
/* 022018E0 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t0);
|
|
/* 022018E4 */ return;
|
|
}
|
|
|
|
// fn_022018E8 @ 0x22018e8
|
|
void Gambit_fn_022018E8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46;
|
|
double _ft25, _ft26;
|
|
|
|
L_022018E8: ; // 0x22018e8
|
|
/* 022018E8 */ cpu->r[0] = cpu->lr;
|
|
/* 022018EC */ _t0 = cpu->r[1] + 0xFFFFFF70u;
|
|
/* 022018EC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 022018EC */ cpu->r[1] = _t0;
|
|
/* 022018F0 */ _t1 = cpu->r[1] + 0x0000008Cu;
|
|
/* 022018F0 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 022018F4 */ cpu->r[31] = cpu->r[3];
|
|
/* 022018F8 */ _t2 = cpu->r[1] + 0x00000094u;
|
|
/* 022018F8 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 022018FC */ _t3 = cpu->r[31] + 0x00000198u;
|
|
/* 022018FC */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02201900 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000017u, 0x00000017u);
|
|
/* 02201900 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02201904 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02201904 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02201904 */ if (_t5) goto L_02201A44; else goto L_02201908;
|
|
L_02201908: ; // 0x2201908
|
|
/* 02201908 */ _t6 = cpu->r[31] + 0x000000FCu;
|
|
/* 02201908 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t6);
|
|
/* 0220190C */ cpu->r[3] = cpu->r[1] + 0x0000005Cu;
|
|
/* 02201910 */ _t7 = cpu->r[31] + 0x00000100u;
|
|
/* 02201910 */ cpu->f[2] = rbrew_read_f32(cpu->mem, _t7);
|
|
/* 02201914 */ _t8 = cpu->r[31] + 0x00000104u;
|
|
/* 02201914 */ cpu->f[3] = rbrew_read_f32(cpu->mem, _t8);
|
|
/* 02201918 */ Gambit_fn_02C69840(cpu);
|
|
/* 0220191C */ _t9 = cpu->r[31] + 0x00000004u;
|
|
/* 0220191C */ cpu->r[12] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02201920 */ _t10 = cpu->r[12] + 0x0000025Cu;
|
|
/* 02201920 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02201924 */ cpu->ctr = cpu->r[0];
|
|
/* 02201928 */ cpu->r[3] = cpu->r[31];
|
|
/* 0220192C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02201930 */ _t11 = cpu->r[3] + 0x00000000u;
|
|
/* 02201930 */ cpu->r[10] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02201934 */ _t12 = cpu->r[1] + 0x00000008u;
|
|
/* 02201934 */ rbrew_write32(cpu->mem, _t12, cpu->r[10]);
|
|
/* 02201938 */ _t13 = cpu->r[3] + 0x00000004u;
|
|
/* 02201938 */ cpu->r[12] = rbrew_read32(cpu->mem, _t13);
|
|
/* 0220193C */ _t14 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0220193C */ rbrew_write32(cpu->mem, _t14, cpu->r[12]);
|
|
/* 02201940 */ _t15 = cpu->r[3] + 0x00000008u;
|
|
/* 02201940 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02201944 */ _t16 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02201944 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t16);
|
|
/* 02201948 */ _t17 = cpu->r[1] + 0x00000010u;
|
|
/* 02201948 */ rbrew_write32(cpu->mem, _t17, cpu->r[0]);
|
|
/* 0220194C */ cpu->f[12] = cpu->f[9] * cpu->f[9];
|
|
/* 02201950 */ _t18 = cpu->r[1] + 0x00000008u;
|
|
/* 02201950 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t18);
|
|
/* 02201954 */ _t19 = cpu->r[1] + 0x00000010u;
|
|
/* 02201954 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t19);
|
|
/* 02201958 */ cpu->f[0] = fma(cpu->f[13], cpu->f[13], cpu->f[12]);
|
|
/* 0220195C */ cpu->r[11] = 0x10040000u;
|
|
/* 02201960 */ cpu->f[8] = fma(cpu->f[11], cpu->f[11], cpu->f[0]);
|
|
/* 02201964 */ _t20 = cpu->r[11] + 0xFFFFE510u;
|
|
/* 02201964 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t20);
|
|
/* 02201968 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[8], cpu->f[13]);
|
|
/* 0220196C */ _t21 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0220196C */ _t22 = _t21 & 0x00000001u;
|
|
/* 0220196C */ if (_t22) goto L_02201970; else goto L_022019AC;
|
|
L_02201970: ; // 0x2201970
|
|
/* 02201970 */ cpu->r[10] = 0x10040000u;
|
|
/* 02201974 */ cpu->r[12] = 0x10040000u;
|
|
/* 02201978 */ _t23 = cpu->r[10] + 0xFFFFE514u;
|
|
/* 02201978 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t23);
|
|
/* 0220197C */ _t24 = cpu->r[12] + 0xFFFFE524u;
|
|
/* 0220197C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t24);
|
|
/* 02201980 */ _ft25 = sqrt(cpu->f[8]);
|
|
/* 02201980 */ _ft26 = (double)(int32_t)0x00000001u;
|
|
/* 02201980 */ cpu->f[9] = _ft26 / _ft25;
|
|
/* 02201984 */ cpu->f[10] = cpu->f[9] * cpu->f[9];
|
|
/* 02201988 */ cpu->f[11] = cpu->f[9] * cpu->f[12];
|
|
/* 0220198C */ cpu->f[10] = -fma(cpu->f[10], cpu->f[8], -(cpu->f[0]));
|
|
/* 02201990 */ cpu->f[9] = cpu->f[10] * cpu->f[11];
|
|
/* 02201994 */ _t27 = cpu->r[1] + 0x00000010u;
|
|
/* 02201994 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t27);
|
|
/* 02201998 */ /* nop */
|
|
/* 0220199C */ cpu->f[0] = cpu->f[0] * cpu->f[9];
|
|
/* 022019A0 */ /* nop */
|
|
/* 022019A4 */ _t28 = cpu->r[1] + 0x00000010u;
|
|
/* 022019A4 */ rbrew_write_f32(cpu->mem, _t28, cpu->f[0]);
|
|
/* 022019A8 */ /* nop */
|
|
L_022019AC: ; // 0x22019ac
|
|
/* 022019AC */ cpu->r[4] = 0x101F0000u;
|
|
/* 022019B0 */ cpu->r[3] = cpu->r[1] + 0x0000002Cu;
|
|
/* 022019B4 */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 022019B8 */ cpu->r[4] = cpu->r[4] + 0x0000635Cu;
|
|
/* 022019BC */ Gambit_fn_021C6DD8(cpu);
|
|
/* 022019C0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 022019C4 */ _t29 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 022019C4 */ _t30 = _t29 & 0x00000001u;
|
|
/* 022019C4 */ if (_t30) goto L_022019C8; else goto L_022019DC;
|
|
L_022019C8: ; // 0x22019c8
|
|
/* 022019C8 */ cpu->r[4] = 0x00000000u;
|
|
/* 022019CC */ cpu->r[5] = 0x80000000u;
|
|
/* 022019D0 */ cpu->r[3] = cpu->r[1] + 0x0000002Cu;
|
|
/* 022019D4 */ cpu->r[6] = cpu->r[4];
|
|
/* 022019D8 */ Gambit_fn_021E1408(cpu);
|
|
L_022019DC: ; // 0x22019dc
|
|
/* 022019DC */ cpu->r[3] = cpu->r[1] + 0x0000005Cu;
|
|
/* 022019E0 */ cpu->r[4] = cpu->r[1] + 0x0000002Cu;
|
|
/* 022019E4 */ cpu->r[5] = cpu->r[31] + 0x000001ACu;
|
|
/* 022019E8 */ Gambit_fn_02C69544(cpu);
|
|
/* 022019EC */ cpu->r[3] = cpu->r[31];
|
|
/* 022019F0 */ Gambit_fn_021FF1B0(cpu);
|
|
/* 022019F4 */ cpu->r[10] = 0x101F0000u;
|
|
/* 022019F8 */ cpu->r[10] = cpu->r[10] + 0x00006368u;
|
|
/* 022019FC */ /* nop */
|
|
/* 02201A00 */ /* nop */
|
|
/* 02201A04 */ /* nop */
|
|
/* 02201A08 */ _t31 = cpu->r[1] + 0x00000018u;
|
|
/* 02201A08 */ cpu->r[0] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02201A0C */ _t32 = cpu->r[10] + 0x00000008u;
|
|
/* 02201A0C */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t32);
|
|
/* 02201A10 */ _t33 = cpu->r[1] + 0x00000014u;
|
|
/* 02201A10 */ cpu->r[12] = rbrew_read32(cpu->mem, _t33);
|
|
/* 02201A14 */ _t34 = cpu->r[1] + 0x00000024u;
|
|
/* 02201A14 */ rbrew_write32(cpu->mem, _t34, cpu->r[0]);
|
|
/* 02201A18 */ cpu->f[9] = cpu->f[10] * cpu->f[1];
|
|
/* 02201A1C */ _t35 = cpu->r[1] + 0x00000024u;
|
|
/* 02201A1C */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t35);
|
|
/* 02201A20 */ _t36 = cpu->r[1] + 0x00000020u;
|
|
/* 02201A20 */ rbrew_write32(cpu->mem, _t36, cpu->r[12]);
|
|
/* 02201A24 */ _t37 = cpu->r[1] + 0x00000020u;
|
|
/* 02201A24 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t37);
|
|
/* 02201A28 */ _t38 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02201A28 */ rbrew_write_f32(cpu->mem, _t38, cpu->f[9]);
|
|
/* 02201A2C */ _t39 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02201A2C */ cpu->r[11] = rbrew_read32(cpu->mem, _t39);
|
|
/* 02201A30 */ _t40 = cpu->r[31] + 0x000001DCu;
|
|
/* 02201A30 */ rbrew_write_f32(cpu->mem, _t40, cpu->f[11]);
|
|
/* 02201A34 */ _t41 = cpu->r[1] + 0x00000028u;
|
|
/* 02201A34 */ rbrew_write32(cpu->mem, _t41, cpu->r[11]);
|
|
/* 02201A38 */ _t42 = cpu->r[1] + 0x00000028u;
|
|
/* 02201A38 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t42);
|
|
/* 02201A3C */ _t43 = cpu->r[31] + 0x000001E0u;
|
|
/* 02201A3C */ rbrew_write_f32(cpu->mem, _t43, cpu->f[10]);
|
|
/* 02201A40 */ _t44 = cpu->r[31] + 0x000001E4u;
|
|
/* 02201A40 */ rbrew_write_f32(cpu->mem, _t44, cpu->f[11]);
|
|
L_02201A44: ; // 0x2201a44
|
|
/* 02201A44 */ _t45 = cpu->r[1] + 0x00000094u;
|
|
/* 02201A44 */ cpu->r[0] = rbrew_read32(cpu->mem, _t45);
|
|
/* 02201A48 */ _t46 = cpu->r[1] + 0x0000008Cu;
|
|
/* 02201A48 */ cpu->r[31] = rbrew_read32(cpu->mem, _t46);
|
|
/* 02201A4C */ cpu->lr = cpu->r[0];
|
|
/* 02201A50 */ cpu->r[1] = cpu->r[1] + 0x00000090u;
|
|
/* 02201A54 */ return;
|
|
}
|
|
|
|
// fn_022018EC @ 0x22018ec
|
|
void Gambit_fn_022018EC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46;
|
|
double _ft25, _ft26;
|
|
|
|
L_022018EC: ; // 0x22018ec
|
|
/* 022018EC */ _t0 = cpu->r[1] + 0xFFFFFF70u;
|
|
/* 022018EC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 022018EC */ cpu->r[1] = _t0;
|
|
/* 022018F0 */ _t1 = cpu->r[1] + 0x0000008Cu;
|
|
/* 022018F0 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 022018F4 */ cpu->r[31] = cpu->r[3];
|
|
/* 022018F8 */ _t2 = cpu->r[1] + 0x00000094u;
|
|
/* 022018F8 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 022018FC */ _t3 = cpu->r[31] + 0x00000198u;
|
|
/* 022018FC */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02201900 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000017u, 0x00000017u);
|
|
/* 02201900 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02201904 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02201904 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02201904 */ if (_t5) goto L_02201A44; else goto L_02201908;
|
|
L_02201908: ; // 0x2201908
|
|
/* 02201908 */ _t6 = cpu->r[31] + 0x000000FCu;
|
|
/* 02201908 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t6);
|
|
/* 0220190C */ cpu->r[3] = cpu->r[1] + 0x0000005Cu;
|
|
/* 02201910 */ _t7 = cpu->r[31] + 0x00000100u;
|
|
/* 02201910 */ cpu->f[2] = rbrew_read_f32(cpu->mem, _t7);
|
|
/* 02201914 */ _t8 = cpu->r[31] + 0x00000104u;
|
|
/* 02201914 */ cpu->f[3] = rbrew_read_f32(cpu->mem, _t8);
|
|
/* 02201918 */ Gambit_fn_02C69840(cpu);
|
|
/* 0220191C */ _t9 = cpu->r[31] + 0x00000004u;
|
|
/* 0220191C */ cpu->r[12] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02201920 */ _t10 = cpu->r[12] + 0x0000025Cu;
|
|
/* 02201920 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02201924 */ cpu->ctr = cpu->r[0];
|
|
/* 02201928 */ cpu->r[3] = cpu->r[31];
|
|
/* 0220192C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02201930 */ _t11 = cpu->r[3] + 0x00000000u;
|
|
/* 02201930 */ cpu->r[10] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02201934 */ _t12 = cpu->r[1] + 0x00000008u;
|
|
/* 02201934 */ rbrew_write32(cpu->mem, _t12, cpu->r[10]);
|
|
/* 02201938 */ _t13 = cpu->r[3] + 0x00000004u;
|
|
/* 02201938 */ cpu->r[12] = rbrew_read32(cpu->mem, _t13);
|
|
/* 0220193C */ _t14 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0220193C */ rbrew_write32(cpu->mem, _t14, cpu->r[12]);
|
|
/* 02201940 */ _t15 = cpu->r[3] + 0x00000008u;
|
|
/* 02201940 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02201944 */ _t16 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02201944 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t16);
|
|
/* 02201948 */ _t17 = cpu->r[1] + 0x00000010u;
|
|
/* 02201948 */ rbrew_write32(cpu->mem, _t17, cpu->r[0]);
|
|
/* 0220194C */ cpu->f[12] = cpu->f[9] * cpu->f[9];
|
|
/* 02201950 */ _t18 = cpu->r[1] + 0x00000008u;
|
|
/* 02201950 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t18);
|
|
/* 02201954 */ _t19 = cpu->r[1] + 0x00000010u;
|
|
/* 02201954 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t19);
|
|
/* 02201958 */ cpu->f[0] = fma(cpu->f[13], cpu->f[13], cpu->f[12]);
|
|
/* 0220195C */ cpu->r[11] = 0x10040000u;
|
|
/* 02201960 */ cpu->f[8] = fma(cpu->f[11], cpu->f[11], cpu->f[0]);
|
|
/* 02201964 */ _t20 = cpu->r[11] + 0xFFFFE510u;
|
|
/* 02201964 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t20);
|
|
/* 02201968 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[8], cpu->f[13]);
|
|
/* 0220196C */ _t21 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0220196C */ _t22 = _t21 & 0x00000001u;
|
|
/* 0220196C */ if (_t22) goto L_02201970; else goto L_022019AC;
|
|
L_02201970: ; // 0x2201970
|
|
/* 02201970 */ cpu->r[10] = 0x10040000u;
|
|
/* 02201974 */ cpu->r[12] = 0x10040000u;
|
|
/* 02201978 */ _t23 = cpu->r[10] + 0xFFFFE514u;
|
|
/* 02201978 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t23);
|
|
/* 0220197C */ _t24 = cpu->r[12] + 0xFFFFE524u;
|
|
/* 0220197C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t24);
|
|
/* 02201980 */ _ft25 = sqrt(cpu->f[8]);
|
|
/* 02201980 */ _ft26 = (double)(int32_t)0x00000001u;
|
|
/* 02201980 */ cpu->f[9] = _ft26 / _ft25;
|
|
/* 02201984 */ cpu->f[10] = cpu->f[9] * cpu->f[9];
|
|
/* 02201988 */ cpu->f[11] = cpu->f[9] * cpu->f[12];
|
|
/* 0220198C */ cpu->f[10] = -fma(cpu->f[10], cpu->f[8], -(cpu->f[0]));
|
|
/* 02201990 */ cpu->f[9] = cpu->f[10] * cpu->f[11];
|
|
/* 02201994 */ _t27 = cpu->r[1] + 0x00000010u;
|
|
/* 02201994 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t27);
|
|
/* 02201998 */ /* nop */
|
|
/* 0220199C */ cpu->f[0] = cpu->f[0] * cpu->f[9];
|
|
/* 022019A0 */ /* nop */
|
|
/* 022019A4 */ _t28 = cpu->r[1] + 0x00000010u;
|
|
/* 022019A4 */ rbrew_write_f32(cpu->mem, _t28, cpu->f[0]);
|
|
/* 022019A8 */ /* nop */
|
|
L_022019AC: ; // 0x22019ac
|
|
/* 022019AC */ cpu->r[4] = 0x101F0000u;
|
|
/* 022019B0 */ cpu->r[3] = cpu->r[1] + 0x0000002Cu;
|
|
/* 022019B4 */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 022019B8 */ cpu->r[4] = cpu->r[4] + 0x0000635Cu;
|
|
/* 022019BC */ Gambit_fn_021C6DD8(cpu);
|
|
/* 022019C0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 022019C4 */ _t29 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 022019C4 */ _t30 = _t29 & 0x00000001u;
|
|
/* 022019C4 */ if (_t30) goto L_022019C8; else goto L_022019DC;
|
|
L_022019C8: ; // 0x22019c8
|
|
/* 022019C8 */ cpu->r[4] = 0x00000000u;
|
|
/* 022019CC */ cpu->r[5] = 0x80000000u;
|
|
/* 022019D0 */ cpu->r[3] = cpu->r[1] + 0x0000002Cu;
|
|
/* 022019D4 */ cpu->r[6] = cpu->r[4];
|
|
/* 022019D8 */ Gambit_fn_021E1408(cpu);
|
|
L_022019DC: ; // 0x22019dc
|
|
/* 022019DC */ cpu->r[3] = cpu->r[1] + 0x0000005Cu;
|
|
/* 022019E0 */ cpu->r[4] = cpu->r[1] + 0x0000002Cu;
|
|
/* 022019E4 */ cpu->r[5] = cpu->r[31] + 0x000001ACu;
|
|
/* 022019E8 */ Gambit_fn_02C69544(cpu);
|
|
/* 022019EC */ cpu->r[3] = cpu->r[31];
|
|
/* 022019F0 */ Gambit_fn_021FF1B0(cpu);
|
|
/* 022019F4 */ cpu->r[10] = 0x101F0000u;
|
|
/* 022019F8 */ cpu->r[10] = cpu->r[10] + 0x00006368u;
|
|
/* 022019FC */ /* nop */
|
|
/* 02201A00 */ /* nop */
|
|
/* 02201A04 */ /* nop */
|
|
/* 02201A08 */ _t31 = cpu->r[1] + 0x00000018u;
|
|
/* 02201A08 */ cpu->r[0] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02201A0C */ _t32 = cpu->r[10] + 0x00000008u;
|
|
/* 02201A0C */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t32);
|
|
/* 02201A10 */ _t33 = cpu->r[1] + 0x00000014u;
|
|
/* 02201A10 */ cpu->r[12] = rbrew_read32(cpu->mem, _t33);
|
|
/* 02201A14 */ _t34 = cpu->r[1] + 0x00000024u;
|
|
/* 02201A14 */ rbrew_write32(cpu->mem, _t34, cpu->r[0]);
|
|
/* 02201A18 */ cpu->f[9] = cpu->f[10] * cpu->f[1];
|
|
/* 02201A1C */ _t35 = cpu->r[1] + 0x00000024u;
|
|
/* 02201A1C */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t35);
|
|
/* 02201A20 */ _t36 = cpu->r[1] + 0x00000020u;
|
|
/* 02201A20 */ rbrew_write32(cpu->mem, _t36, cpu->r[12]);
|
|
/* 02201A24 */ _t37 = cpu->r[1] + 0x00000020u;
|
|
/* 02201A24 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t37);
|
|
/* 02201A28 */ _t38 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02201A28 */ rbrew_write_f32(cpu->mem, _t38, cpu->f[9]);
|
|
/* 02201A2C */ _t39 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02201A2C */ cpu->r[11] = rbrew_read32(cpu->mem, _t39);
|
|
/* 02201A30 */ _t40 = cpu->r[31] + 0x000001DCu;
|
|
/* 02201A30 */ rbrew_write_f32(cpu->mem, _t40, cpu->f[11]);
|
|
/* 02201A34 */ _t41 = cpu->r[1] + 0x00000028u;
|
|
/* 02201A34 */ rbrew_write32(cpu->mem, _t41, cpu->r[11]);
|
|
/* 02201A38 */ _t42 = cpu->r[1] + 0x00000028u;
|
|
/* 02201A38 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t42);
|
|
/* 02201A3C */ _t43 = cpu->r[31] + 0x000001E0u;
|
|
/* 02201A3C */ rbrew_write_f32(cpu->mem, _t43, cpu->f[10]);
|
|
/* 02201A40 */ _t44 = cpu->r[31] + 0x000001E4u;
|
|
/* 02201A40 */ rbrew_write_f32(cpu->mem, _t44, cpu->f[11]);
|
|
L_02201A44: ; // 0x2201a44
|
|
/* 02201A44 */ _t45 = cpu->r[1] + 0x00000094u;
|
|
/* 02201A44 */ cpu->r[0] = rbrew_read32(cpu->mem, _t45);
|
|
/* 02201A48 */ _t46 = cpu->r[1] + 0x0000008Cu;
|
|
/* 02201A48 */ cpu->r[31] = rbrew_read32(cpu->mem, _t46);
|
|
/* 02201A4C */ cpu->lr = cpu->r[0];
|
|
/* 02201A50 */ cpu->r[1] = cpu->r[1] + 0x00000090u;
|
|
/* 02201A54 */ return;
|
|
}
|
|
|
|
// fn_02201A58 @ 0x2201a58
|
|
void Gambit_fn_02201A58(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35;
|
|
|
|
L_02201A58: ; // 0x2201a58
|
|
/* 02201A58 */ _t0 = cpu->r[1] + 0xFFFFFFC0u;
|
|
/* 02201A58 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02201A58 */ cpu->r[1] = _t0;
|
|
/* 02201A5C */ cpu->r[0] = cpu->lr;
|
|
/* 02201A60 */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 02201A60 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[29]);
|
|
/* 02201A64 */ /* nop */
|
|
/* 02201A68 */ _t2 = cpu->r[1] + 0x00000020u;
|
|
/* 02201A68 */ rbrew_write_f64(cpu->mem, _t2, cpu->f[30]);
|
|
/* 02201A6C */ /* nop */
|
|
/* 02201A70 */ _t3 = cpu->r[1] + 0x00000018u;
|
|
/* 02201A70 */ rbrew_write_f32(cpu->mem, _t3, cpu->f[29]);
|
|
/* 02201A74 */ _t4 = cpu->r[1] + 0x00000028u;
|
|
/* 02201A74 */ rbrew_write_f32(cpu->mem, _t4, cpu->f[30]);
|
|
/* 02201A78 */ _t5 = cpu->r[1] + 0x00000030u;
|
|
/* 02201A78 */ rbrew_write_f64(cpu->mem, _t5, cpu->f[31]);
|
|
/* 02201A7C */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02201A7C */ rbrew_write32(cpu->mem, _t6, cpu->r[31]);
|
|
/* 02201A80 */ /* nop */
|
|
/* 02201A84 */ _t7 = cpu->r[1] + 0x00000044u;
|
|
/* 02201A84 */ rbrew_write32(cpu->mem, _t7, cpu->r[0]);
|
|
/* 02201A88 */ cpu->r[31] = cpu->r[3];
|
|
/* 02201A8C */ _t8 = cpu->r[1] + 0x00000038u;
|
|
/* 02201A8C */ rbrew_write_f32(cpu->mem, _t8, cpu->f[31]);
|
|
/* 02201A90 */ Gambit_fn_02201840(cpu);
|
|
/* 02201A94 */ cpu->r[3] = cpu->r[31];
|
|
/* 02201A98 */ _t9 = cpu->r[31] + 0x000000E8u;
|
|
/* 02201A98 */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t9);
|
|
/* 02201A9C */ cpu->f[31] = cpu->f[1];
|
|
/* 02201AA0 */ Gambit_fn_022017F0(cpu);
|
|
/* 02201AA4 */ cpu->r[3] = cpu->r[31];
|
|
/* 02201AA8 */ cpu->f[29] = cpu->f[1];
|
|
/* 02201AAC */ Gambit_fn_02201890(cpu);
|
|
/* 02201AB0 */ cpu->r[12] = 0x10040000u;
|
|
/* 02201AB4 */ _t10 = cpu->r[12] + 0xFFFFE510u;
|
|
/* 02201AB4 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t10);
|
|
/* 02201AB8 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[29], cpu->f[1]);
|
|
/* 02201ABC */ _t11 = cpu->r[31] + 0x00000128u;
|
|
/* 02201ABC */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t11);
|
|
/* 02201AC0 */ _t12 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02201AC0 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02201AC0 */ if (_t13) goto L_02201AF8; else goto L_02201AC4;
|
|
L_02201AC4: ; // 0x2201ac4
|
|
/* 02201AC4 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[12], cpu->f[29]);
|
|
/* 02201AC8 */ _t14 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02201AC8 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02201AC8 */ if (_t15) goto L_02201ACC; else goto L_02201B34;
|
|
L_02201ACC: ; // 0x2201acc
|
|
/* 02201ACC */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[12], cpu->f[1]);
|
|
/* 02201AD0 */ _t16 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02201AD0 */ _t17 = _t16 & 0x00000001u;
|
|
/* 02201AD0 */ if (_t17) goto L_02201AD4; else goto L_02201B00;
|
|
L_02201AD4: ; // 0x2201ad4
|
|
/* 02201AD4 */ cpu->f[13] = cpu->f[1] - cpu->f[29];
|
|
/* 02201AD8 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[13], cpu->f[0]);
|
|
/* 02201ADC */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02201ADC */ _t19 = _t18 & 0x00000001u;
|
|
/* 02201ADC */ if (_t19) goto L_02201B34; else goto L_02201AE0;
|
|
L_02201AE0: ; // 0x2201ae0
|
|
/* 02201AE0 */ cpu->f[9] = cpu->f[30] - cpu->f[31];
|
|
/* 02201AE4 */ cpu->f[10] = cpu->f[12] - cpu->f[29];
|
|
/* 02201AE8 */ cpu->f[11] = cpu->f[9] * cpu->f[10];
|
|
/* 02201AEC */ cpu->f[12] = cpu->f[11] / cpu->f[13];
|
|
/* 02201AF0 */ cpu->f[31] = cpu->f[12] + cpu->f[31];
|
|
/* 02201AF4 */ goto L_02201B34;
|
|
L_02201AF8: ; // 0x2201af8
|
|
/* 02201AF8 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[12], cpu->f[1]);
|
|
/* 02201AFC */ _t20 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02201AFC */ _t21 = _t20 & 0x00000001u;
|
|
/* 02201AFC */ if (_t21) goto L_02201B08; else goto L_02201B00;
|
|
L_02201B00: ; // 0x2201b00
|
|
/* 02201B00 */ cpu->f[31] = cpu->f[30];
|
|
/* 02201B04 */ goto L_02201B34;
|
|
L_02201B08: ; // 0x2201b08
|
|
/* 02201B08 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[12], cpu->f[29]);
|
|
/* 02201B0C */ _t22 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02201B0C */ _t23 = _t22 & 0x00000001u;
|
|
/* 02201B0C */ if (_t23) goto L_02201B10; else goto L_02201B34;
|
|
L_02201B10: ; // 0x2201b10
|
|
/* 02201B10 */ cpu->f[8] = cpu->f[29] - cpu->f[1];
|
|
/* 02201B14 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[8], cpu->f[0]);
|
|
/* 02201B18 */ _t24 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02201B18 */ _t25 = _t24 & 0x00000001u;
|
|
/* 02201B18 */ if (_t25) goto L_02201B30; else goto L_02201B1C;
|
|
L_02201B1C: ; // 0x2201b1c
|
|
/* 02201B1C */ cpu->f[13] = cpu->f[31] - cpu->f[30];
|
|
/* 02201B20 */ cpu->f[9] = cpu->f[12] - cpu->f[1];
|
|
/* 02201B24 */ cpu->f[10] = cpu->f[13] * cpu->f[9];
|
|
/* 02201B28 */ cpu->f[11] = cpu->f[10] / cpu->f[8];
|
|
/* 02201B2C */ cpu->f[30] = cpu->f[11] + cpu->f[30];
|
|
L_02201B30: ; // 0x2201b30
|
|
/* 02201B30 */ cpu->f[31] = cpu->f[30];
|
|
L_02201B34: ; // 0x2201b34
|
|
/* 02201B34 */ _t26 = cpu->r[1] + 0x00000018u;
|
|
/* 02201B34 */ cpu->f[29] = rbrew_read_f32(cpu->mem, _t26);
|
|
/* 02201B38 */ cpu->f[1] = cpu->f[31];
|
|
/* 02201B3C */ _t27 = cpu->r[1] + 0x00000038u;
|
|
/* 02201B3C */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t27);
|
|
/* 02201B40 */ _t28 = cpu->r[1] + 0x00000028u;
|
|
/* 02201B40 */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t28);
|
|
/* 02201B44 */ _t29 = cpu->r[1] + 0x00000030u;
|
|
/* 02201B44 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t29);
|
|
/* 02201B48 */ _t30 = cpu->r[1] + 0x00000020u;
|
|
/* 02201B48 */ cpu->f[30] = rbrew_read_f64(cpu->mem, _t30);
|
|
/* 02201B4C */ _t31 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02201B4C */ cpu->r[31] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02201B50 */ _t32 = cpu->r[1] + 0x00000010u;
|
|
/* 02201B50 */ cpu->f[29] = rbrew_read_f64(cpu->mem, _t32);
|
|
/* 02201B54 */ _t33 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02201B54 */ _t34 = _t33 & 0x00000001u;
|
|
/* 02201B54 */ if (_t34) goto L_02201B58; // else: addr-0 trap, fall-through
|
|
L_02201B58: ; // 0x2201b58
|
|
/* 02201B58 */ _t35 = cpu->r[1] + 0x00000044u;
|
|
/* 02201B58 */ cpu->r[0] = rbrew_read32(cpu->mem, _t35);
|
|
/* 02201B5C */ cpu->lr = cpu->r[0];
|
|
/* 02201B60 */ cpu->r[1] = cpu->r[1] + 0x00000040u;
|
|
/* 02201B64 */ return;
|
|
}
|
|
|
|
// fn_02201B68 @ 0x2201b68
|
|
void Gambit_fn_02201B68(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_02201B68: ; // 0x2201b68
|
|
/* 02201B68 */ cpu->r[0] = cpu->lr;
|
|
/* 02201B6C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02201B6C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02201B6C */ cpu->r[1] = _t0;
|
|
/* 02201B70 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02201B70 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02201B74 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02201B74 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02201B78 */ _t3 = cpu->r[3] + 0x00000004u;
|
|
/* 02201B78 */ cpu->r[12] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02201B7C */ _t4 = cpu->r[12] + 0x00000474u;
|
|
/* 02201B7C */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02201B80 */ cpu->ctr = cpu->r[12];
|
|
/* 02201B84 */ cpu->r[31] = cpu->r[3];
|
|
/* 02201B88 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02201B8C */ _t5 = cpu->r[31] + 0x00000198u;
|
|
/* 02201B8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02201B90 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000016u, 0x00000016u);
|
|
/* 02201B90 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02201B94 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02201B94 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02201B94 */ if (_t7) goto L_02201BA0; else goto L_02201B98;
|
|
L_02201B98: ; // 0x2201b98
|
|
/* 02201B98 */ _t8 = cpu->r[3] + 0x000006F0u;
|
|
/* 02201B98 */ cpu->r[3] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02201B9C */ goto L_02201BA4;
|
|
L_02201BA0: ; // 0x2201ba0
|
|
/* 02201BA0 */ _t9 = cpu->r[3] + 0x00000BD0u;
|
|
/* 02201BA0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t9);
|
|
L_02201BA4: ; // 0x2201ba4
|
|
/* 02201BA4 */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02201BA4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02201BA8 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02201BA8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02201BAC */ cpu->lr = cpu->r[0];
|
|
/* 02201BB0 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02201BB4 */ return;
|
|
}
|
|
|
|
// fn_02201B6C @ 0x2201b6c
|
|
void Gambit_fn_02201B6C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_02201B6C: ; // 0x2201b6c
|
|
/* 02201B6C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02201B6C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02201B6C */ cpu->r[1] = _t0;
|
|
/* 02201B70 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02201B70 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02201B74 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02201B74 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02201B78 */ _t3 = cpu->r[3] + 0x00000004u;
|
|
/* 02201B78 */ cpu->r[12] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02201B7C */ _t4 = cpu->r[12] + 0x00000474u;
|
|
/* 02201B7C */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02201B80 */ cpu->ctr = cpu->r[12];
|
|
/* 02201B84 */ cpu->r[31] = cpu->r[3];
|
|
/* 02201B88 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02201B8C */ _t5 = cpu->r[31] + 0x00000198u;
|
|
/* 02201B8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02201B90 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000016u, 0x00000016u);
|
|
/* 02201B90 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02201B94 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02201B94 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02201B94 */ if (_t7) goto L_02201BA0; else goto L_02201B98;
|
|
L_02201B98: ; // 0x2201b98
|
|
/* 02201B98 */ _t8 = cpu->r[3] + 0x000006F0u;
|
|
/* 02201B98 */ cpu->r[3] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02201B9C */ goto L_02201BA4;
|
|
L_02201BA0: ; // 0x2201ba0
|
|
/* 02201BA0 */ _t9 = cpu->r[3] + 0x00000BD0u;
|
|
/* 02201BA0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t9);
|
|
L_02201BA4: ; // 0x2201ba4
|
|
/* 02201BA4 */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02201BA4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02201BA8 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02201BA8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02201BAC */ cpu->lr = cpu->r[0];
|
|
/* 02201BB0 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02201BB4 */ return;
|
|
}
|
|
|
|
// fn_02201BB8 @ 0x2201bb8
|
|
void Gambit_fn_02201BB8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12;
|
|
|
|
L_02201BB8: ; // 0x2201bb8
|
|
/* 02201BB8 */ _t0 = cpu->r[3] + 0x00000198u;
|
|
/* 02201BB8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02201BBC */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000018u, 0x00000019u);
|
|
/* 02201BBC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02201BC0 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02201BC0 */ _t2 = _t1 & 0x00000001u;
|
|
/* 02201BC0 */ if (_t2) goto L_02201BC4; else goto L_02201BD4;
|
|
L_02201BC4: ; // 0x2201bc4
|
|
/* 02201BC4 */ _t3 = cpu->r[3] + 0x00000114u;
|
|
/* 02201BC4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02201BC8 */ cpu->r[0] = 0x00000001u;
|
|
/* 02201BCC */ _t4 = rbrew_rlwinm(cpu->r[0], 0x00000016u, 0x00000008u, 0x00000009u);
|
|
/* 02201BCC */ _t5 = cpu->r[12] & 0xFF3FFFFFu;
|
|
/* 02201BCC */ cpu->r[12] = _t5 | _t4;
|
|
/* 02201BD0 */ _t6 = cpu->r[3] + 0x00000114u;
|
|
/* 02201BD0 */ rbrew_write32(cpu->mem, _t6, cpu->r[12]);
|
|
L_02201BD4: ; // 0x2201bd4
|
|
/* 02201BD4 */ cpu->r[12] = 0x10040000u;
|
|
/* 02201BD8 */ _t7 = cpu->r[3] + 0x00000194u;
|
|
/* 02201BD8 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t7);
|
|
/* 02201BDC */ _t8 = cpu->r[12] + 0xFFFFE510u;
|
|
/* 02201BDC */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t8);
|
|
/* 02201BE0 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[13], cpu->f[0]);
|
|
/* 02201BE4 */ _t9 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02201BE4 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02201BE4 */ _t11 = _t10 ^ 0x00000001u;
|
|
/* 02201BE4 */ if (_t11) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02201BE4 */ goto L_02201BE8;
|
|
L_02201BE8: ; // 0x2201be8
|
|
/* 02201BE8 */ _t12 = cpu->r[3] + 0x00000194u;
|
|
/* 02201BE8 */ rbrew_write_f32(cpu->mem, _t12, cpu->f[0]);
|
|
/* 02201BEC */ return;
|
|
}
|
|
|
|
// fn_02201BF0 @ 0x2201bf0
|
|
void Gambit_fn_02201BF0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54;
|
|
|
|
L_02201BF0: ; // 0x2201bf0
|
|
/* 02201BF0 */ cpu->r[12] = 0x101C0000u;
|
|
/* 02201BF4 */ _t0 = cpu->r[12] + 0x00006000u;
|
|
/* 02201BF4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02201BF8 */ cpu->r[4] = cpu->r[3];
|
|
/* 02201BFC */ _t1 = cpu->r[12] + 0x0000027Cu;
|
|
/* 02201BFC */ cpu->r[3] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02201C00 */ goto L_026C06D8;
|
|
L_026C06D8: ; // 0x26c06d8
|
|
/* 026C06D8 */ cpu->r[0] = cpu->lr;
|
|
/* 026C06DC */ _t2 = cpu->r[1] + 0xFFFFFFD8u;
|
|
/* 026C06DC */ rbrew_write32(cpu->mem, _t2, cpu->r[1]);
|
|
/* 026C06DC */ cpu->r[1] = _t2;
|
|
/* 026C06E0 */ _t3 = cpu->r[1] + 0x00000018u;
|
|
/* 026C06E0 */ rbrew_write32(cpu->mem, _t3, cpu->r[28]);
|
|
/* 026C06E4 */ _t4 = cpu->r[1] + 0x00000020u;
|
|
/* 026C06E4 */ rbrew_write32(cpu->mem, _t4, cpu->r[30]);
|
|
/* 026C06E8 */ _t5 = cpu->r[1] + 0x00000024u;
|
|
/* 026C06E8 */ rbrew_write32(cpu->mem, _t5, cpu->r[31]);
|
|
/* 026C06EC */ _t6 = cpu->r[1] + 0x0000001Cu;
|
|
/* 026C06EC */ rbrew_write32(cpu->mem, _t6, cpu->r[29]);
|
|
/* 026C06F0 */ cpu->r[31] = cpu->r[4];
|
|
/* 026C06F4 */ cpu->r[11] = 0x101D0000u;
|
|
/* 026C06F8 */ _t7 = cpu->r[1] + 0x0000002Cu;
|
|
/* 026C06F8 */ rbrew_write32(cpu->mem, _t7, cpu->r[0]);
|
|
/* 026C06FC */ _t8 = cpu->r[11] + 0xFFFFFD9Cu;
|
|
/* 026C06FC */ cpu->r[11] = rbrew_read32(cpu->mem, _t8);
|
|
/* 026C0700 */ cpu->r[29] = 0xFFFFFFFFu;
|
|
/* 026C0704 */ cpu->r[28] = 0x100F0000u;
|
|
/* 026C0708 */ cpu->r[30] = cpu->r[3];
|
|
/* 026C070C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 026C0710 */ cpu->r[28] = cpu->r[28] + 0xFFFF8958u;
|
|
/* 026C0714 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 026C0714 */ _t10 = _t9 & 0x00000001u;
|
|
/* 026C0714 */ if (_t10) goto L_026C0718; else goto L_026C072C;
|
|
L_026C0718: ; // 0x26c0718
|
|
/* 026C0718 */ cpu->r[8] = 0x101D0000u;
|
|
/* 026C071C */ cpu->r[0] = 0x00000001u;
|
|
/* 026C0720 */ cpu->r[12] = 0x101D0000u;
|
|
/* 026C0724 */ _t11 = cpu->r[8] + 0xFFFFFD9Cu;
|
|
/* 026C0724 */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
|
|
/* 026C0728 */ _t12 = cpu->r[12] + 0xFFFFFE8Cu;
|
|
/* 026C0728 */ rbrew_write32(cpu->mem, _t12, cpu->r[28]);
|
|
L_026C072C: ; // 0x26c072c
|
|
/* 026C072C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 026C0730 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 026C0730 */ _t14 = _t13 & 0x00000001u;
|
|
/* 026C0730 */ if (_t14) goto L_026C076C; else goto L_026C0734;
|
|
L_026C0734: ; // 0x26c0734
|
|
/* 026C0734 */ _t15 = cpu->r[31] + 0x00000004u;
|
|
/* 026C0734 */ cpu->r[11] = rbrew_read32(cpu->mem, _t15);
|
|
/* 026C0738 */ _t16 = cpu->r[11] + 0x00000014u;
|
|
/* 026C0738 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 026C073C */ cpu->r[4] = 0x101D0000u;
|
|
/* 026C0740 */ cpu->ctr = cpu->r[0];
|
|
/* 026C0744 */ cpu->r[4] = cpu->r[4] + 0xFFFFFE8Cu;
|
|
/* 026C0748 */ cpu->r[3] = cpu->r[31];
|
|
/* 026C074C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 026C0750 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 026C0754 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 026C0754 */ _t18 = _t17 & 0x00000001u;
|
|
/* 026C0754 */ if (_t18) goto L_026C076C; else goto L_026C0758;
|
|
L_026C0758: ; // 0x26c0758
|
|
/* 026C0758 */ cpu->r[29] = 0x00000000u;
|
|
/* 026C075C */ _t19 = cpu->r[1] + 0x00000008u;
|
|
/* 026C075C */ rbrew_write32(cpu->mem, _t19, cpu->r[29]);
|
|
/* 026C0760 */ _t20 = cpu->r[1] + 0x00000008u;
|
|
/* 026C0760 */ cpu->r[8] = rbrew_read32(cpu->mem, _t20);
|
|
/* 026C0764 */ _t21 = cpu->r[1] + 0x0000000Cu;
|
|
/* 026C0764 */ rbrew_write32(cpu->mem, _t21, cpu->r[8]);
|
|
/* 026C0768 */ goto L_026C0824;
|
|
L_026C076C: ; // 0x26c076c
|
|
/* 026C076C */ cpu->r[12] = 0x101D0000u;
|
|
/* 026C0770 */ _t22 = cpu->r[12] + 0xFFFFFDA0u;
|
|
/* 026C0770 */ cpu->r[12] = rbrew_read32(cpu->mem, _t22);
|
|
/* 026C0774 */ cpu->r[4] = 0x101D0000u;
|
|
/* 026C0778 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 026C077C */ cpu->r[4] = cpu->r[4] + 0xFFFFFE90u;
|
|
/* 026C0780 */ _t23 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 026C0780 */ _t24 = _t23 & 0x00000001u;
|
|
/* 026C0780 */ if (_t24) goto L_026C0784; else goto L_026C0794;
|
|
L_026C0784: ; // 0x26c0784
|
|
/* 026C0784 */ _t25 = cpu->r[4] + 0x00000000u;
|
|
/* 026C0784 */ rbrew_write32(cpu->mem, _t25, cpu->r[28]);
|
|
/* 026C0788 */ cpu->r[0] = 0x00000001u;
|
|
/* 026C078C */ cpu->r[12] = 0x101D0000u;
|
|
/* 026C0790 */ _t26 = cpu->r[12] + 0xFFFFFDA0u;
|
|
/* 026C0790 */ rbrew_write32(cpu->mem, _t26, cpu->r[0]);
|
|
L_026C0794: ; // 0x26c0794
|
|
/* 026C0794 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 026C0798 */ _t27 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 026C0798 */ _t28 = _t27 & 0x00000001u;
|
|
/* 026C0798 */ if (_t28) goto L_026C07CC; else goto L_026C079C;
|
|
L_026C079C: ; // 0x26c079c
|
|
/* 026C079C */ _t29 = cpu->r[31] + 0x00000004u;
|
|
/* 026C079C */ cpu->r[10] = rbrew_read32(cpu->mem, _t29);
|
|
/* 026C07A0 */ _t30 = cpu->r[10] + 0x00000014u;
|
|
/* 026C07A0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t30);
|
|
/* 026C07A4 */ cpu->ctr = cpu->r[0];
|
|
/* 026C07A8 */ cpu->r[3] = cpu->r[31];
|
|
/* 026C07AC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 026C07B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 026C07B4 */ _t31 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 026C07B4 */ _t32 = _t31 & 0x00000001u;
|
|
/* 026C07B4 */ if (_t32) goto L_026C07CC; else goto L_026C07B8;
|
|
L_026C07B8: ; // 0x26c07b8
|
|
/* 026C07B8 */ cpu->r[29] = 0x00000002u;
|
|
/* 026C07BC */ _t33 = cpu->r[1] + 0x00000008u;
|
|
/* 026C07BC */ rbrew_write32(cpu->mem, _t33, cpu->r[29]);
|
|
/* 026C07C0 */ _t34 = cpu->r[1] + 0x00000008u;
|
|
/* 026C07C0 */ cpu->r[8] = rbrew_read32(cpu->mem, _t34);
|
|
/* 026C07C4 */ _t35 = cpu->r[1] + 0x00000010u;
|
|
/* 026C07C4 */ rbrew_write32(cpu->mem, _t35, cpu->r[8]);
|
|
/* 026C07C8 */ goto L_026C0824;
|
|
L_026C07CC: ; // 0x26c07cc
|
|
/* 026C07CC */ cpu->r[8] = 0x101D0000u;
|
|
/* 026C07D0 */ _t36 = cpu->r[8] + 0xFFFFFDA4u;
|
|
/* 026C07D0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t36);
|
|
/* 026C07D0 */ cpu->r[8] = _t36;
|
|
/* 026C07D4 */ cpu->r[4] = 0x101D0000u;
|
|
/* 026C07D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 026C07DC */ cpu->r[4] = cpu->r[4] + 0xFFFFFE94u;
|
|
/* 026C07E0 */ _t37 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 026C07E0 */ _t38 = _t37 & 0x00000001u;
|
|
/* 026C07E0 */ if (_t38) goto L_026C07E4; else goto L_026C07F0;
|
|
L_026C07E4: ; // 0x26c07e4
|
|
/* 026C07E4 */ _t39 = cpu->r[4] + 0x00000000u;
|
|
/* 026C07E4 */ rbrew_write32(cpu->mem, _t39, cpu->r[28]);
|
|
/* 026C07E8 */ cpu->r[0] = 0x00000001u;
|
|
/* 026C07EC */ _t40 = cpu->r[8] + 0x00000000u;
|
|
/* 026C07EC */ rbrew_write32(cpu->mem, _t40, cpu->r[0]);
|
|
L_026C07F0: ; // 0x26c07f0
|
|
/* 026C07F0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 026C07F4 */ _t41 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 026C07F4 */ _t42 = _t41 & 0x00000001u;
|
|
/* 026C07F4 */ if (_t42) goto L_026C0824; else goto L_026C07F8;
|
|
L_026C07F8: ; // 0x26c07f8
|
|
/* 026C07F8 */ _t43 = cpu->r[31] + 0x00000004u;
|
|
/* 026C07F8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t43);
|
|
/* 026C07FC */ _t44 = cpu->r[12] + 0x00000014u;
|
|
/* 026C07FC */ cpu->r[7] = rbrew_read32(cpu->mem, _t44);
|
|
/* 026C0800 */ cpu->ctr = cpu->r[7];
|
|
/* 026C0804 */ cpu->r[3] = cpu->r[31];
|
|
/* 026C0808 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 026C080C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 026C0810 */ _t45 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 026C0810 */ _t46 = _t45 & 0x00000001u;
|
|
/* 026C0810 */ if (_t46) goto L_026C0824; else goto L_026C0814;
|
|
L_026C0814: ; // 0x26c0814
|
|
/* 026C0814 */ cpu->r[29] = 0x00000004u;
|
|
/* 026C0818 */ _t47 = cpu->r[1] + 0x00000008u;
|
|
/* 026C0818 */ rbrew_write32(cpu->mem, _t47, cpu->r[29]);
|
|
/* 026C081C */ _t48 = cpu->r[1] + 0x00000008u;
|
|
/* 026C081C */ cpu->r[8] = rbrew_read32(cpu->mem, _t48);
|
|
/* 026C0820 */ _t49 = cpu->r[1] + 0x00000014u;
|
|
/* 026C0820 */ rbrew_write32(cpu->mem, _t49, cpu->r[8]);
|
|
L_026C0824: ; // 0x26c0824
|
|
/* 026C0824 */ cpu->r[3] = cpu->r[30];
|
|
/* 026C0828 */ cpu->r[4] = cpu->r[29];
|
|
/* 026C082C */ Gambit_fn_026C06B4(cpu);
|
|
/* 026C0830 */ _t50 = cpu->r[1] + 0x00000018u;
|
|
/* 026C0830 */ cpu->r[28] = rbrew_read32(cpu->mem, _t50);
|
|
/* 026C0834 */ _t51 = cpu->r[1] + 0x0000001Cu;
|
|
/* 026C0834 */ cpu->r[29] = rbrew_read32(cpu->mem, _t51);
|
|
/* 026C0838 */ _t52 = cpu->r[1] + 0x0000002Cu;
|
|
/* 026C0838 */ cpu->r[0] = rbrew_read32(cpu->mem, _t52);
|
|
/* 026C083C */ _t53 = cpu->r[1] + 0x00000020u;
|
|
/* 026C083C */ cpu->r[30] = rbrew_read32(cpu->mem, _t53);
|
|
/* 026C0840 */ cpu->lr = cpu->r[0];
|
|
/* 026C0844 */ _t54 = cpu->r[1] + 0x00000024u;
|
|
/* 026C0844 */ cpu->r[31] = rbrew_read32(cpu->mem, _t54);
|
|
/* 026C0848 */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 026C084C */ return;
|
|
}
|
|
|
|
// fn_02201C20 @ 0x2201c20
|
|
void Gambit_fn_02201C20(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7;
|
|
|
|
L_02201C20: ; // 0x2201c20
|
|
/* 02201C20 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02201C20 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02201C20 */ cpu->r[1] = _t0;
|
|
/* 02201C24 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02201C24 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02201C28 */ cpu->r[31] = cpu->r[3];
|
|
/* 02201C2C */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02201C2C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02201C30 */ Gambit_fn_02201B68(cpu);
|
|
/* 02201C34 */ _t3 = cpu->r[31] + 0x0000013Cu;
|
|
/* 02201C34 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02201C38 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], cpu->r[3]);
|
|
/* 02201C3C */ _t4 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02201C3C */ _t5 = _t4 & 0x00000001u;
|
|
/* 02201C3C */ if (_t5) goto L_02201C4C; else goto L_02201C40;
|
|
L_02201C40: ; // 0x2201c40
|
|
/* 02201C40 */ cpu->r[3] = cpu->r[31] + 0x00000134u;
|
|
/* 02201C44 */ cpu->r[4] = 0x00000001u;
|
|
/* 02201C48 */ Gambit_fn_02203034(cpu);
|
|
L_02201C4C: ; // 0x2201c4c
|
|
/* 02201C4C */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 02201C4C */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02201C50 */ _t7 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02201C50 */ cpu->r[31] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02201C54 */ cpu->lr = cpu->r[0];
|
|
/* 02201C58 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02201C5C */ return;
|
|
}
|
|
|
|
// fn_02201C84 @ 0x2201c84
|
|
void Gambit_fn_02201C84(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69, _t70, _t71, _t72, _t73, _t74, _t75, _t76, _t77, _t78, _t79, _t80, _t81, _t82, _t83, _t84, _t85, _t86, _t87, _t88, _t89, _t90, _t91, _t92, _t93, _t94, _t95, _t96, _t97, _t98, _t99, _t100, _t101, _t102, _t103, _t104, _t105, _t106, _t107;
|
|
double _ft34, _ft35, _ft45, _ft46;
|
|
|
|
L_02201C84: ; // 0x2201c84
|
|
/* 02201C84 */ _t0 = cpu->r[1] + 0xFFFFFFA8u;
|
|
/* 02201C84 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02201C84 */ cpu->r[1] = _t0;
|
|
/* 02201C88 */ _t1 = cpu->r[1] + 0x00000050u;
|
|
/* 02201C88 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02201C8C */ _t2 = cpu->r[1] + 0x00000054u;
|
|
/* 02201C8C */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02201C90 */ _t3 = cpu->r[1] + 0x0000005Cu;
|
|
/* 02201C90 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02201C94 */ _t4 = cpu->r[3] + 0x00000004u;
|
|
/* 02201C94 */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02201C98 */ _t5 = cpu->r[12] + 0x0000025Cu;
|
|
/* 02201C98 */ cpu->r[8] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02201C9C */ cpu->ctr = cpu->r[8];
|
|
/* 02201CA0 */ cpu->r[30] = cpu->r[3];
|
|
/* 02201CA4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02201CA8 */ _t6 = cpu->r[3] + 0x00000008u;
|
|
/* 02201CA8 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t6);
|
|
/* 02201CAC */ cpu->r[11] = 0x10040000u;
|
|
/* 02201CB0 */ _t7 = cpu->r[3] + 0x00000004u;
|
|
/* 02201CB0 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t7);
|
|
/* 02201CB4 */ cpu->f[0] = cpu->f[9] * cpu->f[9];
|
|
/* 02201CB8 */ _t8 = cpu->r[11] + 0xFFFFE5A8u;
|
|
/* 02201CB8 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t8);
|
|
/* 02201CBC */ _t9 = cpu->r[3] + 0x00000000u;
|
|
/* 02201CBC */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t9);
|
|
/* 02201CC0 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[11], cpu->f[8]);
|
|
/* 02201CC4 */ cpu->f[4] = fma(cpu->f[12], cpu->f[12], cpu->f[0]);
|
|
/* 02201CC8 */ _t10 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02201CC8 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02201CC8 */ if (_t11) goto L_02201CCC; else goto L_02201F90;
|
|
L_02201CCC: ; // 0x2201ccc
|
|
/* 02201CCC */ cpu->r[10] = 0x10040000u;
|
|
/* 02201CD0 */ _t12 = cpu->r[10] + 0xFFFFE5ACu;
|
|
/* 02201CD0 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t12);
|
|
/* 02201CD4 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[4], cpu->f[13]);
|
|
/* 02201CD8 */ _t13 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02201CD8 */ _t14 = _t13 & 0x00000001u;
|
|
/* 02201CD8 */ if (_t14) goto L_02201CE8; else goto L_02201CDC;
|
|
L_02201CDC: ; // 0x2201cdc
|
|
/* 02201CDC */ _t15 = cpu->r[30] + 0x0000013Cu;
|
|
/* 02201CDC */ cpu->r[9] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02201CE0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 02201CE4 */ _t16 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02201CE4 */ _t17 = _t16 & 0x00000001u;
|
|
/* 02201CE4 */ if (_t17) goto L_02201CE8; else goto L_02201F90;
|
|
L_02201CE8: ; // 0x2201ce8
|
|
/* 02201CE8 */ _t18 = cpu->r[30] + 0x00000174u;
|
|
/* 02201CE8 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t18);
|
|
/* 02201CEC */ cpu->r[9] = 0x10040000u;
|
|
/* 02201CF0 */ cpu->r[8] = 0x10040000u;
|
|
/* 02201CF4 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[9], cpu->f[8]);
|
|
/* 02201CF8 */ _t19 = cpu->r[9] + 0xFFFFE510u;
|
|
/* 02201CF8 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t19);
|
|
/* 02201CFC */ _t20 = cpu->r[8] + 0xFFFFE51Cu;
|
|
/* 02201CFC */ cpu->f[5] = rbrew_read_f32(cpu->mem, _t20);
|
|
/* 02201D00 */ cpu->f[6] = cpu->f[12];
|
|
/* 02201D04 */ _t21 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02201D04 */ _t22 = _t21 & 0x00000001u;
|
|
/* 02201D04 */ if (_t22) goto L_02201D20; else goto L_02201D08;
|
|
L_02201D08: ; // 0x2201d08
|
|
/* 02201D08 */ cpu->f[10] = cpu->f[8] - cpu->f[9];
|
|
/* 02201D0C */ cpu->f[7] = cpu->f[11] - cpu->f[9];
|
|
/* 02201D10 */ cpu->f[6] = cpu->f[10] / cpu->f[7];
|
|
/* 02201D14 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[6], cpu->f[5]);
|
|
/* 02201D18 */ _t23 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02201D18 */ _t24 = _t23 & 0x00000001u;
|
|
/* 02201D18 */ if (_t24) goto L_02201D1C; else goto L_02201D20;
|
|
L_02201D1C: ; // 0x2201d1c
|
|
/* 02201D1C */ cpu->f[6] = cpu->f[5];
|
|
L_02201D20: ; // 0x2201d20
|
|
/* 02201D20 */ _t25 = cpu->r[30] + 0x00000178u;
|
|
/* 02201D20 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t25);
|
|
/* 02201D24 */ _t26 = cpu->r[30] + 0x00000170u;
|
|
/* 02201D24 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t26);
|
|
/* 02201D28 */ cpu->f[11] = cpu->f[10] * cpu->f[10];
|
|
/* 02201D2C */ cpu->f[11] = fma(cpu->f[13], cpu->f[13], cpu->f[11]);
|
|
/* 02201D30 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[11], cpu->f[12]);
|
|
/* 02201D34 */ _t27 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02201D34 */ _t28 = _t27 & 0x00000001u;
|
|
/* 02201D34 */ if (_t28) goto L_02201D54; else goto L_02201D38;
|
|
L_02201D38: ; // 0x2201d38
|
|
/* 02201D38 */ cpu->r[10] = 0x10040000u;
|
|
/* 02201D3C */ cpu->f[3] = cpu->f[12] * cpu->f[11];
|
|
/* 02201D40 */ _t29 = cpu->r[10] + 0xFFFFE5B0u;
|
|
/* 02201D40 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t29);
|
|
/* 02201D44 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[3], cpu->f[9]);
|
|
/* 02201D48 */ cpu->f[9] = cpu->f[12];
|
|
/* 02201D4C */ _t30 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02201D4C */ _t31 = _t30 & 0x00000001u;
|
|
/* 02201D4C */ if (_t31) goto L_02201E00; else goto L_02201D50;
|
|
L_02201D50: ; // 0x2201d50
|
|
/* 02201D50 */ goto L_02201D90;
|
|
L_02201D54: ; // 0x2201d54
|
|
/* 02201D54 */ cpu->r[12] = 0x10040000u;
|
|
/* 02201D58 */ cpu->r[11] = 0x10040000u;
|
|
/* 02201D5C */ _t32 = cpu->r[12] + 0xFFFFE524u;
|
|
/* 02201D5C */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t32);
|
|
/* 02201D60 */ _t33 = cpu->r[11] + 0xFFFFE514u;
|
|
/* 02201D60 */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t33);
|
|
/* 02201D64 */ _ft34 = sqrt(cpu->f[11]);
|
|
/* 02201D64 */ _ft35 = (double)(int32_t)0x00000001u;
|
|
/* 02201D64 */ cpu->f[0] = _ft35 / _ft34;
|
|
/* 02201D68 */ cpu->f[13] = cpu->f[0] * cpu->f[0];
|
|
/* 02201D6C */ cpu->f[10] = cpu->f[0] * cpu->f[7];
|
|
/* 02201D70 */ cpu->f[13] = -fma(cpu->f[13], cpu->f[11], -(cpu->f[8]));
|
|
/* 02201D74 */ cpu->f[0] = cpu->f[13] * cpu->f[10];
|
|
/* 02201D78 */ cpu->r[10] = 0x10040000u;
|
|
/* 02201D7C */ cpu->f[3] = cpu->f[0] * cpu->f[11];
|
|
/* 02201D80 */ _t36 = cpu->r[10] + 0xFFFFE5B0u;
|
|
/* 02201D80 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t36);
|
|
/* 02201D84 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[3], cpu->f[9]);
|
|
/* 02201D88 */ cpu->f[9] = cpu->f[12];
|
|
/* 02201D8C */ _t37 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02201D8C */ _t38 = _t37 & 0x00000001u;
|
|
/* 02201D8C */ if (_t38) goto L_02201E00; else goto L_02201D90;
|
|
L_02201D90: ; // 0x2201d90
|
|
/* 02201D90 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[4], cpu->f[12]);
|
|
/* 02201D94 */ _t39 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02201D94 */ _t40 = _t39 & 0x00000001u;
|
|
/* 02201D94 */ if (_t40) goto L_02201DAC; else goto L_02201D98;
|
|
L_02201D98: ; // 0x2201d98
|
|
/* 02201D98 */ cpu->f[8] = -fma(cpu->f[3], cpu->f[3], -(cpu->f[4]));
|
|
/* 02201D9C */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[8], cpu->f[12]);
|
|
/* 02201DA0 */ cpu->f[11] = cpu->f[12] * cpu->f[4];
|
|
/* 02201DA4 */ _t41 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02201DA4 */ _t42 = _t41 & 0x00000001u;
|
|
/* 02201DA4 */ if (_t42) goto L_02201E00; else goto L_02201DA8;
|
|
L_02201DA8: ; // 0x2201da8
|
|
/* 02201DA8 */ goto L_02201DE0;
|
|
L_02201DAC: ; // 0x2201dac
|
|
/* 02201DAC */ cpu->r[9] = 0x10040000u;
|
|
/* 02201DB0 */ cpu->r[12] = 0x10040000u;
|
|
/* 02201DB4 */ _t43 = cpu->r[9] + 0xFFFFE524u;
|
|
/* 02201DB4 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t43);
|
|
/* 02201DB8 */ _t44 = cpu->r[12] + 0xFFFFE514u;
|
|
/* 02201DB8 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t44);
|
|
/* 02201DBC */ _ft45 = sqrt(cpu->f[4]);
|
|
/* 02201DBC */ _ft46 = (double)(int32_t)0x00000001u;
|
|
/* 02201DBC */ cpu->f[10] = _ft46 / _ft45;
|
|
/* 02201DC0 */ cpu->f[8] = cpu->f[10] * cpu->f[10];
|
|
/* 02201DC4 */ cpu->f[7] = cpu->f[10] * cpu->f[11];
|
|
/* 02201DC8 */ cpu->f[8] = -fma(cpu->f[8], cpu->f[4], -(cpu->f[13]));
|
|
/* 02201DCC */ cpu->f[10] = cpu->f[8] * cpu->f[7];
|
|
/* 02201DD0 */ cpu->f[8] = -fma(cpu->f[3], cpu->f[3], -(cpu->f[4]));
|
|
/* 02201DD4 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[8], cpu->f[12]);
|
|
/* 02201DD8 */ cpu->f[11] = cpu->f[10] * cpu->f[4];
|
|
/* 02201DDC */ _t47 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02201DDC */ _t48 = _t47 & 0x00000001u;
|
|
/* 02201DDC */ if (_t48) goto L_02201E00; else goto L_02201DE0;
|
|
L_02201DE0: ; // 0x2201de0
|
|
/* 02201DE0 */ cpu->r[12] = 0x10040000u;
|
|
/* 02201DE4 */ _t49 = cpu->r[12] + 0xFFFFE5B0u;
|
|
/* 02201DE4 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t49);
|
|
/* 02201DE8 */ cpu->f[13] = cpu->f[11] - cpu->f[3];
|
|
/* 02201DEC */ cpu->f[11] = cpu->f[0] - cpu->f[3];
|
|
/* 02201DF0 */ cpu->f[9] = cpu->f[11] / cpu->f[13];
|
|
/* 02201DF4 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[9], cpu->f[5]);
|
|
/* 02201DF8 */ _t50 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02201DF8 */ _t51 = _t50 & 0x00000001u;
|
|
/* 02201DF8 */ if (_t51) goto L_02201DFC; else goto L_02201E00;
|
|
L_02201DFC: ; // 0x2201dfc
|
|
/* 02201DFC */ cpu->f[9] = cpu->f[5];
|
|
L_02201E00: ; // 0x2201e00
|
|
/* 02201E00 */ _t52 = cpu->r[30] + 0x0000013Cu;
|
|
/* 02201E00 */ cpu->r[8] = rbrew_read32(cpu->mem, _t52);
|
|
/* 02201E04 */ cpu->r[10] = cpu->r[8] + 0xFFFFFFFFu;
|
|
/* 02201E04 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02201E08 */ _t53 = cpu->r[30] + 0x00000170u;
|
|
/* 02201E08 */ cpu->f[3] = rbrew_read_f32(cpu->mem, _t53);
|
|
/* 02201E0C */ _t54 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02201E0C */ _t55 = _t54 & 0x00000001u;
|
|
/* 02201E0C */ if (_t55) goto L_02201E14; else goto L_02201E10;
|
|
L_02201E10: ; // 0x2201e10
|
|
/* 02201E10 */ cpu->f[12] = cpu->f[5];
|
|
L_02201E14: ; // 0x2201e14
|
|
/* 02201E14 */ cpu->f[7] = cpu->f[12] - cpu->f[9];
|
|
/* 02201E18 */ /* nop */
|
|
/* 02201E1C */ _t56 = cpu->r[3] + 0x00000000u;
|
|
/* 02201E1C */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t56);
|
|
/* 02201E20 */ cpu->f[10] = cpu->f[8] - cpu->f[6];
|
|
/* 02201E24 */ cpu->f[11] = cpu->f[9] - cpu->f[3];
|
|
/* 02201E28 */ /* nop */
|
|
/* 02201E2C */ cpu->f[4] = fma(cpu->f[11], cpu->f[2], cpu->f[3]);
|
|
/* 02201E30 */ _t57 = cpu->r[30] + 0x00000174u;
|
|
/* 02201E30 */ cpu->f[3] = rbrew_read_f32(cpu->mem, _t57);
|
|
/* 02201E34 */ _t58 = cpu->r[1] + 0x00000014u;
|
|
/* 02201E34 */ rbrew_write_f32(cpu->mem, _t58, cpu->f[4]);
|
|
/* 02201E38 */ _t59 = cpu->r[3] + 0x00000004u;
|
|
/* 02201E38 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t59);
|
|
/* 02201E3C */ cpu->r[11] = 0x10040000u;
|
|
/* 02201E40 */ _t60 = cpu->r[1] + 0x00000014u;
|
|
/* 02201E40 */ cpu->r[9] = rbrew_read32(cpu->mem, _t60);
|
|
/* 02201E44 */ cpu->f[10] = cpu->f[13] - cpu->f[3];
|
|
/* 02201E48 */ _t61 = cpu->r[11] + 0xFFFFE580u;
|
|
/* 02201E48 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t61);
|
|
/* 02201E4C */ cpu->r[8] = 0x10040000u;
|
|
/* 02201E50 */ _t62 = cpu->r[8] + 0xFFFFE5B4u;
|
|
/* 02201E50 */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t62);
|
|
/* 02201E54 */ cpu->f[6] = fma(cpu->f[10], cpu->f[2], cpu->f[3]);
|
|
/* 02201E58 */ _t63 = cpu->r[30] + 0x00000178u;
|
|
/* 02201E58 */ cpu->f[3] = rbrew_read_f32(cpu->mem, _t63);
|
|
/* 02201E5C */ _t64 = cpu->r[1] + 0x00000018u;
|
|
/* 02201E5C */ rbrew_write_f32(cpu->mem, _t64, cpu->f[6]);
|
|
/* 02201E60 */ _t65 = cpu->r[3] + 0x00000008u;
|
|
/* 02201E60 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t65);
|
|
/* 02201E64 */ _t66 = cpu->r[1] + 0x00000018u;
|
|
/* 02201E64 */ cpu->r[10] = rbrew_read32(cpu->mem, _t66);
|
|
/* 02201E68 */ cpu->f[0] = cpu->f[8] - cpu->f[3];
|
|
/* 02201E6C */ _t67 = cpu->r[1] + 0x00000008u;
|
|
/* 02201E6C */ rbrew_write32(cpu->mem, _t67, cpu->r[9]);
|
|
/* 02201E70 */ _t68 = cpu->r[1] + 0x00000008u;
|
|
/* 02201E70 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t68);
|
|
/* 02201E74 */ _t69 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02201E74 */ rbrew_write32(cpu->mem, _t69, cpu->r[10]);
|
|
/* 02201E78 */ cpu->f[9] = fma(cpu->f[0], cpu->f[2], cpu->f[3]);
|
|
/* 02201E7C */ _t70 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02201E7C */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t70);
|
|
/* 02201E80 */ cpu->f[11] = cpu->f[11] * cpu->f[7];
|
|
/* 02201E84 */ _t71 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02201E84 */ rbrew_write_f32(cpu->mem, _t71, cpu->f[9]);
|
|
/* 02201E88 */ _t72 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02201E88 */ cpu->r[0] = rbrew_read32(cpu->mem, _t72);
|
|
/* 02201E8C */ cpu->f[8] = fma(cpu->f[13], cpu->f[7], -(cpu->f[12]));
|
|
/* 02201E90 */ _t73 = cpu->r[1] + 0x00000008u;
|
|
/* 02201E90 */ rbrew_write_f32(cpu->mem, _t73, cpu->f[11]);
|
|
/* 02201E94 */ _t74 = cpu->r[1] + 0x00000010u;
|
|
/* 02201E94 */ rbrew_write32(cpu->mem, _t74, cpu->r[0]);
|
|
/* 02201E98 */ _t75 = cpu->r[1] + 0x00000010u;
|
|
/* 02201E98 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t75);
|
|
/* 02201E9C */ _t76 = cpu->r[30] + 0x000000ECu;
|
|
/* 02201E9C */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t76);
|
|
/* 02201EA0 */ cpu->f[0] = cpu->f[0] * cpu->f[7];
|
|
/* 02201EA4 */ /* nop */
|
|
/* 02201EA8 */ _t77 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02201EA8 */ rbrew_write_f32(cpu->mem, _t77, cpu->f[8]);
|
|
/* 02201EAC */ /* nop */
|
|
/* 02201EB0 */ cpu->f[13] = cpu->f[0] * cpu->f[12];
|
|
/* 02201EB4 */ _t78 = cpu->r[1] + 0x00000010u;
|
|
/* 02201EB4 */ rbrew_write_f32(cpu->mem, _t78, cpu->f[0]);
|
|
/* 02201EB8 */ /* nop */
|
|
/* 02201EBC */ _t79 = cpu->r[1] + 0x00000040u;
|
|
/* 02201EBC */ rbrew_write_f32(cpu->mem, _t79, cpu->f[13]);
|
|
/* 02201EC0 */ _t80 = cpu->r[1] + 0x00000040u;
|
|
/* 02201EC0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t80);
|
|
/* 02201EC4 */ /* nop */
|
|
/* 02201EC8 */ _t81 = cpu->r[1] + 0x00000038u;
|
|
/* 02201EC8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t81);
|
|
/* 02201ECC */ _t82 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02201ECC */ cpu->r[10] = rbrew_read32(cpu->mem, _t82);
|
|
/* 02201ED0 */ _t83 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02201ED0 */ rbrew_write32(cpu->mem, _t83, cpu->r[9]);
|
|
/* 02201ED4 */ _t84 = cpu->r[1] + 0x00000030u;
|
|
/* 02201ED4 */ rbrew_write32(cpu->mem, _t84, cpu->r[10]);
|
|
/* 02201ED8 */ /* nop */
|
|
/* 02201EDC */ _t85 = cpu->r[1] + 0x00000034u;
|
|
/* 02201EDC */ rbrew_write32(cpu->mem, _t85, cpu->r[0]);
|
|
/* 02201EE0 */ /* nop */
|
|
/* 02201EE4 */ /* nop */
|
|
/* 02201EE8 */ _t86 = cpu->r[1] + 0x00000024u;
|
|
/* 02201EE8 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t86);
|
|
/* 02201EEC */ cpu->f[11] = cpu->f[5] - cpu->f[2];
|
|
/* 02201EF0 */ _t87 = cpu->r[1] + 0x00000020u;
|
|
/* 02201EF0 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t87);
|
|
/* 02201EF4 */ cpu->f[10] = cpu->f[13] - cpu->f[6];
|
|
/* 02201EF8 */ _t88 = cpu->r[1] + 0x00000034u;
|
|
/* 02201EF8 */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t88);
|
|
/* 02201EFC */ cpu->f[8] = cpu->f[12] - cpu->f[4];
|
|
/* 02201F00 */ cpu->f[12] = cpu->f[9] + cpu->f[7];
|
|
/* 02201F04 */ cpu->f[0] = fma(cpu->f[8], cpu->f[11], cpu->f[4]);
|
|
/* 02201F08 */ _t89 = cpu->r[30] + 0x00000004u;
|
|
/* 02201F08 */ cpu->r[31] = rbrew_read32(cpu->mem, _t89);
|
|
/* 02201F0C */ cpu->f[8] = cpu->f[12] - cpu->f[9];
|
|
/* 02201F10 */ _t90 = cpu->r[1] + 0x00000028u;
|
|
/* 02201F10 */ rbrew_write_f32(cpu->mem, _t90, cpu->f[12]);
|
|
/* 02201F14 */ cpu->f[7] = fma(cpu->f[10], cpu->f[11], cpu->f[6]);
|
|
/* 02201F18 */ _t91 = cpu->r[30] + 0x000000C4u;
|
|
/* 02201F18 */ rbrew_write_f32(cpu->mem, _t91, cpu->f[0]);
|
|
/* 02201F1C */ cpu->f[10] = fma(cpu->f[8], cpu->f[11], cpu->f[9]);
|
|
/* 02201F20 */ _t92 = cpu->r[30] + 0x000000C8u;
|
|
/* 02201F20 */ rbrew_write_f32(cpu->mem, _t92, cpu->f[7]);
|
|
/* 02201F24 */ _t93 = cpu->r[30] + 0x000000CCu;
|
|
/* 02201F24 */ rbrew_write_f32(cpu->mem, _t93, cpu->f[10]);
|
|
/* 02201F28 */ _t94 = cpu->r[31] + 0x0000025Cu;
|
|
/* 02201F28 */ cpu->r[0] = rbrew_read32(cpu->mem, _t94);
|
|
/* 02201F2C */ cpu->ctr = cpu->r[0];
|
|
/* 02201F30 */ cpu->r[3] = cpu->r[30];
|
|
/* 02201F34 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02201F38 */ /* nop */
|
|
/* 02201F3C */ /* nop */
|
|
/* 02201F40 */ _t95 = cpu->r[30] + 0x00000090u;
|
|
/* 02201F40 */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t95);
|
|
/* 02201F44 */ /* nop */
|
|
/* 02201F48 */ /* nop */
|
|
/* 02201F4C */ _t96 = cpu->r[3] + 0x00000008u;
|
|
/* 02201F4C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t96);
|
|
/* 02201F50 */ _t97 = cpu->r[1] + 0x00000044u;
|
|
/* 02201F50 */ cpu->r[0] = rbrew_read32(cpu->mem, _t97);
|
|
/* 02201F54 */ cpu->f[0] = cpu->f[7] + cpu->f[0];
|
|
/* 02201F58 */ _t98 = cpu->r[1] + 0x00000048u;
|
|
/* 02201F58 */ cpu->r[8] = rbrew_read32(cpu->mem, _t98);
|
|
/* 02201F5C */ _t99 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02201F5C */ rbrew_write32(cpu->mem, _t99, cpu->r[0]);
|
|
/* 02201F60 */ _t100 = cpu->r[1] + 0x0000004Cu;
|
|
/* 02201F60 */ rbrew_write_f32(cpu->mem, _t100, cpu->f[0]);
|
|
/* 02201F64 */ _t101 = cpu->r[1] + 0x0000004Cu;
|
|
/* 02201F64 */ cpu->r[9] = rbrew_read32(cpu->mem, _t101);
|
|
/* 02201F68 */ _t102 = cpu->r[1] + 0x00000030u;
|
|
/* 02201F68 */ rbrew_write32(cpu->mem, _t102, cpu->r[8]);
|
|
/* 02201F6C */ _t103 = cpu->r[1] + 0x00000034u;
|
|
/* 02201F6C */ rbrew_write32(cpu->mem, _t103, cpu->r[9]);
|
|
/* 02201F70 */ _t104 = cpu->r[31] + 0x0000027Cu;
|
|
/* 02201F70 */ cpu->r[0] = rbrew_read32(cpu->mem, _t104);
|
|
/* 02201F74 */ cpu->ctr = cpu->r[0];
|
|
/* 02201F78 */ cpu->r[3] = cpu->r[30];
|
|
/* 02201F7C */ cpu->r[4] = cpu->r[1] + 0x0000002Cu;
|
|
/* 02201F80 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02201F84 */ cpu->r[4] = 0x00000002u;
|
|
/* 02201F88 */ cpu->r[3] = cpu->r[30] + 0x00000134u;
|
|
/* 02201F8C */ Gambit_fn_02203034(cpu);
|
|
L_02201F90: ; // 0x2201f90
|
|
/* 02201F90 */ _t105 = cpu->r[1] + 0x0000005Cu;
|
|
/* 02201F90 */ cpu->r[0] = rbrew_read32(cpu->mem, _t105);
|
|
/* 02201F94 */ _t106 = cpu->r[1] + 0x00000050u;
|
|
/* 02201F94 */ cpu->r[30] = rbrew_read32(cpu->mem, _t106);
|
|
/* 02201F98 */ cpu->lr = cpu->r[0];
|
|
/* 02201F9C */ _t107 = cpu->r[1] + 0x00000054u;
|
|
/* 02201F9C */ cpu->r[31] = rbrew_read32(cpu->mem, _t107);
|
|
/* 02201FA0 */ cpu->r[1] = cpu->r[1] + 0x00000058u;
|
|
/* 02201FA4 */ return;
|
|
}
|
|
|
|
// fn_02201FC8 @ 0x2201fc8
|
|
void Gambit_fn_02201FC8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4;
|
|
|
|
L_02201FC8: ; // 0x2201fc8
|
|
/* 02201FC8 */ cpu->r[0] = cpu->lr;
|
|
/* 02201FCC */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02201FCC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02201FCC */ cpu->r[1] = _t0;
|
|
/* 02201FD0 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02201FD0 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02201FD4 */ cpu->r[31] = cpu->r[3];
|
|
/* 02201FD8 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02201FD8 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02201FDC */ Gambit_fn_0222E2D8(cpu);
|
|
/* 02201FE0 */ cpu->r[3] = cpu->r[31];
|
|
/* 02201FE4 */ Gambit_fn_0222F028(cpu);
|
|
/* 02201FE8 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02201FE8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02201FEC */ cpu->lr = cpu->r[0];
|
|
/* 02201FF0 */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02201FF0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02201FF4 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02201FF8 */ return;
|
|
}
|
|
|
|
// fn_02201FCC @ 0x2201fcc
|
|
void Gambit_fn_02201FCC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4;
|
|
|
|
L_02201FCC: ; // 0x2201fcc
|
|
/* 02201FCC */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02201FCC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02201FCC */ cpu->r[1] = _t0;
|
|
/* 02201FD0 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02201FD0 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02201FD4 */ cpu->r[31] = cpu->r[3];
|
|
/* 02201FD8 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02201FD8 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02201FDC */ Gambit_fn_0222E2D8(cpu);
|
|
/* 02201FE0 */ cpu->r[3] = cpu->r[31];
|
|
/* 02201FE4 */ Gambit_fn_0222F028(cpu);
|
|
/* 02201FE8 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02201FE8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02201FEC */ cpu->lr = cpu->r[0];
|
|
/* 02201FF0 */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02201FF0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02201FF4 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02201FF8 */ return;
|
|
}
|
|
|
|
// fn_02201FFC @ 0x2201ffc
|
|
void Gambit_fn_02201FFC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27;
|
|
|
|
L_02201FFC: ; // 0x2201ffc
|
|
/* 02201FFC */ cpu->r[0] = cpu->lr;
|
|
/* 02202000 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 02202000 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02202000 */ cpu->r[1] = _t0;
|
|
/* 02202004 */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 02202004 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[31]);
|
|
/* 02202008 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02202008 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 0220200C */ /* nop */
|
|
/* 02202010 */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02202010 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 02202014 */ _t4 = cpu->r[1] + 0x00000018u;
|
|
/* 02202014 */ rbrew_write_f32(cpu->mem, _t4, cpu->f[31]);
|
|
/* 02202018 */ cpu->r[30] = cpu->r[3];
|
|
/* 0220201C */ cpu->r[31] = cpu->r[4];
|
|
/* 02202020 */ _t5 = cpu->r[1] + 0x00000024u;
|
|
/* 02202020 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02202024 */ Gambit_fn_021D85C8(cpu);
|
|
/* 02202028 */ _t6 = cpu->r[31] + 0x00000014u;
|
|
/* 02202028 */ cpu->r[11] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0220202C */ _t7 = cpu->r[31] + 0x00000008u;
|
|
/* 0220202C */ cpu->r[12] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02202030 */ cpu->r[10] = (uint32_t)((int32_t)cpu->r[11] * (int32_t)0x000000B0u);
|
|
/* 02202034 */ _t8 = cpu->r[12] + 0x00000144u;
|
|
/* 02202034 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02202038 */ _t9 = cpu->r[30] + 0x00000128u;
|
|
/* 02202038 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t9);
|
|
/* 0220203C */ _t10 = cpu->r[10] + cpu->r[0];
|
|
/* 0220203C */ rbrew_write32(cpu->mem, _t10, cpu->r[31]);
|
|
/* 02202040 */ _t11 = cpu->r[31] + 0x00000014u;
|
|
/* 02202040 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02202044 */ _t12 = cpu->r[31] + 0x00000008u;
|
|
/* 02202044 */ cpu->r[8] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02202048 */ cpu->r[9] = (uint32_t)((int32_t)cpu->r[0] * (int32_t)0x000000B0u);
|
|
/* 0220204C */ _t13 = cpu->r[8] + 0x00000144u;
|
|
/* 0220204C */ cpu->r[11] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02202050 */ cpu->r[4] = 0x00000008u;
|
|
/* 02202054 */ cpu->r[3] = cpu->r[11] + cpu->r[9];
|
|
/* 02202058 */ rbrew_dispatch(cpu, 0x02d09320u);
|
|
/* 0220205C */ _t14 = cpu->r[31] + 0x00000014u;
|
|
/* 0220205C */ cpu->r[9] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02202060 */ _t15 = cpu->r[31] + 0x00000008u;
|
|
/* 02202060 */ cpu->r[12] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02202064 */ cpu->r[8] = (uint32_t)((int32_t)cpu->r[9] * (int32_t)0x000000B0u);
|
|
/* 02202068 */ _t16 = cpu->r[12] + 0x00000144u;
|
|
/* 02202068 */ cpu->r[11] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0220206C */ cpu->r[10] = cpu->r[11] + cpu->r[8];
|
|
/* 02202070 */ _t17 = cpu->r[10] + 0x00000004u;
|
|
/* 02202070 */ rbrew_write_f32(cpu->mem, _t17, cpu->f[31]);
|
|
/* 02202074 */ _t18 = cpu->r[31] + 0x00000014u;
|
|
/* 02202074 */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02202078 */ _t19 = cpu->r[31] + 0x00000008u;
|
|
/* 02202078 */ cpu->r[12] = rbrew_read32(cpu->mem, _t19);
|
|
/* 0220207C */ cpu->r[0] = (uint32_t)((int32_t)cpu->r[0] * (int32_t)0x000000B0u);
|
|
/* 02202080 */ _t20 = cpu->r[12] + 0x00000144u;
|
|
/* 02202080 */ cpu->r[9] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02202084 */ cpu->r[4] = 0x00000008u;
|
|
/* 02202088 */ cpu->r[3] = cpu->r[9] + cpu->r[0];
|
|
/* 0220208C */ rbrew_dispatch(cpu, 0x02d09320u);
|
|
/* 02202090 */ _t21 = cpu->r[1] + 0x00000018u;
|
|
/* 02202090 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t21);
|
|
/* 02202094 */ _t22 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02202094 */ cpu->r[31] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02202098 */ _t23 = cpu->r[1] + 0x00000010u;
|
|
/* 02202098 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t23);
|
|
/* 0220209C */ _t24 = cpu->r[1] + 0x00000008u;
|
|
/* 0220209C */ cpu->r[30] = rbrew_read32(cpu->mem, _t24);
|
|
/* 022020A0 */ _t25 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 022020A0 */ _t26 = _t25 & 0x00000001u;
|
|
/* 022020A0 */ if (_t26) goto L_022020A4; // else: addr-0 trap, fall-through
|
|
L_022020A4: ; // 0x22020a4
|
|
/* 022020A4 */ _t27 = cpu->r[1] + 0x00000024u;
|
|
/* 022020A4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t27);
|
|
/* 022020A8 */ cpu->lr = cpu->r[0];
|
|
/* 022020AC */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 022020B0 */ return;
|
|
}
|
|
|
|
// fn_02202000 @ 0x2202000
|
|
void Gambit_fn_02202000(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27;
|
|
|
|
L_02202000: ; // 0x2202000
|
|
/* 02202000 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 02202000 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02202000 */ cpu->r[1] = _t0;
|
|
/* 02202004 */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 02202004 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[31]);
|
|
/* 02202008 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02202008 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 0220200C */ /* nop */
|
|
/* 02202010 */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02202010 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 02202014 */ _t4 = cpu->r[1] + 0x00000018u;
|
|
/* 02202014 */ rbrew_write_f32(cpu->mem, _t4, cpu->f[31]);
|
|
/* 02202018 */ cpu->r[30] = cpu->r[3];
|
|
/* 0220201C */ cpu->r[31] = cpu->r[4];
|
|
/* 02202020 */ _t5 = cpu->r[1] + 0x00000024u;
|
|
/* 02202020 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02202024 */ Gambit_fn_021D85C8(cpu);
|
|
/* 02202028 */ _t6 = cpu->r[31] + 0x00000014u;
|
|
/* 02202028 */ cpu->r[11] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0220202C */ _t7 = cpu->r[31] + 0x00000008u;
|
|
/* 0220202C */ cpu->r[12] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02202030 */ cpu->r[10] = (uint32_t)((int32_t)cpu->r[11] * (int32_t)0x000000B0u);
|
|
/* 02202034 */ _t8 = cpu->r[12] + 0x00000144u;
|
|
/* 02202034 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02202038 */ _t9 = cpu->r[30] + 0x00000128u;
|
|
/* 02202038 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t9);
|
|
/* 0220203C */ _t10 = cpu->r[10] + cpu->r[0];
|
|
/* 0220203C */ rbrew_write32(cpu->mem, _t10, cpu->r[31]);
|
|
/* 02202040 */ _t11 = cpu->r[31] + 0x00000014u;
|
|
/* 02202040 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02202044 */ _t12 = cpu->r[31] + 0x00000008u;
|
|
/* 02202044 */ cpu->r[8] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02202048 */ cpu->r[9] = (uint32_t)((int32_t)cpu->r[0] * (int32_t)0x000000B0u);
|
|
/* 0220204C */ _t13 = cpu->r[8] + 0x00000144u;
|
|
/* 0220204C */ cpu->r[11] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02202050 */ cpu->r[4] = 0x00000008u;
|
|
/* 02202054 */ cpu->r[3] = cpu->r[11] + cpu->r[9];
|
|
/* 02202058 */ rbrew_dispatch(cpu, 0x02d09320u);
|
|
/* 0220205C */ _t14 = cpu->r[31] + 0x00000014u;
|
|
/* 0220205C */ cpu->r[9] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02202060 */ _t15 = cpu->r[31] + 0x00000008u;
|
|
/* 02202060 */ cpu->r[12] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02202064 */ cpu->r[8] = (uint32_t)((int32_t)cpu->r[9] * (int32_t)0x000000B0u);
|
|
/* 02202068 */ _t16 = cpu->r[12] + 0x00000144u;
|
|
/* 02202068 */ cpu->r[11] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0220206C */ cpu->r[10] = cpu->r[11] + cpu->r[8];
|
|
/* 02202070 */ _t17 = cpu->r[10] + 0x00000004u;
|
|
/* 02202070 */ rbrew_write_f32(cpu->mem, _t17, cpu->f[31]);
|
|
/* 02202074 */ _t18 = cpu->r[31] + 0x00000014u;
|
|
/* 02202074 */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02202078 */ _t19 = cpu->r[31] + 0x00000008u;
|
|
/* 02202078 */ cpu->r[12] = rbrew_read32(cpu->mem, _t19);
|
|
/* 0220207C */ cpu->r[0] = (uint32_t)((int32_t)cpu->r[0] * (int32_t)0x000000B0u);
|
|
/* 02202080 */ _t20 = cpu->r[12] + 0x00000144u;
|
|
/* 02202080 */ cpu->r[9] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02202084 */ cpu->r[4] = 0x00000008u;
|
|
/* 02202088 */ cpu->r[3] = cpu->r[9] + cpu->r[0];
|
|
/* 0220208C */ rbrew_dispatch(cpu, 0x02d09320u);
|
|
/* 02202090 */ _t21 = cpu->r[1] + 0x00000018u;
|
|
/* 02202090 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t21);
|
|
/* 02202094 */ _t22 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02202094 */ cpu->r[31] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02202098 */ _t23 = cpu->r[1] + 0x00000010u;
|
|
/* 02202098 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t23);
|
|
/* 0220209C */ _t24 = cpu->r[1] + 0x00000008u;
|
|
/* 0220209C */ cpu->r[30] = rbrew_read32(cpu->mem, _t24);
|
|
/* 022020A0 */ _t25 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 022020A0 */ _t26 = _t25 & 0x00000001u;
|
|
/* 022020A0 */ if (_t26) goto L_022020A4; // else: addr-0 trap, fall-through
|
|
L_022020A4: ; // 0x22020a4
|
|
/* 022020A4 */ _t27 = cpu->r[1] + 0x00000024u;
|
|
/* 022020A4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t27);
|
|
/* 022020A8 */ cpu->lr = cpu->r[0];
|
|
/* 022020AC */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 022020B0 */ return;
|
|
}
|
|
|
|
// fn_022020B4 @ 0x22020b4
|
|
void Gambit_fn_022020B4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3;
|
|
|
|
L_022020B4: ; // 0x22020b4
|
|
/* 022020B4 */ _t0 = cpu->r[3] + 0x00000184u;
|
|
/* 022020B4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 022020B8 */ _t1 = cpu->r[4] + 0x00000000u;
|
|
/* 022020B8 */ rbrew_write32(cpu->mem, _t1, cpu->r[12]);
|
|
/* 022020BC */ _t2 = cpu->r[3] + 0x00000188u;
|
|
/* 022020BC */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
|
|
/* 022020C0 */ _t3 = cpu->r[4] + 0x00000004u;
|
|
/* 022020C0 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 022020C4 */ return;
|
|
}
|
|
|
|
// fn_022020C8 @ 0x22020c8
|
|
void Gambit_fn_022020C8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69, _t70, _t71, _t72, _t73, _t74, _t75, _t76, _t77, _t78, _t79, _t80, _t81, _t82, _t83, _t84, _t85, _t86, _t87, _t88, _t89, _t90, _t91, _t92, _t93, _t94, _t95, _t96, _t97, _t98, _t99, _t100, _t101, _t102, _t103, _t104, _t105, _t106, _t107, _t108, _t109, _t110, _t111, _t112, _t113, _t114, _t115, _t116, _t117, _t118, _t119, _t120, _t121, _t122, _t123, _t124, _t125, _t126, _t127, _t128, _t129, _t130, _t131, _t132, _t133, _t134, _t135, _t136, _t137, _t138, _t139;
|
|
|
|
L_022020C8: ; // 0x22020c8
|
|
/* 022020C8 */ _t0 = cpu->r[1] + 0xFFFFFFB0u;
|
|
/* 022020C8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 022020C8 */ cpu->r[1] = _t0;
|
|
/* 022020CC */ _t1 = cpu->r[1] + 0x00000040u;
|
|
/* 022020CC */ rbrew_write_f64(cpu->mem, _t1, cpu->f[31]);
|
|
/* 022020D0 */ cpu->r[0] = cpu->lr;
|
|
/* 022020D4 */ _t2 = cpu->r[1] + 0x00000030u;
|
|
/* 022020D4 */ rbrew_write_f64(cpu->mem, _t2, cpu->f[30]);
|
|
/* 022020D8 */ /* nop */
|
|
/* 022020DC */ /* nop */
|
|
/* 022020E0 */ /* nop */
|
|
/* 022020E4 */ _t3 = cpu->r[1] + 0x00000020u;
|
|
/* 022020E4 */ rbrew_write_f64(cpu->mem, _t3, cpu->f[29]);
|
|
/* 022020E8 */ /* nop */
|
|
/* 022020EC */ _t4 = cpu->r[1] + 0x00000048u;
|
|
/* 022020EC */ rbrew_write_f32(cpu->mem, _t4, cpu->f[31]);
|
|
/* 022020F0 */ cpu->r[5] = 0xFFFFFFFFu;
|
|
/* 022020F4 */ _t5 = cpu->r[1] + 0x00000028u;
|
|
/* 022020F4 */ rbrew_write_f32(cpu->mem, _t5, cpu->f[29]);
|
|
/* 022020F8 */ cpu->r[7] = 0x101E0000u;
|
|
/* 022020FC */ _t6 = cpu->r[1] + 0x00000054u;
|
|
/* 022020FC */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02202100 */ cpu->r[10] = 0xFFFFFFFEu;
|
|
/* 02202104 */ _t7 = cpu->r[1] + 0x00000038u;
|
|
/* 02202104 */ rbrew_write_f32(cpu->mem, _t7, cpu->f[30]);
|
|
/* 02202108 */ cpu->r[8] = 0xFFFFFFFDu;
|
|
/* 0220210C */ cpu->r[9] = 0x101E0000u;
|
|
/* 02202110 */ _t8 = cpu->r[7] + 0x00002738u;
|
|
/* 02202110 */ rbrew_write32(cpu->mem, _t8, cpu->r[10]);
|
|
/* 02202110 */ cpu->r[7] = _t8;
|
|
/* 02202114 */ cpu->r[10] = 0x101F0000u;
|
|
/* 02202118 */ _t9 = cpu->r[9] + 0x00002730u;
|
|
/* 02202118 */ rbrew_write32(cpu->mem, _t9, cpu->r[8]);
|
|
/* 02202118 */ cpu->r[9] = _t9;
|
|
/* 0220211C */ cpu->r[6] = 0x101E0000u;
|
|
/* 02202120 */ _t10 = cpu->r[9] + 0x00000004u;
|
|
/* 02202120 */ rbrew_write32(cpu->mem, _t10, cpu->r[5]);
|
|
/* 02202124 */ cpu->r[10] = cpu->r[10] + 0x00005BFCu;
|
|
/* 02202128 */ _t11 = cpu->r[6] + 0x00002740u;
|
|
/* 02202128 */ rbrew_write32(cpu->mem, _t11, cpu->r[5]);
|
|
/* 02202128 */ cpu->r[6] = _t11;
|
|
/* 0220212C */ cpu->r[0] = 0x00000002u;
|
|
/* 02202130 */ _t12 = cpu->r[10] + 0x00000000u;
|
|
/* 02202130 */ cpu->r[30] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02202134 */ cpu->r[31] = 0x101E0000u;
|
|
/* 02202138 */ _t13 = cpu->r[7] + 0x00000004u;
|
|
/* 02202138 */ rbrew_write32(cpu->mem, _t13, cpu->r[5]);
|
|
/* 0220213C */ cpu->r[12] = 0x101E0000u;
|
|
/* 02202140 */ _t14 = cpu->r[10] + 0x00000008u;
|
|
/* 02202140 */ cpu->r[27] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02202144 */ _t15 = cpu->r[1] + 0x00000008u;
|
|
/* 02202144 */ rbrew_write32(cpu->mem, _t15, cpu->r[0]);
|
|
/* 02202148 */ _t16 = cpu->r[1] + 0x00000008u;
|
|
/* 02202148 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0220214C */ cpu->r[12] = cpu->r[12] + 0x00002748u;
|
|
/* 02202150 */ _t17 = cpu->r[12] + 0x00000004u;
|
|
/* 02202150 */ rbrew_write32(cpu->mem, _t17, cpu->r[5]);
|
|
/* 02202154 */ _t18 = cpu->r[10] + 0x00000004u;
|
|
/* 02202154 */ cpu->r[29] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02202158 */ cpu->r[4] = 0x101F0000u;
|
|
/* 0220215C */ _t19 = cpu->r[10] + 0x0000000Cu;
|
|
/* 0220215C */ cpu->r[28] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02202160 */ cpu->r[10] = 0x101F0000u;
|
|
/* 02202164 */ _t20 = cpu->r[4] + 0x00005C2Cu;
|
|
/* 02202164 */ cpu->r[7] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02202164 */ cpu->r[4] = _t20;
|
|
/* 02202168 */ _t21 = cpu->r[31] + 0x00002768u;
|
|
/* 02202168 */ rbrew_write32(cpu->mem, _t21, cpu->r[30]);
|
|
/* 02202168 */ cpu->r[31] = _t21;
|
|
/* 0220216C */ _t22 = cpu->r[31] + 0x00000010u;
|
|
/* 0220216C */ rbrew_write32(cpu->mem, _t22, cpu->r[30]);
|
|
/* 02202170 */ _t23 = cpu->r[31] + 0x00000018u;
|
|
/* 02202170 */ rbrew_write32(cpu->mem, _t23, cpu->r[27]);
|
|
/* 02202174 */ _t24 = cpu->r[31] + 0x00000030u;
|
|
/* 02202174 */ rbrew_write32(cpu->mem, _t24, cpu->r[7]);
|
|
/* 02202178 */ _t25 = cpu->r[31] + 0x0000002Cu;
|
|
/* 02202178 */ rbrew_write32(cpu->mem, _t25, cpu->r[28]);
|
|
/* 0220217C */ _t26 = cpu->r[31] + 0x00000008u;
|
|
/* 0220217C */ rbrew_write32(cpu->mem, _t26, cpu->r[27]);
|
|
/* 02202180 */ _t27 = cpu->r[31] + 0x00000024u;
|
|
/* 02202180 */ rbrew_write32(cpu->mem, _t27, cpu->r[29]);
|
|
/* 02202184 */ cpu->r[0] = 0x00000004u;
|
|
/* 02202188 */ _t28 = cpu->r[31] + 0x00000028u;
|
|
/* 02202188 */ rbrew_write32(cpu->mem, _t28, cpu->r[27]);
|
|
/* 0220218C */ cpu->r[11] = 0x101E0000u;
|
|
/* 02202190 */ _t29 = cpu->r[6] + 0x00000004u;
|
|
/* 02202190 */ rbrew_write32(cpu->mem, _t29, cpu->r[5]);
|
|
/* 02202194 */ _t30 = cpu->r[11] + 0x00002758u;
|
|
/* 02202194 */ rbrew_write32(cpu->mem, _t30, cpu->r[0]);
|
|
/* 02202198 */ _t31 = cpu->r[10] + 0x00005C1Cu;
|
|
/* 02202198 */ cpu->r[6] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02202198 */ cpu->r[10] = _t31;
|
|
/* 0220219C */ _t32 = cpu->r[10] + 0x00000004u;
|
|
/* 0220219C */ cpu->r[0] = rbrew_read32(cpu->mem, _t32);
|
|
/* 022021A0 */ _t33 = cpu->r[12] + 0x00000000u;
|
|
/* 022021A0 */ rbrew_write32(cpu->mem, _t33, cpu->r[8]);
|
|
/* 022021A4 */ _t34 = cpu->r[31] + 0x00000004u;
|
|
/* 022021A4 */ rbrew_write32(cpu->mem, _t34, cpu->r[29]);
|
|
/* 022021A8 */ _t35 = cpu->r[31] + 0x00000020u;
|
|
/* 022021A8 */ rbrew_write32(cpu->mem, _t35, cpu->r[30]);
|
|
/* 022021AC */ cpu->r[7] = 0x101E0000u;
|
|
/* 022021B0 */ _t36 = cpu->r[4] + 0x0000000Cu;
|
|
/* 022021B0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t36);
|
|
/* 022021B4 */ _t37 = cpu->r[7] + 0x00002750u;
|
|
/* 022021B4 */ rbrew_write32(cpu->mem, _t37, cpu->r[8]);
|
|
/* 022021B4 */ cpu->r[7] = _t37;
|
|
/* 022021B8 */ _t38 = cpu->r[31] + 0x00000014u;
|
|
/* 022021B8 */ rbrew_write32(cpu->mem, _t38, cpu->r[29]);
|
|
/* 022021BC */ _t39 = cpu->r[31] + 0x00000040u;
|
|
/* 022021BC */ rbrew_write32(cpu->mem, _t39, cpu->r[6]);
|
|
/* 022021C0 */ _t40 = cpu->r[31] + 0x0000003Cu;
|
|
/* 022021C0 */ rbrew_write32(cpu->mem, _t40, cpu->r[11]);
|
|
/* 022021C4 */ _t41 = cpu->r[4] + 0x00000008u;
|
|
/* 022021C4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t41);
|
|
/* 022021C8 */ _t42 = cpu->r[10] + 0x00000008u;
|
|
/* 022021C8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t42);
|
|
/* 022021CC */ _t43 = cpu->r[31] + 0x00000044u;
|
|
/* 022021CC */ rbrew_write32(cpu->mem, _t43, cpu->r[0]);
|
|
/* 022021D0 */ _t44 = cpu->r[31] + 0x00000048u;
|
|
/* 022021D0 */ rbrew_write32(cpu->mem, _t44, cpu->r[8]);
|
|
/* 022021D4 */ _t45 = cpu->r[4] + 0x00000004u;
|
|
/* 022021D4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t45);
|
|
/* 022021D8 */ _t46 = cpu->r[10] + 0x0000000Cu;
|
|
/* 022021D8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t46);
|
|
/* 022021DC */ _t47 = cpu->r[31] + 0x0000001Cu;
|
|
/* 022021DC */ rbrew_write32(cpu->mem, _t47, cpu->r[28]);
|
|
/* 022021E0 */ _t48 = cpu->r[31] + 0x0000004Cu;
|
|
/* 022021E0 */ rbrew_write32(cpu->mem, _t48, cpu->r[0]);
|
|
/* 022021E4 */ _t49 = cpu->r[31] + 0x00000034u;
|
|
/* 022021E4 */ rbrew_write32(cpu->mem, _t49, cpu->r[8]);
|
|
/* 022021E8 */ _t50 = cpu->r[7] + 0x00000004u;
|
|
/* 022021E8 */ rbrew_write32(cpu->mem, _t50, cpu->r[5]);
|
|
/* 022021EC */ cpu->r[5] = 0x101F0000u;
|
|
/* 022021F0 */ _t51 = cpu->r[31] + 0x0000000Cu;
|
|
/* 022021F0 */ rbrew_write32(cpu->mem, _t51, cpu->r[28]);
|
|
/* 022021F4 */ _t52 = cpu->r[5] + 0x00005BDCu;
|
|
/* 022021F4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t52);
|
|
/* 022021F4 */ cpu->r[5] = _t52;
|
|
/* 022021F8 */ cpu->r[7] = 0x101F0000u;
|
|
/* 022021FC */ _t53 = cpu->r[5] + 0x00000008u;
|
|
/* 022021FC */ cpu->r[4] = rbrew_read32(cpu->mem, _t53);
|
|
/* 02202200 */ cpu->r[7] = cpu->r[7] + 0x00005C4Cu;
|
|
/* 02202204 */ _t54 = cpu->r[31] + 0x00000038u;
|
|
/* 02202204 */ rbrew_write32(cpu->mem, _t54, cpu->r[9]);
|
|
/* 02202208 */ _t55 = cpu->r[7] + 0x00000004u;
|
|
/* 02202208 */ cpu->r[10] = rbrew_read32(cpu->mem, _t55);
|
|
/* 0220220C */ cpu->r[6] = 0x101F0000u;
|
|
/* 02202210 */ _t56 = cpu->r[31] + 0x00000088u;
|
|
/* 02202210 */ rbrew_write32(cpu->mem, _t56, cpu->r[4]);
|
|
/* 02202214 */ _t57 = cpu->r[6] + 0x00005C3Cu;
|
|
/* 02202214 */ cpu->r[8] = rbrew_read32(cpu->mem, _t57);
|
|
/* 02202214 */ cpu->r[6] = _t57;
|
|
/* 02202218 */ _t58 = cpu->r[6] + 0x0000000Cu;
|
|
/* 02202218 */ cpu->r[12] = rbrew_read32(cpu->mem, _t58);
|
|
/* 0220221C */ _t59 = cpu->r[31] + 0x00000080u;
|
|
/* 0220221C */ rbrew_write32(cpu->mem, _t59, cpu->r[3]);
|
|
/* 02202220 */ _t60 = cpu->r[5] + 0x0000000Cu;
|
|
/* 02202220 */ cpu->r[0] = rbrew_read32(cpu->mem, _t60);
|
|
/* 02202224 */ _t61 = cpu->r[31] + 0x00000058u;
|
|
/* 02202224 */ rbrew_write32(cpu->mem, _t61, cpu->r[4]);
|
|
/* 02202228 */ _t62 = cpu->r[31] + 0x00000064u;
|
|
/* 02202228 */ rbrew_write32(cpu->mem, _t62, cpu->r[10]);
|
|
/* 0220222C */ _t63 = cpu->r[31] + 0x00000090u;
|
|
/* 0220222C */ rbrew_write32(cpu->mem, _t63, cpu->r[3]);
|
|
/* 02202230 */ _t64 = cpu->r[6] + 0x00000004u;
|
|
/* 02202230 */ cpu->r[9] = rbrew_read32(cpu->mem, _t64);
|
|
/* 02202234 */ _t65 = cpu->r[31] + 0x00000070u;
|
|
/* 02202234 */ rbrew_write32(cpu->mem, _t65, cpu->r[8]);
|
|
/* 02202238 */ _t66 = cpu->r[31] + 0x00000074u;
|
|
/* 02202238 */ rbrew_write32(cpu->mem, _t66, cpu->r[9]);
|
|
/* 0220223C */ _t67 = cpu->r[31] + 0x0000007Cu;
|
|
/* 0220223C */ rbrew_write32(cpu->mem, _t67, cpu->r[12]);
|
|
/* 02202240 */ _t68 = cpu->r[5] + 0x00000004u;
|
|
/* 02202240 */ cpu->r[10] = rbrew_read32(cpu->mem, _t68);
|
|
/* 02202244 */ _t69 = cpu->r[7] + 0x0000000Cu;
|
|
/* 02202244 */ cpu->r[5] = rbrew_read32(cpu->mem, _t69);
|
|
/* 02202248 */ _t70 = cpu->r[31] + 0x0000005Cu;
|
|
/* 02202248 */ rbrew_write32(cpu->mem, _t70, cpu->r[0]);
|
|
/* 0220224C */ _t71 = cpu->r[31] + 0x0000006Cu;
|
|
/* 0220224C */ rbrew_write32(cpu->mem, _t71, cpu->r[5]);
|
|
/* 02202250 */ _t72 = cpu->r[31] + 0x00000094u;
|
|
/* 02202250 */ rbrew_write32(cpu->mem, _t72, cpu->r[10]);
|
|
/* 02202254 */ _t73 = cpu->r[31] + 0x00000054u;
|
|
/* 02202254 */ rbrew_write32(cpu->mem, _t73, cpu->r[10]);
|
|
/* 02202258 */ _t74 = cpu->r[31] + 0x00000084u;
|
|
/* 02202258 */ rbrew_write32(cpu->mem, _t74, cpu->r[10]);
|
|
/* 0220225C */ _t75 = cpu->r[31] + 0x00000050u;
|
|
/* 0220225C */ rbrew_write32(cpu->mem, _t75, cpu->r[3]);
|
|
/* 02202260 */ cpu->r[5] = 0x101F0000u;
|
|
/* 02202264 */ _t76 = cpu->r[31] + 0x0000008Cu;
|
|
/* 02202264 */ rbrew_write32(cpu->mem, _t76, cpu->r[0]);
|
|
/* 02202268 */ _t77 = cpu->r[5] + 0x00005C0Cu;
|
|
/* 02202268 */ cpu->r[9] = rbrew_read32(cpu->mem, _t77);
|
|
/* 02202268 */ cpu->r[5] = _t77;
|
|
/* 0220226C */ _t78 = cpu->r[31] + 0x000000BCu;
|
|
/* 0220226C */ rbrew_write32(cpu->mem, _t78, cpu->r[28]);
|
|
/* 02202270 */ _t79 = cpu->r[31] + 0x000000A0u;
|
|
/* 02202270 */ rbrew_write32(cpu->mem, _t79, cpu->r[9]);
|
|
/* 02202274 */ _t80 = cpu->r[5] + 0x00000004u;
|
|
/* 02202274 */ cpu->r[10] = rbrew_read32(cpu->mem, _t80);
|
|
/* 02202278 */ _t81 = cpu->r[6] + 0x00000008u;
|
|
/* 02202278 */ cpu->r[11] = rbrew_read32(cpu->mem, _t81);
|
|
/* 0220227C */ _t82 = cpu->r[31] + 0x000000A4u;
|
|
/* 0220227C */ rbrew_write32(cpu->mem, _t82, cpu->r[10]);
|
|
/* 02202280 */ _t83 = cpu->r[31] + 0x00000078u;
|
|
/* 02202280 */ rbrew_write32(cpu->mem, _t83, cpu->r[11]);
|
|
/* 02202284 */ _t84 = cpu->r[5] + 0x00000008u;
|
|
/* 02202284 */ cpu->r[11] = rbrew_read32(cpu->mem, _t84);
|
|
/* 02202288 */ _t85 = cpu->r[5] + 0x0000000Cu;
|
|
/* 02202288 */ cpu->r[5] = rbrew_read32(cpu->mem, _t85);
|
|
/* 0220228C */ _t86 = cpu->r[31] + 0x000000A8u;
|
|
/* 0220228C */ rbrew_write32(cpu->mem, _t86, cpu->r[11]);
|
|
/* 02202290 */ cpu->r[11] = 0x10040000u;
|
|
/* 02202294 */ _t87 = cpu->r[7] + 0x00000000u;
|
|
/* 02202294 */ cpu->r[8] = rbrew_read32(cpu->mem, _t87);
|
|
/* 02202298 */ cpu->r[3] = cpu->r[31] + 0x000000C0u;
|
|
/* 0220229C */ _t88 = cpu->r[11] + 0xFFFFE5B8u;
|
|
/* 0220229C */ cpu->f[29] = rbrew_read_f32(cpu->mem, _t88);
|
|
/* 022022A0 */ _t89 = cpu->r[31] + 0x00000060u;
|
|
/* 022022A0 */ rbrew_write32(cpu->mem, _t89, cpu->r[8]);
|
|
/* 022022A4 */ _t90 = cpu->r[31] + 0x00000098u;
|
|
/* 022022A4 */ rbrew_write32(cpu->mem, _t90, cpu->r[4]);
|
|
/* 022022A8 */ _t91 = cpu->r[31] + 0x0000009Cu;
|
|
/* 022022A8 */ rbrew_write32(cpu->mem, _t91, cpu->r[0]);
|
|
/* 022022AC */ _t92 = cpu->r[7] + 0x00000008u;
|
|
/* 022022AC */ cpu->r[0] = rbrew_read32(cpu->mem, _t92);
|
|
/* 022022B0 */ _t93 = cpu->r[31] + 0x000000B8u;
|
|
/* 022022B0 */ rbrew_write32(cpu->mem, _t93, cpu->r[27]);
|
|
/* 022022B4 */ _t94 = cpu->r[31] + 0x000000B4u;
|
|
/* 022022B4 */ rbrew_write32(cpu->mem, _t94, cpu->r[29]);
|
|
/* 022022B8 */ _t95 = cpu->r[31] + 0x000000B0u;
|
|
/* 022022B8 */ rbrew_write32(cpu->mem, _t95, cpu->r[30]);
|
|
/* 022022BC */ cpu->r[9] = 0x10040000u;
|
|
/* 022022C0 */ _t96 = cpu->r[31] + 0x000000ACu;
|
|
/* 022022C0 */ rbrew_write32(cpu->mem, _t96, cpu->r[5]);
|
|
/* 022022C4 */ cpu->r[12] = 0x10040000u;
|
|
/* 022022C8 */ _t97 = cpu->r[9] + 0xFFFFE5BCu;
|
|
/* 022022C8 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t97);
|
|
/* 022022CC */ _t98 = cpu->r[12] + 0xFFFFE55Cu;
|
|
/* 022022CC */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t98);
|
|
/* 022022D0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0xFFFFFF40u);
|
|
/* 022022D4 */ _t99 = cpu->r[31] + 0x00000068u;
|
|
/* 022022D4 */ rbrew_write32(cpu->mem, _t99, cpu->r[0]);
|
|
/* 022022D8 */ _t100 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 022022D8 */ _t101 = _t100 & 0x00000001u;
|
|
/* 022022D8 */ if (_t101) goto L_022022DC; else goto L_022022EC;
|
|
L_022022DC: ; // 0x22022dc
|
|
/* 022022DC */ cpu->r[3] = 0x00000010u;
|
|
/* 022022E0 */ Gambit_fn_02801A78(cpu);
|
|
/* 022022E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 022022E8 */ _t102 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 022022E8 */ _t103 = _t102 & 0x00000001u;
|
|
/* 022022E8 */ if (_t103) goto L_02202304; else goto L_022022EC;
|
|
L_022022EC: ; // 0x22022ec
|
|
/* 022022EC */ _t104 = cpu->r[3] + 0x00000004u;
|
|
/* 022022EC */ rbrew_write_f32(cpu->mem, _t104, cpu->f[31]);
|
|
/* 022022F0 */ cpu->r[9] = 0x10040000u;
|
|
/* 022022F4 */ _t105 = cpu->r[3] + 0x00000008u;
|
|
/* 022022F4 */ rbrew_write_f32(cpu->mem, _t105, cpu->f[29]);
|
|
/* 022022F8 */ _t106 = cpu->r[9] + 0xFFFFE51Cu;
|
|
/* 022022F8 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t106);
|
|
/* 022022FC */ _t107 = cpu->r[3] + 0x00000000u;
|
|
/* 022022FC */ rbrew_write_f32(cpu->mem, _t107, cpu->f[30]);
|
|
/* 02202300 */ _t108 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02202300 */ rbrew_write_f32(cpu->mem, _t108, cpu->f[12]);
|
|
L_02202304: ; // 0x2202304
|
|
/* 02202304 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0xFFFFFF30u);
|
|
/* 02202308 */ cpu->r[3] = cpu->r[31] + 0x000000D0u;
|
|
/* 0220230C */ _t109 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0220230C */ _t110 = _t109 & 0x00000001u;
|
|
/* 0220230C */ if (_t110) goto L_02202310; else goto L_02202320;
|
|
L_02202310: ; // 0x2202310
|
|
/* 02202310 */ cpu->r[3] = 0x00000010u;
|
|
/* 02202314 */ Gambit_fn_02801A78(cpu);
|
|
/* 02202318 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0220231C */ _t111 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0220231C */ _t112 = _t111 & 0x00000001u;
|
|
/* 0220231C */ if (_t112) goto L_02202338; else goto L_02202320;
|
|
L_02202320: ; // 0x2202320
|
|
/* 02202320 */ _t113 = cpu->r[3] + 0x00000004u;
|
|
/* 02202320 */ rbrew_write_f32(cpu->mem, _t113, cpu->f[31]);
|
|
/* 02202324 */ cpu->r[12] = 0x10040000u;
|
|
/* 02202328 */ _t114 = cpu->r[3] + 0x00000008u;
|
|
/* 02202328 */ rbrew_write_f32(cpu->mem, _t114, cpu->f[30]);
|
|
/* 0220232C */ _t115 = cpu->r[12] + 0xFFFFE51Cu;
|
|
/* 0220232C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t115);
|
|
/* 02202330 */ _t116 = cpu->r[3] + 0x00000000u;
|
|
/* 02202330 */ rbrew_write_f32(cpu->mem, _t116, cpu->f[29]);
|
|
/* 02202334 */ _t117 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02202334 */ rbrew_write_f32(cpu->mem, _t117, cpu->f[0]);
|
|
L_02202338: ; // 0x2202338
|
|
/* 02202338 */ cpu->r[8] = 0x10040000u;
|
|
/* 0220233C */ cpu->r[6] = 0x10040000u;
|
|
/* 02202340 */ cpu->r[5] = 0x101E0000u;
|
|
/* 02202344 */ _t118 = cpu->r[8] + 0xFFFFE59Cu;
|
|
/* 02202344 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t118);
|
|
/* 02202348 */ cpu->r[5] = cpu->r[5] + 0x0000275Cu;
|
|
/* 0220234C */ _t119 = cpu->r[6] + 0xFFFFE510u;
|
|
/* 0220234C */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t119);
|
|
/* 02202350 */ cpu->r[6] = 0x101F0000u;
|
|
/* 02202354 */ _t120 = cpu->r[5] + 0x00000004u;
|
|
/* 02202354 */ rbrew_write_f32(cpu->mem, _t120, cpu->f[11]);
|
|
/* 02202358 */ cpu->r[6] = cpu->r[6] + 0x00005BCCu;
|
|
/* 0220235C */ _t121 = cpu->r[5] + 0x00000000u;
|
|
/* 0220235C */ rbrew_write_f32(cpu->mem, _t121, cpu->f[13]);
|
|
/* 02202360 */ _t122 = cpu->r[6] + 0x00000000u;
|
|
/* 02202360 */ cpu->r[0] = rbrew_read32(cpu->mem, _t122);
|
|
/* 02202364 */ _t123 = cpu->r[6] + 0x00000004u;
|
|
/* 02202364 */ cpu->r[9] = rbrew_read32(cpu->mem, _t123);
|
|
/* 02202368 */ _t124 = cpu->r[6] + 0x00000008u;
|
|
/* 02202368 */ cpu->r[12] = rbrew_read32(cpu->mem, _t124);
|
|
/* 0220236C */ _t125 = cpu->r[31] + 0x000000E4u;
|
|
/* 0220236C */ rbrew_write32(cpu->mem, _t125, cpu->r[9]);
|
|
/* 02202370 */ _t126 = cpu->r[31] + 0x000000E8u;
|
|
/* 02202370 */ rbrew_write32(cpu->mem, _t126, cpu->r[12]);
|
|
/* 02202374 */ _t127 = cpu->r[31] + 0x000000E0u;
|
|
/* 02202374 */ rbrew_write32(cpu->mem, _t127, cpu->r[0]);
|
|
/* 02202378 */ _t128 = cpu->r[6] + 0x0000000Cu;
|
|
/* 02202378 */ cpu->r[0] = rbrew_read32(cpu->mem, _t128);
|
|
/* 0220237C */ _t129 = cpu->r[5] + 0x00000008u;
|
|
/* 0220237C */ rbrew_write_f32(cpu->mem, _t129, cpu->f[13]);
|
|
/* 02202380 */ _t130 = cpu->r[31] + 0x000000ECu;
|
|
/* 02202380 */ rbrew_write32(cpu->mem, _t130, cpu->r[0]);
|
|
/* 02202384 */ /* nop */
|
|
/* 02202388 */ _t131 = cpu->r[1] + 0x00000028u;
|
|
/* 02202388 */ cpu->f[29] = rbrew_read_f32(cpu->mem, _t131);
|
|
/* 0220238C */ _t132 = cpu->r[1] + 0x00000038u;
|
|
/* 0220238C */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t132);
|
|
/* 02202390 */ _t133 = cpu->r[1] + 0x00000020u;
|
|
/* 02202390 */ cpu->f[29] = rbrew_read_f64(cpu->mem, _t133);
|
|
/* 02202394 */ _t134 = cpu->r[1] + 0x00000048u;
|
|
/* 02202394 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t134);
|
|
/* 02202398 */ _t135 = cpu->r[1] + 0x00000030u;
|
|
/* 02202398 */ cpu->f[30] = rbrew_read_f64(cpu->mem, _t135);
|
|
/* 0220239C */ _t136 = cpu->r[1] + 0x00000040u;
|
|
/* 0220239C */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t136);
|
|
/* 022023A0 */ _t137 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 022023A0 */ _t138 = _t137 & 0x00000001u;
|
|
/* 022023A0 */ if (_t138) goto L_022023A4; // else: addr-0 trap, fall-through
|
|
L_022023A4: ; // 0x22023a4
|
|
/* 022023A4 */ _t139 = cpu->r[1] + 0x00000054u;
|
|
/* 022023A4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t139);
|
|
/* 022023A8 */ cpu->lr = cpu->r[0];
|
|
/* 022023AC */ cpu->r[1] = cpu->r[1] + 0x00000050u;
|
|
/* 022023B0 */ return;
|
|
}
|
|
|
|
// fn_022023B4 @ 0x22023b4
|
|
void Gambit_fn_022023B4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19;
|
|
|
|
L_022023B4: ; // 0x22023b4
|
|
/* 022023B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 022023B8 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 022023B8 */ _t1 = _t0 & 0x00000001u;
|
|
/* 022023B8 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 022023B8 */ goto L_022023BC;
|
|
L_022023BC: ; // 0x22023bc
|
|
/* 022023BC */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 022023BC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 022023C0 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 022023C0 */ _t3 = _t2 & 0x00000001u;
|
|
/* 022023C0 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 022023C0 */ goto L_022023C4;
|
|
L_022023C4: ; // 0x22023c4
|
|
/* 022023C4 */ goto L_02801BB0;
|
|
L_02801B30: ; // 0x2801b30
|
|
/* 02801B30 */ cpu->r[0] = cpu->lr;
|
|
/* 02801B34 */ _t4 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02801B34 */ rbrew_write32(cpu->mem, _t4, cpu->r[1]);
|
|
/* 02801B34 */ cpu->r[1] = _t4;
|
|
/* 02801B38 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B38 */ rbrew_write32(cpu->mem, _t5, cpu->r[31]);
|
|
/* 02801B3C */ cpu->r[31] = cpu->r[3];
|
|
/* 02801B40 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02801B44 */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B44 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02801B48 */ _t7 = cpu->r[3] + 0xFFFF98F0u;
|
|
/* 02801B48 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02801B4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B50 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B50 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02801B50 */ if (_t9) goto L_02801B54; else goto L_02801B70;
|
|
L_02801B54: ; // 0x2801b54
|
|
/* 02801B54 */ cpu->r[3] = cpu->r[31];
|
|
/* 02801B58 */ Gambit_fn_02801B20(cpu);
|
|
/* 02801B5C */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02801B60 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B60 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02801B64 */ cpu->lr = cpu->r[0];
|
|
/* 02801B68 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801B6C */ return;
|
|
L_02801B70: ; // 0x2801b70
|
|
/* 02801B70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02801B74 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B74 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02801B74 */ if (_t13) goto L_02801B9C; else goto L_02801B78;
|
|
L_02801B78: ; // 0x2801b78
|
|
/* 02801B78 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B7C */ Gambit_fn_02826B90(cpu);
|
|
/* 02801B80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B84 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B84 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02801B84 */ if (_t15) goto L_02801B9C; else goto L_02801B88;
|
|
L_02801B88: ; // 0x2801b88
|
|
/* 02801B88 */ _t16 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02801B88 */ cpu->r[12] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02801B8C */ _t17 = cpu->r[12] + 0x0000003Cu;
|
|
/* 02801B8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02801B90 */ cpu->ctr = cpu->r[0];
|
|
/* 02801B94 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B98 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02801B9C: ; // 0x2801b9c
|
|
/* 02801B9C */ _t18 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02801BA0 */ _t19 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801BA0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02801BA4 */ cpu->lr = cpu->r[0];
|
|
/* 02801BA8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801BAC */ return;
|
|
L_02801BB0: ; // 0x2801bb0
|
|
/* 02801BB0 */ goto L_02801B30;
|
|
}
|
|
|
|
// fn_022023C8 @ 0x22023c8
|
|
void Gambit_fn_022023C8(CPUState* cpu) {
|
|
L_022023C8: ; // 0x22023c8
|
|
/* 022023C8 */ return;
|
|
}
|
|
|
|
// fn_022023CC @ 0x22023cc
|
|
void Gambit_fn_022023CC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19;
|
|
|
|
L_022023CC: ; // 0x22023cc
|
|
/* 022023CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 022023D0 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 022023D0 */ _t1 = _t0 & 0x00000001u;
|
|
/* 022023D0 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 022023D0 */ goto L_022023D4;
|
|
L_022023D4: ; // 0x22023d4
|
|
/* 022023D4 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 022023D4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 022023D8 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 022023D8 */ _t3 = _t2 & 0x00000001u;
|
|
/* 022023D8 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 022023D8 */ goto L_022023DC;
|
|
L_022023DC: ; // 0x22023dc
|
|
/* 022023DC */ goto L_02801BB0;
|
|
L_02801B30: ; // 0x2801b30
|
|
/* 02801B30 */ cpu->r[0] = cpu->lr;
|
|
/* 02801B34 */ _t4 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02801B34 */ rbrew_write32(cpu->mem, _t4, cpu->r[1]);
|
|
/* 02801B34 */ cpu->r[1] = _t4;
|
|
/* 02801B38 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B38 */ rbrew_write32(cpu->mem, _t5, cpu->r[31]);
|
|
/* 02801B3C */ cpu->r[31] = cpu->r[3];
|
|
/* 02801B40 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02801B44 */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B44 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02801B48 */ _t7 = cpu->r[3] + 0xFFFF98F0u;
|
|
/* 02801B48 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02801B4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B50 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B50 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02801B50 */ if (_t9) goto L_02801B54; else goto L_02801B70;
|
|
L_02801B54: ; // 0x2801b54
|
|
/* 02801B54 */ cpu->r[3] = cpu->r[31];
|
|
/* 02801B58 */ Gambit_fn_02801B20(cpu);
|
|
/* 02801B5C */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02801B60 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B60 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02801B64 */ cpu->lr = cpu->r[0];
|
|
/* 02801B68 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801B6C */ return;
|
|
L_02801B70: ; // 0x2801b70
|
|
/* 02801B70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02801B74 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B74 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02801B74 */ if (_t13) goto L_02801B9C; else goto L_02801B78;
|
|
L_02801B78: ; // 0x2801b78
|
|
/* 02801B78 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B7C */ Gambit_fn_02826B90(cpu);
|
|
/* 02801B80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B84 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B84 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02801B84 */ if (_t15) goto L_02801B9C; else goto L_02801B88;
|
|
L_02801B88: ; // 0x2801b88
|
|
/* 02801B88 */ _t16 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02801B88 */ cpu->r[12] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02801B8C */ _t17 = cpu->r[12] + 0x0000003Cu;
|
|
/* 02801B8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02801B90 */ cpu->ctr = cpu->r[0];
|
|
/* 02801B94 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B98 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02801B9C: ; // 0x2801b9c
|
|
/* 02801B9C */ _t18 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02801BA0 */ _t19 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801BA0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02801BA4 */ cpu->lr = cpu->r[0];
|
|
/* 02801BA8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801BAC */ return;
|
|
L_02801BB0: ; // 0x2801bb0
|
|
/* 02801BB0 */ goto L_02801B30;
|
|
}
|
|
|
|
// fn_022023E0 @ 0x22023e0
|
|
void Gambit_fn_022023E0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3;
|
|
|
|
L_022023E0: ; // 0x22023e0
|
|
/* 022023E0 */ _t0 = cpu->r[3] + 0x00000000u;
|
|
/* 022023E0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t0);
|
|
/* 022023E4 */ _t1 = cpu->r[3] + 0x00000008u;
|
|
/* 022023E4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
|
|
/* 022023E8 */ cpu->r[12] = cpu->r[11] + cpu->r[12];
|
|
/* 022023EC */ cpu->r[11] = 0x10110000u;
|
|
/* 022023F0 */ _t2 = cpu->r[11] + 0x00007399u;
|
|
/* 022023F0 */ cpu->r[0] = rbrew_read8(cpu->mem, _t2);
|
|
/* 022023F4 */ _t3 = cpu->r[12] + 0xFFFFFFFFu;
|
|
/* 022023F4 */ rbrew_write8(cpu->mem, _t3, (uint8_t)cpu->r[0]);
|
|
/* 022023F8 */ return;
|
|
}
|
|
|
|
// fn_022023FC @ 0x22023fc
|
|
void Gambit_fn_022023FC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19;
|
|
|
|
L_022023FC: ; // 0x22023fc
|
|
/* 022023FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02202400 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02202400 */ _t1 = _t0 & 0x00000001u;
|
|
/* 02202400 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02202400 */ goto L_02202404;
|
|
L_02202404: ; // 0x2202404
|
|
/* 02202404 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02202404 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02202408 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02202408 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02202408 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02202408 */ goto L_0220240C;
|
|
L_0220240C: ; // 0x220240c
|
|
/* 0220240C */ goto L_02801BB0;
|
|
L_02801B30: ; // 0x2801b30
|
|
/* 02801B30 */ cpu->r[0] = cpu->lr;
|
|
/* 02801B34 */ _t4 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02801B34 */ rbrew_write32(cpu->mem, _t4, cpu->r[1]);
|
|
/* 02801B34 */ cpu->r[1] = _t4;
|
|
/* 02801B38 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B38 */ rbrew_write32(cpu->mem, _t5, cpu->r[31]);
|
|
/* 02801B3C */ cpu->r[31] = cpu->r[3];
|
|
/* 02801B40 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02801B44 */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B44 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02801B48 */ _t7 = cpu->r[3] + 0xFFFF98F0u;
|
|
/* 02801B48 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02801B4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B50 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B50 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02801B50 */ if (_t9) goto L_02801B54; else goto L_02801B70;
|
|
L_02801B54: ; // 0x2801b54
|
|
/* 02801B54 */ cpu->r[3] = cpu->r[31];
|
|
/* 02801B58 */ Gambit_fn_02801B20(cpu);
|
|
/* 02801B5C */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02801B60 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B60 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02801B64 */ cpu->lr = cpu->r[0];
|
|
/* 02801B68 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801B6C */ return;
|
|
L_02801B70: ; // 0x2801b70
|
|
/* 02801B70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02801B74 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B74 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02801B74 */ if (_t13) goto L_02801B9C; else goto L_02801B78;
|
|
L_02801B78: ; // 0x2801b78
|
|
/* 02801B78 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B7C */ Gambit_fn_02826B90(cpu);
|
|
/* 02801B80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B84 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B84 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02801B84 */ if (_t15) goto L_02801B9C; else goto L_02801B88;
|
|
L_02801B88: ; // 0x2801b88
|
|
/* 02801B88 */ _t16 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02801B88 */ cpu->r[12] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02801B8C */ _t17 = cpu->r[12] + 0x0000003Cu;
|
|
/* 02801B8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02801B90 */ cpu->ctr = cpu->r[0];
|
|
/* 02801B94 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B98 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02801B9C: ; // 0x2801b9c
|
|
/* 02801B9C */ _t18 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02801BA0 */ _t19 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801BA0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02801BA4 */ cpu->lr = cpu->r[0];
|
|
/* 02801BA8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801BAC */ return;
|
|
L_02801BB0: ; // 0x2801bb0
|
|
/* 02801BB0 */ goto L_02801B30;
|
|
}
|
|
|
|
// fn_02202410 @ 0x2202410
|
|
void Gambit_fn_02202410(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19;
|
|
|
|
L_02202410: ; // 0x2202410
|
|
/* 02202410 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02202414 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02202414 */ _t1 = _t0 & 0x00000001u;
|
|
/* 02202414 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02202414 */ goto L_02202418;
|
|
L_02202418: ; // 0x2202418
|
|
/* 02202418 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02202418 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0220241C */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0220241C */ _t3 = _t2 & 0x00000001u;
|
|
/* 0220241C */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0220241C */ goto L_02202420;
|
|
L_02202420: ; // 0x2202420
|
|
/* 02202420 */ goto L_02801BB0;
|
|
L_02801B30: ; // 0x2801b30
|
|
/* 02801B30 */ cpu->r[0] = cpu->lr;
|
|
/* 02801B34 */ _t4 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02801B34 */ rbrew_write32(cpu->mem, _t4, cpu->r[1]);
|
|
/* 02801B34 */ cpu->r[1] = _t4;
|
|
/* 02801B38 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B38 */ rbrew_write32(cpu->mem, _t5, cpu->r[31]);
|
|
/* 02801B3C */ cpu->r[31] = cpu->r[3];
|
|
/* 02801B40 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02801B44 */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B44 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02801B48 */ _t7 = cpu->r[3] + 0xFFFF98F0u;
|
|
/* 02801B48 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02801B4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B50 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B50 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02801B50 */ if (_t9) goto L_02801B54; else goto L_02801B70;
|
|
L_02801B54: ; // 0x2801b54
|
|
/* 02801B54 */ cpu->r[3] = cpu->r[31];
|
|
/* 02801B58 */ Gambit_fn_02801B20(cpu);
|
|
/* 02801B5C */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02801B60 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B60 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02801B64 */ cpu->lr = cpu->r[0];
|
|
/* 02801B68 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801B6C */ return;
|
|
L_02801B70: ; // 0x2801b70
|
|
/* 02801B70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02801B74 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B74 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02801B74 */ if (_t13) goto L_02801B9C; else goto L_02801B78;
|
|
L_02801B78: ; // 0x2801b78
|
|
/* 02801B78 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B7C */ Gambit_fn_02826B90(cpu);
|
|
/* 02801B80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B84 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B84 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02801B84 */ if (_t15) goto L_02801B9C; else goto L_02801B88;
|
|
L_02801B88: ; // 0x2801b88
|
|
/* 02801B88 */ _t16 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02801B88 */ cpu->r[12] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02801B8C */ _t17 = cpu->r[12] + 0x0000003Cu;
|
|
/* 02801B8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02801B90 */ cpu->ctr = cpu->r[0];
|
|
/* 02801B94 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B98 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02801B9C: ; // 0x2801b9c
|
|
/* 02801B9C */ _t18 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02801BA0 */ _t19 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801BA0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02801BA4 */ cpu->lr = cpu->r[0];
|
|
/* 02801BA8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801BAC */ return;
|
|
L_02801BB0: ; // 0x2801bb0
|
|
/* 02801BB0 */ goto L_02801B30;
|
|
}
|
|
|
|
// fn_02202424 @ 0x2202424
|
|
void Gambit_fn_02202424(CPUState* cpu) {
|
|
L_02202424: ; // 0x2202424
|
|
/* 02202424 */ return;
|
|
}
|
|
|
|
// fn_02202428 @ 0x2202428
|
|
void Gambit_fn_02202428(CPUState* cpu) {
|
|
L_02202428: ; // 0x2202428
|
|
/* 02202428 */ return;
|
|
}
|
|
|
|
// fn_0220242C @ 0x220242c
|
|
void Gambit_fn_0220242C(CPUState* cpu) {
|
|
L_0220242C: ; // 0x220242c
|
|
/* 0220242C */ return;
|
|
}
|
|
|
|
// fn_02202430 @ 0x2202430
|
|
void Gambit_fn_02202430(CPUState* cpu) {
|
|
L_02202430: ; // 0x2202430
|
|
/* 02202430 */ return;
|
|
}
|
|
|
|
// fn_02202434 @ 0x2202434
|
|
void Gambit_fn_02202434(CPUState* cpu) {
|
|
L_02202434: ; // 0x2202434
|
|
/* 02202434 */ return;
|
|
}
|
|
|
|
// fn_02202438 @ 0x2202438
|
|
void Gambit_fn_02202438(CPUState* cpu) {
|
|
L_02202438: ; // 0x2202438
|
|
/* 02202438 */ return;
|
|
}
|
|
|
|
// fn_0220243C @ 0x220243c
|
|
void Gambit_fn_0220243C(CPUState* cpu) {
|
|
L_0220243C: ; // 0x220243c
|
|
/* 0220243C */ return;
|
|
}
|
|
|
|
// fn_02202440 @ 0x2202440
|
|
void Gambit_fn_02202440(CPUState* cpu) {
|
|
L_02202440: ; // 0x2202440
|
|
/* 02202440 */ return;
|
|
}
|
|
|
|
// fn_02202444 @ 0x2202444
|
|
void Gambit_fn_02202444(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_02202444: ; // 0x2202444
|
|
/* 02202444 */ _t0 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02202444 */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02202448 */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x0000001Fu, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02202448 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 0220244C */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0220244C */ _t2 = _t1 & 0x00000001u;
|
|
/* 0220244C */ _t3 = _t2 ^ 0x00000001u;
|
|
/* 0220244C */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0220244C */ goto L_02202450;
|
|
L_02202450: ; // 0x2202450
|
|
/* 02202450 */ _t4 = cpu->r[3] + 0x00000004u;
|
|
/* 02202450 */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02202454 */ _t5 = cpu->r[12] + 0x0000004Cu;
|
|
/* 02202454 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02202458 */ cpu->ctr = cpu->r[0];
|
|
/* 0220245C */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_02202460 @ 0x2202460
|
|
void Gambit_fn_02202460(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_02202460: ; // 0x2202460
|
|
/* 02202460 */ _t0 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02202460 */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02202464 */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x0000001Du, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02202464 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02202468 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02202468 */ _t2 = _t1 & 0x00000001u;
|
|
/* 02202468 */ _t3 = _t2 ^ 0x00000001u;
|
|
/* 02202468 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02202468 */ goto L_0220246C;
|
|
L_0220246C: ; // 0x220246c
|
|
/* 0220246C */ _t4 = cpu->r[3] + 0x00000004u;
|
|
/* 0220246C */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02202470 */ _t5 = cpu->r[12] + 0x0000005Cu;
|
|
/* 02202470 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02202474 */ cpu->ctr = cpu->r[0];
|
|
/* 02202478 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_0220247C @ 0x220247c
|
|
void Gambit_fn_0220247C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_0220247C: ; // 0x220247c
|
|
/* 0220247C */ _t0 = cpu->r[3] + 0x0000000Cu;
|
|
/* 0220247C */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02202480 */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x0000001Au, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02202480 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02202484 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02202484 */ _t2 = _t1 & 0x00000001u;
|
|
/* 02202484 */ _t3 = _t2 ^ 0x00000001u;
|
|
/* 02202484 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02202484 */ goto L_02202488;
|
|
L_02202488: ; // 0x2202488
|
|
/* 02202488 */ _t4 = cpu->r[3] + 0x00000004u;
|
|
/* 02202488 */ cpu->r[11] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0220248C */ _t5 = cpu->r[11] + 0x00000074u;
|
|
/* 0220248C */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02202490 */ cpu->ctr = cpu->r[0];
|
|
/* 02202494 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_02202498 @ 0x2202498
|
|
void Gambit_fn_02202498(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_02202498: ; // 0x2202498
|
|
/* 02202498 */ _t0 = cpu->r[3] + 0x00000004u;
|
|
/* 02202498 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0220249C */ _t1 = cpu->r[12] + 0x0000002Cu;
|
|
/* 0220249C */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 022024A0 */ cpu->ctr = cpu->r[0];
|
|
/* 022024A4 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_022024A8 @ 0x22024a8
|
|
void Gambit_fn_022024A8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_022024A8: ; // 0x22024a8
|
|
/* 022024A8 */ cpu->r[0] = cpu->lr;
|
|
/* 022024AC */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 022024AC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 022024AC */ cpu->r[1] = _t0;
|
|
/* 022024B0 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 022024B0 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 022024B4 */ cpu->r[31] = cpu->r[3];
|
|
/* 022024B8 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 022024B8 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 022024BC */ _t3 = cpu->r[31] + 0x0000001Cu;
|
|
/* 022024BC */ cpu->r[11] = rbrew_read32(cpu->mem, _t3);
|
|
/* 022024C0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000003u);
|
|
/* 022024C4 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 022024C4 */ _t5 = _t4 & 0x00000001u;
|
|
/* 022024C4 */ if (_t5) goto L_022024C8; else goto L_022024E4;
|
|
L_022024C8: ; // 0x22024c8
|
|
/* 022024C8 */ _t6 = cpu->r[31] + 0x00000004u;
|
|
/* 022024C8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t6);
|
|
/* 022024CC */ _t7 = cpu->r[12] + 0x0000010Cu;
|
|
/* 022024CC */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 022024D0 */ cpu->ctr = cpu->r[0];
|
|
/* 022024D4 */ cpu->r[3] = cpu->r[31];
|
|
/* 022024D8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 022024DC */ cpu->r[0] = 0x00000002u;
|
|
/* 022024E0 */ _t8 = cpu->r[31] + 0x0000001Cu;
|
|
/* 022024E0 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
L_022024E4: ; // 0x22024e4
|
|
/* 022024E4 */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 022024E4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 022024E8 */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 022024E8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 022024EC */ cpu->lr = cpu->r[0];
|
|
/* 022024F0 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 022024F4 */ return;
|
|
}
|
|
|
|
// fn_022024AC @ 0x22024ac
|
|
void Gambit_fn_022024AC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_022024AC: ; // 0x22024ac
|
|
/* 022024AC */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 022024AC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 022024AC */ cpu->r[1] = _t0;
|
|
/* 022024B0 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 022024B0 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 022024B4 */ cpu->r[31] = cpu->r[3];
|
|
/* 022024B8 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 022024B8 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 022024BC */ _t3 = cpu->r[31] + 0x0000001Cu;
|
|
/* 022024BC */ cpu->r[11] = rbrew_read32(cpu->mem, _t3);
|
|
/* 022024C0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000003u);
|
|
/* 022024C4 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 022024C4 */ _t5 = _t4 & 0x00000001u;
|
|
/* 022024C4 */ if (_t5) goto L_022024C8; else goto L_022024E4;
|
|
L_022024C8: ; // 0x22024c8
|
|
/* 022024C8 */ _t6 = cpu->r[31] + 0x00000004u;
|
|
/* 022024C8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t6);
|
|
/* 022024CC */ _t7 = cpu->r[12] + 0x0000010Cu;
|
|
/* 022024CC */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 022024D0 */ cpu->ctr = cpu->r[0];
|
|
/* 022024D4 */ cpu->r[3] = cpu->r[31];
|
|
/* 022024D8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 022024DC */ cpu->r[0] = 0x00000002u;
|
|
/* 022024E0 */ _t8 = cpu->r[31] + 0x0000001Cu;
|
|
/* 022024E0 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
L_022024E4: ; // 0x22024e4
|
|
/* 022024E4 */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 022024E4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 022024E8 */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 022024E8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 022024EC */ cpu->lr = cpu->r[0];
|
|
/* 022024F0 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 022024F4 */ return;
|
|
}
|
|
|
|
// fn_022024F8 @ 0x22024f8
|
|
void Gambit_fn_022024F8(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_022024F8: ; // 0x22024f8
|
|
/* 022024F8 */ _t0 = cpu->r[3] + 0x00000004u;
|
|
/* 022024F8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 022024FC */ _t1 = cpu->r[12] + 0x0000008Cu;
|
|
/* 022024FC */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02202500 */ cpu->ctr = cpu->r[0];
|
|
/* 02202504 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_02202508 @ 0x2202508
|
|
void Gambit_fn_02202508(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_02202508: ; // 0x2202508
|
|
/* 02202508 */ _t0 = cpu->r[3] + 0x00000004u;
|
|
/* 02202508 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0220250C */ _t1 = cpu->r[12] + 0x00000124u;
|
|
/* 0220250C */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02202510 */ cpu->ctr = cpu->r[0];
|
|
/* 02202514 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_02202518 @ 0x2202518
|
|
void Gambit_fn_02202518(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_02202518: ; // 0x2202518
|
|
/* 02202518 */ _t0 = cpu->r[3] + 0x00000004u;
|
|
/* 02202518 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0220251C */ _t1 = cpu->r[12] + 0x00000124u;
|
|
/* 0220251C */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02202520 */ cpu->ctr = cpu->r[0];
|
|
/* 02202524 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_02202528 @ 0x2202528
|
|
void Gambit_fn_02202528(CPUState* cpu) {
|
|
L_02202528: ; // 0x2202528
|
|
/* 02202528 */ cpu->r[3] = 0x00000001u;
|
|
/* 0220252C */ return;
|
|
}
|
|
|
|
// fn_02202530 @ 0x2202530
|
|
void Gambit_fn_02202530(CPUState* cpu) {
|
|
L_02202530: ; // 0x2202530
|
|
/* 02202530 */ return;
|
|
}
|
|
|
|
// fn_02202534 @ 0x2202534
|
|
void Gambit_fn_02202534(CPUState* cpu) {
|
|
L_02202534: ; // 0x2202534
|
|
/* 02202534 */ return;
|
|
}
|
|
|
|
// fn_02202538 @ 0x2202538
|
|
void Gambit_fn_02202538(CPUState* cpu) {
|
|
L_02202538: ; // 0x2202538
|
|
/* 02202538 */ return;
|
|
}
|
|
|
|
// fn_0220253C @ 0x220253c
|
|
void Gambit_fn_0220253C(CPUState* cpu) {
|
|
L_0220253C: ; // 0x220253c
|
|
/* 0220253C */ return;
|
|
}
|
|
|
|
// fn_02202540 @ 0x2202540
|
|
void Gambit_fn_02202540(CPUState* cpu) {
|
|
L_02202540: ; // 0x2202540
|
|
/* 02202540 */ return;
|
|
}
|
|
|
|
// fn_02202544 @ 0x2202544
|
|
void Gambit_fn_02202544(CPUState* cpu) {
|
|
L_02202544: ; // 0x2202544
|
|
/* 02202544 */ return;
|
|
}
|
|
|
|
// fn_02202548 @ 0x2202548
|
|
void Gambit_fn_02202548(CPUState* cpu) {
|
|
L_02202548: ; // 0x2202548
|
|
/* 02202548 */ return;
|
|
}
|
|
|
|
// fn_0220254C @ 0x220254c
|
|
void Gambit_fn_0220254C(CPUState* cpu) {
|
|
L_0220254C: ; // 0x220254c
|
|
/* 0220254C */ cpu->r[3] = 0x00000001u;
|
|
/* 02202550 */ return;
|
|
}
|
|
|
|
// fn_02202554 @ 0x2202554
|
|
void Gambit_fn_02202554(CPUState* cpu) {
|
|
L_02202554: ; // 0x2202554
|
|
/* 02202554 */ cpu->r[3] = 0x00000000u;
|
|
/* 02202558 */ return;
|
|
}
|
|
|
|
// fn_0220255C @ 0x220255c
|
|
void Gambit_fn_0220255C(CPUState* cpu) {
|
|
L_0220255C: ; // 0x220255c
|
|
/* 0220255C */ cpu->r[3] = 0x00000001u;
|
|
/* 02202560 */ return;
|
|
}
|
|
|
|
// fn_02202564 @ 0x2202564
|
|
void Gambit_fn_02202564(CPUState* cpu) {
|
|
L_02202564: ; // 0x2202564
|
|
/* 02202564 */ cpu->r[3] = 0x00000000u;
|
|
/* 02202568 */ return;
|
|
}
|
|
|
|
// fn_0220256C @ 0x220256c
|
|
void Gambit_fn_0220256C(CPUState* cpu) {
|
|
L_0220256C: ; // 0x220256c
|
|
/* 0220256C */ cpu->r[3] = 0x00000000u;
|
|
/* 02202570 */ return;
|
|
}
|
|
|
|
// fn_02202574 @ 0x2202574
|
|
void Gambit_fn_02202574(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_02202574: ; // 0x2202574
|
|
/* 02202574 */ _t0 = cpu->r[3] + 0x00000004u;
|
|
/* 02202574 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02202578 */ _t1 = cpu->r[12] + 0x0000021Cu;
|
|
/* 02202578 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 0220257C */ cpu->ctr = cpu->r[0];
|
|
/* 02202580 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_02202584 @ 0x2202584
|
|
void Gambit_fn_02202584(CPUState* cpu) {
|
|
L_02202584: ; // 0x2202584
|
|
/* 02202584 */ cpu->r[3] = 0x00000000u;
|
|
/* 02202588 */ return;
|
|
}
|
|
|
|
// fn_0220258C @ 0x220258c
|
|
void Gambit_fn_0220258C(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_0220258C: ; // 0x220258c
|
|
/* 0220258C */ _t0 = cpu->r[3] + 0x00000004u;
|
|
/* 0220258C */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02202590 */ _t1 = cpu->r[12] + 0x0000027Cu;
|
|
/* 02202590 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02202594 */ cpu->ctr = cpu->r[0];
|
|
/* 02202598 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_0220259C @ 0x220259c
|
|
void Gambit_fn_0220259C(CPUState* cpu) {
|
|
L_0220259C: ; // 0x220259c
|
|
/* 0220259C */ cpu->r[3] = 0x00000000u;
|
|
/* 022025A0 */ return;
|
|
}
|
|
|
|
// fn_022025A4 @ 0x22025a4
|
|
void Gambit_fn_022025A4(CPUState* cpu) {
|
|
L_022025A4: ; // 0x22025a4
|
|
/* 022025A4 */ cpu->r[3] = 0x00000001u;
|
|
/* 022025A8 */ return;
|
|
}
|
|
|
|
// fn_022025AC @ 0x22025ac
|
|
void Gambit_fn_022025AC(CPUState* cpu) {
|
|
L_022025AC: ; // 0x22025ac
|
|
/* 022025AC */ cpu->r[3] = 0x00000000u;
|
|
/* 022025B0 */ return;
|
|
}
|
|
|
|
// fn_022025B4 @ 0x22025b4
|
|
void Gambit_fn_022025B4(CPUState* cpu) {
|
|
L_022025B4: ; // 0x22025b4
|
|
/* 022025B4 */ cpu->r[3] = 0x00000000u;
|
|
/* 022025B8 */ return;
|
|
}
|
|
|
|
// fn_022025BC @ 0x22025bc
|
|
void Gambit_fn_022025BC(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_022025BC: ; // 0x22025bc
|
|
/* 022025BC */ _t0 = cpu->r[3] + 0x00000080u;
|
|
/* 022025BC */ cpu->r[3] = rbrew_read32(cpu->mem, _t0);
|
|
/* 022025C0 */ return;
|
|
}
|
|
|
|
// fn_022025C4 @ 0x22025c4
|
|
void Gambit_fn_022025C4(CPUState* cpu) {
|
|
L_022025C4: ; // 0x22025c4
|
|
/* 022025C4 */ cpu->r[3] = cpu->r[3] + 0x00000094u;
|
|
/* 022025C8 */ return;
|
|
}
|
|
|
|
// fn_022025CC @ 0x22025cc
|
|
void Gambit_fn_022025CC(CPUState* cpu) {
|
|
L_022025CC: ; // 0x22025cc
|
|
/* 022025CC */ cpu->r[3] = cpu->r[3] + 0x000000C4u;
|
|
/* 022025D0 */ return;
|
|
}
|
|
|
|
// fn_022025D4 @ 0x22025d4
|
|
void Gambit_fn_022025D4(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_022025D4: ; // 0x22025d4
|
|
/* 022025D4 */ _t0 = cpu->r[3] + 0x000000E8u;
|
|
/* 022025D4 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t0);
|
|
/* 022025D8 */ return;
|
|
}
|
|
|
|
// fn_022025DC @ 0x22025dc
|
|
void Gambit_fn_022025DC(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_022025DC: ; // 0x22025dc
|
|
/* 022025DC */ cpu->r[12] = 0x10040000u;
|
|
/* 022025E0 */ _t0 = cpu->r[12] + 0xFFFFE5C0u;
|
|
/* 022025E0 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t0);
|
|
/* 022025E4 */ return;
|
|
}
|
|
|
|
// fn_022025E8 @ 0x22025e8
|
|
void Gambit_fn_022025E8(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_022025E8: ; // 0x22025e8
|
|
/* 022025E8 */ cpu->r[12] = 0x10040000u;
|
|
/* 022025EC */ _t0 = cpu->r[12] + 0xFFFFE5C0u;
|
|
/* 022025EC */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t0);
|
|
/* 022025F0 */ return;
|
|
}
|
|
|
|
// fn_022025F4 @ 0x22025f4
|
|
void Gambit_fn_022025F4(CPUState* cpu) {
|
|
L_022025F4: ; // 0x22025f4
|
|
/* 022025F4 */ cpu->r[3] = 0x00000001u;
|
|
/* 022025F8 */ return;
|
|
}
|
|
|
|
// fn_022025FC @ 0x22025fc
|
|
void Gambit_fn_022025FC(CPUState* cpu) {
|
|
L_022025FC: ; // 0x22025fc
|
|
/* 022025FC */ cpu->r[3] = 0x00000001u;
|
|
/* 02202600 */ return;
|
|
}
|
|
|
|
// fn_02202604 @ 0x2202604
|
|
void Gambit_fn_02202604(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_02202604: ; // 0x2202604
|
|
/* 02202604 */ _t0 = cpu->r[3] + 0x00000004u;
|
|
/* 02202604 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02202608 */ _t1 = cpu->r[12] + 0x0000035Cu;
|
|
/* 02202608 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 0220260C */ cpu->ctr = cpu->r[0];
|
|
/* 02202610 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_02202614 @ 0x2202614
|
|
void Gambit_fn_02202614(CPUState* cpu) {
|
|
L_02202614: ; // 0x2202614
|
|
/* 02202614 */ cpu->r[3] = 0x00000001u;
|
|
/* 02202618 */ return;
|
|
}
|
|
|
|
// fn_0220261C @ 0x220261c
|
|
void Gambit_fn_0220261C(CPUState* cpu) {
|
|
L_0220261C: ; // 0x220261c
|
|
/* 0220261C */ cpu->r[3] = 0x00000000u;
|
|
/* 02202620 */ return;
|
|
}
|
|
|
|
// fn_02202624 @ 0x2202624
|
|
void Gambit_fn_02202624(CPUState* cpu) {
|
|
L_02202624: ; // 0x2202624
|
|
/* 02202624 */ cpu->r[3] = 0x00000000u;
|
|
/* 02202628 */ return;
|
|
}
|
|
|
|
// fn_0220262C @ 0x220262c
|
|
void Gambit_fn_0220262C(CPUState* cpu) {
|
|
L_0220262C: ; // 0x220262c
|
|
/* 0220262C */ cpu->r[3] = 0x00000001u;
|
|
/* 02202630 */ return;
|
|
}
|
|
|
|
// fn_02202634 @ 0x2202634
|
|
void Gambit_fn_02202634(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3;
|
|
|
|
L_02202634: ; // 0x2202634
|
|
/* 02202634 */ _t0 = cpu->r[3] + 0x00000114u;
|
|
/* 02202634 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02202638 */ cpu->r[0] = 0x00000001u;
|
|
/* 0220263C */ _t1 = rbrew_rlwinm(cpu->r[0], 0x00000016u, 0x00000008u, 0x00000009u);
|
|
/* 0220263C */ _t2 = cpu->r[12] & 0xFF3FFFFFu;
|
|
/* 0220263C */ cpu->r[12] = _t2 | _t1;
|
|
/* 02202640 */ _t3 = cpu->r[3] + 0x00000114u;
|
|
/* 02202640 */ rbrew_write32(cpu->mem, _t3, cpu->r[12]);
|
|
/* 02202644 */ return;
|
|
}
|
|
|
|
// fn_02202648 @ 0x2202648
|
|
void Gambit_fn_02202648(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_02202648: ; // 0x2202648
|
|
/* 02202648 */ _t0 = cpu->r[3] + 0x00000004u;
|
|
/* 02202648 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0220264C */ _t1 = cpu->r[12] + 0x0000039Cu;
|
|
/* 0220264C */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02202650 */ cpu->ctr = cpu->r[0];
|
|
/* 02202654 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_02202658 @ 0x2202658
|
|
void Gambit_fn_02202658(CPUState* cpu) {
|
|
L_02202658: ; // 0x2202658
|
|
/* 02202658 */ return;
|
|
}
|
|
|
|
// fn_0220265C @ 0x220265c
|
|
void Gambit_fn_0220265C(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_0220265C: ; // 0x220265c
|
|
/* 0220265C */ cpu->r[12] = 0x10040000u;
|
|
/* 02202660 */ _t0 = cpu->r[12] + 0xFFFFE510u;
|
|
/* 02202660 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t0);
|
|
/* 02202664 */ return;
|
|
}
|
|
|
|
// fn_02202668 @ 0x2202668
|
|
void Gambit_fn_02202668(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_02202668: ; // 0x2202668
|
|
/* 02202668 */ _t0 = cpu->r[3] + 0x000000A0u;
|
|
/* 02202668 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t0);
|
|
/* 0220266C */ return;
|
|
}
|
|
|
|
// fn_02202670 @ 0x2202670
|
|
void Gambit_fn_02202670(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_02202670: ; // 0x2202670
|
|
/* 02202670 */ _t0 = cpu->r[3] + 0x00000020u;
|
|
/* 02202670 */ cpu->r[3] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02202674 */ return;
|
|
}
|
|
|
|
// fn_02202678 @ 0x2202678
|
|
void Gambit_fn_02202678(CPUState* cpu) {
|
|
L_02202678: ; // 0x2202678
|
|
/* 02202678 */ cpu->r[3] = 0x00000000u;
|
|
/* 0220267C */ return;
|
|
}
|
|
|
|
// fn_02202680 @ 0x2202680
|
|
void Gambit_fn_02202680(CPUState* cpu) {
|
|
L_02202680: ; // 0x2202680
|
|
/* 02202680 */ cpu->r[3] = 0x00000000u;
|
|
/* 02202684 */ return;
|
|
}
|
|
|
|
// fn_02202688 @ 0x2202688
|
|
void Gambit_fn_02202688(CPUState* cpu) {
|
|
L_02202688: ; // 0x2202688
|
|
/* 02202688 */ cpu->r[3] = 0x00000001u;
|
|
/* 0220268C */ return;
|
|
}
|
|
|
|
// fn_02202690 @ 0x2202690
|
|
void Gambit_fn_02202690(CPUState* cpu) {
|
|
L_02202690: ; // 0x2202690
|
|
/* 02202690 */ cpu->r[3] = 0x00000000u;
|
|
/* 02202694 */ return;
|
|
}
|
|
|
|
// fn_02202698 @ 0x2202698
|
|
void Gambit_fn_02202698(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_02202698: ; // 0x2202698
|
|
/* 02202698 */ _t0 = cpu->r[3] + 0x000000C0u;
|
|
/* 02202698 */ cpu->r[3] = rbrew_read8(cpu->mem, _t0);
|
|
/* 0220269C */ return;
|
|
}
|
|
|
|
// fn_022026A0 @ 0x22026a0
|
|
void Gambit_fn_022026A0(CPUState* cpu) {
|
|
L_022026A0: ; // 0x22026a0
|
|
/* 022026A0 */ return;
|
|
}
|
|
|
|
// fn_022026A4 @ 0x22026a4
|
|
void Gambit_fn_022026A4(CPUState* cpu) {
|
|
L_022026A4: ; // 0x22026a4
|
|
/* 022026A4 */ return;
|
|
}
|
|
|
|
// fn_022026A8 @ 0x22026a8
|
|
void Gambit_fn_022026A8(CPUState* cpu) {
|
|
L_022026A8: ; // 0x22026a8
|
|
/* 022026A8 */ cpu->r[3] = 0x00000000u;
|
|
/* 022026AC */ return;
|
|
}
|
|
|
|
// fn_022026B0 @ 0x22026b0
|
|
void Gambit_fn_022026B0(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_022026B0: ; // 0x22026b0
|
|
/* 022026B0 */ cpu->r[12] = 0x10040000u;
|
|
/* 022026B4 */ _t0 = cpu->r[12] + 0xFFFFE510u;
|
|
/* 022026B4 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t0);
|
|
/* 022026B8 */ return;
|
|
}
|
|
|
|
// fn_022026BC @ 0x22026bc
|
|
void Gambit_fn_022026BC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4;
|
|
|
|
L_022026BC: ; // 0x22026bc
|
|
/* 022026BC */ _t0 = cpu->r[3] + 0x00000114u;
|
|
/* 022026BC */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
|
|
/* 022026C0 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000012u, 0x00000013u);
|
|
/* 022026C0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 022026C4 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 022026C4 */ _t2 = _t1 & 0x00000001u;
|
|
/* 022026C4 */ if (_t2) goto L_022026D4; else goto L_022026C8;
|
|
L_022026C8: ; // 0x22026c8
|
|
/* 022026C8 */ cpu->r[12] = 0x10040000u;
|
|
/* 022026CC */ _t3 = cpu->r[12] + 0xFFFFE510u;
|
|
/* 022026CC */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t3);
|
|
/* 022026D0 */ return;
|
|
L_022026D4: ; // 0x22026d4
|
|
/* 022026D4 */ cpu->r[12] = 0x10040000u;
|
|
/* 022026D8 */ _t4 = cpu->r[12] + 0xFFFFE51Cu;
|
|
/* 022026D8 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t4);
|
|
/* 022026DC */ return;
|
|
}
|
|
|
|
// fn_022026E0 @ 0x22026e0
|
|
void Gambit_fn_022026E0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7;
|
|
|
|
L_022026E0: ; // 0x22026e0
|
|
/* 022026E0 */ goto L_0222E4C4;
|
|
L_0222E4C4: ; // 0x222e4c4
|
|
/* 0222E4C4 */ cpu->r[0] = cpu->lr;
|
|
/* 0222E4C8 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 0222E4C8 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 0222E4CC */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 0222E4CC */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 0222E4CC */ cpu->r[1] = _t1;
|
|
/* 0222E4D0 */ Gambit_fn_021F7000(cpu);
|
|
/* 0222E4D4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0222E4D8 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0222E4D8 */ _t3 = _t2 & 0x00000001u;
|
|
/* 0222E4D8 */ if (_t3) goto L_0222E4F4; else goto L_0222E4DC;
|
|
L_0222E4DC: ; // 0x222e4dc
|
|
/* 0222E4DC */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0222E4DC */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0222E4E0 */ cpu->r[12] = 0x101E0000u;
|
|
/* 0222E4E4 */ cpu->lr = cpu->r[0];
|
|
/* 0222E4E8 */ _t5 = cpu->r[12] + 0xFFFF9594u;
|
|
/* 0222E4E8 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t5);
|
|
/* 0222E4EC */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 0222E4F0 */ return;
|
|
L_0222E4F4: ; // 0x222e4f4
|
|
/* 0222E4F4 */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0222E4F4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0222E4F8 */ cpu->r[12] = 0x101E0000u;
|
|
/* 0222E4FC */ cpu->lr = cpu->r[0];
|
|
/* 0222E500 */ _t7 = cpu->r[12] + 0xFFFF9590u;
|
|
/* 0222E500 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t7);
|
|
/* 0222E504 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 0222E508 */ return;
|
|
}
|
|
|
|
// fn_022026E4 @ 0x22026e4
|
|
void Gambit_fn_022026E4(CPUState* cpu) {
|
|
L_022026E4: ; // 0x22026e4
|
|
/* 022026E4 */ cpu->r[3] = 0x00000000u;
|
|
/* 022026E8 */ return;
|
|
}
|
|
|
|
// fn_022026EC @ 0x22026ec
|
|
void Gambit_fn_022026EC(CPUState* cpu) {
|
|
L_022026EC: ; // 0x22026ec
|
|
/* 022026EC */ cpu->r[3] = 0x00000000u;
|
|
/* 022026F0 */ return;
|
|
}
|
|
|
|
// fn_022026F4 @ 0x22026f4
|
|
void Gambit_fn_022026F4(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_022026F4: ; // 0x22026f4
|
|
/* 022026F4 */ _t0 = cpu->r[3] + 0x00000114u;
|
|
/* 022026F4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
|
|
/* 022026F8 */ cpu->r[0] = cpu->r[0] | 0x00020000u;
|
|
/* 022026FC */ _t1 = cpu->r[3] + 0x00000114u;
|
|
/* 022026FC */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02202700 */ return;
|
|
}
|
|
|
|
// fn_02202704 @ 0x2202704
|
|
void Gambit_fn_02202704(CPUState* cpu) {
|
|
L_02202704: ; // 0x2202704
|
|
/* 02202704 */ cpu->r[3] = 0x00000000u;
|
|
/* 02202708 */ return;
|
|
}
|
|
|
|
// fn_0220270C @ 0x220270c
|
|
void Gambit_fn_0220270C(CPUState* cpu) {
|
|
L_0220270C: ; // 0x220270c
|
|
/* 0220270C */ cpu->r[3] = 0x00000001u;
|
|
/* 02202710 */ return;
|
|
}
|
|
|
|
// fn_02202714 @ 0x2202714
|
|
void Gambit_fn_02202714(CPUState* cpu) {
|
|
L_02202714: ; // 0x2202714
|
|
/* 02202714 */ cpu->r[3] = cpu->r[3] + 0x00000130u;
|
|
/* 02202718 */ return;
|
|
}
|
|
|
|
// fn_0220271C @ 0x220271c
|
|
void Gambit_fn_0220271C(CPUState* cpu) {
|
|
L_0220271C: ; // 0x220271c
|
|
/* 0220271C */ cpu->r[3] = cpu->r[3] + 0x00000160u;
|
|
/* 02202720 */ return;
|
|
}
|
|
|
|
// fn_02202724 @ 0x2202724
|
|
void Gambit_fn_02202724(CPUState* cpu) {
|
|
L_02202724: ; // 0x2202724
|
|
/* 02202724 */ cpu->r[3] = 0x00000000u;
|
|
/* 02202728 */ return;
|
|
}
|
|
|
|
// fn_0220272C @ 0x220272c
|
|
void Gambit_fn_0220272C(CPUState* cpu) {
|
|
L_0220272C: ; // 0x220272c
|
|
/* 0220272C */ return;
|
|
}
|
|
|
|
// fn_02202730 @ 0x2202730
|
|
void Gambit_fn_02202730(CPUState* cpu) {
|
|
L_02202730: ; // 0x2202730
|
|
/* 02202730 */ return;
|
|
}
|
|
|
|
// fn_02202734 @ 0x2202734
|
|
void Gambit_fn_02202734(CPUState* cpu) {
|
|
L_02202734: ; // 0x2202734
|
|
/* 02202734 */ return;
|
|
}
|
|
|
|
// fn_02202738 @ 0x2202738
|
|
void Gambit_fn_02202738(CPUState* cpu) {
|
|
L_02202738: ; // 0x2202738
|
|
/* 02202738 */ cpu->r[3] = 0x10040000u;
|
|
/* 0220273C */ cpu->r[3] = cpu->r[3] + 0xFFFFE4DCu;
|
|
/* 02202740 */ return;
|
|
}
|
|
|
|
// fn_02202744 @ 0x2202744
|
|
void Gambit_fn_02202744(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32;
|
|
|
|
L_02202744: ; // 0x2202744
|
|
/* 02202744 */ cpu->r[10] = 0x101D0000u;
|
|
/* 02202748 */ _t0 = cpu->r[10] + 0xFFFFE620u;
|
|
/* 02202748 */ cpu->r[10] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0220274C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02202750 */ cpu->r[10] = 0x101D0000u;
|
|
/* 02202754 */ cpu->r[10] = cpu->r[10] + 0xFFFFFE88u;
|
|
/* 02202758 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02202758 */ _t2 = _t1 & 0x00000001u;
|
|
/* 02202758 */ if (_t2) goto L_0220275C; else goto L_02202774;
|
|
L_0220275C: ; // 0x220275c
|
|
/* 0220275C */ cpu->r[0] = 0x10040000u;
|
|
/* 02202760 */ cpu->r[9] = 0x00000001u;
|
|
/* 02202764 */ cpu->r[11] = 0x101D0000u;
|
|
/* 02202768 */ cpu->r[0] = cpu->r[0] + 0xFFFFE49Cu;
|
|
/* 0220276C */ _t3 = cpu->r[11] + 0xFFFFE620u;
|
|
/* 0220276C */ rbrew_write32(cpu->mem, _t3, cpu->r[9]);
|
|
/* 02202770 */ _t4 = cpu->r[10] + 0x00000000u;
|
|
/* 02202770 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
L_02202774: ; // 0x2202774
|
|
/* 02202774 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[10]);
|
|
/* 02202778 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02202778 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02202778 */ if (_t6) goto L_0220277C; else goto L_02202784;
|
|
L_0220277C: ; // 0x220277c
|
|
/* 0220277C */ cpu->r[3] = 0x00000001u;
|
|
/* 02202780 */ return;
|
|
L_02202784: ; // 0x2202784
|
|
/* 02202784 */ cpu->r[9] = 0x101D0000u;
|
|
/* 02202788 */ _t7 = cpu->r[9] + 0xFFFFDA00u;
|
|
/* 02202788 */ cpu->r[9] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0220278C */ cpu->r[11] = 0x101D0000u;
|
|
/* 02202790 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 02202794 */ cpu->r[11] = cpu->r[11] + 0xFFFFFBFCu;
|
|
/* 02202798 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02202798 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02202798 */ if (_t9) goto L_0220279C; else goto L_022027B4;
|
|
L_0220279C: ; // 0x220279c
|
|
/* 0220279C */ cpu->r[9] = 0x10040000u;
|
|
/* 022027A0 */ cpu->r[0] = 0x00000001u;
|
|
/* 022027A4 */ cpu->r[10] = 0x101D0000u;
|
|
/* 022027A8 */ cpu->r[9] = cpu->r[9] + 0xFFFFE48Cu;
|
|
/* 022027AC */ _t10 = cpu->r[10] + 0xFFFFDA00u;
|
|
/* 022027AC */ rbrew_write32(cpu->mem, _t10, cpu->r[0]);
|
|
/* 022027B0 */ _t11 = cpu->r[11] + 0x00000000u;
|
|
/* 022027B0 */ rbrew_write32(cpu->mem, _t11, cpu->r[9]);
|
|
L_022027B4: ; // 0x22027b4
|
|
/* 022027B4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[11]);
|
|
/* 022027B8 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 022027B8 */ _t13 = _t12 & 0x00000001u;
|
|
/* 022027B8 */ if (_t13) goto L_022027BC; else goto L_022027C4;
|
|
L_022027BC: ; // 0x22027bc
|
|
/* 022027BC */ cpu->r[0] = 0x00000001u;
|
|
/* 022027C0 */ goto L_0220287C;
|
|
L_022027C4: ; // 0x22027c4
|
|
/* 022027C4 */ cpu->r[11] = 0x101D0000u;
|
|
/* 022027C8 */ _t14 = cpu->r[11] + 0xFFFFD9ECu;
|
|
/* 022027C8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t14);
|
|
/* 022027CC */ cpu->r[9] = 0x101D0000u;
|
|
/* 022027D0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 022027D4 */ cpu->r[9] = cpu->r[9] + 0xFFFFFB4Cu;
|
|
/* 022027D8 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 022027D8 */ _t16 = _t15 & 0x00000001u;
|
|
/* 022027D8 */ if (_t16) goto L_022027DC; else goto L_022027F4;
|
|
L_022027DC: ; // 0x22027dc
|
|
/* 022027DC */ cpu->r[11] = 0x10040000u;
|
|
/* 022027E0 */ cpu->r[10] = 0x00000001u;
|
|
/* 022027E4 */ cpu->r[12] = 0x101D0000u;
|
|
/* 022027E8 */ cpu->r[11] = cpu->r[11] + 0xFFFFE47Cu;
|
|
/* 022027EC */ _t17 = cpu->r[12] + 0xFFFFD9ECu;
|
|
/* 022027EC */ rbrew_write32(cpu->mem, _t17, cpu->r[10]);
|
|
/* 022027F0 */ _t18 = cpu->r[9] + 0x00000000u;
|
|
/* 022027F0 */ rbrew_write32(cpu->mem, _t18, cpu->r[11]);
|
|
L_022027F4: ; // 0x22027f4
|
|
/* 022027F4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[9]);
|
|
/* 022027F8 */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 022027F8 */ _t20 = _t19 & 0x00000001u;
|
|
/* 022027F8 */ if (_t20) goto L_022027FC; else goto L_02202804;
|
|
L_022027FC: ; // 0x22027fc
|
|
/* 022027FC */ cpu->r[0] = 0x00000001u;
|
|
/* 02202800 */ goto L_02202878;
|
|
L_02202804: ; // 0x2202804
|
|
/* 02202804 */ cpu->r[9] = 0x101D0000u;
|
|
/* 02202808 */ _t21 = cpu->r[9] + 0xFFFFD4E8u;
|
|
/* 02202808 */ cpu->r[0] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02202808 */ cpu->r[9] = _t21;
|
|
/* 0220280C */ cpu->r[10] = 0x101D0000u;
|
|
/* 02202810 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02202814 */ cpu->r[10] = cpu->r[10] + 0xFFFFD4ECu;
|
|
/* 02202818 */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02202818 */ _t23 = _t22 & 0x00000001u;
|
|
/* 02202818 */ if (_t23) goto L_0220281C; else goto L_02202830;
|
|
L_0220281C: ; // 0x220281c
|
|
/* 0220281C */ cpu->r[0] = 0x10040000u;
|
|
/* 02202820 */ cpu->r[11] = 0x00000001u;
|
|
/* 02202824 */ cpu->r[0] = cpu->r[0] + 0xFFFFE46Cu;
|
|
/* 02202828 */ _t24 = cpu->r[9] + 0x00000000u;
|
|
/* 02202828 */ rbrew_write32(cpu->mem, _t24, cpu->r[11]);
|
|
/* 0220282C */ _t25 = cpu->r[10] + 0x00000000u;
|
|
/* 0220282C */ rbrew_write32(cpu->mem, _t25, cpu->r[0]);
|
|
L_02202830: ; // 0x2202830
|
|
/* 02202830 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[10]);
|
|
/* 02202834 */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02202834 */ _t27 = _t26 & 0x00000001u;
|
|
/* 02202834 */ if (_t27) goto L_02202838; else goto L_02202840;
|
|
L_02202838: ; // 0x2202838
|
|
/* 02202838 */ cpu->r[0] = 0x00000001u;
|
|
/* 0220283C */ goto L_02202878;
|
|
L_02202840: ; // 0x2202840
|
|
/* 02202840 */ cpu->r[10] = 0x101D0000u;
|
|
/* 02202844 */ _t28 = cpu->r[10] + 0xFFFFD4E0u;
|
|
/* 02202844 */ cpu->r[9] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02202844 */ cpu->r[10] = _t28;
|
|
/* 02202848 */ cpu->r[11] = 0x101D0000u;
|
|
/* 0220284C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 02202850 */ cpu->r[11] = cpu->r[11] + 0xFFFFD4E4u;
|
|
/* 02202854 */ _t29 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02202854 */ _t30 = _t29 & 0x00000001u;
|
|
/* 02202854 */ if (_t30) goto L_02202858; else goto L_0220286C;
|
|
L_02202858: ; // 0x2202858
|
|
/* 02202858 */ cpu->r[9] = 0x10040000u;
|
|
/* 0220285C */ cpu->r[0] = 0x00000001u;
|
|
/* 02202860 */ cpu->r[9] = cpu->r[9] + 0xFFFFE3FCu;
|
|
/* 02202864 */ _t31 = cpu->r[10] + 0x00000000u;
|
|
/* 02202864 */ rbrew_write32(cpu->mem, _t31, cpu->r[0]);
|
|
/* 02202868 */ _t32 = cpu->r[11] + 0x00000000u;
|
|
/* 02202868 */ rbrew_write32(cpu->mem, _t32, cpu->r[9]);
|
|
L_0220286C: ; // 0x220286c
|
|
/* 0220286C */ cpu->r[0] = cpu->r[4] ^ cpu->r[11];
|
|
/* 02202870 */ cpu->r[0] = rbrew_clz32(cpu->r[0]);
|
|
/* 02202874 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x0000001Bu, 0x00000018u, 0x0000001Fu);
|
|
L_02202878: ; // 0x2202878
|
|
/* 02202878 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
L_0220287C: ; // 0x220287c
|
|
/* 0220287C */ cpu->r[3] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 02202880 */ return;
|
|
}
|
|
|
|
// fn_02202884 @ 0x2202884
|
|
void Gambit_fn_02202884(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_02202884: ; // 0x2202884
|
|
/* 02202884 */ cpu->r[0] = cpu->lr;
|
|
/* 02202888 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02202888 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02202888 */ cpu->r[1] = _t0;
|
|
/* 0220288C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0220288C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02202890 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02202890 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02202894 */ _t3 = cpu->r[3] + 0x0000000Eu;
|
|
/* 02202894 */ cpu->r[4] = rbrew_read8(cpu->mem, _t3);
|
|
/* 02202898 */ cpu->r[31] = cpu->r[3];
|
|
/* 0220289C */ /* nop */
|
|
/* 022028A0 */ Gambit_fn_027FC35C(cpu);
|
|
/* 022028A4 */ cpu->r[3] = cpu->r[31];
|
|
/* 022028A8 */ Gambit_fn_02202F24(cpu);
|
|
/* 022028AC */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 022028AC */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 022028B0 */ cpu->lr = cpu->r[0];
|
|
/* 022028B4 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 022028B4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t5);
|
|
/* 022028B8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 022028BC */ return;
|
|
}
|
|
|
|
// fn_02202888 @ 0x2202888
|
|
void Gambit_fn_02202888(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_02202888: ; // 0x2202888
|
|
/* 02202888 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02202888 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02202888 */ cpu->r[1] = _t0;
|
|
/* 0220288C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0220288C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02202890 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02202890 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02202894 */ _t3 = cpu->r[3] + 0x0000000Eu;
|
|
/* 02202894 */ cpu->r[4] = rbrew_read8(cpu->mem, _t3);
|
|
/* 02202898 */ cpu->r[31] = cpu->r[3];
|
|
/* 0220289C */ /* nop */
|
|
/* 022028A0 */ Gambit_fn_027FC35C(cpu);
|
|
/* 022028A4 */ cpu->r[3] = cpu->r[31];
|
|
/* 022028A8 */ Gambit_fn_02202F24(cpu);
|
|
/* 022028AC */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 022028AC */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 022028B0 */ cpu->lr = cpu->r[0];
|
|
/* 022028B4 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 022028B4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t5);
|
|
/* 022028B8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 022028BC */ return;
|
|
}
|
|
|
|
// fn_022028C0 @ 0x22028c0
|
|
void Gambit_fn_022028C0(CPUState* cpu) {
|
|
L_022028C0: ; // 0x22028c0
|
|
/* 022028C0 */ cpu->r[3] = 0x00000001u;
|
|
/* 022028C4 */ return;
|
|
}
|
|
|
|
// fn_022028C8 @ 0x22028c8
|
|
void Gambit_fn_022028C8(CPUState* cpu) {
|
|
L_022028C8: ; // 0x22028c8
|
|
/* 022028C8 */ cpu->r[3] = cpu->r[3] + 0x000001ACu;
|
|
/* 022028CC */ return;
|
|
}
|
|
|
|
// fn_022028D0 @ 0x22028d0
|
|
void Gambit_fn_022028D0(CPUState* cpu) {
|
|
L_022028D0: ; // 0x22028d0
|
|
/* 022028D0 */ cpu->r[3] = cpu->r[3] + 0x000001DCu;
|
|
/* 022028D4 */ return;
|
|
}
|
|
|
|
// fn_022028DC @ 0x22028dc
|
|
void Gambit_fn_022028DC(CPUState* cpu) {
|
|
L_022028DC: ; // 0x22028dc
|
|
/* 022028DC */ cpu->r[3] = 0x10040000u;
|
|
/* 022028E0 */ cpu->r[3] = cpu->r[3] + 0xFFFFE4F4u;
|
|
/* 022028E4 */ return;
|
|
}
|
|
|
|
// fn_022028E8 @ 0x22028e8
|
|
void Gambit_fn_022028E8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53;
|
|
|
|
L_022028E8: ; // 0x22028e8
|
|
/* 022028E8 */ cpu->r[9] = 0x101D0000u;
|
|
/* 022028EC */ _t0 = cpu->r[9] + 0xFFFFE624u;
|
|
/* 022028EC */ cpu->r[9] = rbrew_read32(cpu->mem, _t0);
|
|
/* 022028F0 */ cpu->r[10] = 0x101D0000u;
|
|
/* 022028F4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 022028F8 */ cpu->r[10] = cpu->r[10] + 0xFFFFFE98u;
|
|
/* 022028FC */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 022028FC */ _t2 = _t1 & 0x00000001u;
|
|
/* 022028FC */ if (_t2) goto L_02202900; else goto L_02202918;
|
|
L_02202900: ; // 0x2202900
|
|
/* 02202900 */ cpu->r[12] = 0x10040000u;
|
|
/* 02202904 */ cpu->r[11] = 0x00000001u;
|
|
/* 02202908 */ cpu->r[9] = 0x101D0000u;
|
|
/* 0220290C */ cpu->r[12] = cpu->r[12] + 0xFFFFE4CCu;
|
|
/* 02202910 */ _t3 = cpu->r[9] + 0xFFFFE624u;
|
|
/* 02202910 */ rbrew_write32(cpu->mem, _t3, cpu->r[11]);
|
|
/* 02202914 */ _t4 = cpu->r[10] + 0x00000000u;
|
|
/* 02202914 */ rbrew_write32(cpu->mem, _t4, cpu->r[12]);
|
|
L_02202918: ; // 0x2202918
|
|
/* 02202918 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[10]);
|
|
/* 0220291C */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0220291C */ _t6 = _t5 & 0x00000001u;
|
|
/* 0220291C */ if (_t6) goto L_02202920; else goto L_02202928;
|
|
L_02202920: ; // 0x2202920
|
|
/* 02202920 */ cpu->r[3] = 0x00000001u;
|
|
/* 02202924 */ return;
|
|
L_02202928: ; // 0x2202928
|
|
/* 02202928 */ cpu->r[11] = 0x101D0000u;
|
|
/* 0220292C */ _t7 = cpu->r[11] + 0xFFFFE61Cu;
|
|
/* 0220292C */ cpu->r[11] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02202930 */ cpu->r[12] = 0x101D0000u;
|
|
/* 02202934 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02202938 */ cpu->r[12] = cpu->r[12] + 0xFFFFFC08u;
|
|
/* 0220293C */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0220293C */ _t9 = _t8 & 0x00000001u;
|
|
/* 0220293C */ if (_t9) goto L_02202940; else goto L_02202958;
|
|
L_02202940: ; // 0x2202940
|
|
/* 02202940 */ cpu->r[9] = 0x10040000u;
|
|
/* 02202944 */ cpu->r[0] = 0x00000001u;
|
|
/* 02202948 */ cpu->r[10] = 0x101D0000u;
|
|
/* 0220294C */ cpu->r[9] = cpu->r[9] + 0xFFFFE4BCu;
|
|
/* 02202950 */ _t10 = cpu->r[10] + 0xFFFFE61Cu;
|
|
/* 02202950 */ rbrew_write32(cpu->mem, _t10, cpu->r[0]);
|
|
/* 02202954 */ _t11 = cpu->r[12] + 0x00000000u;
|
|
/* 02202954 */ rbrew_write32(cpu->mem, _t11, cpu->r[9]);
|
|
L_02202958: ; // 0x2202958
|
|
/* 02202958 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[12]);
|
|
/* 0220295C */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0220295C */ _t13 = _t12 & 0x00000001u;
|
|
/* 0220295C */ if (_t13) goto L_02202960; else goto L_02202968;
|
|
L_02202960: ; // 0x2202960
|
|
/* 02202960 */ cpu->r[0] = 0x00000001u;
|
|
/* 02202964 */ goto L_02202AE4;
|
|
L_02202968: ; // 0x2202968
|
|
/* 02202968 */ cpu->r[10] = 0x101D0000u;
|
|
/* 0220296C */ _t14 = cpu->r[10] + 0xFFFFE618u;
|
|
/* 0220296C */ cpu->r[10] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02202970 */ cpu->r[9] = 0x101D0000u;
|
|
/* 02202974 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02202978 */ cpu->r[9] = cpu->r[9] + 0xFFFFFC04u;
|
|
/* 0220297C */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0220297C */ _t16 = _t15 & 0x00000001u;
|
|
/* 0220297C */ if (_t16) goto L_02202980; else goto L_02202998;
|
|
L_02202980: ; // 0x2202980
|
|
/* 02202980 */ cpu->r[11] = 0x10040000u;
|
|
/* 02202984 */ cpu->r[10] = 0x00000001u;
|
|
/* 02202988 */ cpu->r[12] = 0x101D0000u;
|
|
/* 0220298C */ cpu->r[11] = cpu->r[11] + 0xFFFFE4ACu;
|
|
/* 02202990 */ _t17 = cpu->r[12] + 0xFFFFE618u;
|
|
/* 02202990 */ rbrew_write32(cpu->mem, _t17, cpu->r[10]);
|
|
/* 02202994 */ _t18 = cpu->r[9] + 0x00000000u;
|
|
/* 02202994 */ rbrew_write32(cpu->mem, _t18, cpu->r[11]);
|
|
L_02202998: ; // 0x2202998
|
|
/* 02202998 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[9]);
|
|
/* 0220299C */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0220299C */ _t20 = _t19 & 0x00000001u;
|
|
/* 0220299C */ if (_t20) goto L_022029A0; else goto L_022029A8;
|
|
L_022029A0: ; // 0x22029a0
|
|
/* 022029A0 */ cpu->r[0] = 0x00000001u;
|
|
/* 022029A4 */ goto L_02202AE4;
|
|
L_022029A8: ; // 0x22029a8
|
|
/* 022029A8 */ cpu->r[9] = 0x101D0000u;
|
|
/* 022029AC */ _t21 = cpu->r[9] + 0xFFFFDA0Cu;
|
|
/* 022029AC */ cpu->r[9] = rbrew_read32(cpu->mem, _t21);
|
|
/* 022029B0 */ cpu->r[12] = 0x101D0000u;
|
|
/* 022029B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 022029B8 */ cpu->r[12] = cpu->r[12] + 0xFFFFFC00u;
|
|
/* 022029BC */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 022029BC */ _t23 = _t22 & 0x00000001u;
|
|
/* 022029BC */ if (_t23) goto L_022029C0; else goto L_022029D8;
|
|
L_022029C0: ; // 0x22029c0
|
|
/* 022029C0 */ cpu->r[9] = 0x10040000u;
|
|
/* 022029C4 */ cpu->r[0] = 0x00000001u;
|
|
/* 022029C8 */ cpu->r[11] = 0x101D0000u;
|
|
/* 022029CC */ cpu->r[9] = cpu->r[9] + 0xFFFFE49Cu;
|
|
/* 022029D0 */ _t24 = cpu->r[11] + 0xFFFFDA0Cu;
|
|
/* 022029D0 */ rbrew_write32(cpu->mem, _t24, cpu->r[0]);
|
|
/* 022029D4 */ _t25 = cpu->r[12] + 0x00000000u;
|
|
/* 022029D4 */ rbrew_write32(cpu->mem, _t25, cpu->r[9]);
|
|
L_022029D8: ; // 0x22029d8
|
|
/* 022029D8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[12]);
|
|
/* 022029DC */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 022029DC */ _t27 = _t26 & 0x00000001u;
|
|
/* 022029DC */ if (_t27) goto L_022029E0; else goto L_022029E8;
|
|
L_022029E0: ; // 0x22029e0
|
|
/* 022029E0 */ cpu->r[0] = 0x00000001u;
|
|
/* 022029E4 */ goto L_02202AE0;
|
|
L_022029E8: ; // 0x22029e8
|
|
/* 022029E8 */ cpu->r[12] = 0x101D0000u;
|
|
/* 022029EC */ _t28 = cpu->r[12] + 0xFFFFDA00u;
|
|
/* 022029EC */ cpu->r[12] = rbrew_read32(cpu->mem, _t28);
|
|
/* 022029F0 */ cpu->r[9] = 0x101D0000u;
|
|
/* 022029F4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 022029F8 */ cpu->r[9] = cpu->r[9] + 0xFFFFFBFCu;
|
|
/* 022029FC */ _t29 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 022029FC */ _t30 = _t29 & 0x00000001u;
|
|
/* 022029FC */ if (_t30) goto L_02202A00; else goto L_02202A18;
|
|
L_02202A00: ; // 0x2202a00
|
|
/* 02202A00 */ cpu->r[12] = 0x10040000u;
|
|
/* 02202A04 */ cpu->r[0] = 0x00000001u;
|
|
/* 02202A08 */ cpu->r[10] = 0x101D0000u;
|
|
/* 02202A0C */ cpu->r[12] = cpu->r[12] + 0xFFFFE48Cu;
|
|
/* 02202A10 */ _t31 = cpu->r[10] + 0xFFFFDA00u;
|
|
/* 02202A10 */ rbrew_write32(cpu->mem, _t31, cpu->r[0]);
|
|
/* 02202A14 */ _t32 = cpu->r[9] + 0x00000000u;
|
|
/* 02202A14 */ rbrew_write32(cpu->mem, _t32, cpu->r[12]);
|
|
L_02202A18: ; // 0x2202a18
|
|
/* 02202A18 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[9]);
|
|
/* 02202A1C */ _t33 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02202A1C */ _t34 = _t33 & 0x00000001u;
|
|
/* 02202A1C */ if (_t34) goto L_02202A20; else goto L_02202A28;
|
|
L_02202A20: ; // 0x2202a20
|
|
/* 02202A20 */ cpu->r[0] = 0x00000001u;
|
|
/* 02202A24 */ goto L_02202AE0;
|
|
L_02202A28: ; // 0x2202a28
|
|
/* 02202A28 */ cpu->r[12] = 0x101D0000u;
|
|
/* 02202A2C */ _t35 = cpu->r[12] + 0xFFFFD9ECu;
|
|
/* 02202A2C */ cpu->r[12] = rbrew_read32(cpu->mem, _t35);
|
|
/* 02202A30 */ cpu->r[11] = 0x101D0000u;
|
|
/* 02202A34 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02202A38 */ cpu->r[11] = cpu->r[11] + 0xFFFFFB4Cu;
|
|
/* 02202A3C */ _t36 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02202A3C */ _t37 = _t36 & 0x00000001u;
|
|
/* 02202A3C */ if (_t37) goto L_02202A40; else goto L_02202A58;
|
|
L_02202A40: ; // 0x2202a40
|
|
/* 02202A40 */ cpu->r[0] = 0x10040000u;
|
|
/* 02202A44 */ cpu->r[10] = 0x00000001u;
|
|
/* 02202A48 */ cpu->r[12] = 0x101D0000u;
|
|
/* 02202A4C */ cpu->r[0] = cpu->r[0] + 0xFFFFE47Cu;
|
|
/* 02202A50 */ _t38 = cpu->r[12] + 0xFFFFD9ECu;
|
|
/* 02202A50 */ rbrew_write32(cpu->mem, _t38, cpu->r[10]);
|
|
/* 02202A54 */ _t39 = cpu->r[11] + 0x00000000u;
|
|
/* 02202A54 */ rbrew_write32(cpu->mem, _t39, cpu->r[0]);
|
|
L_02202A58: ; // 0x2202a58
|
|
/* 02202A58 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[11]);
|
|
/* 02202A5C */ _t40 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02202A5C */ _t41 = _t40 & 0x00000001u;
|
|
/* 02202A5C */ if (_t41) goto L_02202A60; else goto L_02202A68;
|
|
L_02202A60: ; // 0x2202a60
|
|
/* 02202A60 */ cpu->r[0] = 0x00000001u;
|
|
/* 02202A64 */ goto L_02202ADC;
|
|
L_02202A68: ; // 0x2202a68
|
|
/* 02202A68 */ cpu->r[10] = 0x101D0000u;
|
|
/* 02202A6C */ _t42 = cpu->r[10] + 0xFFFFD4E8u;
|
|
/* 02202A6C */ cpu->r[9] = rbrew_read32(cpu->mem, _t42);
|
|
/* 02202A6C */ cpu->r[10] = _t42;
|
|
/* 02202A70 */ cpu->r[12] = 0x101D0000u;
|
|
/* 02202A74 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 02202A78 */ cpu->r[12] = cpu->r[12] + 0xFFFFD4ECu;
|
|
/* 02202A7C */ _t43 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02202A7C */ _t44 = _t43 & 0x00000001u;
|
|
/* 02202A7C */ if (_t44) goto L_02202A80; else goto L_02202A94;
|
|
L_02202A80: ; // 0x2202a80
|
|
/* 02202A80 */ cpu->r[0] = 0x10040000u;
|
|
/* 02202A84 */ cpu->r[11] = 0x00000001u;
|
|
/* 02202A88 */ cpu->r[0] = cpu->r[0] + 0xFFFFE46Cu;
|
|
/* 02202A8C */ _t45 = cpu->r[10] + 0x00000000u;
|
|
/* 02202A8C */ rbrew_write32(cpu->mem, _t45, cpu->r[11]);
|
|
/* 02202A90 */ _t46 = cpu->r[12] + 0x00000000u;
|
|
/* 02202A90 */ rbrew_write32(cpu->mem, _t46, cpu->r[0]);
|
|
L_02202A94: ; // 0x2202a94
|
|
/* 02202A94 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[12]);
|
|
/* 02202A98 */ _t47 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02202A98 */ _t48 = _t47 & 0x00000001u;
|
|
/* 02202A98 */ if (_t48) goto L_02202A9C; else goto L_02202AA4;
|
|
L_02202A9C: ; // 0x2202a9c
|
|
/* 02202A9C */ cpu->r[0] = 0x00000001u;
|
|
/* 02202AA0 */ goto L_02202ADC;
|
|
L_02202AA4: ; // 0x2202aa4
|
|
/* 02202AA4 */ cpu->r[9] = 0x101D0000u;
|
|
/* 02202AA8 */ _t49 = cpu->r[9] + 0xFFFFD4E0u;
|
|
/* 02202AA8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t49);
|
|
/* 02202AA8 */ cpu->r[9] = _t49;
|
|
/* 02202AAC */ cpu->r[10] = 0x101D0000u;
|
|
/* 02202AB0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02202AB4 */ cpu->r[10] = cpu->r[10] + 0xFFFFD4E4u;
|
|
/* 02202AB8 */ _t50 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02202AB8 */ _t51 = _t50 & 0x00000001u;
|
|
/* 02202AB8 */ if (_t51) goto L_02202ABC; else goto L_02202AD0;
|
|
L_02202ABC: ; // 0x2202abc
|
|
/* 02202ABC */ cpu->r[12] = 0x10040000u;
|
|
/* 02202AC0 */ cpu->r[11] = 0x00000001u;
|
|
/* 02202AC4 */ cpu->r[12] = cpu->r[12] + 0xFFFFE3FCu;
|
|
/* 02202AC8 */ _t52 = cpu->r[9] + 0x00000000u;
|
|
/* 02202AC8 */ rbrew_write32(cpu->mem, _t52, cpu->r[11]);
|
|
/* 02202ACC */ _t53 = cpu->r[10] + 0x00000000u;
|
|
/* 02202ACC */ rbrew_write32(cpu->mem, _t53, cpu->r[12]);
|
|
L_02202AD0: ; // 0x2202ad0
|
|
/* 02202AD0 */ cpu->r[0] = cpu->r[4] ^ cpu->r[10];
|
|
/* 02202AD4 */ cpu->r[0] = rbrew_clz32(cpu->r[0]);
|
|
/* 02202AD8 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x0000001Bu, 0x00000018u, 0x0000001Fu);
|
|
L_02202ADC: ; // 0x2202adc
|
|
/* 02202ADC */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
L_02202AE0: ; // 0x2202ae0
|
|
/* 02202AE0 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
L_02202AE4: ; // 0x2202ae4
|
|
/* 02202AE4 */ cpu->r[3] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 02202AE8 */ return;
|
|
}
|
|
|
|
// fn_02202AEC @ 0x2202aec
|
|
void Gambit_fn_02202AEC(CPUState* cpu) {
|
|
L_02202AEC: ; // 0x2202aec
|
|
/* 02202AEC */ cpu->r[3] = 0x00000001u;
|
|
/* 02202AF0 */ return;
|
|
}
|
|
|
|
// fn_02202AF4 @ 0x2202af4
|
|
void Gambit_fn_02202AF4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69, _t70, _t71, _t72, _t73, _t74, _t75, _t76, _t77, _t78, _t79, _t80, _t81, _t82, _t83, _t84, _t85, _t86, _t87, _t88, _t89, _t90, _t91, _t92, _t93, _t94, _t95, _t96, _t97, _t98, _t99, _t100, _t101, _t102, _t103, _t104;
|
|
|
|
L_02202AF4: ; // 0x2202af4
|
|
/* 02202AF4 */ _t0 = cpu->r[1] + 0xFFFFFFD0u;
|
|
/* 02202AF4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02202AF4 */ cpu->r[1] = _t0;
|
|
/* 02202AF8 */ /* nop */
|
|
/* 02202AFC */ cpu->r[0] = cpu->lr;
|
|
/* 02202B00 */ _t1 = cpu->r[1] + 0x00000034u;
|
|
/* 02202B00 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02202B04 */ cpu->r[29] = cpu->r[6];
|
|
/* 02202B08 */ cpu->r[28] = cpu->r[3];
|
|
/* 02202B0C */ cpu->r[30] = cpu->r[5];
|
|
/* 02202B10 */ _t2 = cpu->r[30] + 0x00000000u;
|
|
/* 02202B10 */ cpu->r[27] = rbrew_read8(cpu->mem, _t2);
|
|
/* 02202B14 */ cpu->r[31] = 0x101D0000u;
|
|
/* 02202B18 */ _t3 = cpu->r[28] + 0x0000001Cu;
|
|
/* 02202B18 */ rbrew_write32(cpu->mem, _t3, cpu->r[4]);
|
|
/* 02202B1C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 02202B20 */ _t4 = cpu->r[28] + 0x0000000Fu;
|
|
/* 02202B20 */ rbrew_write8(cpu->mem, _t4, (uint8_t)cpu->r[27]);
|
|
/* 02202B24 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02202B24 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02202B24 */ if (_t6) goto L_02202B68; else goto L_02202B28;
|
|
L_02202B28: ; // 0x2202b28
|
|
/* 02202B28 */ _t7 = cpu->r[31] + 0xFFFF98F0u;
|
|
/* 02202B28 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02202B2C */ Gambit_fn_02826F20(cpu);
|
|
/* 02202B30 */ _t8 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02202B30 */ cpu->r[9] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02202B34 */ _t9 = cpu->r[9] + 0x00000034u;
|
|
/* 02202B34 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02202B38 */ cpu->ctr = cpu->r[0];
|
|
/* 02202B3C */ cpu->r[5] = 0x00000004u;
|
|
/* 02202B40 */ cpu->r[4] = rbrew_rlwinm(cpu->r[27], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 02202B44 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02202B48 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 02202B4C */ cpu->r[0] = cpu->r[27];
|
|
/* 02202B50 */ _t10 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02202B50 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02202B50 */ if (_t11) goto L_02202B58; else goto L_02202B54;
|
|
L_02202B54: ; // 0x2202b54
|
|
/* 02202B54 */ cpu->r[0] = 0x00000001u;
|
|
L_02202B58: ; // 0x2202b58
|
|
/* 02202B58 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02202B5C */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02202B5C */ _t13 = _t12 & 0x00000001u;
|
|
/* 02202B5C */ if (_t13) goto L_02202B68; else goto L_02202B60;
|
|
L_02202B60: ; // 0x2202b60
|
|
/* 02202B60 */ _t14 = cpu->r[28] + 0x00000024u;
|
|
/* 02202B60 */ rbrew_write32(cpu->mem, _t14, cpu->r[3]);
|
|
/* 02202B64 */ _t15 = cpu->r[28] + 0x00000020u;
|
|
/* 02202B64 */ rbrew_write32(cpu->mem, _t15, cpu->r[27]);
|
|
L_02202B68: ; // 0x2202b68
|
|
/* 02202B68 */ _t16 = cpu->r[28] + 0x00000020u;
|
|
/* 02202B68 */ cpu->r[7] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02202B6C */ cpu->r[0] = 0x00000000u;
|
|
/* 02202B70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 02202B74 */ cpu->r[12] = cpu->r[0];
|
|
/* 02202B78 */ _t17 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02202B78 */ _t18 = _t17 & 0x00000001u;
|
|
/* 02202B78 */ if (_t18) goto L_02202B7C; else goto L_02202BA0;
|
|
L_02202B7C: ; // 0x2202b7c
|
|
/* 02202B7C */ cpu->ctr = cpu->r[7];
|
|
/* 02202B80 */ cpu->r[10] = 0x00000000u;
|
|
L_02202B84: ; // 0x2202b84
|
|
/* 02202B84 */ _t19 = cpu->r[28] + 0x00000024u;
|
|
/* 02202B84 */ cpu->r[11] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02202B88 */ _t20 = cpu->r[11] + cpu->r[10];
|
|
/* 02202B88 */ rbrew_write16(cpu->mem, _t20, (uint16_t)cpu->r[0]);
|
|
/* 02202B8C */ cpu->r[8] = cpu->r[11] + cpu->r[10];
|
|
/* 02202B90 */ _t21 = cpu->r[8] + 0x00000004u;
|
|
/* 02202B90 */ rbrew_write32(cpu->mem, _t21, cpu->r[12]);
|
|
/* 02202B94 */ cpu->r[10] = cpu->r[10] + 0x00000008u;
|
|
/* 02202B98 */ _t22 = cpu->r[8] + 0x00000002u;
|
|
/* 02202B98 */ rbrew_write16(cpu->mem, _t22, (uint16_t)cpu->r[0]);
|
|
/* 02202B9C */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02202B9C */ _t23 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02202B9C */ _t24 = _t23 >> (0x00000002u & 31u);
|
|
/* 02202B9C */ _t25 = _t24 & 0x00000001u;
|
|
/* 02202B9C */ if (_t25) goto L_02202B84; else goto L_02202BA0;
|
|
L_02202BA0: ; // 0x2202ba0
|
|
/* 02202BA0 */ _t26 = cpu->r[28] + 0x0000000Fu;
|
|
/* 02202BA0 */ cpu->r[27] = rbrew_read8(cpu->mem, _t26);
|
|
/* 02202BA4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 02202BA8 */ _t27 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02202BA8 */ _t28 = _t27 & 0x00000001u;
|
|
/* 02202BA8 */ if (_t28) goto L_02202BEC; else goto L_02202BAC;
|
|
L_02202BAC: ; // 0x2202bac
|
|
/* 02202BAC */ _t29 = cpu->r[31] + 0xFFFF98F0u;
|
|
/* 02202BAC */ cpu->r[3] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02202BB0 */ Gambit_fn_02826F20(cpu);
|
|
/* 02202BB4 */ _t30 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02202BB4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02202BB8 */ _t31 = cpu->r[12] + 0x00000034u;
|
|
/* 02202BB8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02202BBC */ cpu->ctr = cpu->r[0];
|
|
/* 02202BC0 */ cpu->r[5] = 0x00000004u;
|
|
/* 02202BC4 */ cpu->r[4] = rbrew_rlwinm(cpu->r[27], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 02202BC8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02202BCC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 02202BD0 */ cpu->r[11] = cpu->r[27];
|
|
/* 02202BD4 */ _t32 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02202BD4 */ _t33 = _t32 & 0x00000001u;
|
|
/* 02202BD4 */ if (_t33) goto L_02202BDC; else goto L_02202BD8;
|
|
L_02202BD8: ; // 0x2202bd8
|
|
/* 02202BD8 */ cpu->r[11] = 0x00000001u;
|
|
L_02202BDC: ; // 0x2202bdc
|
|
/* 02202BDC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02202BE0 */ _t34 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02202BE0 */ _t35 = _t34 & 0x00000001u;
|
|
/* 02202BE0 */ if (_t35) goto L_02202BEC; else goto L_02202BE4;
|
|
L_02202BE4: ; // 0x2202be4
|
|
/* 02202BE4 */ _t36 = cpu->r[28] + 0x0000002Cu;
|
|
/* 02202BE4 */ rbrew_write32(cpu->mem, _t36, cpu->r[3]);
|
|
/* 02202BE8 */ _t37 = cpu->r[28] + 0x00000028u;
|
|
/* 02202BE8 */ rbrew_write32(cpu->mem, _t37, cpu->r[27]);
|
|
L_02202BEC: ; // 0x2202bec
|
|
/* 02202BEC */ _t38 = cpu->r[28] + 0x00000028u;
|
|
/* 02202BEC */ cpu->r[6] = rbrew_read32(cpu->mem, _t38);
|
|
/* 02202BF0 */ cpu->r[0] = 0x00000000u;
|
|
/* 02202BF4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u);
|
|
/* 02202BF8 */ cpu->r[12] = cpu->r[0];
|
|
/* 02202BFC */ _t39 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02202BFC */ _t40 = _t39 & 0x00000001u;
|
|
/* 02202BFC */ if (_t40) goto L_02202C00; else goto L_02202C24;
|
|
L_02202C00: ; // 0x2202c00
|
|
/* 02202C00 */ cpu->ctr = cpu->r[6];
|
|
/* 02202C04 */ cpu->r[9] = 0x00000000u;
|
|
L_02202C08: ; // 0x2202c08
|
|
/* 02202C08 */ _t41 = cpu->r[28] + 0x0000002Cu;
|
|
/* 02202C08 */ cpu->r[5] = rbrew_read32(cpu->mem, _t41);
|
|
/* 02202C0C */ _t42 = cpu->r[5] + cpu->r[9];
|
|
/* 02202C0C */ rbrew_write16(cpu->mem, _t42, (uint16_t)cpu->r[0]);
|
|
/* 02202C10 */ cpu->r[7] = cpu->r[5] + cpu->r[9];
|
|
/* 02202C14 */ _t43 = cpu->r[7] + 0x00000004u;
|
|
/* 02202C14 */ rbrew_write32(cpu->mem, _t43, cpu->r[12]);
|
|
/* 02202C18 */ cpu->r[9] = cpu->r[9] + 0x00000008u;
|
|
/* 02202C1C */ _t44 = cpu->r[7] + 0x00000002u;
|
|
/* 02202C1C */ rbrew_write16(cpu->mem, _t44, (uint16_t)cpu->r[0]);
|
|
/* 02202C20 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02202C20 */ _t45 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02202C20 */ _t46 = _t45 >> (0x00000002u & 31u);
|
|
/* 02202C20 */ _t47 = _t46 & 0x00000001u;
|
|
/* 02202C20 */ if (_t47) goto L_02202C08; else goto L_02202C24;
|
|
L_02202C24: ; // 0x2202c24
|
|
/* 02202C24 */ _t48 = cpu->r[28] + 0x0000000Fu;
|
|
/* 02202C24 */ cpu->r[27] = rbrew_read8(cpu->mem, _t48);
|
|
/* 02202C28 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 02202C2C */ _t49 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02202C2C */ _t50 = _t49 & 0x00000001u;
|
|
/* 02202C2C */ if (_t50) goto L_02202C70; else goto L_02202C30;
|
|
L_02202C30: ; // 0x2202c30
|
|
/* 02202C30 */ _t51 = cpu->r[31] + 0xFFFF98F0u;
|
|
/* 02202C30 */ cpu->r[3] = rbrew_read32(cpu->mem, _t51);
|
|
/* 02202C34 */ Gambit_fn_02826F20(cpu);
|
|
/* 02202C38 */ _t52 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02202C38 */ cpu->r[6] = rbrew_read32(cpu->mem, _t52);
|
|
/* 02202C3C */ _t53 = cpu->r[6] + 0x00000034u;
|
|
/* 02202C3C */ cpu->r[0] = rbrew_read32(cpu->mem, _t53);
|
|
/* 02202C40 */ cpu->ctr = cpu->r[0];
|
|
/* 02202C44 */ cpu->r[5] = 0x00000004u;
|
|
/* 02202C48 */ cpu->r[4] = rbrew_rlwinm(cpu->r[27], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 02202C4C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02202C50 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 02202C54 */ cpu->r[10] = cpu->r[27];
|
|
/* 02202C58 */ _t54 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02202C58 */ _t55 = _t54 & 0x00000001u;
|
|
/* 02202C58 */ if (_t55) goto L_02202C60; else goto L_02202C5C;
|
|
L_02202C5C: ; // 0x2202c5c
|
|
/* 02202C5C */ cpu->r[10] = 0x00000001u;
|
|
L_02202C60: ; // 0x2202c60
|
|
/* 02202C60 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02202C64 */ _t56 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02202C64 */ _t57 = _t56 & 0x00000001u;
|
|
/* 02202C64 */ if (_t57) goto L_02202C70; else goto L_02202C68;
|
|
L_02202C68: ; // 0x2202c68
|
|
/* 02202C68 */ _t58 = cpu->r[28] + 0x00000034u;
|
|
/* 02202C68 */ rbrew_write32(cpu->mem, _t58, cpu->r[3]);
|
|
/* 02202C6C */ _t59 = cpu->r[28] + 0x00000030u;
|
|
/* 02202C6C */ rbrew_write32(cpu->mem, _t59, cpu->r[27]);
|
|
L_02202C70: ; // 0x2202c70
|
|
/* 02202C70 */ _t60 = cpu->r[28] + 0x00000030u;
|
|
/* 02202C70 */ cpu->r[12] = rbrew_read32(cpu->mem, _t60);
|
|
/* 02202C74 */ cpu->r[0] = 0x00000000u;
|
|
/* 02202C78 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02202C7C */ cpu->r[5] = cpu->r[0];
|
|
/* 02202C80 */ _t61 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02202C80 */ _t62 = _t61 & 0x00000001u;
|
|
/* 02202C80 */ if (_t62) goto L_02202C84; else goto L_02202CA8;
|
|
L_02202C84: ; // 0x2202c84
|
|
/* 02202C84 */ cpu->ctr = cpu->r[12];
|
|
/* 02202C88 */ cpu->r[8] = 0x00000000u;
|
|
L_02202C8C: ; // 0x2202c8c
|
|
/* 02202C8C */ _t63 = cpu->r[28] + 0x00000034u;
|
|
/* 02202C8C */ cpu->r[9] = rbrew_read32(cpu->mem, _t63);
|
|
/* 02202C90 */ _t64 = cpu->r[9] + cpu->r[8];
|
|
/* 02202C90 */ rbrew_write16(cpu->mem, _t64, (uint16_t)cpu->r[0]);
|
|
/* 02202C94 */ cpu->r[6] = cpu->r[9] + cpu->r[8];
|
|
/* 02202C98 */ _t65 = cpu->r[6] + 0x00000004u;
|
|
/* 02202C98 */ rbrew_write32(cpu->mem, _t65, cpu->r[5]);
|
|
/* 02202C9C */ cpu->r[8] = cpu->r[8] + 0x00000008u;
|
|
/* 02202CA0 */ _t66 = cpu->r[6] + 0x00000002u;
|
|
/* 02202CA0 */ rbrew_write16(cpu->mem, _t66, (uint16_t)cpu->r[0]);
|
|
/* 02202CA4 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02202CA4 */ _t67 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02202CA4 */ _t68 = _t67 >> (0x00000002u & 31u);
|
|
/* 02202CA4 */ _t69 = _t68 & 0x00000001u;
|
|
/* 02202CA4 */ if (_t69) goto L_02202C8C; else goto L_02202CA8;
|
|
L_02202CA8: ; // 0x2202ca8
|
|
/* 02202CA8 */ _t70 = cpu->r[30] + 0x00000000u;
|
|
/* 02202CA8 */ cpu->r[25] = rbrew_read8(cpu->mem, _t70);
|
|
/* 02202CAC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000000u);
|
|
/* 02202CB0 */ _t71 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02202CB0 */ _t72 = _t71 & 0x00000001u;
|
|
/* 02202CB0 */ if (_t72) goto L_02202D8C; else goto L_02202CB4;
|
|
L_02202CB4: ; // 0x2202cb4
|
|
/* 02202CB4 */ _t73 = cpu->r[31] + 0xFFFF98F0u;
|
|
/* 02202CB4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t73);
|
|
/* 02202CB8 */ Gambit_fn_02826F20(cpu);
|
|
/* 02202CBC */ _t74 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02202CBC */ cpu->r[10] = rbrew_read32(cpu->mem, _t74);
|
|
/* 02202CC0 */ _t75 = cpu->r[10] + 0x00000034u;
|
|
/* 02202CC0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t75);
|
|
/* 02202CC4 */ cpu->ctr = cpu->r[12];
|
|
/* 02202CC8 */ cpu->r[5] = 0x00000004u;
|
|
/* 02202CCC */ cpu->r[4] = (uint32_t)((int32_t)cpu->r[25] * (int32_t)0x00000024u);
|
|
/* 02202CD0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02202CD4 */ cpu->r[24] = cpu->r[3];
|
|
/* 02202CD8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000000u);
|
|
/* 02202CDC */ cpu->r[30] = cpu->r[25];
|
|
/* 02202CE0 */ cpu->r[7] = 0x00000000u;
|
|
/* 02202CE4 */ _t76 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02202CE4 */ _t77 = _t76 & 0x00000001u;
|
|
/* 02202CE4 */ if (_t77) goto L_02202CEC; else goto L_02202CE8;
|
|
L_02202CE8: ; // 0x2202ce8
|
|
/* 02202CE8 */ cpu->r[30] = 0x00000001u;
|
|
L_02202CEC: ; // 0x2202cec
|
|
/* 02202CEC */ cpu->r[31] = 0x10110000u;
|
|
/* 02202CF0 */ cpu->r[22] = (uint32_t)((int32_t)cpu->r[7] * (int32_t)0x00000024u);
|
|
/* 02202CF4 */ _t78 = cpu->r[31] + 0x00007399u;
|
|
/* 02202CF4 */ cpu->r[31] = rbrew_read8(cpu->mem, _t78);
|
|
/* 02202CF8 */ cpu->r[23] = 0x00000018u;
|
|
L_02202CFC: ; // 0x2202cfc
|
|
/* 02202CFC */ cpu->r[27] = cpu->r[24] + cpu->r[22];
|
|
/* 02202CFC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 02202D00 */ _t79 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02202D00 */ _t80 = _t79 & 0x00000001u;
|
|
/* 02202D00 */ if (_t80) goto L_02202D70; else goto L_02202D04;
|
|
L_02202D04: ; // 0x2202d04
|
|
/* 02202D04 */ cpu->r[26] = cpu->r[27];
|
|
/* 02202D04 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u);
|
|
/* 02202D08 */ _t81 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02202D08 */ _t82 = _t81 & 0x00000001u;
|
|
/* 02202D08 */ if (_t82) goto L_02202D0C; else goto L_02202D1C;
|
|
L_02202D0C: ; // 0x2202d0c
|
|
/* 02202D0C */ cpu->r[3] = 0x00000024u;
|
|
/* 02202D10 */ Gambit_fn_02801A78(cpu);
|
|
/* 02202D14 */ cpu->r[26] = cpu->r[3];
|
|
/* 02202D14 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u);
|
|
/* 02202D18 */ _t83 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02202D18 */ _t84 = _t83 & 0x00000001u;
|
|
/* 02202D18 */ if (_t84) goto L_02202D64; else goto L_02202D1C;
|
|
L_02202D1C: ; // 0x2202d1c
|
|
/* 02202D1C */ cpu->r[11] = cpu->r[26];
|
|
/* 02202D1C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02202D20 */ _t85 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02202D20 */ _t86 = _t85 & 0x00000001u;
|
|
/* 02202D20 */ if (_t86) goto L_02202D24; else goto L_02202D34;
|
|
L_02202D24: ; // 0x2202d24
|
|
/* 02202D24 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 02202D28 */ Gambit_fn_02801A78(cpu);
|
|
/* 02202D2C */ cpu->r[11] = cpu->r[3];
|
|
/* 02202D2C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02202D30 */ _t87 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02202D30 */ _t88 = _t87 & 0x00000001u;
|
|
/* 02202D30 */ if (_t88) goto L_02202D50; else goto L_02202D34;
|
|
L_02202D34: ; // 0x2202d34
|
|
/* 02202D34 */ cpu->r[5] = 0x10040000u;
|
|
/* 02202D38 */ _t89 = cpu->r[11] + 0x00000008u;
|
|
/* 02202D38 */ rbrew_write32(cpu->mem, _t89, cpu->r[23]);
|
|
/* 02202D3C */ cpu->r[0] = cpu->r[26] + 0x0000000Cu;
|
|
/* 02202D40 */ cpu->r[5] = cpu->r[5] + 0xFFFFE424u;
|
|
/* 02202D44 */ _t90 = cpu->r[11] + 0x00000000u;
|
|
/* 02202D44 */ rbrew_write32(cpu->mem, _t90, cpu->r[0]);
|
|
/* 02202D48 */ _t91 = cpu->r[11] + 0x00000004u;
|
|
/* 02202D48 */ rbrew_write32(cpu->mem, _t91, cpu->r[5]);
|
|
/* 02202D4C */ _t92 = cpu->r[26] + 0x00000023u;
|
|
/* 02202D4C */ rbrew_write8(cpu->mem, _t92, (uint8_t)cpu->r[31]);
|
|
L_02202D50: ; // 0x2202d50
|
|
/* 02202D50 */ cpu->r[6] = 0x10040000u;
|
|
/* 02202D54 */ _t93 = cpu->r[26] + 0x00000000u;
|
|
/* 02202D54 */ cpu->r[7] = rbrew_read32(cpu->mem, _t93);
|
|
/* 02202D58 */ cpu->r[6] = cpu->r[6] + 0xFFFFE43Cu;
|
|
/* 02202D5C */ _t94 = cpu->r[26] + 0x00000004u;
|
|
/* 02202D5C */ rbrew_write32(cpu->mem, _t94, cpu->r[6]);
|
|
/* 02202D60 */ _t95 = cpu->r[7] + 0x00000000u;
|
|
/* 02202D60 */ rbrew_write8(cpu->mem, _t95, (uint8_t)cpu->r[31]);
|
|
L_02202D64: ; // 0x2202d64
|
|
/* 02202D64 */ cpu->r[0] = 0x10040000u;
|
|
/* 02202D68 */ cpu->r[0] = cpu->r[0] + 0xFFFFE454u;
|
|
/* 02202D6C */ _t96 = cpu->r[27] + 0x00000004u;
|
|
/* 02202D6C */ rbrew_write32(cpu->mem, _t96, cpu->r[0]);
|
|
L_02202D70: ; // 0x2202d70
|
|
/* 02202D70 */ cpu->r[30] = cpu->r[30] + 0xFFFFFFFFu;
|
|
/* 02202D70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02202D74 */ cpu->r[22] = cpu->r[22] + 0x00000024u;
|
|
/* 02202D78 */ _t97 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02202D78 */ _t98 = _t97 & 0x00000001u;
|
|
/* 02202D78 */ if (_t98) goto L_02202D7C; else goto L_02202CFC;
|
|
L_02202D7C: ; // 0x2202d7c
|
|
/* 02202D7C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], 0x00000000u);
|
|
/* 02202D80 */ _t99 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02202D80 */ _t100 = _t99 & 0x00000001u;
|
|
/* 02202D80 */ if (_t100) goto L_02202D8C; else goto L_02202D84;
|
|
L_02202D84: ; // 0x2202d84
|
|
/* 02202D84 */ _t101 = cpu->r[28] + 0x00000018u;
|
|
/* 02202D84 */ rbrew_write32(cpu->mem, _t101, cpu->r[24]);
|
|
/* 02202D88 */ _t102 = cpu->r[28] + 0x00000014u;
|
|
/* 02202D88 */ rbrew_write32(cpu->mem, _t102, cpu->r[25]);
|
|
L_02202D8C: ; // 0x2202d8c
|
|
/* 02202D8C */ _t103 = cpu->r[28] + 0x0000000Eu;
|
|
/* 02202D8C */ rbrew_write8(cpu->mem, _t103, (uint8_t)cpu->r[29]);
|
|
/* 02202D90 */ /* nop */
|
|
/* 02202D94 */ _t104 = cpu->r[1] + 0x00000034u;
|
|
/* 02202D94 */ cpu->r[0] = rbrew_read32(cpu->mem, _t104);
|
|
/* 02202D98 */ cpu->lr = cpu->r[0];
|
|
/* 02202D9C */ cpu->r[1] = cpu->r[1] + 0x00000030u;
|
|
/* 02202DA0 */ return;
|
|
}
|
|
|
|
// fn_02202DA4 @ 0x2202da4
|
|
void Gambit_fn_02202DA4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26;
|
|
|
|
L_02202DA4: ; // 0x2202da4
|
|
/* 02202DA4 */ _t0 = cpu->r[7] + 0x00000000u;
|
|
/* 02202DA4 */ cpu->r[8] = rbrew_read8(cpu->mem, _t0);
|
|
/* 02202DA8 */ _t1 = cpu->r[3] + 0x00000020u;
|
|
/* 02202DA8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02202DAC */ _t2 = cpu->r[3] + 0x00000024u;
|
|
/* 02202DAC */ cpu->r[11] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02202DB0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[12]);
|
|
/* 02202DB4 */ _t3 = cpu->r[4] + 0x00000000u;
|
|
/* 02202DB4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02202DB8 */ _t4 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02202DB8 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02202DB8 */ if (_t5) goto L_02202DBC; else goto L_02202DC4;
|
|
L_02202DBC: ; // 0x2202dbc
|
|
/* 02202DBC */ cpu->r[10] = rbrew_rlwinm(cpu->r[8], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 02202DC0 */ cpu->r[11] = cpu->r[11] + cpu->r[10];
|
|
L_02202DC4: ; // 0x2202dc4
|
|
/* 02202DC4 */ _t6 = cpu->r[11] + 0x00000000u;
|
|
/* 02202DC4 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02202DC8 */ _t7 = cpu->r[4] + 0x00000004u;
|
|
/* 02202DC8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02202DCC */ _t8 = cpu->r[11] + 0x00000004u;
|
|
/* 02202DCC */ rbrew_write32(cpu->mem, _t8, cpu->r[8]);
|
|
/* 02202DD0 */ _t9 = cpu->r[7] + 0x00000000u;
|
|
/* 02202DD0 */ cpu->r[9] = rbrew_read8(cpu->mem, _t9);
|
|
/* 02202DD4 */ _t10 = cpu->r[3] + 0x00000028u;
|
|
/* 02202DD4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02202DD8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[12]);
|
|
/* 02202DDC */ _t11 = cpu->r[3] + 0x0000002Cu;
|
|
/* 02202DDC */ cpu->r[10] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02202DE0 */ _t12 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02202DE0 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02202DE0 */ if (_t13) goto L_02202DE4; else goto L_02202DEC;
|
|
L_02202DE4: ; // 0x2202de4
|
|
/* 02202DE4 */ cpu->r[0] = rbrew_rlwinm(cpu->r[9], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 02202DE8 */ cpu->r[10] = cpu->r[10] + cpu->r[0];
|
|
L_02202DEC: ; // 0x2202dec
|
|
/* 02202DEC */ _t14 = cpu->r[5] + 0x00000000u;
|
|
/* 02202DEC */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02202DF0 */ _t15 = cpu->r[10] + 0x00000000u;
|
|
/* 02202DF0 */ rbrew_write32(cpu->mem, _t15, cpu->r[0]);
|
|
/* 02202DF4 */ _t16 = cpu->r[5] + 0x00000004u;
|
|
/* 02202DF4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02202DF8 */ _t17 = cpu->r[10] + 0x00000004u;
|
|
/* 02202DF8 */ rbrew_write32(cpu->mem, _t17, cpu->r[8]);
|
|
/* 02202DFC */ _t18 = cpu->r[3] + 0x00000030u;
|
|
/* 02202DFC */ cpu->r[9] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02202E00 */ _t19 = cpu->r[7] + 0x00000000u;
|
|
/* 02202E00 */ cpu->r[11] = rbrew_read8(cpu->mem, _t19);
|
|
/* 02202E04 */ _t20 = cpu->r[3] + 0x00000034u;
|
|
/* 02202E04 */ cpu->r[12] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02202E08 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[9]);
|
|
/* 02202E0C */ _t21 = cpu->r[6] + 0x00000000u;
|
|
/* 02202E0C */ cpu->r[7] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02202E10 */ _t22 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02202E10 */ _t23 = _t22 & 0x00000001u;
|
|
/* 02202E10 */ if (_t23) goto L_02202E14; else goto L_02202E1C;
|
|
L_02202E14: ; // 0x2202e14
|
|
/* 02202E14 */ cpu->r[11] = rbrew_rlwinm(cpu->r[11], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 02202E18 */ cpu->r[12] = cpu->r[12] + cpu->r[11];
|
|
L_02202E1C: ; // 0x2202e1c
|
|
/* 02202E1C */ _t24 = cpu->r[12] + 0x00000000u;
|
|
/* 02202E1C */ rbrew_write32(cpu->mem, _t24, cpu->r[7]);
|
|
/* 02202E20 */ _t25 = cpu->r[6] + 0x00000004u;
|
|
/* 02202E20 */ cpu->r[0] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02202E24 */ _t26 = cpu->r[12] + 0x00000004u;
|
|
/* 02202E24 */ rbrew_write32(cpu->mem, _t26, cpu->r[0]);
|
|
/* 02202E28 */ return;
|
|
}
|
|
|
|
// fn_02202E2C @ 0x2202e2c
|
|
void Gambit_fn_02202E2C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20;
|
|
|
|
L_02202E2C: ; // 0x2202e2c
|
|
/* 02202E2C */ _t0 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02202E2C */ cpu->r[0] = rbrew_read8(cpu->mem, _t0);
|
|
/* 02202E30 */ /* nop */
|
|
/* 02202E34 */ _t1 = cpu->r[3] + 0x00000028u;
|
|
/* 02202E34 */ cpu->r[7] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02202E38 */ cpu->r[8] = cpu->r[0];
|
|
/* 02202E3C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[7]);
|
|
/* 02202E40 */ _t2 = cpu->r[3] + 0x0000002Cu;
|
|
/* 02202E40 */ cpu->r[12] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02202E44 */ _t3 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02202E44 */ _t4 = _t3 & 0x00000001u;
|
|
/* 02202E44 */ if (_t4) goto L_02202E48; else goto L_02202E60;
|
|
L_02202E48: ; // 0x2202e48
|
|
/* 02202E48 */ cpu->r[9] = rbrew_rlwinm(cpu->r[8], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 02202E4C */ cpu->r[9] = cpu->r[12] + cpu->r[9];
|
|
/* 02202E50 */ _t5 = cpu->r[9] + 0x00000002u;
|
|
/* 02202E50 */ cpu->r[10] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t5);
|
|
/* 02202E54 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02202E58 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02202E58 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02202E58 */ if (_t7) goto L_02202E5C; else goto L_02202E6C;
|
|
L_02202E5C: ; // 0x2202e5c
|
|
/* 02202E5C */ return;
|
|
L_02202E60: ; // 0x2202e60
|
|
/* 02202E60 */ _t8 = cpu->r[12] + 0x00000002u;
|
|
/* 02202E60 */ cpu->r[10] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t8);
|
|
/* 02202E64 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02202E68 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02202E68 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02202E68 */ if (_t10) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02202E68 */ goto L_02202E6C;
|
|
L_02202E6C: ; // 0x2202e6c
|
|
/* 02202E6C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[7]);
|
|
/* 02202E70 */ _t11 = cpu->r[3] + 0x0000001Cu;
|
|
/* 02202E70 */ cpu->r[7] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02202E74 */ _t12 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02202E74 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02202E74 */ if (_t13) goto L_02202E78; else goto L_02202E80;
|
|
L_02202E78: ; // 0x2202e78
|
|
/* 02202E78 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 02202E7C */ cpu->r[12] = cpu->r[12] + cpu->r[0];
|
|
L_02202E80: ; // 0x2202e80
|
|
/* 02202E80 */ _t14 = cpu->r[12] + 0x00000002u;
|
|
/* 02202E80 */ cpu->r[0] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t14);
|
|
/* 02202E84 */ _t15 = cpu->r[12] + 0x00000000u;
|
|
/* 02202E84 */ cpu->r[8] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t15);
|
|
/* 02202E88 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02202E8C */ _t16 = cpu->r[12] + 0x00000004u;
|
|
/* 02202E8C */ cpu->r[11] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02202E90 */ cpu->r[3] = cpu->r[7] + cpu->r[8];
|
|
/* 02202E94 */ _t17 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02202E94 */ _t18 = _t17 & 0x00000001u;
|
|
/* 02202E94 */ if (_t18) goto L_02202EAC; else goto L_02202E98;
|
|
L_02202E98: ; // 0x2202e98
|
|
/* 02202E98 */ /* nop */
|
|
/* 02202E9C */ _t19 = cpu->r[3] + cpu->r[11];
|
|
/* 02202E9C */ cpu->r[11] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02202EA0 */ cpu->r[10] = rbrew_rlwinm(cpu->r[0], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 02202EA4 */ cpu->r[12] = cpu->r[11] + cpu->r[10];
|
|
/* 02202EA8 */ _t20 = cpu->r[12] + 0x00000004u;
|
|
/* 02202EA8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t20);
|
|
L_02202EAC: ; // 0x2202eac
|
|
/* 02202EAC */ cpu->ctr = cpu->r[11];
|
|
/* 02202EB0 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_02202EB4 @ 0x2202eb4
|
|
void Gambit_fn_02202EB4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
|
|
|
|
L_02202EB4: ; // 0x2202eb4
|
|
/* 02202EB4 */ cpu->r[0] = cpu->lr;
|
|
/* 02202EB8 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02202EB8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02202EB8 */ cpu->r[1] = _t0;
|
|
/* 02202EBC */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02202EBC */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02202EC0 */ cpu->r[31] = cpu->r[3];
|
|
/* 02202EC4 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02202EC4 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02202EC8 */ _t3 = cpu->r[31] + 0x00000010u;
|
|
/* 02202EC8 */ cpu->r[0] = rbrew_read8(cpu->mem, _t3);
|
|
/* 02202ECC */ cpu->r[12] = 0x00000000u;
|
|
/* 02202ED0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02202ED4 */ _t4 = cpu->r[31] + 0x00000011u;
|
|
/* 02202ED4 */ rbrew_write8(cpu->mem, _t4, (uint8_t)cpu->r[12]);
|
|
/* 02202ED8 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02202ED8 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02202ED8 */ if (_t6) goto L_02202F00; else goto L_02202EDC;
|
|
L_02202EDC: ; // 0x2202edc
|
|
/* 02202EDC */ _t7 = cpu->r[31] + 0x0000000Cu;
|
|
/* 02202EDC */ cpu->r[0] = rbrew_read8(cpu->mem, _t7);
|
|
/* 02202EE0 */ /* nop */
|
|
/* 02202EE4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0xFFFFFFFFu);
|
|
/* 02202EE8 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02202EE8 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02202EE8 */ if (_t9) goto L_02202EEC; else goto L_02202F00;
|
|
L_02202EEC: ; // 0x2202eec
|
|
/* 02202EEC */ _t10 = cpu->r[31] + 0x00000004u;
|
|
/* 02202EEC */ cpu->r[12] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02202EF0 */ _t11 = cpu->r[12] + 0x00000014u;
|
|
/* 02202EF0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02202EF4 */ cpu->ctr = cpu->r[0];
|
|
/* 02202EF8 */ cpu->r[3] = cpu->r[31];
|
|
/* 02202EFC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02202F00: ; // 0x2202f00
|
|
/* 02202F00 */ cpu->r[3] = cpu->r[31];
|
|
/* 02202F04 */ Gambit_fn_02202E2C(cpu);
|
|
/* 02202F08 */ cpu->r[3] = cpu->r[31];
|
|
/* 02202F0C */ Gambit_fn_027FC37C(cpu);
|
|
/* 02202F10 */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 02202F10 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02202F14 */ _t13 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02202F14 */ cpu->r[31] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02202F18 */ cpu->lr = cpu->r[0];
|
|
/* 02202F1C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02202F20 */ return;
|
|
}
|
|
|
|
// fn_02202EB8 @ 0x2202eb8
|
|
void Gambit_fn_02202EB8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
|
|
|
|
L_02202EB8: ; // 0x2202eb8
|
|
/* 02202EB8 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02202EB8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02202EB8 */ cpu->r[1] = _t0;
|
|
/* 02202EBC */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02202EBC */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02202EC0 */ cpu->r[31] = cpu->r[3];
|
|
/* 02202EC4 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02202EC4 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02202EC8 */ _t3 = cpu->r[31] + 0x00000010u;
|
|
/* 02202EC8 */ cpu->r[0] = rbrew_read8(cpu->mem, _t3);
|
|
/* 02202ECC */ cpu->r[12] = 0x00000000u;
|
|
/* 02202ED0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02202ED4 */ _t4 = cpu->r[31] + 0x00000011u;
|
|
/* 02202ED4 */ rbrew_write8(cpu->mem, _t4, (uint8_t)cpu->r[12]);
|
|
/* 02202ED8 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02202ED8 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02202ED8 */ if (_t6) goto L_02202F00; else goto L_02202EDC;
|
|
L_02202EDC: ; // 0x2202edc
|
|
/* 02202EDC */ _t7 = cpu->r[31] + 0x0000000Cu;
|
|
/* 02202EDC */ cpu->r[0] = rbrew_read8(cpu->mem, _t7);
|
|
/* 02202EE0 */ /* nop */
|
|
/* 02202EE4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0xFFFFFFFFu);
|
|
/* 02202EE8 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02202EE8 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02202EE8 */ if (_t9) goto L_02202EEC; else goto L_02202F00;
|
|
L_02202EEC: ; // 0x2202eec
|
|
/* 02202EEC */ _t10 = cpu->r[31] + 0x00000004u;
|
|
/* 02202EEC */ cpu->r[12] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02202EF0 */ _t11 = cpu->r[12] + 0x00000014u;
|
|
/* 02202EF0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02202EF4 */ cpu->ctr = cpu->r[0];
|
|
/* 02202EF8 */ cpu->r[3] = cpu->r[31];
|
|
/* 02202EFC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02202F00: ; // 0x2202f00
|
|
/* 02202F00 */ cpu->r[3] = cpu->r[31];
|
|
/* 02202F04 */ Gambit_fn_02202E2C(cpu);
|
|
/* 02202F08 */ cpu->r[3] = cpu->r[31];
|
|
/* 02202F0C */ Gambit_fn_027FC37C(cpu);
|
|
/* 02202F10 */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 02202F10 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02202F14 */ _t13 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02202F14 */ cpu->r[31] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02202F18 */ cpu->lr = cpu->r[0];
|
|
/* 02202F1C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02202F20 */ return;
|
|
}
|
|
|
|
// fn_02202F24 @ 0x2202f24
|
|
void Gambit_fn_02202F24(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20;
|
|
|
|
L_02202F24: ; // 0x2202f24
|
|
/* 02202F24 */ _t0 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02202F24 */ cpu->r[0] = rbrew_read8(cpu->mem, _t0);
|
|
/* 02202F28 */ /* nop */
|
|
/* 02202F2C */ _t1 = cpu->r[3] + 0x00000020u;
|
|
/* 02202F2C */ cpu->r[7] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02202F30 */ cpu->r[8] = cpu->r[0];
|
|
/* 02202F34 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[7]);
|
|
/* 02202F38 */ _t2 = cpu->r[3] + 0x00000024u;
|
|
/* 02202F38 */ cpu->r[12] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02202F3C */ _t3 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02202F3C */ _t4 = _t3 & 0x00000001u;
|
|
/* 02202F3C */ if (_t4) goto L_02202F40; else goto L_02202F58;
|
|
L_02202F40: ; // 0x2202f40
|
|
/* 02202F40 */ cpu->r[9] = rbrew_rlwinm(cpu->r[8], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 02202F44 */ cpu->r[9] = cpu->r[12] + cpu->r[9];
|
|
/* 02202F48 */ _t5 = cpu->r[9] + 0x00000002u;
|
|
/* 02202F48 */ cpu->r[10] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t5);
|
|
/* 02202F4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02202F50 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02202F50 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02202F50 */ if (_t7) goto L_02202F54; else goto L_02202F64;
|
|
L_02202F54: ; // 0x2202f54
|
|
/* 02202F54 */ return;
|
|
L_02202F58: ; // 0x2202f58
|
|
/* 02202F58 */ _t8 = cpu->r[12] + 0x00000002u;
|
|
/* 02202F58 */ cpu->r[10] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t8);
|
|
/* 02202F5C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02202F60 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02202F60 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02202F60 */ if (_t10) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02202F60 */ goto L_02202F64;
|
|
L_02202F64: ; // 0x2202f64
|
|
/* 02202F64 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[7]);
|
|
/* 02202F68 */ _t11 = cpu->r[3] + 0x0000001Cu;
|
|
/* 02202F68 */ cpu->r[7] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02202F6C */ _t12 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02202F6C */ _t13 = _t12 & 0x00000001u;
|
|
/* 02202F6C */ if (_t13) goto L_02202F70; else goto L_02202F78;
|
|
L_02202F70: ; // 0x2202f70
|
|
/* 02202F70 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 02202F74 */ cpu->r[12] = cpu->r[12] + cpu->r[0];
|
|
L_02202F78: ; // 0x2202f78
|
|
/* 02202F78 */ _t14 = cpu->r[12] + 0x00000002u;
|
|
/* 02202F78 */ cpu->r[0] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t14);
|
|
/* 02202F7C */ _t15 = cpu->r[12] + 0x00000000u;
|
|
/* 02202F7C */ cpu->r[8] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t15);
|
|
/* 02202F80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02202F84 */ _t16 = cpu->r[12] + 0x00000004u;
|
|
/* 02202F84 */ cpu->r[11] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02202F88 */ cpu->r[3] = cpu->r[7] + cpu->r[8];
|
|
/* 02202F8C */ _t17 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02202F8C */ _t18 = _t17 & 0x00000001u;
|
|
/* 02202F8C */ if (_t18) goto L_02202FA4; else goto L_02202F90;
|
|
L_02202F90: ; // 0x2202f90
|
|
/* 02202F90 */ /* nop */
|
|
/* 02202F94 */ _t19 = cpu->r[3] + cpu->r[11];
|
|
/* 02202F94 */ cpu->r[11] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02202F98 */ cpu->r[10] = rbrew_rlwinm(cpu->r[0], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 02202F9C */ cpu->r[12] = cpu->r[11] + cpu->r[10];
|
|
/* 02202FA0 */ _t20 = cpu->r[12] + 0x00000004u;
|
|
/* 02202FA0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t20);
|
|
L_02202FA4: ; // 0x2202fa4
|
|
/* 02202FA4 */ cpu->ctr = cpu->r[11];
|
|
/* 02202FA8 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_02202FAC @ 0x2202fac
|
|
void Gambit_fn_02202FAC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20;
|
|
|
|
L_02202FAC: ; // 0x2202fac
|
|
/* 02202FAC */ _t0 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02202FAC */ cpu->r[0] = rbrew_read8(cpu->mem, _t0);
|
|
/* 02202FB0 */ /* nop */
|
|
/* 02202FB4 */ _t1 = cpu->r[3] + 0x00000030u;
|
|
/* 02202FB4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02202FB8 */ cpu->r[7] = cpu->r[0];
|
|
/* 02202FBC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[8]);
|
|
/* 02202FC0 */ _t2 = cpu->r[3] + 0x00000034u;
|
|
/* 02202FC0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02202FC4 */ _t3 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02202FC4 */ _t4 = _t3 & 0x00000001u;
|
|
/* 02202FC4 */ if (_t4) goto L_02202FC8; else goto L_02202FE0;
|
|
L_02202FC8: ; // 0x2202fc8
|
|
/* 02202FC8 */ cpu->r[10] = rbrew_rlwinm(cpu->r[7], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 02202FCC */ cpu->r[9] = cpu->r[12] + cpu->r[10];
|
|
/* 02202FD0 */ _t5 = cpu->r[9] + 0x00000002u;
|
|
/* 02202FD0 */ cpu->r[11] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t5);
|
|
/* 02202FD4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02202FD8 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02202FD8 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02202FD8 */ if (_t7) goto L_02202FDC; else goto L_02202FEC;
|
|
L_02202FDC: ; // 0x2202fdc
|
|
/* 02202FDC */ return;
|
|
L_02202FE0: ; // 0x2202fe0
|
|
/* 02202FE0 */ _t8 = cpu->r[12] + 0x00000002u;
|
|
/* 02202FE0 */ cpu->r[11] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t8);
|
|
/* 02202FE4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02202FE8 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02202FE8 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02202FE8 */ if (_t10) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02202FE8 */ goto L_02202FEC;
|
|
L_02202FEC: ; // 0x2202fec
|
|
/* 02202FEC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[8]);
|
|
/* 02202FF0 */ _t11 = cpu->r[3] + 0x0000001Cu;
|
|
/* 02202FF0 */ cpu->r[8] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02202FF4 */ _t12 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02202FF4 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02202FF4 */ if (_t13) goto L_02202FF8; else goto L_02203000;
|
|
L_02202FF8: ; // 0x2202ff8
|
|
/* 02202FF8 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 02202FFC */ cpu->r[12] = cpu->r[12] + cpu->r[0];
|
|
L_02203000: ; // 0x2203000
|
|
/* 02203000 */ _t14 = cpu->r[12] + 0x00000002u;
|
|
/* 02203000 */ cpu->r[7] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t14);
|
|
/* 02203004 */ _t15 = cpu->r[12] + 0x00000000u;
|
|
/* 02203004 */ cpu->r[9] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t15);
|
|
/* 02203008 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 0220300C */ _t16 = cpu->r[12] + 0x00000004u;
|
|
/* 0220300C */ cpu->r[11] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02203010 */ cpu->r[3] = cpu->r[8] + cpu->r[9];
|
|
/* 02203014 */ _t17 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02203014 */ _t18 = _t17 & 0x00000001u;
|
|
/* 02203014 */ if (_t18) goto L_0220302C; else goto L_02203018;
|
|
L_02203018: ; // 0x2203018
|
|
/* 02203018 */ /* nop */
|
|
/* 0220301C */ _t19 = cpu->r[3] + cpu->r[11];
|
|
/* 0220301C */ cpu->r[11] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02203020 */ cpu->r[0] = rbrew_rlwinm(cpu->r[7], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 02203024 */ cpu->r[12] = cpu->r[11] + cpu->r[0];
|
|
/* 02203028 */ _t20 = cpu->r[12] + 0x00000004u;
|
|
/* 02203028 */ cpu->r[11] = rbrew_read32(cpu->mem, _t20);
|
|
L_0220302C: ; // 0x220302c
|
|
/* 0220302C */ cpu->ctr = cpu->r[11];
|
|
/* 02203030 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_02203034 @ 0x2203034
|
|
void Gambit_fn_02203034(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_02203034: ; // 0x2203034
|
|
/* 02203034 */ cpu->r[0] = cpu->lr;
|
|
/* 02203038 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02203038 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02203038 */ cpu->r[1] = _t0;
|
|
/* 0220303C */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 0220303C */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02203040 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02203040 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02203044 */ cpu->r[30] = cpu->r[3];
|
|
/* 02203048 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02203048 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0220304C */ _t4 = cpu->r[30] + 0x0000000Cu;
|
|
/* 0220304C */ cpu->r[12] = rbrew_read8(cpu->mem, _t4);
|
|
/* 02203050 */ /* nop */
|
|
/* 02203054 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0xFFFFFFFFu);
|
|
/* 02203058 */ cpu->r[31] = cpu->r[4];
|
|
/* 0220305C */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0220305C */ _t6 = _t5 & 0x00000001u;
|
|
/* 0220305C */ if (_t6) goto L_02203060; else goto L_02203074;
|
|
L_02203060: ; // 0x2203060
|
|
/* 02203060 */ _t7 = cpu->r[30] + 0x00000004u;
|
|
/* 02203060 */ cpu->r[11] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02203064 */ _t8 = cpu->r[11] + 0x00000014u;
|
|
/* 02203064 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02203068 */ cpu->ctr = cpu->r[0];
|
|
/* 0220306C */ cpu->r[3] = cpu->r[30];
|
|
/* 02203070 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02203074: ; // 0x2203074
|
|
/* 02203074 */ cpu->r[3] = cpu->r[30];
|
|
/* 02203078 */ cpu->r[4] = cpu->r[31];
|
|
/* 0220307C */ Gambit_fn_02202FAC(cpu);
|
|
/* 02203080 */ cpu->r[3] = cpu->r[30];
|
|
/* 02203084 */ /* nop */
|
|
/* 02203088 */ Gambit_fn_027FC35C(cpu);
|
|
/* 0220308C */ cpu->r[3] = cpu->r[30];
|
|
/* 02203090 */ Gambit_fn_02202F24(cpu);
|
|
/* 02203094 */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 02203094 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02203098 */ _t10 = cpu->r[1] + 0x00000008u;
|
|
/* 02203098 */ cpu->r[30] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0220309C */ cpu->lr = cpu->r[0];
|
|
/* 022030A0 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 022030A0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 022030A4 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 022030A8 */ return;
|
|
}
|
|
|
|
// fn_02203038 @ 0x2203038
|
|
void Gambit_fn_02203038(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_02203038: ; // 0x2203038
|
|
/* 02203038 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02203038 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02203038 */ cpu->r[1] = _t0;
|
|
/* 0220303C */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 0220303C */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02203040 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02203040 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02203044 */ cpu->r[30] = cpu->r[3];
|
|
/* 02203048 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02203048 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0220304C */ _t4 = cpu->r[30] + 0x0000000Cu;
|
|
/* 0220304C */ cpu->r[12] = rbrew_read8(cpu->mem, _t4);
|
|
/* 02203050 */ /* nop */
|
|
/* 02203054 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0xFFFFFFFFu);
|
|
/* 02203058 */ cpu->r[31] = cpu->r[4];
|
|
/* 0220305C */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0220305C */ _t6 = _t5 & 0x00000001u;
|
|
/* 0220305C */ if (_t6) goto L_02203060; else goto L_02203074;
|
|
L_02203060: ; // 0x2203060
|
|
/* 02203060 */ _t7 = cpu->r[30] + 0x00000004u;
|
|
/* 02203060 */ cpu->r[11] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02203064 */ _t8 = cpu->r[11] + 0x00000014u;
|
|
/* 02203064 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02203068 */ cpu->ctr = cpu->r[0];
|
|
/* 0220306C */ cpu->r[3] = cpu->r[30];
|
|
/* 02203070 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02203074: ; // 0x2203074
|
|
/* 02203074 */ cpu->r[3] = cpu->r[30];
|
|
/* 02203078 */ cpu->r[4] = cpu->r[31];
|
|
/* 0220307C */ Gambit_fn_02202FAC(cpu);
|
|
/* 02203080 */ cpu->r[3] = cpu->r[30];
|
|
/* 02203084 */ /* nop */
|
|
/* 02203088 */ Gambit_fn_027FC35C(cpu);
|
|
/* 0220308C */ cpu->r[3] = cpu->r[30];
|
|
/* 02203090 */ Gambit_fn_02202F24(cpu);
|
|
/* 02203094 */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 02203094 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02203098 */ _t10 = cpu->r[1] + 0x00000008u;
|
|
/* 02203098 */ cpu->r[30] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0220309C */ cpu->lr = cpu->r[0];
|
|
/* 022030A0 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 022030A0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 022030A4 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 022030A8 */ return;
|
|
}
|
|
|
|
// fn_022030B0 @ 0x22030b0
|
|
void Gambit_fn_022030B0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
|
|
|
|
L_022030B0: ; // 0x22030b0
|
|
/* 022030B0 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 022030B0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 022030B0 */ cpu->r[1] = _t0;
|
|
/* 022030B4 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 022030B4 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 022030B8 */ cpu->r[31] = cpu->r[3];
|
|
/* 022030B8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 022030BC */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 022030BC */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 022030C0 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 022030C0 */ _t4 = _t3 & 0x00000001u;
|
|
/* 022030C0 */ if (_t4) goto L_022030C4; else goto L_022030D4;
|
|
L_022030C4: ; // 0x22030c4
|
|
/* 022030C4 */ cpu->r[3] = 0x00000180u;
|
|
/* 022030C8 */ Gambit_fn_02801A78(cpu);
|
|
/* 022030CC */ cpu->r[31] = cpu->r[3];
|
|
/* 022030CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 022030D0 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 022030D0 */ _t6 = _t5 & 0x00000001u;
|
|
/* 022030D0 */ if (_t6) goto L_02203100; else goto L_022030D4;
|
|
L_022030D4: ; // 0x22030d4
|
|
/* 022030D4 */ cpu->r[3] = cpu->r[31];
|
|
/* 022030D8 */ Gambit_fn_0222ED54(cpu);
|
|
/* 022030DC */ cpu->r[12] = 0x10040000u;
|
|
/* 022030E0 */ cpu->r[0] = 0x00000000u;
|
|
/* 022030E4 */ _t7 = cpu->r[12] + 0xFFFFEF84u;
|
|
/* 022030E4 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t7);
|
|
/* 022030E8 */ cpu->r[12] = 0x10040000u;
|
|
/* 022030EC */ _t8 = cpu->r[31] + 0x0000017Cu;
|
|
/* 022030EC */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
/* 022030F0 */ cpu->r[12] = cpu->r[12] + 0xFFFFEFA0u;
|
|
/* 022030F4 */ _t9 = cpu->r[31] + 0x00000174u;
|
|
/* 022030F4 */ rbrew_write_f32(cpu->mem, _t9, cpu->f[0]);
|
|
/* 022030F8 */ _t10 = cpu->r[31] + 0x00000004u;
|
|
/* 022030F8 */ rbrew_write32(cpu->mem, _t10, cpu->r[12]);
|
|
/* 022030FC */ _t11 = cpu->r[31] + 0x00000178u;
|
|
/* 022030FC */ rbrew_write_f32(cpu->mem, _t11, cpu->f[0]);
|
|
L_02203100: ; // 0x2203100
|
|
/* 02203100 */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 02203100 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02203104 */ cpu->r[3] = cpu->r[31];
|
|
/* 02203108 */ _t13 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02203108 */ cpu->r[31] = rbrew_read32(cpu->mem, _t13);
|
|
/* 0220310C */ cpu->lr = cpu->r[0];
|
|
/* 02203110 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02203114 */ return;
|
|
}
|
|
|
|
// fn_02203118 @ 0x2203118
|
|
void Gambit_fn_02203118(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16;
|
|
|
|
L_02203118: ; // 0x2203118
|
|
/* 02203118 */ cpu->r[0] = cpu->lr;
|
|
/* 0220311C */ cpu->r[12] = 0x10040000u;
|
|
/* 02203120 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02203120 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02203120 */ cpu->r[1] = _t0;
|
|
/* 02203124 */ cpu->r[11] = cpu->r[10];
|
|
/* 02203128 */ _t1 = cpu->r[12] + 0xFFFFEF84u;
|
|
/* 02203128 */ cpu->f[4] = rbrew_read_f32(cpu->mem, _t1);
|
|
/* 0220312C */ cpu->r[10] = 0x00000000u;
|
|
/* 02203130 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02203130 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02203134 */ _t3 = cpu->r[1] + 0x00000010u;
|
|
/* 02203134 */ rbrew_write32(cpu->mem, _t3, cpu->r[10]);
|
|
/* 02203138 */ _t4 = cpu->r[1] + 0x00000022u;
|
|
/* 02203138 */ cpu->r[31] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t4);
|
|
/* 0220313C */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0220313C */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02203140 */ _t6 = cpu->r[3] + 0x00000004u;
|
|
/* 02203140 */ cpu->r[12] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02203144 */ _t7 = cpu->r[1] + 0x00000024u;
|
|
/* 02203144 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02203148 */ _t8 = cpu->r[3] + 0x00000178u;
|
|
/* 02203148 */ rbrew_write_f32(cpu->mem, _t8, cpu->f[4]);
|
|
/* 0220314C */ _t9 = cpu->r[3] + 0x0000017Cu;
|
|
/* 0220314C */ rbrew_write32(cpu->mem, _t9, cpu->r[9]);
|
|
/* 02203150 */ _t10 = cpu->r[3] + 0x00000174u;
|
|
/* 02203150 */ rbrew_write_f32(cpu->mem, _t10, cpu->f[1]);
|
|
/* 02203154 */ _t11 = cpu->r[1] + 0x00000008u;
|
|
/* 02203154 */ rbrew_write32(cpu->mem, _t11, cpu->r[31]);
|
|
/* 02203158 */ _t12 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02203158 */ rbrew_write32(cpu->mem, _t12, cpu->r[0]);
|
|
/* 0220315C */ _t13 = cpu->r[12] + 0x00000464u;
|
|
/* 0220315C */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02203160 */ cpu->r[12] = 0x10040000u;
|
|
/* 02203164 */ cpu->f[3] = cpu->f[4];
|
|
/* 02203168 */ cpu->ctr = cpu->r[0];
|
|
/* 0220316C */ _t14 = cpu->r[12] + 0xFFFFEF88u;
|
|
/* 0220316C */ cpu->f[2] = rbrew_read_f32(cpu->mem, _t14);
|
|
/* 02203170 */ cpu->r[9] = cpu->r[11];
|
|
/* 02203174 */ cpu->f[1] = cpu->f[4];
|
|
/* 02203178 */ cpu->r[10] = cpu->r[1] + 0x00000010u;
|
|
/* 0220317C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02203180 */ _t15 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02203180 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02203184 */ cpu->lr = cpu->r[0];
|
|
/* 02203188 */ _t16 = cpu->r[1] + 0x00000014u;
|
|
/* 02203188 */ cpu->r[31] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0220318C */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02203190 */ return;
|
|
}
|
|
|
|
// fn_02203120 @ 0x2203120
|
|
void Gambit_fn_02203120(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16;
|
|
|
|
L_02203120: ; // 0x2203120
|
|
/* 02203120 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02203120 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02203120 */ cpu->r[1] = _t0;
|
|
/* 02203124 */ cpu->r[11] = cpu->r[10];
|
|
/* 02203128 */ _t1 = cpu->r[12] + 0xFFFFEF84u;
|
|
/* 02203128 */ cpu->f[4] = rbrew_read_f32(cpu->mem, _t1);
|
|
/* 0220312C */ cpu->r[10] = 0x00000000u;
|
|
/* 02203130 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02203130 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02203134 */ _t3 = cpu->r[1] + 0x00000010u;
|
|
/* 02203134 */ rbrew_write32(cpu->mem, _t3, cpu->r[10]);
|
|
/* 02203138 */ _t4 = cpu->r[1] + 0x00000022u;
|
|
/* 02203138 */ cpu->r[31] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t4);
|
|
/* 0220313C */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0220313C */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02203140 */ _t6 = cpu->r[3] + 0x00000004u;
|
|
/* 02203140 */ cpu->r[12] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02203144 */ _t7 = cpu->r[1] + 0x00000024u;
|
|
/* 02203144 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02203148 */ _t8 = cpu->r[3] + 0x00000178u;
|
|
/* 02203148 */ rbrew_write_f32(cpu->mem, _t8, cpu->f[4]);
|
|
/* 0220314C */ _t9 = cpu->r[3] + 0x0000017Cu;
|
|
/* 0220314C */ rbrew_write32(cpu->mem, _t9, cpu->r[9]);
|
|
/* 02203150 */ _t10 = cpu->r[3] + 0x00000174u;
|
|
/* 02203150 */ rbrew_write_f32(cpu->mem, _t10, cpu->f[1]);
|
|
/* 02203154 */ _t11 = cpu->r[1] + 0x00000008u;
|
|
/* 02203154 */ rbrew_write32(cpu->mem, _t11, cpu->r[31]);
|
|
/* 02203158 */ _t12 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02203158 */ rbrew_write32(cpu->mem, _t12, cpu->r[0]);
|
|
/* 0220315C */ _t13 = cpu->r[12] + 0x00000464u;
|
|
/* 0220315C */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02203160 */ cpu->r[12] = 0x10040000u;
|
|
/* 02203164 */ cpu->f[3] = cpu->f[4];
|
|
/* 02203168 */ cpu->ctr = cpu->r[0];
|
|
/* 0220316C */ _t14 = cpu->r[12] + 0xFFFFEF88u;
|
|
/* 0220316C */ cpu->f[2] = rbrew_read_f32(cpu->mem, _t14);
|
|
/* 02203170 */ cpu->r[9] = cpu->r[11];
|
|
/* 02203174 */ cpu->f[1] = cpu->f[4];
|
|
/* 02203178 */ cpu->r[10] = cpu->r[1] + 0x00000010u;
|
|
/* 0220317C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02203180 */ _t15 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02203180 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02203184 */ cpu->lr = cpu->r[0];
|
|
/* 02203188 */ _t16 = cpu->r[1] + 0x00000014u;
|
|
/* 02203188 */ cpu->r[31] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0220318C */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02203190 */ return;
|
|
}
|
|
|
|
// fn_02203194 @ 0x2203194
|
|
void Gambit_fn_02203194(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_02203194: ; // 0x2203194
|
|
/* 02203194 */ cpu->r[0] = cpu->lr;
|
|
/* 02203198 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 02203198 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 0220319C */ _t1 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0220319C */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 0220319C */ cpu->r[1] = _t1;
|
|
/* 022031A0 */ _t2 = cpu->r[1] + 0x00000018u;
|
|
/* 022031A0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
|
|
/* 022031A4 */ _t3 = cpu->r[1] + 0x00000008u;
|
|
/* 022031A4 */ rbrew_write32(cpu->mem, _t3, cpu->r[10]);
|
|
/* 022031A8 */ cpu->r[10] = 0x00000001u;
|
|
/* 022031AC */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 022031AC */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 022031B0 */ Gambit_fn_02203118(cpu);
|
|
/* 022031B4 */ _t5 = cpu->r[1] + 0x00000014u;
|
|
/* 022031B4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 022031B8 */ cpu->lr = cpu->r[0];
|
|
/* 022031BC */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 022031C0 */ return;
|
|
}
|
|
|
|
// fn_0220319C @ 0x220319c
|
|
void Gambit_fn_0220319C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4;
|
|
|
|
L_0220319C: ; // 0x220319c
|
|
/* 0220319C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0220319C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0220319C */ cpu->r[1] = _t0;
|
|
/* 022031A0 */ _t1 = cpu->r[1] + 0x00000018u;
|
|
/* 022031A0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 022031A4 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 022031A4 */ rbrew_write32(cpu->mem, _t2, cpu->r[10]);
|
|
/* 022031A8 */ cpu->r[10] = 0x00000001u;
|
|
/* 022031AC */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 022031AC */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 022031B0 */ Gambit_fn_02203118(cpu);
|
|
/* 022031B4 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 022031B4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 022031B8 */ cpu->lr = cpu->r[0];
|
|
/* 022031BC */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 022031C0 */ return;
|
|
}
|
|
|
|
// fn_022031C4 @ 0x22031c4
|
|
void Gambit_fn_022031C4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_022031C4: ; // 0x22031c4
|
|
/* 022031C4 */ cpu->r[0] = cpu->lr;
|
|
/* 022031C8 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 022031C8 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 022031CC */ _t1 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 022031CC */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 022031CC */ cpu->r[1] = _t1;
|
|
/* 022031D0 */ _t2 = cpu->r[1] + 0x00000018u;
|
|
/* 022031D0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
|
|
/* 022031D4 */ _t3 = cpu->r[1] + 0x00000008u;
|
|
/* 022031D4 */ rbrew_write32(cpu->mem, _t3, cpu->r[10]);
|
|
/* 022031D8 */ cpu->r[10] = 0x00000000u;
|
|
/* 022031DC */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 022031DC */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 022031E0 */ Gambit_fn_02203118(cpu);
|
|
/* 022031E4 */ _t5 = cpu->r[1] + 0x00000014u;
|
|
/* 022031E4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 022031E8 */ cpu->lr = cpu->r[0];
|
|
/* 022031EC */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 022031F0 */ return;
|
|
}
|
|
|
|
// fn_022031CC @ 0x22031cc
|
|
void Gambit_fn_022031CC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4;
|
|
|
|
L_022031CC: ; // 0x22031cc
|
|
/* 022031CC */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 022031CC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 022031CC */ cpu->r[1] = _t0;
|
|
/* 022031D0 */ _t1 = cpu->r[1] + 0x00000018u;
|
|
/* 022031D0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 022031D4 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 022031D4 */ rbrew_write32(cpu->mem, _t2, cpu->r[10]);
|
|
/* 022031D8 */ cpu->r[10] = 0x00000000u;
|
|
/* 022031DC */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 022031DC */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 022031E0 */ Gambit_fn_02203118(cpu);
|
|
/* 022031E4 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 022031E4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 022031E8 */ cpu->lr = cpu->r[0];
|
|
/* 022031EC */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 022031F0 */ return;
|
|
}
|
|
|
|
// fn_022031F4 @ 0x22031f4
|
|
void Gambit_fn_022031F4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_022031F4: ; // 0x22031f4
|
|
/* 022031F4 */ cpu->r[0] = cpu->lr;
|
|
/* 022031F8 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 022031F8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 022031F8 */ cpu->r[1] = _t0;
|
|
/* 022031FC */ cpu->r[12] = 0x10040000u;
|
|
/* 02203200 */ _t1 = cpu->r[12] + 0xFFFFEF84u;
|
|
/* 02203200 */ cpu->f[5] = rbrew_read_f32(cpu->mem, _t1);
|
|
/* 02203204 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02203204 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02203208 */ _t3 = cpu->r[1] + 0x00000024u;
|
|
/* 02203208 */ cpu->r[31] = rbrew_read32(cpu->mem, _t3);
|
|
/* 0220320C */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0220320C */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02203210 */ _t5 = cpu->r[10] + 0x00000000u;
|
|
/* 02203210 */ cpu->r[11] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02203214 */ _t6 = cpu->r[1] + 0x00000022u;
|
|
/* 02203214 */ cpu->r[0] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t6);
|
|
/* 02203218 */ _t7 = cpu->r[1] + 0x00000010u;
|
|
/* 02203218 */ rbrew_write32(cpu->mem, _t7, cpu->r[11]);
|
|
/* 0220321C */ cpu->f[6] = cpu->f[5];
|
|
/* 02203220 */ _t8 = cpu->r[1] + 0x00000008u;
|
|
/* 02203220 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
/* 02203224 */ cpu->r[10] = cpu->r[1] + 0x00000010u;
|
|
/* 02203228 */ _t9 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02203228 */ rbrew_write32(cpu->mem, _t9, cpu->r[31]);
|
|
/* 0220322C */ Gambit_fn_0222F210(cpu);
|
|
/* 02203230 */ _t10 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02203230 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02203234 */ cpu->lr = cpu->r[0];
|
|
/* 02203238 */ _t11 = cpu->r[1] + 0x00000014u;
|
|
/* 02203238 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0220323C */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02203240 */ return;
|
|
}
|
|
|
|
// fn_022031F8 @ 0x22031f8
|
|
void Gambit_fn_022031F8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_022031F8: ; // 0x22031f8
|
|
/* 022031F8 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 022031F8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 022031F8 */ cpu->r[1] = _t0;
|
|
/* 022031FC */ cpu->r[12] = 0x10040000u;
|
|
/* 02203200 */ _t1 = cpu->r[12] + 0xFFFFEF84u;
|
|
/* 02203200 */ cpu->f[5] = rbrew_read_f32(cpu->mem, _t1);
|
|
/* 02203204 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02203204 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02203208 */ _t3 = cpu->r[1] + 0x00000024u;
|
|
/* 02203208 */ cpu->r[31] = rbrew_read32(cpu->mem, _t3);
|
|
/* 0220320C */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0220320C */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02203210 */ _t5 = cpu->r[10] + 0x00000000u;
|
|
/* 02203210 */ cpu->r[11] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02203214 */ _t6 = cpu->r[1] + 0x00000022u;
|
|
/* 02203214 */ cpu->r[0] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t6);
|
|
/* 02203218 */ _t7 = cpu->r[1] + 0x00000010u;
|
|
/* 02203218 */ rbrew_write32(cpu->mem, _t7, cpu->r[11]);
|
|
/* 0220321C */ cpu->f[6] = cpu->f[5];
|
|
/* 02203220 */ _t8 = cpu->r[1] + 0x00000008u;
|
|
/* 02203220 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
/* 02203224 */ cpu->r[10] = cpu->r[1] + 0x00000010u;
|
|
/* 02203228 */ _t9 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02203228 */ rbrew_write32(cpu->mem, _t9, cpu->r[31]);
|
|
/* 0220322C */ Gambit_fn_0222F210(cpu);
|
|
/* 02203230 */ _t10 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02203230 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02203234 */ cpu->lr = cpu->r[0];
|
|
/* 02203238 */ _t11 = cpu->r[1] + 0x00000014u;
|
|
/* 02203238 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0220323C */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02203240 */ return;
|
|
}
|
|
|
|
// fn_02203244 @ 0x2203244
|
|
void Gambit_fn_02203244(CPUState* cpu) {
|
|
L_02203244: ; // 0x2203244
|
|
/* 02203244 */ return;
|
|
}
|
|
|
|
// fn_02203248 @ 0x2203248
|
|
void Gambit_fn_02203248(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26;
|
|
|
|
L_02203248: ; // 0x2203248
|
|
/* 02203248 */ cpu->r[0] = cpu->lr;
|
|
/* 0220324C */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0220324C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0220324C */ cpu->r[1] = _t0;
|
|
/* 02203250 */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 02203250 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02203254 */ _t2 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02203254 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02203258 */ _t3 = cpu->r[3] + 0x00000004u;
|
|
/* 02203258 */ cpu->r[10] = rbrew_read32(cpu->mem, _t3);
|
|
/* 0220325C */ _t4 = cpu->r[10] + 0x0000025Cu;
|
|
/* 0220325C */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02203260 */ cpu->ctr = cpu->r[0];
|
|
/* 02203264 */ cpu->r[31] = cpu->r[3];
|
|
/* 02203268 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0220326C */ _t5 = cpu->r[3] + 0x00000000u;
|
|
/* 0220326C */ cpu->r[11] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02203270 */ _t6 = cpu->r[1] + 0x00000008u;
|
|
/* 02203270 */ rbrew_write32(cpu->mem, _t6, cpu->r[11]);
|
|
/* 02203274 */ _t7 = cpu->r[3] + 0x00000004u;
|
|
/* 02203274 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02203278 */ _t8 = cpu->r[31] + 0x00000004u;
|
|
/* 02203278 */ cpu->r[11] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0220327C */ _t9 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0220327C */ rbrew_write32(cpu->mem, _t9, cpu->r[0]);
|
|
/* 02203280 */ _t10 = cpu->r[3] + 0x00000008u;
|
|
/* 02203280 */ cpu->r[10] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02203284 */ _t11 = cpu->r[1] + 0x00000010u;
|
|
/* 02203284 */ rbrew_write32(cpu->mem, _t11, cpu->r[10]);
|
|
/* 02203288 */ _t12 = cpu->r[11] + 0x0000025Cu;
|
|
/* 02203288 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0220328C */ cpu->ctr = cpu->r[0];
|
|
/* 02203290 */ cpu->r[3] = cpu->r[31];
|
|
/* 02203294 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02203298 */ Gambit_fn_02C69350(cpu);
|
|
/* 0220329C */ _t13 = cpu->r[31] + 0x00000178u;
|
|
/* 0220329C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t13);
|
|
/* 022032A0 */ _t14 = cpu->r[31] + 0x00000174u;
|
|
/* 022032A0 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t14);
|
|
/* 022032A4 */ cpu->f[13] = cpu->f[0] + cpu->f[1];
|
|
/* 022032A8 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[13], cpu->f[12]);
|
|
/* 022032AC */ _t15 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 022032AC */ _t16 = _t15 & 0x00000001u;
|
|
/* 022032AC */ if (_t16) goto L_022032B0; else goto L_022032D0;
|
|
L_022032B0: ; // 0x22032b0
|
|
/* 022032B0 */ cpu->f[0] = cpu->f[12] - cpu->f[0];
|
|
/* 022032B4 */ cpu->f[11] = cpu->f[0] / cpu->f[1];
|
|
/* 022032B8 */ /* nop */
|
|
/* 022032BC */ _t17 = cpu->r[31] + 0x000000CCu;
|
|
/* 022032BC */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t17);
|
|
/* 022032C0 */ /* nop */
|
|
/* 022032C4 */ cpu->f[12] = cpu->f[12] * cpu->f[11];
|
|
/* 022032C8 */ /* nop */
|
|
/* 022032CC */ _t18 = cpu->r[31] + 0x000000CCu;
|
|
/* 022032CC */ rbrew_write_f32(cpu->mem, _t18, cpu->f[12]);
|
|
L_022032D0: ; // 0x22032d0
|
|
/* 022032D0 */ cpu->r[3] = cpu->r[31];
|
|
/* 022032D4 */ Gambit_fn_0222EFF4(cpu);
|
|
/* 022032D8 */ _t19 = cpu->r[1] + 0x00000010u;
|
|
/* 022032D8 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t19);
|
|
/* 022032DC */ _t20 = cpu->r[1] + 0x0000000Cu;
|
|
/* 022032DC */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t20);
|
|
/* 022032E0 */ _t21 = cpu->r[31] + 0x000000CCu;
|
|
/* 022032E0 */ rbrew_write_f32(cpu->mem, _t21, cpu->f[13]);
|
|
/* 022032E4 */ _t22 = cpu->r[1] + 0x00000008u;
|
|
/* 022032E4 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t22);
|
|
/* 022032E8 */ _t23 = cpu->r[31] + 0x000000C8u;
|
|
/* 022032E8 */ rbrew_write_f32(cpu->mem, _t23, cpu->f[0]);
|
|
/* 022032EC */ _t24 = cpu->r[31] + 0x000000C4u;
|
|
/* 022032EC */ rbrew_write_f32(cpu->mem, _t24, cpu->f[13]);
|
|
/* 022032F0 */ _t25 = cpu->r[1] + 0x0000001Cu;
|
|
/* 022032F0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t25);
|
|
/* 022032F4 */ _t26 = cpu->r[1] + 0x00000014u;
|
|
/* 022032F4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t26);
|
|
/* 022032F8 */ cpu->lr = cpu->r[0];
|
|
/* 022032FC */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02203300 */ return;
|
|
}
|
|
|
|
// fn_0220324C @ 0x220324c
|
|
void Gambit_fn_0220324C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26;
|
|
|
|
L_0220324C: ; // 0x220324c
|
|
/* 0220324C */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0220324C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0220324C */ cpu->r[1] = _t0;
|
|
/* 02203250 */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 02203250 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02203254 */ _t2 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02203254 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02203258 */ _t3 = cpu->r[3] + 0x00000004u;
|
|
/* 02203258 */ cpu->r[10] = rbrew_read32(cpu->mem, _t3);
|
|
/* 0220325C */ _t4 = cpu->r[10] + 0x0000025Cu;
|
|
/* 0220325C */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02203260 */ cpu->ctr = cpu->r[0];
|
|
/* 02203264 */ cpu->r[31] = cpu->r[3];
|
|
/* 02203268 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0220326C */ _t5 = cpu->r[3] + 0x00000000u;
|
|
/* 0220326C */ cpu->r[11] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02203270 */ _t6 = cpu->r[1] + 0x00000008u;
|
|
/* 02203270 */ rbrew_write32(cpu->mem, _t6, cpu->r[11]);
|
|
/* 02203274 */ _t7 = cpu->r[3] + 0x00000004u;
|
|
/* 02203274 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02203278 */ _t8 = cpu->r[31] + 0x00000004u;
|
|
/* 02203278 */ cpu->r[11] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0220327C */ _t9 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0220327C */ rbrew_write32(cpu->mem, _t9, cpu->r[0]);
|
|
/* 02203280 */ _t10 = cpu->r[3] + 0x00000008u;
|
|
/* 02203280 */ cpu->r[10] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02203284 */ _t11 = cpu->r[1] + 0x00000010u;
|
|
/* 02203284 */ rbrew_write32(cpu->mem, _t11, cpu->r[10]);
|
|
/* 02203288 */ _t12 = cpu->r[11] + 0x0000025Cu;
|
|
/* 02203288 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0220328C */ cpu->ctr = cpu->r[0];
|
|
/* 02203290 */ cpu->r[3] = cpu->r[31];
|
|
/* 02203294 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02203298 */ Gambit_fn_02C69350(cpu);
|
|
/* 0220329C */ _t13 = cpu->r[31] + 0x00000178u;
|
|
/* 0220329C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t13);
|
|
/* 022032A0 */ _t14 = cpu->r[31] + 0x00000174u;
|
|
/* 022032A0 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t14);
|
|
/* 022032A4 */ cpu->f[13] = cpu->f[0] + cpu->f[1];
|
|
/* 022032A8 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[13], cpu->f[12]);
|
|
/* 022032AC */ _t15 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 022032AC */ _t16 = _t15 & 0x00000001u;
|
|
/* 022032AC */ if (_t16) goto L_022032B0; else goto L_022032D0;
|
|
L_022032B0: ; // 0x22032b0
|
|
/* 022032B0 */ cpu->f[0] = cpu->f[12] - cpu->f[0];
|
|
/* 022032B4 */ cpu->f[11] = cpu->f[0] / cpu->f[1];
|
|
/* 022032B8 */ /* nop */
|
|
/* 022032BC */ _t17 = cpu->r[31] + 0x000000CCu;
|
|
/* 022032BC */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t17);
|
|
/* 022032C0 */ /* nop */
|
|
/* 022032C4 */ cpu->f[12] = cpu->f[12] * cpu->f[11];
|
|
/* 022032C8 */ /* nop */
|
|
/* 022032CC */ _t18 = cpu->r[31] + 0x000000CCu;
|
|
/* 022032CC */ rbrew_write_f32(cpu->mem, _t18, cpu->f[12]);
|
|
L_022032D0: ; // 0x22032d0
|
|
/* 022032D0 */ cpu->r[3] = cpu->r[31];
|
|
/* 022032D4 */ Gambit_fn_0222EFF4(cpu);
|
|
/* 022032D8 */ _t19 = cpu->r[1] + 0x00000010u;
|
|
/* 022032D8 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t19);
|
|
/* 022032DC */ _t20 = cpu->r[1] + 0x0000000Cu;
|
|
/* 022032DC */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t20);
|
|
/* 022032E0 */ _t21 = cpu->r[31] + 0x000000CCu;
|
|
/* 022032E0 */ rbrew_write_f32(cpu->mem, _t21, cpu->f[13]);
|
|
/* 022032E4 */ _t22 = cpu->r[1] + 0x00000008u;
|
|
/* 022032E4 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t22);
|
|
/* 022032E8 */ _t23 = cpu->r[31] + 0x000000C8u;
|
|
/* 022032E8 */ rbrew_write_f32(cpu->mem, _t23, cpu->f[0]);
|
|
/* 022032EC */ _t24 = cpu->r[31] + 0x000000C4u;
|
|
/* 022032EC */ rbrew_write_f32(cpu->mem, _t24, cpu->f[13]);
|
|
/* 022032F0 */ _t25 = cpu->r[1] + 0x0000001Cu;
|
|
/* 022032F0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t25);
|
|
/* 022032F4 */ _t26 = cpu->r[1] + 0x00000014u;
|
|
/* 022032F4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t26);
|
|
/* 022032F8 */ cpu->lr = cpu->r[0];
|
|
/* 022032FC */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02203300 */ return;
|
|
}
|
|
|
|
// fn_02203304 @ 0x2203304
|
|
void Gambit_fn_02203304(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34;
|
|
double _ft20, _ft21;
|
|
|
|
L_02203304: ; // 0x2203304
|
|
/* 02203304 */ cpu->r[0] = cpu->lr;
|
|
/* 02203308 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02203308 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02203308 */ cpu->r[1] = _t0;
|
|
/* 0220330C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0220330C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02203310 */ cpu->r[31] = cpu->r[3];
|
|
/* 02203314 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02203314 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02203318 */ Gambit_fn_0222F028(cpu);
|
|
/* 0220331C */ _t3 = cpu->r[31] + 0x0000001Cu;
|
|
/* 0220331C */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02203320 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000002u);
|
|
/* 02203324 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02203324 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02203324 */ if (_t5) goto L_02203330; else goto L_02203328;
|
|
L_02203328: ; // 0x2203328
|
|
/* 02203328 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000003u);
|
|
/* 0220332C */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0220332C */ _t7 = _t6 & 0x00000001u;
|
|
/* 0220332C */ if (_t7) goto L_02203330; else goto L_022033E0;
|
|
L_02203330: ; // 0x2203330
|
|
/* 02203330 */ _t8 = cpu->r[31] + 0x00000114u;
|
|
/* 02203330 */ cpu->r[11] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02203334 */ cpu->r[11] = rbrew_rlwinm(cpu->r[11], 0x00000000u, 0x00000008u, 0x00000009u);
|
|
/* 02203334 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02203338 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02203338 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02203338 */ if (_t10) goto L_0220333C; else goto L_022033D8;
|
|
L_0220333C: ; // 0x220333c
|
|
/* 0220333C */ _t11 = cpu->r[31] + 0x00000004u;
|
|
/* 0220333C */ cpu->r[12] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02203340 */ _t12 = cpu->r[12] + 0x0000025Cu;
|
|
/* 02203340 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02203344 */ cpu->ctr = cpu->r[0];
|
|
/* 02203348 */ cpu->r[3] = cpu->r[31];
|
|
/* 0220334C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02203350 */ _t13 = cpu->r[3] + 0x00000008u;
|
|
/* 02203350 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t13);
|
|
/* 02203354 */ cpu->f[0] = cpu->f[9] * cpu->f[9];
|
|
/* 02203358 */ _t14 = cpu->r[3] + 0x00000000u;
|
|
/* 02203358 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t14);
|
|
/* 0220335C */ cpu->r[7] = 0x10040000u;
|
|
/* 02203360 */ cpu->f[8] = fma(cpu->f[11], cpu->f[11], cpu->f[0]);
|
|
/* 02203364 */ _t15 = cpu->r[7] + 0xFFFFEF84u;
|
|
/* 02203364 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t15);
|
|
/* 02203368 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[8], cpu->f[0]);
|
|
/* 0220336C */ _t16 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0220336C */ _t17 = _t16 & 0x00000001u;
|
|
/* 0220336C */ if (_t17) goto L_02203370; else goto L_02203394;
|
|
L_02203370: ; // 0x2203370
|
|
/* 02203370 */ cpu->r[12] = 0x10040000u;
|
|
/* 02203374 */ cpu->r[11] = 0x10040000u;
|
|
/* 02203378 */ _t18 = cpu->r[12] + 0xFFFFEF90u;
|
|
/* 02203378 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t18);
|
|
/* 0220337C */ _t19 = cpu->r[11] + 0xFFFFEF8Cu;
|
|
/* 0220337C */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t19);
|
|
/* 02203380 */ _ft20 = sqrt(cpu->f[8]);
|
|
/* 02203380 */ _ft21 = (double)(int32_t)0x00000001u;
|
|
/* 02203380 */ cpu->f[0] = _ft21 / _ft20;
|
|
/* 02203384 */ cpu->f[9] = cpu->f[0] * cpu->f[0];
|
|
/* 02203388 */ cpu->f[10] = cpu->f[0] * cpu->f[12];
|
|
/* 0220338C */ cpu->f[9] = -fma(cpu->f[9], cpu->f[8], -(cpu->f[13]));
|
|
/* 02203390 */ cpu->f[0] = cpu->f[9] * cpu->f[10];
|
|
L_02203394: ; // 0x2203394
|
|
/* 02203394 */ cpu->r[9] = 0x10040000u;
|
|
/* 02203398 */ _t22 = cpu->r[31] + 0x00000174u;
|
|
/* 02203398 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t22);
|
|
/* 0220339C */ _t23 = cpu->r[9] + 0xFFFFEF94u;
|
|
/* 0220339C */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t23);
|
|
/* 022033A0 */ _t24 = cpu->r[31] + 0x00000178u;
|
|
/* 022033A0 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t24);
|
|
/* 022033A4 */ cpu->f[10] = cpu->f[12] * cpu->f[11];
|
|
/* 022033A8 */ cpu->f[13] = fma(cpu->f[0], cpu->f[8], cpu->f[13]);
|
|
/* 022033AC */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[13], cpu->f[10]);
|
|
/* 022033B0 */ _t25 = cpu->r[31] + 0x00000178u;
|
|
/* 022033B0 */ rbrew_write_f32(cpu->mem, _t25, cpu->f[13]);
|
|
/* 022033B4 */ _t26 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 022033B4 */ _t27 = _t26 & 0x00000001u;
|
|
/* 022033B4 */ if (_t27) goto L_022033CC; else goto L_022033B8;
|
|
L_022033B8: ; // 0x22033b8
|
|
/* 022033B8 */ _t28 = cpu->r[31] + 0x00000004u;
|
|
/* 022033B8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t28);
|
|
/* 022033BC */ _t29 = cpu->r[8] + 0x0000039Cu;
|
|
/* 022033BC */ cpu->r[9] = rbrew_read32(cpu->mem, _t29);
|
|
/* 022033C0 */ cpu->ctr = cpu->r[9];
|
|
/* 022033C4 */ cpu->r[3] = cpu->r[31];
|
|
/* 022033C8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_022033CC: ; // 0x22033cc
|
|
/* 022033CC */ _t30 = cpu->r[31] + 0x00000114u;
|
|
/* 022033CC */ cpu->r[10] = rbrew_read32(cpu->mem, _t30);
|
|
/* 022033D0 */ cpu->r[10] = rbrew_rlwinm(cpu->r[10], 0x00000000u, 0x00000008u, 0x00000009u);
|
|
/* 022033D0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 022033D4 */ _t31 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 022033D4 */ _t32 = _t31 & 0x00000001u;
|
|
/* 022033D4 */ if (_t32) goto L_022033E0; else goto L_022033D8;
|
|
L_022033D8: ; // 0x22033d8
|
|
/* 022033D8 */ cpu->r[3] = cpu->r[31];
|
|
/* 022033DC */ Gambit_fn_02790488(cpu);
|
|
L_022033E0: ; // 0x22033e0
|
|
/* 022033E0 */ _t33 = cpu->r[1] + 0x00000014u;
|
|
/* 022033E0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t33);
|
|
/* 022033E4 */ _t34 = cpu->r[1] + 0x0000000Cu;
|
|
/* 022033E4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t34);
|
|
/* 022033E8 */ cpu->lr = cpu->r[0];
|
|
/* 022033EC */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 022033F0 */ return;
|
|
}
|
|
|
|
// fn_02203308 @ 0x2203308
|
|
void Gambit_fn_02203308(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34;
|
|
double _ft20, _ft21;
|
|
|
|
L_02203308: ; // 0x2203308
|
|
/* 02203308 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02203308 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02203308 */ cpu->r[1] = _t0;
|
|
/* 0220330C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0220330C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02203310 */ cpu->r[31] = cpu->r[3];
|
|
/* 02203314 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02203314 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02203318 */ Gambit_fn_0222F028(cpu);
|
|
/* 0220331C */ _t3 = cpu->r[31] + 0x0000001Cu;
|
|
/* 0220331C */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02203320 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000002u);
|
|
/* 02203324 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02203324 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02203324 */ if (_t5) goto L_02203330; else goto L_02203328;
|
|
L_02203328: ; // 0x2203328
|
|
/* 02203328 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000003u);
|
|
/* 0220332C */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0220332C */ _t7 = _t6 & 0x00000001u;
|
|
/* 0220332C */ if (_t7) goto L_02203330; else goto L_022033E0;
|
|
L_02203330: ; // 0x2203330
|
|
/* 02203330 */ _t8 = cpu->r[31] + 0x00000114u;
|
|
/* 02203330 */ cpu->r[11] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02203334 */ cpu->r[11] = rbrew_rlwinm(cpu->r[11], 0x00000000u, 0x00000008u, 0x00000009u);
|
|
/* 02203334 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02203338 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02203338 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02203338 */ if (_t10) goto L_0220333C; else goto L_022033D8;
|
|
L_0220333C: ; // 0x220333c
|
|
/* 0220333C */ _t11 = cpu->r[31] + 0x00000004u;
|
|
/* 0220333C */ cpu->r[12] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02203340 */ _t12 = cpu->r[12] + 0x0000025Cu;
|
|
/* 02203340 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02203344 */ cpu->ctr = cpu->r[0];
|
|
/* 02203348 */ cpu->r[3] = cpu->r[31];
|
|
/* 0220334C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02203350 */ _t13 = cpu->r[3] + 0x00000008u;
|
|
/* 02203350 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t13);
|
|
/* 02203354 */ cpu->f[0] = cpu->f[9] * cpu->f[9];
|
|
/* 02203358 */ _t14 = cpu->r[3] + 0x00000000u;
|
|
/* 02203358 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t14);
|
|
/* 0220335C */ cpu->r[7] = 0x10040000u;
|
|
/* 02203360 */ cpu->f[8] = fma(cpu->f[11], cpu->f[11], cpu->f[0]);
|
|
/* 02203364 */ _t15 = cpu->r[7] + 0xFFFFEF84u;
|
|
/* 02203364 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t15);
|
|
/* 02203368 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[8], cpu->f[0]);
|
|
/* 0220336C */ _t16 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0220336C */ _t17 = _t16 & 0x00000001u;
|
|
/* 0220336C */ if (_t17) goto L_02203370; else goto L_02203394;
|
|
L_02203370: ; // 0x2203370
|
|
/* 02203370 */ cpu->r[12] = 0x10040000u;
|
|
/* 02203374 */ cpu->r[11] = 0x10040000u;
|
|
/* 02203378 */ _t18 = cpu->r[12] + 0xFFFFEF90u;
|
|
/* 02203378 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t18);
|
|
/* 0220337C */ _t19 = cpu->r[11] + 0xFFFFEF8Cu;
|
|
/* 0220337C */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t19);
|
|
/* 02203380 */ _ft20 = sqrt(cpu->f[8]);
|
|
/* 02203380 */ _ft21 = (double)(int32_t)0x00000001u;
|
|
/* 02203380 */ cpu->f[0] = _ft21 / _ft20;
|
|
/* 02203384 */ cpu->f[9] = cpu->f[0] * cpu->f[0];
|
|
/* 02203388 */ cpu->f[10] = cpu->f[0] * cpu->f[12];
|
|
/* 0220338C */ cpu->f[9] = -fma(cpu->f[9], cpu->f[8], -(cpu->f[13]));
|
|
/* 02203390 */ cpu->f[0] = cpu->f[9] * cpu->f[10];
|
|
L_02203394: ; // 0x2203394
|
|
/* 02203394 */ cpu->r[9] = 0x10040000u;
|
|
/* 02203398 */ _t22 = cpu->r[31] + 0x00000174u;
|
|
/* 02203398 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t22);
|
|
/* 0220339C */ _t23 = cpu->r[9] + 0xFFFFEF94u;
|
|
/* 0220339C */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t23);
|
|
/* 022033A0 */ _t24 = cpu->r[31] + 0x00000178u;
|
|
/* 022033A0 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t24);
|
|
/* 022033A4 */ cpu->f[10] = cpu->f[12] * cpu->f[11];
|
|
/* 022033A8 */ cpu->f[13] = fma(cpu->f[0], cpu->f[8], cpu->f[13]);
|
|
/* 022033AC */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[13], cpu->f[10]);
|
|
/* 022033B0 */ _t25 = cpu->r[31] + 0x00000178u;
|
|
/* 022033B0 */ rbrew_write_f32(cpu->mem, _t25, cpu->f[13]);
|
|
/* 022033B4 */ _t26 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 022033B4 */ _t27 = _t26 & 0x00000001u;
|
|
/* 022033B4 */ if (_t27) goto L_022033CC; else goto L_022033B8;
|
|
L_022033B8: ; // 0x22033b8
|
|
/* 022033B8 */ _t28 = cpu->r[31] + 0x00000004u;
|
|
/* 022033B8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t28);
|
|
/* 022033BC */ _t29 = cpu->r[8] + 0x0000039Cu;
|
|
/* 022033BC */ cpu->r[9] = rbrew_read32(cpu->mem, _t29);
|
|
/* 022033C0 */ cpu->ctr = cpu->r[9];
|
|
/* 022033C4 */ cpu->r[3] = cpu->r[31];
|
|
/* 022033C8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_022033CC: ; // 0x22033cc
|
|
/* 022033CC */ _t30 = cpu->r[31] + 0x00000114u;
|
|
/* 022033CC */ cpu->r[10] = rbrew_read32(cpu->mem, _t30);
|
|
/* 022033D0 */ cpu->r[10] = rbrew_rlwinm(cpu->r[10], 0x00000000u, 0x00000008u, 0x00000009u);
|
|
/* 022033D0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 022033D4 */ _t31 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 022033D4 */ _t32 = _t31 & 0x00000001u;
|
|
/* 022033D4 */ if (_t32) goto L_022033E0; else goto L_022033D8;
|
|
L_022033D8: ; // 0x22033d8
|
|
/* 022033D8 */ cpu->r[3] = cpu->r[31];
|
|
/* 022033DC */ Gambit_fn_02790488(cpu);
|
|
L_022033E0: ; // 0x22033e0
|
|
/* 022033E0 */ _t33 = cpu->r[1] + 0x00000014u;
|
|
/* 022033E0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t33);
|
|
/* 022033E4 */ _t34 = cpu->r[1] + 0x0000000Cu;
|
|
/* 022033E4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t34);
|
|
/* 022033E8 */ cpu->lr = cpu->r[0];
|
|
/* 022033EC */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 022033F0 */ return;
|
|
}
|
|
|
|
// fn_022033F4 @ 0x22033f4
|
|
void Gambit_fn_022033F4(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_022033F4: ; // 0x22033f4
|
|
/* 022033F4 */ _t0 = cpu->r[3] + 0x0000017Cu;
|
|
/* 022033F4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 022033F8 */ cpu->r[3] = cpu->r[12] + 0x00000004u;
|
|
/* 022033FC */ return;
|
|
}
|
|
|
|
// fn_02203400 @ 0x2203400
|
|
void Gambit_fn_02203400(CPUState* cpu) {
|
|
L_02203400: ; // 0x2203400
|
|
/* 02203400 */ return;
|
|
}
|
|
|
|
// fn_02203404 @ 0x2203404
|
|
void Gambit_fn_02203404(CPUState* cpu) {
|
|
L_02203404: ; // 0x2203404
|
|
/* 02203404 */ return;
|
|
}
|
|
|
|
// fn_02203408 @ 0x2203408
|
|
void Gambit_fn_02203408(CPUState* cpu) {
|
|
L_02203408: ; // 0x2203408
|
|
/* 02203408 */ return;
|
|
}
|
|
|
|
// fn_0220340C @ 0x220340c
|
|
void Gambit_fn_0220340C(CPUState* cpu) {
|
|
L_0220340C: ; // 0x220340c
|
|
/* 0220340C */ return;
|
|
}
|
|
|
|
// fn_02203410 @ 0x2203410
|
|
void Gambit_fn_02203410(CPUState* cpu) {
|
|
L_02203410: ; // 0x2203410
|
|
/* 02203410 */ return;
|
|
}
|
|
|
|
// fn_02203414 @ 0x2203414
|
|
void Gambit_fn_02203414(CPUState* cpu) {
|
|
L_02203414: ; // 0x2203414
|
|
/* 02203414 */ return;
|
|
}
|
|
|
|
// fn_02203418 @ 0x2203418
|
|
void Gambit_fn_02203418(CPUState* cpu) {
|
|
L_02203418: ; // 0x2203418
|
|
/* 02203418 */ return;
|
|
}
|
|
|
|
// fn_0220341C @ 0x220341c
|
|
void Gambit_fn_0220341C(CPUState* cpu) {
|
|
L_0220341C: ; // 0x220341c
|
|
/* 0220341C */ return;
|
|
}
|
|
|
|
// fn_02203420 @ 0x2203420
|
|
void Gambit_fn_02203420(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_02203420: ; // 0x2203420
|
|
/* 02203420 */ _t0 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02203420 */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02203424 */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x0000001Fu, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02203424 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02203428 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02203428 */ _t2 = _t1 & 0x00000001u;
|
|
/* 02203428 */ _t3 = _t2 ^ 0x00000001u;
|
|
/* 02203428 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02203428 */ goto L_0220342C;
|
|
L_0220342C: ; // 0x220342c
|
|
/* 0220342C */ _t4 = cpu->r[3] + 0x00000004u;
|
|
/* 0220342C */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02203430 */ _t5 = cpu->r[12] + 0x0000004Cu;
|
|
/* 02203430 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02203434 */ cpu->ctr = cpu->r[0];
|
|
/* 02203438 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_0220343C @ 0x220343c
|
|
void Gambit_fn_0220343C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_0220343C: ; // 0x220343c
|
|
/* 0220343C */ _t0 = cpu->r[3] + 0x0000000Cu;
|
|
/* 0220343C */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02203440 */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x0000001Du, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02203440 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02203444 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02203444 */ _t2 = _t1 & 0x00000001u;
|
|
/* 02203444 */ _t3 = _t2 ^ 0x00000001u;
|
|
/* 02203444 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02203444 */ goto L_02203448;
|
|
L_02203448: ; // 0x2203448
|
|
/* 02203448 */ _t4 = cpu->r[3] + 0x00000004u;
|
|
/* 02203448 */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0220344C */ _t5 = cpu->r[12] + 0x0000005Cu;
|
|
/* 0220344C */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02203450 */ cpu->ctr = cpu->r[0];
|
|
/* 02203454 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_02203458 @ 0x2203458
|
|
void Gambit_fn_02203458(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_02203458: ; // 0x2203458
|
|
/* 02203458 */ _t0 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02203458 */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0220345C */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x0000001Au, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0220345C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02203460 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02203460 */ _t2 = _t1 & 0x00000001u;
|
|
/* 02203460 */ _t3 = _t2 ^ 0x00000001u;
|
|
/* 02203460 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02203460 */ goto L_02203464;
|
|
L_02203464: ; // 0x2203464
|
|
/* 02203464 */ _t4 = cpu->r[3] + 0x00000004u;
|
|
/* 02203464 */ cpu->r[11] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02203468 */ _t5 = cpu->r[11] + 0x00000074u;
|
|
/* 02203468 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0220346C */ cpu->ctr = cpu->r[0];
|
|
/* 02203470 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_02203474 @ 0x2203474
|
|
void Gambit_fn_02203474(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_02203474: ; // 0x2203474
|
|
/* 02203474 */ _t0 = cpu->r[3] + 0x00000004u;
|
|
/* 02203474 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02203478 */ _t1 = cpu->r[12] + 0x0000002Cu;
|
|
/* 02203478 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 0220347C */ cpu->ctr = cpu->r[0];
|
|
/* 02203480 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_02203484 @ 0x2203484
|
|
void Gambit_fn_02203484(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_02203484: ; // 0x2203484
|
|
/* 02203484 */ cpu->r[0] = cpu->lr;
|
|
/* 02203488 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02203488 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02203488 */ cpu->r[1] = _t0;
|
|
/* 0220348C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0220348C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02203490 */ cpu->r[31] = cpu->r[3];
|
|
/* 02203494 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02203494 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02203498 */ _t3 = cpu->r[31] + 0x0000001Cu;
|
|
/* 02203498 */ cpu->r[11] = rbrew_read32(cpu->mem, _t3);
|
|
/* 0220349C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000003u);
|
|
/* 022034A0 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 022034A0 */ _t5 = _t4 & 0x00000001u;
|
|
/* 022034A0 */ if (_t5) goto L_022034A4; else goto L_022034C0;
|
|
L_022034A4: ; // 0x22034a4
|
|
/* 022034A4 */ _t6 = cpu->r[31] + 0x00000004u;
|
|
/* 022034A4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t6);
|
|
/* 022034A8 */ _t7 = cpu->r[12] + 0x0000010Cu;
|
|
/* 022034A8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 022034AC */ cpu->ctr = cpu->r[0];
|
|
/* 022034B0 */ cpu->r[3] = cpu->r[31];
|
|
/* 022034B4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 022034B8 */ cpu->r[0] = 0x00000002u;
|
|
/* 022034BC */ _t8 = cpu->r[31] + 0x0000001Cu;
|
|
/* 022034BC */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
L_022034C0: ; // 0x22034c0
|
|
/* 022034C0 */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 022034C0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 022034C4 */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 022034C4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 022034C8 */ cpu->lr = cpu->r[0];
|
|
/* 022034CC */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 022034D0 */ return;
|
|
}
|
|
|
|
// fn_02203488 @ 0x2203488
|
|
void Gambit_fn_02203488(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_02203488: ; // 0x2203488
|
|
/* 02203488 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02203488 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02203488 */ cpu->r[1] = _t0;
|
|
/* 0220348C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0220348C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02203490 */ cpu->r[31] = cpu->r[3];
|
|
/* 02203494 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02203494 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02203498 */ _t3 = cpu->r[31] + 0x0000001Cu;
|
|
/* 02203498 */ cpu->r[11] = rbrew_read32(cpu->mem, _t3);
|
|
/* 0220349C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000003u);
|
|
/* 022034A0 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 022034A0 */ _t5 = _t4 & 0x00000001u;
|
|
/* 022034A0 */ if (_t5) goto L_022034A4; else goto L_022034C0;
|
|
L_022034A4: ; // 0x22034a4
|
|
/* 022034A4 */ _t6 = cpu->r[31] + 0x00000004u;
|
|
/* 022034A4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t6);
|
|
/* 022034A8 */ _t7 = cpu->r[12] + 0x0000010Cu;
|
|
/* 022034A8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 022034AC */ cpu->ctr = cpu->r[0];
|
|
/* 022034B0 */ cpu->r[3] = cpu->r[31];
|
|
/* 022034B4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 022034B8 */ cpu->r[0] = 0x00000002u;
|
|
/* 022034BC */ _t8 = cpu->r[31] + 0x0000001Cu;
|
|
/* 022034BC */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
L_022034C0: ; // 0x22034c0
|
|
/* 022034C0 */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 022034C0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 022034C4 */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 022034C4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 022034C8 */ cpu->lr = cpu->r[0];
|
|
/* 022034CC */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 022034D0 */ return;
|
|
}
|
|
|
|
// fn_022034D4 @ 0x22034d4
|
|
void Gambit_fn_022034D4(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_022034D4: ; // 0x22034d4
|
|
/* 022034D4 */ _t0 = cpu->r[3] + 0x00000004u;
|
|
/* 022034D4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 022034D8 */ _t1 = cpu->r[12] + 0x0000008Cu;
|
|
/* 022034D8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 022034DC */ cpu->ctr = cpu->r[0];
|
|
/* 022034E0 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_022034E4 @ 0x22034e4
|
|
void Gambit_fn_022034E4(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_022034E4: ; // 0x22034e4
|
|
/* 022034E4 */ _t0 = cpu->r[3] + 0x00000004u;
|
|
/* 022034E4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 022034E8 */ _t1 = cpu->r[12] + 0x00000124u;
|
|
/* 022034E8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 022034EC */ cpu->ctr = cpu->r[0];
|
|
/* 022034F0 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_022034F4 @ 0x22034f4
|
|
void Gambit_fn_022034F4(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_022034F4: ; // 0x22034f4
|
|
/* 022034F4 */ _t0 = cpu->r[3] + 0x00000004u;
|
|
/* 022034F4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 022034F8 */ _t1 = cpu->r[12] + 0x00000124u;
|
|
/* 022034F8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 022034FC */ cpu->ctr = cpu->r[0];
|
|
/* 02203500 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_02203504 @ 0x2203504
|
|
void Gambit_fn_02203504(CPUState* cpu) {
|
|
L_02203504: ; // 0x2203504
|
|
/* 02203504 */ cpu->r[3] = 0x00000001u;
|
|
/* 02203508 */ return;
|
|
}
|
|
|
|
// fn_0220350C @ 0x220350c
|
|
void Gambit_fn_0220350C(CPUState* cpu) {
|
|
L_0220350C: ; // 0x220350c
|
|
/* 0220350C */ return;
|
|
}
|
|
|
|
// fn_02203510 @ 0x2203510
|
|
void Gambit_fn_02203510(CPUState* cpu) {
|
|
L_02203510: ; // 0x2203510
|
|
/* 02203510 */ return;
|
|
}
|
|
|
|
// fn_02203514 @ 0x2203514
|
|
void Gambit_fn_02203514(CPUState* cpu) {
|
|
L_02203514: ; // 0x2203514
|
|
/* 02203514 */ return;
|
|
}
|
|
|
|
// fn_02203518 @ 0x2203518
|
|
void Gambit_fn_02203518(CPUState* cpu) {
|
|
L_02203518: ; // 0x2203518
|
|
/* 02203518 */ return;
|
|
}
|
|
|
|
// fn_0220351C @ 0x220351c
|
|
void Gambit_fn_0220351C(CPUState* cpu) {
|
|
L_0220351C: ; // 0x220351c
|
|
/* 0220351C */ return;
|
|
}
|
|
|
|
// fn_02203520 @ 0x2203520
|
|
void Gambit_fn_02203520(CPUState* cpu) {
|
|
L_02203520: ; // 0x2203520
|
|
/* 02203520 */ return;
|
|
}
|
|
|
|
// fn_02203524 @ 0x2203524
|
|
void Gambit_fn_02203524(CPUState* cpu) {
|
|
L_02203524: ; // 0x2203524
|
|
/* 02203524 */ return;
|
|
}
|
|
|
|
// fn_02203528 @ 0x2203528
|
|
void Gambit_fn_02203528(CPUState* cpu) {
|
|
L_02203528: ; // 0x2203528
|
|
/* 02203528 */ cpu->r[3] = 0x00000001u;
|
|
/* 0220352C */ return;
|
|
}
|
|
|
|
// fn_02203530 @ 0x2203530
|
|
void Gambit_fn_02203530(CPUState* cpu) {
|
|
L_02203530: ; // 0x2203530
|
|
/* 02203530 */ cpu->r[3] = 0x00000000u;
|
|
/* 02203534 */ return;
|
|
}
|
|
|
|
// fn_02203538 @ 0x2203538
|
|
void Gambit_fn_02203538(CPUState* cpu) {
|
|
L_02203538: ; // 0x2203538
|
|
/* 02203538 */ cpu->r[3] = 0x00000001u;
|
|
/* 0220353C */ return;
|
|
}
|
|
|
|
// fn_02203540 @ 0x2203540
|
|
void Gambit_fn_02203540(CPUState* cpu) {
|
|
L_02203540: ; // 0x2203540
|
|
/* 02203540 */ cpu->r[3] = 0x00000000u;
|
|
/* 02203544 */ return;
|
|
}
|
|
|
|
// fn_02203548 @ 0x2203548
|
|
void Gambit_fn_02203548(CPUState* cpu) {
|
|
L_02203548: ; // 0x2203548
|
|
/* 02203548 */ cpu->r[3] = 0x00000000u;
|
|
/* 0220354C */ return;
|
|
}
|
|
|
|
// fn_02203550 @ 0x2203550
|
|
void Gambit_fn_02203550(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_02203550: ; // 0x2203550
|
|
/* 02203550 */ _t0 = cpu->r[3] + 0x00000004u;
|
|
/* 02203550 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02203554 */ _t1 = cpu->r[12] + 0x0000021Cu;
|
|
/* 02203554 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02203558 */ cpu->ctr = cpu->r[0];
|
|
/* 0220355C */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_02203560 @ 0x2203560
|
|
void Gambit_fn_02203560(CPUState* cpu) {
|
|
L_02203560: ; // 0x2203560
|
|
/* 02203560 */ cpu->r[3] = 0x00000000u;
|
|
/* 02203564 */ return;
|
|
}
|
|
|
|
// fn_02203568 @ 0x2203568
|
|
void Gambit_fn_02203568(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_02203568: ; // 0x2203568
|
|
/* 02203568 */ _t0 = cpu->r[3] + 0x00000004u;
|
|
/* 02203568 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0220356C */ _t1 = cpu->r[12] + 0x0000027Cu;
|
|
/* 0220356C */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02203570 */ cpu->ctr = cpu->r[0];
|
|
/* 02203574 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_02203578 @ 0x2203578
|
|
void Gambit_fn_02203578(CPUState* cpu) {
|
|
L_02203578: ; // 0x2203578
|
|
/* 02203578 */ cpu->r[3] = 0x00000000u;
|
|
/* 0220357C */ return;
|
|
}
|
|
|
|
// fn_02203580 @ 0x2203580
|
|
void Gambit_fn_02203580(CPUState* cpu) {
|
|
L_02203580: ; // 0x2203580
|
|
/* 02203580 */ cpu->r[3] = 0x00000001u;
|
|
/* 02203584 */ return;
|
|
}
|
|
|
|
// fn_02203588 @ 0x2203588
|
|
void Gambit_fn_02203588(CPUState* cpu) {
|
|
L_02203588: ; // 0x2203588
|
|
/* 02203588 */ cpu->r[3] = 0x00000000u;
|
|
/* 0220358C */ return;
|
|
}
|
|
|
|
// fn_02203590 @ 0x2203590
|
|
void Gambit_fn_02203590(CPUState* cpu) {
|
|
L_02203590: ; // 0x2203590
|
|
/* 02203590 */ cpu->r[3] = 0x00000000u;
|
|
/* 02203594 */ return;
|
|
}
|
|
|
|
// fn_02203598 @ 0x2203598
|
|
void Gambit_fn_02203598(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_02203598: ; // 0x2203598
|
|
/* 02203598 */ _t0 = cpu->r[3] + 0x00000080u;
|
|
/* 02203598 */ cpu->r[3] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0220359C */ return;
|
|
}
|
|
|
|
// fn_022035A0 @ 0x22035a0
|
|
void Gambit_fn_022035A0(CPUState* cpu) {
|
|
L_022035A0: ; // 0x22035a0
|
|
/* 022035A0 */ cpu->r[3] = cpu->r[3] + 0x00000094u;
|
|
/* 022035A4 */ return;
|
|
}
|
|
|
|
// fn_022035A8 @ 0x22035a8
|
|
void Gambit_fn_022035A8(CPUState* cpu) {
|
|
L_022035A8: ; // 0x22035a8
|
|
/* 022035A8 */ cpu->r[3] = cpu->r[3] + 0x000000C4u;
|
|
/* 022035AC */ return;
|
|
}
|
|
|
|
// fn_022035B0 @ 0x22035b0
|
|
void Gambit_fn_022035B0(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_022035B0: ; // 0x22035b0
|
|
/* 022035B0 */ _t0 = cpu->r[3] + 0x000000E8u;
|
|
/* 022035B0 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t0);
|
|
/* 022035B4 */ return;
|
|
}
|
|
|
|
// fn_022035B8 @ 0x22035b8
|
|
void Gambit_fn_022035B8(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_022035B8: ; // 0x22035b8
|
|
/* 022035B8 */ cpu->r[12] = 0x10040000u;
|
|
/* 022035BC */ _t0 = cpu->r[12] + 0xFFFFEF98u;
|
|
/* 022035BC */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t0);
|
|
/* 022035C0 */ return;
|
|
}
|
|
|
|
// fn_022035C4 @ 0x22035c4
|
|
void Gambit_fn_022035C4(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_022035C4: ; // 0x22035c4
|
|
/* 022035C4 */ cpu->r[12] = 0x10040000u;
|
|
/* 022035C8 */ _t0 = cpu->r[12] + 0xFFFFEF98u;
|
|
/* 022035C8 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t0);
|
|
/* 022035CC */ return;
|
|
}
|
|
|
|
// fn_022035D0 @ 0x22035d0
|
|
void Gambit_fn_022035D0(CPUState* cpu) {
|
|
L_022035D0: ; // 0x22035d0
|
|
/* 022035D0 */ cpu->r[3] = 0x00000001u;
|
|
/* 022035D4 */ return;
|
|
}
|
|
|
|
// fn_022035D8 @ 0x22035d8
|
|
void Gambit_fn_022035D8(CPUState* cpu) {
|
|
L_022035D8: ; // 0x22035d8
|
|
/* 022035D8 */ cpu->r[3] = 0x00000001u;
|
|
/* 022035DC */ return;
|
|
}
|
|
|
|
// fn_022035E0 @ 0x22035e0
|
|
void Gambit_fn_022035E0(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_022035E0: ; // 0x22035e0
|
|
/* 022035E0 */ _t0 = cpu->r[3] + 0x00000004u;
|
|
/* 022035E0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 022035E4 */ _t1 = cpu->r[12] + 0x0000035Cu;
|
|
/* 022035E4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 022035E8 */ cpu->ctr = cpu->r[0];
|
|
/* 022035EC */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_022035F0 @ 0x22035f0
|
|
void Gambit_fn_022035F0(CPUState* cpu) {
|
|
L_022035F0: ; // 0x22035f0
|
|
/* 022035F0 */ cpu->r[3] = 0x00000001u;
|
|
/* 022035F4 */ return;
|
|
}
|
|
|
|
// fn_022035F8 @ 0x22035f8
|
|
void Gambit_fn_022035F8(CPUState* cpu) {
|
|
L_022035F8: ; // 0x22035f8
|
|
/* 022035F8 */ cpu->r[3] = 0x00000000u;
|
|
/* 022035FC */ return;
|
|
}
|
|
|
|
// fn_02203600 @ 0x2203600
|
|
void Gambit_fn_02203600(CPUState* cpu) {
|
|
L_02203600: ; // 0x2203600
|
|
/* 02203600 */ cpu->r[3] = 0x00000000u;
|
|
/* 02203604 */ return;
|
|
}
|
|
|
|
// fn_02203608 @ 0x2203608
|
|
void Gambit_fn_02203608(CPUState* cpu) {
|
|
L_02203608: ; // 0x2203608
|
|
/* 02203608 */ cpu->r[3] = 0x00000001u;
|
|
/* 0220360C */ return;
|
|
}
|
|
|
|
// fn_02203610 @ 0x2203610
|
|
void Gambit_fn_02203610(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3;
|
|
|
|
L_02203610: ; // 0x2203610
|
|
/* 02203610 */ _t0 = cpu->r[3] + 0x00000114u;
|
|
/* 02203610 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02203614 */ cpu->r[0] = 0x00000001u;
|
|
/* 02203618 */ _t1 = rbrew_rlwinm(cpu->r[0], 0x00000016u, 0x00000008u, 0x00000009u);
|
|
/* 02203618 */ _t2 = cpu->r[12] & 0xFF3FFFFFu;
|
|
/* 02203618 */ cpu->r[12] = _t2 | _t1;
|
|
/* 0220361C */ _t3 = cpu->r[3] + 0x00000114u;
|
|
/* 0220361C */ rbrew_write32(cpu->mem, _t3, cpu->r[12]);
|
|
/* 02203620 */ return;
|
|
}
|
|
|
|
// fn_02203624 @ 0x2203624
|
|
void Gambit_fn_02203624(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_02203624: ; // 0x2203624
|
|
/* 02203624 */ _t0 = cpu->r[3] + 0x00000004u;
|
|
/* 02203624 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02203628 */ _t1 = cpu->r[12] + 0x0000039Cu;
|
|
/* 02203628 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 0220362C */ cpu->ctr = cpu->r[0];
|
|
/* 02203630 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_02203634 @ 0x2203634
|
|
void Gambit_fn_02203634(CPUState* cpu) {
|
|
L_02203634: ; // 0x2203634
|
|
/* 02203634 */ return;
|
|
}
|
|
|
|
// fn_02203638 @ 0x2203638
|
|
void Gambit_fn_02203638(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_02203638: ; // 0x2203638
|
|
/* 02203638 */ cpu->r[12] = 0x10040000u;
|
|
/* 0220363C */ _t0 = cpu->r[12] + 0xFFFFEF84u;
|
|
/* 0220363C */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t0);
|
|
/* 02203640 */ return;
|
|
}
|
|
|
|
// fn_02203644 @ 0x2203644
|
|
void Gambit_fn_02203644(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_02203644: ; // 0x2203644
|
|
/* 02203644 */ _t0 = cpu->r[3] + 0x000000A0u;
|
|
/* 02203644 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t0);
|
|
/* 02203648 */ return;
|
|
}
|
|
|
|
// fn_0220364C @ 0x220364c
|
|
void Gambit_fn_0220364C(CPUState* cpu) {
|
|
L_0220364C: ; // 0x220364c
|
|
/* 0220364C */ cpu->r[3] = 0x00000000u;
|
|
/* 02203650 */ return;
|
|
}
|
|
|
|
// fn_02203654 @ 0x2203654
|
|
void Gambit_fn_02203654(CPUState* cpu) {
|
|
L_02203654: ; // 0x2203654
|
|
/* 02203654 */ cpu->r[3] = 0x00000000u;
|
|
/* 02203658 */ return;
|
|
}
|
|
|
|
// fn_0220365C @ 0x220365c
|
|
void Gambit_fn_0220365C(CPUState* cpu) {
|
|
L_0220365C: ; // 0x220365c
|
|
/* 0220365C */ cpu->r[3] = 0x00000001u;
|
|
/* 02203660 */ return;
|
|
}
|
|
|
|
// fn_02203664 @ 0x2203664
|
|
void Gambit_fn_02203664(CPUState* cpu) {
|
|
L_02203664: ; // 0x2203664
|
|
/* 02203664 */ cpu->r[3] = 0x00000000u;
|
|
/* 02203668 */ return;
|
|
}
|
|
|
|
// fn_0220366C @ 0x220366c
|
|
void Gambit_fn_0220366C(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_0220366C: ; // 0x220366c
|
|
/* 0220366C */ _t0 = cpu->r[3] + 0x000000C0u;
|
|
/* 0220366C */ cpu->r[3] = rbrew_read8(cpu->mem, _t0);
|
|
/* 02203670 */ return;
|
|
}
|
|
|
|
// fn_02203674 @ 0x2203674
|
|
void Gambit_fn_02203674(CPUState* cpu) {
|
|
L_02203674: ; // 0x2203674
|
|
/* 02203674 */ return;
|
|
}
|
|
|
|
// fn_02203678 @ 0x2203678
|
|
void Gambit_fn_02203678(CPUState* cpu) {
|
|
L_02203678: ; // 0x2203678
|
|
/* 02203678 */ return;
|
|
}
|
|
|
|
// fn_0220367C @ 0x220367c
|
|
void Gambit_fn_0220367C(CPUState* cpu) {
|
|
L_0220367C: ; // 0x220367c
|
|
/* 0220367C */ cpu->r[3] = 0x00000000u;
|
|
/* 02203680 */ return;
|
|
}
|
|
|
|
// fn_02203684 @ 0x2203684
|
|
void Gambit_fn_02203684(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_02203684: ; // 0x2203684
|
|
/* 02203684 */ cpu->r[12] = 0x10040000u;
|
|
/* 02203688 */ _t0 = cpu->r[12] + 0xFFFFEF84u;
|
|
/* 02203688 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t0);
|
|
/* 0220368C */ return;
|
|
}
|
|
|
|
// fn_02203690 @ 0x2203690
|
|
void Gambit_fn_02203690(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4;
|
|
|
|
L_02203690: ; // 0x2203690
|
|
/* 02203690 */ _t0 = cpu->r[3] + 0x00000114u;
|
|
/* 02203690 */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02203694 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000012u, 0x00000013u);
|
|
/* 02203694 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02203698 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02203698 */ _t2 = _t1 & 0x00000001u;
|
|
/* 02203698 */ if (_t2) goto L_022036A8; else goto L_0220369C;
|
|
L_0220369C: ; // 0x220369c
|
|
/* 0220369C */ cpu->r[12] = 0x10040000u;
|
|
/* 022036A0 */ _t3 = cpu->r[12] + 0xFFFFEF84u;
|
|
/* 022036A0 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t3);
|
|
/* 022036A4 */ return;
|
|
L_022036A8: ; // 0x22036a8
|
|
/* 022036A8 */ cpu->r[12] = 0x10040000u;
|
|
/* 022036AC */ _t4 = cpu->r[12] + 0xFFFFEF9Cu;
|
|
/* 022036AC */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t4);
|
|
/* 022036B0 */ return;
|
|
}
|
|
|
|
// fn_022036B4 @ 0x22036b4
|
|
void Gambit_fn_022036B4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7;
|
|
|
|
L_022036B4: ; // 0x22036b4
|
|
/* 022036B4 */ goto L_0222E4C4;
|
|
L_0222E4C4: ; // 0x222e4c4
|
|
/* 0222E4C4 */ cpu->r[0] = cpu->lr;
|
|
/* 0222E4C8 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 0222E4C8 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 0222E4CC */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 0222E4CC */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 0222E4CC */ cpu->r[1] = _t1;
|
|
/* 0222E4D0 */ Gambit_fn_021F7000(cpu);
|
|
/* 0222E4D4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0222E4D8 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0222E4D8 */ _t3 = _t2 & 0x00000001u;
|
|
/* 0222E4D8 */ if (_t3) goto L_0222E4F4; else goto L_0222E4DC;
|
|
L_0222E4DC: ; // 0x222e4dc
|
|
/* 0222E4DC */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0222E4DC */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0222E4E0 */ cpu->r[12] = 0x101E0000u;
|
|
/* 0222E4E4 */ cpu->lr = cpu->r[0];
|
|
/* 0222E4E8 */ _t5 = cpu->r[12] + 0xFFFF9594u;
|
|
/* 0222E4E8 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t5);
|
|
/* 0222E4EC */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 0222E4F0 */ return;
|
|
L_0222E4F4: ; // 0x222e4f4
|
|
/* 0222E4F4 */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0222E4F4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0222E4F8 */ cpu->r[12] = 0x101E0000u;
|
|
/* 0222E4FC */ cpu->lr = cpu->r[0];
|
|
/* 0222E500 */ _t7 = cpu->r[12] + 0xFFFF9590u;
|
|
/* 0222E500 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t7);
|
|
/* 0222E504 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 0222E508 */ return;
|
|
}
|
|
|
|
// fn_022036B8 @ 0x22036b8
|
|
void Gambit_fn_022036B8(CPUState* cpu) {
|
|
L_022036B8: ; // 0x22036b8
|
|
/* 022036B8 */ cpu->r[3] = 0x00000000u;
|
|
/* 022036BC */ return;
|
|
}
|
|
|
|
// fn_022036C0 @ 0x22036c0
|
|
void Gambit_fn_022036C0(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_022036C0: ; // 0x22036c0
|
|
/* 022036C0 */ _t0 = cpu->r[3] + 0x00000114u;
|
|
/* 022036C0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
|
|
/* 022036C4 */ cpu->r[0] = cpu->r[0] | 0x00020000u;
|
|
/* 022036C8 */ _t1 = cpu->r[3] + 0x00000114u;
|
|
/* 022036C8 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 022036CC */ return;
|
|
}
|
|
|
|
// fn_022036D0 @ 0x22036d0
|
|
void Gambit_fn_022036D0(CPUState* cpu) {
|
|
L_022036D0: ; // 0x22036d0
|
|
/* 022036D0 */ cpu->r[3] = 0x00000000u;
|
|
/* 022036D4 */ return;
|
|
}
|
|
|
|
// fn_022036D8 @ 0x22036d8
|
|
void Gambit_fn_022036D8(CPUState* cpu) {
|
|
L_022036D8: ; // 0x22036d8
|
|
/* 022036D8 */ cpu->r[3] = 0x00000001u;
|
|
/* 022036DC */ return;
|
|
}
|
|
|
|
// fn_022036E0 @ 0x22036e0
|
|
void Gambit_fn_022036E0(CPUState* cpu) {
|
|
L_022036E0: ; // 0x22036e0
|
|
/* 022036E0 */ cpu->r[3] = cpu->r[3] + 0x00000130u;
|
|
/* 022036E4 */ return;
|
|
}
|
|
|
|
// fn_022036E8 @ 0x22036e8
|
|
void Gambit_fn_022036E8(CPUState* cpu) {
|
|
L_022036E8: ; // 0x22036e8
|
|
/* 022036E8 */ cpu->r[3] = cpu->r[3] + 0x00000160u;
|
|
/* 022036EC */ return;
|
|
}
|
|
|
|
// fn_022036F0 @ 0x22036f0
|
|
void Gambit_fn_022036F0(CPUState* cpu) {
|
|
L_022036F0: ; // 0x22036f0
|
|
/* 022036F0 */ cpu->r[3] = 0x00000000u;
|
|
/* 022036F4 */ return;
|
|
}
|
|
|
|
// fn_022036F8 @ 0x22036f8
|
|
void Gambit_fn_022036F8(CPUState* cpu) {
|
|
L_022036F8: ; // 0x22036f8
|
|
/* 022036F8 */ cpu->r[3] = 0x10040000u;
|
|
/* 022036FC */ cpu->r[3] = cpu->r[3] + 0xFFFFEF64u;
|
|
/* 02203700 */ return;
|
|
}
|
|
|
|
// fn_02203704 @ 0x2203704
|
|
void Gambit_fn_02203704(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39;
|
|
|
|
L_02203704: ; // 0x2203704
|
|
/* 02203704 */ cpu->r[8] = 0x101D0000u;
|
|
/* 02203708 */ _t0 = cpu->r[8] + 0xFFFFFDA8u;
|
|
/* 02203708 */ cpu->r[8] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0220370C */ cpu->r[6] = 0x101D0000u;
|
|
/* 02203710 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 02203714 */ cpu->r[6] = cpu->r[6] + 0xFFFFFE9Cu;
|
|
/* 02203718 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02203718 */ _t2 = _t1 & 0x00000001u;
|
|
/* 02203718 */ if (_t2) goto L_0220371C; else goto L_02203734;
|
|
L_0220371C: ; // 0x220371c
|
|
/* 0220371C */ cpu->r[5] = 0x10040000u;
|
|
/* 02203720 */ cpu->r[0] = 0x00000001u;
|
|
/* 02203724 */ cpu->r[8] = 0x101D0000u;
|
|
/* 02203728 */ cpu->r[5] = cpu->r[5] + 0xFFFFEF54u;
|
|
/* 0220372C */ _t3 = cpu->r[8] + 0xFFFFFDA8u;
|
|
/* 0220372C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02203730 */ _t4 = cpu->r[6] + 0x00000000u;
|
|
/* 02203730 */ rbrew_write32(cpu->mem, _t4, cpu->r[5]);
|
|
L_02203734: ; // 0x2203734
|
|
/* 02203734 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[6]);
|
|
/* 02203738 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02203738 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02203738 */ if (_t6) goto L_0220373C; else goto L_02203744;
|
|
L_0220373C: ; // 0x220373c
|
|
/* 0220373C */ cpu->r[3] = 0x00000001u;
|
|
/* 02203740 */ return;
|
|
L_02203744: ; // 0x2203744
|
|
/* 02203744 */ cpu->r[10] = 0x101D0000u;
|
|
/* 02203748 */ _t7 = cpu->r[10] + 0xFFFFDA0Cu;
|
|
/* 02203748 */ cpu->r[10] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0220374C */ cpu->r[8] = 0x101D0000u;
|
|
/* 02203750 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02203754 */ cpu->r[8] = cpu->r[8] + 0xFFFFFC00u;
|
|
/* 02203758 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02203758 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02203758 */ if (_t9) goto L_0220375C; else goto L_02203774;
|
|
L_0220375C: ; // 0x220375c
|
|
/* 0220375C */ cpu->r[0] = 0x10040000u;
|
|
/* 02203760 */ cpu->r[7] = 0x00000001u;
|
|
/* 02203764 */ cpu->r[6] = 0x101D0000u;
|
|
/* 02203768 */ cpu->r[0] = cpu->r[0] + 0xFFFFEF44u;
|
|
/* 0220376C */ _t10 = cpu->r[6] + 0xFFFFDA0Cu;
|
|
/* 0220376C */ rbrew_write32(cpu->mem, _t10, cpu->r[7]);
|
|
/* 02203770 */ _t11 = cpu->r[8] + 0x00000000u;
|
|
/* 02203770 */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
|
|
L_02203774: ; // 0x2203774
|
|
/* 02203774 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[8]);
|
|
/* 02203778 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02203778 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02203778 */ if (_t13) goto L_0220377C; else goto L_02203784;
|
|
L_0220377C: ; // 0x220377c
|
|
/* 0220377C */ cpu->r[0] = 0x00000001u;
|
|
/* 02203780 */ goto L_0220387C;
|
|
L_02203784: ; // 0x2203784
|
|
/* 02203784 */ cpu->r[12] = 0x101D0000u;
|
|
/* 02203788 */ _t14 = cpu->r[12] + 0xFFFFDA00u;
|
|
/* 02203788 */ cpu->r[12] = rbrew_read32(cpu->mem, _t14);
|
|
/* 0220378C */ cpu->r[10] = 0x101D0000u;
|
|
/* 02203790 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02203794 */ cpu->r[10] = cpu->r[10] + 0xFFFFFBFCu;
|
|
/* 02203798 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02203798 */ _t16 = _t15 & 0x00000001u;
|
|
/* 02203798 */ if (_t16) goto L_0220379C; else goto L_022037B4;
|
|
L_0220379C: ; // 0x220379c
|
|
/* 0220379C */ cpu->r[7] = 0x10040000u;
|
|
/* 022037A0 */ cpu->r[5] = 0x00000001u;
|
|
/* 022037A4 */ cpu->r[12] = 0x101D0000u;
|
|
/* 022037A8 */ cpu->r[7] = cpu->r[7] + 0xFFFFEF34u;
|
|
/* 022037AC */ _t17 = cpu->r[12] + 0xFFFFDA00u;
|
|
/* 022037AC */ rbrew_write32(cpu->mem, _t17, cpu->r[5]);
|
|
/* 022037B0 */ _t18 = cpu->r[10] + 0x00000000u;
|
|
/* 022037B0 */ rbrew_write32(cpu->mem, _t18, cpu->r[7]);
|
|
L_022037B4: ; // 0x22037b4
|
|
/* 022037B4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[10]);
|
|
/* 022037B8 */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 022037B8 */ _t20 = _t19 & 0x00000001u;
|
|
/* 022037B8 */ if (_t20) goto L_022037BC; else goto L_022037C4;
|
|
L_022037BC: ; // 0x22037bc
|
|
/* 022037BC */ cpu->r[0] = 0x00000001u;
|
|
/* 022037C0 */ goto L_0220387C;
|
|
L_022037C4: ; // 0x22037c4
|
|
/* 022037C4 */ cpu->r[11] = 0x101D0000u;
|
|
/* 022037C8 */ _t21 = cpu->r[11] + 0xFFFFD9ECu;
|
|
/* 022037C8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t21);
|
|
/* 022037CC */ cpu->r[12] = 0x101D0000u;
|
|
/* 022037D0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 022037D4 */ cpu->r[12] = cpu->r[12] + 0xFFFFFB4Cu;
|
|
/* 022037D8 */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 022037D8 */ _t23 = _t22 & 0x00000001u;
|
|
/* 022037D8 */ if (_t23) goto L_022037DC; else goto L_022037F4;
|
|
L_022037DC: ; // 0x22037dc
|
|
/* 022037DC */ cpu->r[10] = 0x10040000u;
|
|
/* 022037E0 */ cpu->r[9] = 0x00000001u;
|
|
/* 022037E4 */ cpu->r[8] = 0x101D0000u;
|
|
/* 022037E8 */ cpu->r[10] = cpu->r[10] + 0xFFFFEF24u;
|
|
/* 022037EC */ _t24 = cpu->r[8] + 0xFFFFD9ECu;
|
|
/* 022037EC */ rbrew_write32(cpu->mem, _t24, cpu->r[9]);
|
|
/* 022037F0 */ _t25 = cpu->r[12] + 0x00000000u;
|
|
/* 022037F0 */ rbrew_write32(cpu->mem, _t25, cpu->r[10]);
|
|
L_022037F4: ; // 0x22037f4
|
|
/* 022037F4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[12]);
|
|
/* 022037F8 */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 022037F8 */ _t27 = _t26 & 0x00000001u;
|
|
/* 022037F8 */ if (_t27) goto L_022037FC; else goto L_02203804;
|
|
L_022037FC: ; // 0x22037fc
|
|
/* 022037FC */ cpu->r[0] = 0x00000001u;
|
|
/* 02203800 */ goto L_02203878;
|
|
L_02203804: ; // 0x2203804
|
|
/* 02203804 */ cpu->r[10] = 0x101D0000u;
|
|
/* 02203808 */ _t28 = cpu->r[10] + 0xFFFFD4E8u;
|
|
/* 02203808 */ cpu->r[11] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02203808 */ cpu->r[10] = _t28;
|
|
/* 0220380C */ cpu->r[7] = 0x101D0000u;
|
|
/* 02203810 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02203814 */ cpu->r[7] = cpu->r[7] + 0xFFFFD4ECu;
|
|
/* 02203818 */ _t29 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02203818 */ _t30 = _t29 & 0x00000001u;
|
|
/* 02203818 */ if (_t30) goto L_0220381C; else goto L_02203830;
|
|
L_0220381C: ; // 0x220381c
|
|
/* 0220381C */ cpu->r[0] = 0x10040000u;
|
|
/* 02203820 */ cpu->r[12] = 0x00000001u;
|
|
/* 02203824 */ cpu->r[0] = cpu->r[0] + 0xFFFFEF14u;
|
|
/* 02203828 */ _t31 = cpu->r[10] + 0x00000000u;
|
|
/* 02203828 */ rbrew_write32(cpu->mem, _t31, cpu->r[12]);
|
|
/* 0220382C */ _t32 = cpu->r[7] + 0x00000000u;
|
|
/* 0220382C */ rbrew_write32(cpu->mem, _t32, cpu->r[0]);
|
|
L_02203830: ; // 0x2203830
|
|
/* 02203830 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[7]);
|
|
/* 02203834 */ _t33 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02203834 */ _t34 = _t33 & 0x00000001u;
|
|
/* 02203834 */ if (_t34) goto L_02203838; else goto L_02203840;
|
|
L_02203838: ; // 0x2203838
|
|
/* 02203838 */ cpu->r[0] = 0x00000001u;
|
|
/* 0220383C */ goto L_02203878;
|
|
L_02203840: ; // 0x2203840
|
|
/* 02203840 */ cpu->r[8] = 0x101D0000u;
|
|
/* 02203844 */ _t35 = cpu->r[8] + 0xFFFFD4E0u;
|
|
/* 02203844 */ cpu->r[5] = rbrew_read32(cpu->mem, _t35);
|
|
/* 02203844 */ cpu->r[8] = _t35;
|
|
/* 02203848 */ cpu->r[6] = 0x101D0000u;
|
|
/* 0220384C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u);
|
|
/* 02203850 */ cpu->r[6] = cpu->r[6] + 0xFFFFD4E4u;
|
|
/* 02203854 */ _t36 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02203854 */ _t37 = _t36 & 0x00000001u;
|
|
/* 02203854 */ if (_t37) goto L_02203858; else goto L_0220386C;
|
|
L_02203858: ; // 0x2203858
|
|
/* 02203858 */ cpu->r[9] = 0x10040000u;
|
|
/* 0220385C */ cpu->r[7] = 0x00000001u;
|
|
/* 02203860 */ cpu->r[9] = cpu->r[9] + 0xFFFFEF04u;
|
|
/* 02203864 */ _t38 = cpu->r[8] + 0x00000000u;
|
|
/* 02203864 */ rbrew_write32(cpu->mem, _t38, cpu->r[7]);
|
|
/* 02203868 */ _t39 = cpu->r[6] + 0x00000000u;
|
|
/* 02203868 */ rbrew_write32(cpu->mem, _t39, cpu->r[9]);
|
|
L_0220386C: ; // 0x220386c
|
|
/* 0220386C */ cpu->r[0] = cpu->r[4] ^ cpu->r[6];
|
|
/* 02203870 */ cpu->r[5] = rbrew_clz32(cpu->r[0]);
|
|
/* 02203874 */ cpu->r[0] = rbrew_rlwinm(cpu->r[5], 0x0000001Bu, 0x00000018u, 0x0000001Fu);
|
|
L_02203878: ; // 0x2203878
|
|
/* 02203878 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
L_0220387C: ; // 0x220387c
|
|
/* 0220387C */ cpu->r[3] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 02203880 */ return;
|
|
}
|
|
|
|
// fn_02203884 @ 0x2203884
|
|
void Gambit_fn_02203884(CPUState* cpu) {
|
|
L_02203884: ; // 0x2203884
|
|
/* 02203884 */ return;
|
|
}
|
|
|
|
// fn_02203888 @ 0x2203888
|
|
void Gambit_fn_02203888(CPUState* cpu) {
|
|
L_02203888: ; // 0x2203888
|
|
/* 02203888 */ return;
|
|
}
|
|
|
|
// fn_0220388C @ 0x220388c
|
|
void Gambit_fn_0220388C(CPUState* cpu) {
|
|
L_0220388C: ; // 0x220388c
|
|
/* 0220388C */ cpu->r[3] = 0x00000001u;
|
|
/* 02203890 */ return;
|
|
}
|
|
|
|
// fn_02203898 @ 0x2203898
|
|
void Gambit_fn_02203898(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
|
|
|
|
L_02203898: ; // 0x2203898
|
|
/* 02203898 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02203898 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02203898 */ cpu->r[1] = _t0;
|
|
/* 0220389C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0220389C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 022038A0 */ cpu->r[31] = cpu->r[3];
|
|
/* 022038A0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 022038A4 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 022038A4 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 022038A8 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 022038A8 */ _t4 = _t3 & 0x00000001u;
|
|
/* 022038A8 */ if (_t4) goto L_022038AC; else goto L_022038BC;
|
|
L_022038AC: ; // 0x22038ac
|
|
/* 022038AC */ cpu->r[3] = 0x00000180u;
|
|
/* 022038B0 */ Gambit_fn_02801A78(cpu);
|
|
/* 022038B4 */ cpu->r[31] = cpu->r[3];
|
|
/* 022038B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 022038B8 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 022038B8 */ _t6 = _t5 & 0x00000001u;
|
|
/* 022038B8 */ if (_t6) goto L_022038E8; else goto L_022038BC;
|
|
L_022038BC: ; // 0x22038bc
|
|
/* 022038BC */ cpu->r[3] = cpu->r[31];
|
|
/* 022038C0 */ Gambit_fn_0222ED54(cpu);
|
|
/* 022038C4 */ cpu->r[12] = 0x10040000u;
|
|
/* 022038C8 */ cpu->r[0] = 0x00000000u;
|
|
/* 022038CC */ _t7 = cpu->r[12] + 0xFFFFF49Cu;
|
|
/* 022038CC */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t7);
|
|
/* 022038D0 */ cpu->r[12] = 0x10040000u;
|
|
/* 022038D4 */ _t8 = cpu->r[31] + 0x0000017Cu;
|
|
/* 022038D4 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
/* 022038D8 */ cpu->r[12] = cpu->r[12] + 0xFFFFF4B8u;
|
|
/* 022038DC */ _t9 = cpu->r[31] + 0x00000174u;
|
|
/* 022038DC */ rbrew_write_f32(cpu->mem, _t9, cpu->f[0]);
|
|
/* 022038E0 */ _t10 = cpu->r[31] + 0x00000004u;
|
|
/* 022038E0 */ rbrew_write32(cpu->mem, _t10, cpu->r[12]);
|
|
/* 022038E4 */ _t11 = cpu->r[31] + 0x00000178u;
|
|
/* 022038E4 */ rbrew_write_f32(cpu->mem, _t11, cpu->f[0]);
|
|
L_022038E8: ; // 0x22038e8
|
|
/* 022038E8 */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 022038E8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 022038EC */ cpu->r[3] = cpu->r[31];
|
|
/* 022038F0 */ _t13 = cpu->r[1] + 0x0000000Cu;
|
|
/* 022038F0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t13);
|
|
/* 022038F4 */ cpu->lr = cpu->r[0];
|
|
/* 022038F8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 022038FC */ return;
|
|
}
|
|
|
|
// fn_02203900 @ 0x2203900
|
|
void Gambit_fn_02203900(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16;
|
|
|
|
L_02203900: ; // 0x2203900
|
|
/* 02203900 */ cpu->r[0] = cpu->lr;
|
|
/* 02203904 */ cpu->r[12] = 0x10040000u;
|
|
/* 02203908 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02203908 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02203908 */ cpu->r[1] = _t0;
|
|
/* 0220390C */ cpu->r[11] = cpu->r[10];
|
|
/* 02203910 */ _t1 = cpu->r[12] + 0xFFFFF49Cu;
|
|
/* 02203910 */ cpu->f[4] = rbrew_read_f32(cpu->mem, _t1);
|
|
/* 02203914 */ cpu->r[10] = 0x00000000u;
|
|
/* 02203918 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02203918 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 0220391C */ _t3 = cpu->r[1] + 0x00000010u;
|
|
/* 0220391C */ rbrew_write32(cpu->mem, _t3, cpu->r[10]);
|
|
/* 02203920 */ _t4 = cpu->r[1] + 0x00000022u;
|
|
/* 02203920 */ cpu->r[31] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t4);
|
|
/* 02203924 */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02203924 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02203928 */ _t6 = cpu->r[3] + 0x00000004u;
|
|
/* 02203928 */ cpu->r[12] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0220392C */ _t7 = cpu->r[1] + 0x00000024u;
|
|
/* 0220392C */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02203930 */ _t8 = cpu->r[3] + 0x00000178u;
|
|
/* 02203930 */ rbrew_write_f32(cpu->mem, _t8, cpu->f[4]);
|
|
/* 02203934 */ _t9 = cpu->r[3] + 0x0000017Cu;
|
|
/* 02203934 */ rbrew_write32(cpu->mem, _t9, cpu->r[9]);
|
|
/* 02203938 */ _t10 = cpu->r[3] + 0x00000174u;
|
|
/* 02203938 */ rbrew_write_f32(cpu->mem, _t10, cpu->f[1]);
|
|
/* 0220393C */ _t11 = cpu->r[1] + 0x00000008u;
|
|
/* 0220393C */ rbrew_write32(cpu->mem, _t11, cpu->r[31]);
|
|
/* 02203940 */ _t12 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02203940 */ rbrew_write32(cpu->mem, _t12, cpu->r[0]);
|
|
/* 02203944 */ _t13 = cpu->r[12] + 0x00000464u;
|
|
/* 02203944 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02203948 */ cpu->r[12] = 0x10040000u;
|
|
/* 0220394C */ cpu->f[3] = cpu->f[4];
|
|
/* 02203950 */ cpu->ctr = cpu->r[0];
|
|
/* 02203954 */ _t14 = cpu->r[12] + 0xFFFFF4A0u;
|
|
/* 02203954 */ cpu->f[2] = rbrew_read_f32(cpu->mem, _t14);
|
|
/* 02203958 */ cpu->r[9] = cpu->r[11];
|
|
/* 0220395C */ cpu->f[1] = cpu->f[4];
|
|
/* 02203960 */ cpu->r[10] = cpu->r[1] + 0x00000010u;
|
|
/* 02203964 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02203968 */ _t15 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02203968 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 0220396C */ cpu->lr = cpu->r[0];
|
|
/* 02203970 */ _t16 = cpu->r[1] + 0x00000014u;
|
|
/* 02203970 */ cpu->r[31] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02203974 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02203978 */ return;
|
|
}
|
|
|
|
// fn_02203908 @ 0x2203908
|
|
void Gambit_fn_02203908(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16;
|
|
|
|
L_02203908: ; // 0x2203908
|
|
/* 02203908 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02203908 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02203908 */ cpu->r[1] = _t0;
|
|
/* 0220390C */ cpu->r[11] = cpu->r[10];
|
|
/* 02203910 */ _t1 = cpu->r[12] + 0xFFFFF49Cu;
|
|
/* 02203910 */ cpu->f[4] = rbrew_read_f32(cpu->mem, _t1);
|
|
/* 02203914 */ cpu->r[10] = 0x00000000u;
|
|
/* 02203918 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02203918 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 0220391C */ _t3 = cpu->r[1] + 0x00000010u;
|
|
/* 0220391C */ rbrew_write32(cpu->mem, _t3, cpu->r[10]);
|
|
/* 02203920 */ _t4 = cpu->r[1] + 0x00000022u;
|
|
/* 02203920 */ cpu->r[31] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t4);
|
|
/* 02203924 */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02203924 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02203928 */ _t6 = cpu->r[3] + 0x00000004u;
|
|
/* 02203928 */ cpu->r[12] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0220392C */ _t7 = cpu->r[1] + 0x00000024u;
|
|
/* 0220392C */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02203930 */ _t8 = cpu->r[3] + 0x00000178u;
|
|
/* 02203930 */ rbrew_write_f32(cpu->mem, _t8, cpu->f[4]);
|
|
/* 02203934 */ _t9 = cpu->r[3] + 0x0000017Cu;
|
|
/* 02203934 */ rbrew_write32(cpu->mem, _t9, cpu->r[9]);
|
|
/* 02203938 */ _t10 = cpu->r[3] + 0x00000174u;
|
|
/* 02203938 */ rbrew_write_f32(cpu->mem, _t10, cpu->f[1]);
|
|
/* 0220393C */ _t11 = cpu->r[1] + 0x00000008u;
|
|
/* 0220393C */ rbrew_write32(cpu->mem, _t11, cpu->r[31]);
|
|
/* 02203940 */ _t12 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02203940 */ rbrew_write32(cpu->mem, _t12, cpu->r[0]);
|
|
/* 02203944 */ _t13 = cpu->r[12] + 0x00000464u;
|
|
/* 02203944 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02203948 */ cpu->r[12] = 0x10040000u;
|
|
/* 0220394C */ cpu->f[3] = cpu->f[4];
|
|
/* 02203950 */ cpu->ctr = cpu->r[0];
|
|
/* 02203954 */ _t14 = cpu->r[12] + 0xFFFFF4A0u;
|
|
/* 02203954 */ cpu->f[2] = rbrew_read_f32(cpu->mem, _t14);
|
|
/* 02203958 */ cpu->r[9] = cpu->r[11];
|
|
/* 0220395C */ cpu->f[1] = cpu->f[4];
|
|
/* 02203960 */ cpu->r[10] = cpu->r[1] + 0x00000010u;
|
|
/* 02203964 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02203968 */ _t15 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02203968 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 0220396C */ cpu->lr = cpu->r[0];
|
|
/* 02203970 */ _t16 = cpu->r[1] + 0x00000014u;
|
|
/* 02203970 */ cpu->r[31] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02203974 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02203978 */ return;
|
|
}
|
|
|
|
// fn_0220397C @ 0x220397c
|
|
void Gambit_fn_0220397C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_0220397C: ; // 0x220397c
|
|
/* 0220397C */ cpu->r[0] = cpu->lr;
|
|
/* 02203980 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 02203980 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 02203984 */ _t1 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02203984 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 02203984 */ cpu->r[1] = _t1;
|
|
/* 02203988 */ _t2 = cpu->r[1] + 0x00000018u;
|
|
/* 02203988 */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
|
|
/* 0220398C */ _t3 = cpu->r[1] + 0x00000008u;
|
|
/* 0220398C */ rbrew_write32(cpu->mem, _t3, cpu->r[10]);
|
|
/* 02203990 */ cpu->r[10] = 0x00000001u;
|
|
/* 02203994 */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02203994 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02203998 */ Gambit_fn_02203900(cpu);
|
|
/* 0220399C */ _t5 = cpu->r[1] + 0x00000014u;
|
|
/* 0220399C */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 022039A0 */ cpu->lr = cpu->r[0];
|
|
/* 022039A4 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 022039A8 */ return;
|
|
}
|
|
|
|
// fn_02203984 @ 0x2203984
|
|
void Gambit_fn_02203984(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4;
|
|
|
|
L_02203984: ; // 0x2203984
|
|
/* 02203984 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02203984 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02203984 */ cpu->r[1] = _t0;
|
|
/* 02203988 */ _t1 = cpu->r[1] + 0x00000018u;
|
|
/* 02203988 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 0220398C */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 0220398C */ rbrew_write32(cpu->mem, _t2, cpu->r[10]);
|
|
/* 02203990 */ cpu->r[10] = 0x00000001u;
|
|
/* 02203994 */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02203994 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02203998 */ Gambit_fn_02203900(cpu);
|
|
/* 0220399C */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 0220399C */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 022039A0 */ cpu->lr = cpu->r[0];
|
|
/* 022039A4 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 022039A8 */ return;
|
|
}
|
|
|
|
// fn_022039AC @ 0x22039ac
|
|
void Gambit_fn_022039AC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_022039AC: ; // 0x22039ac
|
|
/* 022039AC */ cpu->r[0] = cpu->lr;
|
|
/* 022039B0 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 022039B0 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 022039B4 */ _t1 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 022039B4 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 022039B4 */ cpu->r[1] = _t1;
|
|
/* 022039B8 */ _t2 = cpu->r[1] + 0x00000018u;
|
|
/* 022039B8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
|
|
/* 022039BC */ _t3 = cpu->r[1] + 0x00000008u;
|
|
/* 022039BC */ rbrew_write32(cpu->mem, _t3, cpu->r[10]);
|
|
/* 022039C0 */ cpu->r[10] = 0x00000000u;
|
|
/* 022039C4 */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 022039C4 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 022039C8 */ Gambit_fn_02203900(cpu);
|
|
/* 022039CC */ _t5 = cpu->r[1] + 0x00000014u;
|
|
/* 022039CC */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 022039D0 */ cpu->lr = cpu->r[0];
|
|
/* 022039D4 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 022039D8 */ return;
|
|
}
|
|
|
|
// fn_022039B4 @ 0x22039b4
|
|
void Gambit_fn_022039B4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4;
|
|
|
|
L_022039B4: ; // 0x22039b4
|
|
/* 022039B4 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 022039B4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 022039B4 */ cpu->r[1] = _t0;
|
|
/* 022039B8 */ _t1 = cpu->r[1] + 0x00000018u;
|
|
/* 022039B8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 022039BC */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 022039BC */ rbrew_write32(cpu->mem, _t2, cpu->r[10]);
|
|
/* 022039C0 */ cpu->r[10] = 0x00000000u;
|
|
/* 022039C4 */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 022039C4 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 022039C8 */ Gambit_fn_02203900(cpu);
|
|
/* 022039CC */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 022039CC */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 022039D0 */ cpu->lr = cpu->r[0];
|
|
/* 022039D4 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 022039D8 */ return;
|
|
}
|
|
|
|
// fn_022039DC @ 0x22039dc
|
|
void Gambit_fn_022039DC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_022039DC: ; // 0x22039dc
|
|
/* 022039DC */ cpu->r[0] = cpu->lr;
|
|
/* 022039E0 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 022039E0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 022039E0 */ cpu->r[1] = _t0;
|
|
/* 022039E4 */ cpu->r[12] = 0x10040000u;
|
|
/* 022039E8 */ _t1 = cpu->r[12] + 0xFFFFF49Cu;
|
|
/* 022039E8 */ cpu->f[5] = rbrew_read_f32(cpu->mem, _t1);
|
|
/* 022039EC */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 022039EC */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 022039F0 */ _t3 = cpu->r[1] + 0x00000024u;
|
|
/* 022039F0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t3);
|
|
/* 022039F4 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 022039F4 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 022039F8 */ _t5 = cpu->r[10] + 0x00000000u;
|
|
/* 022039F8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t5);
|
|
/* 022039FC */ _t6 = cpu->r[1] + 0x00000022u;
|
|
/* 022039FC */ cpu->r[0] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t6);
|
|
/* 02203A00 */ _t7 = cpu->r[1] + 0x00000010u;
|
|
/* 02203A00 */ rbrew_write32(cpu->mem, _t7, cpu->r[11]);
|
|
/* 02203A04 */ cpu->f[6] = cpu->f[5];
|
|
/* 02203A08 */ _t8 = cpu->r[1] + 0x00000008u;
|
|
/* 02203A08 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
/* 02203A0C */ cpu->r[10] = cpu->r[1] + 0x00000010u;
|
|
/* 02203A10 */ _t9 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02203A10 */ rbrew_write32(cpu->mem, _t9, cpu->r[31]);
|
|
/* 02203A14 */ Gambit_fn_0222F210(cpu);
|
|
/* 02203A18 */ _t10 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02203A18 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02203A1C */ cpu->lr = cpu->r[0];
|
|
/* 02203A20 */ _t11 = cpu->r[1] + 0x00000014u;
|
|
/* 02203A20 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02203A24 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02203A28 */ return;
|
|
}
|
|
|
|
// fn_022039E0 @ 0x22039e0
|
|
void Gambit_fn_022039E0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_022039E0: ; // 0x22039e0
|
|
/* 022039E0 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 022039E0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 022039E0 */ cpu->r[1] = _t0;
|
|
/* 022039E4 */ cpu->r[12] = 0x10040000u;
|
|
/* 022039E8 */ _t1 = cpu->r[12] + 0xFFFFF49Cu;
|
|
/* 022039E8 */ cpu->f[5] = rbrew_read_f32(cpu->mem, _t1);
|
|
/* 022039EC */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 022039EC */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 022039F0 */ _t3 = cpu->r[1] + 0x00000024u;
|
|
/* 022039F0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t3);
|
|
/* 022039F4 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 022039F4 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 022039F8 */ _t5 = cpu->r[10] + 0x00000000u;
|
|
/* 022039F8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t5);
|
|
/* 022039FC */ _t6 = cpu->r[1] + 0x00000022u;
|
|
/* 022039FC */ cpu->r[0] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t6);
|
|
/* 02203A00 */ _t7 = cpu->r[1] + 0x00000010u;
|
|
/* 02203A00 */ rbrew_write32(cpu->mem, _t7, cpu->r[11]);
|
|
/* 02203A04 */ cpu->f[6] = cpu->f[5];
|
|
/* 02203A08 */ _t8 = cpu->r[1] + 0x00000008u;
|
|
/* 02203A08 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
/* 02203A0C */ cpu->r[10] = cpu->r[1] + 0x00000010u;
|
|
/* 02203A10 */ _t9 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02203A10 */ rbrew_write32(cpu->mem, _t9, cpu->r[31]);
|
|
/* 02203A14 */ Gambit_fn_0222F210(cpu);
|
|
/* 02203A18 */ _t10 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02203A18 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02203A1C */ cpu->lr = cpu->r[0];
|
|
/* 02203A20 */ _t11 = cpu->r[1] + 0x00000014u;
|
|
/* 02203A20 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02203A24 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02203A28 */ return;
|
|
}
|
|
|
|
// fn_02203A2C @ 0x2203a2c
|
|
void Gambit_fn_02203A2C(CPUState* cpu) {
|
|
L_02203A2C: ; // 0x2203a2c
|
|
/* 02203A2C */ return;
|
|
}
|
|
|
|
// fn_02203A30 @ 0x2203a30
|
|
void Gambit_fn_02203A30(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26;
|
|
|
|
L_02203A30: ; // 0x2203a30
|
|
/* 02203A30 */ cpu->r[0] = cpu->lr;
|
|
/* 02203A34 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02203A34 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02203A34 */ cpu->r[1] = _t0;
|
|
/* 02203A38 */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 02203A38 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02203A3C */ _t2 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02203A3C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02203A40 */ _t3 = cpu->r[3] + 0x00000004u;
|
|
/* 02203A40 */ cpu->r[10] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02203A44 */ _t4 = cpu->r[10] + 0x0000025Cu;
|
|
/* 02203A44 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02203A48 */ cpu->ctr = cpu->r[0];
|
|
/* 02203A4C */ cpu->r[31] = cpu->r[3];
|
|
/* 02203A50 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02203A54 */ _t5 = cpu->r[3] + 0x00000000u;
|
|
/* 02203A54 */ cpu->r[11] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02203A58 */ _t6 = cpu->r[1] + 0x00000008u;
|
|
/* 02203A58 */ rbrew_write32(cpu->mem, _t6, cpu->r[11]);
|
|
/* 02203A5C */ _t7 = cpu->r[3] + 0x00000004u;
|
|
/* 02203A5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02203A60 */ _t8 = cpu->r[31] + 0x00000004u;
|
|
/* 02203A60 */ cpu->r[11] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02203A64 */ _t9 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02203A64 */ rbrew_write32(cpu->mem, _t9, cpu->r[0]);
|
|
/* 02203A68 */ _t10 = cpu->r[3] + 0x00000008u;
|
|
/* 02203A68 */ cpu->r[10] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02203A6C */ _t11 = cpu->r[1] + 0x00000010u;
|
|
/* 02203A6C */ rbrew_write32(cpu->mem, _t11, cpu->r[10]);
|
|
/* 02203A70 */ _t12 = cpu->r[11] + 0x0000025Cu;
|
|
/* 02203A70 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02203A74 */ cpu->ctr = cpu->r[0];
|
|
/* 02203A78 */ cpu->r[3] = cpu->r[31];
|
|
/* 02203A7C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02203A80 */ Gambit_fn_02C69350(cpu);
|
|
/* 02203A84 */ _t13 = cpu->r[31] + 0x00000178u;
|
|
/* 02203A84 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t13);
|
|
/* 02203A88 */ _t14 = cpu->r[31] + 0x00000174u;
|
|
/* 02203A88 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t14);
|
|
/* 02203A8C */ cpu->f[13] = cpu->f[0] + cpu->f[1];
|
|
/* 02203A90 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[13], cpu->f[12]);
|
|
/* 02203A94 */ _t15 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02203A94 */ _t16 = _t15 & 0x00000001u;
|
|
/* 02203A94 */ if (_t16) goto L_02203A98; else goto L_02203AB8;
|
|
L_02203A98: ; // 0x2203a98
|
|
/* 02203A98 */ cpu->f[0] = cpu->f[12] - cpu->f[0];
|
|
/* 02203A9C */ cpu->f[11] = cpu->f[0] / cpu->f[1];
|
|
/* 02203AA0 */ /* nop */
|
|
/* 02203AA4 */ _t17 = cpu->r[31] + 0x000000CCu;
|
|
/* 02203AA4 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t17);
|
|
/* 02203AA8 */ /* nop */
|
|
/* 02203AAC */ cpu->f[12] = cpu->f[12] * cpu->f[11];
|
|
/* 02203AB0 */ /* nop */
|
|
/* 02203AB4 */ _t18 = cpu->r[31] + 0x000000CCu;
|
|
/* 02203AB4 */ rbrew_write_f32(cpu->mem, _t18, cpu->f[12]);
|
|
L_02203AB8: ; // 0x2203ab8
|
|
/* 02203AB8 */ cpu->r[3] = cpu->r[31];
|
|
/* 02203ABC */ Gambit_fn_0222EFF4(cpu);
|
|
/* 02203AC0 */ _t19 = cpu->r[1] + 0x00000010u;
|
|
/* 02203AC0 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t19);
|
|
/* 02203AC4 */ _t20 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02203AC4 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t20);
|
|
/* 02203AC8 */ _t21 = cpu->r[31] + 0x000000CCu;
|
|
/* 02203AC8 */ rbrew_write_f32(cpu->mem, _t21, cpu->f[13]);
|
|
/* 02203ACC */ _t22 = cpu->r[1] + 0x00000008u;
|
|
/* 02203ACC */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t22);
|
|
/* 02203AD0 */ _t23 = cpu->r[31] + 0x000000C8u;
|
|
/* 02203AD0 */ rbrew_write_f32(cpu->mem, _t23, cpu->f[0]);
|
|
/* 02203AD4 */ _t24 = cpu->r[31] + 0x000000C4u;
|
|
/* 02203AD4 */ rbrew_write_f32(cpu->mem, _t24, cpu->f[13]);
|
|
/* 02203AD8 */ _t25 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02203AD8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02203ADC */ _t26 = cpu->r[1] + 0x00000014u;
|
|
/* 02203ADC */ cpu->r[31] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02203AE0 */ cpu->lr = cpu->r[0];
|
|
/* 02203AE4 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02203AE8 */ return;
|
|
}
|
|
|
|
// fn_02203A34 @ 0x2203a34
|
|
void Gambit_fn_02203A34(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26;
|
|
|
|
L_02203A34: ; // 0x2203a34
|
|
/* 02203A34 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02203A34 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02203A34 */ cpu->r[1] = _t0;
|
|
/* 02203A38 */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 02203A38 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02203A3C */ _t2 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02203A3C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02203A40 */ _t3 = cpu->r[3] + 0x00000004u;
|
|
/* 02203A40 */ cpu->r[10] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02203A44 */ _t4 = cpu->r[10] + 0x0000025Cu;
|
|
/* 02203A44 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02203A48 */ cpu->ctr = cpu->r[0];
|
|
/* 02203A4C */ cpu->r[31] = cpu->r[3];
|
|
/* 02203A50 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02203A54 */ _t5 = cpu->r[3] + 0x00000000u;
|
|
/* 02203A54 */ cpu->r[11] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02203A58 */ _t6 = cpu->r[1] + 0x00000008u;
|
|
/* 02203A58 */ rbrew_write32(cpu->mem, _t6, cpu->r[11]);
|
|
/* 02203A5C */ _t7 = cpu->r[3] + 0x00000004u;
|
|
/* 02203A5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02203A60 */ _t8 = cpu->r[31] + 0x00000004u;
|
|
/* 02203A60 */ cpu->r[11] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02203A64 */ _t9 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02203A64 */ rbrew_write32(cpu->mem, _t9, cpu->r[0]);
|
|
/* 02203A68 */ _t10 = cpu->r[3] + 0x00000008u;
|
|
/* 02203A68 */ cpu->r[10] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02203A6C */ _t11 = cpu->r[1] + 0x00000010u;
|
|
/* 02203A6C */ rbrew_write32(cpu->mem, _t11, cpu->r[10]);
|
|
/* 02203A70 */ _t12 = cpu->r[11] + 0x0000025Cu;
|
|
/* 02203A70 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02203A74 */ cpu->ctr = cpu->r[0];
|
|
/* 02203A78 */ cpu->r[3] = cpu->r[31];
|
|
/* 02203A7C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02203A80 */ Gambit_fn_02C69350(cpu);
|
|
/* 02203A84 */ _t13 = cpu->r[31] + 0x00000178u;
|
|
/* 02203A84 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t13);
|
|
/* 02203A88 */ _t14 = cpu->r[31] + 0x00000174u;
|
|
/* 02203A88 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t14);
|
|
/* 02203A8C */ cpu->f[13] = cpu->f[0] + cpu->f[1];
|
|
/* 02203A90 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[13], cpu->f[12]);
|
|
/* 02203A94 */ _t15 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02203A94 */ _t16 = _t15 & 0x00000001u;
|
|
/* 02203A94 */ if (_t16) goto L_02203A98; else goto L_02203AB8;
|
|
L_02203A98: ; // 0x2203a98
|
|
/* 02203A98 */ cpu->f[0] = cpu->f[12] - cpu->f[0];
|
|
/* 02203A9C */ cpu->f[11] = cpu->f[0] / cpu->f[1];
|
|
/* 02203AA0 */ /* nop */
|
|
/* 02203AA4 */ _t17 = cpu->r[31] + 0x000000CCu;
|
|
/* 02203AA4 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t17);
|
|
/* 02203AA8 */ /* nop */
|
|
/* 02203AAC */ cpu->f[12] = cpu->f[12] * cpu->f[11];
|
|
/* 02203AB0 */ /* nop */
|
|
/* 02203AB4 */ _t18 = cpu->r[31] + 0x000000CCu;
|
|
/* 02203AB4 */ rbrew_write_f32(cpu->mem, _t18, cpu->f[12]);
|
|
L_02203AB8: ; // 0x2203ab8
|
|
/* 02203AB8 */ cpu->r[3] = cpu->r[31];
|
|
/* 02203ABC */ Gambit_fn_0222EFF4(cpu);
|
|
/* 02203AC0 */ _t19 = cpu->r[1] + 0x00000010u;
|
|
/* 02203AC0 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t19);
|
|
/* 02203AC4 */ _t20 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02203AC4 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t20);
|
|
/* 02203AC8 */ _t21 = cpu->r[31] + 0x000000CCu;
|
|
/* 02203AC8 */ rbrew_write_f32(cpu->mem, _t21, cpu->f[13]);
|
|
/* 02203ACC */ _t22 = cpu->r[1] + 0x00000008u;
|
|
/* 02203ACC */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t22);
|
|
/* 02203AD0 */ _t23 = cpu->r[31] + 0x000000C8u;
|
|
/* 02203AD0 */ rbrew_write_f32(cpu->mem, _t23, cpu->f[0]);
|
|
/* 02203AD4 */ _t24 = cpu->r[31] + 0x000000C4u;
|
|
/* 02203AD4 */ rbrew_write_f32(cpu->mem, _t24, cpu->f[13]);
|
|
/* 02203AD8 */ _t25 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02203AD8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02203ADC */ _t26 = cpu->r[1] + 0x00000014u;
|
|
/* 02203ADC */ cpu->r[31] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02203AE0 */ cpu->lr = cpu->r[0];
|
|
/* 02203AE4 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02203AE8 */ return;
|
|
}
|
|
|
|
// fn_02203AEC @ 0x2203aec
|
|
void Gambit_fn_02203AEC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34;
|
|
double _ft20, _ft21;
|
|
|
|
L_02203AEC: ; // 0x2203aec
|
|
/* 02203AEC */ cpu->r[0] = cpu->lr;
|
|
/* 02203AF0 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02203AF0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02203AF0 */ cpu->r[1] = _t0;
|
|
/* 02203AF4 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02203AF4 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02203AF8 */ cpu->r[31] = cpu->r[3];
|
|
/* 02203AFC */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02203AFC */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02203B00 */ Gambit_fn_0222F028(cpu);
|
|
/* 02203B04 */ _t3 = cpu->r[31] + 0x0000001Cu;
|
|
/* 02203B04 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02203B08 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000002u);
|
|
/* 02203B0C */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02203B0C */ _t5 = _t4 & 0x00000001u;
|
|
/* 02203B0C */ if (_t5) goto L_02203B18; else goto L_02203B10;
|
|
L_02203B10: ; // 0x2203b10
|
|
/* 02203B10 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000003u);
|
|
/* 02203B14 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02203B14 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02203B14 */ if (_t7) goto L_02203B18; else goto L_02203BC8;
|
|
L_02203B18: ; // 0x2203b18
|
|
/* 02203B18 */ _t8 = cpu->r[31] + 0x00000114u;
|
|
/* 02203B18 */ cpu->r[11] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02203B1C */ cpu->r[11] = rbrew_rlwinm(cpu->r[11], 0x00000000u, 0x00000008u, 0x00000009u);
|
|
/* 02203B1C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02203B20 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02203B20 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02203B20 */ if (_t10) goto L_02203B24; else goto L_02203BC0;
|
|
L_02203B24: ; // 0x2203b24
|
|
/* 02203B24 */ _t11 = cpu->r[31] + 0x00000004u;
|
|
/* 02203B24 */ cpu->r[12] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02203B28 */ _t12 = cpu->r[12] + 0x0000025Cu;
|
|
/* 02203B28 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02203B2C */ cpu->ctr = cpu->r[0];
|
|
/* 02203B30 */ cpu->r[3] = cpu->r[31];
|
|
/* 02203B34 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02203B38 */ _t13 = cpu->r[3] + 0x00000008u;
|
|
/* 02203B38 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t13);
|
|
/* 02203B3C */ cpu->f[0] = cpu->f[9] * cpu->f[9];
|
|
/* 02203B40 */ _t14 = cpu->r[3] + 0x00000000u;
|
|
/* 02203B40 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t14);
|
|
/* 02203B44 */ cpu->r[7] = 0x10040000u;
|
|
/* 02203B48 */ cpu->f[8] = fma(cpu->f[11], cpu->f[11], cpu->f[0]);
|
|
/* 02203B4C */ _t15 = cpu->r[7] + 0xFFFFF49Cu;
|
|
/* 02203B4C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t15);
|
|
/* 02203B50 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[8], cpu->f[0]);
|
|
/* 02203B54 */ _t16 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02203B54 */ _t17 = _t16 & 0x00000001u;
|
|
/* 02203B54 */ if (_t17) goto L_02203B58; else goto L_02203B7C;
|
|
L_02203B58: ; // 0x2203b58
|
|
/* 02203B58 */ cpu->r[12] = 0x10040000u;
|
|
/* 02203B5C */ cpu->r[11] = 0x10040000u;
|
|
/* 02203B60 */ _t18 = cpu->r[12] + 0xFFFFF4A8u;
|
|
/* 02203B60 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t18);
|
|
/* 02203B64 */ _t19 = cpu->r[11] + 0xFFFFF4A4u;
|
|
/* 02203B64 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t19);
|
|
/* 02203B68 */ _ft20 = sqrt(cpu->f[8]);
|
|
/* 02203B68 */ _ft21 = (double)(int32_t)0x00000001u;
|
|
/* 02203B68 */ cpu->f[0] = _ft21 / _ft20;
|
|
/* 02203B6C */ cpu->f[9] = cpu->f[0] * cpu->f[0];
|
|
/* 02203B70 */ cpu->f[10] = cpu->f[0] * cpu->f[12];
|
|
/* 02203B74 */ cpu->f[9] = -fma(cpu->f[9], cpu->f[8], -(cpu->f[13]));
|
|
/* 02203B78 */ cpu->f[0] = cpu->f[9] * cpu->f[10];
|
|
L_02203B7C: ; // 0x2203b7c
|
|
/* 02203B7C */ cpu->r[9] = 0x10040000u;
|
|
/* 02203B80 */ _t22 = cpu->r[31] + 0x00000174u;
|
|
/* 02203B80 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t22);
|
|
/* 02203B84 */ _t23 = cpu->r[9] + 0xFFFFF4ACu;
|
|
/* 02203B84 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t23);
|
|
/* 02203B88 */ _t24 = cpu->r[31] + 0x00000178u;
|
|
/* 02203B88 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t24);
|
|
/* 02203B8C */ cpu->f[10] = cpu->f[12] * cpu->f[11];
|
|
/* 02203B90 */ cpu->f[13] = fma(cpu->f[0], cpu->f[8], cpu->f[13]);
|
|
/* 02203B94 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[13], cpu->f[10]);
|
|
/* 02203B98 */ _t25 = cpu->r[31] + 0x00000178u;
|
|
/* 02203B98 */ rbrew_write_f32(cpu->mem, _t25, cpu->f[13]);
|
|
/* 02203B9C */ _t26 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02203B9C */ _t27 = _t26 & 0x00000001u;
|
|
/* 02203B9C */ if (_t27) goto L_02203BB4; else goto L_02203BA0;
|
|
L_02203BA0: ; // 0x2203ba0
|
|
/* 02203BA0 */ _t28 = cpu->r[31] + 0x00000004u;
|
|
/* 02203BA0 */ cpu->r[8] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02203BA4 */ _t29 = cpu->r[8] + 0x0000039Cu;
|
|
/* 02203BA4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02203BA8 */ cpu->ctr = cpu->r[9];
|
|
/* 02203BAC */ cpu->r[3] = cpu->r[31];
|
|
/* 02203BB0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02203BB4: ; // 0x2203bb4
|
|
/* 02203BB4 */ _t30 = cpu->r[31] + 0x00000114u;
|
|
/* 02203BB4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02203BB8 */ cpu->r[10] = rbrew_rlwinm(cpu->r[10], 0x00000000u, 0x00000008u, 0x00000009u);
|
|
/* 02203BB8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02203BBC */ _t31 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02203BBC */ _t32 = _t31 & 0x00000001u;
|
|
/* 02203BBC */ if (_t32) goto L_02203BC8; else goto L_02203BC0;
|
|
L_02203BC0: ; // 0x2203bc0
|
|
/* 02203BC0 */ cpu->r[3] = cpu->r[31];
|
|
/* 02203BC4 */ Gambit_fn_02790488(cpu);
|
|
L_02203BC8: ; // 0x2203bc8
|
|
/* 02203BC8 */ _t33 = cpu->r[1] + 0x00000014u;
|
|
/* 02203BC8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t33);
|
|
/* 02203BCC */ _t34 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02203BCC */ cpu->r[31] = rbrew_read32(cpu->mem, _t34);
|
|
/* 02203BD0 */ cpu->lr = cpu->r[0];
|
|
/* 02203BD4 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02203BD8 */ return;
|
|
}
|
|
|
|
// fn_02203AF0 @ 0x2203af0
|
|
void Gambit_fn_02203AF0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34;
|
|
double _ft20, _ft21;
|
|
|
|
L_02203AF0: ; // 0x2203af0
|
|
/* 02203AF0 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02203AF0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02203AF0 */ cpu->r[1] = _t0;
|
|
/* 02203AF4 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02203AF4 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02203AF8 */ cpu->r[31] = cpu->r[3];
|
|
/* 02203AFC */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02203AFC */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02203B00 */ Gambit_fn_0222F028(cpu);
|
|
/* 02203B04 */ _t3 = cpu->r[31] + 0x0000001Cu;
|
|
/* 02203B04 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02203B08 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000002u);
|
|
/* 02203B0C */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02203B0C */ _t5 = _t4 & 0x00000001u;
|
|
/* 02203B0C */ if (_t5) goto L_02203B18; else goto L_02203B10;
|
|
L_02203B10: ; // 0x2203b10
|
|
/* 02203B10 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000003u);
|
|
/* 02203B14 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02203B14 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02203B14 */ if (_t7) goto L_02203B18; else goto L_02203BC8;
|
|
L_02203B18: ; // 0x2203b18
|
|
/* 02203B18 */ _t8 = cpu->r[31] + 0x00000114u;
|
|
/* 02203B18 */ cpu->r[11] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02203B1C */ cpu->r[11] = rbrew_rlwinm(cpu->r[11], 0x00000000u, 0x00000008u, 0x00000009u);
|
|
/* 02203B1C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02203B20 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02203B20 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02203B20 */ if (_t10) goto L_02203B24; else goto L_02203BC0;
|
|
L_02203B24: ; // 0x2203b24
|
|
/* 02203B24 */ _t11 = cpu->r[31] + 0x00000004u;
|
|
/* 02203B24 */ cpu->r[12] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02203B28 */ _t12 = cpu->r[12] + 0x0000025Cu;
|
|
/* 02203B28 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02203B2C */ cpu->ctr = cpu->r[0];
|
|
/* 02203B30 */ cpu->r[3] = cpu->r[31];
|
|
/* 02203B34 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02203B38 */ _t13 = cpu->r[3] + 0x00000008u;
|
|
/* 02203B38 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t13);
|
|
/* 02203B3C */ cpu->f[0] = cpu->f[9] * cpu->f[9];
|
|
/* 02203B40 */ _t14 = cpu->r[3] + 0x00000000u;
|
|
/* 02203B40 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t14);
|
|
/* 02203B44 */ cpu->r[7] = 0x10040000u;
|
|
/* 02203B48 */ cpu->f[8] = fma(cpu->f[11], cpu->f[11], cpu->f[0]);
|
|
/* 02203B4C */ _t15 = cpu->r[7] + 0xFFFFF49Cu;
|
|
/* 02203B4C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t15);
|
|
/* 02203B50 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[8], cpu->f[0]);
|
|
/* 02203B54 */ _t16 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02203B54 */ _t17 = _t16 & 0x00000001u;
|
|
/* 02203B54 */ if (_t17) goto L_02203B58; else goto L_02203B7C;
|
|
L_02203B58: ; // 0x2203b58
|
|
/* 02203B58 */ cpu->r[12] = 0x10040000u;
|
|
/* 02203B5C */ cpu->r[11] = 0x10040000u;
|
|
/* 02203B60 */ _t18 = cpu->r[12] + 0xFFFFF4A8u;
|
|
/* 02203B60 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t18);
|
|
/* 02203B64 */ _t19 = cpu->r[11] + 0xFFFFF4A4u;
|
|
/* 02203B64 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t19);
|
|
/* 02203B68 */ _ft20 = sqrt(cpu->f[8]);
|
|
/* 02203B68 */ _ft21 = (double)(int32_t)0x00000001u;
|
|
/* 02203B68 */ cpu->f[0] = _ft21 / _ft20;
|
|
/* 02203B6C */ cpu->f[9] = cpu->f[0] * cpu->f[0];
|
|
/* 02203B70 */ cpu->f[10] = cpu->f[0] * cpu->f[12];
|
|
/* 02203B74 */ cpu->f[9] = -fma(cpu->f[9], cpu->f[8], -(cpu->f[13]));
|
|
/* 02203B78 */ cpu->f[0] = cpu->f[9] * cpu->f[10];
|
|
L_02203B7C: ; // 0x2203b7c
|
|
/* 02203B7C */ cpu->r[9] = 0x10040000u;
|
|
/* 02203B80 */ _t22 = cpu->r[31] + 0x00000174u;
|
|
/* 02203B80 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t22);
|
|
/* 02203B84 */ _t23 = cpu->r[9] + 0xFFFFF4ACu;
|
|
/* 02203B84 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t23);
|
|
/* 02203B88 */ _t24 = cpu->r[31] + 0x00000178u;
|
|
/* 02203B88 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t24);
|
|
/* 02203B8C */ cpu->f[10] = cpu->f[12] * cpu->f[11];
|
|
/* 02203B90 */ cpu->f[13] = fma(cpu->f[0], cpu->f[8], cpu->f[13]);
|
|
/* 02203B94 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[13], cpu->f[10]);
|
|
/* 02203B98 */ _t25 = cpu->r[31] + 0x00000178u;
|
|
/* 02203B98 */ rbrew_write_f32(cpu->mem, _t25, cpu->f[13]);
|
|
/* 02203B9C */ _t26 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02203B9C */ _t27 = _t26 & 0x00000001u;
|
|
/* 02203B9C */ if (_t27) goto L_02203BB4; else goto L_02203BA0;
|
|
L_02203BA0: ; // 0x2203ba0
|
|
/* 02203BA0 */ _t28 = cpu->r[31] + 0x00000004u;
|
|
/* 02203BA0 */ cpu->r[8] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02203BA4 */ _t29 = cpu->r[8] + 0x0000039Cu;
|
|
/* 02203BA4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02203BA8 */ cpu->ctr = cpu->r[9];
|
|
/* 02203BAC */ cpu->r[3] = cpu->r[31];
|
|
/* 02203BB0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02203BB4: ; // 0x2203bb4
|
|
/* 02203BB4 */ _t30 = cpu->r[31] + 0x00000114u;
|
|
/* 02203BB4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02203BB8 */ cpu->r[10] = rbrew_rlwinm(cpu->r[10], 0x00000000u, 0x00000008u, 0x00000009u);
|
|
/* 02203BB8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02203BBC */ _t31 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02203BBC */ _t32 = _t31 & 0x00000001u;
|
|
/* 02203BBC */ if (_t32) goto L_02203BC8; else goto L_02203BC0;
|
|
L_02203BC0: ; // 0x2203bc0
|
|
/* 02203BC0 */ cpu->r[3] = cpu->r[31];
|
|
/* 02203BC4 */ Gambit_fn_02790488(cpu);
|
|
L_02203BC8: ; // 0x2203bc8
|
|
/* 02203BC8 */ _t33 = cpu->r[1] + 0x00000014u;
|
|
/* 02203BC8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t33);
|
|
/* 02203BCC */ _t34 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02203BCC */ cpu->r[31] = rbrew_read32(cpu->mem, _t34);
|
|
/* 02203BD0 */ cpu->lr = cpu->r[0];
|
|
/* 02203BD4 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02203BD8 */ return;
|
|
}
|
|
|
|
// fn_02203BDC @ 0x2203bdc
|
|
void Gambit_fn_02203BDC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6;
|
|
|
|
L_02203BDC: ; // 0x2203bdc
|
|
/* 02203BDC */ _t0 = cpu->r[3] + 0x0000017Cu;
|
|
/* 02203BDC */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02203BE0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], 0x0000001Eu);
|
|
/* 02203BE4 */ _t1 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02203BE4 */ _t2 = _t1 & 0x00000001u;
|
|
/* 02203BE4 */ if (_t2) goto L_02203C10; else goto L_02203BE8;
|
|
L_02203BE8: ; // 0x2203be8
|
|
/* 02203BE8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], 0x00000024u);
|
|
/* 02203BEC */ _t3 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02203BEC */ _t4 = _t3 & 0x00000001u;
|
|
/* 02203BEC */ if (_t4) goto L_02203BF0; else goto L_02203C00;
|
|
L_02203BF0: ; // 0x2203bf0
|
|
/* 02203BF0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], 0x0000003Du);
|
|
/* 02203BF4 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02203BF4 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02203BF4 */ if (_t6) goto L_02203C08; else goto L_02203BF8;
|
|
L_02203BF8: ; // 0x2203bf8
|
|
/* 02203BF8 */ cpu->r[3] = 0x00000029u;
|
|
/* 02203BFC */ return;
|
|
L_02203C00: ; // 0x2203c00
|
|
/* 02203C00 */ cpu->r[3] = cpu->r[12] + 0x0000000Bu;
|
|
/* 02203C04 */ return;
|
|
L_02203C08: ; // 0x2203c08
|
|
/* 02203C08 */ cpu->r[3] = 0x0000003Eu;
|
|
/* 02203C0C */ return;
|
|
L_02203C10: ; // 0x2203c10
|
|
/* 02203C10 */ cpu->r[3] = 0x00000029u;
|
|
/* 02203C14 */ return;
|
|
}
|
|
|
|
// fn_02203C18 @ 0x2203c18
|
|
void Gambit_fn_02203C18(CPUState* cpu) {
|
|
L_02203C18: ; // 0x2203c18
|
|
/* 02203C18 */ return;
|
|
}
|
|
|
|
// fn_02203C1C @ 0x2203c1c
|
|
void Gambit_fn_02203C1C(CPUState* cpu) {
|
|
L_02203C1C: ; // 0x2203c1c
|
|
/* 02203C1C */ return;
|
|
}
|
|
|
|
// fn_02203C20 @ 0x2203c20
|
|
void Gambit_fn_02203C20(CPUState* cpu) {
|
|
L_02203C20: ; // 0x2203c20
|
|
/* 02203C20 */ return;
|
|
}
|
|
|
|
// fn_02203C24 @ 0x2203c24
|
|
void Gambit_fn_02203C24(CPUState* cpu) {
|
|
L_02203C24: ; // 0x2203c24
|
|
/* 02203C24 */ return;
|
|
}
|
|
|
|
// fn_02203C28 @ 0x2203c28
|
|
void Gambit_fn_02203C28(CPUState* cpu) {
|
|
L_02203C28: ; // 0x2203c28
|
|
/* 02203C28 */ return;
|
|
}
|
|
|
|
// fn_02203C2C @ 0x2203c2c
|
|
void Gambit_fn_02203C2C(CPUState* cpu) {
|
|
L_02203C2C: ; // 0x2203c2c
|
|
/* 02203C2C */ return;
|
|
}
|
|
|
|
// fn_02203C30 @ 0x2203c30
|
|
void Gambit_fn_02203C30(CPUState* cpu) {
|
|
L_02203C30: ; // 0x2203c30
|
|
/* 02203C30 */ return;
|
|
}
|
|
|
|
// fn_02203C34 @ 0x2203c34
|
|
void Gambit_fn_02203C34(CPUState* cpu) {
|
|
L_02203C34: ; // 0x2203c34
|
|
/* 02203C34 */ return;
|
|
}
|
|
|
|
// fn_02203C38 @ 0x2203c38
|
|
void Gambit_fn_02203C38(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_02203C38: ; // 0x2203c38
|
|
/* 02203C38 */ _t0 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02203C38 */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02203C3C */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x0000001Fu, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02203C3C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02203C40 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02203C40 */ _t2 = _t1 & 0x00000001u;
|
|
/* 02203C40 */ _t3 = _t2 ^ 0x00000001u;
|
|
/* 02203C40 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02203C40 */ goto L_02203C44;
|
|
L_02203C44: ; // 0x2203c44
|
|
/* 02203C44 */ _t4 = cpu->r[3] + 0x00000004u;
|
|
/* 02203C44 */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02203C48 */ _t5 = cpu->r[12] + 0x0000004Cu;
|
|
/* 02203C48 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02203C4C */ cpu->ctr = cpu->r[0];
|
|
/* 02203C50 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_02203C54 @ 0x2203c54
|
|
void Gambit_fn_02203C54(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_02203C54: ; // 0x2203c54
|
|
/* 02203C54 */ _t0 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02203C54 */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02203C58 */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x0000001Du, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02203C58 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02203C5C */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02203C5C */ _t2 = _t1 & 0x00000001u;
|
|
/* 02203C5C */ _t3 = _t2 ^ 0x00000001u;
|
|
/* 02203C5C */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02203C5C */ goto L_02203C60;
|
|
L_02203C60: ; // 0x2203c60
|
|
/* 02203C60 */ _t4 = cpu->r[3] + 0x00000004u;
|
|
/* 02203C60 */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02203C64 */ _t5 = cpu->r[12] + 0x0000005Cu;
|
|
/* 02203C64 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02203C68 */ cpu->ctr = cpu->r[0];
|
|
/* 02203C6C */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_02203C70 @ 0x2203c70
|
|
void Gambit_fn_02203C70(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_02203C70: ; // 0x2203c70
|
|
/* 02203C70 */ _t0 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02203C70 */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02203C74 */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x0000001Au, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02203C74 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02203C78 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02203C78 */ _t2 = _t1 & 0x00000001u;
|
|
/* 02203C78 */ _t3 = _t2 ^ 0x00000001u;
|
|
/* 02203C78 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02203C78 */ goto L_02203C7C;
|
|
L_02203C7C: ; // 0x2203c7c
|
|
/* 02203C7C */ _t4 = cpu->r[3] + 0x00000004u;
|
|
/* 02203C7C */ cpu->r[11] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02203C80 */ _t5 = cpu->r[11] + 0x00000074u;
|
|
/* 02203C80 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02203C84 */ cpu->ctr = cpu->r[0];
|
|
/* 02203C88 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_02203C8C @ 0x2203c8c
|
|
void Gambit_fn_02203C8C(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_02203C8C: ; // 0x2203c8c
|
|
/* 02203C8C */ _t0 = cpu->r[3] + 0x00000004u;
|
|
/* 02203C8C */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02203C90 */ _t1 = cpu->r[12] + 0x0000002Cu;
|
|
/* 02203C90 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02203C94 */ cpu->ctr = cpu->r[0];
|
|
/* 02203C98 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_02203C9C @ 0x2203c9c
|
|
void Gambit_fn_02203C9C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_02203C9C: ; // 0x2203c9c
|
|
/* 02203C9C */ cpu->r[0] = cpu->lr;
|
|
/* 02203CA0 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02203CA0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02203CA0 */ cpu->r[1] = _t0;
|
|
/* 02203CA4 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02203CA4 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02203CA8 */ cpu->r[31] = cpu->r[3];
|
|
/* 02203CAC */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02203CAC */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02203CB0 */ _t3 = cpu->r[31] + 0x0000001Cu;
|
|
/* 02203CB0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02203CB4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000003u);
|
|
/* 02203CB8 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02203CB8 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02203CB8 */ if (_t5) goto L_02203CBC; else goto L_02203CD8;
|
|
L_02203CBC: ; // 0x2203cbc
|
|
/* 02203CBC */ _t6 = cpu->r[31] + 0x00000004u;
|
|
/* 02203CBC */ cpu->r[12] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02203CC0 */ _t7 = cpu->r[12] + 0x0000010Cu;
|
|
/* 02203CC0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02203CC4 */ cpu->ctr = cpu->r[0];
|
|
/* 02203CC8 */ cpu->r[3] = cpu->r[31];
|
|
/* 02203CCC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02203CD0 */ cpu->r[0] = 0x00000002u;
|
|
/* 02203CD4 */ _t8 = cpu->r[31] + 0x0000001Cu;
|
|
/* 02203CD4 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
L_02203CD8: ; // 0x2203cd8
|
|
/* 02203CD8 */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 02203CD8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02203CDC */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02203CDC */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02203CE0 */ cpu->lr = cpu->r[0];
|
|
/* 02203CE4 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02203CE8 */ return;
|
|
}
|
|
|
|
// fn_02203CA0 @ 0x2203ca0
|
|
void Gambit_fn_02203CA0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_02203CA0: ; // 0x2203ca0
|
|
/* 02203CA0 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02203CA0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02203CA0 */ cpu->r[1] = _t0;
|
|
/* 02203CA4 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02203CA4 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02203CA8 */ cpu->r[31] = cpu->r[3];
|
|
/* 02203CAC */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02203CAC */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02203CB0 */ _t3 = cpu->r[31] + 0x0000001Cu;
|
|
/* 02203CB0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02203CB4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000003u);
|
|
/* 02203CB8 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02203CB8 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02203CB8 */ if (_t5) goto L_02203CBC; else goto L_02203CD8;
|
|
L_02203CBC: ; // 0x2203cbc
|
|
/* 02203CBC */ _t6 = cpu->r[31] + 0x00000004u;
|
|
/* 02203CBC */ cpu->r[12] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02203CC0 */ _t7 = cpu->r[12] + 0x0000010Cu;
|
|
/* 02203CC0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02203CC4 */ cpu->ctr = cpu->r[0];
|
|
/* 02203CC8 */ cpu->r[3] = cpu->r[31];
|
|
/* 02203CCC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02203CD0 */ cpu->r[0] = 0x00000002u;
|
|
/* 02203CD4 */ _t8 = cpu->r[31] + 0x0000001Cu;
|
|
/* 02203CD4 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
L_02203CD8: ; // 0x2203cd8
|
|
/* 02203CD8 */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 02203CD8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02203CDC */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02203CDC */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02203CE0 */ cpu->lr = cpu->r[0];
|
|
/* 02203CE4 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02203CE8 */ return;
|
|
}
|
|
|
|
// fn_02203CEC @ 0x2203cec
|
|
void Gambit_fn_02203CEC(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_02203CEC: ; // 0x2203cec
|
|
/* 02203CEC */ _t0 = cpu->r[3] + 0x00000004u;
|
|
/* 02203CEC */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02203CF0 */ _t1 = cpu->r[12] + 0x0000008Cu;
|
|
/* 02203CF0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02203CF4 */ cpu->ctr = cpu->r[0];
|
|
/* 02203CF8 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_02203CFC @ 0x2203cfc
|
|
void Gambit_fn_02203CFC(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_02203CFC: ; // 0x2203cfc
|
|
/* 02203CFC */ _t0 = cpu->r[3] + 0x00000004u;
|
|
/* 02203CFC */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02203D00 */ _t1 = cpu->r[12] + 0x00000124u;
|
|
/* 02203D00 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02203D04 */ cpu->ctr = cpu->r[0];
|
|
/* 02203D08 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_02203D0C @ 0x2203d0c
|
|
void Gambit_fn_02203D0C(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_02203D0C: ; // 0x2203d0c
|
|
/* 02203D0C */ _t0 = cpu->r[3] + 0x00000004u;
|
|
/* 02203D0C */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02203D10 */ _t1 = cpu->r[12] + 0x00000124u;
|
|
/* 02203D10 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02203D14 */ cpu->ctr = cpu->r[0];
|
|
/* 02203D18 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_02203D1C @ 0x2203d1c
|
|
void Gambit_fn_02203D1C(CPUState* cpu) {
|
|
L_02203D1C: ; // 0x2203d1c
|
|
/* 02203D1C */ cpu->r[3] = 0x00000001u;
|
|
/* 02203D20 */ return;
|
|
}
|
|
|
|
// fn_02203D24 @ 0x2203d24
|
|
void Gambit_fn_02203D24(CPUState* cpu) {
|
|
L_02203D24: ; // 0x2203d24
|
|
/* 02203D24 */ return;
|
|
}
|
|
|
|
// fn_02203D28 @ 0x2203d28
|
|
void Gambit_fn_02203D28(CPUState* cpu) {
|
|
L_02203D28: ; // 0x2203d28
|
|
/* 02203D28 */ return;
|
|
}
|
|
|
|
// fn_02203D2C @ 0x2203d2c
|
|
void Gambit_fn_02203D2C(CPUState* cpu) {
|
|
L_02203D2C: ; // 0x2203d2c
|
|
/* 02203D2C */ return;
|
|
}
|
|
|
|
// fn_02203D30 @ 0x2203d30
|
|
void Gambit_fn_02203D30(CPUState* cpu) {
|
|
L_02203D30: ; // 0x2203d30
|
|
/* 02203D30 */ return;
|
|
}
|
|
|
|
// fn_02203D34 @ 0x2203d34
|
|
void Gambit_fn_02203D34(CPUState* cpu) {
|
|
L_02203D34: ; // 0x2203d34
|
|
/* 02203D34 */ return;
|
|
}
|
|
|
|
// fn_02203D38 @ 0x2203d38
|
|
void Gambit_fn_02203D38(CPUState* cpu) {
|
|
L_02203D38: ; // 0x2203d38
|
|
/* 02203D38 */ return;
|
|
}
|
|
|
|
// fn_02203D3C @ 0x2203d3c
|
|
void Gambit_fn_02203D3C(CPUState* cpu) {
|
|
L_02203D3C: ; // 0x2203d3c
|
|
/* 02203D3C */ return;
|
|
}
|
|
|
|
// fn_02203D40 @ 0x2203d40
|
|
void Gambit_fn_02203D40(CPUState* cpu) {
|
|
L_02203D40: ; // 0x2203d40
|
|
/* 02203D40 */ cpu->r[3] = 0x00000001u;
|
|
/* 02203D44 */ return;
|
|
}
|
|
|
|
// fn_02203D48 @ 0x2203d48
|
|
void Gambit_fn_02203D48(CPUState* cpu) {
|
|
L_02203D48: ; // 0x2203d48
|
|
/* 02203D48 */ cpu->r[3] = 0x00000000u;
|
|
/* 02203D4C */ return;
|
|
}
|
|
|
|
// fn_02203D50 @ 0x2203d50
|
|
void Gambit_fn_02203D50(CPUState* cpu) {
|
|
L_02203D50: ; // 0x2203d50
|
|
/* 02203D50 */ cpu->r[3] = 0x00000001u;
|
|
/* 02203D54 */ return;
|
|
}
|
|
|
|
// fn_02203D58 @ 0x2203d58
|
|
void Gambit_fn_02203D58(CPUState* cpu) {
|
|
L_02203D58: ; // 0x2203d58
|
|
/* 02203D58 */ cpu->r[3] = 0x00000000u;
|
|
/* 02203D5C */ return;
|
|
}
|
|
|
|
// fn_02203D60 @ 0x2203d60
|
|
void Gambit_fn_02203D60(CPUState* cpu) {
|
|
L_02203D60: ; // 0x2203d60
|
|
/* 02203D60 */ cpu->r[3] = 0x00000000u;
|
|
/* 02203D64 */ return;
|
|
}
|
|
|
|
// fn_02203D68 @ 0x2203d68
|
|
void Gambit_fn_02203D68(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_02203D68: ; // 0x2203d68
|
|
/* 02203D68 */ _t0 = cpu->r[3] + 0x00000004u;
|
|
/* 02203D68 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02203D6C */ _t1 = cpu->r[12] + 0x0000021Cu;
|
|
/* 02203D6C */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02203D70 */ cpu->ctr = cpu->r[0];
|
|
/* 02203D74 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_02203D78 @ 0x2203d78
|
|
void Gambit_fn_02203D78(CPUState* cpu) {
|
|
L_02203D78: ; // 0x2203d78
|
|
/* 02203D78 */ cpu->r[3] = 0x00000000u;
|
|
/* 02203D7C */ return;
|
|
}
|
|
|
|
// fn_02203D80 @ 0x2203d80
|
|
void Gambit_fn_02203D80(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_02203D80: ; // 0x2203d80
|
|
/* 02203D80 */ _t0 = cpu->r[3] + 0x00000004u;
|
|
/* 02203D80 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02203D84 */ _t1 = cpu->r[12] + 0x0000027Cu;
|
|
/* 02203D84 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02203D88 */ cpu->ctr = cpu->r[0];
|
|
/* 02203D8C */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_02203D90 @ 0x2203d90
|
|
void Gambit_fn_02203D90(CPUState* cpu) {
|
|
L_02203D90: ; // 0x2203d90
|
|
/* 02203D90 */ cpu->r[3] = 0x00000000u;
|
|
/* 02203D94 */ return;
|
|
}
|
|
|
|
// fn_02203D98 @ 0x2203d98
|
|
void Gambit_fn_02203D98(CPUState* cpu) {
|
|
L_02203D98: ; // 0x2203d98
|
|
/* 02203D98 */ cpu->r[3] = 0x00000001u;
|
|
/* 02203D9C */ return;
|
|
}
|
|
|
|
// fn_02203DA0 @ 0x2203da0
|
|
void Gambit_fn_02203DA0(CPUState* cpu) {
|
|
L_02203DA0: ; // 0x2203da0
|
|
/* 02203DA0 */ cpu->r[3] = 0x00000000u;
|
|
/* 02203DA4 */ return;
|
|
}
|
|
|
|
// fn_02203DA8 @ 0x2203da8
|
|
void Gambit_fn_02203DA8(CPUState* cpu) {
|
|
L_02203DA8: ; // 0x2203da8
|
|
/* 02203DA8 */ cpu->r[3] = 0x00000000u;
|
|
/* 02203DAC */ return;
|
|
}
|
|
|
|
// fn_02203DB0 @ 0x2203db0
|
|
void Gambit_fn_02203DB0(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_02203DB0: ; // 0x2203db0
|
|
/* 02203DB0 */ _t0 = cpu->r[3] + 0x00000080u;
|
|
/* 02203DB0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02203DB4 */ return;
|
|
}
|
|
|
|
// fn_02203DB8 @ 0x2203db8
|
|
void Gambit_fn_02203DB8(CPUState* cpu) {
|
|
L_02203DB8: ; // 0x2203db8
|
|
/* 02203DB8 */ cpu->r[3] = cpu->r[3] + 0x00000094u;
|
|
/* 02203DBC */ return;
|
|
}
|
|
|
|
// fn_02203DC0 @ 0x2203dc0
|
|
void Gambit_fn_02203DC0(CPUState* cpu) {
|
|
L_02203DC0: ; // 0x2203dc0
|
|
/* 02203DC0 */ cpu->r[3] = cpu->r[3] + 0x000000C4u;
|
|
/* 02203DC4 */ return;
|
|
}
|
|
|
|
// fn_02203DC8 @ 0x2203dc8
|
|
void Gambit_fn_02203DC8(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_02203DC8: ; // 0x2203dc8
|
|
/* 02203DC8 */ _t0 = cpu->r[3] + 0x000000E8u;
|
|
/* 02203DC8 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t0);
|
|
/* 02203DCC */ return;
|
|
}
|
|
|
|
// fn_02203DD0 @ 0x2203dd0
|
|
void Gambit_fn_02203DD0(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_02203DD0: ; // 0x2203dd0
|
|
/* 02203DD0 */ cpu->r[12] = 0x10040000u;
|
|
/* 02203DD4 */ _t0 = cpu->r[12] + 0xFFFFF4B0u;
|
|
/* 02203DD4 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t0);
|
|
/* 02203DD8 */ return;
|
|
}
|
|
|
|
// fn_02203DDC @ 0x2203ddc
|
|
void Gambit_fn_02203DDC(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_02203DDC: ; // 0x2203ddc
|
|
/* 02203DDC */ cpu->r[12] = 0x10040000u;
|
|
/* 02203DE0 */ _t0 = cpu->r[12] + 0xFFFFF4B0u;
|
|
/* 02203DE0 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t0);
|
|
/* 02203DE4 */ return;
|
|
}
|
|
|
|
// fn_02203DE8 @ 0x2203de8
|
|
void Gambit_fn_02203DE8(CPUState* cpu) {
|
|
L_02203DE8: ; // 0x2203de8
|
|
/* 02203DE8 */ cpu->r[3] = 0x00000001u;
|
|
/* 02203DEC */ return;
|
|
}
|
|
|
|
// fn_02203DF0 @ 0x2203df0
|
|
void Gambit_fn_02203DF0(CPUState* cpu) {
|
|
L_02203DF0: ; // 0x2203df0
|
|
/* 02203DF0 */ cpu->r[3] = 0x00000001u;
|
|
/* 02203DF4 */ return;
|
|
}
|
|
|
|
// fn_02203DF8 @ 0x2203df8
|
|
void Gambit_fn_02203DF8(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_02203DF8: ; // 0x2203df8
|
|
/* 02203DF8 */ _t0 = cpu->r[3] + 0x00000004u;
|
|
/* 02203DF8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02203DFC */ _t1 = cpu->r[12] + 0x0000035Cu;
|
|
/* 02203DFC */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02203E00 */ cpu->ctr = cpu->r[0];
|
|
/* 02203E04 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_02203E08 @ 0x2203e08
|
|
void Gambit_fn_02203E08(CPUState* cpu) {
|
|
L_02203E08: ; // 0x2203e08
|
|
/* 02203E08 */ cpu->r[3] = 0x00000001u;
|
|
/* 02203E0C */ return;
|
|
}
|
|
|
|
// fn_02203E10 @ 0x2203e10
|
|
void Gambit_fn_02203E10(CPUState* cpu) {
|
|
L_02203E10: ; // 0x2203e10
|
|
/* 02203E10 */ cpu->r[3] = 0x00000000u;
|
|
/* 02203E14 */ return;
|
|
}
|
|
|
|
// fn_02203E18 @ 0x2203e18
|
|
void Gambit_fn_02203E18(CPUState* cpu) {
|
|
L_02203E18: ; // 0x2203e18
|
|
/* 02203E18 */ cpu->r[3] = 0x00000000u;
|
|
/* 02203E1C */ return;
|
|
}
|
|
|
|
// fn_02203E20 @ 0x2203e20
|
|
void Gambit_fn_02203E20(CPUState* cpu) {
|
|
L_02203E20: ; // 0x2203e20
|
|
/* 02203E20 */ cpu->r[3] = 0x00000001u;
|
|
/* 02203E24 */ return;
|
|
}
|
|
|
|
// fn_02203E28 @ 0x2203e28
|
|
void Gambit_fn_02203E28(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3;
|
|
|
|
L_02203E28: ; // 0x2203e28
|
|
/* 02203E28 */ _t0 = cpu->r[3] + 0x00000114u;
|
|
/* 02203E28 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02203E2C */ cpu->r[0] = 0x00000001u;
|
|
/* 02203E30 */ _t1 = rbrew_rlwinm(cpu->r[0], 0x00000016u, 0x00000008u, 0x00000009u);
|
|
/* 02203E30 */ _t2 = cpu->r[12] & 0xFF3FFFFFu;
|
|
/* 02203E30 */ cpu->r[12] = _t2 | _t1;
|
|
/* 02203E34 */ _t3 = cpu->r[3] + 0x00000114u;
|
|
/* 02203E34 */ rbrew_write32(cpu->mem, _t3, cpu->r[12]);
|
|
/* 02203E38 */ return;
|
|
}
|
|
|
|
// fn_02203E3C @ 0x2203e3c
|
|
void Gambit_fn_02203E3C(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_02203E3C: ; // 0x2203e3c
|
|
/* 02203E3C */ _t0 = cpu->r[3] + 0x00000004u;
|
|
/* 02203E3C */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02203E40 */ _t1 = cpu->r[12] + 0x0000039Cu;
|
|
/* 02203E40 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02203E44 */ cpu->ctr = cpu->r[0];
|
|
/* 02203E48 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_02203E4C @ 0x2203e4c
|
|
void Gambit_fn_02203E4C(CPUState* cpu) {
|
|
L_02203E4C: ; // 0x2203e4c
|
|
/* 02203E4C */ return;
|
|
}
|
|
|
|
// fn_02203E50 @ 0x2203e50
|
|
void Gambit_fn_02203E50(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_02203E50: ; // 0x2203e50
|
|
/* 02203E50 */ cpu->r[12] = 0x10040000u;
|
|
/* 02203E54 */ _t0 = cpu->r[12] + 0xFFFFF49Cu;
|
|
/* 02203E54 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t0);
|
|
/* 02203E58 */ return;
|
|
}
|
|
|
|
// fn_02203E5C @ 0x2203e5c
|
|
void Gambit_fn_02203E5C(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_02203E5C: ; // 0x2203e5c
|
|
/* 02203E5C */ _t0 = cpu->r[3] + 0x000000A0u;
|
|
/* 02203E5C */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t0);
|
|
/* 02203E60 */ return;
|
|
}
|
|
|
|
// fn_02203E64 @ 0x2203e64
|
|
void Gambit_fn_02203E64(CPUState* cpu) {
|
|
L_02203E64: ; // 0x2203e64
|
|
/* 02203E64 */ cpu->r[3] = 0x00000000u;
|
|
/* 02203E68 */ return;
|
|
}
|
|
|
|
// fn_02203E6C @ 0x2203e6c
|
|
void Gambit_fn_02203E6C(CPUState* cpu) {
|
|
L_02203E6C: ; // 0x2203e6c
|
|
/* 02203E6C */ cpu->r[3] = 0x00000000u;
|
|
/* 02203E70 */ return;
|
|
}
|
|
|
|
// fn_02203E74 @ 0x2203e74
|
|
void Gambit_fn_02203E74(CPUState* cpu) {
|
|
L_02203E74: ; // 0x2203e74
|
|
/* 02203E74 */ cpu->r[3] = 0x00000001u;
|
|
/* 02203E78 */ return;
|
|
}
|
|
|
|
// fn_02203E7C @ 0x2203e7c
|
|
void Gambit_fn_02203E7C(CPUState* cpu) {
|
|
L_02203E7C: ; // 0x2203e7c
|
|
/* 02203E7C */ cpu->r[3] = 0x00000000u;
|
|
/* 02203E80 */ return;
|
|
}
|
|
|
|
// fn_02203E84 @ 0x2203e84
|
|
void Gambit_fn_02203E84(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_02203E84: ; // 0x2203e84
|
|
/* 02203E84 */ _t0 = cpu->r[3] + 0x000000C0u;
|
|
/* 02203E84 */ cpu->r[3] = rbrew_read8(cpu->mem, _t0);
|
|
/* 02203E88 */ return;
|
|
}
|
|
|
|
// fn_02203E8C @ 0x2203e8c
|
|
void Gambit_fn_02203E8C(CPUState* cpu) {
|
|
L_02203E8C: ; // 0x2203e8c
|
|
/* 02203E8C */ return;
|
|
}
|
|
|
|
// fn_02203E90 @ 0x2203e90
|
|
void Gambit_fn_02203E90(CPUState* cpu) {
|
|
L_02203E90: ; // 0x2203e90
|
|
/* 02203E90 */ return;
|
|
}
|
|
|
|
// fn_02203E94 @ 0x2203e94
|
|
void Gambit_fn_02203E94(CPUState* cpu) {
|
|
L_02203E94: ; // 0x2203e94
|
|
/* 02203E94 */ cpu->r[3] = 0x00000000u;
|
|
/* 02203E98 */ return;
|
|
}
|
|
|
|
// fn_02203E9C @ 0x2203e9c
|
|
void Gambit_fn_02203E9C(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_02203E9C: ; // 0x2203e9c
|
|
/* 02203E9C */ cpu->r[12] = 0x10040000u;
|
|
/* 02203EA0 */ _t0 = cpu->r[12] + 0xFFFFF49Cu;
|
|
/* 02203EA0 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t0);
|
|
/* 02203EA4 */ return;
|
|
}
|
|
|
|
// fn_02203EA8 @ 0x2203ea8
|
|
void Gambit_fn_02203EA8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4;
|
|
|
|
L_02203EA8: ; // 0x2203ea8
|
|
/* 02203EA8 */ _t0 = cpu->r[3] + 0x00000114u;
|
|
/* 02203EA8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02203EAC */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000012u, 0x00000013u);
|
|
/* 02203EAC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02203EB0 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02203EB0 */ _t2 = _t1 & 0x00000001u;
|
|
/* 02203EB0 */ if (_t2) goto L_02203EC0; else goto L_02203EB4;
|
|
L_02203EB4: ; // 0x2203eb4
|
|
/* 02203EB4 */ cpu->r[12] = 0x10040000u;
|
|
/* 02203EB8 */ _t3 = cpu->r[12] + 0xFFFFF49Cu;
|
|
/* 02203EB8 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t3);
|
|
/* 02203EBC */ return;
|
|
L_02203EC0: ; // 0x2203ec0
|
|
/* 02203EC0 */ cpu->r[12] = 0x10040000u;
|
|
/* 02203EC4 */ _t4 = cpu->r[12] + 0xFFFFF4B4u;
|
|
/* 02203EC4 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t4);
|
|
/* 02203EC8 */ return;
|
|
}
|
|
|
|
// fn_02203ECC @ 0x2203ecc
|
|
void Gambit_fn_02203ECC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7;
|
|
|
|
L_02203ECC: ; // 0x2203ecc
|
|
/* 02203ECC */ goto L_0222E4C4;
|
|
L_0222E4C4: ; // 0x222e4c4
|
|
/* 0222E4C4 */ cpu->r[0] = cpu->lr;
|
|
/* 0222E4C8 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 0222E4C8 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 0222E4CC */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 0222E4CC */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 0222E4CC */ cpu->r[1] = _t1;
|
|
/* 0222E4D0 */ Gambit_fn_021F7000(cpu);
|
|
/* 0222E4D4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0222E4D8 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0222E4D8 */ _t3 = _t2 & 0x00000001u;
|
|
/* 0222E4D8 */ if (_t3) goto L_0222E4F4; else goto L_0222E4DC;
|
|
L_0222E4DC: ; // 0x222e4dc
|
|
/* 0222E4DC */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0222E4DC */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0222E4E0 */ cpu->r[12] = 0x101E0000u;
|
|
/* 0222E4E4 */ cpu->lr = cpu->r[0];
|
|
/* 0222E4E8 */ _t5 = cpu->r[12] + 0xFFFF9594u;
|
|
/* 0222E4E8 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t5);
|
|
/* 0222E4EC */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 0222E4F0 */ return;
|
|
L_0222E4F4: ; // 0x222e4f4
|
|
/* 0222E4F4 */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0222E4F4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0222E4F8 */ cpu->r[12] = 0x101E0000u;
|
|
/* 0222E4FC */ cpu->lr = cpu->r[0];
|
|
/* 0222E500 */ _t7 = cpu->r[12] + 0xFFFF9590u;
|
|
/* 0222E500 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t7);
|
|
/* 0222E504 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 0222E508 */ return;
|
|
}
|
|
|
|
// fn_02203ED0 @ 0x2203ed0
|
|
void Gambit_fn_02203ED0(CPUState* cpu) {
|
|
L_02203ED0: ; // 0x2203ed0
|
|
/* 02203ED0 */ cpu->r[3] = 0x00000000u;
|
|
/* 02203ED4 */ return;
|
|
}
|
|
|
|
// fn_02203ED8 @ 0x2203ed8
|
|
void Gambit_fn_02203ED8(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_02203ED8: ; // 0x2203ed8
|
|
/* 02203ED8 */ _t0 = cpu->r[3] + 0x00000114u;
|
|
/* 02203ED8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02203EDC */ cpu->r[0] = cpu->r[0] | 0x00020000u;
|
|
/* 02203EE0 */ _t1 = cpu->r[3] + 0x00000114u;
|
|
/* 02203EE0 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02203EE4 */ return;
|
|
}
|
|
|
|
// fn_02203EE8 @ 0x2203ee8
|
|
void Gambit_fn_02203EE8(CPUState* cpu) {
|
|
L_02203EE8: ; // 0x2203ee8
|
|
/* 02203EE8 */ cpu->r[3] = 0x00000000u;
|
|
/* 02203EEC */ return;
|
|
}
|
|
|
|
// fn_02203EF0 @ 0x2203ef0
|
|
void Gambit_fn_02203EF0(CPUState* cpu) {
|
|
L_02203EF0: ; // 0x2203ef0
|
|
/* 02203EF0 */ cpu->r[3] = 0x00000001u;
|
|
/* 02203EF4 */ return;
|
|
}
|
|
|
|
// fn_02203EF8 @ 0x2203ef8
|
|
void Gambit_fn_02203EF8(CPUState* cpu) {
|
|
L_02203EF8: ; // 0x2203ef8
|
|
/* 02203EF8 */ cpu->r[3] = cpu->r[3] + 0x00000130u;
|
|
/* 02203EFC */ return;
|
|
}
|
|
|
|
// fn_02203F00 @ 0x2203f00
|
|
void Gambit_fn_02203F00(CPUState* cpu) {
|
|
L_02203F00: ; // 0x2203f00
|
|
/* 02203F00 */ cpu->r[3] = cpu->r[3] + 0x00000160u;
|
|
/* 02203F04 */ return;
|
|
}
|
|
|
|
// fn_02203F08 @ 0x2203f08
|
|
void Gambit_fn_02203F08(CPUState* cpu) {
|
|
L_02203F08: ; // 0x2203f08
|
|
/* 02203F08 */ cpu->r[3] = 0x00000000u;
|
|
/* 02203F0C */ return;
|
|
}
|
|
|
|
// fn_02203F10 @ 0x2203f10
|
|
void Gambit_fn_02203F10(CPUState* cpu) {
|
|
L_02203F10: ; // 0x2203f10
|
|
/* 02203F10 */ cpu->r[3] = 0x10040000u;
|
|
/* 02203F14 */ cpu->r[3] = cpu->r[3] + 0xFFFFF480u;
|
|
/* 02203F18 */ return;
|
|
}
|
|
|
|
// fn_02203F1C @ 0x2203f1c
|
|
void Gambit_fn_02203F1C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39;
|
|
|
|
L_02203F1C: ; // 0x2203f1c
|
|
/* 02203F1C */ cpu->r[8] = 0x101D0000u;
|
|
/* 02203F20 */ _t0 = cpu->r[8] + 0xFFFFFC94u;
|
|
/* 02203F20 */ cpu->r[8] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02203F24 */ cpu->r[6] = 0x101D0000u;
|
|
/* 02203F28 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 02203F2C */ cpu->r[6] = cpu->r[6] + 0xFFFFFEA0u;
|
|
/* 02203F30 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02203F30 */ _t2 = _t1 & 0x00000001u;
|
|
/* 02203F30 */ if (_t2) goto L_02203F34; else goto L_02203F4C;
|
|
L_02203F34: ; // 0x2203f34
|
|
/* 02203F34 */ cpu->r[5] = 0x10040000u;
|
|
/* 02203F38 */ cpu->r[0] = 0x00000001u;
|
|
/* 02203F3C */ cpu->r[8] = 0x101D0000u;
|
|
/* 02203F40 */ cpu->r[5] = cpu->r[5] + 0xFFFFF470u;
|
|
/* 02203F44 */ _t3 = cpu->r[8] + 0xFFFFFC94u;
|
|
/* 02203F44 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02203F48 */ _t4 = cpu->r[6] + 0x00000000u;
|
|
/* 02203F48 */ rbrew_write32(cpu->mem, _t4, cpu->r[5]);
|
|
L_02203F4C: ; // 0x2203f4c
|
|
/* 02203F4C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[6]);
|
|
/* 02203F50 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02203F50 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02203F50 */ if (_t6) goto L_02203F54; else goto L_02203F5C;
|
|
L_02203F54: ; // 0x2203f54
|
|
/* 02203F54 */ cpu->r[3] = 0x00000001u;
|
|
/* 02203F58 */ return;
|
|
L_02203F5C: ; // 0x2203f5c
|
|
/* 02203F5C */ cpu->r[10] = 0x101D0000u;
|
|
/* 02203F60 */ _t7 = cpu->r[10] + 0xFFFFDA0Cu;
|
|
/* 02203F60 */ cpu->r[10] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02203F64 */ cpu->r[8] = 0x101D0000u;
|
|
/* 02203F68 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02203F6C */ cpu->r[8] = cpu->r[8] + 0xFFFFFC00u;
|
|
/* 02203F70 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02203F70 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02203F70 */ if (_t9) goto L_02203F74; else goto L_02203F8C;
|
|
L_02203F74: ; // 0x2203f74
|
|
/* 02203F74 */ cpu->r[0] = 0x10040000u;
|
|
/* 02203F78 */ cpu->r[7] = 0x00000001u;
|
|
/* 02203F7C */ cpu->r[6] = 0x101D0000u;
|
|
/* 02203F80 */ cpu->r[0] = cpu->r[0] + 0xFFFFF460u;
|
|
/* 02203F84 */ _t10 = cpu->r[6] + 0xFFFFDA0Cu;
|
|
/* 02203F84 */ rbrew_write32(cpu->mem, _t10, cpu->r[7]);
|
|
/* 02203F88 */ _t11 = cpu->r[8] + 0x00000000u;
|
|
/* 02203F88 */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
|
|
L_02203F8C: ; // 0x2203f8c
|
|
/* 02203F8C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[8]);
|
|
/* 02203F90 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02203F90 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02203F90 */ if (_t13) goto L_02203F94; else goto L_02203F9C;
|
|
L_02203F94: ; // 0x2203f94
|
|
/* 02203F94 */ cpu->r[0] = 0x00000001u;
|
|
/* 02203F98 */ goto L_02204094;
|
|
L_02203F9C: ; // 0x2203f9c
|
|
/* 02203F9C */ cpu->r[12] = 0x101D0000u;
|
|
/* 02203FA0 */ _t14 = cpu->r[12] + 0xFFFFDA00u;
|
|
/* 02203FA0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02203FA4 */ cpu->r[10] = 0x101D0000u;
|
|
/* 02203FA8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02203FAC */ cpu->r[10] = cpu->r[10] + 0xFFFFFBFCu;
|
|
/* 02203FB0 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02203FB0 */ _t16 = _t15 & 0x00000001u;
|
|
/* 02203FB0 */ if (_t16) goto L_02203FB4; else goto L_02203FCC;
|
|
L_02203FB4: ; // 0x2203fb4
|
|
/* 02203FB4 */ cpu->r[7] = 0x10040000u;
|
|
/* 02203FB8 */ cpu->r[5] = 0x00000001u;
|
|
/* 02203FBC */ cpu->r[12] = 0x101D0000u;
|
|
/* 02203FC0 */ cpu->r[7] = cpu->r[7] + 0xFFFFF450u;
|
|
/* 02203FC4 */ _t17 = cpu->r[12] + 0xFFFFDA00u;
|
|
/* 02203FC4 */ rbrew_write32(cpu->mem, _t17, cpu->r[5]);
|
|
/* 02203FC8 */ _t18 = cpu->r[10] + 0x00000000u;
|
|
/* 02203FC8 */ rbrew_write32(cpu->mem, _t18, cpu->r[7]);
|
|
L_02203FCC: ; // 0x2203fcc
|
|
/* 02203FCC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[10]);
|
|
/* 02203FD0 */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02203FD0 */ _t20 = _t19 & 0x00000001u;
|
|
/* 02203FD0 */ if (_t20) goto L_02203FD4; else goto L_02203FDC;
|
|
L_02203FD4: ; // 0x2203fd4
|
|
/* 02203FD4 */ cpu->r[0] = 0x00000001u;
|
|
/* 02203FD8 */ goto L_02204094;
|
|
L_02203FDC: ; // 0x2203fdc
|
|
/* 02203FDC */ cpu->r[11] = 0x101D0000u;
|
|
/* 02203FE0 */ _t21 = cpu->r[11] + 0xFFFFD9ECu;
|
|
/* 02203FE0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02203FE4 */ cpu->r[12] = 0x101D0000u;
|
|
/* 02203FE8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02203FEC */ cpu->r[12] = cpu->r[12] + 0xFFFFFB4Cu;
|
|
/* 02203FF0 */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02203FF0 */ _t23 = _t22 & 0x00000001u;
|
|
/* 02203FF0 */ if (_t23) goto L_02203FF4; else goto L_0220400C;
|
|
L_02203FF4: ; // 0x2203ff4
|
|
/* 02203FF4 */ cpu->r[10] = 0x10040000u;
|
|
/* 02203FF8 */ cpu->r[9] = 0x00000001u;
|
|
/* 02203FFC */ cpu->r[8] = 0x101D0000u;
|
|
/* 02204000 */ cpu->r[10] = cpu->r[10] + 0xFFFFF440u;
|
|
/* 02204004 */ _t24 = cpu->r[8] + 0xFFFFD9ECu;
|
|
/* 02204004 */ rbrew_write32(cpu->mem, _t24, cpu->r[9]);
|
|
/* 02204008 */ _t25 = cpu->r[12] + 0x00000000u;
|
|
/* 02204008 */ rbrew_write32(cpu->mem, _t25, cpu->r[10]);
|
|
L_0220400C: ; // 0x220400c
|
|
/* 0220400C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[12]);
|
|
/* 02204010 */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02204010 */ _t27 = _t26 & 0x00000001u;
|
|
/* 02204010 */ if (_t27) goto L_02204014; else goto L_0220401C;
|
|
L_02204014: ; // 0x2204014
|
|
/* 02204014 */ cpu->r[0] = 0x00000001u;
|
|
/* 02204018 */ goto L_02204090;
|
|
L_0220401C: ; // 0x220401c
|
|
/* 0220401C */ cpu->r[10] = 0x101D0000u;
|
|
/* 02204020 */ _t28 = cpu->r[10] + 0xFFFFD4E8u;
|
|
/* 02204020 */ cpu->r[11] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02204020 */ cpu->r[10] = _t28;
|
|
/* 02204024 */ cpu->r[7] = 0x101D0000u;
|
|
/* 02204028 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 0220402C */ cpu->r[7] = cpu->r[7] + 0xFFFFD4ECu;
|
|
/* 02204030 */ _t29 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02204030 */ _t30 = _t29 & 0x00000001u;
|
|
/* 02204030 */ if (_t30) goto L_02204034; else goto L_02204048;
|
|
L_02204034: ; // 0x2204034
|
|
/* 02204034 */ cpu->r[0] = 0x10040000u;
|
|
/* 02204038 */ cpu->r[12] = 0x00000001u;
|
|
/* 0220403C */ cpu->r[0] = cpu->r[0] + 0xFFFFF430u;
|
|
/* 02204040 */ _t31 = cpu->r[10] + 0x00000000u;
|
|
/* 02204040 */ rbrew_write32(cpu->mem, _t31, cpu->r[12]);
|
|
/* 02204044 */ _t32 = cpu->r[7] + 0x00000000u;
|
|
/* 02204044 */ rbrew_write32(cpu->mem, _t32, cpu->r[0]);
|
|
L_02204048: ; // 0x2204048
|
|
/* 02204048 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[7]);
|
|
/* 0220404C */ _t33 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0220404C */ _t34 = _t33 & 0x00000001u;
|
|
/* 0220404C */ if (_t34) goto L_02204050; else goto L_02204058;
|
|
L_02204050: ; // 0x2204050
|
|
/* 02204050 */ cpu->r[0] = 0x00000001u;
|
|
/* 02204054 */ goto L_02204090;
|
|
L_02204058: ; // 0x2204058
|
|
/* 02204058 */ cpu->r[8] = 0x101D0000u;
|
|
/* 0220405C */ _t35 = cpu->r[8] + 0xFFFFD4E0u;
|
|
/* 0220405C */ cpu->r[5] = rbrew_read32(cpu->mem, _t35);
|
|
/* 0220405C */ cpu->r[8] = _t35;
|
|
/* 02204060 */ cpu->r[6] = 0x101D0000u;
|
|
/* 02204064 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u);
|
|
/* 02204068 */ cpu->r[6] = cpu->r[6] + 0xFFFFD4E4u;
|
|
/* 0220406C */ _t36 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0220406C */ _t37 = _t36 & 0x00000001u;
|
|
/* 0220406C */ if (_t37) goto L_02204070; else goto L_02204084;
|
|
L_02204070: ; // 0x2204070
|
|
/* 02204070 */ cpu->r[9] = 0x10040000u;
|
|
/* 02204074 */ cpu->r[7] = 0x00000001u;
|
|
/* 02204078 */ cpu->r[9] = cpu->r[9] + 0xFFFFF420u;
|
|
/* 0220407C */ _t38 = cpu->r[8] + 0x00000000u;
|
|
/* 0220407C */ rbrew_write32(cpu->mem, _t38, cpu->r[7]);
|
|
/* 02204080 */ _t39 = cpu->r[6] + 0x00000000u;
|
|
/* 02204080 */ rbrew_write32(cpu->mem, _t39, cpu->r[9]);
|
|
L_02204084: ; // 0x2204084
|
|
/* 02204084 */ cpu->r[0] = cpu->r[4] ^ cpu->r[6];
|
|
/* 02204088 */ cpu->r[5] = rbrew_clz32(cpu->r[0]);
|
|
/* 0220408C */ cpu->r[0] = rbrew_rlwinm(cpu->r[5], 0x0000001Bu, 0x00000018u, 0x0000001Fu);
|
|
L_02204090: ; // 0x2204090
|
|
/* 02204090 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
L_02204094: ; // 0x2204094
|
|
/* 02204094 */ cpu->r[3] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 02204098 */ return;
|
|
}
|
|
|
|
// fn_0220409C @ 0x220409c
|
|
void Gambit_fn_0220409C(CPUState* cpu) {
|
|
L_0220409C: ; // 0x220409c
|
|
/* 0220409C */ return;
|
|
}
|
|
|
|
// fn_022040A0 @ 0x22040a0
|
|
void Gambit_fn_022040A0(CPUState* cpu) {
|
|
L_022040A0: ; // 0x22040a0
|
|
/* 022040A0 */ return;
|
|
}
|
|
|
|
// fn_022040A4 @ 0x22040a4
|
|
void Gambit_fn_022040A4(CPUState* cpu) {
|
|
L_022040A4: ; // 0x22040a4
|
|
/* 022040A4 */ cpu->r[3] = 0x00000001u;
|
|
/* 022040A8 */ return;
|
|
}
|
|
|
|
// fn_022040AC @ 0x22040ac
|
|
void Gambit_fn_022040AC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12;
|
|
|
|
L_022040AC: ; // 0x22040ac
|
|
/* 022040AC */ cpu->r[0] = cpu->lr;
|
|
/* 022040B0 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 022040B0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 022040B0 */ cpu->r[1] = _t0;
|
|
/* 022040B4 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 022040B4 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[31]);
|
|
/* 022040B8 */ /* nop */
|
|
/* 022040BC */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 022040BC */ rbrew_write_f32(cpu->mem, _t2, cpu->f[31]);
|
|
/* 022040C0 */ cpu->r[12] = 0x101C0000u;
|
|
/* 022040C4 */ _t3 = cpu->r[1] + 0x0000001Cu;
|
|
/* 022040C4 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 022040C8 */ _t4 = cpu->r[12] + 0x00006000u;
|
|
/* 022040C8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 022040CC */ cpu->r[4] = 0x00000000u;
|
|
/* 022040D0 */ _t5 = cpu->r[12] + 0x0000027Cu;
|
|
/* 022040D0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t5);
|
|
/* 022040D4 */ cpu->f[31] = cpu->f[1];
|
|
/* 022040D8 */ Gambit_fn_026C0364(cpu);
|
|
/* 022040DC */ _t6 = cpu->r[3] + 0x00000D50u;
|
|
/* 022040DC */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t6);
|
|
/* 022040E0 */ _t7 = cpu->r[3] + 0x00000DB0u;
|
|
/* 022040E0 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t7);
|
|
/* 022040E4 */ cpu->f[13] = cpu->f[0] - cpu->f[12];
|
|
/* 022040E8 */ cpu->f[1] = fma(cpu->f[13], cpu->f[31], cpu->f[12]);
|
|
/* 022040EC */ _t8 = cpu->r[1] + 0x00000010u;
|
|
/* 022040EC */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t8);
|
|
/* 022040F0 */ _t9 = cpu->r[1] + 0x00000008u;
|
|
/* 022040F0 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t9);
|
|
/* 022040F4 */ _t10 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 022040F4 */ _t11 = _t10 & 0x00000001u;
|
|
/* 022040F4 */ if (_t11) goto L_022040F8; // else: addr-0 trap, fall-through
|
|
L_022040F8: ; // 0x22040f8
|
|
/* 022040F8 */ _t12 = cpu->r[1] + 0x0000001Cu;
|
|
/* 022040F8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 022040FC */ cpu->lr = cpu->r[0];
|
|
/* 02204100 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02204104 */ return;
|
|
}
|
|
|
|
// fn_022040B0 @ 0x22040b0
|
|
void Gambit_fn_022040B0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12;
|
|
|
|
L_022040B0: ; // 0x22040b0
|
|
/* 022040B0 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 022040B0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 022040B0 */ cpu->r[1] = _t0;
|
|
/* 022040B4 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 022040B4 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[31]);
|
|
/* 022040B8 */ /* nop */
|
|
/* 022040BC */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 022040BC */ rbrew_write_f32(cpu->mem, _t2, cpu->f[31]);
|
|
/* 022040C0 */ cpu->r[12] = 0x101C0000u;
|
|
/* 022040C4 */ _t3 = cpu->r[1] + 0x0000001Cu;
|
|
/* 022040C4 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 022040C8 */ _t4 = cpu->r[12] + 0x00006000u;
|
|
/* 022040C8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 022040CC */ cpu->r[4] = 0x00000000u;
|
|
/* 022040D0 */ _t5 = cpu->r[12] + 0x0000027Cu;
|
|
/* 022040D0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t5);
|
|
/* 022040D4 */ cpu->f[31] = cpu->f[1];
|
|
/* 022040D8 */ Gambit_fn_026C0364(cpu);
|
|
/* 022040DC */ _t6 = cpu->r[3] + 0x00000D50u;
|
|
/* 022040DC */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t6);
|
|
/* 022040E0 */ _t7 = cpu->r[3] + 0x00000DB0u;
|
|
/* 022040E0 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t7);
|
|
/* 022040E4 */ cpu->f[13] = cpu->f[0] - cpu->f[12];
|
|
/* 022040E8 */ cpu->f[1] = fma(cpu->f[13], cpu->f[31], cpu->f[12]);
|
|
/* 022040EC */ _t8 = cpu->r[1] + 0x00000010u;
|
|
/* 022040EC */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t8);
|
|
/* 022040F0 */ _t9 = cpu->r[1] + 0x00000008u;
|
|
/* 022040F0 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t9);
|
|
/* 022040F4 */ _t10 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 022040F4 */ _t11 = _t10 & 0x00000001u;
|
|
/* 022040F4 */ if (_t11) goto L_022040F8; // else: addr-0 trap, fall-through
|
|
L_022040F8: ; // 0x22040f8
|
|
/* 022040F8 */ _t12 = cpu->r[1] + 0x0000001Cu;
|
|
/* 022040F8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 022040FC */ cpu->lr = cpu->r[0];
|
|
/* 02204100 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02204104 */ return;
|
|
}
|
|
|
|
// fn_02204108 @ 0x2204108
|
|
void Gambit_fn_02204108(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t27, _t28, _t29, _t30, _t31, _t32, _t33;
|
|
double _ft25, _ft26;
|
|
|
|
L_02204108: ; // 0x2204108
|
|
/* 02204108 */ cpu->r[0] = cpu->lr;
|
|
/* 0220410C */ _t0 = cpu->r[1] + 0xFFFFFFC0u;
|
|
/* 0220410C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0220410C */ cpu->r[1] = _t0;
|
|
/* 02204110 */ _t1 = cpu->r[1] + 0x00000020u;
|
|
/* 02204110 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[30]);
|
|
/* 02204114 */ _t2 = cpu->r[1] + 0x00000030u;
|
|
/* 02204114 */ rbrew_write_f64(cpu->mem, _t2, cpu->f[31]);
|
|
/* 02204118 */ /* nop */
|
|
/* 0220411C */ _t3 = cpu->r[1] + 0x00000028u;
|
|
/* 0220411C */ rbrew_write_f32(cpu->mem, _t3, cpu->f[30]);
|
|
/* 02204120 */ /* nop */
|
|
/* 02204124 */ _t4 = cpu->r[1] + 0x00000038u;
|
|
/* 02204124 */ rbrew_write_f32(cpu->mem, _t4, cpu->f[31]);
|
|
/* 02204128 */ _t5 = cpu->r[1] + 0x00000044u;
|
|
/* 02204128 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 0220412C */ _t6 = cpu->r[4] + 0x00000008u;
|
|
/* 0220412C */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t6);
|
|
/* 02204130 */ _t7 = cpu->r[4] + 0x00000000u;
|
|
/* 02204130 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t7);
|
|
/* 02204134 */ _t8 = cpu->r[1] + 0x00000014u;
|
|
/* 02204134 */ rbrew_write_f32(cpu->mem, _t8, cpu->f[9]);
|
|
/* 02204138 */ _t9 = cpu->r[1] + 0x00000010u;
|
|
/* 02204138 */ rbrew_write_f32(cpu->mem, _t9, cpu->f[8]);
|
|
/* 0220413C */ _t10 = cpu->r[1] + 0x00000010u;
|
|
/* 0220413C */ cpu->r[8] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02204140 */ _t11 = cpu->r[1] + 0x00000014u;
|
|
/* 02204140 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02204144 */ _t12 = cpu->r[1] + 0x00000018u;
|
|
/* 02204144 */ rbrew_write32(cpu->mem, _t12, cpu->r[8]);
|
|
/* 02204148 */ cpu->r[9] = 0x10040000u;
|
|
/* 0220414C */ _t13 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0220414C */ rbrew_write32(cpu->mem, _t13, cpu->r[0]);
|
|
/* 02204150 */ _t14 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02204150 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t14);
|
|
/* 02204154 */ _t15 = cpu->r[9] + 0xFFFFFA68u;
|
|
/* 02204154 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t15);
|
|
/* 02204158 */ cpu->f[7] = cpu->f[10] * cpu->f[10];
|
|
/* 0220415C */ _t16 = cpu->r[1] + 0x00000018u;
|
|
/* 0220415C */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t16);
|
|
/* 02204160 */ _t17 = cpu->r[3] + 0x00000000u;
|
|
/* 02204160 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t17);
|
|
/* 02204164 */ cpu->f[6] = fma(cpu->f[11], cpu->f[11], cpu->f[7]);
|
|
/* 02204168 */ _t18 = cpu->r[3] + 0x00000008u;
|
|
/* 02204168 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t18);
|
|
/* 0220416C */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[6], cpu->f[31]);
|
|
/* 02204170 */ _t19 = cpu->r[1] + 0x00000008u;
|
|
/* 02204170 */ rbrew_write_f32(cpu->mem, _t19, cpu->f[13]);
|
|
/* 02204174 */ _t20 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02204174 */ rbrew_write_f32(cpu->mem, _t20, cpu->f[0]);
|
|
/* 02204178 */ _t21 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02204178 */ _t22 = _t21 & 0x00000001u;
|
|
/* 02204178 */ if (_t22) goto L_022041A4; else goto L_0220417C;
|
|
L_0220417C: ; // 0x220417c
|
|
/* 0220417C */ /* nop */
|
|
/* 02204180 */ /* nop */
|
|
/* 02204184 */ /* nop */
|
|
/* 02204188 */ /* nop */
|
|
/* 0220418C */ cpu->r[3] = cpu->r[4];
|
|
/* 02204190 */ cpu->f[30] = cpu->f[10] / cpu->f[6];
|
|
/* 02204194 */ Gambit_fn_02C69350(cpu);
|
|
/* 02204198 */ cpu->f[12] = cpu->f[1] * cpu->f[30];
|
|
/* 0220419C */ /* nop */
|
|
/* 022041A0 */ goto L_022041F4;
|
|
L_022041A4: ; // 0x22041a4
|
|
/* 022041A4 */ cpu->r[12] = 0x10040000u;
|
|
/* 022041A8 */ cpu->r[11] = 0x10040000u;
|
|
/* 022041AC */ _t23 = cpu->r[12] + 0xFFFFFA6Cu;
|
|
/* 022041AC */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t23);
|
|
/* 022041B0 */ _t24 = cpu->r[11] + 0xFFFFFA70u;
|
|
/* 022041B0 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t24);
|
|
/* 022041B4 */ _ft25 = sqrt(cpu->f[6]);
|
|
/* 022041B4 */ _ft26 = (double)(int32_t)0x00000001u;
|
|
/* 022041B4 */ cpu->f[10] = _ft26 / _ft25;
|
|
/* 022041B8 */ cpu->f[11] = cpu->f[10] * cpu->f[10];
|
|
/* 022041BC */ cpu->f[0] = cpu->f[10] * cpu->f[12];
|
|
/* 022041C0 */ cpu->f[11] = -fma(cpu->f[11], cpu->f[6], -(cpu->f[13]));
|
|
/* 022041C4 */ cpu->f[10] = cpu->f[11] * cpu->f[0];
|
|
/* 022041C8 */ /* nop */
|
|
/* 022041CC */ cpu->f[6] = cpu->f[6] * cpu->f[10];
|
|
/* 022041D0 */ /* nop */
|
|
/* 022041D4 */ /* nop */
|
|
/* 022041D8 */ /* nop */
|
|
/* 022041DC */ /* nop */
|
|
/* 022041E0 */ cpu->r[3] = cpu->r[4];
|
|
/* 022041E4 */ cpu->f[30] = cpu->f[10] / cpu->f[6];
|
|
/* 022041E8 */ Gambit_fn_02C69350(cpu);
|
|
/* 022041EC */ cpu->f[12] = cpu->f[1] * cpu->f[30];
|
|
/* 022041F0 */ /* nop */
|
|
L_022041F4: ; // 0x22041f4
|
|
/* 022041F4 */ _t27 = cpu->r[1] + 0x00000028u;
|
|
/* 022041F4 */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t27);
|
|
/* 022041F8 */ _t28 = cpu->r[1] + 0x00000038u;
|
|
/* 022041F8 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t28);
|
|
/* 022041FC */ _t29 = cpu->r[1] + 0x00000020u;
|
|
/* 022041FC */ cpu->f[30] = rbrew_read_f64(cpu->mem, _t29);
|
|
/* 02204200 */ _t30 = cpu->r[1] + 0x00000030u;
|
|
/* 02204200 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t30);
|
|
/* 02204204 */ _t31 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02204204 */ _t32 = _t31 & 0x00000001u;
|
|
/* 02204204 */ if (_t32) goto L_02204208; // else: addr-0 trap, fall-through
|
|
L_02204208: ; // 0x2204208
|
|
/* 02204208 */ _t33 = cpu->r[1] + 0x00000044u;
|
|
/* 02204208 */ cpu->r[0] = rbrew_read32(cpu->mem, _t33);
|
|
/* 0220420C */ cpu->lr = cpu->r[0];
|
|
/* 02204210 */ cpu->r[1] = cpu->r[1] + 0x00000040u;
|
|
/* 02204214 */ return;
|
|
}
|
|
|
|
// fn_0220410C @ 0x220410c
|
|
void Gambit_fn_0220410C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t27, _t28, _t29, _t30, _t31, _t32, _t33;
|
|
double _ft25, _ft26;
|
|
|
|
L_0220410C: ; // 0x220410c
|
|
/* 0220410C */ _t0 = cpu->r[1] + 0xFFFFFFC0u;
|
|
/* 0220410C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0220410C */ cpu->r[1] = _t0;
|
|
/* 02204110 */ _t1 = cpu->r[1] + 0x00000020u;
|
|
/* 02204110 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[30]);
|
|
/* 02204114 */ _t2 = cpu->r[1] + 0x00000030u;
|
|
/* 02204114 */ rbrew_write_f64(cpu->mem, _t2, cpu->f[31]);
|
|
/* 02204118 */ /* nop */
|
|
/* 0220411C */ _t3 = cpu->r[1] + 0x00000028u;
|
|
/* 0220411C */ rbrew_write_f32(cpu->mem, _t3, cpu->f[30]);
|
|
/* 02204120 */ /* nop */
|
|
/* 02204124 */ _t4 = cpu->r[1] + 0x00000038u;
|
|
/* 02204124 */ rbrew_write_f32(cpu->mem, _t4, cpu->f[31]);
|
|
/* 02204128 */ _t5 = cpu->r[1] + 0x00000044u;
|
|
/* 02204128 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 0220412C */ _t6 = cpu->r[4] + 0x00000008u;
|
|
/* 0220412C */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t6);
|
|
/* 02204130 */ _t7 = cpu->r[4] + 0x00000000u;
|
|
/* 02204130 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t7);
|
|
/* 02204134 */ _t8 = cpu->r[1] + 0x00000014u;
|
|
/* 02204134 */ rbrew_write_f32(cpu->mem, _t8, cpu->f[9]);
|
|
/* 02204138 */ _t9 = cpu->r[1] + 0x00000010u;
|
|
/* 02204138 */ rbrew_write_f32(cpu->mem, _t9, cpu->f[8]);
|
|
/* 0220413C */ _t10 = cpu->r[1] + 0x00000010u;
|
|
/* 0220413C */ cpu->r[8] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02204140 */ _t11 = cpu->r[1] + 0x00000014u;
|
|
/* 02204140 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02204144 */ _t12 = cpu->r[1] + 0x00000018u;
|
|
/* 02204144 */ rbrew_write32(cpu->mem, _t12, cpu->r[8]);
|
|
/* 02204148 */ cpu->r[9] = 0x10040000u;
|
|
/* 0220414C */ _t13 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0220414C */ rbrew_write32(cpu->mem, _t13, cpu->r[0]);
|
|
/* 02204150 */ _t14 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02204150 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t14);
|
|
/* 02204154 */ _t15 = cpu->r[9] + 0xFFFFFA68u;
|
|
/* 02204154 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t15);
|
|
/* 02204158 */ cpu->f[7] = cpu->f[10] * cpu->f[10];
|
|
/* 0220415C */ _t16 = cpu->r[1] + 0x00000018u;
|
|
/* 0220415C */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t16);
|
|
/* 02204160 */ _t17 = cpu->r[3] + 0x00000000u;
|
|
/* 02204160 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t17);
|
|
/* 02204164 */ cpu->f[6] = fma(cpu->f[11], cpu->f[11], cpu->f[7]);
|
|
/* 02204168 */ _t18 = cpu->r[3] + 0x00000008u;
|
|
/* 02204168 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t18);
|
|
/* 0220416C */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[6], cpu->f[31]);
|
|
/* 02204170 */ _t19 = cpu->r[1] + 0x00000008u;
|
|
/* 02204170 */ rbrew_write_f32(cpu->mem, _t19, cpu->f[13]);
|
|
/* 02204174 */ _t20 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02204174 */ rbrew_write_f32(cpu->mem, _t20, cpu->f[0]);
|
|
/* 02204178 */ _t21 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02204178 */ _t22 = _t21 & 0x00000001u;
|
|
/* 02204178 */ if (_t22) goto L_022041A4; else goto L_0220417C;
|
|
L_0220417C: ; // 0x220417c
|
|
/* 0220417C */ /* nop */
|
|
/* 02204180 */ /* nop */
|
|
/* 02204184 */ /* nop */
|
|
/* 02204188 */ /* nop */
|
|
/* 0220418C */ cpu->r[3] = cpu->r[4];
|
|
/* 02204190 */ cpu->f[30] = cpu->f[10] / cpu->f[6];
|
|
/* 02204194 */ Gambit_fn_02C69350(cpu);
|
|
/* 02204198 */ cpu->f[12] = cpu->f[1] * cpu->f[30];
|
|
/* 0220419C */ /* nop */
|
|
/* 022041A0 */ goto L_022041F4;
|
|
L_022041A4: ; // 0x22041a4
|
|
/* 022041A4 */ cpu->r[12] = 0x10040000u;
|
|
/* 022041A8 */ cpu->r[11] = 0x10040000u;
|
|
/* 022041AC */ _t23 = cpu->r[12] + 0xFFFFFA6Cu;
|
|
/* 022041AC */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t23);
|
|
/* 022041B0 */ _t24 = cpu->r[11] + 0xFFFFFA70u;
|
|
/* 022041B0 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t24);
|
|
/* 022041B4 */ _ft25 = sqrt(cpu->f[6]);
|
|
/* 022041B4 */ _ft26 = (double)(int32_t)0x00000001u;
|
|
/* 022041B4 */ cpu->f[10] = _ft26 / _ft25;
|
|
/* 022041B8 */ cpu->f[11] = cpu->f[10] * cpu->f[10];
|
|
/* 022041BC */ cpu->f[0] = cpu->f[10] * cpu->f[12];
|
|
/* 022041C0 */ cpu->f[11] = -fma(cpu->f[11], cpu->f[6], -(cpu->f[13]));
|
|
/* 022041C4 */ cpu->f[10] = cpu->f[11] * cpu->f[0];
|
|
/* 022041C8 */ /* nop */
|
|
/* 022041CC */ cpu->f[6] = cpu->f[6] * cpu->f[10];
|
|
/* 022041D0 */ /* nop */
|
|
/* 022041D4 */ /* nop */
|
|
/* 022041D8 */ /* nop */
|
|
/* 022041DC */ /* nop */
|
|
/* 022041E0 */ cpu->r[3] = cpu->r[4];
|
|
/* 022041E4 */ cpu->f[30] = cpu->f[10] / cpu->f[6];
|
|
/* 022041E8 */ Gambit_fn_02C69350(cpu);
|
|
/* 022041EC */ cpu->f[12] = cpu->f[1] * cpu->f[30];
|
|
/* 022041F0 */ /* nop */
|
|
L_022041F4: ; // 0x22041f4
|
|
/* 022041F4 */ _t27 = cpu->r[1] + 0x00000028u;
|
|
/* 022041F4 */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t27);
|
|
/* 022041F8 */ _t28 = cpu->r[1] + 0x00000038u;
|
|
/* 022041F8 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t28);
|
|
/* 022041FC */ _t29 = cpu->r[1] + 0x00000020u;
|
|
/* 022041FC */ cpu->f[30] = rbrew_read_f64(cpu->mem, _t29);
|
|
/* 02204200 */ _t30 = cpu->r[1] + 0x00000030u;
|
|
/* 02204200 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t30);
|
|
/* 02204204 */ _t31 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02204204 */ _t32 = _t31 & 0x00000001u;
|
|
/* 02204204 */ if (_t32) goto L_02204208; // else: addr-0 trap, fall-through
|
|
L_02204208: ; // 0x2204208
|
|
/* 02204208 */ _t33 = cpu->r[1] + 0x00000044u;
|
|
/* 02204208 */ cpu->r[0] = rbrew_read32(cpu->mem, _t33);
|
|
/* 0220420C */ cpu->lr = cpu->r[0];
|
|
/* 02204210 */ cpu->r[1] = cpu->r[1] + 0x00000040u;
|
|
/* 02204214 */ return;
|
|
}
|
|
|
|
// fn_02204218 @ 0x2204218
|
|
void Gambit_fn_02204218(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2;
|
|
|
|
L_02204218: ; // 0x2204218
|
|
/* 02204218 */ cpu->r[12] = 0x101E0000u;
|
|
/* 0220421C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], 0x00000004u);
|
|
/* 02204220 */ cpu->r[12] = cpu->r[12] + 0x00002858u;
|
|
/* 02204224 */ _t0 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02204224 */ _t1 = _t0 & 0x00000001u;
|
|
/* 02204224 */ if (_t1) goto L_02204228; else goto L_02204230;
|
|
L_02204228: ; // 0x2204228
|
|
/* 02204228 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000001u, 0x00000000u, 0x0000001Eu);
|
|
/* 0220422C */ cpu->r[12] = cpu->r[12] + cpu->r[0];
|
|
L_02204230: ; // 0x2204230
|
|
/* 02204230 */ _t2 = cpu->r[12] + 0x00000000u;
|
|
/* 02204230 */ cpu->r[3] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t2);
|
|
/* 02204234 */ return;
|
|
}
|
|
|
|
// fn_02204238 @ 0x2204238
|
|
void Gambit_fn_02204238(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_02204238: ; // 0x2204238
|
|
/* 02204238 */ cpu->r[0] = 0x101C0000u;
|
|
/* 0220423C */ cpu->r[12] = rbrew_rlwinm(cpu->r[3], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02204240 */ cpu->r[0] = cpu->r[0] + 0x0000519Cu;
|
|
/* 02204244 */ _t0 = cpu->r[12] + cpu->r[0];
|
|
/* 02204244 */ cpu->r[3] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02204248 */ return;
|
|
}
|
|
|
|
// fn_0220424C @ 0x220424c
|
|
void Gambit_fn_0220424C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23;
|
|
|
|
L_0220424C: ; // 0x220424c
|
|
/* 0220424C */ _t0 = cpu->r[1] + 0xFFFFFFC8u;
|
|
/* 0220424C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0220424C */ cpu->r[1] = _t0;
|
|
/* 02204250 */ /* nop */
|
|
/* 02204254 */ cpu->r[0] = cpu->lr;
|
|
/* 02204258 */ cpu->r[31] = cpu->r[3];
|
|
/* 0220425C */ _t1 = cpu->r[1] + 0x0000003Cu;
|
|
/* 0220425C */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02204260 */ Gambit_fn_022061BC(cpu);
|
|
/* 02204264 */ _t2 = cpu->r[31] + 0x00000024u;
|
|
/* 02204264 */ cpu->r[9] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02204268 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 0220426C */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0220426C */ _t4 = _t3 & 0x00000001u;
|
|
/* 0220426C */ if (_t4) goto L_02204270; else goto L_0220431C;
|
|
L_02204270: ; // 0x2204270
|
|
/* 02204270 */ cpu->r[30] = 0x101E0000u;
|
|
/* 02204274 */ cpu->r[28] = 0x10040000u;
|
|
/* 02204278 */ cpu->r[26] = 0x00000000u;
|
|
/* 0220427C */ cpu->r[30] = cpu->r[30] + 0x00002858u;
|
|
/* 02204280 */ cpu->r[28] = cpu->r[28] + 0xFFFFF948u;
|
|
/* 02204284 */ cpu->r[29] = 0x00000004u;
|
|
/* 02204288 */ cpu->r[27] = cpu->r[26];
|
|
/* 0220428C */ cpu->r[31] = cpu->r[30];
|
|
/* 02204290 */ cpu->r[25] = 0xFFFFFFFFu;
|
|
/* 02204294 */ cpu->r[24] = 0x101C0000u;
|
|
L_02204298: ; // 0x2204298
|
|
/* 02204298 */ _t5 = cpu->r[24] + 0x00001344u;
|
|
/* 02204298 */ cpu->r[10] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0220429C */ cpu->r[3] = rbrew_rlwinm(cpu->r[26], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 022042A0 */ _t6 = cpu->r[10] + 0x0000001Cu;
|
|
/* 022042A0 */ cpu->r[8] = rbrew_read32(cpu->mem, _t6);
|
|
/* 022042A4 */ Gambit_fn_02204238(cpu);
|
|
/* 022042A8 */ cpu->r[4] = cpu->r[1] + 0x00000010u;
|
|
/* 022042AC */ _t7 = cpu->r[1] + 0x0000000Cu;
|
|
/* 022042AC */ rbrew_write32(cpu->mem, _t7, cpu->r[28]);
|
|
/* 022042B0 */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 022042B4 */ _t8 = cpu->r[1] + 0x00000008u;
|
|
/* 022042B4 */ rbrew_write32(cpu->mem, _t8, cpu->r[3]);
|
|
/* 022042B8 */ cpu->r[3] = cpu->r[8];
|
|
/* 022042BC */ _t9 = cpu->r[1] + 0x00000010u;
|
|
/* 022042BC */ rbrew_write32(cpu->mem, _t9, cpu->r[27]);
|
|
/* 022042C0 */ Gambit_fn_02022278(cpu);
|
|
/* 022042C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 022042C8 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 022042C8 */ _t11 = _t10 & 0x00000001u;
|
|
/* 022042C8 */ if (_t11) goto L_022042F8; else goto L_022042CC;
|
|
L_022042CC: ; // 0x22042cc
|
|
/* 022042CC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[26], 0x00000004u);
|
|
/* 022042D0 */ cpu->r[12] = cpu->r[31];
|
|
/* 022042D4 */ _t12 = cpu->r[3] + 0x00000000u;
|
|
/* 022042D4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 022042D8 */ _t13 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 022042D8 */ _t14 = _t13 & 0x00000001u;
|
|
/* 022042D8 */ if (_t14) goto L_022042DC; else goto L_022042E0;
|
|
L_022042DC: ; // 0x22042dc
|
|
/* 022042DC */ cpu->r[12] = cpu->r[30];
|
|
L_022042E0: ; // 0x22042e0
|
|
/* 022042E0 */ _t15 = cpu->r[12] + 0x00000000u;
|
|
/* 022042E0 */ rbrew_write16(cpu->mem, _t15, (uint16_t)cpu->r[0]);
|
|
/* 022042E4 */ cpu->r[29] = cpu->r[29] + 0xFFFFFFFFu;
|
|
/* 022042E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 022042E8 */ cpu->r[26] = cpu->r[26] + 0x00000001u;
|
|
/* 022042EC */ cpu->r[30] = cpu->r[30] + 0x00000002u;
|
|
/* 022042F0 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 022042F0 */ _t17 = _t16 & 0x00000001u;
|
|
/* 022042F0 */ if (_t17) goto L_022042F4; else goto L_02204298;
|
|
L_022042F4: ; // 0x22042f4
|
|
/* 022042F4 */ goto L_0220431C;
|
|
L_022042F8: ; // 0x22042f8
|
|
/* 022042F8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[26], 0x00000004u);
|
|
/* 022042FC */ cpu->r[6] = cpu->r[31];
|
|
/* 02204300 */ _t18 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02204300 */ _t19 = _t18 & 0x00000001u;
|
|
/* 02204300 */ if (_t19) goto L_02204304; else goto L_02204308;
|
|
L_02204304: ; // 0x2204304
|
|
/* 02204304 */ cpu->r[6] = cpu->r[30];
|
|
L_02204308: ; // 0x2204308
|
|
/* 02204308 */ _t20 = cpu->r[6] + 0x00000000u;
|
|
/* 02204308 */ rbrew_write16(cpu->mem, _t20, (uint16_t)cpu->r[25]);
|
|
/* 0220430C */ cpu->r[29] = cpu->r[29] + 0xFFFFFFFFu;
|
|
/* 0220430C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 02204310 */ cpu->r[26] = cpu->r[26] + 0x00000001u;
|
|
/* 02204314 */ cpu->r[30] = cpu->r[30] + 0x00000002u;
|
|
/* 02204318 */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02204318 */ _t22 = _t21 & 0x00000001u;
|
|
/* 02204318 */ if (_t22) goto L_0220431C; else goto L_02204298;
|
|
L_0220431C: ; // 0x220431c
|
|
/* 0220431C */ /* nop */
|
|
/* 02204320 */ _t23 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02204320 */ cpu->r[0] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02204324 */ cpu->lr = cpu->r[0];
|
|
/* 02204328 */ cpu->r[1] = cpu->r[1] + 0x00000038u;
|
|
/* 0220432C */ return;
|
|
}
|
|
|
|
// fn_02204330 @ 0x2204330
|
|
void Gambit_fn_02204330(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12;
|
|
|
|
L_02204330: ; // 0x2204330
|
|
/* 02204330 */ cpu->r[0] = cpu->lr;
|
|
/* 02204334 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02204334 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02204334 */ cpu->r[1] = _t0;
|
|
/* 02204338 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02204338 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[31]);
|
|
/* 0220433C */ /* nop */
|
|
/* 02204340 */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 02204340 */ rbrew_write_f32(cpu->mem, _t2, cpu->f[31]);
|
|
/* 02204344 */ cpu->r[12] = 0x101C0000u;
|
|
/* 02204348 */ _t3 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02204348 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0220434C */ _t4 = cpu->r[12] + 0x00006000u;
|
|
/* 0220434C */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02204350 */ cpu->r[4] = 0x00000002u;
|
|
/* 02204354 */ _t5 = cpu->r[12] + 0x0000027Cu;
|
|
/* 02204354 */ cpu->r[3] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02204358 */ cpu->f[31] = cpu->f[1];
|
|
/* 0220435C */ Gambit_fn_026C0364(cpu);
|
|
/* 02204360 */ _t6 = cpu->r[3] + 0x00000D50u;
|
|
/* 02204360 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t6);
|
|
/* 02204364 */ _t7 = cpu->r[3] + 0x00000DB0u;
|
|
/* 02204364 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t7);
|
|
/* 02204368 */ cpu->f[13] = cpu->f[0] - cpu->f[12];
|
|
/* 0220436C */ cpu->f[1] = fma(cpu->f[13], cpu->f[31], cpu->f[12]);
|
|
/* 02204370 */ _t8 = cpu->r[1] + 0x00000010u;
|
|
/* 02204370 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t8);
|
|
/* 02204374 */ _t9 = cpu->r[1] + 0x00000008u;
|
|
/* 02204374 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t9);
|
|
/* 02204378 */ _t10 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02204378 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02204378 */ if (_t11) goto L_0220437C; // else: addr-0 trap, fall-through
|
|
L_0220437C: ; // 0x220437c
|
|
/* 0220437C */ _t12 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0220437C */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02204380 */ cpu->lr = cpu->r[0];
|
|
/* 02204384 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02204388 */ return;
|
|
}
|
|
|
|
// fn_02204334 @ 0x2204334
|
|
void Gambit_fn_02204334(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12;
|
|
|
|
L_02204334: ; // 0x2204334
|
|
/* 02204334 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02204334 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02204334 */ cpu->r[1] = _t0;
|
|
/* 02204338 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02204338 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[31]);
|
|
/* 0220433C */ /* nop */
|
|
/* 02204340 */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 02204340 */ rbrew_write_f32(cpu->mem, _t2, cpu->f[31]);
|
|
/* 02204344 */ cpu->r[12] = 0x101C0000u;
|
|
/* 02204348 */ _t3 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02204348 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0220434C */ _t4 = cpu->r[12] + 0x00006000u;
|
|
/* 0220434C */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02204350 */ cpu->r[4] = 0x00000002u;
|
|
/* 02204354 */ _t5 = cpu->r[12] + 0x0000027Cu;
|
|
/* 02204354 */ cpu->r[3] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02204358 */ cpu->f[31] = cpu->f[1];
|
|
/* 0220435C */ Gambit_fn_026C0364(cpu);
|
|
/* 02204360 */ _t6 = cpu->r[3] + 0x00000D50u;
|
|
/* 02204360 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t6);
|
|
/* 02204364 */ _t7 = cpu->r[3] + 0x00000DB0u;
|
|
/* 02204364 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t7);
|
|
/* 02204368 */ cpu->f[13] = cpu->f[0] - cpu->f[12];
|
|
/* 0220436C */ cpu->f[1] = fma(cpu->f[13], cpu->f[31], cpu->f[12]);
|
|
/* 02204370 */ _t8 = cpu->r[1] + 0x00000010u;
|
|
/* 02204370 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t8);
|
|
/* 02204374 */ _t9 = cpu->r[1] + 0x00000008u;
|
|
/* 02204374 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t9);
|
|
/* 02204378 */ _t10 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02204378 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02204378 */ if (_t11) goto L_0220437C; // else: addr-0 trap, fall-through
|
|
L_0220437C: ; // 0x220437c
|
|
/* 0220437C */ _t12 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0220437C */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02204380 */ cpu->lr = cpu->r[0];
|
|
/* 02204384 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02204388 */ return;
|
|
}
|
|
|
|
// fn_0220438C @ 0x220438c
|
|
void Gambit_fn_0220438C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t27, _t28, _t29, _t30, _t31, _t32, _t33;
|
|
double _ft25, _ft26;
|
|
|
|
L_0220438C: ; // 0x220438c
|
|
/* 0220438C */ cpu->r[0] = cpu->lr;
|
|
/* 02204390 */ _t0 = cpu->r[1] + 0xFFFFFFC0u;
|
|
/* 02204390 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02204390 */ cpu->r[1] = _t0;
|
|
/* 02204394 */ _t1 = cpu->r[1] + 0x00000020u;
|
|
/* 02204394 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[30]);
|
|
/* 02204398 */ _t2 = cpu->r[1] + 0x00000030u;
|
|
/* 02204398 */ rbrew_write_f64(cpu->mem, _t2, cpu->f[31]);
|
|
/* 0220439C */ /* nop */
|
|
/* 022043A0 */ _t3 = cpu->r[1] + 0x00000028u;
|
|
/* 022043A0 */ rbrew_write_f32(cpu->mem, _t3, cpu->f[30]);
|
|
/* 022043A4 */ /* nop */
|
|
/* 022043A8 */ _t4 = cpu->r[1] + 0x00000038u;
|
|
/* 022043A8 */ rbrew_write_f32(cpu->mem, _t4, cpu->f[31]);
|
|
/* 022043AC */ _t5 = cpu->r[1] + 0x00000044u;
|
|
/* 022043AC */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 022043B0 */ _t6 = cpu->r[4] + 0x00000008u;
|
|
/* 022043B0 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t6);
|
|
/* 022043B4 */ _t7 = cpu->r[4] + 0x00000000u;
|
|
/* 022043B4 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t7);
|
|
/* 022043B8 */ _t8 = cpu->r[1] + 0x00000014u;
|
|
/* 022043B8 */ rbrew_write_f32(cpu->mem, _t8, cpu->f[9]);
|
|
/* 022043BC */ _t9 = cpu->r[1] + 0x00000010u;
|
|
/* 022043BC */ rbrew_write_f32(cpu->mem, _t9, cpu->f[8]);
|
|
/* 022043C0 */ _t10 = cpu->r[1] + 0x00000010u;
|
|
/* 022043C0 */ cpu->r[8] = rbrew_read32(cpu->mem, _t10);
|
|
/* 022043C4 */ _t11 = cpu->r[1] + 0x00000014u;
|
|
/* 022043C4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 022043C8 */ _t12 = cpu->r[1] + 0x00000018u;
|
|
/* 022043C8 */ rbrew_write32(cpu->mem, _t12, cpu->r[8]);
|
|
/* 022043CC */ cpu->r[9] = 0x10040000u;
|
|
/* 022043D0 */ _t13 = cpu->r[1] + 0x0000001Cu;
|
|
/* 022043D0 */ rbrew_write32(cpu->mem, _t13, cpu->r[0]);
|
|
/* 022043D4 */ _t14 = cpu->r[1] + 0x0000001Cu;
|
|
/* 022043D4 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t14);
|
|
/* 022043D8 */ _t15 = cpu->r[9] + 0xFFFFFA68u;
|
|
/* 022043D8 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t15);
|
|
/* 022043DC */ cpu->f[7] = cpu->f[10] * cpu->f[10];
|
|
/* 022043E0 */ _t16 = cpu->r[1] + 0x00000018u;
|
|
/* 022043E0 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t16);
|
|
/* 022043E4 */ _t17 = cpu->r[3] + 0x00000000u;
|
|
/* 022043E4 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t17);
|
|
/* 022043E8 */ cpu->f[6] = fma(cpu->f[11], cpu->f[11], cpu->f[7]);
|
|
/* 022043EC */ _t18 = cpu->r[3] + 0x00000008u;
|
|
/* 022043EC */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t18);
|
|
/* 022043F0 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[6], cpu->f[31]);
|
|
/* 022043F4 */ _t19 = cpu->r[1] + 0x00000008u;
|
|
/* 022043F4 */ rbrew_write_f32(cpu->mem, _t19, cpu->f[13]);
|
|
/* 022043F8 */ _t20 = cpu->r[1] + 0x0000000Cu;
|
|
/* 022043F8 */ rbrew_write_f32(cpu->mem, _t20, cpu->f[0]);
|
|
/* 022043FC */ _t21 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 022043FC */ _t22 = _t21 & 0x00000001u;
|
|
/* 022043FC */ if (_t22) goto L_02204428; else goto L_02204400;
|
|
L_02204400: ; // 0x2204400
|
|
/* 02204400 */ /* nop */
|
|
/* 02204404 */ /* nop */
|
|
/* 02204408 */ /* nop */
|
|
/* 0220440C */ /* nop */
|
|
/* 02204410 */ cpu->r[3] = cpu->r[4];
|
|
/* 02204414 */ cpu->f[30] = cpu->f[10] / cpu->f[6];
|
|
/* 02204418 */ Gambit_fn_02C69350(cpu);
|
|
/* 0220441C */ cpu->f[12] = cpu->f[1] * cpu->f[30];
|
|
/* 02204420 */ /* nop */
|
|
/* 02204424 */ goto L_02204478;
|
|
L_02204428: ; // 0x2204428
|
|
/* 02204428 */ cpu->r[12] = 0x10040000u;
|
|
/* 0220442C */ cpu->r[11] = 0x10040000u;
|
|
/* 02204430 */ _t23 = cpu->r[12] + 0xFFFFFA6Cu;
|
|
/* 02204430 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t23);
|
|
/* 02204434 */ _t24 = cpu->r[11] + 0xFFFFFA70u;
|
|
/* 02204434 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t24);
|
|
/* 02204438 */ _ft25 = sqrt(cpu->f[6]);
|
|
/* 02204438 */ _ft26 = (double)(int32_t)0x00000001u;
|
|
/* 02204438 */ cpu->f[10] = _ft26 / _ft25;
|
|
/* 0220443C */ cpu->f[11] = cpu->f[10] * cpu->f[10];
|
|
/* 02204440 */ cpu->f[0] = cpu->f[10] * cpu->f[12];
|
|
/* 02204444 */ cpu->f[11] = -fma(cpu->f[11], cpu->f[6], -(cpu->f[13]));
|
|
/* 02204448 */ cpu->f[10] = cpu->f[11] * cpu->f[0];
|
|
/* 0220444C */ /* nop */
|
|
/* 02204450 */ cpu->f[6] = cpu->f[6] * cpu->f[10];
|
|
/* 02204454 */ /* nop */
|
|
/* 02204458 */ /* nop */
|
|
/* 0220445C */ /* nop */
|
|
/* 02204460 */ /* nop */
|
|
/* 02204464 */ cpu->r[3] = cpu->r[4];
|
|
/* 02204468 */ cpu->f[30] = cpu->f[10] / cpu->f[6];
|
|
/* 0220446C */ Gambit_fn_02C69350(cpu);
|
|
/* 02204470 */ cpu->f[12] = cpu->f[1] * cpu->f[30];
|
|
/* 02204474 */ /* nop */
|
|
L_02204478: ; // 0x2204478
|
|
/* 02204478 */ _t27 = cpu->r[1] + 0x00000028u;
|
|
/* 02204478 */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t27);
|
|
/* 0220447C */ _t28 = cpu->r[1] + 0x00000038u;
|
|
/* 0220447C */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t28);
|
|
/* 02204480 */ _t29 = cpu->r[1] + 0x00000020u;
|
|
/* 02204480 */ cpu->f[30] = rbrew_read_f64(cpu->mem, _t29);
|
|
/* 02204484 */ _t30 = cpu->r[1] + 0x00000030u;
|
|
/* 02204484 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t30);
|
|
/* 02204488 */ _t31 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02204488 */ _t32 = _t31 & 0x00000001u;
|
|
/* 02204488 */ if (_t32) goto L_0220448C; // else: addr-0 trap, fall-through
|
|
L_0220448C: ; // 0x220448c
|
|
/* 0220448C */ _t33 = cpu->r[1] + 0x00000044u;
|
|
/* 0220448C */ cpu->r[0] = rbrew_read32(cpu->mem, _t33);
|
|
/* 02204490 */ cpu->lr = cpu->r[0];
|
|
/* 02204494 */ cpu->r[1] = cpu->r[1] + 0x00000040u;
|
|
/* 02204498 */ return;
|
|
}
|
|
|
|
// fn_02204390 @ 0x2204390
|
|
void Gambit_fn_02204390(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t27, _t28, _t29, _t30, _t31, _t32, _t33;
|
|
double _ft25, _ft26;
|
|
|
|
L_02204390: ; // 0x2204390
|
|
/* 02204390 */ _t0 = cpu->r[1] + 0xFFFFFFC0u;
|
|
/* 02204390 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02204390 */ cpu->r[1] = _t0;
|
|
/* 02204394 */ _t1 = cpu->r[1] + 0x00000020u;
|
|
/* 02204394 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[30]);
|
|
/* 02204398 */ _t2 = cpu->r[1] + 0x00000030u;
|
|
/* 02204398 */ rbrew_write_f64(cpu->mem, _t2, cpu->f[31]);
|
|
/* 0220439C */ /* nop */
|
|
/* 022043A0 */ _t3 = cpu->r[1] + 0x00000028u;
|
|
/* 022043A0 */ rbrew_write_f32(cpu->mem, _t3, cpu->f[30]);
|
|
/* 022043A4 */ /* nop */
|
|
/* 022043A8 */ _t4 = cpu->r[1] + 0x00000038u;
|
|
/* 022043A8 */ rbrew_write_f32(cpu->mem, _t4, cpu->f[31]);
|
|
/* 022043AC */ _t5 = cpu->r[1] + 0x00000044u;
|
|
/* 022043AC */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 022043B0 */ _t6 = cpu->r[4] + 0x00000008u;
|
|
/* 022043B0 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t6);
|
|
/* 022043B4 */ _t7 = cpu->r[4] + 0x00000000u;
|
|
/* 022043B4 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t7);
|
|
/* 022043B8 */ _t8 = cpu->r[1] + 0x00000014u;
|
|
/* 022043B8 */ rbrew_write_f32(cpu->mem, _t8, cpu->f[9]);
|
|
/* 022043BC */ _t9 = cpu->r[1] + 0x00000010u;
|
|
/* 022043BC */ rbrew_write_f32(cpu->mem, _t9, cpu->f[8]);
|
|
/* 022043C0 */ _t10 = cpu->r[1] + 0x00000010u;
|
|
/* 022043C0 */ cpu->r[8] = rbrew_read32(cpu->mem, _t10);
|
|
/* 022043C4 */ _t11 = cpu->r[1] + 0x00000014u;
|
|
/* 022043C4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 022043C8 */ _t12 = cpu->r[1] + 0x00000018u;
|
|
/* 022043C8 */ rbrew_write32(cpu->mem, _t12, cpu->r[8]);
|
|
/* 022043CC */ cpu->r[9] = 0x10040000u;
|
|
/* 022043D0 */ _t13 = cpu->r[1] + 0x0000001Cu;
|
|
/* 022043D0 */ rbrew_write32(cpu->mem, _t13, cpu->r[0]);
|
|
/* 022043D4 */ _t14 = cpu->r[1] + 0x0000001Cu;
|
|
/* 022043D4 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t14);
|
|
/* 022043D8 */ _t15 = cpu->r[9] + 0xFFFFFA68u;
|
|
/* 022043D8 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t15);
|
|
/* 022043DC */ cpu->f[7] = cpu->f[10] * cpu->f[10];
|
|
/* 022043E0 */ _t16 = cpu->r[1] + 0x00000018u;
|
|
/* 022043E0 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t16);
|
|
/* 022043E4 */ _t17 = cpu->r[3] + 0x00000000u;
|
|
/* 022043E4 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t17);
|
|
/* 022043E8 */ cpu->f[6] = fma(cpu->f[11], cpu->f[11], cpu->f[7]);
|
|
/* 022043EC */ _t18 = cpu->r[3] + 0x00000008u;
|
|
/* 022043EC */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t18);
|
|
/* 022043F0 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[6], cpu->f[31]);
|
|
/* 022043F4 */ _t19 = cpu->r[1] + 0x00000008u;
|
|
/* 022043F4 */ rbrew_write_f32(cpu->mem, _t19, cpu->f[13]);
|
|
/* 022043F8 */ _t20 = cpu->r[1] + 0x0000000Cu;
|
|
/* 022043F8 */ rbrew_write_f32(cpu->mem, _t20, cpu->f[0]);
|
|
/* 022043FC */ _t21 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 022043FC */ _t22 = _t21 & 0x00000001u;
|
|
/* 022043FC */ if (_t22) goto L_02204428; else goto L_02204400;
|
|
L_02204400: ; // 0x2204400
|
|
/* 02204400 */ /* nop */
|
|
/* 02204404 */ /* nop */
|
|
/* 02204408 */ /* nop */
|
|
/* 0220440C */ /* nop */
|
|
/* 02204410 */ cpu->r[3] = cpu->r[4];
|
|
/* 02204414 */ cpu->f[30] = cpu->f[10] / cpu->f[6];
|
|
/* 02204418 */ Gambit_fn_02C69350(cpu);
|
|
/* 0220441C */ cpu->f[12] = cpu->f[1] * cpu->f[30];
|
|
/* 02204420 */ /* nop */
|
|
/* 02204424 */ goto L_02204478;
|
|
L_02204428: ; // 0x2204428
|
|
/* 02204428 */ cpu->r[12] = 0x10040000u;
|
|
/* 0220442C */ cpu->r[11] = 0x10040000u;
|
|
/* 02204430 */ _t23 = cpu->r[12] + 0xFFFFFA6Cu;
|
|
/* 02204430 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t23);
|
|
/* 02204434 */ _t24 = cpu->r[11] + 0xFFFFFA70u;
|
|
/* 02204434 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t24);
|
|
/* 02204438 */ _ft25 = sqrt(cpu->f[6]);
|
|
/* 02204438 */ _ft26 = (double)(int32_t)0x00000001u;
|
|
/* 02204438 */ cpu->f[10] = _ft26 / _ft25;
|
|
/* 0220443C */ cpu->f[11] = cpu->f[10] * cpu->f[10];
|
|
/* 02204440 */ cpu->f[0] = cpu->f[10] * cpu->f[12];
|
|
/* 02204444 */ cpu->f[11] = -fma(cpu->f[11], cpu->f[6], -(cpu->f[13]));
|
|
/* 02204448 */ cpu->f[10] = cpu->f[11] * cpu->f[0];
|
|
/* 0220444C */ /* nop */
|
|
/* 02204450 */ cpu->f[6] = cpu->f[6] * cpu->f[10];
|
|
/* 02204454 */ /* nop */
|
|
/* 02204458 */ /* nop */
|
|
/* 0220445C */ /* nop */
|
|
/* 02204460 */ /* nop */
|
|
/* 02204464 */ cpu->r[3] = cpu->r[4];
|
|
/* 02204468 */ cpu->f[30] = cpu->f[10] / cpu->f[6];
|
|
/* 0220446C */ Gambit_fn_02C69350(cpu);
|
|
/* 02204470 */ cpu->f[12] = cpu->f[1] * cpu->f[30];
|
|
/* 02204474 */ /* nop */
|
|
L_02204478: ; // 0x2204478
|
|
/* 02204478 */ _t27 = cpu->r[1] + 0x00000028u;
|
|
/* 02204478 */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t27);
|
|
/* 0220447C */ _t28 = cpu->r[1] + 0x00000038u;
|
|
/* 0220447C */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t28);
|
|
/* 02204480 */ _t29 = cpu->r[1] + 0x00000020u;
|
|
/* 02204480 */ cpu->f[30] = rbrew_read_f64(cpu->mem, _t29);
|
|
/* 02204484 */ _t30 = cpu->r[1] + 0x00000030u;
|
|
/* 02204484 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t30);
|
|
/* 02204488 */ _t31 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02204488 */ _t32 = _t31 & 0x00000001u;
|
|
/* 02204488 */ if (_t32) goto L_0220448C; // else: addr-0 trap, fall-through
|
|
L_0220448C: ; // 0x220448c
|
|
/* 0220448C */ _t33 = cpu->r[1] + 0x00000044u;
|
|
/* 0220448C */ cpu->r[0] = rbrew_read32(cpu->mem, _t33);
|
|
/* 02204490 */ cpu->lr = cpu->r[0];
|
|
/* 02204494 */ cpu->r[1] = cpu->r[1] + 0x00000040u;
|
|
/* 02204498 */ return;
|
|
}
|
|
|
|
// fn_0220449C @ 0x220449c
|
|
void Gambit_fn_0220449C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2;
|
|
|
|
L_0220449C: ; // 0x220449c
|
|
/* 0220449C */ cpu->r[12] = 0x101E0000u;
|
|
/* 022044A0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], 0x00000004u);
|
|
/* 022044A4 */ cpu->r[12] = cpu->r[12] + 0x00002860u;
|
|
/* 022044A8 */ _t0 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 022044A8 */ _t1 = _t0 & 0x00000001u;
|
|
/* 022044A8 */ if (_t1) goto L_022044AC; else goto L_022044B4;
|
|
L_022044AC: ; // 0x22044ac
|
|
/* 022044AC */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000001u, 0x00000000u, 0x0000001Eu);
|
|
/* 022044B0 */ cpu->r[12] = cpu->r[12] + cpu->r[0];
|
|
L_022044B4: ; // 0x22044b4
|
|
/* 022044B4 */ _t2 = cpu->r[12] + 0x00000000u;
|
|
/* 022044B4 */ cpu->r[3] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t2);
|
|
/* 022044B8 */ return;
|
|
}
|
|
|
|
// fn_022044BC @ 0x22044bc
|
|
void Gambit_fn_022044BC(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_022044BC: ; // 0x22044bc
|
|
/* 022044BC */ cpu->r[0] = 0x101C0000u;
|
|
/* 022044C0 */ cpu->r[12] = rbrew_rlwinm(cpu->r[3], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 022044C4 */ cpu->r[0] = cpu->r[0] + 0x000051ACu;
|
|
/* 022044C8 */ _t0 = cpu->r[12] + cpu->r[0];
|
|
/* 022044C8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t0);
|
|
/* 022044CC */ return;
|
|
}
|
|
|
|
// fn_022044D0 @ 0x22044d0
|
|
void Gambit_fn_022044D0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23;
|
|
|
|
L_022044D0: ; // 0x22044d0
|
|
/* 022044D0 */ _t0 = cpu->r[1] + 0xFFFFFFC8u;
|
|
/* 022044D0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 022044D0 */ cpu->r[1] = _t0;
|
|
/* 022044D4 */ /* nop */
|
|
/* 022044D8 */ cpu->r[0] = cpu->lr;
|
|
/* 022044DC */ cpu->r[31] = cpu->r[3];
|
|
/* 022044E0 */ _t1 = cpu->r[1] + 0x0000003Cu;
|
|
/* 022044E0 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 022044E4 */ Gambit_fn_022061BC(cpu);
|
|
/* 022044E8 */ _t2 = cpu->r[31] + 0x00000024u;
|
|
/* 022044E8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t2);
|
|
/* 022044EC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 022044F0 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 022044F0 */ _t4 = _t3 & 0x00000001u;
|
|
/* 022044F0 */ if (_t4) goto L_022044F4; else goto L_022045A0;
|
|
L_022044F4: ; // 0x22044f4
|
|
/* 022044F4 */ cpu->r[30] = 0x101E0000u;
|
|
/* 022044F8 */ cpu->r[28] = 0x10040000u;
|
|
/* 022044FC */ cpu->r[26] = 0x00000000u;
|
|
/* 02204500 */ cpu->r[30] = cpu->r[30] + 0x00002860u;
|
|
/* 02204504 */ cpu->r[28] = cpu->r[28] + 0xFFFFF948u;
|
|
/* 02204508 */ cpu->r[29] = 0x00000004u;
|
|
/* 0220450C */ cpu->r[27] = cpu->r[26];
|
|
/* 02204510 */ cpu->r[31] = cpu->r[30];
|
|
/* 02204514 */ cpu->r[25] = 0xFFFFFFFFu;
|
|
/* 02204518 */ cpu->r[24] = 0x101C0000u;
|
|
L_0220451C: ; // 0x220451c
|
|
/* 0220451C */ _t5 = cpu->r[24] + 0x00001344u;
|
|
/* 0220451C */ cpu->r[10] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02204520 */ cpu->r[3] = rbrew_rlwinm(cpu->r[26], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 02204524 */ _t6 = cpu->r[10] + 0x0000001Cu;
|
|
/* 02204524 */ cpu->r[8] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02204528 */ Gambit_fn_022044BC(cpu);
|
|
/* 0220452C */ cpu->r[4] = cpu->r[1] + 0x00000010u;
|
|
/* 02204530 */ _t7 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02204530 */ rbrew_write32(cpu->mem, _t7, cpu->r[28]);
|
|
/* 02204534 */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 02204538 */ _t8 = cpu->r[1] + 0x00000008u;
|
|
/* 02204538 */ rbrew_write32(cpu->mem, _t8, cpu->r[3]);
|
|
/* 0220453C */ cpu->r[3] = cpu->r[8];
|
|
/* 02204540 */ _t9 = cpu->r[1] + 0x00000010u;
|
|
/* 02204540 */ rbrew_write32(cpu->mem, _t9, cpu->r[27]);
|
|
/* 02204544 */ Gambit_fn_02022278(cpu);
|
|
/* 02204548 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0220454C */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0220454C */ _t11 = _t10 & 0x00000001u;
|
|
/* 0220454C */ if (_t11) goto L_0220457C; else goto L_02204550;
|
|
L_02204550: ; // 0x2204550
|
|
/* 02204550 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[26], 0x00000004u);
|
|
/* 02204554 */ cpu->r[12] = cpu->r[31];
|
|
/* 02204558 */ _t12 = cpu->r[3] + 0x00000000u;
|
|
/* 02204558 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0220455C */ _t13 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0220455C */ _t14 = _t13 & 0x00000001u;
|
|
/* 0220455C */ if (_t14) goto L_02204560; else goto L_02204564;
|
|
L_02204560: ; // 0x2204560
|
|
/* 02204560 */ cpu->r[12] = cpu->r[30];
|
|
L_02204564: ; // 0x2204564
|
|
/* 02204564 */ _t15 = cpu->r[12] + 0x00000000u;
|
|
/* 02204564 */ rbrew_write16(cpu->mem, _t15, (uint16_t)cpu->r[0]);
|
|
/* 02204568 */ cpu->r[29] = cpu->r[29] + 0xFFFFFFFFu;
|
|
/* 02204568 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 0220456C */ cpu->r[26] = cpu->r[26] + 0x00000001u;
|
|
/* 02204570 */ cpu->r[30] = cpu->r[30] + 0x00000002u;
|
|
/* 02204574 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02204574 */ _t17 = _t16 & 0x00000001u;
|
|
/* 02204574 */ if (_t17) goto L_02204578; else goto L_0220451C;
|
|
L_02204578: ; // 0x2204578
|
|
/* 02204578 */ goto L_022045A0;
|
|
L_0220457C: ; // 0x220457c
|
|
/* 0220457C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[26], 0x00000004u);
|
|
/* 02204580 */ cpu->r[6] = cpu->r[31];
|
|
/* 02204584 */ _t18 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02204584 */ _t19 = _t18 & 0x00000001u;
|
|
/* 02204584 */ if (_t19) goto L_02204588; else goto L_0220458C;
|
|
L_02204588: ; // 0x2204588
|
|
/* 02204588 */ cpu->r[6] = cpu->r[30];
|
|
L_0220458C: ; // 0x220458c
|
|
/* 0220458C */ _t20 = cpu->r[6] + 0x00000000u;
|
|
/* 0220458C */ rbrew_write16(cpu->mem, _t20, (uint16_t)cpu->r[25]);
|
|
/* 02204590 */ cpu->r[29] = cpu->r[29] + 0xFFFFFFFFu;
|
|
/* 02204590 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 02204594 */ cpu->r[26] = cpu->r[26] + 0x00000001u;
|
|
/* 02204598 */ cpu->r[30] = cpu->r[30] + 0x00000002u;
|
|
/* 0220459C */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0220459C */ _t22 = _t21 & 0x00000001u;
|
|
/* 0220459C */ if (_t22) goto L_022045A0; else goto L_0220451C;
|
|
L_022045A0: ; // 0x22045a0
|
|
/* 022045A0 */ /* nop */
|
|
/* 022045A4 */ _t23 = cpu->r[1] + 0x0000003Cu;
|
|
/* 022045A4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t23);
|
|
/* 022045A8 */ cpu->lr = cpu->r[0];
|
|
/* 022045AC */ cpu->r[1] = cpu->r[1] + 0x00000038u;
|
|
/* 022045B0 */ return;
|
|
}
|
|
|
|
// fn_022045B4 @ 0x22045b4
|
|
void Gambit_fn_022045B4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12;
|
|
|
|
L_022045B4: ; // 0x22045b4
|
|
/* 022045B4 */ cpu->r[0] = cpu->lr;
|
|
/* 022045B8 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 022045B8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 022045B8 */ cpu->r[1] = _t0;
|
|
/* 022045BC */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 022045BC */ rbrew_write_f64(cpu->mem, _t1, cpu->f[31]);
|
|
/* 022045C0 */ /* nop */
|
|
/* 022045C4 */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 022045C4 */ rbrew_write_f32(cpu->mem, _t2, cpu->f[31]);
|
|
/* 022045C8 */ cpu->r[12] = 0x101C0000u;
|
|
/* 022045CC */ _t3 = cpu->r[1] + 0x0000001Cu;
|
|
/* 022045CC */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 022045D0 */ _t4 = cpu->r[12] + 0x00006000u;
|
|
/* 022045D0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 022045D4 */ cpu->r[4] = 0x00000007u;
|
|
/* 022045D8 */ _t5 = cpu->r[12] + 0x0000027Cu;
|
|
/* 022045D8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t5);
|
|
/* 022045DC */ cpu->f[31] = cpu->f[1];
|
|
/* 022045E0 */ Gambit_fn_026C0364(cpu);
|
|
/* 022045E4 */ _t6 = cpu->r[3] + 0x00000D50u;
|
|
/* 022045E4 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t6);
|
|
/* 022045E8 */ _t7 = cpu->r[3] + 0x00000DB0u;
|
|
/* 022045E8 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t7);
|
|
/* 022045EC */ cpu->f[13] = cpu->f[0] - cpu->f[12];
|
|
/* 022045F0 */ cpu->f[1] = fma(cpu->f[13], cpu->f[31], cpu->f[12]);
|
|
/* 022045F4 */ _t8 = cpu->r[1] + 0x00000010u;
|
|
/* 022045F4 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t8);
|
|
/* 022045F8 */ _t9 = cpu->r[1] + 0x00000008u;
|
|
/* 022045F8 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t9);
|
|
/* 022045FC */ _t10 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 022045FC */ _t11 = _t10 & 0x00000001u;
|
|
/* 022045FC */ if (_t11) goto L_02204600; // else: addr-0 trap, fall-through
|
|
L_02204600: ; // 0x2204600
|
|
/* 02204600 */ _t12 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02204600 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02204604 */ cpu->lr = cpu->r[0];
|
|
/* 02204608 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0220460C */ return;
|
|
}
|
|
|
|
// fn_022045B8 @ 0x22045b8
|
|
void Gambit_fn_022045B8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12;
|
|
|
|
L_022045B8: ; // 0x22045b8
|
|
/* 022045B8 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 022045B8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 022045B8 */ cpu->r[1] = _t0;
|
|
/* 022045BC */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 022045BC */ rbrew_write_f64(cpu->mem, _t1, cpu->f[31]);
|
|
/* 022045C0 */ /* nop */
|
|
/* 022045C4 */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 022045C4 */ rbrew_write_f32(cpu->mem, _t2, cpu->f[31]);
|
|
/* 022045C8 */ cpu->r[12] = 0x101C0000u;
|
|
/* 022045CC */ _t3 = cpu->r[1] + 0x0000001Cu;
|
|
/* 022045CC */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 022045D0 */ _t4 = cpu->r[12] + 0x00006000u;
|
|
/* 022045D0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 022045D4 */ cpu->r[4] = 0x00000007u;
|
|
/* 022045D8 */ _t5 = cpu->r[12] + 0x0000027Cu;
|
|
/* 022045D8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t5);
|
|
/* 022045DC */ cpu->f[31] = cpu->f[1];
|
|
/* 022045E0 */ Gambit_fn_026C0364(cpu);
|
|
/* 022045E4 */ _t6 = cpu->r[3] + 0x00000D50u;
|
|
/* 022045E4 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t6);
|
|
/* 022045E8 */ _t7 = cpu->r[3] + 0x00000DB0u;
|
|
/* 022045E8 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t7);
|
|
/* 022045EC */ cpu->f[13] = cpu->f[0] - cpu->f[12];
|
|
/* 022045F0 */ cpu->f[1] = fma(cpu->f[13], cpu->f[31], cpu->f[12]);
|
|
/* 022045F4 */ _t8 = cpu->r[1] + 0x00000010u;
|
|
/* 022045F4 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t8);
|
|
/* 022045F8 */ _t9 = cpu->r[1] + 0x00000008u;
|
|
/* 022045F8 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t9);
|
|
/* 022045FC */ _t10 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 022045FC */ _t11 = _t10 & 0x00000001u;
|
|
/* 022045FC */ if (_t11) goto L_02204600; // else: addr-0 trap, fall-through
|
|
L_02204600: ; // 0x2204600
|
|
/* 02204600 */ _t12 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02204600 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02204604 */ cpu->lr = cpu->r[0];
|
|
/* 02204608 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0220460C */ return;
|
|
}
|
|
|
|
// fn_02204610 @ 0x2204610
|
|
void Gambit_fn_02204610(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t27, _t28, _t29, _t30, _t31, _t32, _t33;
|
|
double _ft25, _ft26;
|
|
|
|
L_02204610: ; // 0x2204610
|
|
/* 02204610 */ cpu->r[0] = cpu->lr;
|
|
/* 02204614 */ _t0 = cpu->r[1] + 0xFFFFFFC0u;
|
|
/* 02204614 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02204614 */ cpu->r[1] = _t0;
|
|
/* 02204618 */ _t1 = cpu->r[1] + 0x00000020u;
|
|
/* 02204618 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[30]);
|
|
/* 0220461C */ _t2 = cpu->r[1] + 0x00000030u;
|
|
/* 0220461C */ rbrew_write_f64(cpu->mem, _t2, cpu->f[31]);
|
|
/* 02204620 */ /* nop */
|
|
/* 02204624 */ _t3 = cpu->r[1] + 0x00000028u;
|
|
/* 02204624 */ rbrew_write_f32(cpu->mem, _t3, cpu->f[30]);
|
|
/* 02204628 */ /* nop */
|
|
/* 0220462C */ _t4 = cpu->r[1] + 0x00000038u;
|
|
/* 0220462C */ rbrew_write_f32(cpu->mem, _t4, cpu->f[31]);
|
|
/* 02204630 */ _t5 = cpu->r[1] + 0x00000044u;
|
|
/* 02204630 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02204634 */ _t6 = cpu->r[4] + 0x00000008u;
|
|
/* 02204634 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t6);
|
|
/* 02204638 */ _t7 = cpu->r[4] + 0x00000000u;
|
|
/* 02204638 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t7);
|
|
/* 0220463C */ _t8 = cpu->r[1] + 0x00000014u;
|
|
/* 0220463C */ rbrew_write_f32(cpu->mem, _t8, cpu->f[9]);
|
|
/* 02204640 */ _t9 = cpu->r[1] + 0x00000010u;
|
|
/* 02204640 */ rbrew_write_f32(cpu->mem, _t9, cpu->f[8]);
|
|
/* 02204644 */ _t10 = cpu->r[1] + 0x00000010u;
|
|
/* 02204644 */ cpu->r[8] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02204648 */ _t11 = cpu->r[1] + 0x00000014u;
|
|
/* 02204648 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0220464C */ _t12 = cpu->r[1] + 0x00000018u;
|
|
/* 0220464C */ rbrew_write32(cpu->mem, _t12, cpu->r[8]);
|
|
/* 02204650 */ cpu->r[9] = 0x10040000u;
|
|
/* 02204654 */ _t13 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02204654 */ rbrew_write32(cpu->mem, _t13, cpu->r[0]);
|
|
/* 02204658 */ _t14 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02204658 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t14);
|
|
/* 0220465C */ _t15 = cpu->r[9] + 0xFFFFFA68u;
|
|
/* 0220465C */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t15);
|
|
/* 02204660 */ cpu->f[7] = cpu->f[10] * cpu->f[10];
|
|
/* 02204664 */ _t16 = cpu->r[1] + 0x00000018u;
|
|
/* 02204664 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t16);
|
|
/* 02204668 */ _t17 = cpu->r[3] + 0x00000000u;
|
|
/* 02204668 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t17);
|
|
/* 0220466C */ cpu->f[6] = fma(cpu->f[11], cpu->f[11], cpu->f[7]);
|
|
/* 02204670 */ _t18 = cpu->r[3] + 0x00000008u;
|
|
/* 02204670 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t18);
|
|
/* 02204674 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[6], cpu->f[31]);
|
|
/* 02204678 */ _t19 = cpu->r[1] + 0x00000008u;
|
|
/* 02204678 */ rbrew_write_f32(cpu->mem, _t19, cpu->f[13]);
|
|
/* 0220467C */ _t20 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0220467C */ rbrew_write_f32(cpu->mem, _t20, cpu->f[0]);
|
|
/* 02204680 */ _t21 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02204680 */ _t22 = _t21 & 0x00000001u;
|
|
/* 02204680 */ if (_t22) goto L_022046AC; else goto L_02204684;
|
|
L_02204684: ; // 0x2204684
|
|
/* 02204684 */ /* nop */
|
|
/* 02204688 */ /* nop */
|
|
/* 0220468C */ /* nop */
|
|
/* 02204690 */ /* nop */
|
|
/* 02204694 */ cpu->r[3] = cpu->r[4];
|
|
/* 02204698 */ cpu->f[30] = cpu->f[10] / cpu->f[6];
|
|
/* 0220469C */ Gambit_fn_02C69350(cpu);
|
|
/* 022046A0 */ cpu->f[12] = cpu->f[1] * cpu->f[30];
|
|
/* 022046A4 */ /* nop */
|
|
/* 022046A8 */ goto L_022046FC;
|
|
L_022046AC: ; // 0x22046ac
|
|
/* 022046AC */ cpu->r[12] = 0x10040000u;
|
|
/* 022046B0 */ cpu->r[11] = 0x10040000u;
|
|
/* 022046B4 */ _t23 = cpu->r[12] + 0xFFFFFA6Cu;
|
|
/* 022046B4 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t23);
|
|
/* 022046B8 */ _t24 = cpu->r[11] + 0xFFFFFA70u;
|
|
/* 022046B8 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t24);
|
|
/* 022046BC */ _ft25 = sqrt(cpu->f[6]);
|
|
/* 022046BC */ _ft26 = (double)(int32_t)0x00000001u;
|
|
/* 022046BC */ cpu->f[10] = _ft26 / _ft25;
|
|
/* 022046C0 */ cpu->f[11] = cpu->f[10] * cpu->f[10];
|
|
/* 022046C4 */ cpu->f[0] = cpu->f[10] * cpu->f[12];
|
|
/* 022046C8 */ cpu->f[11] = -fma(cpu->f[11], cpu->f[6], -(cpu->f[13]));
|
|
/* 022046CC */ cpu->f[10] = cpu->f[11] * cpu->f[0];
|
|
/* 022046D0 */ /* nop */
|
|
/* 022046D4 */ cpu->f[6] = cpu->f[6] * cpu->f[10];
|
|
/* 022046D8 */ /* nop */
|
|
/* 022046DC */ /* nop */
|
|
/* 022046E0 */ /* nop */
|
|
/* 022046E4 */ /* nop */
|
|
/* 022046E8 */ cpu->r[3] = cpu->r[4];
|
|
/* 022046EC */ cpu->f[30] = cpu->f[10] / cpu->f[6];
|
|
/* 022046F0 */ Gambit_fn_02C69350(cpu);
|
|
/* 022046F4 */ cpu->f[12] = cpu->f[1] * cpu->f[30];
|
|
/* 022046F8 */ /* nop */
|
|
L_022046FC: ; // 0x22046fc
|
|
/* 022046FC */ _t27 = cpu->r[1] + 0x00000028u;
|
|
/* 022046FC */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t27);
|
|
/* 02204700 */ _t28 = cpu->r[1] + 0x00000038u;
|
|
/* 02204700 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t28);
|
|
/* 02204704 */ _t29 = cpu->r[1] + 0x00000020u;
|
|
/* 02204704 */ cpu->f[30] = rbrew_read_f64(cpu->mem, _t29);
|
|
/* 02204708 */ _t30 = cpu->r[1] + 0x00000030u;
|
|
/* 02204708 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t30);
|
|
/* 0220470C */ _t31 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0220470C */ _t32 = _t31 & 0x00000001u;
|
|
/* 0220470C */ if (_t32) goto L_02204710; // else: addr-0 trap, fall-through
|
|
L_02204710: ; // 0x2204710
|
|
/* 02204710 */ _t33 = cpu->r[1] + 0x00000044u;
|
|
/* 02204710 */ cpu->r[0] = rbrew_read32(cpu->mem, _t33);
|
|
/* 02204714 */ cpu->lr = cpu->r[0];
|
|
/* 02204718 */ cpu->r[1] = cpu->r[1] + 0x00000040u;
|
|
/* 0220471C */ return;
|
|
}
|
|
|
|
// fn_02204614 @ 0x2204614
|
|
void Gambit_fn_02204614(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t27, _t28, _t29, _t30, _t31, _t32, _t33;
|
|
double _ft25, _ft26;
|
|
|
|
L_02204614: ; // 0x2204614
|
|
/* 02204614 */ _t0 = cpu->r[1] + 0xFFFFFFC0u;
|
|
/* 02204614 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02204614 */ cpu->r[1] = _t0;
|
|
/* 02204618 */ _t1 = cpu->r[1] + 0x00000020u;
|
|
/* 02204618 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[30]);
|
|
/* 0220461C */ _t2 = cpu->r[1] + 0x00000030u;
|
|
/* 0220461C */ rbrew_write_f64(cpu->mem, _t2, cpu->f[31]);
|
|
/* 02204620 */ /* nop */
|
|
/* 02204624 */ _t3 = cpu->r[1] + 0x00000028u;
|
|
/* 02204624 */ rbrew_write_f32(cpu->mem, _t3, cpu->f[30]);
|
|
/* 02204628 */ /* nop */
|
|
/* 0220462C */ _t4 = cpu->r[1] + 0x00000038u;
|
|
/* 0220462C */ rbrew_write_f32(cpu->mem, _t4, cpu->f[31]);
|
|
/* 02204630 */ _t5 = cpu->r[1] + 0x00000044u;
|
|
/* 02204630 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02204634 */ _t6 = cpu->r[4] + 0x00000008u;
|
|
/* 02204634 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t6);
|
|
/* 02204638 */ _t7 = cpu->r[4] + 0x00000000u;
|
|
/* 02204638 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t7);
|
|
/* 0220463C */ _t8 = cpu->r[1] + 0x00000014u;
|
|
/* 0220463C */ rbrew_write_f32(cpu->mem, _t8, cpu->f[9]);
|
|
/* 02204640 */ _t9 = cpu->r[1] + 0x00000010u;
|
|
/* 02204640 */ rbrew_write_f32(cpu->mem, _t9, cpu->f[8]);
|
|
/* 02204644 */ _t10 = cpu->r[1] + 0x00000010u;
|
|
/* 02204644 */ cpu->r[8] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02204648 */ _t11 = cpu->r[1] + 0x00000014u;
|
|
/* 02204648 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0220464C */ _t12 = cpu->r[1] + 0x00000018u;
|
|
/* 0220464C */ rbrew_write32(cpu->mem, _t12, cpu->r[8]);
|
|
/* 02204650 */ cpu->r[9] = 0x10040000u;
|
|
/* 02204654 */ _t13 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02204654 */ rbrew_write32(cpu->mem, _t13, cpu->r[0]);
|
|
/* 02204658 */ _t14 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02204658 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t14);
|
|
/* 0220465C */ _t15 = cpu->r[9] + 0xFFFFFA68u;
|
|
/* 0220465C */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t15);
|
|
/* 02204660 */ cpu->f[7] = cpu->f[10] * cpu->f[10];
|
|
/* 02204664 */ _t16 = cpu->r[1] + 0x00000018u;
|
|
/* 02204664 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t16);
|
|
/* 02204668 */ _t17 = cpu->r[3] + 0x00000000u;
|
|
/* 02204668 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t17);
|
|
/* 0220466C */ cpu->f[6] = fma(cpu->f[11], cpu->f[11], cpu->f[7]);
|
|
/* 02204670 */ _t18 = cpu->r[3] + 0x00000008u;
|
|
/* 02204670 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t18);
|
|
/* 02204674 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[6], cpu->f[31]);
|
|
/* 02204678 */ _t19 = cpu->r[1] + 0x00000008u;
|
|
/* 02204678 */ rbrew_write_f32(cpu->mem, _t19, cpu->f[13]);
|
|
/* 0220467C */ _t20 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0220467C */ rbrew_write_f32(cpu->mem, _t20, cpu->f[0]);
|
|
/* 02204680 */ _t21 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02204680 */ _t22 = _t21 & 0x00000001u;
|
|
/* 02204680 */ if (_t22) goto L_022046AC; else goto L_02204684;
|
|
L_02204684: ; // 0x2204684
|
|
/* 02204684 */ /* nop */
|
|
/* 02204688 */ /* nop */
|
|
/* 0220468C */ /* nop */
|
|
/* 02204690 */ /* nop */
|
|
/* 02204694 */ cpu->r[3] = cpu->r[4];
|
|
/* 02204698 */ cpu->f[30] = cpu->f[10] / cpu->f[6];
|
|
/* 0220469C */ Gambit_fn_02C69350(cpu);
|
|
/* 022046A0 */ cpu->f[12] = cpu->f[1] * cpu->f[30];
|
|
/* 022046A4 */ /* nop */
|
|
/* 022046A8 */ goto L_022046FC;
|
|
L_022046AC: ; // 0x22046ac
|
|
/* 022046AC */ cpu->r[12] = 0x10040000u;
|
|
/* 022046B0 */ cpu->r[11] = 0x10040000u;
|
|
/* 022046B4 */ _t23 = cpu->r[12] + 0xFFFFFA6Cu;
|
|
/* 022046B4 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t23);
|
|
/* 022046B8 */ _t24 = cpu->r[11] + 0xFFFFFA70u;
|
|
/* 022046B8 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t24);
|
|
/* 022046BC */ _ft25 = sqrt(cpu->f[6]);
|
|
/* 022046BC */ _ft26 = (double)(int32_t)0x00000001u;
|
|
/* 022046BC */ cpu->f[10] = _ft26 / _ft25;
|
|
/* 022046C0 */ cpu->f[11] = cpu->f[10] * cpu->f[10];
|
|
/* 022046C4 */ cpu->f[0] = cpu->f[10] * cpu->f[12];
|
|
/* 022046C8 */ cpu->f[11] = -fma(cpu->f[11], cpu->f[6], -(cpu->f[13]));
|
|
/* 022046CC */ cpu->f[10] = cpu->f[11] * cpu->f[0];
|
|
/* 022046D0 */ /* nop */
|
|
/* 022046D4 */ cpu->f[6] = cpu->f[6] * cpu->f[10];
|
|
/* 022046D8 */ /* nop */
|
|
/* 022046DC */ /* nop */
|
|
/* 022046E0 */ /* nop */
|
|
/* 022046E4 */ /* nop */
|
|
/* 022046E8 */ cpu->r[3] = cpu->r[4];
|
|
/* 022046EC */ cpu->f[30] = cpu->f[10] / cpu->f[6];
|
|
/* 022046F0 */ Gambit_fn_02C69350(cpu);
|
|
/* 022046F4 */ cpu->f[12] = cpu->f[1] * cpu->f[30];
|
|
/* 022046F8 */ /* nop */
|
|
L_022046FC: ; // 0x22046fc
|
|
/* 022046FC */ _t27 = cpu->r[1] + 0x00000028u;
|
|
/* 022046FC */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t27);
|
|
/* 02204700 */ _t28 = cpu->r[1] + 0x00000038u;
|
|
/* 02204700 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t28);
|
|
/* 02204704 */ _t29 = cpu->r[1] + 0x00000020u;
|
|
/* 02204704 */ cpu->f[30] = rbrew_read_f64(cpu->mem, _t29);
|
|
/* 02204708 */ _t30 = cpu->r[1] + 0x00000030u;
|
|
/* 02204708 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t30);
|
|
/* 0220470C */ _t31 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0220470C */ _t32 = _t31 & 0x00000001u;
|
|
/* 0220470C */ if (_t32) goto L_02204710; // else: addr-0 trap, fall-through
|
|
L_02204710: ; // 0x2204710
|
|
/* 02204710 */ _t33 = cpu->r[1] + 0x00000044u;
|
|
/* 02204710 */ cpu->r[0] = rbrew_read32(cpu->mem, _t33);
|
|
/* 02204714 */ cpu->lr = cpu->r[0];
|
|
/* 02204718 */ cpu->r[1] = cpu->r[1] + 0x00000040u;
|
|
/* 0220471C */ return;
|
|
}
|
|
|
|
// fn_02204720 @ 0x2204720
|
|
void Gambit_fn_02204720(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2;
|
|
|
|
L_02204720: ; // 0x2204720
|
|
/* 02204720 */ cpu->r[12] = 0x101E0000u;
|
|
/* 02204724 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], 0x00000004u);
|
|
/* 02204728 */ cpu->r[12] = cpu->r[12] + 0x00002868u;
|
|
/* 0220472C */ _t0 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0220472C */ _t1 = _t0 & 0x00000001u;
|
|
/* 0220472C */ if (_t1) goto L_02204730; else goto L_02204738;
|
|
L_02204730: ; // 0x2204730
|
|
/* 02204730 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000001u, 0x00000000u, 0x0000001Eu);
|
|
/* 02204734 */ cpu->r[12] = cpu->r[12] + cpu->r[0];
|
|
L_02204738: ; // 0x2204738
|
|
/* 02204738 */ _t2 = cpu->r[12] + 0x00000000u;
|
|
/* 02204738 */ cpu->r[3] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t2);
|
|
/* 0220473C */ return;
|
|
}
|
|
|
|
// fn_02204740 @ 0x2204740
|
|
void Gambit_fn_02204740(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_02204740: ; // 0x2204740
|
|
/* 02204740 */ cpu->r[0] = 0x101C0000u;
|
|
/* 02204744 */ cpu->r[12] = rbrew_rlwinm(cpu->r[3], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02204748 */ cpu->r[0] = cpu->r[0] + 0x000051BCu;
|
|
/* 0220474C */ _t0 = cpu->r[12] + cpu->r[0];
|
|
/* 0220474C */ cpu->r[3] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02204750 */ return;
|
|
}
|
|
|
|
// fn_02204754 @ 0x2204754
|
|
void Gambit_fn_02204754(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23;
|
|
|
|
L_02204754: ; // 0x2204754
|
|
/* 02204754 */ _t0 = cpu->r[1] + 0xFFFFFFC8u;
|
|
/* 02204754 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02204754 */ cpu->r[1] = _t0;
|
|
/* 02204758 */ /* nop */
|
|
/* 0220475C */ cpu->r[0] = cpu->lr;
|
|
/* 02204760 */ cpu->r[31] = cpu->r[3];
|
|
/* 02204764 */ _t1 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02204764 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02204768 */ Gambit_fn_022061BC(cpu);
|
|
/* 0220476C */ _t2 = cpu->r[31] + 0x00000024u;
|
|
/* 0220476C */ cpu->r[9] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02204770 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 02204774 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02204774 */ _t4 = _t3 & 0x00000001u;
|
|
/* 02204774 */ if (_t4) goto L_02204778; else goto L_02204824;
|
|
L_02204778: ; // 0x2204778
|
|
/* 02204778 */ cpu->r[30] = 0x101E0000u;
|
|
/* 0220477C */ cpu->r[28] = 0x10040000u;
|
|
/* 02204780 */ cpu->r[26] = 0x00000000u;
|
|
/* 02204784 */ cpu->r[30] = cpu->r[30] + 0x00002868u;
|
|
/* 02204788 */ cpu->r[28] = cpu->r[28] + 0xFFFFF948u;
|
|
/* 0220478C */ cpu->r[29] = 0x00000004u;
|
|
/* 02204790 */ cpu->r[27] = cpu->r[26];
|
|
/* 02204794 */ cpu->r[31] = cpu->r[30];
|
|
/* 02204798 */ cpu->r[25] = 0xFFFFFFFFu;
|
|
/* 0220479C */ cpu->r[24] = 0x101C0000u;
|
|
L_022047A0: ; // 0x22047a0
|
|
/* 022047A0 */ _t5 = cpu->r[24] + 0x00001344u;
|
|
/* 022047A0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t5);
|
|
/* 022047A4 */ cpu->r[3] = rbrew_rlwinm(cpu->r[26], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 022047A8 */ _t6 = cpu->r[10] + 0x0000001Cu;
|
|
/* 022047A8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t6);
|
|
/* 022047AC */ Gambit_fn_02204740(cpu);
|
|
/* 022047B0 */ cpu->r[4] = cpu->r[1] + 0x00000010u;
|
|
/* 022047B4 */ _t7 = cpu->r[1] + 0x0000000Cu;
|
|
/* 022047B4 */ rbrew_write32(cpu->mem, _t7, cpu->r[28]);
|
|
/* 022047B8 */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 022047BC */ _t8 = cpu->r[1] + 0x00000008u;
|
|
/* 022047BC */ rbrew_write32(cpu->mem, _t8, cpu->r[3]);
|
|
/* 022047C0 */ cpu->r[3] = cpu->r[8];
|
|
/* 022047C4 */ _t9 = cpu->r[1] + 0x00000010u;
|
|
/* 022047C4 */ rbrew_write32(cpu->mem, _t9, cpu->r[27]);
|
|
/* 022047C8 */ Gambit_fn_02022278(cpu);
|
|
/* 022047CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 022047D0 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 022047D0 */ _t11 = _t10 & 0x00000001u;
|
|
/* 022047D0 */ if (_t11) goto L_02204800; else goto L_022047D4;
|
|
L_022047D4: ; // 0x22047d4
|
|
/* 022047D4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[26], 0x00000004u);
|
|
/* 022047D8 */ cpu->r[12] = cpu->r[31];
|
|
/* 022047DC */ _t12 = cpu->r[3] + 0x00000000u;
|
|
/* 022047DC */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 022047E0 */ _t13 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 022047E0 */ _t14 = _t13 & 0x00000001u;
|
|
/* 022047E0 */ if (_t14) goto L_022047E4; else goto L_022047E8;
|
|
L_022047E4: ; // 0x22047e4
|
|
/* 022047E4 */ cpu->r[12] = cpu->r[30];
|
|
L_022047E8: ; // 0x22047e8
|
|
/* 022047E8 */ _t15 = cpu->r[12] + 0x00000000u;
|
|
/* 022047E8 */ rbrew_write16(cpu->mem, _t15, (uint16_t)cpu->r[0]);
|
|
/* 022047EC */ cpu->r[29] = cpu->r[29] + 0xFFFFFFFFu;
|
|
/* 022047EC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 022047F0 */ cpu->r[26] = cpu->r[26] + 0x00000001u;
|
|
/* 022047F4 */ cpu->r[30] = cpu->r[30] + 0x00000002u;
|
|
/* 022047F8 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 022047F8 */ _t17 = _t16 & 0x00000001u;
|
|
/* 022047F8 */ if (_t17) goto L_022047FC; else goto L_022047A0;
|
|
L_022047FC: ; // 0x22047fc
|
|
/* 022047FC */ goto L_02204824;
|
|
L_02204800: ; // 0x2204800
|
|
/* 02204800 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[26], 0x00000004u);
|
|
/* 02204804 */ cpu->r[6] = cpu->r[31];
|
|
/* 02204808 */ _t18 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02204808 */ _t19 = _t18 & 0x00000001u;
|
|
/* 02204808 */ if (_t19) goto L_0220480C; else goto L_02204810;
|
|
L_0220480C: ; // 0x220480c
|
|
/* 0220480C */ cpu->r[6] = cpu->r[30];
|
|
L_02204810: ; // 0x2204810
|
|
/* 02204810 */ _t20 = cpu->r[6] + 0x00000000u;
|
|
/* 02204810 */ rbrew_write16(cpu->mem, _t20, (uint16_t)cpu->r[25]);
|
|
/* 02204814 */ cpu->r[29] = cpu->r[29] + 0xFFFFFFFFu;
|
|
/* 02204814 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 02204818 */ cpu->r[26] = cpu->r[26] + 0x00000001u;
|
|
/* 0220481C */ cpu->r[30] = cpu->r[30] + 0x00000002u;
|
|
/* 02204820 */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02204820 */ _t22 = _t21 & 0x00000001u;
|
|
/* 02204820 */ if (_t22) goto L_02204824; else goto L_022047A0;
|
|
L_02204824: ; // 0x2204824
|
|
/* 02204824 */ /* nop */
|
|
/* 02204828 */ _t23 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02204828 */ cpu->r[0] = rbrew_read32(cpu->mem, _t23);
|
|
/* 0220482C */ cpu->lr = cpu->r[0];
|
|
/* 02204830 */ cpu->r[1] = cpu->r[1] + 0x00000038u;
|
|
/* 02204834 */ return;
|
|
}
|
|
|
|
// fn_02204838 @ 0x2204838
|
|
void Gambit_fn_02204838(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12;
|
|
|
|
L_02204838: ; // 0x2204838
|
|
/* 02204838 */ cpu->r[0] = cpu->lr;
|
|
/* 0220483C */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0220483C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0220483C */ cpu->r[1] = _t0;
|
|
/* 02204840 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02204840 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[31]);
|
|
/* 02204844 */ /* nop */
|
|
/* 02204848 */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 02204848 */ rbrew_write_f32(cpu->mem, _t2, cpu->f[31]);
|
|
/* 0220484C */ cpu->r[12] = 0x101C0000u;
|
|
/* 02204850 */ _t3 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02204850 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02204854 */ _t4 = cpu->r[12] + 0x00006000u;
|
|
/* 02204854 */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02204858 */ cpu->r[4] = 0x00000005u;
|
|
/* 0220485C */ _t5 = cpu->r[12] + 0x0000027Cu;
|
|
/* 0220485C */ cpu->r[3] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02204860 */ cpu->f[31] = cpu->f[1];
|
|
/* 02204864 */ Gambit_fn_026C0364(cpu);
|
|
/* 02204868 */ _t6 = cpu->r[3] + 0x00000D50u;
|
|
/* 02204868 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t6);
|
|
/* 0220486C */ _t7 = cpu->r[3] + 0x00000DB0u;
|
|
/* 0220486C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t7);
|
|
/* 02204870 */ cpu->f[13] = cpu->f[0] - cpu->f[12];
|
|
/* 02204874 */ cpu->f[1] = fma(cpu->f[13], cpu->f[31], cpu->f[12]);
|
|
/* 02204878 */ _t8 = cpu->r[1] + 0x00000010u;
|
|
/* 02204878 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t8);
|
|
/* 0220487C */ _t9 = cpu->r[1] + 0x00000008u;
|
|
/* 0220487C */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t9);
|
|
/* 02204880 */ _t10 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02204880 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02204880 */ if (_t11) goto L_02204884; // else: addr-0 trap, fall-through
|
|
L_02204884: ; // 0x2204884
|
|
/* 02204884 */ _t12 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02204884 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02204888 */ cpu->lr = cpu->r[0];
|
|
/* 0220488C */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02204890 */ return;
|
|
}
|
|
|
|
// fn_0220483C @ 0x220483c
|
|
void Gambit_fn_0220483C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12;
|
|
|
|
L_0220483C: ; // 0x220483c
|
|
/* 0220483C */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0220483C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0220483C */ cpu->r[1] = _t0;
|
|
/* 02204840 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02204840 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[31]);
|
|
/* 02204844 */ /* nop */
|
|
/* 02204848 */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 02204848 */ rbrew_write_f32(cpu->mem, _t2, cpu->f[31]);
|
|
/* 0220484C */ cpu->r[12] = 0x101C0000u;
|
|
/* 02204850 */ _t3 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02204850 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02204854 */ _t4 = cpu->r[12] + 0x00006000u;
|
|
/* 02204854 */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02204858 */ cpu->r[4] = 0x00000005u;
|
|
/* 0220485C */ _t5 = cpu->r[12] + 0x0000027Cu;
|
|
/* 0220485C */ cpu->r[3] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02204860 */ cpu->f[31] = cpu->f[1];
|
|
/* 02204864 */ Gambit_fn_026C0364(cpu);
|
|
/* 02204868 */ _t6 = cpu->r[3] + 0x00000D50u;
|
|
/* 02204868 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t6);
|
|
/* 0220486C */ _t7 = cpu->r[3] + 0x00000DB0u;
|
|
/* 0220486C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t7);
|
|
/* 02204870 */ cpu->f[13] = cpu->f[0] - cpu->f[12];
|
|
/* 02204874 */ cpu->f[1] = fma(cpu->f[13], cpu->f[31], cpu->f[12]);
|
|
/* 02204878 */ _t8 = cpu->r[1] + 0x00000010u;
|
|
/* 02204878 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t8);
|
|
/* 0220487C */ _t9 = cpu->r[1] + 0x00000008u;
|
|
/* 0220487C */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t9);
|
|
/* 02204880 */ _t10 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02204880 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02204880 */ if (_t11) goto L_02204884; // else: addr-0 trap, fall-through
|
|
L_02204884: ; // 0x2204884
|
|
/* 02204884 */ _t12 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02204884 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02204888 */ cpu->lr = cpu->r[0];
|
|
/* 0220488C */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02204890 */ return;
|
|
}
|
|
|
|
// fn_02204894 @ 0x2204894
|
|
void Gambit_fn_02204894(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t27, _t28, _t29, _t30, _t31, _t32, _t33;
|
|
double _ft25, _ft26;
|
|
|
|
L_02204894: ; // 0x2204894
|
|
/* 02204894 */ cpu->r[0] = cpu->lr;
|
|
/* 02204898 */ _t0 = cpu->r[1] + 0xFFFFFFC0u;
|
|
/* 02204898 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02204898 */ cpu->r[1] = _t0;
|
|
/* 0220489C */ _t1 = cpu->r[1] + 0x00000020u;
|
|
/* 0220489C */ rbrew_write_f64(cpu->mem, _t1, cpu->f[30]);
|
|
/* 022048A0 */ _t2 = cpu->r[1] + 0x00000030u;
|
|
/* 022048A0 */ rbrew_write_f64(cpu->mem, _t2, cpu->f[31]);
|
|
/* 022048A4 */ /* nop */
|
|
/* 022048A8 */ _t3 = cpu->r[1] + 0x00000028u;
|
|
/* 022048A8 */ rbrew_write_f32(cpu->mem, _t3, cpu->f[30]);
|
|
/* 022048AC */ /* nop */
|
|
/* 022048B0 */ _t4 = cpu->r[1] + 0x00000038u;
|
|
/* 022048B0 */ rbrew_write_f32(cpu->mem, _t4, cpu->f[31]);
|
|
/* 022048B4 */ _t5 = cpu->r[1] + 0x00000044u;
|
|
/* 022048B4 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 022048B8 */ _t6 = cpu->r[4] + 0x00000008u;
|
|
/* 022048B8 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t6);
|
|
/* 022048BC */ _t7 = cpu->r[4] + 0x00000000u;
|
|
/* 022048BC */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t7);
|
|
/* 022048C0 */ _t8 = cpu->r[1] + 0x00000014u;
|
|
/* 022048C0 */ rbrew_write_f32(cpu->mem, _t8, cpu->f[9]);
|
|
/* 022048C4 */ _t9 = cpu->r[1] + 0x00000010u;
|
|
/* 022048C4 */ rbrew_write_f32(cpu->mem, _t9, cpu->f[8]);
|
|
/* 022048C8 */ _t10 = cpu->r[1] + 0x00000010u;
|
|
/* 022048C8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t10);
|
|
/* 022048CC */ _t11 = cpu->r[1] + 0x00000014u;
|
|
/* 022048CC */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 022048D0 */ _t12 = cpu->r[1] + 0x00000018u;
|
|
/* 022048D0 */ rbrew_write32(cpu->mem, _t12, cpu->r[8]);
|
|
/* 022048D4 */ cpu->r[9] = 0x10040000u;
|
|
/* 022048D8 */ _t13 = cpu->r[1] + 0x0000001Cu;
|
|
/* 022048D8 */ rbrew_write32(cpu->mem, _t13, cpu->r[0]);
|
|
/* 022048DC */ _t14 = cpu->r[1] + 0x0000001Cu;
|
|
/* 022048DC */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t14);
|
|
/* 022048E0 */ _t15 = cpu->r[9] + 0xFFFFFA68u;
|
|
/* 022048E0 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t15);
|
|
/* 022048E4 */ cpu->f[7] = cpu->f[10] * cpu->f[10];
|
|
/* 022048E8 */ _t16 = cpu->r[1] + 0x00000018u;
|
|
/* 022048E8 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t16);
|
|
/* 022048EC */ _t17 = cpu->r[3] + 0x00000000u;
|
|
/* 022048EC */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t17);
|
|
/* 022048F0 */ cpu->f[6] = fma(cpu->f[11], cpu->f[11], cpu->f[7]);
|
|
/* 022048F4 */ _t18 = cpu->r[3] + 0x00000008u;
|
|
/* 022048F4 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t18);
|
|
/* 022048F8 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[6], cpu->f[31]);
|
|
/* 022048FC */ _t19 = cpu->r[1] + 0x00000008u;
|
|
/* 022048FC */ rbrew_write_f32(cpu->mem, _t19, cpu->f[13]);
|
|
/* 02204900 */ _t20 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02204900 */ rbrew_write_f32(cpu->mem, _t20, cpu->f[0]);
|
|
/* 02204904 */ _t21 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02204904 */ _t22 = _t21 & 0x00000001u;
|
|
/* 02204904 */ if (_t22) goto L_02204930; else goto L_02204908;
|
|
L_02204908: ; // 0x2204908
|
|
/* 02204908 */ /* nop */
|
|
/* 0220490C */ /* nop */
|
|
/* 02204910 */ /* nop */
|
|
/* 02204914 */ /* nop */
|
|
/* 02204918 */ cpu->r[3] = cpu->r[4];
|
|
/* 0220491C */ cpu->f[30] = cpu->f[10] / cpu->f[6];
|
|
/* 02204920 */ Gambit_fn_02C69350(cpu);
|
|
/* 02204924 */ cpu->f[12] = cpu->f[1] * cpu->f[30];
|
|
/* 02204928 */ /* nop */
|
|
/* 0220492C */ goto L_02204980;
|
|
L_02204930: ; // 0x2204930
|
|
/* 02204930 */ cpu->r[12] = 0x10040000u;
|
|
/* 02204934 */ cpu->r[11] = 0x10040000u;
|
|
/* 02204938 */ _t23 = cpu->r[12] + 0xFFFFFA6Cu;
|
|
/* 02204938 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t23);
|
|
/* 0220493C */ _t24 = cpu->r[11] + 0xFFFFFA70u;
|
|
/* 0220493C */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t24);
|
|
/* 02204940 */ _ft25 = sqrt(cpu->f[6]);
|
|
/* 02204940 */ _ft26 = (double)(int32_t)0x00000001u;
|
|
/* 02204940 */ cpu->f[10] = _ft26 / _ft25;
|
|
/* 02204944 */ cpu->f[11] = cpu->f[10] * cpu->f[10];
|
|
/* 02204948 */ cpu->f[0] = cpu->f[10] * cpu->f[12];
|
|
/* 0220494C */ cpu->f[11] = -fma(cpu->f[11], cpu->f[6], -(cpu->f[13]));
|
|
/* 02204950 */ cpu->f[10] = cpu->f[11] * cpu->f[0];
|
|
/* 02204954 */ /* nop */
|
|
/* 02204958 */ cpu->f[6] = cpu->f[6] * cpu->f[10];
|
|
/* 0220495C */ /* nop */
|
|
/* 02204960 */ /* nop */
|
|
/* 02204964 */ /* nop */
|
|
/* 02204968 */ /* nop */
|
|
/* 0220496C */ cpu->r[3] = cpu->r[4];
|
|
/* 02204970 */ cpu->f[30] = cpu->f[10] / cpu->f[6];
|
|
/* 02204974 */ Gambit_fn_02C69350(cpu);
|
|
/* 02204978 */ cpu->f[12] = cpu->f[1] * cpu->f[30];
|
|
/* 0220497C */ /* nop */
|
|
L_02204980: ; // 0x2204980
|
|
/* 02204980 */ _t27 = cpu->r[1] + 0x00000028u;
|
|
/* 02204980 */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t27);
|
|
/* 02204984 */ _t28 = cpu->r[1] + 0x00000038u;
|
|
/* 02204984 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t28);
|
|
/* 02204988 */ _t29 = cpu->r[1] + 0x00000020u;
|
|
/* 02204988 */ cpu->f[30] = rbrew_read_f64(cpu->mem, _t29);
|
|
/* 0220498C */ _t30 = cpu->r[1] + 0x00000030u;
|
|
/* 0220498C */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t30);
|
|
/* 02204990 */ _t31 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02204990 */ _t32 = _t31 & 0x00000001u;
|
|
/* 02204990 */ if (_t32) goto L_02204994; // else: addr-0 trap, fall-through
|
|
L_02204994: ; // 0x2204994
|
|
/* 02204994 */ _t33 = cpu->r[1] + 0x00000044u;
|
|
/* 02204994 */ cpu->r[0] = rbrew_read32(cpu->mem, _t33);
|
|
/* 02204998 */ cpu->lr = cpu->r[0];
|
|
/* 0220499C */ cpu->r[1] = cpu->r[1] + 0x00000040u;
|
|
/* 022049A0 */ return;
|
|
}
|
|
|
|
// fn_02204898 @ 0x2204898
|
|
void Gambit_fn_02204898(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t27, _t28, _t29, _t30, _t31, _t32, _t33;
|
|
double _ft25, _ft26;
|
|
|
|
L_02204898: ; // 0x2204898
|
|
/* 02204898 */ _t0 = cpu->r[1] + 0xFFFFFFC0u;
|
|
/* 02204898 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02204898 */ cpu->r[1] = _t0;
|
|
/* 0220489C */ _t1 = cpu->r[1] + 0x00000020u;
|
|
/* 0220489C */ rbrew_write_f64(cpu->mem, _t1, cpu->f[30]);
|
|
/* 022048A0 */ _t2 = cpu->r[1] + 0x00000030u;
|
|
/* 022048A0 */ rbrew_write_f64(cpu->mem, _t2, cpu->f[31]);
|
|
/* 022048A4 */ /* nop */
|
|
/* 022048A8 */ _t3 = cpu->r[1] + 0x00000028u;
|
|
/* 022048A8 */ rbrew_write_f32(cpu->mem, _t3, cpu->f[30]);
|
|
/* 022048AC */ /* nop */
|
|
/* 022048B0 */ _t4 = cpu->r[1] + 0x00000038u;
|
|
/* 022048B0 */ rbrew_write_f32(cpu->mem, _t4, cpu->f[31]);
|
|
/* 022048B4 */ _t5 = cpu->r[1] + 0x00000044u;
|
|
/* 022048B4 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 022048B8 */ _t6 = cpu->r[4] + 0x00000008u;
|
|
/* 022048B8 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t6);
|
|
/* 022048BC */ _t7 = cpu->r[4] + 0x00000000u;
|
|
/* 022048BC */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t7);
|
|
/* 022048C0 */ _t8 = cpu->r[1] + 0x00000014u;
|
|
/* 022048C0 */ rbrew_write_f32(cpu->mem, _t8, cpu->f[9]);
|
|
/* 022048C4 */ _t9 = cpu->r[1] + 0x00000010u;
|
|
/* 022048C4 */ rbrew_write_f32(cpu->mem, _t9, cpu->f[8]);
|
|
/* 022048C8 */ _t10 = cpu->r[1] + 0x00000010u;
|
|
/* 022048C8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t10);
|
|
/* 022048CC */ _t11 = cpu->r[1] + 0x00000014u;
|
|
/* 022048CC */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 022048D0 */ _t12 = cpu->r[1] + 0x00000018u;
|
|
/* 022048D0 */ rbrew_write32(cpu->mem, _t12, cpu->r[8]);
|
|
/* 022048D4 */ cpu->r[9] = 0x10040000u;
|
|
/* 022048D8 */ _t13 = cpu->r[1] + 0x0000001Cu;
|
|
/* 022048D8 */ rbrew_write32(cpu->mem, _t13, cpu->r[0]);
|
|
/* 022048DC */ _t14 = cpu->r[1] + 0x0000001Cu;
|
|
/* 022048DC */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t14);
|
|
/* 022048E0 */ _t15 = cpu->r[9] + 0xFFFFFA68u;
|
|
/* 022048E0 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t15);
|
|
/* 022048E4 */ cpu->f[7] = cpu->f[10] * cpu->f[10];
|
|
/* 022048E8 */ _t16 = cpu->r[1] + 0x00000018u;
|
|
/* 022048E8 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t16);
|
|
/* 022048EC */ _t17 = cpu->r[3] + 0x00000000u;
|
|
/* 022048EC */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t17);
|
|
/* 022048F0 */ cpu->f[6] = fma(cpu->f[11], cpu->f[11], cpu->f[7]);
|
|
/* 022048F4 */ _t18 = cpu->r[3] + 0x00000008u;
|
|
/* 022048F4 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t18);
|
|
/* 022048F8 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[6], cpu->f[31]);
|
|
/* 022048FC */ _t19 = cpu->r[1] + 0x00000008u;
|
|
/* 022048FC */ rbrew_write_f32(cpu->mem, _t19, cpu->f[13]);
|
|
/* 02204900 */ _t20 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02204900 */ rbrew_write_f32(cpu->mem, _t20, cpu->f[0]);
|
|
/* 02204904 */ _t21 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02204904 */ _t22 = _t21 & 0x00000001u;
|
|
/* 02204904 */ if (_t22) goto L_02204930; else goto L_02204908;
|
|
L_02204908: ; // 0x2204908
|
|
/* 02204908 */ /* nop */
|
|
/* 0220490C */ /* nop */
|
|
/* 02204910 */ /* nop */
|
|
/* 02204914 */ /* nop */
|
|
/* 02204918 */ cpu->r[3] = cpu->r[4];
|
|
/* 0220491C */ cpu->f[30] = cpu->f[10] / cpu->f[6];
|
|
/* 02204920 */ Gambit_fn_02C69350(cpu);
|
|
/* 02204924 */ cpu->f[12] = cpu->f[1] * cpu->f[30];
|
|
/* 02204928 */ /* nop */
|
|
/* 0220492C */ goto L_02204980;
|
|
L_02204930: ; // 0x2204930
|
|
/* 02204930 */ cpu->r[12] = 0x10040000u;
|
|
/* 02204934 */ cpu->r[11] = 0x10040000u;
|
|
/* 02204938 */ _t23 = cpu->r[12] + 0xFFFFFA6Cu;
|
|
/* 02204938 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t23);
|
|
/* 0220493C */ _t24 = cpu->r[11] + 0xFFFFFA70u;
|
|
/* 0220493C */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t24);
|
|
/* 02204940 */ _ft25 = sqrt(cpu->f[6]);
|
|
/* 02204940 */ _ft26 = (double)(int32_t)0x00000001u;
|
|
/* 02204940 */ cpu->f[10] = _ft26 / _ft25;
|
|
/* 02204944 */ cpu->f[11] = cpu->f[10] * cpu->f[10];
|
|
/* 02204948 */ cpu->f[0] = cpu->f[10] * cpu->f[12];
|
|
/* 0220494C */ cpu->f[11] = -fma(cpu->f[11], cpu->f[6], -(cpu->f[13]));
|
|
/* 02204950 */ cpu->f[10] = cpu->f[11] * cpu->f[0];
|
|
/* 02204954 */ /* nop */
|
|
/* 02204958 */ cpu->f[6] = cpu->f[6] * cpu->f[10];
|
|
/* 0220495C */ /* nop */
|
|
/* 02204960 */ /* nop */
|
|
/* 02204964 */ /* nop */
|
|
/* 02204968 */ /* nop */
|
|
/* 0220496C */ cpu->r[3] = cpu->r[4];
|
|
/* 02204970 */ cpu->f[30] = cpu->f[10] / cpu->f[6];
|
|
/* 02204974 */ Gambit_fn_02C69350(cpu);
|
|
/* 02204978 */ cpu->f[12] = cpu->f[1] * cpu->f[30];
|
|
/* 0220497C */ /* nop */
|
|
L_02204980: ; // 0x2204980
|
|
/* 02204980 */ _t27 = cpu->r[1] + 0x00000028u;
|
|
/* 02204980 */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t27);
|
|
/* 02204984 */ _t28 = cpu->r[1] + 0x00000038u;
|
|
/* 02204984 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t28);
|
|
/* 02204988 */ _t29 = cpu->r[1] + 0x00000020u;
|
|
/* 02204988 */ cpu->f[30] = rbrew_read_f64(cpu->mem, _t29);
|
|
/* 0220498C */ _t30 = cpu->r[1] + 0x00000030u;
|
|
/* 0220498C */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t30);
|
|
/* 02204990 */ _t31 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02204990 */ _t32 = _t31 & 0x00000001u;
|
|
/* 02204990 */ if (_t32) goto L_02204994; // else: addr-0 trap, fall-through
|
|
L_02204994: ; // 0x2204994
|
|
/* 02204994 */ _t33 = cpu->r[1] + 0x00000044u;
|
|
/* 02204994 */ cpu->r[0] = rbrew_read32(cpu->mem, _t33);
|
|
/* 02204998 */ cpu->lr = cpu->r[0];
|
|
/* 0220499C */ cpu->r[1] = cpu->r[1] + 0x00000040u;
|
|
/* 022049A0 */ return;
|
|
}
|
|
|
|
// fn_022049A4 @ 0x22049a4
|
|
void Gambit_fn_022049A4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2;
|
|
|
|
L_022049A4: ; // 0x22049a4
|
|
/* 022049A4 */ cpu->r[12] = 0x101E0000u;
|
|
/* 022049A8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], 0x00000004u);
|
|
/* 022049AC */ cpu->r[12] = cpu->r[12] + 0x00002870u;
|
|
/* 022049B0 */ _t0 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 022049B0 */ _t1 = _t0 & 0x00000001u;
|
|
/* 022049B0 */ if (_t1) goto L_022049B4; else goto L_022049BC;
|
|
L_022049B4: ; // 0x22049b4
|
|
/* 022049B4 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000001u, 0x00000000u, 0x0000001Eu);
|
|
/* 022049B8 */ cpu->r[12] = cpu->r[12] + cpu->r[0];
|
|
L_022049BC: ; // 0x22049bc
|
|
/* 022049BC */ _t2 = cpu->r[12] + 0x00000000u;
|
|
/* 022049BC */ cpu->r[3] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t2);
|
|
/* 022049C0 */ return;
|
|
}
|
|
|
|
// fn_022049C4 @ 0x22049c4
|
|
void Gambit_fn_022049C4(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_022049C4: ; // 0x22049c4
|
|
/* 022049C4 */ cpu->r[0] = 0x101C0000u;
|
|
/* 022049C8 */ cpu->r[12] = rbrew_rlwinm(cpu->r[3], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 022049CC */ cpu->r[0] = cpu->r[0] + 0x000051CCu;
|
|
/* 022049D0 */ _t0 = cpu->r[12] + cpu->r[0];
|
|
/* 022049D0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t0);
|
|
/* 022049D4 */ return;
|
|
}
|
|
|
|
// fn_022049D8 @ 0x22049d8
|
|
void Gambit_fn_022049D8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23;
|
|
|
|
L_022049D8: ; // 0x22049d8
|
|
/* 022049D8 */ _t0 = cpu->r[1] + 0xFFFFFFC8u;
|
|
/* 022049D8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 022049D8 */ cpu->r[1] = _t0;
|
|
/* 022049DC */ /* nop */
|
|
/* 022049E0 */ cpu->r[0] = cpu->lr;
|
|
/* 022049E4 */ cpu->r[31] = cpu->r[3];
|
|
/* 022049E8 */ _t1 = cpu->r[1] + 0x0000003Cu;
|
|
/* 022049E8 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 022049EC */ Gambit_fn_022061BC(cpu);
|
|
/* 022049F0 */ _t2 = cpu->r[31] + 0x00000024u;
|
|
/* 022049F0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t2);
|
|
/* 022049F4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 022049F8 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 022049F8 */ _t4 = _t3 & 0x00000001u;
|
|
/* 022049F8 */ if (_t4) goto L_022049FC; else goto L_02204AA8;
|
|
L_022049FC: ; // 0x22049fc
|
|
/* 022049FC */ cpu->r[30] = 0x101E0000u;
|
|
/* 02204A00 */ cpu->r[28] = 0x10040000u;
|
|
/* 02204A04 */ cpu->r[26] = 0x00000000u;
|
|
/* 02204A08 */ cpu->r[30] = cpu->r[30] + 0x00002870u;
|
|
/* 02204A0C */ cpu->r[28] = cpu->r[28] + 0xFFFFF948u;
|
|
/* 02204A10 */ cpu->r[29] = 0x00000004u;
|
|
/* 02204A14 */ cpu->r[27] = cpu->r[26];
|
|
/* 02204A18 */ cpu->r[31] = cpu->r[30];
|
|
/* 02204A1C */ cpu->r[25] = 0xFFFFFFFFu;
|
|
/* 02204A20 */ cpu->r[24] = 0x101C0000u;
|
|
L_02204A24: ; // 0x2204a24
|
|
/* 02204A24 */ _t5 = cpu->r[24] + 0x00001344u;
|
|
/* 02204A24 */ cpu->r[10] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02204A28 */ cpu->r[3] = rbrew_rlwinm(cpu->r[26], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 02204A2C */ _t6 = cpu->r[10] + 0x0000001Cu;
|
|
/* 02204A2C */ cpu->r[8] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02204A30 */ Gambit_fn_022049C4(cpu);
|
|
/* 02204A34 */ cpu->r[4] = cpu->r[1] + 0x00000010u;
|
|
/* 02204A38 */ _t7 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02204A38 */ rbrew_write32(cpu->mem, _t7, cpu->r[28]);
|
|
/* 02204A3C */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 02204A40 */ _t8 = cpu->r[1] + 0x00000008u;
|
|
/* 02204A40 */ rbrew_write32(cpu->mem, _t8, cpu->r[3]);
|
|
/* 02204A44 */ cpu->r[3] = cpu->r[8];
|
|
/* 02204A48 */ _t9 = cpu->r[1] + 0x00000010u;
|
|
/* 02204A48 */ rbrew_write32(cpu->mem, _t9, cpu->r[27]);
|
|
/* 02204A4C */ Gambit_fn_02022278(cpu);
|
|
/* 02204A50 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02204A54 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02204A54 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02204A54 */ if (_t11) goto L_02204A84; else goto L_02204A58;
|
|
L_02204A58: ; // 0x2204a58
|
|
/* 02204A58 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[26], 0x00000004u);
|
|
/* 02204A5C */ cpu->r[12] = cpu->r[31];
|
|
/* 02204A60 */ _t12 = cpu->r[3] + 0x00000000u;
|
|
/* 02204A60 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02204A64 */ _t13 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02204A64 */ _t14 = _t13 & 0x00000001u;
|
|
/* 02204A64 */ if (_t14) goto L_02204A68; else goto L_02204A6C;
|
|
L_02204A68: ; // 0x2204a68
|
|
/* 02204A68 */ cpu->r[12] = cpu->r[30];
|
|
L_02204A6C: ; // 0x2204a6c
|
|
/* 02204A6C */ _t15 = cpu->r[12] + 0x00000000u;
|
|
/* 02204A6C */ rbrew_write16(cpu->mem, _t15, (uint16_t)cpu->r[0]);
|
|
/* 02204A70 */ cpu->r[29] = cpu->r[29] + 0xFFFFFFFFu;
|
|
/* 02204A70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 02204A74 */ cpu->r[26] = cpu->r[26] + 0x00000001u;
|
|
/* 02204A78 */ cpu->r[30] = cpu->r[30] + 0x00000002u;
|
|
/* 02204A7C */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02204A7C */ _t17 = _t16 & 0x00000001u;
|
|
/* 02204A7C */ if (_t17) goto L_02204A80; else goto L_02204A24;
|
|
L_02204A80: ; // 0x2204a80
|
|
/* 02204A80 */ goto L_02204AA8;
|
|
L_02204A84: ; // 0x2204a84
|
|
/* 02204A84 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[26], 0x00000004u);
|
|
/* 02204A88 */ cpu->r[6] = cpu->r[31];
|
|
/* 02204A8C */ _t18 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02204A8C */ _t19 = _t18 & 0x00000001u;
|
|
/* 02204A8C */ if (_t19) goto L_02204A90; else goto L_02204A94;
|
|
L_02204A90: ; // 0x2204a90
|
|
/* 02204A90 */ cpu->r[6] = cpu->r[30];
|
|
L_02204A94: ; // 0x2204a94
|
|
/* 02204A94 */ _t20 = cpu->r[6] + 0x00000000u;
|
|
/* 02204A94 */ rbrew_write16(cpu->mem, _t20, (uint16_t)cpu->r[25]);
|
|
/* 02204A98 */ cpu->r[29] = cpu->r[29] + 0xFFFFFFFFu;
|
|
/* 02204A98 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 02204A9C */ cpu->r[26] = cpu->r[26] + 0x00000001u;
|
|
/* 02204AA0 */ cpu->r[30] = cpu->r[30] + 0x00000002u;
|
|
/* 02204AA4 */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02204AA4 */ _t22 = _t21 & 0x00000001u;
|
|
/* 02204AA4 */ if (_t22) goto L_02204AA8; else goto L_02204A24;
|
|
L_02204AA8: ; // 0x2204aa8
|
|
/* 02204AA8 */ /* nop */
|
|
/* 02204AAC */ _t23 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02204AAC */ cpu->r[0] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02204AB0 */ cpu->lr = cpu->r[0];
|
|
/* 02204AB4 */ cpu->r[1] = cpu->r[1] + 0x00000038u;
|
|
/* 02204AB8 */ return;
|
|
}
|
|
|
|
// fn_02204ABC @ 0x2204abc
|
|
void Gambit_fn_02204ABC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12;
|
|
|
|
L_02204ABC: ; // 0x2204abc
|
|
/* 02204ABC */ cpu->r[0] = cpu->lr;
|
|
/* 02204AC0 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02204AC0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02204AC0 */ cpu->r[1] = _t0;
|
|
/* 02204AC4 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02204AC4 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[31]);
|
|
/* 02204AC8 */ /* nop */
|
|
/* 02204ACC */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 02204ACC */ rbrew_write_f32(cpu->mem, _t2, cpu->f[31]);
|
|
/* 02204AD0 */ cpu->r[12] = 0x101C0000u;
|
|
/* 02204AD4 */ _t3 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02204AD4 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02204AD8 */ _t4 = cpu->r[12] + 0x00006000u;
|
|
/* 02204AD8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02204ADC */ cpu->r[4] = 0x00000009u;
|
|
/* 02204AE0 */ _t5 = cpu->r[12] + 0x0000027Cu;
|
|
/* 02204AE0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02204AE4 */ cpu->f[31] = cpu->f[1];
|
|
/* 02204AE8 */ Gambit_fn_026C0364(cpu);
|
|
/* 02204AEC */ _t6 = cpu->r[3] + 0x00000D50u;
|
|
/* 02204AEC */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t6);
|
|
/* 02204AF0 */ _t7 = cpu->r[3] + 0x00000DB0u;
|
|
/* 02204AF0 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t7);
|
|
/* 02204AF4 */ cpu->f[13] = cpu->f[0] - cpu->f[12];
|
|
/* 02204AF8 */ cpu->f[1] = fma(cpu->f[13], cpu->f[31], cpu->f[12]);
|
|
/* 02204AFC */ _t8 = cpu->r[1] + 0x00000010u;
|
|
/* 02204AFC */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t8);
|
|
/* 02204B00 */ _t9 = cpu->r[1] + 0x00000008u;
|
|
/* 02204B00 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t9);
|
|
/* 02204B04 */ _t10 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02204B04 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02204B04 */ if (_t11) goto L_02204B08; // else: addr-0 trap, fall-through
|
|
L_02204B08: ; // 0x2204b08
|
|
/* 02204B08 */ _t12 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02204B08 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02204B0C */ cpu->lr = cpu->r[0];
|
|
/* 02204B10 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02204B14 */ return;
|
|
}
|
|
|
|
// fn_02204AC0 @ 0x2204ac0
|
|
void Gambit_fn_02204AC0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12;
|
|
|
|
L_02204AC0: ; // 0x2204ac0
|
|
/* 02204AC0 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02204AC0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02204AC0 */ cpu->r[1] = _t0;
|
|
/* 02204AC4 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02204AC4 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[31]);
|
|
/* 02204AC8 */ /* nop */
|
|
/* 02204ACC */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 02204ACC */ rbrew_write_f32(cpu->mem, _t2, cpu->f[31]);
|
|
/* 02204AD0 */ cpu->r[12] = 0x101C0000u;
|
|
/* 02204AD4 */ _t3 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02204AD4 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02204AD8 */ _t4 = cpu->r[12] + 0x00006000u;
|
|
/* 02204AD8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02204ADC */ cpu->r[4] = 0x00000009u;
|
|
/* 02204AE0 */ _t5 = cpu->r[12] + 0x0000027Cu;
|
|
/* 02204AE0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02204AE4 */ cpu->f[31] = cpu->f[1];
|
|
/* 02204AE8 */ Gambit_fn_026C0364(cpu);
|
|
/* 02204AEC */ _t6 = cpu->r[3] + 0x00000D50u;
|
|
/* 02204AEC */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t6);
|
|
/* 02204AF0 */ _t7 = cpu->r[3] + 0x00000DB0u;
|
|
/* 02204AF0 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t7);
|
|
/* 02204AF4 */ cpu->f[13] = cpu->f[0] - cpu->f[12];
|
|
/* 02204AF8 */ cpu->f[1] = fma(cpu->f[13], cpu->f[31], cpu->f[12]);
|
|
/* 02204AFC */ _t8 = cpu->r[1] + 0x00000010u;
|
|
/* 02204AFC */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t8);
|
|
/* 02204B00 */ _t9 = cpu->r[1] + 0x00000008u;
|
|
/* 02204B00 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t9);
|
|
/* 02204B04 */ _t10 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02204B04 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02204B04 */ if (_t11) goto L_02204B08; // else: addr-0 trap, fall-through
|
|
L_02204B08: ; // 0x2204b08
|
|
/* 02204B08 */ _t12 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02204B08 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02204B0C */ cpu->lr = cpu->r[0];
|
|
/* 02204B10 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02204B14 */ return;
|
|
}
|
|
|
|
// fn_02204B18 @ 0x2204b18
|
|
void Gambit_fn_02204B18(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t27, _t28, _t29, _t30, _t31, _t32, _t33;
|
|
double _ft25, _ft26;
|
|
|
|
L_02204B18: ; // 0x2204b18
|
|
/* 02204B18 */ cpu->r[0] = cpu->lr;
|
|
/* 02204B1C */ _t0 = cpu->r[1] + 0xFFFFFFC0u;
|
|
/* 02204B1C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02204B1C */ cpu->r[1] = _t0;
|
|
/* 02204B20 */ _t1 = cpu->r[1] + 0x00000020u;
|
|
/* 02204B20 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[30]);
|
|
/* 02204B24 */ _t2 = cpu->r[1] + 0x00000030u;
|
|
/* 02204B24 */ rbrew_write_f64(cpu->mem, _t2, cpu->f[31]);
|
|
/* 02204B28 */ /* nop */
|
|
/* 02204B2C */ _t3 = cpu->r[1] + 0x00000028u;
|
|
/* 02204B2C */ rbrew_write_f32(cpu->mem, _t3, cpu->f[30]);
|
|
/* 02204B30 */ /* nop */
|
|
/* 02204B34 */ _t4 = cpu->r[1] + 0x00000038u;
|
|
/* 02204B34 */ rbrew_write_f32(cpu->mem, _t4, cpu->f[31]);
|
|
/* 02204B38 */ _t5 = cpu->r[1] + 0x00000044u;
|
|
/* 02204B38 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02204B3C */ _t6 = cpu->r[4] + 0x00000008u;
|
|
/* 02204B3C */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t6);
|
|
/* 02204B40 */ _t7 = cpu->r[4] + 0x00000000u;
|
|
/* 02204B40 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t7);
|
|
/* 02204B44 */ _t8 = cpu->r[1] + 0x00000014u;
|
|
/* 02204B44 */ rbrew_write_f32(cpu->mem, _t8, cpu->f[9]);
|
|
/* 02204B48 */ _t9 = cpu->r[1] + 0x00000010u;
|
|
/* 02204B48 */ rbrew_write_f32(cpu->mem, _t9, cpu->f[8]);
|
|
/* 02204B4C */ _t10 = cpu->r[1] + 0x00000010u;
|
|
/* 02204B4C */ cpu->r[8] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02204B50 */ _t11 = cpu->r[1] + 0x00000014u;
|
|
/* 02204B50 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02204B54 */ _t12 = cpu->r[1] + 0x00000018u;
|
|
/* 02204B54 */ rbrew_write32(cpu->mem, _t12, cpu->r[8]);
|
|
/* 02204B58 */ cpu->r[9] = 0x10040000u;
|
|
/* 02204B5C */ _t13 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02204B5C */ rbrew_write32(cpu->mem, _t13, cpu->r[0]);
|
|
/* 02204B60 */ _t14 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02204B60 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t14);
|
|
/* 02204B64 */ _t15 = cpu->r[9] + 0xFFFFFA68u;
|
|
/* 02204B64 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t15);
|
|
/* 02204B68 */ cpu->f[7] = cpu->f[10] * cpu->f[10];
|
|
/* 02204B6C */ _t16 = cpu->r[1] + 0x00000018u;
|
|
/* 02204B6C */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t16);
|
|
/* 02204B70 */ _t17 = cpu->r[3] + 0x00000000u;
|
|
/* 02204B70 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t17);
|
|
/* 02204B74 */ cpu->f[6] = fma(cpu->f[11], cpu->f[11], cpu->f[7]);
|
|
/* 02204B78 */ _t18 = cpu->r[3] + 0x00000008u;
|
|
/* 02204B78 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t18);
|
|
/* 02204B7C */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[6], cpu->f[31]);
|
|
/* 02204B80 */ _t19 = cpu->r[1] + 0x00000008u;
|
|
/* 02204B80 */ rbrew_write_f32(cpu->mem, _t19, cpu->f[13]);
|
|
/* 02204B84 */ _t20 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02204B84 */ rbrew_write_f32(cpu->mem, _t20, cpu->f[0]);
|
|
/* 02204B88 */ _t21 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02204B88 */ _t22 = _t21 & 0x00000001u;
|
|
/* 02204B88 */ if (_t22) goto L_02204BB4; else goto L_02204B8C;
|
|
L_02204B8C: ; // 0x2204b8c
|
|
/* 02204B8C */ /* nop */
|
|
/* 02204B90 */ /* nop */
|
|
/* 02204B94 */ /* nop */
|
|
/* 02204B98 */ /* nop */
|
|
/* 02204B9C */ cpu->r[3] = cpu->r[4];
|
|
/* 02204BA0 */ cpu->f[30] = cpu->f[10] / cpu->f[6];
|
|
/* 02204BA4 */ Gambit_fn_02C69350(cpu);
|
|
/* 02204BA8 */ cpu->f[12] = cpu->f[1] * cpu->f[30];
|
|
/* 02204BAC */ /* nop */
|
|
/* 02204BB0 */ goto L_02204C04;
|
|
L_02204BB4: ; // 0x2204bb4
|
|
/* 02204BB4 */ cpu->r[12] = 0x10040000u;
|
|
/* 02204BB8 */ cpu->r[11] = 0x10040000u;
|
|
/* 02204BBC */ _t23 = cpu->r[12] + 0xFFFFFA6Cu;
|
|
/* 02204BBC */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t23);
|
|
/* 02204BC0 */ _t24 = cpu->r[11] + 0xFFFFFA70u;
|
|
/* 02204BC0 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t24);
|
|
/* 02204BC4 */ _ft25 = sqrt(cpu->f[6]);
|
|
/* 02204BC4 */ _ft26 = (double)(int32_t)0x00000001u;
|
|
/* 02204BC4 */ cpu->f[10] = _ft26 / _ft25;
|
|
/* 02204BC8 */ cpu->f[11] = cpu->f[10] * cpu->f[10];
|
|
/* 02204BCC */ cpu->f[0] = cpu->f[10] * cpu->f[12];
|
|
/* 02204BD0 */ cpu->f[11] = -fma(cpu->f[11], cpu->f[6], -(cpu->f[13]));
|
|
/* 02204BD4 */ cpu->f[10] = cpu->f[11] * cpu->f[0];
|
|
/* 02204BD8 */ /* nop */
|
|
/* 02204BDC */ cpu->f[6] = cpu->f[6] * cpu->f[10];
|
|
/* 02204BE0 */ /* nop */
|
|
/* 02204BE4 */ /* nop */
|
|
/* 02204BE8 */ /* nop */
|
|
/* 02204BEC */ /* nop */
|
|
/* 02204BF0 */ cpu->r[3] = cpu->r[4];
|
|
/* 02204BF4 */ cpu->f[30] = cpu->f[10] / cpu->f[6];
|
|
/* 02204BF8 */ Gambit_fn_02C69350(cpu);
|
|
/* 02204BFC */ cpu->f[12] = cpu->f[1] * cpu->f[30];
|
|
/* 02204C00 */ /* nop */
|
|
L_02204C04: ; // 0x2204c04
|
|
/* 02204C04 */ _t27 = cpu->r[1] + 0x00000028u;
|
|
/* 02204C04 */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t27);
|
|
/* 02204C08 */ _t28 = cpu->r[1] + 0x00000038u;
|
|
/* 02204C08 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t28);
|
|
/* 02204C0C */ _t29 = cpu->r[1] + 0x00000020u;
|
|
/* 02204C0C */ cpu->f[30] = rbrew_read_f64(cpu->mem, _t29);
|
|
/* 02204C10 */ _t30 = cpu->r[1] + 0x00000030u;
|
|
/* 02204C10 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t30);
|
|
/* 02204C14 */ _t31 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02204C14 */ _t32 = _t31 & 0x00000001u;
|
|
/* 02204C14 */ if (_t32) goto L_02204C18; // else: addr-0 trap, fall-through
|
|
L_02204C18: ; // 0x2204c18
|
|
/* 02204C18 */ _t33 = cpu->r[1] + 0x00000044u;
|
|
/* 02204C18 */ cpu->r[0] = rbrew_read32(cpu->mem, _t33);
|
|
/* 02204C1C */ cpu->lr = cpu->r[0];
|
|
/* 02204C20 */ cpu->r[1] = cpu->r[1] + 0x00000040u;
|
|
/* 02204C24 */ return;
|
|
}
|
|
|
|
// fn_02204B1C @ 0x2204b1c
|
|
void Gambit_fn_02204B1C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t27, _t28, _t29, _t30, _t31, _t32, _t33;
|
|
double _ft25, _ft26;
|
|
|
|
L_02204B1C: ; // 0x2204b1c
|
|
/* 02204B1C */ _t0 = cpu->r[1] + 0xFFFFFFC0u;
|
|
/* 02204B1C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02204B1C */ cpu->r[1] = _t0;
|
|
/* 02204B20 */ _t1 = cpu->r[1] + 0x00000020u;
|
|
/* 02204B20 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[30]);
|
|
/* 02204B24 */ _t2 = cpu->r[1] + 0x00000030u;
|
|
/* 02204B24 */ rbrew_write_f64(cpu->mem, _t2, cpu->f[31]);
|
|
/* 02204B28 */ /* nop */
|
|
/* 02204B2C */ _t3 = cpu->r[1] + 0x00000028u;
|
|
/* 02204B2C */ rbrew_write_f32(cpu->mem, _t3, cpu->f[30]);
|
|
/* 02204B30 */ /* nop */
|
|
/* 02204B34 */ _t4 = cpu->r[1] + 0x00000038u;
|
|
/* 02204B34 */ rbrew_write_f32(cpu->mem, _t4, cpu->f[31]);
|
|
/* 02204B38 */ _t5 = cpu->r[1] + 0x00000044u;
|
|
/* 02204B38 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02204B3C */ _t6 = cpu->r[4] + 0x00000008u;
|
|
/* 02204B3C */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t6);
|
|
/* 02204B40 */ _t7 = cpu->r[4] + 0x00000000u;
|
|
/* 02204B40 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t7);
|
|
/* 02204B44 */ _t8 = cpu->r[1] + 0x00000014u;
|
|
/* 02204B44 */ rbrew_write_f32(cpu->mem, _t8, cpu->f[9]);
|
|
/* 02204B48 */ _t9 = cpu->r[1] + 0x00000010u;
|
|
/* 02204B48 */ rbrew_write_f32(cpu->mem, _t9, cpu->f[8]);
|
|
/* 02204B4C */ _t10 = cpu->r[1] + 0x00000010u;
|
|
/* 02204B4C */ cpu->r[8] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02204B50 */ _t11 = cpu->r[1] + 0x00000014u;
|
|
/* 02204B50 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02204B54 */ _t12 = cpu->r[1] + 0x00000018u;
|
|
/* 02204B54 */ rbrew_write32(cpu->mem, _t12, cpu->r[8]);
|
|
/* 02204B58 */ cpu->r[9] = 0x10040000u;
|
|
/* 02204B5C */ _t13 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02204B5C */ rbrew_write32(cpu->mem, _t13, cpu->r[0]);
|
|
/* 02204B60 */ _t14 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02204B60 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t14);
|
|
/* 02204B64 */ _t15 = cpu->r[9] + 0xFFFFFA68u;
|
|
/* 02204B64 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t15);
|
|
/* 02204B68 */ cpu->f[7] = cpu->f[10] * cpu->f[10];
|
|
/* 02204B6C */ _t16 = cpu->r[1] + 0x00000018u;
|
|
/* 02204B6C */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t16);
|
|
/* 02204B70 */ _t17 = cpu->r[3] + 0x00000000u;
|
|
/* 02204B70 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t17);
|
|
/* 02204B74 */ cpu->f[6] = fma(cpu->f[11], cpu->f[11], cpu->f[7]);
|
|
/* 02204B78 */ _t18 = cpu->r[3] + 0x00000008u;
|
|
/* 02204B78 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t18);
|
|
/* 02204B7C */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[6], cpu->f[31]);
|
|
/* 02204B80 */ _t19 = cpu->r[1] + 0x00000008u;
|
|
/* 02204B80 */ rbrew_write_f32(cpu->mem, _t19, cpu->f[13]);
|
|
/* 02204B84 */ _t20 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02204B84 */ rbrew_write_f32(cpu->mem, _t20, cpu->f[0]);
|
|
/* 02204B88 */ _t21 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02204B88 */ _t22 = _t21 & 0x00000001u;
|
|
/* 02204B88 */ if (_t22) goto L_02204BB4; else goto L_02204B8C;
|
|
L_02204B8C: ; // 0x2204b8c
|
|
/* 02204B8C */ /* nop */
|
|
/* 02204B90 */ /* nop */
|
|
/* 02204B94 */ /* nop */
|
|
/* 02204B98 */ /* nop */
|
|
/* 02204B9C */ cpu->r[3] = cpu->r[4];
|
|
/* 02204BA0 */ cpu->f[30] = cpu->f[10] / cpu->f[6];
|
|
/* 02204BA4 */ Gambit_fn_02C69350(cpu);
|
|
/* 02204BA8 */ cpu->f[12] = cpu->f[1] * cpu->f[30];
|
|
/* 02204BAC */ /* nop */
|
|
/* 02204BB0 */ goto L_02204C04;
|
|
L_02204BB4: ; // 0x2204bb4
|
|
/* 02204BB4 */ cpu->r[12] = 0x10040000u;
|
|
/* 02204BB8 */ cpu->r[11] = 0x10040000u;
|
|
/* 02204BBC */ _t23 = cpu->r[12] + 0xFFFFFA6Cu;
|
|
/* 02204BBC */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t23);
|
|
/* 02204BC0 */ _t24 = cpu->r[11] + 0xFFFFFA70u;
|
|
/* 02204BC0 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t24);
|
|
/* 02204BC4 */ _ft25 = sqrt(cpu->f[6]);
|
|
/* 02204BC4 */ _ft26 = (double)(int32_t)0x00000001u;
|
|
/* 02204BC4 */ cpu->f[10] = _ft26 / _ft25;
|
|
/* 02204BC8 */ cpu->f[11] = cpu->f[10] * cpu->f[10];
|
|
/* 02204BCC */ cpu->f[0] = cpu->f[10] * cpu->f[12];
|
|
/* 02204BD0 */ cpu->f[11] = -fma(cpu->f[11], cpu->f[6], -(cpu->f[13]));
|
|
/* 02204BD4 */ cpu->f[10] = cpu->f[11] * cpu->f[0];
|
|
/* 02204BD8 */ /* nop */
|
|
/* 02204BDC */ cpu->f[6] = cpu->f[6] * cpu->f[10];
|
|
/* 02204BE0 */ /* nop */
|
|
/* 02204BE4 */ /* nop */
|
|
/* 02204BE8 */ /* nop */
|
|
/* 02204BEC */ /* nop */
|
|
/* 02204BF0 */ cpu->r[3] = cpu->r[4];
|
|
/* 02204BF4 */ cpu->f[30] = cpu->f[10] / cpu->f[6];
|
|
/* 02204BF8 */ Gambit_fn_02C69350(cpu);
|
|
/* 02204BFC */ cpu->f[12] = cpu->f[1] * cpu->f[30];
|
|
/* 02204C00 */ /* nop */
|
|
L_02204C04: ; // 0x2204c04
|
|
/* 02204C04 */ _t27 = cpu->r[1] + 0x00000028u;
|
|
/* 02204C04 */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t27);
|
|
/* 02204C08 */ _t28 = cpu->r[1] + 0x00000038u;
|
|
/* 02204C08 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t28);
|
|
/* 02204C0C */ _t29 = cpu->r[1] + 0x00000020u;
|
|
/* 02204C0C */ cpu->f[30] = rbrew_read_f64(cpu->mem, _t29);
|
|
/* 02204C10 */ _t30 = cpu->r[1] + 0x00000030u;
|
|
/* 02204C10 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t30);
|
|
/* 02204C14 */ _t31 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02204C14 */ _t32 = _t31 & 0x00000001u;
|
|
/* 02204C14 */ if (_t32) goto L_02204C18; // else: addr-0 trap, fall-through
|
|
L_02204C18: ; // 0x2204c18
|
|
/* 02204C18 */ _t33 = cpu->r[1] + 0x00000044u;
|
|
/* 02204C18 */ cpu->r[0] = rbrew_read32(cpu->mem, _t33);
|
|
/* 02204C1C */ cpu->lr = cpu->r[0];
|
|
/* 02204C20 */ cpu->r[1] = cpu->r[1] + 0x00000040u;
|
|
/* 02204C24 */ return;
|
|
}
|
|
|
|
// fn_02204C28 @ 0x2204c28
|
|
void Gambit_fn_02204C28(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2;
|
|
|
|
L_02204C28: ; // 0x2204c28
|
|
/* 02204C28 */ cpu->r[12] = 0x101E0000u;
|
|
/* 02204C2C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], 0x00000004u);
|
|
/* 02204C30 */ cpu->r[12] = cpu->r[12] + 0x00002878u;
|
|
/* 02204C34 */ _t0 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02204C34 */ _t1 = _t0 & 0x00000001u;
|
|
/* 02204C34 */ if (_t1) goto L_02204C38; else goto L_02204C40;
|
|
L_02204C38: ; // 0x2204c38
|
|
/* 02204C38 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000001u, 0x00000000u, 0x0000001Eu);
|
|
/* 02204C3C */ cpu->r[12] = cpu->r[12] + cpu->r[0];
|
|
L_02204C40: ; // 0x2204c40
|
|
/* 02204C40 */ _t2 = cpu->r[12] + 0x00000000u;
|
|
/* 02204C40 */ cpu->r[3] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t2);
|
|
/* 02204C44 */ return;
|
|
}
|
|
|
|
// fn_02204C48 @ 0x2204c48
|
|
void Gambit_fn_02204C48(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_02204C48: ; // 0x2204c48
|
|
/* 02204C48 */ cpu->r[0] = 0x101C0000u;
|
|
/* 02204C4C */ cpu->r[12] = rbrew_rlwinm(cpu->r[3], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02204C50 */ cpu->r[0] = cpu->r[0] + 0x000051DCu;
|
|
/* 02204C54 */ _t0 = cpu->r[12] + cpu->r[0];
|
|
/* 02204C54 */ cpu->r[3] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02204C58 */ return;
|
|
}
|
|
|
|
// fn_02204C5C @ 0x2204c5c
|
|
void Gambit_fn_02204C5C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23;
|
|
|
|
L_02204C5C: ; // 0x2204c5c
|
|
/* 02204C5C */ _t0 = cpu->r[1] + 0xFFFFFFC8u;
|
|
/* 02204C5C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02204C5C */ cpu->r[1] = _t0;
|
|
/* 02204C60 */ /* nop */
|
|
/* 02204C64 */ cpu->r[0] = cpu->lr;
|
|
/* 02204C68 */ cpu->r[31] = cpu->r[3];
|
|
/* 02204C6C */ _t1 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02204C6C */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02204C70 */ Gambit_fn_022061BC(cpu);
|
|
/* 02204C74 */ _t2 = cpu->r[31] + 0x00000024u;
|
|
/* 02204C74 */ cpu->r[9] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02204C78 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 02204C7C */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02204C7C */ _t4 = _t3 & 0x00000001u;
|
|
/* 02204C7C */ if (_t4) goto L_02204C80; else goto L_02204D2C;
|
|
L_02204C80: ; // 0x2204c80
|
|
/* 02204C80 */ cpu->r[30] = 0x101E0000u;
|
|
/* 02204C84 */ cpu->r[28] = 0x10040000u;
|
|
/* 02204C88 */ cpu->r[26] = 0x00000000u;
|
|
/* 02204C8C */ cpu->r[30] = cpu->r[30] + 0x00002878u;
|
|
/* 02204C90 */ cpu->r[28] = cpu->r[28] + 0xFFFFF948u;
|
|
/* 02204C94 */ cpu->r[29] = 0x00000004u;
|
|
/* 02204C98 */ cpu->r[27] = cpu->r[26];
|
|
/* 02204C9C */ cpu->r[31] = cpu->r[30];
|
|
/* 02204CA0 */ cpu->r[25] = 0xFFFFFFFFu;
|
|
/* 02204CA4 */ cpu->r[24] = 0x101C0000u;
|
|
L_02204CA8: ; // 0x2204ca8
|
|
/* 02204CA8 */ _t5 = cpu->r[24] + 0x00001344u;
|
|
/* 02204CA8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02204CAC */ cpu->r[3] = rbrew_rlwinm(cpu->r[26], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 02204CB0 */ _t6 = cpu->r[10] + 0x0000001Cu;
|
|
/* 02204CB0 */ cpu->r[8] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02204CB4 */ Gambit_fn_02204C48(cpu);
|
|
/* 02204CB8 */ cpu->r[4] = cpu->r[1] + 0x00000010u;
|
|
/* 02204CBC */ _t7 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02204CBC */ rbrew_write32(cpu->mem, _t7, cpu->r[28]);
|
|
/* 02204CC0 */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 02204CC4 */ _t8 = cpu->r[1] + 0x00000008u;
|
|
/* 02204CC4 */ rbrew_write32(cpu->mem, _t8, cpu->r[3]);
|
|
/* 02204CC8 */ cpu->r[3] = cpu->r[8];
|
|
/* 02204CCC */ _t9 = cpu->r[1] + 0x00000010u;
|
|
/* 02204CCC */ rbrew_write32(cpu->mem, _t9, cpu->r[27]);
|
|
/* 02204CD0 */ Gambit_fn_02022278(cpu);
|
|
/* 02204CD4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02204CD8 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02204CD8 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02204CD8 */ if (_t11) goto L_02204D08; else goto L_02204CDC;
|
|
L_02204CDC: ; // 0x2204cdc
|
|
/* 02204CDC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[26], 0x00000004u);
|
|
/* 02204CE0 */ cpu->r[12] = cpu->r[31];
|
|
/* 02204CE4 */ _t12 = cpu->r[3] + 0x00000000u;
|
|
/* 02204CE4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02204CE8 */ _t13 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02204CE8 */ _t14 = _t13 & 0x00000001u;
|
|
/* 02204CE8 */ if (_t14) goto L_02204CEC; else goto L_02204CF0;
|
|
L_02204CEC: ; // 0x2204cec
|
|
/* 02204CEC */ cpu->r[12] = cpu->r[30];
|
|
L_02204CF0: ; // 0x2204cf0
|
|
/* 02204CF0 */ _t15 = cpu->r[12] + 0x00000000u;
|
|
/* 02204CF0 */ rbrew_write16(cpu->mem, _t15, (uint16_t)cpu->r[0]);
|
|
/* 02204CF4 */ cpu->r[29] = cpu->r[29] + 0xFFFFFFFFu;
|
|
/* 02204CF4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 02204CF8 */ cpu->r[26] = cpu->r[26] + 0x00000001u;
|
|
/* 02204CFC */ cpu->r[30] = cpu->r[30] + 0x00000002u;
|
|
/* 02204D00 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02204D00 */ _t17 = _t16 & 0x00000001u;
|
|
/* 02204D00 */ if (_t17) goto L_02204D04; else goto L_02204CA8;
|
|
L_02204D04: ; // 0x2204d04
|
|
/* 02204D04 */ goto L_02204D2C;
|
|
L_02204D08: ; // 0x2204d08
|
|
/* 02204D08 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[26], 0x00000004u);
|
|
/* 02204D0C */ cpu->r[6] = cpu->r[31];
|
|
/* 02204D10 */ _t18 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02204D10 */ _t19 = _t18 & 0x00000001u;
|
|
/* 02204D10 */ if (_t19) goto L_02204D14; else goto L_02204D18;
|
|
L_02204D14: ; // 0x2204d14
|
|
/* 02204D14 */ cpu->r[6] = cpu->r[30];
|
|
L_02204D18: ; // 0x2204d18
|
|
/* 02204D18 */ _t20 = cpu->r[6] + 0x00000000u;
|
|
/* 02204D18 */ rbrew_write16(cpu->mem, _t20, (uint16_t)cpu->r[25]);
|
|
/* 02204D1C */ cpu->r[29] = cpu->r[29] + 0xFFFFFFFFu;
|
|
/* 02204D1C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 02204D20 */ cpu->r[26] = cpu->r[26] + 0x00000001u;
|
|
/* 02204D24 */ cpu->r[30] = cpu->r[30] + 0x00000002u;
|
|
/* 02204D28 */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02204D28 */ _t22 = _t21 & 0x00000001u;
|
|
/* 02204D28 */ if (_t22) goto L_02204D2C; else goto L_02204CA8;
|
|
L_02204D2C: ; // 0x2204d2c
|
|
/* 02204D2C */ /* nop */
|
|
/* 02204D30 */ _t23 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02204D30 */ cpu->r[0] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02204D34 */ cpu->lr = cpu->r[0];
|
|
/* 02204D38 */ cpu->r[1] = cpu->r[1] + 0x00000038u;
|
|
/* 02204D3C */ return;
|
|
}
|
|
|
|
// fn_02204D40 @ 0x2204d40
|
|
void Gambit_fn_02204D40(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12;
|
|
|
|
L_02204D40: ; // 0x2204d40
|
|
/* 02204D40 */ cpu->r[0] = cpu->lr;
|
|
/* 02204D44 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02204D44 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02204D44 */ cpu->r[1] = _t0;
|
|
/* 02204D48 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02204D48 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[31]);
|
|
/* 02204D4C */ /* nop */
|
|
/* 02204D50 */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 02204D50 */ rbrew_write_f32(cpu->mem, _t2, cpu->f[31]);
|
|
/* 02204D54 */ cpu->r[12] = 0x101C0000u;
|
|
/* 02204D58 */ _t3 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02204D58 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02204D5C */ _t4 = cpu->r[12] + 0x00006000u;
|
|
/* 02204D5C */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02204D60 */ cpu->r[4] = 0x0000000Bu;
|
|
/* 02204D64 */ _t5 = cpu->r[12] + 0x0000027Cu;
|
|
/* 02204D64 */ cpu->r[3] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02204D68 */ cpu->f[31] = cpu->f[1];
|
|
/* 02204D6C */ Gambit_fn_026C0364(cpu);
|
|
/* 02204D70 */ _t6 = cpu->r[3] + 0x00000D50u;
|
|
/* 02204D70 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t6);
|
|
/* 02204D74 */ _t7 = cpu->r[3] + 0x00000DB0u;
|
|
/* 02204D74 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t7);
|
|
/* 02204D78 */ cpu->f[13] = cpu->f[0] - cpu->f[12];
|
|
/* 02204D7C */ cpu->f[1] = fma(cpu->f[13], cpu->f[31], cpu->f[12]);
|
|
/* 02204D80 */ _t8 = cpu->r[1] + 0x00000010u;
|
|
/* 02204D80 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t8);
|
|
/* 02204D84 */ _t9 = cpu->r[1] + 0x00000008u;
|
|
/* 02204D84 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t9);
|
|
/* 02204D88 */ _t10 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02204D88 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02204D88 */ if (_t11) goto L_02204D8C; // else: addr-0 trap, fall-through
|
|
L_02204D8C: ; // 0x2204d8c
|
|
/* 02204D8C */ _t12 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02204D8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02204D90 */ cpu->lr = cpu->r[0];
|
|
/* 02204D94 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02204D98 */ return;
|
|
}
|
|
|
|
// fn_02204D44 @ 0x2204d44
|
|
void Gambit_fn_02204D44(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12;
|
|
|
|
L_02204D44: ; // 0x2204d44
|
|
/* 02204D44 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02204D44 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02204D44 */ cpu->r[1] = _t0;
|
|
/* 02204D48 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02204D48 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[31]);
|
|
/* 02204D4C */ /* nop */
|
|
/* 02204D50 */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 02204D50 */ rbrew_write_f32(cpu->mem, _t2, cpu->f[31]);
|
|
/* 02204D54 */ cpu->r[12] = 0x101C0000u;
|
|
/* 02204D58 */ _t3 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02204D58 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02204D5C */ _t4 = cpu->r[12] + 0x00006000u;
|
|
/* 02204D5C */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02204D60 */ cpu->r[4] = 0x0000000Bu;
|
|
/* 02204D64 */ _t5 = cpu->r[12] + 0x0000027Cu;
|
|
/* 02204D64 */ cpu->r[3] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02204D68 */ cpu->f[31] = cpu->f[1];
|
|
/* 02204D6C */ Gambit_fn_026C0364(cpu);
|
|
/* 02204D70 */ _t6 = cpu->r[3] + 0x00000D50u;
|
|
/* 02204D70 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t6);
|
|
/* 02204D74 */ _t7 = cpu->r[3] + 0x00000DB0u;
|
|
/* 02204D74 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t7);
|
|
/* 02204D78 */ cpu->f[13] = cpu->f[0] - cpu->f[12];
|
|
/* 02204D7C */ cpu->f[1] = fma(cpu->f[13], cpu->f[31], cpu->f[12]);
|
|
/* 02204D80 */ _t8 = cpu->r[1] + 0x00000010u;
|
|
/* 02204D80 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t8);
|
|
/* 02204D84 */ _t9 = cpu->r[1] + 0x00000008u;
|
|
/* 02204D84 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t9);
|
|
/* 02204D88 */ _t10 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02204D88 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02204D88 */ if (_t11) goto L_02204D8C; // else: addr-0 trap, fall-through
|
|
L_02204D8C: ; // 0x2204d8c
|
|
/* 02204D8C */ _t12 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02204D8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02204D90 */ cpu->lr = cpu->r[0];
|
|
/* 02204D94 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02204D98 */ return;
|
|
}
|
|
|
|
// fn_02204D9C @ 0x2204d9c
|
|
void Gambit_fn_02204D9C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t27, _t28, _t29, _t30, _t31, _t32, _t33;
|
|
double _ft25, _ft26;
|
|
|
|
L_02204D9C: ; // 0x2204d9c
|
|
/* 02204D9C */ cpu->r[0] = cpu->lr;
|
|
/* 02204DA0 */ _t0 = cpu->r[1] + 0xFFFFFFC0u;
|
|
/* 02204DA0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02204DA0 */ cpu->r[1] = _t0;
|
|
/* 02204DA4 */ _t1 = cpu->r[1] + 0x00000020u;
|
|
/* 02204DA4 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[30]);
|
|
/* 02204DA8 */ _t2 = cpu->r[1] + 0x00000030u;
|
|
/* 02204DA8 */ rbrew_write_f64(cpu->mem, _t2, cpu->f[31]);
|
|
/* 02204DAC */ /* nop */
|
|
/* 02204DB0 */ _t3 = cpu->r[1] + 0x00000028u;
|
|
/* 02204DB0 */ rbrew_write_f32(cpu->mem, _t3, cpu->f[30]);
|
|
/* 02204DB4 */ /* nop */
|
|
/* 02204DB8 */ _t4 = cpu->r[1] + 0x00000038u;
|
|
/* 02204DB8 */ rbrew_write_f32(cpu->mem, _t4, cpu->f[31]);
|
|
/* 02204DBC */ _t5 = cpu->r[1] + 0x00000044u;
|
|
/* 02204DBC */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02204DC0 */ _t6 = cpu->r[4] + 0x00000008u;
|
|
/* 02204DC0 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t6);
|
|
/* 02204DC4 */ _t7 = cpu->r[4] + 0x00000000u;
|
|
/* 02204DC4 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t7);
|
|
/* 02204DC8 */ _t8 = cpu->r[1] + 0x00000014u;
|
|
/* 02204DC8 */ rbrew_write_f32(cpu->mem, _t8, cpu->f[9]);
|
|
/* 02204DCC */ _t9 = cpu->r[1] + 0x00000010u;
|
|
/* 02204DCC */ rbrew_write_f32(cpu->mem, _t9, cpu->f[8]);
|
|
/* 02204DD0 */ _t10 = cpu->r[1] + 0x00000010u;
|
|
/* 02204DD0 */ cpu->r[8] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02204DD4 */ _t11 = cpu->r[1] + 0x00000014u;
|
|
/* 02204DD4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02204DD8 */ _t12 = cpu->r[1] + 0x00000018u;
|
|
/* 02204DD8 */ rbrew_write32(cpu->mem, _t12, cpu->r[8]);
|
|
/* 02204DDC */ cpu->r[9] = 0x10040000u;
|
|
/* 02204DE0 */ _t13 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02204DE0 */ rbrew_write32(cpu->mem, _t13, cpu->r[0]);
|
|
/* 02204DE4 */ _t14 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02204DE4 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t14);
|
|
/* 02204DE8 */ _t15 = cpu->r[9] + 0xFFFFFA68u;
|
|
/* 02204DE8 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t15);
|
|
/* 02204DEC */ cpu->f[7] = cpu->f[10] * cpu->f[10];
|
|
/* 02204DF0 */ _t16 = cpu->r[1] + 0x00000018u;
|
|
/* 02204DF0 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t16);
|
|
/* 02204DF4 */ _t17 = cpu->r[3] + 0x00000000u;
|
|
/* 02204DF4 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t17);
|
|
/* 02204DF8 */ cpu->f[6] = fma(cpu->f[11], cpu->f[11], cpu->f[7]);
|
|
/* 02204DFC */ _t18 = cpu->r[3] + 0x00000008u;
|
|
/* 02204DFC */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t18);
|
|
/* 02204E00 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[6], cpu->f[31]);
|
|
/* 02204E04 */ _t19 = cpu->r[1] + 0x00000008u;
|
|
/* 02204E04 */ rbrew_write_f32(cpu->mem, _t19, cpu->f[13]);
|
|
/* 02204E08 */ _t20 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02204E08 */ rbrew_write_f32(cpu->mem, _t20, cpu->f[0]);
|
|
/* 02204E0C */ _t21 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02204E0C */ _t22 = _t21 & 0x00000001u;
|
|
/* 02204E0C */ if (_t22) goto L_02204E38; else goto L_02204E10;
|
|
L_02204E10: ; // 0x2204e10
|
|
/* 02204E10 */ /* nop */
|
|
/* 02204E14 */ /* nop */
|
|
/* 02204E18 */ /* nop */
|
|
/* 02204E1C */ /* nop */
|
|
/* 02204E20 */ cpu->r[3] = cpu->r[4];
|
|
/* 02204E24 */ cpu->f[30] = cpu->f[10] / cpu->f[6];
|
|
/* 02204E28 */ Gambit_fn_02C69350(cpu);
|
|
/* 02204E2C */ cpu->f[12] = cpu->f[1] * cpu->f[30];
|
|
/* 02204E30 */ /* nop */
|
|
/* 02204E34 */ goto L_02204E88;
|
|
L_02204E38: ; // 0x2204e38
|
|
/* 02204E38 */ cpu->r[12] = 0x10040000u;
|
|
/* 02204E3C */ cpu->r[11] = 0x10040000u;
|
|
/* 02204E40 */ _t23 = cpu->r[12] + 0xFFFFFA6Cu;
|
|
/* 02204E40 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t23);
|
|
/* 02204E44 */ _t24 = cpu->r[11] + 0xFFFFFA70u;
|
|
/* 02204E44 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t24);
|
|
/* 02204E48 */ _ft25 = sqrt(cpu->f[6]);
|
|
/* 02204E48 */ _ft26 = (double)(int32_t)0x00000001u;
|
|
/* 02204E48 */ cpu->f[10] = _ft26 / _ft25;
|
|
/* 02204E4C */ cpu->f[11] = cpu->f[10] * cpu->f[10];
|
|
/* 02204E50 */ cpu->f[0] = cpu->f[10] * cpu->f[12];
|
|
/* 02204E54 */ cpu->f[11] = -fma(cpu->f[11], cpu->f[6], -(cpu->f[13]));
|
|
/* 02204E58 */ cpu->f[10] = cpu->f[11] * cpu->f[0];
|
|
/* 02204E5C */ /* nop */
|
|
/* 02204E60 */ cpu->f[6] = cpu->f[6] * cpu->f[10];
|
|
/* 02204E64 */ /* nop */
|
|
/* 02204E68 */ /* nop */
|
|
/* 02204E6C */ /* nop */
|
|
/* 02204E70 */ /* nop */
|
|
/* 02204E74 */ cpu->r[3] = cpu->r[4];
|
|
/* 02204E78 */ cpu->f[30] = cpu->f[10] / cpu->f[6];
|
|
/* 02204E7C */ Gambit_fn_02C69350(cpu);
|
|
/* 02204E80 */ cpu->f[12] = cpu->f[1] * cpu->f[30];
|
|
/* 02204E84 */ /* nop */
|
|
L_02204E88: ; // 0x2204e88
|
|
/* 02204E88 */ _t27 = cpu->r[1] + 0x00000028u;
|
|
/* 02204E88 */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t27);
|
|
/* 02204E8C */ _t28 = cpu->r[1] + 0x00000038u;
|
|
/* 02204E8C */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t28);
|
|
/* 02204E90 */ _t29 = cpu->r[1] + 0x00000020u;
|
|
/* 02204E90 */ cpu->f[30] = rbrew_read_f64(cpu->mem, _t29);
|
|
/* 02204E94 */ _t30 = cpu->r[1] + 0x00000030u;
|
|
/* 02204E94 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t30);
|
|
/* 02204E98 */ _t31 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02204E98 */ _t32 = _t31 & 0x00000001u;
|
|
/* 02204E98 */ if (_t32) goto L_02204E9C; // else: addr-0 trap, fall-through
|
|
L_02204E9C: ; // 0x2204e9c
|
|
/* 02204E9C */ _t33 = cpu->r[1] + 0x00000044u;
|
|
/* 02204E9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t33);
|
|
/* 02204EA0 */ cpu->lr = cpu->r[0];
|
|
/* 02204EA4 */ cpu->r[1] = cpu->r[1] + 0x00000040u;
|
|
/* 02204EA8 */ return;
|
|
}
|
|
|
|
// fn_02204DA0 @ 0x2204da0
|
|
void Gambit_fn_02204DA0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t27, _t28, _t29, _t30, _t31, _t32, _t33;
|
|
double _ft25, _ft26;
|
|
|
|
L_02204DA0: ; // 0x2204da0
|
|
/* 02204DA0 */ _t0 = cpu->r[1] + 0xFFFFFFC0u;
|
|
/* 02204DA0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02204DA0 */ cpu->r[1] = _t0;
|
|
/* 02204DA4 */ _t1 = cpu->r[1] + 0x00000020u;
|
|
/* 02204DA4 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[30]);
|
|
/* 02204DA8 */ _t2 = cpu->r[1] + 0x00000030u;
|
|
/* 02204DA8 */ rbrew_write_f64(cpu->mem, _t2, cpu->f[31]);
|
|
/* 02204DAC */ /* nop */
|
|
/* 02204DB0 */ _t3 = cpu->r[1] + 0x00000028u;
|
|
/* 02204DB0 */ rbrew_write_f32(cpu->mem, _t3, cpu->f[30]);
|
|
/* 02204DB4 */ /* nop */
|
|
/* 02204DB8 */ _t4 = cpu->r[1] + 0x00000038u;
|
|
/* 02204DB8 */ rbrew_write_f32(cpu->mem, _t4, cpu->f[31]);
|
|
/* 02204DBC */ _t5 = cpu->r[1] + 0x00000044u;
|
|
/* 02204DBC */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02204DC0 */ _t6 = cpu->r[4] + 0x00000008u;
|
|
/* 02204DC0 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t6);
|
|
/* 02204DC4 */ _t7 = cpu->r[4] + 0x00000000u;
|
|
/* 02204DC4 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t7);
|
|
/* 02204DC8 */ _t8 = cpu->r[1] + 0x00000014u;
|
|
/* 02204DC8 */ rbrew_write_f32(cpu->mem, _t8, cpu->f[9]);
|
|
/* 02204DCC */ _t9 = cpu->r[1] + 0x00000010u;
|
|
/* 02204DCC */ rbrew_write_f32(cpu->mem, _t9, cpu->f[8]);
|
|
/* 02204DD0 */ _t10 = cpu->r[1] + 0x00000010u;
|
|
/* 02204DD0 */ cpu->r[8] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02204DD4 */ _t11 = cpu->r[1] + 0x00000014u;
|
|
/* 02204DD4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02204DD8 */ _t12 = cpu->r[1] + 0x00000018u;
|
|
/* 02204DD8 */ rbrew_write32(cpu->mem, _t12, cpu->r[8]);
|
|
/* 02204DDC */ cpu->r[9] = 0x10040000u;
|
|
/* 02204DE0 */ _t13 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02204DE0 */ rbrew_write32(cpu->mem, _t13, cpu->r[0]);
|
|
/* 02204DE4 */ _t14 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02204DE4 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t14);
|
|
/* 02204DE8 */ _t15 = cpu->r[9] + 0xFFFFFA68u;
|
|
/* 02204DE8 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t15);
|
|
/* 02204DEC */ cpu->f[7] = cpu->f[10] * cpu->f[10];
|
|
/* 02204DF0 */ _t16 = cpu->r[1] + 0x00000018u;
|
|
/* 02204DF0 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t16);
|
|
/* 02204DF4 */ _t17 = cpu->r[3] + 0x00000000u;
|
|
/* 02204DF4 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t17);
|
|
/* 02204DF8 */ cpu->f[6] = fma(cpu->f[11], cpu->f[11], cpu->f[7]);
|
|
/* 02204DFC */ _t18 = cpu->r[3] + 0x00000008u;
|
|
/* 02204DFC */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t18);
|
|
/* 02204E00 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[6], cpu->f[31]);
|
|
/* 02204E04 */ _t19 = cpu->r[1] + 0x00000008u;
|
|
/* 02204E04 */ rbrew_write_f32(cpu->mem, _t19, cpu->f[13]);
|
|
/* 02204E08 */ _t20 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02204E08 */ rbrew_write_f32(cpu->mem, _t20, cpu->f[0]);
|
|
/* 02204E0C */ _t21 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02204E0C */ _t22 = _t21 & 0x00000001u;
|
|
/* 02204E0C */ if (_t22) goto L_02204E38; else goto L_02204E10;
|
|
L_02204E10: ; // 0x2204e10
|
|
/* 02204E10 */ /* nop */
|
|
/* 02204E14 */ /* nop */
|
|
/* 02204E18 */ /* nop */
|
|
/* 02204E1C */ /* nop */
|
|
/* 02204E20 */ cpu->r[3] = cpu->r[4];
|
|
/* 02204E24 */ cpu->f[30] = cpu->f[10] / cpu->f[6];
|
|
/* 02204E28 */ Gambit_fn_02C69350(cpu);
|
|
/* 02204E2C */ cpu->f[12] = cpu->f[1] * cpu->f[30];
|
|
/* 02204E30 */ /* nop */
|
|
/* 02204E34 */ goto L_02204E88;
|
|
L_02204E38: ; // 0x2204e38
|
|
/* 02204E38 */ cpu->r[12] = 0x10040000u;
|
|
/* 02204E3C */ cpu->r[11] = 0x10040000u;
|
|
/* 02204E40 */ _t23 = cpu->r[12] + 0xFFFFFA6Cu;
|
|
/* 02204E40 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t23);
|
|
/* 02204E44 */ _t24 = cpu->r[11] + 0xFFFFFA70u;
|
|
/* 02204E44 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t24);
|
|
/* 02204E48 */ _ft25 = sqrt(cpu->f[6]);
|
|
/* 02204E48 */ _ft26 = (double)(int32_t)0x00000001u;
|
|
/* 02204E48 */ cpu->f[10] = _ft26 / _ft25;
|
|
/* 02204E4C */ cpu->f[11] = cpu->f[10] * cpu->f[10];
|
|
/* 02204E50 */ cpu->f[0] = cpu->f[10] * cpu->f[12];
|
|
/* 02204E54 */ cpu->f[11] = -fma(cpu->f[11], cpu->f[6], -(cpu->f[13]));
|
|
/* 02204E58 */ cpu->f[10] = cpu->f[11] * cpu->f[0];
|
|
/* 02204E5C */ /* nop */
|
|
/* 02204E60 */ cpu->f[6] = cpu->f[6] * cpu->f[10];
|
|
/* 02204E64 */ /* nop */
|
|
/* 02204E68 */ /* nop */
|
|
/* 02204E6C */ /* nop */
|
|
/* 02204E70 */ /* nop */
|
|
/* 02204E74 */ cpu->r[3] = cpu->r[4];
|
|
/* 02204E78 */ cpu->f[30] = cpu->f[10] / cpu->f[6];
|
|
/* 02204E7C */ Gambit_fn_02C69350(cpu);
|
|
/* 02204E80 */ cpu->f[12] = cpu->f[1] * cpu->f[30];
|
|
/* 02204E84 */ /* nop */
|
|
L_02204E88: ; // 0x2204e88
|
|
/* 02204E88 */ _t27 = cpu->r[1] + 0x00000028u;
|
|
/* 02204E88 */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t27);
|
|
/* 02204E8C */ _t28 = cpu->r[1] + 0x00000038u;
|
|
/* 02204E8C */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t28);
|
|
/* 02204E90 */ _t29 = cpu->r[1] + 0x00000020u;
|
|
/* 02204E90 */ cpu->f[30] = rbrew_read_f64(cpu->mem, _t29);
|
|
/* 02204E94 */ _t30 = cpu->r[1] + 0x00000030u;
|
|
/* 02204E94 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t30);
|
|
/* 02204E98 */ _t31 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02204E98 */ _t32 = _t31 & 0x00000001u;
|
|
/* 02204E98 */ if (_t32) goto L_02204E9C; // else: addr-0 trap, fall-through
|
|
L_02204E9C: ; // 0x2204e9c
|
|
/* 02204E9C */ _t33 = cpu->r[1] + 0x00000044u;
|
|
/* 02204E9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t33);
|
|
/* 02204EA0 */ cpu->lr = cpu->r[0];
|
|
/* 02204EA4 */ cpu->r[1] = cpu->r[1] + 0x00000040u;
|
|
/* 02204EA8 */ return;
|
|
}
|
|
|
|
// fn_02204EAC @ 0x2204eac
|
|
void Gambit_fn_02204EAC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2;
|
|
|
|
L_02204EAC: ; // 0x2204eac
|
|
/* 02204EAC */ cpu->r[12] = 0x101E0000u;
|
|
/* 02204EB0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], 0x00000004u);
|
|
/* 02204EB4 */ cpu->r[12] = cpu->r[12] + 0x00002880u;
|
|
/* 02204EB8 */ _t0 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02204EB8 */ _t1 = _t0 & 0x00000001u;
|
|
/* 02204EB8 */ if (_t1) goto L_02204EBC; else goto L_02204EC4;
|
|
L_02204EBC: ; // 0x2204ebc
|
|
/* 02204EBC */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000001u, 0x00000000u, 0x0000001Eu);
|
|
/* 02204EC0 */ cpu->r[12] = cpu->r[12] + cpu->r[0];
|
|
L_02204EC4: ; // 0x2204ec4
|
|
/* 02204EC4 */ _t2 = cpu->r[12] + 0x00000000u;
|
|
/* 02204EC4 */ cpu->r[3] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t2);
|
|
/* 02204EC8 */ return;
|
|
}
|
|
|
|
// fn_02204ECC @ 0x2204ecc
|
|
void Gambit_fn_02204ECC(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_02204ECC: ; // 0x2204ecc
|
|
/* 02204ECC */ cpu->r[0] = 0x101C0000u;
|
|
/* 02204ED0 */ cpu->r[12] = rbrew_rlwinm(cpu->r[3], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02204ED4 */ cpu->r[0] = cpu->r[0] + 0x000051ECu;
|
|
/* 02204ED8 */ _t0 = cpu->r[12] + cpu->r[0];
|
|
/* 02204ED8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02204EDC */ return;
|
|
}
|
|
|
|
// fn_02204EE0 @ 0x2204ee0
|
|
void Gambit_fn_02204EE0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23;
|
|
|
|
L_02204EE0: ; // 0x2204ee0
|
|
/* 02204EE0 */ _t0 = cpu->r[1] + 0xFFFFFFC8u;
|
|
/* 02204EE0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02204EE0 */ cpu->r[1] = _t0;
|
|
/* 02204EE4 */ /* nop */
|
|
/* 02204EE8 */ cpu->r[0] = cpu->lr;
|
|
/* 02204EEC */ cpu->r[31] = cpu->r[3];
|
|
/* 02204EF0 */ _t1 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02204EF0 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02204EF4 */ Gambit_fn_022061BC(cpu);
|
|
/* 02204EF8 */ _t2 = cpu->r[31] + 0x00000024u;
|
|
/* 02204EF8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02204EFC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 02204F00 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02204F00 */ _t4 = _t3 & 0x00000001u;
|
|
/* 02204F00 */ if (_t4) goto L_02204F04; else goto L_02204FB0;
|
|
L_02204F04: ; // 0x2204f04
|
|
/* 02204F04 */ cpu->r[30] = 0x101E0000u;
|
|
/* 02204F08 */ cpu->r[28] = 0x10040000u;
|
|
/* 02204F0C */ cpu->r[26] = 0x00000000u;
|
|
/* 02204F10 */ cpu->r[30] = cpu->r[30] + 0x00002880u;
|
|
/* 02204F14 */ cpu->r[28] = cpu->r[28] + 0xFFFFF948u;
|
|
/* 02204F18 */ cpu->r[29] = 0x00000004u;
|
|
/* 02204F1C */ cpu->r[27] = cpu->r[26];
|
|
/* 02204F20 */ cpu->r[31] = cpu->r[30];
|
|
/* 02204F24 */ cpu->r[25] = 0xFFFFFFFFu;
|
|
/* 02204F28 */ cpu->r[24] = 0x101C0000u;
|
|
L_02204F2C: ; // 0x2204f2c
|
|
/* 02204F2C */ _t5 = cpu->r[24] + 0x00001344u;
|
|
/* 02204F2C */ cpu->r[10] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02204F30 */ cpu->r[3] = rbrew_rlwinm(cpu->r[26], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 02204F34 */ _t6 = cpu->r[10] + 0x0000001Cu;
|
|
/* 02204F34 */ cpu->r[8] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02204F38 */ Gambit_fn_02204ECC(cpu);
|
|
/* 02204F3C */ cpu->r[4] = cpu->r[1] + 0x00000010u;
|
|
/* 02204F40 */ _t7 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02204F40 */ rbrew_write32(cpu->mem, _t7, cpu->r[28]);
|
|
/* 02204F44 */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 02204F48 */ _t8 = cpu->r[1] + 0x00000008u;
|
|
/* 02204F48 */ rbrew_write32(cpu->mem, _t8, cpu->r[3]);
|
|
/* 02204F4C */ cpu->r[3] = cpu->r[8];
|
|
/* 02204F50 */ _t9 = cpu->r[1] + 0x00000010u;
|
|
/* 02204F50 */ rbrew_write32(cpu->mem, _t9, cpu->r[27]);
|
|
/* 02204F54 */ Gambit_fn_02022278(cpu);
|
|
/* 02204F58 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02204F5C */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02204F5C */ _t11 = _t10 & 0x00000001u;
|
|
/* 02204F5C */ if (_t11) goto L_02204F8C; else goto L_02204F60;
|
|
L_02204F60: ; // 0x2204f60
|
|
/* 02204F60 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[26], 0x00000004u);
|
|
/* 02204F64 */ cpu->r[12] = cpu->r[31];
|
|
/* 02204F68 */ _t12 = cpu->r[3] + 0x00000000u;
|
|
/* 02204F68 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02204F6C */ _t13 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02204F6C */ _t14 = _t13 & 0x00000001u;
|
|
/* 02204F6C */ if (_t14) goto L_02204F70; else goto L_02204F74;
|
|
L_02204F70: ; // 0x2204f70
|
|
/* 02204F70 */ cpu->r[12] = cpu->r[30];
|
|
L_02204F74: ; // 0x2204f74
|
|
/* 02204F74 */ _t15 = cpu->r[12] + 0x00000000u;
|
|
/* 02204F74 */ rbrew_write16(cpu->mem, _t15, (uint16_t)cpu->r[0]);
|
|
/* 02204F78 */ cpu->r[29] = cpu->r[29] + 0xFFFFFFFFu;
|
|
/* 02204F78 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 02204F7C */ cpu->r[26] = cpu->r[26] + 0x00000001u;
|
|
/* 02204F80 */ cpu->r[30] = cpu->r[30] + 0x00000002u;
|
|
/* 02204F84 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02204F84 */ _t17 = _t16 & 0x00000001u;
|
|
/* 02204F84 */ if (_t17) goto L_02204F88; else goto L_02204F2C;
|
|
L_02204F88: ; // 0x2204f88
|
|
/* 02204F88 */ goto L_02204FB0;
|
|
L_02204F8C: ; // 0x2204f8c
|
|
/* 02204F8C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[26], 0x00000004u);
|
|
/* 02204F90 */ cpu->r[6] = cpu->r[31];
|
|
/* 02204F94 */ _t18 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02204F94 */ _t19 = _t18 & 0x00000001u;
|
|
/* 02204F94 */ if (_t19) goto L_02204F98; else goto L_02204F9C;
|
|
L_02204F98: ; // 0x2204f98
|
|
/* 02204F98 */ cpu->r[6] = cpu->r[30];
|
|
L_02204F9C: ; // 0x2204f9c
|
|
/* 02204F9C */ _t20 = cpu->r[6] + 0x00000000u;
|
|
/* 02204F9C */ rbrew_write16(cpu->mem, _t20, (uint16_t)cpu->r[25]);
|
|
/* 02204FA0 */ cpu->r[29] = cpu->r[29] + 0xFFFFFFFFu;
|
|
/* 02204FA0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 02204FA4 */ cpu->r[26] = cpu->r[26] + 0x00000001u;
|
|
/* 02204FA8 */ cpu->r[30] = cpu->r[30] + 0x00000002u;
|
|
/* 02204FAC */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02204FAC */ _t22 = _t21 & 0x00000001u;
|
|
/* 02204FAC */ if (_t22) goto L_02204FB0; else goto L_02204F2C;
|
|
L_02204FB0: ; // 0x2204fb0
|
|
/* 02204FB0 */ /* nop */
|
|
/* 02204FB4 */ _t23 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02204FB4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02204FB8 */ cpu->lr = cpu->r[0];
|
|
/* 02204FBC */ cpu->r[1] = cpu->r[1] + 0x00000038u;
|
|
/* 02204FC0 */ return;
|
|
}
|
|
|
|
// fn_02204FC4 @ 0x2204fc4
|
|
void Gambit_fn_02204FC4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19;
|
|
|
|
L_02204FC4: ; // 0x2204fc4
|
|
/* 02204FC4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02204FC8 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02204FC8 */ _t1 = _t0 & 0x00000001u;
|
|
/* 02204FC8 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02204FC8 */ goto L_02204FCC;
|
|
L_02204FCC: ; // 0x2204fcc
|
|
/* 02204FCC */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02204FCC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02204FD0 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02204FD0 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02204FD0 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02204FD0 */ goto L_02204FD4;
|
|
L_02204FD4: ; // 0x2204fd4
|
|
/* 02204FD4 */ goto L_02801BB0;
|
|
L_02801B30: ; // 0x2801b30
|
|
/* 02801B30 */ cpu->r[0] = cpu->lr;
|
|
/* 02801B34 */ _t4 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02801B34 */ rbrew_write32(cpu->mem, _t4, cpu->r[1]);
|
|
/* 02801B34 */ cpu->r[1] = _t4;
|
|
/* 02801B38 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B38 */ rbrew_write32(cpu->mem, _t5, cpu->r[31]);
|
|
/* 02801B3C */ cpu->r[31] = cpu->r[3];
|
|
/* 02801B40 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02801B44 */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B44 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02801B48 */ _t7 = cpu->r[3] + 0xFFFF98F0u;
|
|
/* 02801B48 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02801B4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B50 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B50 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02801B50 */ if (_t9) goto L_02801B54; else goto L_02801B70;
|
|
L_02801B54: ; // 0x2801b54
|
|
/* 02801B54 */ cpu->r[3] = cpu->r[31];
|
|
/* 02801B58 */ Gambit_fn_02801B20(cpu);
|
|
/* 02801B5C */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02801B60 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B60 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02801B64 */ cpu->lr = cpu->r[0];
|
|
/* 02801B68 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801B6C */ return;
|
|
L_02801B70: ; // 0x2801b70
|
|
/* 02801B70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02801B74 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B74 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02801B74 */ if (_t13) goto L_02801B9C; else goto L_02801B78;
|
|
L_02801B78: ; // 0x2801b78
|
|
/* 02801B78 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B7C */ Gambit_fn_02826B90(cpu);
|
|
/* 02801B80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B84 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B84 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02801B84 */ if (_t15) goto L_02801B9C; else goto L_02801B88;
|
|
L_02801B88: ; // 0x2801b88
|
|
/* 02801B88 */ _t16 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02801B88 */ cpu->r[12] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02801B8C */ _t17 = cpu->r[12] + 0x0000003Cu;
|
|
/* 02801B8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02801B90 */ cpu->ctr = cpu->r[0];
|
|
/* 02801B94 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B98 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02801B9C: ; // 0x2801b9c
|
|
/* 02801B9C */ _t18 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02801BA0 */ _t19 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801BA0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02801BA4 */ cpu->lr = cpu->r[0];
|
|
/* 02801BA8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801BAC */ return;
|
|
L_02801BB0: ; // 0x2801bb0
|
|
/* 02801BB0 */ goto L_02801B30;
|
|
}
|
|
|
|
// fn_02204FD8 @ 0x2204fd8
|
|
void Gambit_fn_02204FD8(CPUState* cpu) {
|
|
L_02204FD8: ; // 0x2204fd8
|
|
/* 02204FD8 */ return;
|
|
}
|
|
|
|
// fn_02204FDC @ 0x2204fdc
|
|
void Gambit_fn_02204FDC(CPUState* cpu) {
|
|
L_02204FDC: ; // 0x2204fdc
|
|
/* 02204FDC */ return;
|
|
}
|
|
|
|
// fn_02204FE0 @ 0x2204fe0
|
|
void Gambit_fn_02204FE0(CPUState* cpu) {
|
|
L_02204FE0: ; // 0x2204fe0
|
|
/* 02204FE0 */ return;
|
|
}
|
|
|
|
// fn_02204FE4 @ 0x2204fe4
|
|
void Gambit_fn_02204FE4(CPUState* cpu) {
|
|
L_02204FE4: ; // 0x2204fe4
|
|
/* 02204FE4 */ return;
|
|
}
|
|
|
|
// fn_02204FE8 @ 0x2204fe8
|
|
void Gambit_fn_02204FE8(CPUState* cpu) {
|
|
L_02204FE8: ; // 0x2204fe8
|
|
/* 02204FE8 */ return;
|
|
}
|
|
|
|
// fn_02204FEC @ 0x2204fec
|
|
void Gambit_fn_02204FEC(CPUState* cpu) {
|
|
L_02204FEC: ; // 0x2204fec
|
|
/* 02204FEC */ return;
|
|
}
|
|
|
|
// fn_02204FF0 @ 0x2204ff0
|
|
void Gambit_fn_02204FF0(CPUState* cpu) {
|
|
L_02204FF0: ; // 0x2204ff0
|
|
/* 02204FF0 */ return;
|
|
}
|
|
|
|
// fn_02204FF4 @ 0x2204ff4
|
|
void Gambit_fn_02204FF4(CPUState* cpu) {
|
|
L_02204FF4: ; // 0x2204ff4
|
|
/* 02204FF4 */ return;
|
|
}
|
|
|
|
// fn_02204FF8 @ 0x2204ff8
|
|
void Gambit_fn_02204FF8(CPUState* cpu) {
|
|
L_02204FF8: ; // 0x2204ff8
|
|
/* 02204FF8 */ return;
|
|
}
|
|
|
|
// fn_02204FFC @ 0x2204ffc
|
|
void Gambit_fn_02204FFC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_02204FFC: ; // 0x2204ffc
|
|
/* 02204FFC */ _t0 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02204FFC */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02205000 */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x0000001Fu, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02205000 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02205004 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02205004 */ _t2 = _t1 & 0x00000001u;
|
|
/* 02205004 */ _t3 = _t2 ^ 0x00000001u;
|
|
/* 02205004 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02205004 */ goto L_02205008;
|
|
L_02205008: ; // 0x2205008
|
|
/* 02205008 */ _t4 = cpu->r[3] + 0x00000004u;
|
|
/* 02205008 */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0220500C */ _t5 = cpu->r[12] + 0x0000004Cu;
|
|
/* 0220500C */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02205010 */ cpu->ctr = cpu->r[0];
|
|
/* 02205014 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|