mirror of
https://github.com/ApfelTeeSaft/RebrewU.git
synced 2026-08-26 19:33:27 +00:00
47445 lines
2.5 MiB
Plaintext
47445 lines
2.5 MiB
Plaintext
// Generated by RebrewU -- do not edit
|
|
#include <rebrewu_runtime.h>
|
|
#include <stdint.h>
|
|
#include <math.h>
|
|
|
|
#include "Gambit.h"
|
|
|
|
// fn_02C51B58 @ 0x2c51b58
|
|
void Gambit_fn_02C51B58(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;
|
|
|
|
L_02C51B58: ; // 0x2c51b58
|
|
/* 02C51B58 */ _t0 = cpu->r[1] + 0xFFFFFFC8u;
|
|
/* 02C51B58 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C51B58 */ cpu->r[1] = _t0;
|
|
/* 02C51B5C */ /* nop */
|
|
/* 02C51B60 */ cpu->r[0] = cpu->lr;
|
|
/* 02C51B64 */ _t1 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02C51B64 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02C51B68 */ cpu->r[29] = cpu->r[3];
|
|
/* 02C51B6C */ cpu->r[23] = cpu->r[29] + 0x00000038u;
|
|
/* 02C51B70 */ cpu->r[30] = cpu->r[4];
|
|
/* 02C51B74 */ _t2 = cpu->r[30] + 0x00000016u;
|
|
/* 02C51B74 */ cpu->r[4] = rbrew_read16(cpu->mem, _t2);
|
|
/* 02C51B78 */ cpu->r[3] = cpu->r[23];
|
|
/* 02C51B7C */ cpu->r[31] = 0x00000000u;
|
|
/* 02C51B80 */ Gambit_fn_02C4EFDC(cpu);
|
|
/* 02C51B84 */ _t3 = cpu->r[29] + 0x00000040u;
|
|
/* 02C51B84 */ cpu->r[25] = rbrew_read16(cpu->mem, _t3);
|
|
/* 02C51B88 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000000u);
|
|
/* 02C51B8C */ cpu->r[24] = cpu->r[31];
|
|
/* 02C51B90 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C51B90 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02C51B90 */ if (_t5) goto L_02C51C90; else goto L_02C51B94;
|
|
L_02C51B94: ; // 0x2c51b94
|
|
/* 02C51B94 */ cpu->r[27] = 0x00010000u;
|
|
/* 02C51B98 */ cpu->r[26] = 0x00000000u;
|
|
/* 02C51B9C */ cpu->r[27] = cpu->r[27] + 0xFFFFFFFFu;
|
|
/* 02C51BA0 */ cpu->r[28] = cpu->r[26];
|
|
L_02C51BA4: ; // 0x2c51ba4
|
|
/* 02C51BA4 */ _t6 = cpu->r[29] + 0x00000048u;
|
|
/* 02C51BA4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02C51BA8 */ cpu->r[22] = cpu->r[10] + cpu->r[28];
|
|
/* 02C51BAC */ _t7 = cpu->r[22] + 0x00000010u;
|
|
/* 02C51BAC */ cpu->r[11] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02C51BB0 */ cpu->r[4] = 0x00000000u;
|
|
/* 02C51BB4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02C51BB8 */ cpu->r[9] = cpu->r[22] + 0x00000010u;
|
|
/* 02C51BBC */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C51BBC */ _t9 = _t8 & 0x00000001u;
|
|
/* 02C51BBC */ if (_t9) goto L_02C51BC8; else goto L_02C51BC0;
|
|
L_02C51BC0: ; // 0x2c51bc0
|
|
/* 02C51BC0 */ cpu->r[12] = cpu->r[9] + cpu->r[11];
|
|
/* 02C51BC4 */ cpu->r[4] = cpu->r[12] + 0xFFFFFFFCu;
|
|
L_02C51BC8: ; // 0x2c51bc8
|
|
/* 02C51BC8 */ _t10 = cpu->r[30] + 0x00000000u;
|
|
/* 02C51BC8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02C51BCC */ _t11 = cpu->r[12] + 0x00000018u;
|
|
/* 02C51BCC */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02C51BD0 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C51BD4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C51BD8 */ cpu->r[8] = cpu->r[12] + 0x00000018u;
|
|
/* 02C51BDC */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C51BDC */ _t13 = _t12 & 0x00000001u;
|
|
/* 02C51BDC */ if (_t13) goto L_02C51BE4; else goto L_02C51BE0;
|
|
L_02C51BE0: ; // 0x2c51be0
|
|
/* 02C51BE0 */ cpu->r[3] = cpu->r[8] + cpu->r[0];
|
|
L_02C51BE4: ; // 0x2c51be4
|
|
/* 02C51BE4 */ Gambit_fn_02C606B8(cpu);
|
|
/* 02C51BE8 */ cpu->r[21] = cpu->r[3];
|
|
/* 02C51BE8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[21], 0x00000000u);
|
|
/* 02C51BEC */ _t14 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C51BEC */ _t15 = _t14 & 0x00000001u;
|
|
/* 02C51BEC */ if (_t15) goto L_02C51C78; else goto L_02C51BF0;
|
|
L_02C51BF0: ; // 0x2c51bf0
|
|
/* 02C51BF0 */ cpu->r[7] = (uint32_t)((int32_t)cpu->r[21] * (int32_t)0x0000003Cu);
|
|
/* 02C51BF4 */ _t16 = cpu->r[30] + 0x00000020u;
|
|
/* 02C51BF4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02C51BF8 */ cpu->r[4] = cpu->r[22];
|
|
/* 02C51BFC */ _t17 = cpu->r[8] + cpu->r[7];
|
|
/* 02C51BFC */ cpu->r[5] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02C51C00 */ cpu->r[3] = cpu->r[29];
|
|
/* 02C51C04 */ Gambit_fn_02C518B0(cpu);
|
|
/* 02C51C08 */ cpu->r[0] = rbrew_rlwinm(cpu->r[3], 0x00000010u, 0x00000010u, 0x0000001Fu);
|
|
/* 02C51C08 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C51C0C */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C51C0C */ _t19 = _t18 & 0x00000001u;
|
|
/* 02C51C0C */ if (_t19) goto L_02C51C78; else goto L_02C51C10;
|
|
L_02C51C10: ; // 0x2c51c10
|
|
/* 02C51C10 */ _t20 = cpu->r[23] + 0x00000000u;
|
|
/* 02C51C10 */ cpu->r[7] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02C51C14 */ _t21 = cpu->r[7] + cpu->r[26];
|
|
/* 02C51C14 */ cpu->r[6] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02C51C18 */ cpu->r[6] = rbrew_rlwinm(cpu->r[6], 0x00000000u, 0x00000002u, 0x00000010u);
|
|
/* 02C51C1C */ _t22 = cpu->r[7] + cpu->r[26];
|
|
/* 02C51C1C */ rbrew_write32(cpu->mem, _t22, cpu->r[6]);
|
|
/* 02C51C20 */ _t23 = cpu->r[23] + 0x00000000u;
|
|
/* 02C51C20 */ cpu->r[7] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02C51C24 */ _t24 = cpu->r[7] + cpu->r[26];
|
|
/* 02C51C24 */ cpu->r[10] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02C51C28 */ cpu->r[9] = rbrew_rlwinm(cpu->r[21], 0x00000000u, 0x00000011u, 0x0000001Fu);
|
|
/* 02C51C2C */ cpu->r[10] = cpu->r[10] | cpu->r[9];
|
|
/* 02C51C30 */ _t25 = cpu->r[7] + cpu->r[26];
|
|
/* 02C51C30 */ rbrew_write32(cpu->mem, _t25, cpu->r[10]);
|
|
/* 02C51C34 */ _t26 = cpu->r[23] + 0x00000000u;
|
|
/* 02C51C34 */ cpu->r[7] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02C51C38 */ cpu->r[9] = rbrew_rlwinm(cpu->r[21], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02C51C3C */ _t27 = cpu->r[7] + cpu->r[9];
|
|
/* 02C51C3C */ cpu->r[11] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02C51C40 */ cpu->r[11] = rbrew_rlwinm(cpu->r[11], 0x00000000u, 0x00000011u, 0x00000001u);
|
|
/* 02C51C44 */ _t28 = cpu->r[7] + cpu->r[9];
|
|
/* 02C51C44 */ rbrew_write32(cpu->mem, _t28, cpu->r[11]);
|
|
/* 02C51C48 */ _t29 = cpu->r[23] + 0x00000000u;
|
|
/* 02C51C48 */ cpu->r[7] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02C51C4C */ cpu->r[12] = rbrew_rlwinm(cpu->r[24], 0x0000000Fu, 0x00000002u, 0x00000010u);
|
|
/* 02C51C50 */ cpu->r[31] = cpu->r[31] | 0xFFFF0000u;
|
|
/* 02C51C54 */ _t30 = cpu->r[7] + cpu->r[9];
|
|
/* 02C51C54 */ cpu->r[0] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02C51C58 */ cpu->r[25] = cpu->r[25] + 0xFFFFFFFFu;
|
|
/* 02C51C58 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000000u);
|
|
/* 02C51C5C */ cpu->r[24] = cpu->r[24] + 0x00000001u;
|
|
/* 02C51C60 */ cpu->r[28] = cpu->r[28] + 0x00000020u;
|
|
/* 02C51C64 */ cpu->r[0] = cpu->r[0] | cpu->r[12];
|
|
/* 02C51C68 */ cpu->r[26] = cpu->r[26] + 0x00000004u;
|
|
/* 02C51C6C */ _t31 = cpu->r[7] + cpu->r[9];
|
|
/* 02C51C6C */ rbrew_write32(cpu->mem, _t31, cpu->r[0]);
|
|
/* 02C51C70 */ _t32 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C51C70 */ _t33 = _t32 & 0x00000001u;
|
|
/* 02C51C70 */ if (_t33) goto L_02C51C74; else goto L_02C51BA4;
|
|
L_02C51C74: ; // 0x2c51c74
|
|
/* 02C51C74 */ goto L_02C51C90;
|
|
L_02C51C78: ; // 0x2c51c78
|
|
/* 02C51C78 */ cpu->r[31] = cpu->r[31] | cpu->r[27];
|
|
/* 02C51C7C */ cpu->r[26] = cpu->r[26] + 0x00000004u;
|
|
/* 02C51C80 */ cpu->r[25] = cpu->r[25] + 0xFFFFFFFFu;
|
|
/* 02C51C80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000000u);
|
|
/* 02C51C84 */ cpu->r[24] = cpu->r[24] + 0x00000001u;
|
|
/* 02C51C88 */ cpu->r[28] = cpu->r[28] + 0x00000020u;
|
|
/* 02C51C8C */ _t34 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C51C8C */ _t35 = _t34 & 0x00000001u;
|
|
/* 02C51C8C */ if (_t35) goto L_02C51C90; else goto L_02C51BA4;
|
|
L_02C51C90: ; // 0x2c51c90
|
|
/* 02C51C90 */ _t36 = cpu->r[29] + 0x0000003Cu;
|
|
/* 02C51C90 */ cpu->r[6] = rbrew_read16(cpu->mem, _t36);
|
|
/* 02C51C94 */ _t37 = cpu->r[29] + 0x00000024u;
|
|
/* 02C51C94 */ cpu->r[0] = rbrew_read32(cpu->mem, _t37);
|
|
/* 02C51C98 */ cpu->r[6] = cpu->r[6] | 0x00000001u;
|
|
/* 02C51C9C */ cpu->r[9] = 0x10230000u;
|
|
/* 02C51CA0 */ _t38 = cpu->r[29] + 0x0000003Cu;
|
|
/* 02C51CA0 */ rbrew_write16(cpu->mem, _t38, (uint16_t)cpu->r[6]);
|
|
/* 02C51CA4 */ _t39 = cpu->r[9] + 0xFFFFAB0Cu;
|
|
/* 02C51CA4 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t39);
|
|
/* 02C51CA8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C51CAC */ _t40 = cpu->r[29] + 0x00000028u;
|
|
/* 02C51CAC */ rbrew_write_f32(cpu->mem, _t40, cpu->f[0]);
|
|
/* 02C51CB0 */ _t41 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C51CB0 */ _t42 = _t41 & 0x00000001u;
|
|
/* 02C51CB0 */ if (_t42) goto L_02C51CB4; else goto L_02C51CEC;
|
|
L_02C51CB4: ; // 0x2c51cb4
|
|
/* 02C51CB4 */ _t43 = cpu->r[29] + 0x00000020u;
|
|
/* 02C51CB4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t43);
|
|
/* 02C51CB8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], cpu->r[8]);
|
|
/* 02C51CBC */ _t44 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C51CBC */ _t45 = _t44 & 0x00000001u;
|
|
/* 02C51CBC */ if (_t45) goto L_02C51CEC; else goto L_02C51CC0;
|
|
L_02C51CC0: ; // 0x2c51cc0
|
|
/* 02C51CC0 */ cpu->r[7] = 0x101B0000u;
|
|
/* 02C51CC4 */ cpu->r[11] = 0x00000000u;
|
|
/* 02C51CC8 */ _t46 = cpu->r[7] + 0xFFFFED84u;
|
|
/* 02C51CC8 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t46);
|
|
/* 02C51CCC */ cpu->r[8] = cpu->r[11];
|
|
L_02C51CD0: ; // 0x2c51cd0
|
|
/* 02C51CD0 */ _t47 = cpu->r[29] + 0x0000001Cu;
|
|
/* 02C51CD0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t47);
|
|
/* 02C51CD4 */ _t48 = cpu->r[10] + cpu->r[8];
|
|
/* 02C51CD4 */ rbrew_write32(cpu->mem, _t48, cpu->r[0]);
|
|
/* 02C51CD8 */ _t49 = cpu->r[29] + 0x00000024u;
|
|
/* 02C51CD8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t49);
|
|
/* 02C51CDC */ cpu->r[11] = cpu->r[11] + 0x00000001u;
|
|
/* 02C51CE0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], cpu->r[12]);
|
|
/* 02C51CE4 */ cpu->r[8] = cpu->r[8] + 0x0000000Cu;
|
|
/* 02C51CE8 */ _t50 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C51CE8 */ _t51 = _t50 & 0x00000001u;
|
|
/* 02C51CE8 */ if (_t51) goto L_02C51CD0; else goto L_02C51CEC;
|
|
L_02C51CEC: ; // 0x2c51cec
|
|
/* 02C51CEC */ cpu->r[3] = cpu->r[31];
|
|
/* 02C51CF0 */ /* nop */
|
|
/* 02C51CF4 */ _t52 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02C51CF4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t52);
|
|
/* 02C51CF8 */ cpu->lr = cpu->r[0];
|
|
/* 02C51CFC */ cpu->r[1] = cpu->r[1] + 0x00000038u;
|
|
/* 02C51D00 */ return;
|
|
}
|
|
|
|
// fn_02C51D04 @ 0x2c51d04
|
|
void Gambit_fn_02C51D04(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;
|
|
|
|
L_02C51D04: ; // 0x2c51d04
|
|
/* 02C51D04 */ _t0 = cpu->r[1] + 0xFFFFFFD0u;
|
|
/* 02C51D04 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C51D04 */ cpu->r[1] = _t0;
|
|
/* 02C51D08 */ /* nop */
|
|
/* 02C51D0C */ cpu->r[0] = cpu->lr;
|
|
/* 02C51D10 */ _t1 = cpu->r[1] + 0x00000020u;
|
|
/* 02C51D10 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[31]);
|
|
/* 02C51D14 */ /* nop */
|
|
/* 02C51D18 */ _t2 = cpu->r[1] + 0x00000034u;
|
|
/* 02C51D18 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02C51D1C */ _t3 = cpu->r[1] + 0x00000028u;
|
|
/* 02C51D1C */ rbrew_write_f32(cpu->mem, _t3, cpu->f[31]);
|
|
/* 02C51D20 */ cpu->r[29] = cpu->r[3];
|
|
/* 02C51D24 */ _t4 = cpu->r[29] + 0x00000000u;
|
|
/* 02C51D24 */ cpu->r[7] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02C51D28 */ _t5 = cpu->r[29] + 0x00000028u;
|
|
/* 02C51D28 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t5);
|
|
/* 02C51D2C */ _t6 = cpu->r[7] + 0x00000000u;
|
|
/* 02C51D2C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t6);
|
|
/* 02C51D30 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[13], cpu->f[0]);
|
|
/* 02C51D34 */ cpu->r[31] = cpu->r[29] + 0x0000001Cu;
|
|
/* 02C51D38 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C51D38 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02C51D38 */ if (_t8) goto L_02C51E54; else goto L_02C51D3C;
|
|
L_02C51D3C: ; // 0x2c51d3c
|
|
/* 02C51D3C */ _t9 = cpu->r[31] + 0x00000008u;
|
|
/* 02C51D3C */ cpu->r[9] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02C51D40 */ cpu->r[28] = cpu->r[29] + 0x00000038u;
|
|
/* 02C51D44 */ _t10 = cpu->r[7] + 0x00000000u;
|
|
/* 02C51D44 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t10);
|
|
/* 02C51D48 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 02C51D4C */ _t11 = cpu->r[29] + 0x00000040u;
|
|
/* 02C51D4C */ cpu->r[30] = rbrew_read16(cpu->mem, _t11);
|
|
/* 02C51D50 */ _t12 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C51D50 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02C51D50 */ if (_t13) goto L_02C51D54; else goto L_02C51DDC;
|
|
L_02C51D54: ; // 0x2c51d54
|
|
/* 02C51D54 */ _t14 = cpu->r[31] + 0x00000004u;
|
|
/* 02C51D54 */ cpu->r[10] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02C51D58 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], cpu->r[10]);
|
|
/* 02C51D5C */ _t15 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C51D5C */ _t16 = _t15 & 0x00000001u;
|
|
/* 02C51D5C */ if (_t16) goto L_02C51DDC; else goto L_02C51D60;
|
|
L_02C51D60: ; // 0x2c51d60
|
|
/* 02C51D60 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02C51D64 */ _t17 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C51D64 */ _t18 = _t17 & 0x00000001u;
|
|
/* 02C51D64 */ if (_t18) goto L_02C51D68; else goto L_02C51E4C;
|
|
L_02C51D68: ; // 0x2c51d68
|
|
/* 02C51D68 */ cpu->r[26] = 0x00000000u;
|
|
/* 02C51D6C */ cpu->r[27] = cpu->r[26];
|
|
L_02C51D70: ; // 0x2c51d70
|
|
/* 02C51D70 */ _t19 = cpu->r[28] + 0x00000000u;
|
|
/* 02C51D70 */ cpu->r[7] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02C51D74 */ _t20 = cpu->r[7] + cpu->r[26];
|
|
/* 02C51D74 */ cpu->r[8] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02C51D78 */ _t21 = cpu->r[29] + 0x00000048u;
|
|
/* 02C51D78 */ cpu->r[12] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02C51D7C */ cpu->r[10] = rbrew_rlwinm(cpu->r[8], 0x00000002u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02C51D80 */ cpu->r[3] = cpu->r[12] + cpu->r[27];
|
|
/* 02C51D84 */ cpu->r[0] = cpu->r[10] ^ 0x00000001u;
|
|
/* 02C51D88 */ _t22 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02C51D88 */ cpu->r[5] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02C51D8C */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 02C51D8C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C51D90 */ _t23 = cpu->r[3] + 0x00000008u;
|
|
/* 02C51D90 */ cpu->r[6] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02C51D94 */ _t24 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C51D94 */ _t25 = _t24 & 0x00000001u;
|
|
/* 02C51D94 */ if (_t25) goto L_02C51DC4; else goto L_02C51D98;
|
|
L_02C51D98: ; // 0x2c51d98
|
|
/* 02C51D98 */ _t26 = cpu->r[29] + 0x00000054u;
|
|
/* 02C51D98 */ cpu->r[11] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02C51D9C */ cpu->r[10] = (uint32_t)((int32_t)cpu->r[6] * (int32_t)0x0000000Cu);
|
|
/* 02C51DA0 */ _t27 = cpu->r[29] + 0x0000002Cu;
|
|
/* 02C51DA0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02C51DA4 */ cpu->r[8] = rbrew_rlwinm(cpu->r[6], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02C51DA8 */ cpu->r[0] = rbrew_rlwinm(cpu->r[5], 0x00000001u, 0x00000000u, 0x0000001Eu);
|
|
/* 02C51DAC */ _t28 = cpu->r[31] + 0x00000000u;
|
|
/* 02C51DAC */ cpu->r[12] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02C51DB0 */ cpu->f[1] = cpu->f[31];
|
|
/* 02C51DB4 */ cpu->r[4] = cpu->r[9] + cpu->r[8];
|
|
/* 02C51DB8 */ cpu->r[5] = cpu->r[11] + cpu->r[0];
|
|
/* 02C51DBC */ cpu->r[6] = cpu->r[12] + cpu->r[10];
|
|
/* 02C51DC0 */ Gambit_fn_02C63E94(cpu);
|
|
L_02C51DC4: ; // 0x2c51dc4
|
|
/* 02C51DC4 */ cpu->r[30] = cpu->r[30] + 0xFFFFFFFFu;
|
|
/* 02C51DC4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02C51DC8 */ cpu->r[27] = cpu->r[27] + 0x00000020u;
|
|
/* 02C51DCC */ cpu->r[26] = cpu->r[26] + 0x00000004u;
|
|
/* 02C51DD0 */ _t29 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C51DD0 */ _t30 = _t29 & 0x00000001u;
|
|
/* 02C51DD0 */ if (_t30) goto L_02C51DD4; else goto L_02C51D70;
|
|
L_02C51DD4: ; // 0x2c51dd4
|
|
/* 02C51DD4 */ _t31 = cpu->r[29] + 0x00000000u;
|
|
/* 02C51DD4 */ cpu->r[7] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02C51DD8 */ goto L_02C51E4C;
|
|
L_02C51DDC: ; // 0x2c51ddc
|
|
/* 02C51DDC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02C51DE0 */ _t32 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C51DE0 */ _t33 = _t32 & 0x00000001u;
|
|
/* 02C51DE0 */ if (_t33) goto L_02C51DE4; else goto L_02C51E4C;
|
|
L_02C51DE4: ; // 0x2c51de4
|
|
/* 02C51DE4 */ cpu->r[26] = 0x00000000u;
|
|
/* 02C51DE8 */ cpu->r[27] = cpu->r[26];
|
|
L_02C51DEC: ; // 0x2c51dec
|
|
/* 02C51DEC */ _t34 = cpu->r[28] + 0x00000000u;
|
|
/* 02C51DEC */ cpu->r[8] = rbrew_read32(cpu->mem, _t34);
|
|
/* 02C51DF0 */ _t35 = cpu->r[8] + cpu->r[26];
|
|
/* 02C51DF0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t35);
|
|
/* 02C51DF4 */ _t36 = cpu->r[29] + 0x00000048u;
|
|
/* 02C51DF4 */ cpu->r[6] = rbrew_read32(cpu->mem, _t36);
|
|
/* 02C51DF8 */ cpu->r[0] = rbrew_rlwinm(cpu->r[11], 0x00000002u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02C51DFC */ cpu->r[3] = cpu->r[6] + cpu->r[27];
|
|
/* 02C51E00 */ cpu->r[12] = cpu->r[0] ^ 0x00000001u;
|
|
/* 02C51E04 */ _t37 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02C51E04 */ cpu->r[9] = rbrew_read32(cpu->mem, _t37);
|
|
/* 02C51E08 */ cpu->r[12] = rbrew_rlwinm(cpu->r[12], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 02C51E08 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02C51E0C */ _t38 = cpu->r[3] + 0x00000008u;
|
|
/* 02C51E0C */ cpu->r[11] = rbrew_read32(cpu->mem, _t38);
|
|
/* 02C51E10 */ _t39 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C51E10 */ _t40 = _t39 & 0x00000001u;
|
|
/* 02C51E10 */ if (_t40) goto L_02C51E38; else goto L_02C51E14;
|
|
L_02C51E14: ; // 0x2c51e14
|
|
/* 02C51E14 */ _t41 = cpu->r[29] + 0x0000002Cu;
|
|
/* 02C51E14 */ cpu->r[8] = rbrew_read32(cpu->mem, _t41);
|
|
/* 02C51E18 */ cpu->r[7] = rbrew_rlwinm(cpu->r[11], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02C51E1C */ cpu->f[1] = cpu->f[31];
|
|
/* 02C51E20 */ _t42 = cpu->r[29] + 0x00000054u;
|
|
/* 02C51E20 */ cpu->r[5] = rbrew_read32(cpu->mem, _t42);
|
|
/* 02C51E24 */ cpu->r[0] = rbrew_rlwinm(cpu->r[9], 0x00000001u, 0x00000000u, 0x0000001Eu);
|
|
/* 02C51E28 */ cpu->r[6] = 0x00000000u;
|
|
/* 02C51E2C */ cpu->r[4] = cpu->r[8] + cpu->r[7];
|
|
/* 02C51E30 */ cpu->r[5] = cpu->r[5] + cpu->r[0];
|
|
/* 02C51E34 */ Gambit_fn_02C63D1C(cpu);
|
|
L_02C51E38: ; // 0x2c51e38
|
|
/* 02C51E38 */ cpu->r[30] = cpu->r[30] + 0xFFFFFFFFu;
|
|
/* 02C51E38 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02C51E3C */ cpu->r[27] = cpu->r[27] + 0x00000020u;
|
|
/* 02C51E40 */ cpu->r[26] = cpu->r[26] + 0x00000004u;
|
|
/* 02C51E44 */ _t43 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C51E44 */ _t44 = _t43 & 0x00000001u;
|
|
/* 02C51E44 */ if (_t44) goto L_02C51E48; else goto L_02C51DEC;
|
|
L_02C51E48: ; // 0x2c51e48
|
|
/* 02C51E48 */ _t45 = cpu->r[29] + 0x00000000u;
|
|
/* 02C51E48 */ cpu->r[7] = rbrew_read32(cpu->mem, _t45);
|
|
L_02C51E4C: ; // 0x2c51e4c
|
|
/* 02C51E4C */ _t46 = cpu->r[7] + 0x00000000u;
|
|
/* 02C51E4C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t46);
|
|
/* 02C51E50 */ _t47 = cpu->r[31] + 0x0000000Cu;
|
|
/* 02C51E50 */ rbrew_write_f32(cpu->mem, _t47, cpu->f[0]);
|
|
L_02C51E54: ; // 0x2c51e54
|
|
/* 02C51E54 */ /* nop */
|
|
/* 02C51E58 */ _t48 = cpu->r[1] + 0x00000028u;
|
|
/* 02C51E58 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t48);
|
|
/* 02C51E5C */ _t49 = cpu->r[1] + 0x00000020u;
|
|
/* 02C51E5C */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t49);
|
|
/* 02C51E60 */ _t50 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C51E60 */ _t51 = _t50 & 0x00000001u;
|
|
/* 02C51E60 */ if (_t51) goto L_02C51E64; // else: addr-0 trap, fall-through
|
|
L_02C51E64: ; // 0x2c51e64
|
|
/* 02C51E64 */ _t52 = cpu->r[1] + 0x00000034u;
|
|
/* 02C51E64 */ cpu->r[0] = rbrew_read32(cpu->mem, _t52);
|
|
/* 02C51E68 */ cpu->lr = cpu->r[0];
|
|
/* 02C51E6C */ cpu->r[1] = cpu->r[1] + 0x00000030u;
|
|
/* 02C51E70 */ return;
|
|
}
|
|
|
|
// fn_02C51E74 @ 0x2c51e74
|
|
void Gambit_fn_02C51E74(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;
|
|
|
|
L_02C51E74: ; // 0x2c51e74
|
|
/* 02C51E74 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 02C51E74 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C51E74 */ cpu->r[1] = _t0;
|
|
/* 02C51E78 */ /* nop */
|
|
/* 02C51E7C */ _t1 = cpu->r[3] + 0x00000048u;
|
|
/* 02C51E7C */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02C51E80 */ cpu->r[10] = rbrew_rlwinm(cpu->r[5], 0x00000005u, 0x00000000u, 0x0000001Au);
|
|
/* 02C51E84 */ _t2 = cpu->r[3] + 0x0000002Cu;
|
|
/* 02C51E84 */ cpu->r[11] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02C51E88 */ cpu->r[30] = cpu->r[12] + cpu->r[10];
|
|
/* 02C51E8C */ _t3 = cpu->r[30] + 0x00000008u;
|
|
/* 02C51E8C */ cpu->r[10] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02C51E90 */ _t4 = cpu->r[30] + 0x00000014u;
|
|
/* 02C51E90 */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02C51E94 */ cpu->r[5] = 0x00000000u;
|
|
/* 02C51E98 */ cpu->r[10] = rbrew_rlwinm(cpu->r[10], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02C51E9C */ cpu->r[9] = cpu->r[30] + 0x00000014u;
|
|
/* 02C51EA0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02C51EA4 */ cpu->r[31] = cpu->r[11] + cpu->r[10];
|
|
/* 02C51EA8 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C51EA8 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02C51EA8 */ if (_t6) goto L_02C51EB0; else goto L_02C51EAC;
|
|
L_02C51EAC: ; // 0x2c51eac
|
|
/* 02C51EAC */ cpu->r[5] = cpu->r[9] + cpu->r[12];
|
|
L_02C51EB0: ; // 0x2c51eb0
|
|
/* 02C51EB0 */ _t7 = cpu->r[30] + 0x0000000Cu;
|
|
/* 02C51EB0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02C51EB4 */ _t8 = cpu->r[30] + 0x00000000u;
|
|
/* 02C51EB4 */ cpu->r[12] = rbrew_read16(cpu->mem, _t8);
|
|
/* 02C51EB8 */ cpu->r[12] = cpu->r[11] + cpu->r[12];
|
|
/* 02C51EBC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], cpu->r[12]);
|
|
/* 02C51EC0 */ cpu->r[8] = cpu->r[12] - cpu->r[11];
|
|
/* 02C51EC4 */ _t9 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C51EC4 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02C51EC4 */ if (_t10) goto L_02C51EC8; else goto L_02C52060;
|
|
L_02C51EC8: ; // 0x2c51ec8
|
|
/* 02C51EC8 */ cpu->r[10] = 0x00000001u;
|
|
/* 02C51ECC */ cpu->r[9] = rbrew_rlwinm(cpu->r[11], 0x00000001u, 0x00000000u, 0x0000001Eu);
|
|
L_02C51ED0: ; // 0x2c51ed0
|
|
/* 02C51ED0 */ _t11 = cpu->r[3] + 0x00000054u;
|
|
/* 02C51ED0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02C51ED4 */ _t12 = cpu->r[12] + cpu->r[9];
|
|
/* 02C51ED4 */ cpu->r[6] = rbrew_read16(cpu->mem, _t12);
|
|
/* 02C51ED8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], 0x0000FFFFu);
|
|
/* 02C51EDC */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C51EDC */ _t14 = _t13 & 0x00000001u;
|
|
/* 02C51EDC */ if (_t14) goto L_02C52050; else goto L_02C51EE0;
|
|
L_02C51EE0: ; // 0x2c51ee0
|
|
/* 02C51EE0 */ _t15 = cpu->r[4] + 0x00000000u;
|
|
/* 02C51EE0 */ cpu->r[28] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02C51EE4 */ _t16 = cpu->r[28] + 0x00000034u;
|
|
/* 02C51EE4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02C51EE8 */ cpu->r[11] = 0x00000000u;
|
|
/* 02C51EEC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02C51EF0 */ cpu->r[7] = cpu->r[28] + 0x00000034u;
|
|
/* 02C51EF4 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C51EF4 */ _t18 = _t17 & 0x00000001u;
|
|
/* 02C51EF4 */ if (_t18) goto L_02C51EFC; else goto L_02C51EF8;
|
|
L_02C51EF8: ; // 0x2c51ef8
|
|
/* 02C51EF8 */ cpu->r[11] = cpu->r[7] + cpu->r[12];
|
|
L_02C51EFC: ; // 0x2c51efc
|
|
/* 02C51EFC */ cpu->r[12] = (uint32_t)((int32_t)cpu->r[6] * (int32_t)0x00000014u);
|
|
/* 02C51F00 */ cpu->r[29] = cpu->r[11] + cpu->r[12];
|
|
/* 02C51F04 */ _t19 = cpu->r[29] + 0x00000004u;
|
|
/* 02C51F04 */ cpu->r[12] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02C51F08 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02C51F0C */ _t20 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C51F0C */ _t21 = _t20 & 0x00000001u;
|
|
/* 02C51F0C */ if (_t21) goto L_02C51F3C; else goto L_02C51F10;
|
|
L_02C51F10: ; // 0x2c51f10
|
|
/* 02C51F10 */ _t22 = cpu->r[4] + 0x00000004u;
|
|
/* 02C51F10 */ cpu->r[7] = rbrew_read16(cpu->mem, _t22);
|
|
/* 02C51F14 */ /* nop */
|
|
/* 02C51F18 */ _t23 = cpu->r[4] + 0x0000000Cu;
|
|
/* 02C51F18 */ cpu->r[12] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02C51F1C */ cpu->r[7] = cpu->r[7] | 0x00000004u;
|
|
/* 02C51F20 */ cpu->r[11] = rbrew_rlwinm(cpu->r[11], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02C51F24 */ _t24 = cpu->r[4] + 0x00000004u;
|
|
/* 02C51F24 */ rbrew_write16(cpu->mem, _t24, (uint16_t)cpu->r[7]);
|
|
/* 02C51F28 */ _t25 = cpu->r[12] + cpu->r[11];
|
|
/* 02C51F28 */ cpu->r[7] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02C51F2C */ cpu->r[6] = rbrew_rlwinm(cpu->r[10], cpu->r[6], 0x00000000u, 0x0000001Fu);
|
|
/* 02C51F30 */ cpu->r[7] = cpu->r[7] | cpu->r[6];
|
|
/* 02C51F34 */ _t26 = cpu->r[12] + cpu->r[11];
|
|
/* 02C51F34 */ rbrew_write32(cpu->mem, _t26, cpu->r[7]);
|
|
/* 02C51F38 */ _t27 = cpu->r[4] + 0x00000000u;
|
|
/* 02C51F38 */ cpu->r[28] = rbrew_read32(cpu->mem, _t27);
|
|
L_02C51F3C: ; // 0x2c51f3c
|
|
/* 02C51F3C */ _t28 = cpu->r[28] + 0x00000034u;
|
|
/* 02C51F3C */ cpu->r[7] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02C51F40 */ cpu->r[12] = cpu->r[28] + 0x00000034u;
|
|
/* 02C51F44 */ cpu->r[11] = 0x00000000u;
|
|
/* 02C51F48 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 02C51F4C */ _t29 = cpu->r[29] + 0x0000000Cu;
|
|
/* 02C51F4C */ cpu->r[6] = rbrew_read16(cpu->mem, _t29);
|
|
/* 02C51F50 */ _t30 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C51F50 */ _t31 = _t30 & 0x00000001u;
|
|
/* 02C51F50 */ if (_t31) goto L_02C51F58; else goto L_02C51F54;
|
|
L_02C51F54: ; // 0x2c51f54
|
|
/* 02C51F54 */ cpu->r[11] = cpu->r[12] + cpu->r[7];
|
|
L_02C51F58: ; // 0x2c51f58
|
|
/* 02C51F58 */ cpu->r[12] = (uint32_t)((int32_t)cpu->r[6] * (int32_t)0x00000014u);
|
|
/* 02C51F5C */ cpu->r[11] = cpu->r[11] + cpu->r[12];
|
|
/* 02C51F60 */ _t32 = cpu->r[11] + 0x00000004u;
|
|
/* 02C51F60 */ cpu->r[12] = rbrew_read32(cpu->mem, _t32);
|
|
/* 02C51F64 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02C51F68 */ _t33 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C51F68 */ _t34 = _t33 & 0x00000001u;
|
|
/* 02C51F68 */ if (_t34) goto L_02C51F94; else goto L_02C51F6C;
|
|
L_02C51F6C: ; // 0x2c51f6c
|
|
/* 02C51F6C */ _t35 = cpu->r[4] + 0x00000004u;
|
|
/* 02C51F6C */ cpu->r[7] = rbrew_read16(cpu->mem, _t35);
|
|
/* 02C51F70 */ /* nop */
|
|
/* 02C51F74 */ _t36 = cpu->r[4] + 0x0000000Cu;
|
|
/* 02C51F74 */ cpu->r[12] = rbrew_read32(cpu->mem, _t36);
|
|
/* 02C51F78 */ cpu->r[7] = cpu->r[7] | 0x00000004u;
|
|
/* 02C51F7C */ cpu->r[11] = rbrew_rlwinm(cpu->r[11], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02C51F80 */ _t37 = cpu->r[4] + 0x00000004u;
|
|
/* 02C51F80 */ rbrew_write16(cpu->mem, _t37, (uint16_t)cpu->r[7]);
|
|
/* 02C51F84 */ _t38 = cpu->r[12] + cpu->r[11];
|
|
/* 02C51F84 */ cpu->r[7] = rbrew_read32(cpu->mem, _t38);
|
|
/* 02C51F88 */ cpu->r[6] = rbrew_rlwinm(cpu->r[10], cpu->r[6], 0x00000000u, 0x0000001Fu);
|
|
/* 02C51F8C */ cpu->r[7] = cpu->r[7] | cpu->r[6];
|
|
/* 02C51F90 */ _t39 = cpu->r[12] + cpu->r[11];
|
|
/* 02C51F90 */ rbrew_write32(cpu->mem, _t39, cpu->r[7]);
|
|
L_02C51F94: ; // 0x2c51f94
|
|
/* 02C51F94 */ _t40 = cpu->r[5] + 0x00000000u;
|
|
/* 02C51F94 */ cpu->r[28] = rbrew_read16(cpu->mem, _t40);
|
|
/* 02C51F98 */ _t41 = cpu->r[5] + 0x00000002u;
|
|
/* 02C51F98 */ cpu->r[11] = rbrew_read16(cpu->mem, _t41);
|
|
/* 02C51F9C */ _t42 = cpu->r[5] + 0x00000004u;
|
|
/* 02C51F9C */ cpu->r[12] = rbrew_read16(cpu->mem, _t42);
|
|
/* 02C51FA0 */ cpu->r[11] = cpu->r[28] + cpu->r[11];
|
|
/* 02C51FA4 */ cpu->r[11] = cpu->r[11] + cpu->r[12];
|
|
/* 02C51FA8 */ _t43 = cpu->r[29] + 0x00000002u;
|
|
/* 02C51FA8 */ cpu->r[12] = rbrew_read16(cpu->mem, _t43);
|
|
/* 02C51FAC */ _t44 = cpu->r[4] + 0x00000028u;
|
|
/* 02C51FAC */ cpu->r[6] = rbrew_read32(cpu->mem, _t44);
|
|
/* 02C51FB0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], cpu->r[11]);
|
|
/* 02C51FB4 */ cpu->r[7] = cpu->r[11] - cpu->r[28];
|
|
/* 02C51FB8 */ cpu->r[29] = cpu->r[6] + cpu->r[12];
|
|
/* 02C51FBC */ _t45 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C51FBC */ _t46 = _t45 & 0x00000001u;
|
|
/* 02C51FBC */ if (_t46) goto L_02C51FC0; else goto L_02C52004;
|
|
L_02C51FC0: ; // 0x2c51fc0
|
|
/* 02C51FC0 */ cpu->r[12] = rbrew_rlwinm(cpu->r[28], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02C51FC4 */ cpu->r[11] = (uint32_t)((int32_t)cpu->r[28] * (int32_t)0x00000024u);
|
|
/* 02C51FC8 */ cpu->r[12] = cpu->r[31] + cpu->r[12];
|
|
/* 02C51FCC */ cpu->ctr = cpu->r[7];
|
|
/* 02C51FD0 */ cpu->r[27] = cpu->r[30] + 0x00000018u;
|
|
/* 02C51FD4 */ cpu->r[12] = cpu->r[12] + 0xFFFFFFFCu;
|
|
L_02C51FD8: ; // 0x2c51fd8
|
|
/* 02C51FD8 */ _t47 = cpu->r[27] + 0x00000000u;
|
|
/* 02C51FD8 */ cpu->r[6] = rbrew_read32(cpu->mem, _t47);
|
|
/* 02C51FDC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u);
|
|
/* 02C51FE0 */ cpu->r[7] = 0x00000000u;
|
|
/* 02C51FE4 */ _t48 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C51FE4 */ _t49 = _t48 & 0x00000001u;
|
|
/* 02C51FE4 */ if (_t49) goto L_02C51FEC; else goto L_02C51FE8;
|
|
L_02C51FE8: ; // 0x2c51fe8
|
|
/* 02C51FE8 */ cpu->r[7] = cpu->r[27] + cpu->r[6];
|
|
L_02C51FEC: ; // 0x2c51fec
|
|
/* 02C51FEC */ cpu->r[6] = cpu->r[7] + cpu->r[11];
|
|
/* 02C51FF0 */ _t50 = cpu->r[12] + 0x00000004u;
|
|
/* 02C51FF0 */ cpu->r[7] = rbrew_read32(cpu->mem, _t50);
|
|
/* 02C51FF0 */ cpu->r[12] = _t50;
|
|
/* 02C51FF4 */ _t51 = cpu->r[6] + 0x00000004u;
|
|
/* 02C51FF4 */ cpu->r[6] = rbrew_read32(cpu->mem, _t51);
|
|
/* 02C51FF8 */ cpu->r[11] = cpu->r[11] + 0x00000024u;
|
|
/* 02C51FFC */ _t52 = cpu->r[29] + cpu->r[6];
|
|
/* 02C51FFC */ rbrew_write32(cpu->mem, _t52, cpu->r[7]);
|
|
/* 02C52000 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02C52000 */ _t53 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02C52000 */ _t54 = _t53 >> (0x00000002u & 31u);
|
|
/* 02C52000 */ _t55 = _t54 & 0x00000001u;
|
|
/* 02C52000 */ if (_t55) goto L_02C51FD8; else goto L_02C52004;
|
|
L_02C52004: ; // 0x2c52004
|
|
/* 02C52004 */ _t56 = cpu->r[5] + 0x00000006u;
|
|
/* 02C52004 */ cpu->r[7] = rbrew_read16(cpu->mem, _t56);
|
|
/* 02C52008 */ _t57 = cpu->r[5] + 0x00000008u;
|
|
/* 02C52008 */ cpu->r[12] = rbrew_read16(cpu->mem, _t57);
|
|
/* 02C5200C */ cpu->r[12] = cpu->r[7] + cpu->r[12];
|
|
/* 02C52010 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], cpu->r[12]);
|
|
/* 02C52014 */ cpu->r[11] = cpu->r[12] - cpu->r[7];
|
|
/* 02C52018 */ _t58 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C52018 */ _t59 = _t58 & 0x00000001u;
|
|
/* 02C52018 */ if (_t59) goto L_02C5201C; else goto L_02C52050;
|
|
L_02C5201C: ; // 0x2c5201c
|
|
/* 02C5201C */ cpu->ctr = cpu->r[11];
|
|
/* 02C52020 */ cpu->r[12] = rbrew_rlwinm(cpu->r[7], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 02C52024 */ cpu->r[6] = cpu->r[30] + 0x0000001Cu;
|
|
L_02C52028: ; // 0x2c52028
|
|
/* 02C52028 */ _t60 = cpu->r[6] + 0x00000000u;
|
|
/* 02C52028 */ cpu->r[7] = rbrew_read32(cpu->mem, _t60);
|
|
/* 02C5202C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 02C52030 */ cpu->r[11] = 0x00000000u;
|
|
/* 02C52034 */ _t61 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C52034 */ _t62 = _t61 & 0x00000001u;
|
|
/* 02C52034 */ if (_t62) goto L_02C5203C; else goto L_02C52038;
|
|
L_02C52038: ; // 0x2c52038
|
|
/* 02C52038 */ cpu->r[11] = cpu->r[6] + cpu->r[7];
|
|
L_02C5203C: ; // 0x2c5203c
|
|
/* 02C5203C */ _t63 = cpu->r[11] + cpu->r[12];
|
|
/* 02C5203C */ cpu->r[7] = rbrew_read32(cpu->mem, _t63);
|
|
/* 02C5203C */ cpu->r[11] = _t63;
|
|
/* 02C52040 */ _t64 = cpu->r[11] + 0x00000004u;
|
|
/* 02C52040 */ cpu->r[11] = rbrew_read32(cpu->mem, _t64);
|
|
/* 02C52044 */ cpu->r[12] = cpu->r[12] + 0x00000008u;
|
|
/* 02C52048 */ _t65 = cpu->r[29] + cpu->r[7];
|
|
/* 02C52048 */ rbrew_write32(cpu->mem, _t65, cpu->r[11]);
|
|
/* 02C5204C */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02C5204C */ _t66 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02C5204C */ _t67 = _t66 >> (0x00000002u & 31u);
|
|
/* 02C5204C */ _t68 = _t67 & 0x00000001u;
|
|
/* 02C5204C */ if (_t68) goto L_02C52028; else goto L_02C52050;
|
|
L_02C52050: ; // 0x2c52050
|
|
/* 02C52050 */ cpu->r[8] = cpu->r[8] + 0xFFFFFFFFu;
|
|
/* 02C52050 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 02C52054 */ cpu->r[9] = cpu->r[9] + 0x00000002u;
|
|
/* 02C52058 */ cpu->r[5] = cpu->r[5] + 0x00000010u;
|
|
/* 02C5205C */ _t69 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C5205C */ _t70 = _t69 & 0x00000001u;
|
|
/* 02C5205C */ if (_t70) goto L_02C52060; else goto L_02C51ED0;
|
|
L_02C52060: ; // 0x2c52060
|
|
/* 02C52060 */ /* nop */
|
|
/* 02C52064 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02C52068 */ return;
|
|
}
|
|
|
|
// fn_02C5206C @ 0x2c5206c
|
|
void Gambit_fn_02C5206C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12;
|
|
|
|
L_02C5206C: ; // 0x2c5206c
|
|
/* 02C5206C */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 02C5206C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C5206C */ cpu->r[1] = _t0;
|
|
/* 02C52070 */ /* nop */
|
|
/* 02C52074 */ cpu->r[0] = cpu->lr;
|
|
/* 02C52078 */ _t1 = cpu->r[1] + 0x00000024u;
|
|
/* 02C52078 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02C5207C */ _t2 = cpu->r[3] + 0x00000040u;
|
|
/* 02C5207C */ cpu->r[28] = rbrew_read16(cpu->mem, _t2);
|
|
/* 02C52080 */ cpu->r[31] = cpu->r[4];
|
|
/* 02C52084 */ cpu->r[27] = cpu->r[3] + 0x00000038u;
|
|
/* 02C52088 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 02C5208C */ cpu->r[29] = 0x00000000u;
|
|
/* 02C52090 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C52090 */ _t4 = _t3 & 0x00000001u;
|
|
/* 02C52090 */ if (_t4) goto L_02C520D8; else goto L_02C52094;
|
|
L_02C52094: ; // 0x2c52094
|
|
/* 02C52094 */ cpu->r[30] = 0x00000000u;
|
|
L_02C52098: ; // 0x2c52098
|
|
/* 02C52098 */ _t5 = cpu->r[27] + 0x00000000u;
|
|
/* 02C52098 */ cpu->r[10] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02C5209C */ _t6 = cpu->r[10] + cpu->r[30];
|
|
/* 02C5209C */ cpu->r[9] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02C520A0 */ cpu->r[11] = rbrew_rlwinm(cpu->r[9], 0x00000001u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02C520A4 */ cpu->r[12] = cpu->r[11] ^ 0x00000001u;
|
|
/* 02C520A8 */ cpu->r[0] = rbrew_rlwinm(cpu->r[12], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 02C520A8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C520AC */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C520AC */ _t8 = _t7 & 0x00000001u;
|
|
/* 02C520AC */ if (_t8) goto L_02C520C8; else goto L_02C520B0;
|
|
L_02C520B0: ; // 0x2c520b0
|
|
/* 02C520B0 */ cpu->r[0] = rbrew_rlwinm(cpu->r[9], 0x00000000u, 0x00000011u, 0x0000001Fu);
|
|
/* 02C520B4 */ _t9 = cpu->r[31] + 0x00000020u;
|
|
/* 02C520B4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02C520B8 */ cpu->r[0] = (uint32_t)((int32_t)cpu->r[0] * (int32_t)0x0000003Cu);
|
|
/* 02C520BC */ cpu->r[5] = cpu->r[29];
|
|
/* 02C520C0 */ cpu->r[4] = cpu->r[8] + cpu->r[0];
|
|
/* 02C520C4 */ Gambit_fn_02C51E74(cpu);
|
|
L_02C520C8: ; // 0x2c520c8
|
|
/* 02C520C8 */ cpu->r[28] = cpu->r[28] + 0xFFFFFFFFu;
|
|
/* 02C520C8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 02C520CC */ cpu->r[29] = cpu->r[29] + 0x00000001u;
|
|
/* 02C520D0 */ cpu->r[30] = cpu->r[30] + 0x00000004u;
|
|
/* 02C520D4 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C520D4 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02C520D4 */ if (_t11) goto L_02C520D8; else goto L_02C52098;
|
|
L_02C520D8: ; // 0x2c520d8
|
|
/* 02C520D8 */ /* nop */
|
|
/* 02C520DC */ _t12 = cpu->r[1] + 0x00000024u;
|
|
/* 02C520DC */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02C520E0 */ cpu->lr = cpu->r[0];
|
|
/* 02C520E4 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02C520E8 */ return;
|
|
}
|
|
|
|
// fn_02C520EC @ 0x2c520ec
|
|
void Gambit_fn_02C520EC(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_02C520EC: ; // 0x2c520ec
|
|
/* 02C520EC */ cpu->r[0] = cpu->lr;
|
|
/* 02C520F0 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C520F0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C520F0 */ cpu->r[1] = _t0;
|
|
/* 02C520F4 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C520F4 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02C520F8 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02C520F8 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02C520FC */ cpu->r[30] = cpu->r[3];
|
|
/* 02C52100 */ cpu->r[31] = cpu->r[4];
|
|
/* 02C52104 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02C52104 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02C52108 */ _t4 = cpu->r[30] + 0x00000044u;
|
|
/* 02C52108 */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
|
|
/* 02C5210C */ _t5 = cpu->r[31] + 0x0000002Cu;
|
|
/* 02C5210C */ cpu->r[8] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02C52110 */ cpu->r[9] = cpu->r[31] + 0x0000002Cu;
|
|
/* 02C52114 */ cpu->r[12] = 0x00000000u;
|
|
/* 02C52118 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 02C5211C */ _t6 = cpu->r[30] + 0x0000003Cu;
|
|
/* 02C5211C */ cpu->r[0] = rbrew_read16(cpu->mem, _t6);
|
|
/* 02C52120 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C52120 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02C52120 */ if (_t8) goto L_02C52128; else goto L_02C52124;
|
|
L_02C52124: ; // 0x2c52124
|
|
/* 02C52124 */ cpu->r[12] = cpu->r[9] + cpu->r[8];
|
|
L_02C52128: ; // 0x2c52128
|
|
/* 02C52128 */ _t9 = cpu->r[30] + 0x00000048u;
|
|
/* 02C52128 */ rbrew_write32(cpu->mem, _t9, cpu->r[12]);
|
|
/* 02C5212C */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000010u, 0x0000001Eu);
|
|
/* 02C52130 */ _t10 = cpu->r[30] + 0x0000003Cu;
|
|
/* 02C52130 */ rbrew_write16(cpu->mem, _t10, (uint16_t)cpu->r[0]);
|
|
/* 02C52134 */ _t11 = cpu->r[31] + 0x0000000Cu;
|
|
/* 02C52134 */ cpu->r[11] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02C52138 */ cpu->r[5] = rbrew_rlwinm(cpu->r[11], 0x0000001Eu, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02C5213C */ _t12 = cpu->r[31] + 0x00000010u;
|
|
/* 02C5213C */ cpu->r[4] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02C52140 */ cpu->r[3] = cpu->r[30];
|
|
/* 02C52144 */ Gambit_fn_02C4F174(cpu);
|
|
/* 02C52148 */ _t13 = cpu->r[31] + 0x00000014u;
|
|
/* 02C52148 */ cpu->r[0] = rbrew_read16(cpu->mem, _t13);
|
|
/* 02C5214C */ _t14 = cpu->r[30] + 0x00000040u;
|
|
/* 02C5214C */ rbrew_write16(cpu->mem, _t14, (uint16_t)cpu->r[0]);
|
|
/* 02C52150 */ _t15 = cpu->r[31] + 0x0000001Cu;
|
|
/* 02C52150 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02C52154 */ cpu->r[12] = 0x10230000u;
|
|
/* 02C52158 */ _t16 = cpu->r[30] + 0x00000024u;
|
|
/* 02C52158 */ rbrew_write32(cpu->mem, _t16, cpu->r[0]);
|
|
/* 02C5215C */ _t17 = cpu->r[12] + 0xFFFFAB0Cu;
|
|
/* 02C5215C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t17);
|
|
/* 02C52160 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C52164 */ _t18 = cpu->r[30] + 0x00000028u;
|
|
/* 02C52164 */ rbrew_write_f32(cpu->mem, _t18, cpu->f[0]);
|
|
/* 02C52168 */ _t19 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C52168 */ _t20 = _t19 & 0x00000001u;
|
|
/* 02C52168 */ if (_t20) goto L_02C5216C; else goto L_02C521A4;
|
|
L_02C5216C: ; // 0x2c5216c
|
|
/* 02C5216C */ _t21 = cpu->r[30] + 0x00000020u;
|
|
/* 02C5216C */ cpu->r[12] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02C52170 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], cpu->r[12]);
|
|
/* 02C52174 */ _t22 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C52174 */ _t23 = _t22 & 0x00000001u;
|
|
/* 02C52174 */ if (_t23) goto L_02C521A4; else goto L_02C52178;
|
|
L_02C52178: ; // 0x2c52178
|
|
/* 02C52178 */ cpu->r[11] = 0x101B0000u;
|
|
/* 02C5217C */ cpu->r[10] = 0x00000000u;
|
|
/* 02C52180 */ _t24 = cpu->r[11] + 0xFFFFED84u;
|
|
/* 02C52180 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t24);
|
|
/* 02C52184 */ cpu->r[11] = cpu->r[10];
|
|
L_02C52188: ; // 0x2c52188
|
|
/* 02C52188 */ _t25 = cpu->r[30] + 0x0000001Cu;
|
|
/* 02C52188 */ cpu->r[9] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02C5218C */ _t26 = cpu->r[9] + cpu->r[11];
|
|
/* 02C5218C */ rbrew_write32(cpu->mem, _t26, cpu->r[0]);
|
|
/* 02C52190 */ _t27 = cpu->r[30] + 0x00000024u;
|
|
/* 02C52190 */ cpu->r[0] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02C52194 */ cpu->r[10] = cpu->r[10] + 0x00000001u;
|
|
/* 02C52198 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], cpu->r[0]);
|
|
/* 02C5219C */ cpu->r[11] = cpu->r[11] + 0x0000000Cu;
|
|
/* 02C521A0 */ _t28 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C521A0 */ _t29 = _t28 & 0x00000001u;
|
|
/* 02C521A0 */ if (_t29) goto L_02C52188; else goto L_02C521A4;
|
|
L_02C521A4: ; // 0x2c521a4
|
|
/* 02C521A4 */ _t30 = cpu->r[1] + 0x00000014u;
|
|
/* 02C521A4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02C521A8 */ _t31 = cpu->r[1] + 0x00000008u;
|
|
/* 02C521A8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02C521AC */ cpu->lr = cpu->r[0];
|
|
/* 02C521B0 */ _t32 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C521B0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t32);
|
|
/* 02C521B4 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C521B8 */ return;
|
|
}
|
|
|
|
// fn_02C520F0 @ 0x2c520f0
|
|
void Gambit_fn_02C520F0(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_02C520F0: ; // 0x2c520f0
|
|
/* 02C520F0 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C520F0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C520F0 */ cpu->r[1] = _t0;
|
|
/* 02C520F4 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C520F4 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02C520F8 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02C520F8 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02C520FC */ cpu->r[30] = cpu->r[3];
|
|
/* 02C52100 */ cpu->r[31] = cpu->r[4];
|
|
/* 02C52104 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02C52104 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02C52108 */ _t4 = cpu->r[30] + 0x00000044u;
|
|
/* 02C52108 */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
|
|
/* 02C5210C */ _t5 = cpu->r[31] + 0x0000002Cu;
|
|
/* 02C5210C */ cpu->r[8] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02C52110 */ cpu->r[9] = cpu->r[31] + 0x0000002Cu;
|
|
/* 02C52114 */ cpu->r[12] = 0x00000000u;
|
|
/* 02C52118 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 02C5211C */ _t6 = cpu->r[30] + 0x0000003Cu;
|
|
/* 02C5211C */ cpu->r[0] = rbrew_read16(cpu->mem, _t6);
|
|
/* 02C52120 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C52120 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02C52120 */ if (_t8) goto L_02C52128; else goto L_02C52124;
|
|
L_02C52124: ; // 0x2c52124
|
|
/* 02C52124 */ cpu->r[12] = cpu->r[9] + cpu->r[8];
|
|
L_02C52128: ; // 0x2c52128
|
|
/* 02C52128 */ _t9 = cpu->r[30] + 0x00000048u;
|
|
/* 02C52128 */ rbrew_write32(cpu->mem, _t9, cpu->r[12]);
|
|
/* 02C5212C */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000010u, 0x0000001Eu);
|
|
/* 02C52130 */ _t10 = cpu->r[30] + 0x0000003Cu;
|
|
/* 02C52130 */ rbrew_write16(cpu->mem, _t10, (uint16_t)cpu->r[0]);
|
|
/* 02C52134 */ _t11 = cpu->r[31] + 0x0000000Cu;
|
|
/* 02C52134 */ cpu->r[11] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02C52138 */ cpu->r[5] = rbrew_rlwinm(cpu->r[11], 0x0000001Eu, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02C5213C */ _t12 = cpu->r[31] + 0x00000010u;
|
|
/* 02C5213C */ cpu->r[4] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02C52140 */ cpu->r[3] = cpu->r[30];
|
|
/* 02C52144 */ Gambit_fn_02C4F174(cpu);
|
|
/* 02C52148 */ _t13 = cpu->r[31] + 0x00000014u;
|
|
/* 02C52148 */ cpu->r[0] = rbrew_read16(cpu->mem, _t13);
|
|
/* 02C5214C */ _t14 = cpu->r[30] + 0x00000040u;
|
|
/* 02C5214C */ rbrew_write16(cpu->mem, _t14, (uint16_t)cpu->r[0]);
|
|
/* 02C52150 */ _t15 = cpu->r[31] + 0x0000001Cu;
|
|
/* 02C52150 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02C52154 */ cpu->r[12] = 0x10230000u;
|
|
/* 02C52158 */ _t16 = cpu->r[30] + 0x00000024u;
|
|
/* 02C52158 */ rbrew_write32(cpu->mem, _t16, cpu->r[0]);
|
|
/* 02C5215C */ _t17 = cpu->r[12] + 0xFFFFAB0Cu;
|
|
/* 02C5215C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t17);
|
|
/* 02C52160 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C52164 */ _t18 = cpu->r[30] + 0x00000028u;
|
|
/* 02C52164 */ rbrew_write_f32(cpu->mem, _t18, cpu->f[0]);
|
|
/* 02C52168 */ _t19 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C52168 */ _t20 = _t19 & 0x00000001u;
|
|
/* 02C52168 */ if (_t20) goto L_02C5216C; else goto L_02C521A4;
|
|
L_02C5216C: ; // 0x2c5216c
|
|
/* 02C5216C */ _t21 = cpu->r[30] + 0x00000020u;
|
|
/* 02C5216C */ cpu->r[12] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02C52170 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], cpu->r[12]);
|
|
/* 02C52174 */ _t22 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C52174 */ _t23 = _t22 & 0x00000001u;
|
|
/* 02C52174 */ if (_t23) goto L_02C521A4; else goto L_02C52178;
|
|
L_02C52178: ; // 0x2c52178
|
|
/* 02C52178 */ cpu->r[11] = 0x101B0000u;
|
|
/* 02C5217C */ cpu->r[10] = 0x00000000u;
|
|
/* 02C52180 */ _t24 = cpu->r[11] + 0xFFFFED84u;
|
|
/* 02C52180 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t24);
|
|
/* 02C52184 */ cpu->r[11] = cpu->r[10];
|
|
L_02C52188: ; // 0x2c52188
|
|
/* 02C52188 */ _t25 = cpu->r[30] + 0x0000001Cu;
|
|
/* 02C52188 */ cpu->r[9] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02C5218C */ _t26 = cpu->r[9] + cpu->r[11];
|
|
/* 02C5218C */ rbrew_write32(cpu->mem, _t26, cpu->r[0]);
|
|
/* 02C52190 */ _t27 = cpu->r[30] + 0x00000024u;
|
|
/* 02C52190 */ cpu->r[0] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02C52194 */ cpu->r[10] = cpu->r[10] + 0x00000001u;
|
|
/* 02C52198 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], cpu->r[0]);
|
|
/* 02C5219C */ cpu->r[11] = cpu->r[11] + 0x0000000Cu;
|
|
/* 02C521A0 */ _t28 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C521A0 */ _t29 = _t28 & 0x00000001u;
|
|
/* 02C521A0 */ if (_t29) goto L_02C52188; else goto L_02C521A4;
|
|
L_02C521A4: ; // 0x2c521a4
|
|
/* 02C521A4 */ _t30 = cpu->r[1] + 0x00000014u;
|
|
/* 02C521A4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02C521A8 */ _t31 = cpu->r[1] + 0x00000008u;
|
|
/* 02C521A8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02C521AC */ cpu->lr = cpu->r[0];
|
|
/* 02C521B0 */ _t32 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C521B0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t32);
|
|
/* 02C521B4 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C521B8 */ return;
|
|
}
|
|
|
|
// fn_02C521BC @ 0x2c521bc
|
|
void Gambit_fn_02C521BC(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_02801B30: ; // 0x2801b30
|
|
/* 02801B30 */ cpu->r[0] = cpu->lr;
|
|
/* 02801B34 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02801B34 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02801B34 */ cpu->r[1] = _t0;
|
|
/* 02801B38 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B38 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02801B3C */ cpu->r[31] = cpu->r[3];
|
|
/* 02801B40 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02801B44 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B44 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02801B48 */ _t3 = cpu->r[3] + 0xFFFF98F0u;
|
|
/* 02801B48 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02801B4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B50 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B50 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02801B50 */ if (_t5) goto L_02801B54; else goto L_02801B70;
|
|
L_02801B54: ; // 0x2801b54
|
|
/* 02801B54 */ cpu->r[3] = cpu->r[31];
|
|
/* 02801B58 */ Gambit_fn_02801B20(cpu);
|
|
/* 02801B5C */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02801B60 */ _t7 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B60 */ cpu->r[31] = rbrew_read32(cpu->mem, _t7);
|
|
/* 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 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B74 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02801B74 */ if (_t9) 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 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B84 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02801B84 */ if (_t11) goto L_02801B9C; else goto L_02801B88;
|
|
L_02801B88: ; // 0x2801b88
|
|
/* 02801B88 */ _t12 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02801B88 */ cpu->r[12] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02801B8C */ _t13 = cpu->r[12] + 0x0000003Cu;
|
|
/* 02801B8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02801B90 */ cpu->ctr = cpu->r[0];
|
|
/* 02801B94 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B98 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02801B9C: ; // 0x2801b9c
|
|
/* 02801B9C */ _t14 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02801BA0 */ _t15 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801BA0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02801BA4 */ cpu->lr = cpu->r[0];
|
|
/* 02801BA8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801BAC */ return;
|
|
L_02801BB0: ; // 0x2801bb0
|
|
/* 02801BB0 */ goto L_02801B30;
|
|
L_02C521BC: ; // 0x2c521bc
|
|
/* 02C521BC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C521C0 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C521C0 */ _t17 = _t16 & 0x00000001u;
|
|
/* 02C521C0 */ if (_t17) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02C521C0 */ goto L_02C521C4;
|
|
L_02C521C4: ; // 0x2c521c4
|
|
/* 02C521C4 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02C521C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C521C8 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C521C8 */ _t19 = _t18 & 0x00000001u;
|
|
/* 02C521C8 */ if (_t19) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02C521C8 */ goto L_02C521CC;
|
|
L_02C521CC: ; // 0x2c521cc
|
|
/* 02C521CC */ goto L_02801BB0;
|
|
}
|
|
|
|
// fn_02C521D0 @ 0x2c521d0
|
|
void Gambit_fn_02C521D0(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_02C521D0: ; // 0x2c521d0
|
|
/* 02C521D0 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 02C521D0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C521D0 */ cpu->r[1] = _t0;
|
|
/* 02C521D4 */ /* nop */
|
|
/* 02C521D8 */ cpu->r[0] = cpu->lr;
|
|
/* 02C521DC */ _t1 = cpu->r[1] + 0x00000024u;
|
|
/* 02C521DC */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02C521E0 */ _t2 = cpu->r[4] + 0x0000001Cu;
|
|
/* 02C521E0 */ cpu->r[0] = rbrew_read8(cpu->mem, _t2);
|
|
/* 02C521E4 */ /* nop */
|
|
/* 02C521E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0xFFFFFFFFu);
|
|
/* 02C521EC */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C521EC */ _t4 = _t3 & 0x00000001u;
|
|
/* 02C521EC */ if (_t4) goto L_02C521F0; else goto L_02C5220C;
|
|
L_02C521F0: ; // 0x2c521f0
|
|
/* 02C521F0 */ cpu->r[6] = 0x00000000u;
|
|
/* 02C521F4 */ _t5 = cpu->r[3] + 0x00000018u;
|
|
/* 02C521F4 */ rbrew_write16(cpu->mem, _t5, (uint16_t)cpu->r[6]);
|
|
/* 02C521F8 */ /* nop */
|
|
/* 02C521FC */ _t6 = cpu->r[1] + 0x00000024u;
|
|
/* 02C521FC */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02C52200 */ cpu->lr = cpu->r[0];
|
|
/* 02C52204 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02C52208 */ return;
|
|
L_02C5220C: ; // 0x2c5220c
|
|
/* 02C5220C */ _t7 = cpu->r[4] + 0x0000004Cu;
|
|
/* 02C5220C */ cpu->r[12] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02C52210 */ cpu->r[7] = 0x00000000u;
|
|
/* 02C52214 */ cpu->r[10] = cpu->r[4] + 0x0000004Cu;
|
|
/* 02C52218 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02C5221C */ _t8 = cpu->r[3] + 0x00000012u;
|
|
/* 02C5221C */ cpu->r[29] = rbrew_read16(cpu->mem, _t8);
|
|
/* 02C52220 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C52220 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02C52220 */ if (_t10) goto L_02C52228; else goto L_02C52224;
|
|
L_02C52224: ; // 0x2c52224
|
|
/* 02C52224 */ cpu->r[7] = cpu->r[10] + cpu->r[12];
|
|
L_02C52228: ; // 0x2c52228
|
|
/* 02C52228 */ cpu->r[8] = rbrew_rlwinm(cpu->r[0], 0x00000004u, 0x00000000u, 0x0000001Bu);
|
|
/* 02C5222C */ cpu->r[31] = cpu->r[7] + cpu->r[8];
|
|
/* 02C52230 */ _t11 = cpu->r[31] + 0x00000002u;
|
|
/* 02C52230 */ cpu->r[9] = rbrew_read16(cpu->mem, _t11);
|
|
/* 02C52234 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 02C52238 */ _t12 = cpu->r[3] + 0x00000018u;
|
|
/* 02C52238 */ rbrew_write16(cpu->mem, _t12, (uint16_t)cpu->r[9]);
|
|
/* 02C5223C */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C5223C */ _t14 = _t13 & 0x00000001u;
|
|
/* 02C5223C */ if (_t14) goto L_02C522B8; else goto L_02C52240;
|
|
L_02C52240: ; // 0x2c52240
|
|
/* 02C52240 */ cpu->r[27] = cpu->r[3] + 0x00000034u;
|
|
/* 02C52244 */ cpu->r[30] = 0x00000000u;
|
|
L_02C52248: ; // 0x2c52248
|
|
/* 02C52248 */ _t15 = cpu->r[27] + 0x00000000u;
|
|
/* 02C52248 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02C5224C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C52250 */ cpu->r[5] = 0x00000000u;
|
|
/* 02C52254 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C52254 */ _t17 = _t16 & 0x00000001u;
|
|
/* 02C52254 */ if (_t17) goto L_02C5225C; else goto L_02C52258;
|
|
L_02C52258: ; // 0x2c52258
|
|
/* 02C52258 */ cpu->r[5] = cpu->r[27] + cpu->r[0];
|
|
L_02C5225C: ; // 0x2c5225c
|
|
/* 02C5225C */ cpu->r[28] = cpu->r[5] + cpu->r[30];
|
|
/* 02C52260 */ _t18 = cpu->r[28] + 0x00000010u;
|
|
/* 02C52260 */ cpu->r[6] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02C52264 */ cpu->r[7] = cpu->r[28] + 0x00000010u;
|
|
/* 02C52268 */ cpu->r[4] = 0x00000000u;
|
|
/* 02C5226C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u);
|
|
/* 02C52270 */ _t19 = cpu->r[31] + 0x00000008u;
|
|
/* 02C52270 */ cpu->r[9] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02C52274 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C52274 */ _t21 = _t20 & 0x00000001u;
|
|
/* 02C52274 */ if (_t21) goto L_02C5227C; else goto L_02C52278;
|
|
L_02C52278: ; // 0x2c52278
|
|
/* 02C52278 */ cpu->r[4] = cpu->r[7] + cpu->r[6];
|
|
L_02C5227C: ; // 0x2c5227c
|
|
/* 02C5227C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 02C52280 */ cpu->r[12] = cpu->r[31] + 0x00000008u;
|
|
/* 02C52284 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C52288 */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C52288 */ _t23 = _t22 & 0x00000001u;
|
|
/* 02C52288 */ if (_t23) goto L_02C52290; else goto L_02C5228C;
|
|
L_02C5228C: ; // 0x2c5228c
|
|
/* 02C5228C */ cpu->r[3] = cpu->r[12] + cpu->r[9];
|
|
L_02C52290: ; // 0x2c52290
|
|
/* 02C52290 */ Gambit_fn_02C60464(cpu);
|
|
/* 02C52294 */ cpu->r[12] = cpu->r[3];
|
|
/* 02C52294 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02C52298 */ cpu->r[0] = 0xFFFFFFFFu;
|
|
/* 02C5229C */ _t24 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C5229C */ _t25 = _t24 & 0x00000001u;
|
|
/* 02C5229C */ if (_t25) goto L_02C522A8; else goto L_02C522A0;
|
|
L_02C522A0: ; // 0x2c522a0
|
|
/* 02C522A0 */ _t26 = cpu->r[12] + 0x00000008u;
|
|
/* 02C522A0 */ cpu->r[10] = rbrew_read16(cpu->mem, _t26);
|
|
/* 02C522A4 */ cpu->r[0] = cpu->r[10] + 0xFFFFFFFFu;
|
|
L_02C522A8: ; // 0x2c522a8
|
|
/* 02C522A8 */ cpu->r[29] = cpu->r[29] + 0xFFFFFFFFu;
|
|
/* 02C522A8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 02C522AC */ cpu->r[30] = cpu->r[30] + 0x00000014u;
|
|
/* 02C522B0 */ _t27 = cpu->r[28] + 0x00000004u;
|
|
/* 02C522B0 */ rbrew_write32(cpu->mem, _t27, cpu->r[0]);
|
|
/* 02C522B4 */ _t28 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C522B4 */ _t29 = _t28 & 0x00000001u;
|
|
/* 02C522B4 */ if (_t29) goto L_02C522B8; else goto L_02C52248;
|
|
L_02C522B8: ; // 0x2c522b8
|
|
/* 02C522B8 */ /* nop */
|
|
/* 02C522BC */ _t30 = cpu->r[1] + 0x00000024u;
|
|
/* 02C522BC */ cpu->r[0] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02C522C0 */ cpu->lr = cpu->r[0];
|
|
/* 02C522C4 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02C522C8 */ return;
|
|
}
|
|
|
|
// fn_02C522CC @ 0x2c522cc
|
|
void Gambit_fn_02C522CC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t15, _t16, _t17, _t18;
|
|
double _ft13, _ft14;
|
|
|
|
L_02C522CC: ; // 0x2c522cc
|
|
/* 02C522CC */ /* nop */
|
|
/* 02C522D0 */ /* nop */
|
|
/* 02C522D4 */ /* nop */
|
|
/* 02C522D8 */ /* nop */
|
|
/* 02C522DC */ /* nop */
|
|
/* 02C522E0 */ /* nop */
|
|
/* 02C522E4 */ /* nop */
|
|
/* 02C522E8 */ /* nop */
|
|
/* 02C522EC */ /* nop */
|
|
/* 02C522F0 */ /* nop */
|
|
/* 02C522F4 */ /* nop */
|
|
/* 02C522F8 */ /* nop */
|
|
/* 02C522FC */ /* nop */
|
|
/* 02C52300 */ /* nop */
|
|
/* 02C52304 */ /* nop */
|
|
/* 02C52308 */ cpu->f[11] = cpu->f[10];
|
|
/* 02C5230C */ /* nop */
|
|
/* 02C52310 */ _t0 = cpu->r[3] + 0x00000008u;
|
|
/* 02C52310 */ rbrew_write_f32(cpu->mem, _t0, cpu->f[11]);
|
|
/* 02C52314 */ /* nop */
|
|
/* 02C52318 */ /* nop */
|
|
/* 02C5231C */ _t1 = cpu->r[5] + 0x00000010u;
|
|
/* 02C5231C */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t1);
|
|
/* 02C52320 */ _t2 = cpu->r[5] + 0x00000014u;
|
|
/* 02C52320 */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t2);
|
|
/* 02C52324 */ cpu->f[13] = cpu->f[11] * cpu->f[11];
|
|
/* 02C52328 */ _t3 = cpu->r[5] + 0x00000000u;
|
|
/* 02C52328 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t3);
|
|
/* 02C5232C */ cpu->f[11] = cpu->f[7] * cpu->f[7];
|
|
/* 02C52330 */ _t4 = cpu->r[5] + 0x00000004u;
|
|
/* 02C52330 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t4);
|
|
/* 02C52334 */ cpu->f[8] = fma(cpu->f[9], cpu->f[9], cpu->f[13]);
|
|
/* 02C52338 */ _t5 = cpu->r[5] + 0x00000020u;
|
|
/* 02C52338 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t5);
|
|
/* 02C5233C */ cpu->f[12] = fma(cpu->f[0], cpu->f[0], cpu->f[11]);
|
|
/* 02C52340 */ _t6 = cpu->r[5] + 0x00000024u;
|
|
/* 02C52340 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t6);
|
|
/* 02C52344 */ cpu->f[9] = fma(cpu->f[13], cpu->f[13], cpu->f[8]);
|
|
/* 02C52348 */ cpu->f[10] = fma(cpu->f[10], cpu->f[10], cpu->f[12]);
|
|
/* 02C5234C */ cpu->f[7] = cpu->f[9];
|
|
/* 02C52350 */ _t7 = cpu->r[5] + 0x00000018u;
|
|
/* 02C52350 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t7);
|
|
/* 02C52354 */ cpu->f[9] = cpu->f[9] - cpu->f[10];
|
|
/* 02C52358 */ cpu->f[11] = cpu->f[0] * cpu->f[0];
|
|
/* 02C5235C */ _t8 = cpu->r[5] + 0x00000008u;
|
|
/* 02C5235C */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t8);
|
|
/* 02C52360 */ /* nop */
|
|
/* 02C52364 */ cpu->f[13] = fma(cpu->f[12], cpu->f[12], cpu->f[11]);
|
|
/* 02C52368 */ _t9 = cpu->r[5] + 0x00000028u;
|
|
/* 02C52368 */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t9);
|
|
/* 02C5236C */ cpu->f[12] = (double)(float)cpu->f[0];
|
|
/* 02C52370 */ cpu->f[0] = fma(cpu->f[7], cpu->f[7], cpu->f[13]);
|
|
/* 02C52374 */ cpu->f[10] = cpu->f[12] - cpu->f[0];
|
|
/* 02C52378 */ /* nop */
|
|
/* 02C5237C */ cpu->r[12] = 0x101B0000u;
|
|
/* 02C52380 */ cpu->f[9] = (double)(float)cpu->f[0];
|
|
/* 02C52384 */ _t10 = cpu->r[12] + 0xFFFFEDC8u;
|
|
/* 02C52384 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t10);
|
|
/* 02C52388 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[9], cpu->f[0]);
|
|
/* 02C5238C */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C5238C */ _t12 = _t11 & 0x00000001u;
|
|
/* 02C5238C */ if (_t12) goto L_02C523BC; else goto L_02C52390;
|
|
L_02C52390: ; // 0x2c52390
|
|
/* 02C52390 */ _ft13 = sqrt(cpu->f[9]);
|
|
/* 02C52390 */ _ft14 = (double)(int32_t)0x00000001u;
|
|
/* 02C52390 */ cpu->f[8] = _ft14 / _ft13;
|
|
/* 02C52394 */ cpu->r[12] = 0x101B0000u;
|
|
/* 02C52398 */ _t15 = cpu->r[12] + 0xFFFFEDD0u;
|
|
/* 02C52398 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t15);
|
|
/* 02C5239C */ cpu->f[11] = (double)(float)cpu->f[8];
|
|
/* 02C523A0 */ cpu->f[13] = cpu->f[13] * cpu->f[9];
|
|
/* 02C523A4 */ cpu->r[11] = 0x101B0000u;
|
|
/* 02C523A8 */ cpu->f[8] = cpu->f[13] * cpu->f[11];
|
|
/* 02C523AC */ _t16 = cpu->r[11] + 0xFFFFEDCCu;
|
|
/* 02C523AC */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t16);
|
|
/* 02C523B0 */ cpu->f[10] = -fma(cpu->f[8], cpu->f[11], -(cpu->f[12]));
|
|
/* 02C523B4 */ cpu->f[11] = cpu->f[11] * cpu->f[10];
|
|
/* 02C523B8 */ cpu->f[0] = cpu->f[9] * cpu->f[11];
|
|
L_02C523BC: ; // 0x2c523bc
|
|
/* 02C523BC */ _t17 = cpu->r[4] + 0x0000000Cu;
|
|
/* 02C523BC */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t17);
|
|
/* 02C523C0 */ cpu->f[12] = cpu->f[13] * cpu->f[0];
|
|
/* 02C523C4 */ _t18 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02C523C4 */ rbrew_write_f32(cpu->mem, _t18, cpu->f[12]);
|
|
/* 02C523C8 */ return;
|
|
}
|
|
|
|
// fn_02C523CC @ 0x2c523cc
|
|
void Gambit_fn_02C523CC(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, _t29, _t30, _t31, _t32, _t33;
|
|
double _ft27, _ft28;
|
|
|
|
L_02C523CC: ; // 0x2c523cc
|
|
/* 02C523CC */ _t0 = cpu->r[1] + 0xFFFFFFD8u;
|
|
/* 02C523CC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C523CC */ cpu->r[1] = _t0;
|
|
/* 02C523D0 */ _t1 = cpu->r[4] + 0x00000008u;
|
|
/* 02C523D0 */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t1);
|
|
/* 02C523D4 */ _t2 = cpu->r[5] + 0x0000000Cu;
|
|
/* 02C523D4 */ cpu->f[6] = rbrew_read_f32(cpu->mem, _t2);
|
|
/* 02C523D8 */ _t3 = cpu->r[5] + 0x00000008u;
|
|
/* 02C523D8 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t3);
|
|
/* 02C523DC */ _t4 = cpu->r[4] + 0x0000000Cu;
|
|
/* 02C523DC */ cpu->f[5] = rbrew_read_f32(cpu->mem, _t4);
|
|
/* 02C523E0 */ cpu->f[4] = cpu->f[0] - cpu->f[7];
|
|
/* 02C523E4 */ /* nop */
|
|
/* 02C523E8 */ cpu->f[0] = cpu->f[6] - cpu->f[5];
|
|
/* 02C523EC */ /* nop */
|
|
/* 02C523F0 */ /* nop */
|
|
/* 02C523F4 */ cpu->r[8] = 0x101B0000u;
|
|
/* 02C523F8 */ cpu->f[12] = cpu->f[0] * cpu->f[0];
|
|
/* 02C523FC */ _t5 = cpu->r[8] + 0xFFFFEDE0u;
|
|
/* 02C523FC */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t5);
|
|
/* 02C52400 */ /* nop */
|
|
/* 02C52404 */ cpu->r[7] = 0x101B0000u;
|
|
/* 02C52408 */ cpu->f[7] = cpu->f[12] - cpu->f[11];
|
|
/* 02C5240C */ _t6 = cpu->r[7] + 0xFFFFEDD8u;
|
|
/* 02C5240C */ cpu->f[0] = rbrew_read_f64(cpu->mem, _t6);
|
|
/* 02C52410 */ /* nop */
|
|
/* 02C52414 */ /* nop */
|
|
/* 02C52418 */ cpu->f[0] = fma(cpu->f[4], cpu->f[4], cpu->f[9]);
|
|
/* 02C5241C */ cpu->f[9] = (double)(float)cpu->f[11];
|
|
/* 02C52420 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[0], cpu->f[9]);
|
|
/* 02C52424 */ _t7 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C52424 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02C52424 */ if (_t8) goto L_02C52428; else goto L_02C52480;
|
|
L_02C52428: ; // 0x2c52428
|
|
/* 02C52428 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[5], cpu->f[6]);
|
|
/* 02C5242C */ _t9 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C5242C */ _t10 = _t9 & 0x00000001u;
|
|
/* 02C5242C */ if (_t10) goto L_02C52430; else goto L_02C52458;
|
|
L_02C52430: ; // 0x2c52430
|
|
/* 02C52430 */ _t11 = cpu->r[4] + 0x00000008u;
|
|
/* 02C52430 */ cpu->r[12] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02C52434 */ _t12 = cpu->r[4] + 0x00000004u;
|
|
/* 02C52434 */ cpu->r[11] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02C52438 */ _t13 = cpu->r[4] + 0x00000000u;
|
|
/* 02C52438 */ cpu->r[10] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02C5243C */ _t14 = cpu->r[4] + 0x0000000Cu;
|
|
/* 02C5243C */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02C52440 */ _t15 = cpu->r[3] + 0x00000000u;
|
|
/* 02C52440 */ rbrew_write32(cpu->mem, _t15, cpu->r[10]);
|
|
/* 02C52444 */ _t16 = cpu->r[3] + 0x00000004u;
|
|
/* 02C52444 */ rbrew_write32(cpu->mem, _t16, cpu->r[11]);
|
|
/* 02C52448 */ _t17 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02C52448 */ rbrew_write32(cpu->mem, _t17, cpu->r[0]);
|
|
/* 02C5244C */ _t18 = cpu->r[3] + 0x00000008u;
|
|
/* 02C5244C */ rbrew_write32(cpu->mem, _t18, cpu->r[12]);
|
|
/* 02C52450 */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 02C52454 */ return;
|
|
L_02C52458: ; // 0x2c52458
|
|
/* 02C52458 */ _t19 = cpu->r[5] + 0x0000000Cu;
|
|
/* 02C52458 */ cpu->r[0] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02C5245C */ _t20 = cpu->r[5] + 0x00000004u;
|
|
/* 02C5245C */ cpu->r[6] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02C52460 */ _t21 = cpu->r[5] + 0x00000000u;
|
|
/* 02C52460 */ cpu->r[9] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02C52464 */ _t22 = cpu->r[5] + 0x00000008u;
|
|
/* 02C52464 */ cpu->r[7] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02C52468 */ _t23 = cpu->r[3] + 0x00000000u;
|
|
/* 02C52468 */ rbrew_write32(cpu->mem, _t23, cpu->r[9]);
|
|
/* 02C5246C */ _t24 = cpu->r[3] + 0x00000004u;
|
|
/* 02C5246C */ rbrew_write32(cpu->mem, _t24, cpu->r[6]);
|
|
/* 02C52470 */ _t25 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02C52470 */ rbrew_write32(cpu->mem, _t25, cpu->r[0]);
|
|
/* 02C52474 */ _t26 = cpu->r[3] + 0x00000008u;
|
|
/* 02C52474 */ rbrew_write32(cpu->mem, _t26, cpu->r[7]);
|
|
/* 02C52478 */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 02C5247C */ return;
|
|
L_02C52480: ; // 0x2c52480
|
|
/* 02C52480 */ _ft27 = sqrt(cpu->f[0]);
|
|
/* 02C52480 */ _ft28 = (double)(int32_t)0x00000001u;
|
|
/* 02C52480 */ cpu->f[7] = _ft28 / _ft27;
|
|
/* 02C52484 */ cpu->r[6] = 0x101B0000u;
|
|
/* 02C52488 */ _t29 = cpu->r[6] + 0xFFFFEDD0u;
|
|
/* 02C52488 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t29);
|
|
/* 02C5248C */ cpu->f[8] = (double)(float)cpu->f[7];
|
|
/* 02C52490 */ cpu->f[12] = cpu->f[10] * cpu->f[0];
|
|
/* 02C52494 */ cpu->r[12] = 0x101B0000u;
|
|
/* 02C52498 */ cpu->f[7] = cpu->f[12] * cpu->f[8];
|
|
/* 02C5249C */ _t30 = cpu->r[12] + 0xFFFFEDCCu;
|
|
/* 02C5249C */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t30);
|
|
/* 02C524A0 */ cpu->f[9] = -fma(cpu->f[7], cpu->f[8], -(cpu->f[12]));
|
|
/* 02C524A4 */ cpu->f[11] = cpu->f[5] + cpu->f[6];
|
|
/* 02C524A8 */ cpu->f[8] = cpu->f[8] * cpu->f[9];
|
|
/* 02C524AC */ cpu->f[8] = cpu->f[0] * cpu->f[8];
|
|
/* 02C524B0 */ cpu->f[12] = cpu->f[11] + cpu->f[8];
|
|
/* 02C524B4 */ cpu->f[10] = cpu->f[10] * cpu->f[12];
|
|
/* 02C524B8 */ cpu->f[0] = cpu->f[10] - cpu->f[5];
|
|
/* 02C524BC */ cpu->f[0] = cpu->f[0] / cpu->f[8];
|
|
/* 02C524C0 */ /* nop */
|
|
/* 02C524C4 */ /* nop */
|
|
/* 02C524C8 */ /* nop */
|
|
/* 02C524CC */ /* nop */
|
|
/* 02C524D0 */ _t31 = cpu->r[4] + 0x00000008u;
|
|
/* 02C524D0 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t31);
|
|
/* 02C524D4 */ _t32 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02C524D4 */ rbrew_write_f32(cpu->mem, _t32, cpu->f[10]);
|
|
/* 02C524D8 */ cpu->f[10] = fma(cpu->f[4], cpu->f[0], cpu->f[11]);
|
|
/* 02C524DC */ _t33 = cpu->r[3] + 0x00000008u;
|
|
/* 02C524DC */ rbrew_write_f32(cpu->mem, _t33, cpu->f[10]);
|
|
/* 02C524E0 */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 02C524E4 */ return;
|
|
}
|
|
|
|
// fn_02C524E8 @ 0x2c524e8
|
|
void Gambit_fn_02C524E8(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;
|
|
|
|
L_02C524E8: ; // 0x2c524e8
|
|
/* 02C524E8 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 02C524E8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C524E8 */ cpu->r[1] = _t0;
|
|
/* 02C524EC */ _t1 = cpu->r[4] + 0x00000000u;
|
|
/* 02C524EC */ cpu->r[10] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02C524F0 */ _t2 = cpu->r[4] + 0x00000004u;
|
|
/* 02C524F0 */ cpu->r[6] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02C524F4 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02C524F4 */ rbrew_write32(cpu->mem, _t3, cpu->r[10]);
|
|
/* 02C524F8 */ _t4 = cpu->r[4] + 0x00000008u;
|
|
/* 02C524F8 */ cpu->r[7] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02C524FC */ _t5 = cpu->r[1] + 0x00000018u;
|
|
/* 02C524FC */ rbrew_write32(cpu->mem, _t5, cpu->r[6]);
|
|
/* 02C52500 */ _t6 = cpu->r[1] + 0x00000010u;
|
|
/* 02C52500 */ rbrew_write32(cpu->mem, _t6, cpu->r[7]);
|
|
/* 02C52504 */ _t7 = cpu->r[1] + 0x00000008u;
|
|
/* 02C52504 */ rbrew_write32(cpu->mem, _t7, cpu->r[10]);
|
|
/* 02C52508 */ _t8 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C52508 */ rbrew_write32(cpu->mem, _t8, cpu->r[7]);
|
|
/* 02C5250C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u);
|
|
/* 02C52510 */ _t9 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C52510 */ rbrew_write32(cpu->mem, _t9, cpu->r[6]);
|
|
/* 02C52514 */ _t10 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C52514 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02C52514 */ if (_t11) goto L_02C52518; else goto L_02C525B0;
|
|
L_02C52518: ; // 0x2c52518
|
|
/* 02C52518 */ cpu->ctr = cpu->r[5];
|
|
/* 02C5251C */ cpu->r[9] = cpu->r[4] + 0xFFFFFFF4u;
|
|
L_02C52520: ; // 0x2c52520
|
|
/* 02C52520 */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 02C52520 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t12);
|
|
/* 02C52524 */ _t13 = cpu->r[9] + 0x0000000Cu;
|
|
/* 02C52524 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t13);
|
|
/* 02C52524 */ cpu->r[9] = _t13;
|
|
/* 02C52528 */ _t14 = cpu->r[1] + 0x00000008u;
|
|
/* 02C52528 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t14);
|
|
/* 02C5252C */ cpu->f[0] = cpu->f[9] - cpu->f[8];
|
|
/* 02C52530 */ cpu->f[12] = cpu->f[10] - cpu->f[8];
|
|
/* 02C52534 */ /* nop */
|
|
/* 02C52538 */ /* nop */
|
|
/* 02C5253C */ cpu->f[8] = (double)(float)cpu->f[7];
|
|
/* 02C52540 */ _t15 = cpu->r[1] + 0x00000018u;
|
|
/* 02C52540 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t15);
|
|
/* 02C52544 */ cpu->f[0] = (double)(float)cpu->f[9];
|
|
/* 02C52548 */ _t16 = cpu->r[1] + 0x00000014u;
|
|
/* 02C52548 */ rbrew_write_f32(cpu->mem, _t16, cpu->f[8]);
|
|
/* 02C5254C */ _t17 = cpu->r[1] + 0x00000008u;
|
|
/* 02C5254C */ rbrew_write_f32(cpu->mem, _t17, cpu->f[0]);
|
|
/* 02C52550 */ _t18 = cpu->r[9] + 0x00000004u;
|
|
/* 02C52550 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t18);
|
|
/* 02C52554 */ _t19 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C52554 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t19);
|
|
/* 02C52558 */ cpu->f[7] = cpu->f[11] - cpu->f[10];
|
|
/* 02C5255C */ cpu->f[0] = cpu->f[12] - cpu->f[10];
|
|
/* 02C52560 */ /* nop */
|
|
/* 02C52564 */ /* nop */
|
|
/* 02C52568 */ cpu->f[12] = (double)(float)cpu->f[8];
|
|
/* 02C5256C */ _t20 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C5256C */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t20);
|
|
/* 02C52570 */ cpu->f[8] = (double)(float)cpu->f[11];
|
|
/* 02C52574 */ _t21 = cpu->r[1] + 0x00000018u;
|
|
/* 02C52574 */ rbrew_write_f32(cpu->mem, _t21, cpu->f[12]);
|
|
/* 02C52578 */ _t22 = cpu->r[1] + 0x00000010u;
|
|
/* 02C52578 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t22);
|
|
/* 02C5257C */ _t23 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C5257C */ rbrew_write_f32(cpu->mem, _t23, cpu->f[8]);
|
|
/* 02C52580 */ _t24 = cpu->r[9] + 0x00000008u;
|
|
/* 02C52580 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t24);
|
|
/* 02C52584 */ cpu->f[11] = cpu->f[13];
|
|
/* 02C52588 */ cpu->f[0] = cpu->f[12] - cpu->f[9];
|
|
/* 02C5258C */ cpu->f[7] = cpu->f[13] - cpu->f[9];
|
|
/* 02C52590 */ cpu->f[13] = cpu->f[9];
|
|
/* 02C52594 */ /* nop */
|
|
/* 02C52598 */ /* nop */
|
|
/* 02C5259C */ cpu->f[10] = (double)(float)cpu->f[9];
|
|
/* 02C525A0 */ cpu->f[8] = (double)(float)cpu->f[11];
|
|
/* 02C525A4 */ _t25 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C525A4 */ rbrew_write_f32(cpu->mem, _t25, cpu->f[10]);
|
|
/* 02C525A8 */ _t26 = cpu->r[1] + 0x00000010u;
|
|
/* 02C525A8 */ rbrew_write_f32(cpu->mem, _t26, cpu->f[8]);
|
|
/* 02C525AC */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02C525AC */ _t27 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02C525AC */ _t28 = _t27 >> (0x00000002u & 31u);
|
|
/* 02C525AC */ _t29 = _t28 & 0x00000001u;
|
|
/* 02C525AC */ if (_t29) goto L_02C52520; else goto L_02C525B0;
|
|
L_02C525B0: ; // 0x2c525b0
|
|
/* 02C525B0 */ _t30 = cpu->r[1] + 0x00000010u;
|
|
/* 02C525B0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02C525B4 */ _t31 = cpu->r[1] + 0x00000014u;
|
|
/* 02C525B4 */ cpu->r[7] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02C525B8 */ _t32 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C525B8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t32);
|
|
/* 02C525BC */ _t33 = cpu->r[3] + 0x00000000u;
|
|
/* 02C525BC */ rbrew_write32(cpu->mem, _t33, cpu->r[7]);
|
|
/* 02C525C0 */ _t34 = cpu->r[3] + 0x00000010u;
|
|
/* 02C525C0 */ rbrew_write32(cpu->mem, _t34, cpu->r[9]);
|
|
/* 02C525C4 */ _t35 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C525C4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t35);
|
|
/* 02C525C8 */ _t36 = cpu->r[1] + 0x00000018u;
|
|
/* 02C525C8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t36);
|
|
/* 02C525CC */ _t37 = cpu->r[3] + 0x00000008u;
|
|
/* 02C525CC */ rbrew_write32(cpu->mem, _t37, cpu->r[0]);
|
|
/* 02C525D0 */ _t38 = cpu->r[3] + 0x00000004u;
|
|
/* 02C525D0 */ rbrew_write32(cpu->mem, _t38, cpu->r[8]);
|
|
/* 02C525D4 */ _t39 = cpu->r[1] + 0x00000008u;
|
|
/* 02C525D4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t39);
|
|
/* 02C525D8 */ _t40 = cpu->r[3] + 0x00000014u;
|
|
/* 02C525D8 */ rbrew_write32(cpu->mem, _t40, cpu->r[10]);
|
|
/* 02C525DC */ _t41 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02C525DC */ rbrew_write32(cpu->mem, _t41, cpu->r[8]);
|
|
/* 02C525E0 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02C525E4 */ return;
|
|
}
|
|
|
|
// fn_02C525E8 @ 0x2c525e8
|
|
void Gambit_fn_02C525E8(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_02C525E8: ; // 0x2c525e8
|
|
/* 02C525E8 */ _t0 = cpu->r[1] + 0xFFFFFFD0u;
|
|
/* 02C525E8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C525E8 */ cpu->r[1] = _t0;
|
|
/* 02C525EC */ /* nop */
|
|
/* 02C525F0 */ /* nop */
|
|
/* 02C525F4 */ /* nop */
|
|
/* 02C525F8 */ /* nop */
|
|
/* 02C525FC */ /* nop */
|
|
/* 02C52600 */ /* nop */
|
|
/* 02C52604 */ /* nop */
|
|
/* 02C52608 */ /* nop */
|
|
/* 02C5260C */ _t1 = cpu->r[5] + 0x00000010u;
|
|
/* 02C5260C */ cpu->f[2] = rbrew_read_f32(cpu->mem, _t1);
|
|
/* 02C52610 */ /* nop */
|
|
/* 02C52614 */ /* nop */
|
|
/* 02C52618 */ /* nop */
|
|
/* 02C5261C */ _t2 = cpu->r[5] + 0x00000000u;
|
|
/* 02C5261C */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t2);
|
|
/* 02C52620 */ cpu->f[11] = fabs(cpu->f[2]);
|
|
/* 02C52624 */ _t3 = cpu->r[5] + 0x00000014u;
|
|
/* 02C52624 */ cpu->f[2] = rbrew_read_f32(cpu->mem, _t3);
|
|
/* 02C52628 */ /* nop */
|
|
/* 02C5262C */ /* nop */
|
|
/* 02C52630 */ cpu->f[10] = fabs(cpu->f[1]);
|
|
/* 02C52634 */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C52634 */ rbrew_write_f32(cpu->mem, _t4, cpu->f[11]);
|
|
/* 02C52638 */ /* nop */
|
|
/* 02C5263C */ _t5 = cpu->r[5] + 0x00000020u;
|
|
/* 02C5263C */ cpu->f[3] = rbrew_read_f32(cpu->mem, _t5);
|
|
/* 02C52640 */ cpu->f[6] = cpu->f[13];
|
|
/* 02C52644 */ _t6 = cpu->r[1] + 0x00000008u;
|
|
/* 02C52644 */ rbrew_write_f32(cpu->mem, _t6, cpu->f[10]);
|
|
/* 02C52648 */ /* nop */
|
|
/* 02C5264C */ /* nop */
|
|
/* 02C52650 */ cpu->f[9] = fabs(cpu->f[2]);
|
|
/* 02C52654 */ _t7 = cpu->r[5] + 0x00000018u;
|
|
/* 02C52654 */ cpu->f[2] = rbrew_read_f32(cpu->mem, _t7);
|
|
/* 02C52658 */ cpu->f[13] = fabs(cpu->f[3]);
|
|
/* 02C5265C */ _t8 = cpu->r[5] + 0x00000024u;
|
|
/* 02C5265C */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t8);
|
|
/* 02C52660 */ cpu->f[11] = fabs(cpu->f[2]);
|
|
/* 02C52664 */ _t9 = cpu->r[5] + 0x00000004u;
|
|
/* 02C52664 */ cpu->f[3] = rbrew_read_f32(cpu->mem, _t9);
|
|
/* 02C52668 */ cpu->f[10] = fabs(cpu->f[3]);
|
|
/* 02C5266C */ _t10 = cpu->r[4] + 0x0000000Cu;
|
|
/* 02C5266C */ cpu->f[5] = rbrew_read_f32(cpu->mem, _t10);
|
|
/* 02C52670 */ /* nop */
|
|
/* 02C52674 */ _t11 = cpu->r[5] + 0x00000008u;
|
|
/* 02C52674 */ cpu->f[3] = rbrew_read_f32(cpu->mem, _t11);
|
|
/* 02C52678 */ cpu->f[8] = cpu->f[13] * cpu->f[5];
|
|
/* 02C5267C */ _t12 = cpu->r[4] + 0x00000010u;
|
|
/* 02C5267C */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t12);
|
|
/* 02C52680 */ cpu->f[13] = fabs(cpu->f[1]);
|
|
/* 02C52684 */ _t13 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C52684 */ rbrew_write_f32(cpu->mem, _t13, cpu->f[9]);
|
|
/* 02C52688 */ /* nop */
|
|
/* 02C5268C */ _t14 = cpu->r[5] + 0x00000028u;
|
|
/* 02C5268C */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t14);
|
|
/* 02C52690 */ cpu->f[8] = fma(cpu->f[13], cpu->f[12], cpu->f[8]);
|
|
/* 02C52694 */ _t15 = cpu->r[1] + 0x00000008u;
|
|
/* 02C52694 */ rbrew_write_f32(cpu->mem, _t15, cpu->f[10]);
|
|
/* 02C52698 */ cpu->f[13] = fabs(cpu->f[1]);
|
|
/* 02C5269C */ _t16 = cpu->r[4] + 0x00000014u;
|
|
/* 02C5269C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t16);
|
|
/* 02C526A0 */ cpu->f[10] = fabs(cpu->f[3]);
|
|
/* 02C526A4 */ /* nop */
|
|
/* 02C526A8 */ cpu->f[8] = fma(cpu->f[13], cpu->f[0], cpu->f[8]);
|
|
/* 02C526AC */ _t17 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C526AC */ rbrew_write_f32(cpu->mem, _t17, cpu->f[11]);
|
|
/* 02C526B0 */ /* nop */
|
|
/* 02C526B4 */ _t18 = cpu->r[1] + 0x00000008u;
|
|
/* 02C526B4 */ rbrew_write_f32(cpu->mem, _t18, cpu->f[10]);
|
|
/* 02C526B8 */ /* nop */
|
|
/* 02C526BC */ /* nop */
|
|
/* 02C526C0 */ cpu->f[13] = cpu->f[6] - cpu->f[8];
|
|
/* 02C526C4 */ /* nop */
|
|
/* 02C526C8 */ cpu->f[0] = cpu->f[6] + cpu->f[8];
|
|
/* 02C526CC */ _t19 = cpu->r[3] + 0x00000008u;
|
|
/* 02C526CC */ rbrew_write_f32(cpu->mem, _t19, cpu->f[13]);
|
|
/* 02C526D0 */ /* nop */
|
|
/* 02C526D4 */ _t20 = cpu->r[3] + 0x00000014u;
|
|
/* 02C526D4 */ rbrew_write_f32(cpu->mem, _t20, cpu->f[0]);
|
|
/* 02C526D8 */ /* nop */
|
|
/* 02C526DC */ /* nop */
|
|
/* 02C526E0 */ /* nop */
|
|
/* 02C526E4 */ cpu->r[1] = cpu->r[1] + 0x00000030u;
|
|
/* 02C526E8 */ return;
|
|
}
|
|
|
|
// fn_02C526EC @ 0x2c526ec
|
|
void Gambit_fn_02C526EC(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, _t28, _t29, _t30, _t31, _t32;
|
|
double _ft26, _ft27;
|
|
|
|
L_02C526EC: ; // 0x2c526ec
|
|
/* 02C526EC */ _t0 = cpu->r[1] + 0xFFFFFFC8u;
|
|
/* 02C526EC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C526EC */ cpu->r[1] = _t0;
|
|
/* 02C526F0 */ /* nop */
|
|
/* 02C526F4 */ /* nop */
|
|
/* 02C526F8 */ _t1 = cpu->r[6] + 0x00000008u;
|
|
/* 02C526F8 */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t1);
|
|
/* 02C526FC */ /* nop */
|
|
/* 02C52700 */ _t2 = cpu->r[4] + 0x00000008u;
|
|
/* 02C52700 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t2);
|
|
/* 02C52704 */ /* nop */
|
|
/* 02C52708 */ /* nop */
|
|
/* 02C5270C */ /* nop */
|
|
/* 02C52710 */ _t3 = cpu->r[5] + 0x00000008u;
|
|
/* 02C52710 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t3);
|
|
/* 02C52714 */ cpu->f[6] = cpu->f[7] - cpu->f[8];
|
|
/* 02C52718 */ _t4 = cpu->r[1] + 0x00000024u;
|
|
/* 02C52718 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t4);
|
|
/* 02C5271C */ cpu->f[5] = cpu->f[11] - cpu->f[8];
|
|
/* 02C52720 */ /* nop */
|
|
/* 02C52724 */ _t5 = cpu->r[1] + 0x00000014u;
|
|
/* 02C52724 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t5);
|
|
/* 02C52728 */ cpu->f[13] = cpu->f[6] * cpu->f[0];
|
|
/* 02C5272C */ _t6 = cpu->r[1] + 0x00000018u;
|
|
/* 02C5272C */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t6);
|
|
/* 02C52730 */ cpu->f[8] = cpu->f[11] * cpu->f[5];
|
|
/* 02C52734 */ _t7 = cpu->r[1] + 0x00000020u;
|
|
/* 02C52734 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t7);
|
|
/* 02C52738 */ cpu->f[7] = fma(cpu->f[12], cpu->f[5], -(cpu->f[13]));
|
|
/* 02C5273C */ cpu->f[9] = fma(cpu->f[6], cpu->f[10], -(cpu->f[8]));
|
|
/* 02C52740 */ _t8 = cpu->r[1] + 0x00000008u;
|
|
/* 02C52740 */ rbrew_write_f32(cpu->mem, _t8, cpu->f[7]);
|
|
/* 02C52744 */ _t9 = cpu->r[1] + 0x00000008u;
|
|
/* 02C52744 */ cpu->r[11] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02C52748 */ cpu->f[10] = cpu->f[12] * cpu->f[10];
|
|
/* 02C5274C */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C5274C */ rbrew_write_f32(cpu->mem, _t10, cpu->f[9]);
|
|
/* 02C52750 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C52750 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02C52754 */ _t12 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02C52754 */ rbrew_write32(cpu->mem, _t12, cpu->r[11]);
|
|
/* 02C52758 */ cpu->f[11] = fma(cpu->f[11], cpu->f[0], -(cpu->f[10]));
|
|
/* 02C5275C */ _t13 = cpu->r[1] + 0x00000030u;
|
|
/* 02C5275C */ rbrew_write32(cpu->mem, _t13, cpu->r[0]);
|
|
/* 02C52760 */ /* nop */
|
|
/* 02C52764 */ _t14 = cpu->r[1] + 0x00000010u;
|
|
/* 02C52764 */ rbrew_write_f32(cpu->mem, _t14, cpu->f[11]);
|
|
/* 02C52768 */ _t15 = cpu->r[1] + 0x00000010u;
|
|
/* 02C52768 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02C5276C */ /* nop */
|
|
/* 02C52770 */ cpu->r[10] = 0x101B0000u;
|
|
/* 02C52774 */ _t16 = cpu->r[1] + 0x00000034u;
|
|
/* 02C52774 */ rbrew_write32(cpu->mem, _t16, cpu->r[0]);
|
|
/* 02C52778 */ _t17 = cpu->r[1] + 0x00000034u;
|
|
/* 02C52778 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t17);
|
|
/* 02C5277C */ /* nop */
|
|
/* 02C52780 */ _t18 = cpu->r[10] + 0xFFFFEDC8u;
|
|
/* 02C52780 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t18);
|
|
/* 02C52784 */ cpu->f[13] = fma(cpu->f[8], cpu->f[8], cpu->f[11]);
|
|
/* 02C52788 */ _t19 = cpu->r[1] + 0x00000028u;
|
|
/* 02C52788 */ rbrew_write_f32(cpu->mem, _t19, cpu->f[5]);
|
|
/* 02C5278C */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[13], cpu->f[12]);
|
|
/* 02C52790 */ _t20 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C52790 */ rbrew_write_f32(cpu->mem, _t20, cpu->f[6]);
|
|
/* 02C52794 */ _t21 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C52794 */ _t22 = _t21 & 0x00000001u;
|
|
/* 02C52794 */ if (_t22) goto L_02C527C0; else goto L_02C52798;
|
|
L_02C52798: ; // 0x2c52798
|
|
/* 02C52798 */ /* nop */
|
|
/* 02C5279C */ /* nop */
|
|
/* 02C527A0 */ /* nop */
|
|
/* 02C527A4 */ _t23 = cpu->r[3] + 0x00000008u;
|
|
/* 02C527A4 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t23);
|
|
/* 02C527A8 */ /* nop */
|
|
/* 02C527AC */ _t24 = cpu->r[4] + 0x00000008u;
|
|
/* 02C527AC */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t24);
|
|
/* 02C527B0 */ cpu->f[11] = fma(cpu->f[11], cpu->f[0], cpu->f[13]);
|
|
/* 02C527B4 */ cpu->f[10] = -cpu->f[11];
|
|
/* 02C527B8 */ _t25 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02C527B8 */ rbrew_write_f32(cpu->mem, _t25, cpu->f[10]);
|
|
/* 02C527BC */ goto L_02C52814;
|
|
L_02C527C0: ; // 0x2c527c0
|
|
/* 02C527C0 */ _ft26 = sqrt(cpu->f[13]);
|
|
/* 02C527C0 */ _ft27 = (double)(int32_t)0x00000001u;
|
|
/* 02C527C0 */ cpu->f[7] = _ft27 / _ft26;
|
|
/* 02C527C4 */ cpu->r[11] = 0x101B0000u;
|
|
/* 02C527C8 */ _t28 = cpu->r[11] + 0xFFFFEDD0u;
|
|
/* 02C527C8 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t28);
|
|
/* 02C527CC */ cpu->f[11] = (double)(float)cpu->f[7];
|
|
/* 02C527D0 */ cpu->f[10] = cpu->f[0] * cpu->f[13];
|
|
/* 02C527D4 */ cpu->r[8] = 0x101B0000u;
|
|
/* 02C527D8 */ cpu->f[12] = cpu->f[10] * cpu->f[11];
|
|
/* 02C527DC */ _t29 = cpu->r[8] + 0xFFFFEDCCu;
|
|
/* 02C527DC */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t29);
|
|
/* 02C527E0 */ cpu->f[0] = -fma(cpu->f[12], cpu->f[11], -(cpu->f[13]));
|
|
/* 02C527E4 */ cpu->f[11] = cpu->f[11] * cpu->f[0];
|
|
/* 02C527E8 */ /* nop */
|
|
/* 02C527EC */ cpu->f[11] = cpu->f[8] * cpu->f[11];
|
|
/* 02C527F0 */ /* nop */
|
|
/* 02C527F4 */ _t30 = cpu->r[3] + 0x00000008u;
|
|
/* 02C527F4 */ rbrew_write_f32(cpu->mem, _t30, cpu->f[11]);
|
|
/* 02C527F8 */ /* nop */
|
|
/* 02C527FC */ /* nop */
|
|
/* 02C52800 */ /* nop */
|
|
/* 02C52804 */ _t31 = cpu->r[4] + 0x00000008u;
|
|
/* 02C52804 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t31);
|
|
/* 02C52808 */ cpu->f[11] = fma(cpu->f[11], cpu->f[0], cpu->f[13]);
|
|
/* 02C5280C */ cpu->f[10] = -cpu->f[11];
|
|
/* 02C52810 */ _t32 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02C52810 */ rbrew_write_f32(cpu->mem, _t32, cpu->f[10]);
|
|
L_02C52814: ; // 0x2c52814
|
|
/* 02C52814 */ cpu->r[1] = cpu->r[1] + 0x00000038u;
|
|
/* 02C52818 */ return;
|
|
}
|
|
|
|
// fn_02C5281C @ 0x2c5281c
|
|
void Gambit_fn_02C5281C(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, _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;
|
|
double _ft24;
|
|
|
|
L_02C5281C: ; // 0x2c5281c
|
|
/* 02C5281C */ _t0 = cpu->r[1] + 0xFFFFFE80u;
|
|
/* 02C5281C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C5281C */ cpu->r[1] = _t0;
|
|
/* 02C52820 */ _t1 = cpu->r[1] + 0x00000140u;
|
|
/* 02C52820 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[28]);
|
|
/* 02C52824 */ /* nop */
|
|
/* 02C52828 */ _t2 = cpu->r[1] + 0x000000F0u;
|
|
/* 02C52828 */ rbrew_write_f64(cpu->mem, _t2, cpu->f[23]);
|
|
/* 02C5282C */ _t3 = cpu->r[1] + 0x00000170u;
|
|
/* 02C5282C */ rbrew_write_f64(cpu->mem, _t3, cpu->f[31]);
|
|
/* 02C52830 */ /* nop */
|
|
/* 02C52834 */ _t4 = cpu->r[1] + 0x00000160u;
|
|
/* 02C52834 */ rbrew_write_f64(cpu->mem, _t4, cpu->f[30]);
|
|
/* 02C52838 */ /* nop */
|
|
/* 02C5283C */ _t5 = cpu->r[1] + 0x000000F8u;
|
|
/* 02C5283C */ rbrew_write_f32(cpu->mem, _t5, cpu->f[23]);
|
|
/* 02C52840 */ /* nop */
|
|
/* 02C52844 */ _t6 = cpu->r[1] + 0x00000100u;
|
|
/* 02C52844 */ rbrew_write_f64(cpu->mem, _t6, cpu->f[24]);
|
|
/* 02C52848 */ _t7 = cpu->r[1] + 0x00000150u;
|
|
/* 02C52848 */ rbrew_write_f64(cpu->mem, _t7, cpu->f[29]);
|
|
/* 02C5284C */ /* nop */
|
|
/* 02C52850 */ _t8 = cpu->r[1] + 0x00000148u;
|
|
/* 02C52850 */ rbrew_write_f32(cpu->mem, _t8, cpu->f[28]);
|
|
/* 02C52854 */ /* nop */
|
|
/* 02C52858 */ _t9 = cpu->r[1] + 0x00000178u;
|
|
/* 02C52858 */ rbrew_write_f32(cpu->mem, _t9, cpu->f[31]);
|
|
/* 02C5285C */ _t10 = cpu->r[1] + 0x00000108u;
|
|
/* 02C5285C */ rbrew_write_f32(cpu->mem, _t10, cpu->f[24]);
|
|
/* 02C52860 */ _t11 = cpu->r[1] + 0x00000110u;
|
|
/* 02C52860 */ rbrew_write_f64(cpu->mem, _t11, cpu->f[25]);
|
|
/* 02C52864 */ _t12 = cpu->r[1] + 0x00000130u;
|
|
/* 02C52864 */ rbrew_write_f64(cpu->mem, _t12, cpu->f[27]);
|
|
/* 02C52868 */ /* nop */
|
|
/* 02C5286C */ _t13 = cpu->r[1] + 0x00000158u;
|
|
/* 02C5286C */ rbrew_write_f32(cpu->mem, _t13, cpu->f[29]);
|
|
/* 02C52870 */ /* nop */
|
|
/* 02C52874 */ _t14 = cpu->r[1] + 0x00000118u;
|
|
/* 02C52874 */ rbrew_write_f32(cpu->mem, _t14, cpu->f[25]);
|
|
/* 02C52878 */ _t15 = cpu->r[1] + 0x00000138u;
|
|
/* 02C52878 */ rbrew_write_f32(cpu->mem, _t15, cpu->f[27]);
|
|
/* 02C5287C */ _t16 = cpu->r[1] + 0x00000120u;
|
|
/* 02C5287C */ rbrew_write_f64(cpu->mem, _t16, cpu->f[26]);
|
|
/* 02C52880 */ _t17 = cpu->r[1] + 0x000000E0u;
|
|
/* 02C52880 */ rbrew_write_f64(cpu->mem, _t17, cpu->f[22]);
|
|
/* 02C52884 */ /* nop */
|
|
/* 02C52888 */ _t18 = cpu->r[1] + 0x00000168u;
|
|
/* 02C52888 */ rbrew_write_f32(cpu->mem, _t18, cpu->f[30]);
|
|
/* 02C5288C */ /* nop */
|
|
/* 02C52890 */ _t19 = cpu->r[1] + 0x00000128u;
|
|
/* 02C52890 */ rbrew_write_f32(cpu->mem, _t19, cpu->f[26]);
|
|
/* 02C52894 */ cpu->r[0] = cpu->lr;
|
|
/* 02C52898 */ _t20 = cpu->r[1] + 0x000000E8u;
|
|
/* 02C52898 */ rbrew_write_f32(cpu->mem, _t20, cpu->f[22]);
|
|
/* 02C5289C */ _t21 = cpu->r[1] + 0x00000184u;
|
|
/* 02C5289C */ rbrew_write32(cpu->mem, _t21, cpu->r[0]);
|
|
/* 02C528A0 */ _t22 = cpu->r[1] + 0x000000D8u;
|
|
/* 02C528A0 */ rbrew_write32(cpu->mem, _t22, cpu->r[30]);
|
|
/* 02C528A4 */ _t23 = cpu->r[1] + 0x000000DCu;
|
|
/* 02C528A4 */ rbrew_write32(cpu->mem, _t23, cpu->r[31]);
|
|
/* 02C528A8 */ cpu->f[30] = cpu->f[4];
|
|
/* 02C528AC */ cpu->r[30] = cpu->r[4];
|
|
/* 02C528B0 */ cpu->f[27] = cpu->f[1];
|
|
/* 02C528B4 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C528B8 */ cpu->f[29] = cpu->f[3];
|
|
/* 02C528BC */ cpu->f[28] = cpu->f[2];
|
|
/* 02C528C0 */ cpu->f[31] = cpu->f[6];
|
|
/* 02C528C4 */ _ft24 = (double)(int32_t)0x00000001u;
|
|
/* 02C528C4 */ cpu->f[8] = _ft24 / cpu->f[5];
|
|
/* 02C528C8 */ cpu->f[7] = cpu->f[8] + cpu->f[8];
|
|
/* 02C528CC */ cpu->f[11] = cpu->f[5] * cpu->f[8];
|
|
/* 02C528D0 */ cpu->f[13] = -fma(cpu->f[11], cpu->f[8], -(cpu->f[7]));
|
|
/* 02C528D4 */ cpu->f[0] = cpu->f[31] * cpu->f[13];
|
|
/* 02C528D8 */ cpu->f[26] = -cpu->f[5];
|
|
/* 02C528DC */ cpu->f[22] = cpu->f[27] * cpu->f[0];
|
|
/* 02C528E0 */ cpu->f[24] = cpu->f[29] * cpu->f[0];
|
|
/* 02C528E4 */ cpu->f[25] = cpu->f[30] * cpu->f[0];
|
|
/* 02C528E8 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02C528EC */ cpu->r[4] = 0x0000000Cu;
|
|
/* 02C528F0 */ cpu->f[23] = cpu->f[28] * cpu->f[0];
|
|
/* 02C528F4 */ Gambit_fn_02C89380(cpu);
|
|
/* 02C528F8 */ _t25 = cpu->r[1] + 0x00000008u;
|
|
/* 02C528F8 */ rbrew_write_f32(cpu->mem, _t25, cpu->f[29]);
|
|
/* 02C528FC */ _t26 = cpu->r[1] + 0x00000008u;
|
|
/* 02C528FC */ cpu->r[11] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02C52900 */ _t27 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C52900 */ rbrew_write_f32(cpu->mem, _t27, cpu->f[27]);
|
|
/* 02C52904 */ _t28 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C52904 */ cpu->r[12] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02C52908 */ _t29 = cpu->r[1] + 0x00000010u;
|
|
/* 02C52908 */ rbrew_write_f32(cpu->mem, _t29, cpu->f[26]);
|
|
/* 02C5290C */ _t30 = cpu->r[1] + 0x00000010u;
|
|
/* 02C5290C */ cpu->r[0] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02C52910 */ _t31 = cpu->r[1] + 0x00000078u;
|
|
/* 02C52910 */ rbrew_write32(cpu->mem, _t31, cpu->r[12]);
|
|
/* 02C52914 */ cpu->r[3] = cpu->r[1] + 0x00000014u;
|
|
/* 02C52918 */ _t32 = cpu->r[1] + 0x00000074u;
|
|
/* 02C52918 */ rbrew_write32(cpu->mem, _t32, cpu->r[11]);
|
|
/* 02C5291C */ cpu->r[4] = 0x0000000Cu;
|
|
/* 02C52920 */ _t33 = cpu->r[1] + 0x0000007Cu;
|
|
/* 02C52920 */ rbrew_write32(cpu->mem, _t33, cpu->r[0]);
|
|
/* 02C52924 */ Gambit_fn_02C89380(cpu);
|
|
/* 02C52928 */ _t34 = cpu->r[1] + 0x00000018u;
|
|
/* 02C52928 */ rbrew_write_f32(cpu->mem, _t34, cpu->f[27]);
|
|
/* 02C5292C */ _t35 = cpu->r[1] + 0x00000018u;
|
|
/* 02C5292C */ cpu->r[10] = rbrew_read32(cpu->mem, _t35);
|
|
/* 02C52930 */ _t36 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C52930 */ rbrew_write_f32(cpu->mem, _t36, cpu->f[26]);
|
|
/* 02C52934 */ _t37 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C52934 */ cpu->r[0] = rbrew_read32(cpu->mem, _t37);
|
|
/* 02C52938 */ _t38 = cpu->r[1] + 0x00000014u;
|
|
/* 02C52938 */ rbrew_write_f32(cpu->mem, _t38, cpu->f[30]);
|
|
/* 02C5293C */ _t39 = cpu->r[1] + 0x00000014u;
|
|
/* 02C5293C */ cpu->r[9] = rbrew_read32(cpu->mem, _t39);
|
|
/* 02C52940 */ _t40 = cpu->r[1] + 0x00000088u;
|
|
/* 02C52940 */ rbrew_write32(cpu->mem, _t40, cpu->r[0]);
|
|
/* 02C52944 */ cpu->r[3] = cpu->r[1] + 0x00000020u;
|
|
/* 02C52948 */ _t41 = cpu->r[1] + 0x00000084u;
|
|
/* 02C52948 */ rbrew_write32(cpu->mem, _t41, cpu->r[10]);
|
|
/* 02C5294C */ cpu->r[4] = 0x0000000Cu;
|
|
/* 02C52950 */ _t42 = cpu->r[1] + 0x00000080u;
|
|
/* 02C52950 */ rbrew_write32(cpu->mem, _t42, cpu->r[9]);
|
|
/* 02C52954 */ Gambit_fn_02C89380(cpu);
|
|
/* 02C52958 */ _t43 = cpu->r[1] + 0x00000024u;
|
|
/* 02C52958 */ rbrew_write_f32(cpu->mem, _t43, cpu->f[28]);
|
|
/* 02C5295C */ _t44 = cpu->r[1] + 0x00000024u;
|
|
/* 02C5295C */ cpu->r[9] = rbrew_read32(cpu->mem, _t44);
|
|
/* 02C52960 */ _t45 = cpu->r[1] + 0x00000020u;
|
|
/* 02C52960 */ rbrew_write_f32(cpu->mem, _t45, cpu->f[30]);
|
|
/* 02C52964 */ _t46 = cpu->r[1] + 0x00000020u;
|
|
/* 02C52964 */ cpu->r[8] = rbrew_read32(cpu->mem, _t46);
|
|
/* 02C52968 */ _t47 = cpu->r[1] + 0x00000028u;
|
|
/* 02C52968 */ rbrew_write_f32(cpu->mem, _t47, cpu->f[26]);
|
|
/* 02C5296C */ _t48 = cpu->r[1] + 0x00000028u;
|
|
/* 02C5296C */ cpu->r[0] = rbrew_read32(cpu->mem, _t48);
|
|
/* 02C52970 */ _t49 = cpu->r[1] + 0x0000008Cu;
|
|
/* 02C52970 */ rbrew_write32(cpu->mem, _t49, cpu->r[8]);
|
|
/* 02C52974 */ cpu->r[3] = cpu->r[1] + 0x0000002Cu;
|
|
/* 02C52978 */ _t50 = cpu->r[1] + 0x00000090u;
|
|
/* 02C52978 */ rbrew_write32(cpu->mem, _t50, cpu->r[9]);
|
|
/* 02C5297C */ cpu->r[4] = 0x0000000Cu;
|
|
/* 02C52980 */ _t51 = cpu->r[1] + 0x00000094u;
|
|
/* 02C52980 */ rbrew_write32(cpu->mem, _t51, cpu->r[0]);
|
|
/* 02C52984 */ Gambit_fn_02C89380(cpu);
|
|
/* 02C52988 */ _t52 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02C52988 */ rbrew_write_f32(cpu->mem, _t52, cpu->f[29]);
|
|
/* 02C5298C */ _t53 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02C5298C */ cpu->r[7] = rbrew_read32(cpu->mem, _t53);
|
|
/* 02C52990 */ _t54 = cpu->r[1] + 0x00000030u;
|
|
/* 02C52990 */ rbrew_write_f32(cpu->mem, _t54, cpu->f[28]);
|
|
/* 02C52994 */ _t55 = cpu->r[1] + 0x00000030u;
|
|
/* 02C52994 */ cpu->r[8] = rbrew_read32(cpu->mem, _t55);
|
|
/* 02C52998 */ _t56 = cpu->r[1] + 0x00000034u;
|
|
/* 02C52998 */ rbrew_write_f32(cpu->mem, _t56, cpu->f[26]);
|
|
/* 02C5299C */ _t57 = cpu->r[1] + 0x00000034u;
|
|
/* 02C5299C */ cpu->r[9] = rbrew_read32(cpu->mem, _t57);
|
|
/* 02C529A0 */ _t58 = cpu->r[1] + 0x0000009Cu;
|
|
/* 02C529A0 */ rbrew_write32(cpu->mem, _t58, cpu->r[8]);
|
|
/* 02C529A4 */ cpu->r[4] = 0x0000000Cu;
|
|
/* 02C529A8 */ _t59 = cpu->r[1] + 0x000000A0u;
|
|
/* 02C529A8 */ rbrew_write32(cpu->mem, _t59, cpu->r[9]);
|
|
/* 02C529AC */ cpu->r[3] = cpu->r[1] + 0x00000038u;
|
|
/* 02C529B0 */ cpu->f[31] = -cpu->f[31];
|
|
/* 02C529B4 */ _t60 = cpu->r[1] + 0x00000098u;
|
|
/* 02C529B4 */ rbrew_write32(cpu->mem, _t60, cpu->r[7]);
|
|
/* 02C529B8 */ Gambit_fn_02C89380(cpu);
|
|
/* 02C529BC */ _t61 = cpu->r[1] + 0x00000038u;
|
|
/* 02C529BC */ rbrew_write_f32(cpu->mem, _t61, cpu->f[24]);
|
|
/* 02C529C0 */ _t62 = cpu->r[1] + 0x00000038u;
|
|
/* 02C529C0 */ cpu->r[8] = rbrew_read32(cpu->mem, _t62);
|
|
/* 02C529C4 */ _t63 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02C529C4 */ rbrew_write_f32(cpu->mem, _t63, cpu->f[22]);
|
|
/* 02C529C8 */ _t64 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02C529C8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t64);
|
|
/* 02C529CC */ _t65 = cpu->r[1] + 0x00000040u;
|
|
/* 02C529CC */ rbrew_write_f32(cpu->mem, _t65, cpu->f[31]);
|
|
/* 02C529D0 */ _t66 = cpu->r[1] + 0x00000040u;
|
|
/* 02C529D0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t66);
|
|
/* 02C529D4 */ _t67 = cpu->r[1] + 0x000000A8u;
|
|
/* 02C529D4 */ rbrew_write32(cpu->mem, _t67, cpu->r[9]);
|
|
/* 02C529D8 */ cpu->r[3] = cpu->r[1] + 0x00000044u;
|
|
/* 02C529DC */ _t68 = cpu->r[1] + 0x000000A4u;
|
|
/* 02C529DC */ rbrew_write32(cpu->mem, _t68, cpu->r[8]);
|
|
/* 02C529E0 */ cpu->r[4] = 0x0000000Cu;
|
|
/* 02C529E4 */ _t69 = cpu->r[1] + 0x000000ACu;
|
|
/* 02C529E4 */ rbrew_write32(cpu->mem, _t69, cpu->r[0]);
|
|
/* 02C529E8 */ Gambit_fn_02C89380(cpu);
|
|
/* 02C529EC */ _t70 = cpu->r[1] + 0x00000048u;
|
|
/* 02C529EC */ rbrew_write_f32(cpu->mem, _t70, cpu->f[22]);
|
|
/* 02C529F0 */ _t71 = cpu->r[1] + 0x00000048u;
|
|
/* 02C529F0 */ cpu->r[7] = rbrew_read32(cpu->mem, _t71);
|
|
/* 02C529F4 */ _t72 = cpu->r[1] + 0x00000044u;
|
|
/* 02C529F4 */ rbrew_write_f32(cpu->mem, _t72, cpu->f[25]);
|
|
/* 02C529F8 */ _t73 = cpu->r[1] + 0x00000044u;
|
|
/* 02C529F8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t73);
|
|
/* 02C529FC */ _t74 = cpu->r[1] + 0x0000004Cu;
|
|
/* 02C529FC */ rbrew_write_f32(cpu->mem, _t74, cpu->f[31]);
|
|
/* 02C52A00 */ _t75 = cpu->r[1] + 0x0000004Cu;
|
|
/* 02C52A00 */ cpu->r[8] = rbrew_read32(cpu->mem, _t75);
|
|
/* 02C52A04 */ _t76 = cpu->r[1] + 0x000000B0u;
|
|
/* 02C52A04 */ rbrew_write32(cpu->mem, _t76, cpu->r[0]);
|
|
/* 02C52A08 */ cpu->r[3] = cpu->r[1] + 0x00000050u;
|
|
/* 02C52A0C */ _t77 = cpu->r[1] + 0x000000B4u;
|
|
/* 02C52A0C */ rbrew_write32(cpu->mem, _t77, cpu->r[7]);
|
|
/* 02C52A10 */ cpu->r[4] = 0x0000000Cu;
|
|
/* 02C52A14 */ _t78 = cpu->r[1] + 0x000000B8u;
|
|
/* 02C52A14 */ rbrew_write32(cpu->mem, _t78, cpu->r[8]);
|
|
/* 02C52A18 */ Gambit_fn_02C89380(cpu);
|
|
/* 02C52A1C */ _t79 = cpu->r[1] + 0x00000050u;
|
|
/* 02C52A1C */ rbrew_write_f32(cpu->mem, _t79, cpu->f[25]);
|
|
/* 02C52A20 */ _t80 = cpu->r[1] + 0x00000050u;
|
|
/* 02C52A20 */ cpu->r[11] = rbrew_read32(cpu->mem, _t80);
|
|
/* 02C52A24 */ _t81 = cpu->r[1] + 0x00000054u;
|
|
/* 02C52A24 */ rbrew_write_f32(cpu->mem, _t81, cpu->f[23]);
|
|
/* 02C52A28 */ _t82 = cpu->r[1] + 0x00000054u;
|
|
/* 02C52A28 */ cpu->r[12] = rbrew_read32(cpu->mem, _t82);
|
|
/* 02C52A2C */ _t83 = cpu->r[1] + 0x00000058u;
|
|
/* 02C52A2C */ rbrew_write_f32(cpu->mem, _t83, cpu->f[31]);
|
|
/* 02C52A30 */ _t84 = cpu->r[1] + 0x00000058u;
|
|
/* 02C52A30 */ cpu->r[0] = rbrew_read32(cpu->mem, _t84);
|
|
/* 02C52A34 */ _t85 = cpu->r[1] + 0x000000C0u;
|
|
/* 02C52A34 */ rbrew_write32(cpu->mem, _t85, cpu->r[12]);
|
|
/* 02C52A38 */ cpu->r[3] = cpu->r[1] + 0x0000005Cu;
|
|
/* 02C52A3C */ _t86 = cpu->r[1] + 0x000000BCu;
|
|
/* 02C52A3C */ rbrew_write32(cpu->mem, _t86, cpu->r[11]);
|
|
/* 02C52A40 */ cpu->r[4] = 0x0000000Cu;
|
|
/* 02C52A44 */ _t87 = cpu->r[1] + 0x000000C4u;
|
|
/* 02C52A44 */ rbrew_write32(cpu->mem, _t87, cpu->r[0]);
|
|
/* 02C52A48 */ Gambit_fn_02C89380(cpu);
|
|
/* 02C52A4C */ _t88 = cpu->r[1] + 0x0000005Cu;
|
|
/* 02C52A4C */ rbrew_write_f32(cpu->mem, _t88, cpu->f[24]);
|
|
/* 02C52A50 */ _t89 = cpu->r[1] + 0x0000005Cu;
|
|
/* 02C52A50 */ cpu->r[10] = rbrew_read32(cpu->mem, _t89);
|
|
/* 02C52A54 */ _t90 = cpu->r[1] + 0x00000060u;
|
|
/* 02C52A54 */ rbrew_write_f32(cpu->mem, _t90, cpu->f[23]);
|
|
/* 02C52A58 */ _t91 = cpu->r[1] + 0x00000060u;
|
|
/* 02C52A58 */ cpu->r[12] = rbrew_read32(cpu->mem, _t91);
|
|
/* 02C52A5C */ _t92 = cpu->r[1] + 0x00000064u;
|
|
/* 02C52A5C */ rbrew_write_f32(cpu->mem, _t92, cpu->f[31]);
|
|
/* 02C52A60 */ _t93 = cpu->r[1] + 0x00000064u;
|
|
/* 02C52A60 */ cpu->r[0] = rbrew_read32(cpu->mem, _t93);
|
|
/* 02C52A64 */ cpu->r[11] = cpu->r[1] + 0x00000074u;
|
|
/* 02C52A68 */ _t94 = cpu->r[1] + 0x000000CCu;
|
|
/* 02C52A68 */ rbrew_write32(cpu->mem, _t94, cpu->r[12]);
|
|
/* 02C52A6C */ cpu->r[9] = 0x00000008u;
|
|
/* 02C52A70 */ _t95 = cpu->r[1] + 0x000000D0u;
|
|
/* 02C52A70 */ rbrew_write32(cpu->mem, _t95, cpu->r[0]);
|
|
/* 02C52A74 */ cpu->ctr = cpu->r[9];
|
|
/* 02C52A78 */ _t96 = cpu->r[1] + 0x000000C8u;
|
|
/* 02C52A78 */ rbrew_write32(cpu->mem, _t96, cpu->r[10]);
|
|
L_02C52A7C: ; // 0x2c52a7c
|
|
/* 02C52A7C */ /* nop */
|
|
/* 02C52A80 */ /* nop */
|
|
/* 02C52A84 */ /* nop */
|
|
/* 02C52A88 */ /* nop */
|
|
/* 02C52A8C */ /* nop */
|
|
/* 02C52A90 */ /* nop */
|
|
/* 02C52A94 */ /* nop */
|
|
/* 02C52A98 */ /* nop */
|
|
/* 02C52A9C */ /* nop */
|
|
/* 02C52AA0 */ /* nop */
|
|
/* 02C52AA4 */ /* nop */
|
|
/* 02C52AA8 */ /* nop */
|
|
/* 02C52AAC */ /* nop */
|
|
/* 02C52AB0 */ /* nop */
|
|
/* 02C52AB4 */ /* nop */
|
|
/* 02C52AB8 */ cpu->f[10] = cpu->f[9];
|
|
/* 02C52ABC */ /* nop */
|
|
/* 02C52AC0 */ /* nop */
|
|
/* 02C52AC4 */ _t97 = cpu->r[11] + 0x00000008u;
|
|
/* 02C52AC4 */ rbrew_write_f32(cpu->mem, _t97, cpu->f[10]);
|
|
/* 02C52AC8 */ /* nop */
|
|
/* 02C52ACC */ cpu->r[11] = cpu->r[11] + 0x0000000Cu;
|
|
/* 02C52AD0 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02C52AD0 */ _t98 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02C52AD0 */ _t99 = _t98 >> (0x00000002u & 31u);
|
|
/* 02C52AD0 */ _t100 = _t99 & 0x00000001u;
|
|
/* 02C52AD0 */ if (_t100) goto L_02C52A7C; else goto L_02C52AD4;
|
|
L_02C52AD4: ; // 0x2c52ad4
|
|
/* 02C52AD4 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C52AD8 */ cpu->r[4] = cpu->r[1] + 0x00000074u;
|
|
/* 02C52ADC */ cpu->r[5] = 0x00000008u;
|
|
/* 02C52AE0 */ Gambit_fn_02C524E8(cpu);
|
|
/* 02C52AE4 */ _t101 = cpu->r[30] + 0x0000002Cu;
|
|
/* 02C52AE4 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t101);
|
|
/* 02C52AE8 */ cpu->r[4] = cpu->r[1] + 0x00000068u;
|
|
/* 02C52AEC */ _t102 = cpu->r[30] + 0x0000000Cu;
|
|
/* 02C52AEC */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t102);
|
|
/* 02C52AF0 */ _t103 = cpu->r[30] + 0x0000001Cu;
|
|
/* 02C52AF0 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t103);
|
|
/* 02C52AF4 */ cpu->r[3] = cpu->r[31] + 0x00000018u;
|
|
/* 02C52AF8 */ _t104 = cpu->r[1] + 0x00000070u;
|
|
/* 02C52AF8 */ rbrew_write_f32(cpu->mem, _t104, cpu->f[13]);
|
|
/* 02C52AFC */ cpu->r[5] = cpu->r[1] + 0x00000098u;
|
|
/* 02C52B00 */ _t105 = cpu->r[1] + 0x0000006Cu;
|
|
/* 02C52B00 */ rbrew_write_f32(cpu->mem, _t105, cpu->f[12]);
|
|
/* 02C52B04 */ cpu->r[6] = cpu->r[1] + 0x00000074u;
|
|
/* 02C52B08 */ _t106 = cpu->r[1] + 0x00000068u;
|
|
/* 02C52B08 */ rbrew_write_f32(cpu->mem, _t106, cpu->f[11]);
|
|
/* 02C52B0C */ Gambit_fn_02C526EC(cpu);
|
|
/* 02C52B10 */ cpu->r[3] = cpu->r[3] + 0x00000010u;
|
|
/* 02C52B14 */ cpu->r[6] = cpu->r[1] + 0x0000008Cu;
|
|
/* 02C52B18 */ cpu->r[5] = cpu->r[1] + 0x00000080u;
|
|
/* 02C52B1C */ Gambit_fn_02C526EC(cpu);
|
|
/* 02C52B20 */ cpu->r[3] = cpu->r[31] + 0x00000038u;
|
|
/* 02C52B24 */ cpu->r[4] = cpu->r[1] + 0x00000074u;
|
|
/* 02C52B28 */ Gambit_fn_02C526EC(cpu);
|
|
/* 02C52B2C */ cpu->r[6] = cpu->r[1] + 0x000000BCu;
|
|
/* 02C52B30 */ cpu->r[5] = cpu->r[1] + 0x000000C8u;
|
|
/* 02C52B34 */ cpu->r[4] = cpu->r[1] + 0x000000A4u;
|
|
/* 02C52B38 */ cpu->r[3] = cpu->r[31] + 0x00000048u;
|
|
/* 02C52B3C */ Gambit_fn_02C526EC(cpu);
|
|
/* 02C52B40 */ cpu->r[5] = cpu->r[1] + 0x00000074u;
|
|
/* 02C52B44 */ cpu->r[4] = cpu->r[1] + 0x00000068u;
|
|
/* 02C52B48 */ cpu->r[3] = cpu->r[31] + 0x00000058u;
|
|
/* 02C52B4C */ cpu->r[6] = cpu->r[1] + 0x00000080u;
|
|
/* 02C52B50 */ Gambit_fn_02C526EC(cpu);
|
|
/* 02C52B54 */ cpu->r[6] = cpu->r[1] + 0x00000098u;
|
|
/* 02C52B58 */ cpu->r[3] = cpu->r[31] + 0x00000068u;
|
|
/* 02C52B5C */ cpu->r[5] = cpu->r[1] + 0x0000008Cu;
|
|
/* 02C52B60 */ Gambit_fn_02C526EC(cpu);
|
|
/* 02C52B64 */ cpu->r[0] = 0x00000006u;
|
|
/* 02C52B68 */ cpu->r[7] = 0x00000000u;
|
|
/* 02C52B6C */ _t107 = cpu->r[31] + 0x00000078u;
|
|
/* 02C52B6C */ rbrew_write32(cpu->mem, _t107, cpu->r[0]);
|
|
/* 02C52B70 */ _t108 = cpu->r[31] + 0x0000007Cu;
|
|
/* 02C52B70 */ rbrew_write32(cpu->mem, _t108, cpu->r[7]);
|
|
/* 02C52B74 */ _t109 = cpu->r[1] + 0x000000F8u;
|
|
/* 02C52B74 */ cpu->f[23] = rbrew_read_f32(cpu->mem, _t109);
|
|
/* 02C52B78 */ _t110 = cpu->r[1] + 0x00000118u;
|
|
/* 02C52B78 */ cpu->f[25] = rbrew_read_f32(cpu->mem, _t110);
|
|
/* 02C52B7C */ _t111 = cpu->r[1] + 0x000000F0u;
|
|
/* 02C52B7C */ cpu->f[23] = rbrew_read_f64(cpu->mem, _t111);
|
|
/* 02C52B80 */ _t112 = cpu->r[1] + 0x00000110u;
|
|
/* 02C52B80 */ cpu->f[25] = rbrew_read_f64(cpu->mem, _t112);
|
|
/* 02C52B84 */ _t113 = cpu->r[1] + 0x000000DCu;
|
|
/* 02C52B84 */ cpu->r[31] = rbrew_read32(cpu->mem, _t113);
|
|
/* 02C52B88 */ _t114 = cpu->r[1] + 0x00000128u;
|
|
/* 02C52B88 */ cpu->f[26] = rbrew_read_f32(cpu->mem, _t114);
|
|
/* 02C52B8C */ _t115 = cpu->r[1] + 0x00000148u;
|
|
/* 02C52B8C */ cpu->f[28] = rbrew_read_f32(cpu->mem, _t115);
|
|
/* 02C52B90 */ _t116 = cpu->r[1] + 0x00000120u;
|
|
/* 02C52B90 */ cpu->f[26] = rbrew_read_f64(cpu->mem, _t116);
|
|
/* 02C52B94 */ _t117 = cpu->r[1] + 0x00000140u;
|
|
/* 02C52B94 */ cpu->f[28] = rbrew_read_f64(cpu->mem, _t117);
|
|
/* 02C52B98 */ _t118 = cpu->r[1] + 0x000000D8u;
|
|
/* 02C52B98 */ cpu->r[30] = rbrew_read32(cpu->mem, _t118);
|
|
/* 02C52B9C */ _t119 = cpu->r[1] + 0x000000E8u;
|
|
/* 02C52B9C */ cpu->f[22] = rbrew_read_f32(cpu->mem, _t119);
|
|
/* 02C52BA0 */ _t120 = cpu->r[1] + 0x00000158u;
|
|
/* 02C52BA0 */ cpu->f[29] = rbrew_read_f32(cpu->mem, _t120);
|
|
/* 02C52BA4 */ _t121 = cpu->r[1] + 0x000000E0u;
|
|
/* 02C52BA4 */ cpu->f[22] = rbrew_read_f64(cpu->mem, _t121);
|
|
/* 02C52BA8 */ _t122 = cpu->r[1] + 0x00000150u;
|
|
/* 02C52BA8 */ cpu->f[29] = rbrew_read_f64(cpu->mem, _t122);
|
|
/* 02C52BAC */ _t123 = cpu->r[1] + 0x00000178u;
|
|
/* 02C52BAC */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t123);
|
|
/* 02C52BB0 */ _t124 = cpu->r[1] + 0x00000108u;
|
|
/* 02C52BB0 */ cpu->f[24] = rbrew_read_f32(cpu->mem, _t124);
|
|
/* 02C52BB4 */ _t125 = cpu->r[1] + 0x00000170u;
|
|
/* 02C52BB4 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t125);
|
|
/* 02C52BB8 */ _t126 = cpu->r[1] + 0x00000100u;
|
|
/* 02C52BB8 */ cpu->f[24] = rbrew_read_f64(cpu->mem, _t126);
|
|
/* 02C52BBC */ _t127 = cpu->r[1] + 0x00000138u;
|
|
/* 02C52BBC */ cpu->f[27] = rbrew_read_f32(cpu->mem, _t127);
|
|
/* 02C52BC0 */ _t128 = cpu->r[1] + 0x00000168u;
|
|
/* 02C52BC0 */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t128);
|
|
/* 02C52BC4 */ _t129 = cpu->r[1] + 0x00000130u;
|
|
/* 02C52BC4 */ cpu->f[27] = rbrew_read_f64(cpu->mem, _t129);
|
|
/* 02C52BC8 */ _t130 = cpu->r[1] + 0x00000160u;
|
|
/* 02C52BC8 */ cpu->f[30] = rbrew_read_f64(cpu->mem, _t130);
|
|
/* 02C52BCC */ _t131 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C52BCC */ _t132 = _t131 & 0x00000001u;
|
|
/* 02C52BCC */ if (_t132) goto L_02C52BD0; // else: addr-0 trap, fall-through
|
|
L_02C52BD0: ; // 0x2c52bd0
|
|
/* 02C52BD0 */ _t133 = cpu->r[1] + 0x00000184u;
|
|
/* 02C52BD0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t133);
|
|
/* 02C52BD4 */ cpu->lr = cpu->r[0];
|
|
/* 02C52BD8 */ cpu->r[1] = cpu->r[1] + 0x00000180u;
|
|
/* 02C52BDC */ return;
|
|
}
|
|
|
|
// fn_02C52BE0 @ 0x2c52be0
|
|
void Gambit_fn_02C52BE0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t17, _t18, _t19;
|
|
double _ft16;
|
|
|
|
L_02C52BE0: ; // 0x2c52be0
|
|
/* 02C52BE0 */ cpu->r[0] = cpu->lr;
|
|
/* 02C52BE4 */ cpu->r[7] = 0x101B0000u;
|
|
/* 02C52BE8 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 02C52BE8 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 02C52BEC */ cpu->r[12] = 0x101B0000u;
|
|
/* 02C52BF0 */ _t1 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02C52BF0 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 02C52BF0 */ cpu->r[1] = _t1;
|
|
/* 02C52BF4 */ _t2 = cpu->r[7] + 0xFFFFEDD0u;
|
|
/* 02C52BF4 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t2);
|
|
/* 02C52BF8 */ cpu->r[10] = 0x101B0000u;
|
|
/* 02C52BFC */ _t3 = cpu->r[12] + 0xFFFFEDE8u;
|
|
/* 02C52BFC */ cpu->f[13] = rbrew_read_f64(cpu->mem, _t3);
|
|
/* 02C52C00 */ cpu->f[12] = cpu->f[1] * cpu->f[12];
|
|
/* 02C52C04 */ _t4 = cpu->r[10] + 0xFFFFEDF0u;
|
|
/* 02C52C04 */ cpu->f[0] = rbrew_read_f64(cpu->mem, _t4);
|
|
/* 02C52C08 */ cpu->r[8] = 0x101B0000u;
|
|
/* 02C52C0C */ cpu->f[0] = fma(cpu->f[12], cpu->f[13], cpu->f[0]);
|
|
/* 02C52C10 */ _t5 = cpu->r[8] + 0xFFFFEDF8u;
|
|
/* 02C52C10 */ cpu->f[10] = rbrew_read_f64(cpu->mem, _t5);
|
|
/* 02C52C14 */ cpu->r[0] = 0x43300000u;
|
|
/* 02C52C18 */ cpu->r[11] = 0x101B0000u;
|
|
/* 02C52C1C */ _t6 = cpu->r[1] + 0x00000010u;
|
|
/* 02C52C1C */ rbrew_write_f64(cpu->mem, _t6, cpu->f[0]);
|
|
/* 02C52C20 */ _t7 = cpu->r[1] + 0x00000014u;
|
|
/* 02C52C20 */ cpu->r[12] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02C52C24 */ _t8 = cpu->r[1] + 0x00000008u;
|
|
/* 02C52C24 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
/* 02C52C28 */ cpu->r[9] = rbrew_rlwinm(cpu->r[12], 0x00000000u, 0x00000008u, 0x0000001Fu);
|
|
/* 02C52C2C */ _t9 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C52C2C */ rbrew_write32(cpu->mem, _t9, cpu->r[9]);
|
|
/* 02C52C30 */ _t10 = cpu->r[1] + 0x00000008u;
|
|
/* 02C52C30 */ cpu->f[12] = rbrew_read_f64(cpu->mem, _t10);
|
|
/* 02C52C34 */ cpu->r[0] = rbrew_rlwinm(cpu->r[12], 0x0000000Cu, 0x00000014u, 0x0000001Bu);
|
|
/* 02C52C38 */ cpu->r[7] = 0x101B0000u;
|
|
/* 02C52C3C */ cpu->r[11] = cpu->r[11] + 0xFFFFF1DCu;
|
|
/* 02C52C40 */ cpu->f[13] = cpu->f[12] - cpu->f[10];
|
|
/* 02C52C44 */ _t11 = cpu->r[7] + 0xFFFFEE00u;
|
|
/* 02C52C44 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t11);
|
|
/* 02C52C48 */ cpu->r[8] = cpu->r[11] + cpu->r[0];
|
|
/* 02C52C4C */ cpu->f[10] = (double)(float)cpu->f[13];
|
|
/* 02C52C50 */ _t12 = cpu->r[8] + 0x00000000u;
|
|
/* 02C52C50 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t12);
|
|
/* 02C52C54 */ cpu->f[5] = cpu->f[3];
|
|
/* 02C52C58 */ _t13 = cpu->r[8] + 0x00000004u;
|
|
/* 02C52C58 */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t13);
|
|
/* 02C52C5C */ cpu->f[11] = cpu->f[10] * cpu->f[11];
|
|
/* 02C52C60 */ _t14 = cpu->r[8] + 0x0000000Cu;
|
|
/* 02C52C60 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t14);
|
|
/* 02C52C64 */ cpu->f[13] = fma(cpu->f[0], cpu->f[11], cpu->f[7]);
|
|
/* 02C52C68 */ _t15 = cpu->r[8] + 0x00000008u;
|
|
/* 02C52C68 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t15);
|
|
/* 02C52C6C */ _ft16 = (double)(int32_t)0x00000001u;
|
|
/* 02C52C6C */ cpu->f[7] = _ft16 / cpu->f[13];
|
|
/* 02C52C70 */ cpu->f[9] = fma(cpu->f[8], cpu->f[11], cpu->f[9]);
|
|
/* 02C52C74 */ cpu->f[10] = cpu->f[7] + cpu->f[7];
|
|
/* 02C52C78 */ cpu->f[11] = cpu->f[13] * cpu->f[7];
|
|
/* 02C52C7C */ cpu->f[8] = -fma(cpu->f[11], cpu->f[7], -(cpu->f[10]));
|
|
/* 02C52C80 */ cpu->f[6] = cpu->f[4];
|
|
/* 02C52C84 */ cpu->f[12] = cpu->f[9] * cpu->f[8];
|
|
/* 02C52C88 */ cpu->f[13] = cpu->f[3] * cpu->f[12];
|
|
/* 02C52C8C */ _t17 = cpu->r[5] + 0x00000004u;
|
|
/* 02C52C8C */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t17);
|
|
/* 02C52C90 */ cpu->f[11] = cpu->f[13] * cpu->f[12];
|
|
/* 02C52C94 */ cpu->f[10] = cpu->f[13] * cpu->f[2];
|
|
/* 02C52C98 */ _t18 = cpu->r[5] + 0x00000000u;
|
|
/* 02C52C98 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t18);
|
|
/* 02C52C9C */ cpu->f[9] = cpu->f[11] + cpu->f[11];
|
|
/* 02C52CA0 */ cpu->f[0] = cpu->f[10] * cpu->f[8];
|
|
/* 02C52CA4 */ cpu->f[1] = cpu->f[13] + cpu->f[9];
|
|
/* 02C52CA8 */ cpu->f[7] = cpu->f[0] + cpu->f[0];
|
|
/* 02C52CAC */ cpu->f[2] = cpu->f[9] - cpu->f[13];
|
|
/* 02C52CB0 */ cpu->f[4] = cpu->f[10] + cpu->f[7];
|
|
/* 02C52CB4 */ cpu->f[3] = cpu->f[7] - cpu->f[10];
|
|
/* 02C52CB8 */ Gambit_fn_02C5281C(cpu);
|
|
/* 02C52CBC */ _t19 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C52CBC */ cpu->r[0] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02C52CC0 */ cpu->lr = cpu->r[0];
|
|
/* 02C52CC4 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C52CC8 */ return;
|
|
}
|
|
|
|
// fn_02C52BF0 @ 0x2c52bf0
|
|
void Gambit_fn_02C52BF0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t16, _t17, _t18;
|
|
double _ft15;
|
|
|
|
L_02C52BF0: ; // 0x2c52bf0
|
|
/* 02C52BF0 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02C52BF0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C52BF0 */ cpu->r[1] = _t0;
|
|
/* 02C52BF4 */ _t1 = cpu->r[7] + 0xFFFFEDD0u;
|
|
/* 02C52BF4 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t1);
|
|
/* 02C52BF8 */ cpu->r[10] = 0x101B0000u;
|
|
/* 02C52BFC */ _t2 = cpu->r[12] + 0xFFFFEDE8u;
|
|
/* 02C52BFC */ cpu->f[13] = rbrew_read_f64(cpu->mem, _t2);
|
|
/* 02C52C00 */ cpu->f[12] = cpu->f[1] * cpu->f[12];
|
|
/* 02C52C04 */ _t3 = cpu->r[10] + 0xFFFFEDF0u;
|
|
/* 02C52C04 */ cpu->f[0] = rbrew_read_f64(cpu->mem, _t3);
|
|
/* 02C52C08 */ cpu->r[8] = 0x101B0000u;
|
|
/* 02C52C0C */ cpu->f[0] = fma(cpu->f[12], cpu->f[13], cpu->f[0]);
|
|
/* 02C52C10 */ _t4 = cpu->r[8] + 0xFFFFEDF8u;
|
|
/* 02C52C10 */ cpu->f[10] = rbrew_read_f64(cpu->mem, _t4);
|
|
/* 02C52C14 */ cpu->r[0] = 0x43300000u;
|
|
/* 02C52C18 */ cpu->r[11] = 0x101B0000u;
|
|
/* 02C52C1C */ _t5 = cpu->r[1] + 0x00000010u;
|
|
/* 02C52C1C */ rbrew_write_f64(cpu->mem, _t5, cpu->f[0]);
|
|
/* 02C52C20 */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 02C52C20 */ cpu->r[12] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02C52C24 */ _t7 = cpu->r[1] + 0x00000008u;
|
|
/* 02C52C24 */ rbrew_write32(cpu->mem, _t7, cpu->r[0]);
|
|
/* 02C52C28 */ cpu->r[9] = rbrew_rlwinm(cpu->r[12], 0x00000000u, 0x00000008u, 0x0000001Fu);
|
|
/* 02C52C2C */ _t8 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C52C2C */ rbrew_write32(cpu->mem, _t8, cpu->r[9]);
|
|
/* 02C52C30 */ _t9 = cpu->r[1] + 0x00000008u;
|
|
/* 02C52C30 */ cpu->f[12] = rbrew_read_f64(cpu->mem, _t9);
|
|
/* 02C52C34 */ cpu->r[0] = rbrew_rlwinm(cpu->r[12], 0x0000000Cu, 0x00000014u, 0x0000001Bu);
|
|
/* 02C52C38 */ cpu->r[7] = 0x101B0000u;
|
|
/* 02C52C3C */ cpu->r[11] = cpu->r[11] + 0xFFFFF1DCu;
|
|
/* 02C52C40 */ cpu->f[13] = cpu->f[12] - cpu->f[10];
|
|
/* 02C52C44 */ _t10 = cpu->r[7] + 0xFFFFEE00u;
|
|
/* 02C52C44 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t10);
|
|
/* 02C52C48 */ cpu->r[8] = cpu->r[11] + cpu->r[0];
|
|
/* 02C52C4C */ cpu->f[10] = (double)(float)cpu->f[13];
|
|
/* 02C52C50 */ _t11 = cpu->r[8] + 0x00000000u;
|
|
/* 02C52C50 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t11);
|
|
/* 02C52C54 */ cpu->f[5] = cpu->f[3];
|
|
/* 02C52C58 */ _t12 = cpu->r[8] + 0x00000004u;
|
|
/* 02C52C58 */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t12);
|
|
/* 02C52C5C */ cpu->f[11] = cpu->f[10] * cpu->f[11];
|
|
/* 02C52C60 */ _t13 = cpu->r[8] + 0x0000000Cu;
|
|
/* 02C52C60 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t13);
|
|
/* 02C52C64 */ cpu->f[13] = fma(cpu->f[0], cpu->f[11], cpu->f[7]);
|
|
/* 02C52C68 */ _t14 = cpu->r[8] + 0x00000008u;
|
|
/* 02C52C68 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t14);
|
|
/* 02C52C6C */ _ft15 = (double)(int32_t)0x00000001u;
|
|
/* 02C52C6C */ cpu->f[7] = _ft15 / cpu->f[13];
|
|
/* 02C52C70 */ cpu->f[9] = fma(cpu->f[8], cpu->f[11], cpu->f[9]);
|
|
/* 02C52C74 */ cpu->f[10] = cpu->f[7] + cpu->f[7];
|
|
/* 02C52C78 */ cpu->f[11] = cpu->f[13] * cpu->f[7];
|
|
/* 02C52C7C */ cpu->f[8] = -fma(cpu->f[11], cpu->f[7], -(cpu->f[10]));
|
|
/* 02C52C80 */ cpu->f[6] = cpu->f[4];
|
|
/* 02C52C84 */ cpu->f[12] = cpu->f[9] * cpu->f[8];
|
|
/* 02C52C88 */ cpu->f[13] = cpu->f[3] * cpu->f[12];
|
|
/* 02C52C8C */ _t16 = cpu->r[5] + 0x00000004u;
|
|
/* 02C52C8C */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t16);
|
|
/* 02C52C90 */ cpu->f[11] = cpu->f[13] * cpu->f[12];
|
|
/* 02C52C94 */ cpu->f[10] = cpu->f[13] * cpu->f[2];
|
|
/* 02C52C98 */ _t17 = cpu->r[5] + 0x00000000u;
|
|
/* 02C52C98 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t17);
|
|
/* 02C52C9C */ cpu->f[9] = cpu->f[11] + cpu->f[11];
|
|
/* 02C52CA0 */ cpu->f[0] = cpu->f[10] * cpu->f[8];
|
|
/* 02C52CA4 */ cpu->f[1] = cpu->f[13] + cpu->f[9];
|
|
/* 02C52CA8 */ cpu->f[7] = cpu->f[0] + cpu->f[0];
|
|
/* 02C52CAC */ cpu->f[2] = cpu->f[9] - cpu->f[13];
|
|
/* 02C52CB0 */ cpu->f[4] = cpu->f[10] + cpu->f[7];
|
|
/* 02C52CB4 */ cpu->f[3] = cpu->f[7] - cpu->f[10];
|
|
/* 02C52CB8 */ Gambit_fn_02C5281C(cpu);
|
|
/* 02C52CBC */ _t18 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C52CBC */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02C52CC0 */ cpu->lr = cpu->r[0];
|
|
/* 02C52CC4 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C52CC8 */ return;
|
|
}
|
|
|
|
// fn_02C52CCC @ 0x2c52ccc
|
|
void Gambit_fn_02C52CCC(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;
|
|
|
|
L_02C52CCC: ; // 0x2c52ccc
|
|
/* 02C52CCC */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 02C52CCC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C52CCC */ cpu->r[1] = _t0;
|
|
/* 02C52CD0 */ _t1 = cpu->r[3] + 0x0000007Cu;
|
|
/* 02C52CD0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02C52CD4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C52CD8 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C52CD8 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02C52CD8 */ if (_t3) goto L_02C52D48; else goto L_02C52CDC;
|
|
L_02C52CDC: ; // 0x2c52cdc
|
|
/* 02C52CDC */ _t4 = cpu->r[3] + 0x00000000u;
|
|
/* 02C52CDC */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t4);
|
|
/* 02C52CE0 */ _t5 = cpu->r[4] + 0x0000000Cu;
|
|
/* 02C52CE0 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t5);
|
|
/* 02C52CE4 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[11], cpu->f[12]);
|
|
/* 02C52CE8 */ _t6 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C52CE8 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02C52CE8 */ if (_t7) goto L_02C52D3C; else goto L_02C52CEC;
|
|
L_02C52CEC: ; // 0x2c52cec
|
|
/* 02C52CEC */ _t8 = cpu->r[4] + 0x00000000u;
|
|
/* 02C52CEC */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t8);
|
|
/* 02C52CF0 */ _t9 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02C52CF0 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t9);
|
|
/* 02C52CF4 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[13], cpu->f[12]);
|
|
/* 02C52CF8 */ _t10 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C52CF8 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02C52CF8 */ if (_t11) goto L_02C52D3C; else goto L_02C52CFC;
|
|
L_02C52CFC: ; // 0x2c52cfc
|
|
/* 02C52CFC */ _t12 = cpu->r[3] + 0x00000004u;
|
|
/* 02C52CFC */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t12);
|
|
/* 02C52D00 */ _t13 = cpu->r[4] + 0x00000010u;
|
|
/* 02C52D00 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t13);
|
|
/* 02C52D04 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[13], cpu->f[0]);
|
|
/* 02C52D08 */ _t14 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C52D08 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02C52D08 */ if (_t15) goto L_02C52D3C; else goto L_02C52D0C;
|
|
L_02C52D0C: ; // 0x2c52d0c
|
|
/* 02C52D0C */ _t16 = cpu->r[4] + 0x00000004u;
|
|
/* 02C52D0C */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t16);
|
|
/* 02C52D10 */ _t17 = cpu->r[3] + 0x00000010u;
|
|
/* 02C52D10 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t17);
|
|
/* 02C52D14 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[9], cpu->f[0]);
|
|
/* 02C52D18 */ _t18 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C52D18 */ _t19 = _t18 & 0x00000001u;
|
|
/* 02C52D18 */ if (_t19) goto L_02C52D3C; else goto L_02C52D1C;
|
|
L_02C52D1C: ; // 0x2c52d1c
|
|
/* 02C52D1C */ _t20 = cpu->r[3] + 0x00000008u;
|
|
/* 02C52D1C */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t20);
|
|
/* 02C52D20 */ _t21 = cpu->r[4] + 0x00000014u;
|
|
/* 02C52D20 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t21);
|
|
/* 02C52D24 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[8], cpu->f[9]);
|
|
/* 02C52D28 */ _t22 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C52D28 */ _t23 = _t22 & 0x00000001u;
|
|
/* 02C52D28 */ if (_t23) goto L_02C52D3C; else goto L_02C52D2C;
|
|
L_02C52D2C: ; // 0x2c52d2c
|
|
/* 02C52D2C */ _t24 = cpu->r[4] + 0x00000008u;
|
|
/* 02C52D2C */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t24);
|
|
/* 02C52D30 */ _t25 = cpu->r[3] + 0x00000014u;
|
|
/* 02C52D30 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t25);
|
|
/* 02C52D34 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[10], cpu->f[11]);
|
|
/* 02C52D38 */ _t26 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C52D38 */ _t27 = _t26 & 0x00000001u;
|
|
/* 02C52D38 */ if (_t27) goto L_02C52D3C; else goto L_02C52D48;
|
|
L_02C52D3C: ; // 0x2c52d3c
|
|
/* 02C52D3C */ cpu->r[3] = 0x00000000u;
|
|
/* 02C52D40 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02C52D44 */ return;
|
|
L_02C52D48: ; // 0x2c52d48
|
|
/* 02C52D48 */ _t28 = cpu->r[3] + 0x00000078u;
|
|
/* 02C52D48 */ cpu->r[0] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02C52D4C */ cpu->r[9] = 0x00000000u;
|
|
/* 02C52D50 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], cpu->r[0]);
|
|
/* 02C52D54 */ _t29 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C52D54 */ _t30 = _t29 & 0x00000001u;
|
|
/* 02C52D54 */ if (_t30) goto L_02C52D58; else goto L_02C52DC8;
|
|
L_02C52D58: ; // 0x2c52d58
|
|
/* 02C52D58 */ cpu->r[11] = 0x101B0000u;
|
|
/* 02C52D5C */ _t31 = cpu->r[11] + 0xFFFFEDC8u;
|
|
/* 02C52D5C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t31);
|
|
/* 02C52D60 */ cpu->r[12] = cpu->r[3] + 0x00000018u;
|
|
L_02C52D64: ; // 0x2c52d64
|
|
/* 02C52D64 */ /* nop */
|
|
/* 02C52D68 */ /* nop */
|
|
/* 02C52D6C */ /* nop */
|
|
/* 02C52D70 */ _t32 = cpu->r[4] + 0x00000014u;
|
|
/* 02C52D70 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t32);
|
|
/* 02C52D74 */ /* nop */
|
|
/* 02C52D78 */ _t33 = cpu->r[4] + 0x00000008u;
|
|
/* 02C52D78 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t33);
|
|
/* 02C52D7C */ /* nop */
|
|
/* 02C52D80 */ _t34 = cpu->r[12] + 0x00000008u;
|
|
/* 02C52D80 */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t34);
|
|
/* 02C52D84 */ /* nop */
|
|
/* 02C52D88 */ cpu->f[10] = (double)(float)cpu->f[7];
|
|
/* 02C52D8C */ _t35 = cpu->r[1] + 0x00000010u;
|
|
/* 02C52D8C */ rbrew_write_f32(cpu->mem, _t35, cpu->f[10]);
|
|
/* 02C52D90 */ /* nop */
|
|
/* 02C52D94 */ /* nop */
|
|
/* 02C52D98 */ /* nop */
|
|
/* 02C52D9C */ _t36 = cpu->r[12] + 0x00000008u;
|
|
/* 02C52D9C */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t36);
|
|
/* 02C52DA0 */ cpu->f[12] = fma(cpu->f[7], cpu->f[10], cpu->f[13]);
|
|
/* 02C52DA4 */ _t37 = cpu->r[12] + 0x0000000Cu;
|
|
/* 02C52DA4 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t37);
|
|
/* 02C52DA8 */ cpu->f[9] = cpu->f[12] + cpu->f[10];
|
|
/* 02C52DAC */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[9], cpu->f[0]);
|
|
/* 02C52DB0 */ _t38 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C52DB0 */ _t39 = _t38 & 0x00000001u;
|
|
/* 02C52DB0 */ if (_t39) goto L_02C52D3C; else goto L_02C52DB4;
|
|
L_02C52DB4: ; // 0x2c52db4
|
|
/* 02C52DB4 */ _t40 = cpu->r[3] + 0x00000078u;
|
|
/* 02C52DB4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t40);
|
|
/* 02C52DB8 */ cpu->r[9] = cpu->r[9] + 0x00000001u;
|
|
/* 02C52DBC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], cpu->r[11]);
|
|
/* 02C52DC0 */ cpu->r[12] = cpu->r[12] + 0x00000010u;
|
|
/* 02C52DC4 */ _t41 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C52DC4 */ _t42 = _t41 & 0x00000001u;
|
|
/* 02C52DC4 */ if (_t42) goto L_02C52D64; else goto L_02C52DC8;
|
|
L_02C52DC8: ; // 0x2c52dc8
|
|
/* 02C52DC8 */ cpu->r[3] = 0x00000001u;
|
|
/* 02C52DCC */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02C52DD0 */ return;
|
|
}
|
|
|
|
// fn_02C52DD4 @ 0x2c52dd4
|
|
void Gambit_fn_02C52DD4(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_02C52DD4: ; // 0x2c52dd4
|
|
/* 02C52DD4 */ _t0 = cpu->r[4] + 0x00000000u;
|
|
/* 02C52DD4 */ cpu->r[6] = rbrew_read16(cpu->mem, _t0);
|
|
/* 02C52DD8 */ _t1 = cpu->r[5] + 0x00000000u;
|
|
/* 02C52DD8 */ cpu->r[7] = rbrew_read16(cpu->mem, _t1);
|
|
/* 02C52DDC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[7]);
|
|
/* 02C52DE0 */ cpu->r[11] = cpu->r[3];
|
|
/* 02C52DE4 */ _t2 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C52DE4 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02C52DE4 */ if (_t3) goto L_02C52DE8; else goto L_02C52DF4;
|
|
L_02C52DE8: ; // 0x2c52de8
|
|
/* 02C52DE8 */ cpu->r[8] = cpu->r[4];
|
|
/* 02C52DEC */ cpu->r[4] = cpu->r[5];
|
|
/* 02C52DF0 */ cpu->r[5] = cpu->r[8];
|
|
L_02C52DF4: ; // 0x2c52df4
|
|
/* 02C52DF4 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C52DF8 */ goto L_02C52EB8;
|
|
L_02C52DFC: ; // 0x2c52dfc
|
|
/* 02C52DFC */ _t4 = cpu->r[4] + 0x00000000u;
|
|
/* 02C52DFC */ cpu->r[9] = rbrew_read16(cpu->mem, _t4);
|
|
/* 02C52E00 */ _t5 = cpu->r[5] + 0x00000000u;
|
|
/* 02C52E00 */ cpu->r[6] = rbrew_read16(cpu->mem, _t5);
|
|
/* 02C52E04 */ cpu->r[12] = cpu->r[9] + cpu->r[8];
|
|
/* 02C52E08 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], cpu->r[6]);
|
|
/* 02C52E0C */ _t6 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C52E0C */ _t7 = _t6 & 0x00000001u;
|
|
/* 02C52E0C */ if (_t7) goto L_02C52E2C; else goto L_02C52E10;
|
|
L_02C52E10: ; // 0x2c52e10
|
|
/* 02C52E10 */ _t8 = cpu->r[4] + 0x00000006u;
|
|
/* 02C52E10 */ cpu->r[10] = rbrew_read16(cpu->mem, _t8);
|
|
/* 02C52E10 */ cpu->r[4] = _t8;
|
|
/* 02C52E14 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[6]);
|
|
/* 02C52E18 */ _t9 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C52E18 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02C52E18 */ if (_t10) goto L_02C52E1C; else goto L_02C52EB8;
|
|
L_02C52E1C: ; // 0x2c52e1c
|
|
/* 02C52E1C */ cpu->r[0] = cpu->r[4];
|
|
/* 02C52E20 */ cpu->r[4] = cpu->r[5];
|
|
/* 02C52E24 */ cpu->r[5] = cpu->r[0];
|
|
/* 02C52E28 */ goto L_02C52EB8;
|
|
L_02C52E2C: ; // 0x2c52e2c
|
|
/* 02C52E2C */ cpu->r[0] = cpu->r[6] + cpu->r[7];
|
|
/* 02C52E30 */ _t11 = cpu->r[11] + 0x00000000u;
|
|
/* 02C52E30 */ rbrew_write16(cpu->mem, _t11, (uint16_t)cpu->r[6]);
|
|
/* 02C52E34 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], cpu->r[0]);
|
|
/* 02C52E38 */ cpu->r[0] = cpu->r[5] + 0x00000004u;
|
|
/* 02C52E3C */ cpu->r[10] = cpu->r[4] + 0x00000004u;
|
|
/* 02C52E40 */ _t12 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C52E40 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02C52E40 */ if (_t13) goto L_02C52E7C; else goto L_02C52E44;
|
|
L_02C52E44: ; // 0x2c52e44
|
|
/* 02C52E44 */ _t14 = cpu->r[11] + 0x00000002u;
|
|
/* 02C52E44 */ rbrew_write16(cpu->mem, _t14, (uint16_t)cpu->r[7]);
|
|
/* 02C52E48 */ _t15 = cpu->r[5] + 0x00000004u;
|
|
/* 02C52E48 */ cpu->r[8] = rbrew_read16(cpu->mem, _t15);
|
|
/* 02C52E4C */ _t16 = cpu->r[11] + 0x00000004u;
|
|
/* 02C52E4C */ rbrew_write16(cpu->mem, _t16, (uint16_t)cpu->r[8]);
|
|
/* 02C52E50 */ _t17 = cpu->r[4] + 0x00000004u;
|
|
/* 02C52E50 */ cpu->r[9] = rbrew_read16(cpu->mem, _t17);
|
|
/* 02C52E54 */ _t18 = cpu->r[5] + 0x00000004u;
|
|
/* 02C52E54 */ cpu->r[6] = rbrew_read16(cpu->mem, _t18);
|
|
/* 02C52E58 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[6]);
|
|
/* 02C52E5C */ _t19 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C52E5C */ _t20 = _t19 & 0x00000001u;
|
|
/* 02C52E5C */ if (_t20) goto L_02C52E60; else goto L_02C52E64;
|
|
L_02C52E60: ; // 0x2c52e60
|
|
/* 02C52E60 */ cpu->r[10] = cpu->r[0];
|
|
L_02C52E64: ; // 0x2c52e64
|
|
/* 02C52E64 */ _t21 = cpu->r[10] + 0x00000000u;
|
|
/* 02C52E64 */ cpu->r[0] = rbrew_read16(cpu->mem, _t21);
|
|
/* 02C52E68 */ cpu->r[3] = cpu->r[3] + 0x00000001u;
|
|
/* 02C52E6C */ cpu->r[5] = cpu->r[5] + 0x00000006u;
|
|
/* 02C52E70 */ _t22 = cpu->r[11] + 0x00000004u;
|
|
/* 02C52E70 */ rbrew_write16(cpu->mem, _t22, (uint16_t)cpu->r[0]);
|
|
/* 02C52E74 */ cpu->r[11] = cpu->r[11] + 0x00000006u;
|
|
/* 02C52E78 */ goto L_02C52EB8;
|
|
L_02C52E7C: ; // 0x2c52e7c
|
|
/* 02C52E7C */ _t23 = cpu->r[5] + 0x00000000u;
|
|
/* 02C52E7C */ cpu->r[9] = rbrew_read16(cpu->mem, _t23);
|
|
/* 02C52E80 */ cpu->r[8] = cpu->r[12] - cpu->r[9];
|
|
/* 02C52E84 */ _t24 = cpu->r[11] + 0x00000002u;
|
|
/* 02C52E84 */ rbrew_write16(cpu->mem, _t24, (uint16_t)cpu->r[8]);
|
|
/* 02C52E88 */ _t25 = cpu->r[4] + 0x00000004u;
|
|
/* 02C52E88 */ cpu->r[6] = rbrew_read16(cpu->mem, _t25);
|
|
/* 02C52E8C */ _t26 = cpu->r[5] + 0x00000004u;
|
|
/* 02C52E8C */ cpu->r[7] = rbrew_read16(cpu->mem, _t26);
|
|
/* 02C52E90 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[7]);
|
|
/* 02C52E94 */ _t27 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C52E94 */ _t28 = _t27 & 0x00000001u;
|
|
/* 02C52E94 */ if (_t28) goto L_02C52E98; else goto L_02C52E9C;
|
|
L_02C52E98: ; // 0x2c52e98
|
|
/* 02C52E98 */ cpu->r[10] = cpu->r[0];
|
|
L_02C52E9C: ; // 0x2c52e9c
|
|
/* 02C52E9C */ _t29 = cpu->r[10] + 0x00000000u;
|
|
/* 02C52E9C */ cpu->r[9] = rbrew_read16(cpu->mem, _t29);
|
|
/* 02C52EA0 */ cpu->r[3] = cpu->r[3] + 0x00000001u;
|
|
/* 02C52EA4 */ cpu->r[8] = cpu->r[4] + 0x00000006u;
|
|
/* 02C52EA8 */ cpu->r[4] = cpu->r[5];
|
|
/* 02C52EAC */ _t30 = cpu->r[11] + 0x00000004u;
|
|
/* 02C52EAC */ rbrew_write16(cpu->mem, _t30, (uint16_t)cpu->r[9]);
|
|
/* 02C52EB0 */ cpu->r[11] = cpu->r[11] + 0x00000006u;
|
|
/* 02C52EB4 */ cpu->r[5] = cpu->r[8];
|
|
L_02C52EB8: ; // 0x2c52eb8
|
|
/* 02C52EB8 */ _t31 = cpu->r[4] + 0x00000002u;
|
|
/* 02C52EB8 */ cpu->r[8] = rbrew_read16(cpu->mem, _t31);
|
|
/* 02C52EBC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 02C52EC0 */ _t32 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C52EC0 */ _t33 = _t32 & 0x00000001u;
|
|
/* 02C52EC0 */ if (_t33) goto L_02C52ED0; else goto L_02C52EC4;
|
|
L_02C52EC4: ; // 0x2c52ec4
|
|
/* 02C52EC4 */ _t34 = cpu->r[5] + 0x00000002u;
|
|
/* 02C52EC4 */ cpu->r[7] = rbrew_read16(cpu->mem, _t34);
|
|
/* 02C52EC8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 02C52ECC */ _t35 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C52ECC */ _t36 = _t35 & 0x00000001u;
|
|
/* 02C52ECC */ if (_t36) goto L_02C52ED0; else goto L_02C52DFC;
|
|
L_02C52ED0: ; // 0x2c52ed0
|
|
/* 02C52ED0 */ cpu->r[10] = 0x00000000u;
|
|
/* 02C52ED4 */ _t37 = cpu->r[11] + 0x00000004u;
|
|
/* 02C52ED4 */ rbrew_write16(cpu->mem, _t37, (uint16_t)cpu->r[10]);
|
|
/* 02C52ED8 */ _t38 = cpu->r[11] + 0x00000000u;
|
|
/* 02C52ED8 */ rbrew_write16(cpu->mem, _t38, (uint16_t)cpu->r[10]);
|
|
/* 02C52EDC */ _t39 = cpu->r[11] + 0x00000002u;
|
|
/* 02C52EDC */ rbrew_write16(cpu->mem, _t39, (uint16_t)cpu->r[10]);
|
|
/* 02C52EE0 */ return;
|
|
}
|
|
|
|
// fn_02C52EE4 @ 0x2c52ee4
|
|
void Gambit_fn_02C52EE4(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;
|
|
|
|
L_02C52EE4: ; // 0x2c52ee4
|
|
/* 02C52EE4 */ _t0 = cpu->r[4] + 0x0000000Du;
|
|
/* 02C52EE4 */ cpu->r[11] = rbrew_read8(cpu->mem, _t0);
|
|
/* 02C52EE8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02C52EEC */ _t1 = cpu->r[4] + 0x00000000u;
|
|
/* 02C52EEC */ cpu->r[10] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02C52EF0 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C52EF0 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02C52EF0 */ if (_t3) goto L_02C52F38; else goto L_02C52EF4;
|
|
L_02C52EF4: ; // 0x2c52ef4
|
|
/* 02C52EF4 */ _t4 = cpu->r[10] + 0x00000024u;
|
|
/* 02C52EF4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02C52EF8 */ cpu->r[6] = 0x00000000u;
|
|
/* 02C52EFC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C52F00 */ cpu->r[7] = cpu->r[10] + 0x00000024u;
|
|
/* 02C52F04 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C52F04 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02C52F04 */ if (_t6) goto L_02C52F0C; else goto L_02C52F08;
|
|
L_02C52F08: ; // 0x2c52f08
|
|
/* 02C52F08 */ cpu->r[6] = cpu->r[7] + cpu->r[0];
|
|
L_02C52F0C: ; // 0x2c52f0c
|
|
/* 02C52F0C */ _t7 = cpu->r[6] + 0x0000000Cu;
|
|
/* 02C52F0C */ cpu->r[9] = rbrew_read16(cpu->mem, _t7);
|
|
/* 02C52F10 */ _t8 = cpu->r[4] + 0x0000000Cu;
|
|
/* 02C52F10 */ cpu->r[6] = rbrew_read8(cpu->mem, _t8);
|
|
/* 02C52F14 */ cpu->r[8] = (uint32_t)((int32_t)cpu->r[9] * (int32_t)0x00000018u);
|
|
/* 02C52F18 */ _t9 = cpu->r[4] + 0x00000008u;
|
|
/* 02C52F18 */ cpu->r[9] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02C52F1C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u);
|
|
/* 02C52F20 */ cpu->r[0] = cpu->r[8] + 0x0000001Fu;
|
|
/* 02C52F24 */ _t10 = cpu->r[4] + 0x00000010u;
|
|
/* 02C52F24 */ cpu->r[8] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02C52F28 */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000000u, 0x0000001Au);
|
|
/* 02C52F2C */ cpu->r[0] = 0x00000001u;
|
|
/* 02C52F30 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C52F30 */ _t12 = _t11 & 0x00000001u;
|
|
/* 02C52F30 */ if (_t12) goto L_02C52F58; else goto L_02C52F34;
|
|
L_02C52F34: ; // 0x2c52f34
|
|
/* 02C52F34 */ goto L_02C52F54;
|
|
L_02C52F38: ; // 0x2c52f38
|
|
/* 02C52F38 */ _t13 = cpu->r[4] + 0x0000000Cu;
|
|
/* 02C52F38 */ cpu->r[6] = rbrew_read8(cpu->mem, _t13);
|
|
/* 02C52F3C */ cpu->r[0] = 0x00000001u;
|
|
/* 02C52F40 */ cpu->r[12] = 0x00000000u;
|
|
/* 02C52F44 */ _t14 = cpu->r[4] + 0x00000008u;
|
|
/* 02C52F44 */ cpu->r[9] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02C52F48 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u);
|
|
/* 02C52F4C */ _t15 = cpu->r[4] + 0x00000010u;
|
|
/* 02C52F4C */ cpu->r[8] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02C52F50 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C52F50 */ _t17 = _t16 & 0x00000001u;
|
|
/* 02C52F50 */ if (_t17) goto L_02C52F58; else goto L_02C52F54;
|
|
L_02C52F54: ; // 0x2c52f54
|
|
/* 02C52F54 */ cpu->r[0] = cpu->r[9];
|
|
L_02C52F58: ; // 0x2c52f58
|
|
/* 02C52F58 */ cpu->r[7] = cpu->r[8] + 0x00000003u;
|
|
/* 02C52F5C */ _t18 = cpu->r[10] + 0x00000018u;
|
|
/* 02C52F5C */ cpu->r[8] = rbrew_read8(cpu->mem, _t18);
|
|
/* 02C52F60 */ cpu->r[0] = (uint32_t)((int32_t)cpu->r[0] * (int32_t)0x00000014u);
|
|
/* 02C52F64 */ _t19 = cpu->r[3] + 0x00000008u;
|
|
/* 02C52F64 */ rbrew_write32(cpu->mem, _t19, cpu->r[12]);
|
|
/* 02C52F68 */ cpu->r[12] = rbrew_rlwinm(cpu->r[8], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02C52F6C */ cpu->r[6] = cpu->r[8] + 0x0000001Fu;
|
|
/* 02C52F70 */ _t20 = cpu->r[3] + 0x00000018u;
|
|
/* 02C52F70 */ rbrew_write32(cpu->mem, _t20, cpu->r[12]);
|
|
/* 02C52F74 */ cpu->r[9] = cpu->r[3] + 0x00000008u;
|
|
/* 02C52F78 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02C52F7C */ _t21 = cpu->r[3] + 0x00000010u;
|
|
/* 02C52F7C */ rbrew_write32(cpu->mem, _t21, cpu->r[0]);
|
|
/* 02C52F80 */ cpu->r[0] = rbrew_rlwinm(cpu->r[6], 0x0000001Du, 0x00000003u, 0x0000001Du);
|
|
/* 02C52F84 */ cpu->r[7] = rbrew_rlwinm(cpu->r[7], 0x00000000u, 0x00000000u, 0x0000001Du);
|
|
/* 02C52F88 */ cpu->r[8] = 0x00000000u;
|
|
/* 02C52F8C */ _t22 = cpu->r[3] + 0x00000020u;
|
|
/* 02C52F8C */ rbrew_write32(cpu->mem, _t22, cpu->r[0]);
|
|
/* 02C52F90 */ _t23 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C52F90 */ _t24 = _t23 & 0x00000001u;
|
|
/* 02C52F90 */ if (_t24) goto L_02C52F98; else goto L_02C52F94;
|
|
L_02C52F94: ; // 0x2c52f94
|
|
/* 02C52F94 */ cpu->r[8] = 0x00000020u;
|
|
L_02C52F98: ; // 0x2c52f98
|
|
/* 02C52F98 */ _t25 = cpu->r[9] + 0x00000020u;
|
|
/* 02C52F98 */ rbrew_write32(cpu->mem, _t25, cpu->r[8]);
|
|
/* 02C52F9C */ cpu->r[0] = 0x00000000u;
|
|
/* 02C52FA0 */ _t26 = cpu->r[9] + 0x00000004u;
|
|
/* 02C52FA0 */ rbrew_write32(cpu->mem, _t26, cpu->r[0]);
|
|
/* 02C52FA4 */ cpu->r[0] = 0x00000005u;
|
|
/* 02C52FA8 */ cpu->r[8] = cpu->r[9] + 0xFFFFFFF8u;
|
|
/* 02C52FAC */ cpu->ctr = cpu->r[0];
|
|
/* 02C52FB0 */ _t27 = cpu->r[9] + 0x00000028u;
|
|
/* 02C52FB0 */ rbrew_write32(cpu->mem, _t27, cpu->r[7]);
|
|
L_02C52FB4: ; // 0x2c52fb4
|
|
/* 02C52FB4 */ _t28 = cpu->r[8] + 0x0000000Cu;
|
|
/* 02C52FB4 */ cpu->r[6] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02C52FB8 */ _t29 = cpu->r[8] + 0x00000008u;
|
|
/* 02C52FB8 */ cpu->r[7] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02C52FB8 */ cpu->r[8] = _t29;
|
|
/* 02C52FBC */ cpu->r[6] = cpu->r[6] + cpu->r[7];
|
|
/* 02C52FC0 */ _t30 = cpu->r[8] + 0x0000000Cu;
|
|
/* 02C52FC0 */ rbrew_write32(cpu->mem, _t30, cpu->r[6]);
|
|
/* 02C52FC4 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02C52FC4 */ _t31 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02C52FC4 */ _t32 = _t31 >> (0x00000002u & 31u);
|
|
/* 02C52FC4 */ _t33 = _t32 & 0x00000001u;
|
|
/* 02C52FC4 */ if (_t33) goto L_02C52FB4; else goto L_02C52FC8;
|
|
L_02C52FC8: ; // 0x2c52fc8
|
|
/* 02C52FC8 */ cpu->r[6] = rbrew_rlwinm(cpu->r[0], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 02C52FCC */ cpu->r[8] = cpu->r[9] + cpu->r[6];
|
|
/* 02C52FD0 */ _t34 = cpu->r[9] + cpu->r[6];
|
|
/* 02C52FD0 */ cpu->r[7] = rbrew_read32(cpu->mem, _t34);
|
|
/* 02C52FD4 */ _t35 = cpu->r[8] + 0x00000004u;
|
|
/* 02C52FD4 */ cpu->r[6] = rbrew_read32(cpu->mem, _t35);
|
|
/* 02C52FD8 */ _t36 = cpu->r[3] + 0x00000000u;
|
|
/* 02C52FD8 */ rbrew_write32(cpu->mem, _t36, cpu->r[9]);
|
|
/* 02C52FDC */ cpu->r[0] = cpu->r[6] + cpu->r[7];
|
|
/* 02C52FE0 */ _t37 = cpu->r[3] + 0x00000004u;
|
|
/* 02C52FE0 */ rbrew_write32(cpu->mem, _t37, cpu->r[0]);
|
|
/* 02C52FE4 */ return;
|
|
}
|
|
|
|
// fn_02C52FE8 @ 0x2c52fe8
|
|
void Gambit_fn_02C52FE8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3;
|
|
|
|
L_02C52FE8: ; // 0x2c52fe8
|
|
/* 02C52FE8 */ cpu->r[0] = cpu->lr;
|
|
/* 02C52FEC */ cpu->r[4] = cpu->r[3];
|
|
/* 02C52FF0 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 02C52FF0 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 02C52FF4 */ cpu->r[3] = cpu->r[4] + 0x00000014u;
|
|
/* 02C52FF8 */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02C52FF8 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 02C52FF8 */ cpu->r[1] = _t1;
|
|
/* 02C52FFC */ Gambit_fn_02C52EE4(cpu);
|
|
/* 02C53000 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C53000 */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02C53004 */ _t3 = cpu->r[4] + 0x00000018u;
|
|
/* 02C53004 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02C53008 */ cpu->lr = cpu->r[0];
|
|
/* 02C5300C */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02C53010 */ return;
|
|
}
|
|
|
|
// fn_02C52FF8 @ 0x2c52ff8
|
|
void Gambit_fn_02C52FF8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2;
|
|
|
|
L_02C52FF8: ; // 0x2c52ff8
|
|
/* 02C52FF8 */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02C52FF8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C52FF8 */ cpu->r[1] = _t0;
|
|
/* 02C52FFC */ Gambit_fn_02C52EE4(cpu);
|
|
/* 02C53000 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C53000 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02C53004 */ _t2 = cpu->r[4] + 0x00000018u;
|
|
/* 02C53004 */ cpu->r[3] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02C53008 */ cpu->lr = cpu->r[0];
|
|
/* 02C5300C */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02C53010 */ return;
|
|
}
|
|
|
|
// fn_02C53014 @ 0x2c53014
|
|
void Gambit_fn_02C53014(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17;
|
|
|
|
L_02C53014: ; // 0x2c53014
|
|
/* 02C53014 */ cpu->r[0] = cpu->lr;
|
|
/* 02C53018 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C53018 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C53018 */ cpu->r[1] = _t0;
|
|
/* 02C5301C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C5301C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02C53020 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C53024 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02C53024 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02C53028 */ _t3 = cpu->r[31] + 0x00000000u;
|
|
/* 02C53028 */ cpu->r[12] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02C5302C */ _t4 = cpu->r[12] + 0x00000018u;
|
|
/* 02C5302C */ cpu->r[12] = rbrew_read8(cpu->mem, _t4);
|
|
/* 02C53030 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02C53034 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C53034 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02C53034 */ if (_t6) goto L_02C53058; else goto L_02C53038;
|
|
L_02C53038: ; // 0x2c53038
|
|
/* 02C53038 */ cpu->r[11] = 0x101B0000u;
|
|
/* 02C5303C */ cpu->ctr = cpu->r[12];
|
|
/* 02C53040 */ _t7 = cpu->r[11] + 0xFFFFEDC8u;
|
|
/* 02C53040 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t7);
|
|
/* 02C53044 */ cpu->r[8] = 0x00000000u;
|
|
L_02C53048: ; // 0x2c53048
|
|
/* 02C53048 */ _t8 = cpu->r[31] + 0x00000010u;
|
|
/* 02C53048 */ cpu->r[11] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C5304C */ _t9 = cpu->r[11] + cpu->r[8];
|
|
/* 02C5304C */ rbrew_write32(cpu->mem, _t9, cpu->r[0]);
|
|
/* 02C53050 */ cpu->r[8] = cpu->r[8] + 0x00000004u;
|
|
/* 02C53054 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02C53054 */ _t10 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02C53054 */ _t11 = _t10 >> (0x00000002u & 31u);
|
|
/* 02C53054 */ _t12 = _t11 & 0x00000001u;
|
|
/* 02C53054 */ if (_t12) goto L_02C53048; else goto L_02C53058;
|
|
L_02C53058: ; // 0x2c53058
|
|
/* 02C53058 */ cpu->r[0] = cpu->r[12] + 0x0000001Fu;
|
|
/* 02C5305C */ _t13 = cpu->r[31] + 0x00000014u;
|
|
/* 02C5305C */ cpu->r[3] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02C53060 */ cpu->r[4] = 0x00000000u;
|
|
/* 02C53064 */ cpu->r[5] = rbrew_rlwinm(cpu->r[0], 0x0000001Du, 0x00000003u, 0x0000001Du);
|
|
/* 02C53068 */ rbrew_dispatch(cpu, 0x02d0b880u);
|
|
/* 02C5306C */ _t14 = cpu->r[31] + 0x00000004u;
|
|
/* 02C5306C */ cpu->r[9] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02C53070 */ cpu->r[9] = rbrew_rlwinm(cpu->r[9], 0x00000000u, 0x0000001Eu, 0x0000001Cu);
|
|
/* 02C53074 */ _t15 = cpu->r[31] + 0x00000004u;
|
|
/* 02C53074 */ rbrew_write32(cpu->mem, _t15, cpu->r[9]);
|
|
/* 02C53078 */ _t16 = cpu->r[1] + 0x00000014u;
|
|
/* 02C53078 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02C5307C */ _t17 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C5307C */ cpu->r[31] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02C53080 */ cpu->lr = cpu->r[0];
|
|
/* 02C53084 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C53088 */ return;
|
|
}
|
|
|
|
// fn_02C53018 @ 0x2c53018
|
|
void Gambit_fn_02C53018(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17;
|
|
|
|
L_02C53018: ; // 0x2c53018
|
|
/* 02C53018 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C53018 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C53018 */ cpu->r[1] = _t0;
|
|
/* 02C5301C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C5301C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02C53020 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C53024 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02C53024 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02C53028 */ _t3 = cpu->r[31] + 0x00000000u;
|
|
/* 02C53028 */ cpu->r[12] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02C5302C */ _t4 = cpu->r[12] + 0x00000018u;
|
|
/* 02C5302C */ cpu->r[12] = rbrew_read8(cpu->mem, _t4);
|
|
/* 02C53030 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02C53034 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C53034 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02C53034 */ if (_t6) goto L_02C53058; else goto L_02C53038;
|
|
L_02C53038: ; // 0x2c53038
|
|
/* 02C53038 */ cpu->r[11] = 0x101B0000u;
|
|
/* 02C5303C */ cpu->ctr = cpu->r[12];
|
|
/* 02C53040 */ _t7 = cpu->r[11] + 0xFFFFEDC8u;
|
|
/* 02C53040 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t7);
|
|
/* 02C53044 */ cpu->r[8] = 0x00000000u;
|
|
L_02C53048: ; // 0x2c53048
|
|
/* 02C53048 */ _t8 = cpu->r[31] + 0x00000010u;
|
|
/* 02C53048 */ cpu->r[11] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C5304C */ _t9 = cpu->r[11] + cpu->r[8];
|
|
/* 02C5304C */ rbrew_write32(cpu->mem, _t9, cpu->r[0]);
|
|
/* 02C53050 */ cpu->r[8] = cpu->r[8] + 0x00000004u;
|
|
/* 02C53054 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02C53054 */ _t10 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02C53054 */ _t11 = _t10 >> (0x00000002u & 31u);
|
|
/* 02C53054 */ _t12 = _t11 & 0x00000001u;
|
|
/* 02C53054 */ if (_t12) goto L_02C53048; else goto L_02C53058;
|
|
L_02C53058: ; // 0x2c53058
|
|
/* 02C53058 */ cpu->r[0] = cpu->r[12] + 0x0000001Fu;
|
|
/* 02C5305C */ _t13 = cpu->r[31] + 0x00000014u;
|
|
/* 02C5305C */ cpu->r[3] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02C53060 */ cpu->r[4] = 0x00000000u;
|
|
/* 02C53064 */ cpu->r[5] = rbrew_rlwinm(cpu->r[0], 0x0000001Du, 0x00000003u, 0x0000001Du);
|
|
/* 02C53068 */ rbrew_dispatch(cpu, 0x02d0b880u);
|
|
/* 02C5306C */ _t14 = cpu->r[31] + 0x00000004u;
|
|
/* 02C5306C */ cpu->r[9] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02C53070 */ cpu->r[9] = rbrew_rlwinm(cpu->r[9], 0x00000000u, 0x0000001Eu, 0x0000001Cu);
|
|
/* 02C53074 */ _t15 = cpu->r[31] + 0x00000004u;
|
|
/* 02C53074 */ rbrew_write32(cpu->mem, _t15, cpu->r[9]);
|
|
/* 02C53078 */ _t16 = cpu->r[1] + 0x00000014u;
|
|
/* 02C53078 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02C5307C */ _t17 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C5307C */ cpu->r[31] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02C53080 */ cpu->lr = cpu->r[0];
|
|
/* 02C53084 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C53088 */ return;
|
|
}
|
|
|
|
// fn_02C5308C @ 0x2c5308c
|
|
void Gambit_fn_02C5308C(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;
|
|
|
|
L_02C5308C: ; // 0x2c5308c
|
|
/* 02C5308C */ cpu->r[0] = cpu->lr;
|
|
/* 02C53090 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02C53090 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C53090 */ cpu->r[1] = _t0;
|
|
/* 02C53094 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C53094 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
|
|
/* 02C53098 */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 02C53098 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02C5309C */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02C5309C */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 02C530A0 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C530A0 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02C530A4 */ _t5 = cpu->r[4] + 0x00000014u;
|
|
/* 02C530A4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02C530A8 */ cpu->r[30] = cpu->r[3];
|
|
/* 02C530AC */ cpu->r[31] = cpu->r[6];
|
|
/* 02C530B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 02C530B4 */ cpu->r[3] = cpu->r[4] + 0x00000014u;
|
|
/* 02C530B8 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C530B8 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02C530B8 */ if (_t7) goto L_02C530BC; else goto L_02C530C0;
|
|
L_02C530BC: ; // 0x2c530bc
|
|
/* 02C530BC */ Gambit_fn_02C52EE4(cpu);
|
|
L_02C530C0: ; // 0x2c530c0
|
|
/* 02C530C0 */ _t8 = cpu->r[3] + 0x00000004u;
|
|
/* 02C530C0 */ cpu->r[7] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C530C4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[31]);
|
|
/* 02C530C8 */ _t9 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C530C8 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02C530C8 */ if (_t10) goto L_02C530CC; else goto L_02C530EC;
|
|
L_02C530CC: ; // 0x2c530cc
|
|
/* 02C530CC */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C530CC */ cpu->r[29] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02C530D0 */ _t12 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C530D0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02C530D4 */ _t13 = cpu->r[1] + 0x00000010u;
|
|
/* 02C530D4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02C530D8 */ cpu->lr = cpu->r[0];
|
|
/* 02C530DC */ _t14 = cpu->r[1] + 0x00000014u;
|
|
/* 02C530DC */ cpu->r[31] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02C530E0 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C530E4 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C530E8 */ return;
|
|
L_02C530EC: ; // 0x2c530ec
|
|
/* 02C530EC */ _t15 = cpu->r[4] + 0x00000000u;
|
|
/* 02C530EC */ cpu->r[8] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02C530F0 */ _t16 = cpu->r[4] + 0x00000008u;
|
|
/* 02C530F0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02C530F4 */ _t17 = cpu->r[30] + 0x00000000u;
|
|
/* 02C530F4 */ rbrew_write32(cpu->mem, _t17, cpu->r[8]);
|
|
/* 02C530F8 */ cpu->r[8] = 0x00000002u;
|
|
/* 02C530FC */ _t18 = cpu->r[30] + 0x00000008u;
|
|
/* 02C530FC */ rbrew_write8(cpu->mem, _t18, (uint8_t)cpu->r[9]);
|
|
/* 02C53100 */ _t19 = cpu->r[30] + 0x00000004u;
|
|
/* 02C53100 */ rbrew_write32(cpu->mem, _t19, cpu->r[8]);
|
|
/* 02C53104 */ _t20 = cpu->r[4] + 0x0000000Cu;
|
|
/* 02C53104 */ cpu->r[9] = rbrew_read8(cpu->mem, _t20);
|
|
/* 02C53108 */ _t21 = cpu->r[30] + 0x00000009u;
|
|
/* 02C53108 */ rbrew_write8(cpu->mem, _t21, (uint8_t)cpu->r[9]);
|
|
/* 02C5310C */ _t22 = cpu->r[4] + 0x0000000Cu;
|
|
/* 02C5310C */ cpu->r[10] = rbrew_read8(cpu->mem, _t22);
|
|
/* 02C53110 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02C53114 */ cpu->r[10] = 0x00000001u;
|
|
/* 02C53118 */ _t23 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C53118 */ _t24 = _t23 & 0x00000001u;
|
|
/* 02C53118 */ if (_t24) goto L_02C53120; else goto L_02C5311C;
|
|
L_02C5311C: ; // 0x2c5311c
|
|
/* 02C5311C */ _t25 = cpu->r[30] + 0x00000008u;
|
|
/* 02C5311C */ cpu->r[10] = rbrew_read8(cpu->mem, _t25);
|
|
L_02C53120: ; // 0x2c53120
|
|
/* 02C53120 */ _t26 = cpu->r[30] + 0x0000000Au;
|
|
/* 02C53120 */ rbrew_write8(cpu->mem, _t26, (uint8_t)cpu->r[10]);
|
|
/* 02C53124 */ _t27 = cpu->r[4] + 0x00000004u;
|
|
/* 02C53124 */ cpu->r[11] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02C53128 */ _t28 = cpu->r[30] + 0x0000000Bu;
|
|
/* 02C53128 */ rbrew_write8(cpu->mem, _t28, (uint8_t)cpu->r[11]);
|
|
/* 02C5312C */ _t29 = cpu->r[3] + 0x00000000u;
|
|
/* 02C5312C */ cpu->r[8] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02C53130 */ _t30 = cpu->r[8] + 0x00000008u;
|
|
/* 02C53130 */ cpu->r[11] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02C53134 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02C53138 */ _t31 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C53138 */ _t32 = _t31 & 0x00000001u;
|
|
/* 02C53138 */ if (_t32) goto L_02C53144; else goto L_02C5313C;
|
|
L_02C5313C: ; // 0x2c5313c
|
|
/* 02C5313C */ _t33 = cpu->r[8] + 0x0000000Cu;
|
|
/* 02C5313C */ cpu->r[12] = rbrew_read32(cpu->mem, _t33);
|
|
/* 02C53140 */ cpu->r[11] = cpu->r[5] + cpu->r[12];
|
|
L_02C53144: ; // 0x2c53144
|
|
/* 02C53144 */ _t34 = cpu->r[30] + 0x0000000Cu;
|
|
/* 02C53144 */ rbrew_write32(cpu->mem, _t34, cpu->r[11]);
|
|
/* 02C53148 */ _t35 = cpu->r[3] + 0x00000000u;
|
|
/* 02C53148 */ cpu->r[8] = rbrew_read32(cpu->mem, _t35);
|
|
/* 02C5314C */ _t36 = cpu->r[8] + 0x00000010u;
|
|
/* 02C5314C */ cpu->r[12] = rbrew_read32(cpu->mem, _t36);
|
|
/* 02C53150 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02C53154 */ _t37 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C53154 */ _t38 = _t37 & 0x00000001u;
|
|
/* 02C53154 */ if (_t38) goto L_02C53160; else goto L_02C53158;
|
|
L_02C53158: ; // 0x2c53158
|
|
/* 02C53158 */ _t39 = cpu->r[8] + 0x00000014u;
|
|
/* 02C53158 */ cpu->r[0] = rbrew_read32(cpu->mem, _t39);
|
|
/* 02C5315C */ cpu->r[12] = cpu->r[5] + cpu->r[0];
|
|
L_02C53160: ; // 0x2c53160
|
|
/* 02C53160 */ _t40 = cpu->r[30] + 0x00000010u;
|
|
/* 02C53160 */ rbrew_write32(cpu->mem, _t40, cpu->r[12]);
|
|
/* 02C53164 */ _t41 = cpu->r[3] + 0x00000000u;
|
|
/* 02C53164 */ cpu->r[8] = rbrew_read32(cpu->mem, _t41);
|
|
/* 02C53168 */ _t42 = cpu->r[8] + 0x00000018u;
|
|
/* 02C53168 */ cpu->r[0] = rbrew_read32(cpu->mem, _t42);
|
|
/* 02C5316C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C53170 */ _t43 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C53170 */ _t44 = _t43 & 0x00000001u;
|
|
/* 02C53170 */ if (_t44) goto L_02C5317C; else goto L_02C53174;
|
|
L_02C53174: ; // 0x2c53174
|
|
/* 02C53174 */ _t45 = cpu->r[8] + 0x0000001Cu;
|
|
/* 02C53174 */ cpu->r[7] = rbrew_read32(cpu->mem, _t45);
|
|
/* 02C53178 */ cpu->r[0] = cpu->r[5] + cpu->r[7];
|
|
L_02C5317C: ; // 0x2c5317c
|
|
/* 02C5317C */ _t46 = cpu->r[30] + 0x00000014u;
|
|
/* 02C5317C */ rbrew_write32(cpu->mem, _t46, cpu->r[0]);
|
|
/* 02C53180 */ _t47 = cpu->r[3] + 0x00000000u;
|
|
/* 02C53180 */ cpu->r[8] = rbrew_read32(cpu->mem, _t47);
|
|
/* 02C53184 */ _t48 = cpu->r[8] + 0x00000020u;
|
|
/* 02C53184 */ cpu->r[7] = rbrew_read32(cpu->mem, _t48);
|
|
/* 02C53188 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 02C5318C */ _t49 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C5318C */ _t50 = _t49 & 0x00000001u;
|
|
/* 02C5318C */ if (_t50) goto L_02C53198; else goto L_02C53190;
|
|
L_02C53190: ; // 0x2c53190
|
|
/* 02C53190 */ _t51 = cpu->r[8] + 0x00000024u;
|
|
/* 02C53190 */ cpu->r[8] = rbrew_read32(cpu->mem, _t51);
|
|
/* 02C53194 */ cpu->r[7] = cpu->r[5] + cpu->r[8];
|
|
L_02C53198: ; // 0x2c53198
|
|
/* 02C53198 */ _t52 = cpu->r[30] + 0x00000018u;
|
|
/* 02C53198 */ rbrew_write32(cpu->mem, _t52, cpu->r[7]);
|
|
/* 02C5319C */ _t53 = cpu->r[3] + 0x00000000u;
|
|
/* 02C5319C */ cpu->r[8] = rbrew_read32(cpu->mem, _t53);
|
|
/* 02C531A0 */ _t54 = cpu->r[8] + 0x00000000u;
|
|
/* 02C531A0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t54);
|
|
/* 02C531A4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 02C531A8 */ _t55 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C531A8 */ _t56 = _t55 & 0x00000001u;
|
|
/* 02C531A8 */ if (_t56) goto L_02C531B4; else goto L_02C531AC;
|
|
L_02C531AC: ; // 0x2c531ac
|
|
/* 02C531AC */ _t57 = cpu->r[8] + 0x00000004u;
|
|
/* 02C531AC */ cpu->r[9] = rbrew_read32(cpu->mem, _t57);
|
|
/* 02C531B0 */ cpu->r[9] = cpu->r[5] + cpu->r[9];
|
|
L_02C531B4: ; // 0x2c531b4
|
|
/* 02C531B4 */ _t58 = cpu->r[30] + 0x0000001Cu;
|
|
/* 02C531B4 */ rbrew_write32(cpu->mem, _t58, cpu->r[9]);
|
|
/* 02C531B8 */ _t59 = cpu->r[3] + 0x00000000u;
|
|
/* 02C531B8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t59);
|
|
/* 02C531BC */ _t60 = cpu->r[8] + 0x00000028u;
|
|
/* 02C531BC */ cpu->r[0] = rbrew_read32(cpu->mem, _t60);
|
|
/* 02C531C0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C531C4 */ _t61 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C531C4 */ _t62 = _t61 & 0x00000001u;
|
|
/* 02C531C4 */ if (_t62) goto L_02C531D0; else goto L_02C531C8;
|
|
L_02C531C8: ; // 0x2c531c8
|
|
/* 02C531C8 */ _t63 = cpu->r[8] + 0x0000002Cu;
|
|
/* 02C531C8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t63);
|
|
/* 02C531CC */ cpu->r[0] = cpu->r[5] + cpu->r[0];
|
|
L_02C531D0: ; // 0x2c531d0
|
|
/* 02C531D0 */ _t64 = cpu->r[30] + 0x00000020u;
|
|
/* 02C531D0 */ rbrew_write32(cpu->mem, _t64, cpu->r[0]);
|
|
/* 02C531D4 */ _t65 = cpu->r[4] + 0x00000010u;
|
|
/* 02C531D4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t65);
|
|
/* 02C531D8 */ cpu->r[0] = 0x00000000u;
|
|
/* 02C531DC */ _t66 = cpu->r[30] + 0x0000002Cu;
|
|
/* 02C531DC */ rbrew_write32(cpu->mem, _t66, cpu->r[5]);
|
|
/* 02C531E0 */ cpu->r[11] = cpu->r[12] + 0x00000003u;
|
|
/* 02C531E4 */ _t67 = cpu->r[30] + 0x00000018u;
|
|
/* 02C531E4 */ cpu->r[7] = rbrew_read32(cpu->mem, _t67);
|
|
/* 02C531E8 */ cpu->r[12] = rbrew_rlwinm(cpu->r[11], 0x00000000u, 0x00000000u, 0x0000001Du);
|
|
/* 02C531EC */ _t68 = cpu->r[30] + 0x00000028u;
|
|
/* 02C531EC */ rbrew_write32(cpu->mem, _t68, cpu->r[0]);
|
|
/* 02C531F0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 02C531F4 */ _t69 = cpu->r[30] + 0x00000030u;
|
|
/* 02C531F4 */ rbrew_write32(cpu->mem, _t69, cpu->r[0]);
|
|
/* 02C531F8 */ _t70 = cpu->r[30] + 0x00000024u;
|
|
/* 02C531F8 */ rbrew_write32(cpu->mem, _t70, cpu->r[12]);
|
|
/* 02C531FC */ _t71 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C531FC */ _t72 = _t71 & 0x00000001u;
|
|
/* 02C531FC */ if (_t72) goto L_02C53288; else goto L_02C53200;
|
|
L_02C53200: ; // 0x2c53200
|
|
/* 02C53200 */ _t73 = cpu->r[30] + 0x00000000u;
|
|
/* 02C53200 */ cpu->r[11] = rbrew_read32(cpu->mem, _t73);
|
|
/* 02C53204 */ _t74 = cpu->r[11] + 0x00000030u;
|
|
/* 02C53204 */ cpu->r[10] = rbrew_read32(cpu->mem, _t74);
|
|
/* 02C53208 */ cpu->r[9] = cpu->r[11] + 0x00000030u;
|
|
/* 02C5320C */ cpu->r[8] = 0x00000000u;
|
|
/* 02C53210 */ cpu->r[6] = cpu->r[7] + 0x00000010u;
|
|
/* 02C53214 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02C53218 */ _t75 = cpu->r[11] + 0x00000024u;
|
|
/* 02C53218 */ cpu->r[0] = rbrew_read32(cpu->mem, _t75);
|
|
/* 02C5321C */ _t76 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C5321C */ _t77 = _t76 & 0x00000001u;
|
|
/* 02C5321C */ if (_t77) goto L_02C53224; else goto L_02C53220;
|
|
L_02C53220: ; // 0x2c53220
|
|
/* 02C53220 */ cpu->r[8] = cpu->r[9] + cpu->r[10];
|
|
L_02C53224: ; // 0x2c53224
|
|
/* 02C53224 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C53228 */ cpu->r[11] = cpu->r[11] + 0x00000024u;
|
|
/* 02C5322C */ cpu->r[12] = 0x00000000u;
|
|
/* 02C53230 */ _t78 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C53230 */ _t79 = _t78 & 0x00000001u;
|
|
/* 02C53230 */ if (_t79) goto L_02C53238; else goto L_02C53234;
|
|
L_02C53234: ; // 0x2c53234
|
|
/* 02C53234 */ cpu->r[12] = cpu->r[11] + cpu->r[0];
|
|
L_02C53238: ; // 0x2c53238
|
|
/* 02C53238 */ _t80 = cpu->r[12] + 0x0000000Cu;
|
|
/* 02C53238 */ cpu->r[12] = rbrew_read16(cpu->mem, _t80);
|
|
/* 02C5323C */ cpu->r[11] = (uint32_t)((int32_t)cpu->r[12] * (int32_t)0x00000018u);
|
|
/* 02C53240 */ _t81 = cpu->r[8] + cpu->r[11];
|
|
/* 02C53240 */ cpu->r[10] = rbrew_read32(cpu->mem, _t81);
|
|
/* 02C53244 */ cpu->r[7] = cpu->r[8] + cpu->r[11];
|
|
/* 02C53248 */ _t82 = cpu->r[6] + 0x00000000u;
|
|
/* 02C53248 */ rbrew_write32(cpu->mem, _t82, cpu->r[10]);
|
|
/* 02C5324C */ _t83 = cpu->r[7] + 0x00000004u;
|
|
/* 02C5324C */ cpu->r[12] = rbrew_read32(cpu->mem, _t83);
|
|
/* 02C53250 */ _t84 = cpu->r[6] + 0x00000004u;
|
|
/* 02C53250 */ rbrew_write32(cpu->mem, _t84, cpu->r[12]);
|
|
/* 02C53254 */ _t85 = cpu->r[7] + 0x00000008u;
|
|
/* 02C53254 */ cpu->r[0] = rbrew_read32(cpu->mem, _t85);
|
|
/* 02C53258 */ _t86 = cpu->r[6] + 0x00000008u;
|
|
/* 02C53258 */ rbrew_write32(cpu->mem, _t86, cpu->r[0]);
|
|
/* 02C5325C */ _t87 = cpu->r[30] + 0x00000000u;
|
|
/* 02C5325C */ cpu->r[11] = rbrew_read32(cpu->mem, _t87);
|
|
/* 02C53260 */ _t88 = cpu->r[11] + 0x0000001Cu;
|
|
/* 02C53260 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t88);
|
|
/* 02C53264 */ _t89 = cpu->r[6] + 0x0000000Cu;
|
|
/* 02C53264 */ rbrew_write_f32(cpu->mem, _t89, cpu->f[0]);
|
|
/* 02C53268 */ _t90 = cpu->r[30] + 0x00000018u;
|
|
/* 02C53268 */ cpu->r[7] = rbrew_read32(cpu->mem, _t90);
|
|
/* 02C5326C */ _t91 = cpu->r[7] + 0x00000000u;
|
|
/* 02C5326C */ rbrew_write32(cpu->mem, _t91, cpu->r[10]);
|
|
/* 02C53270 */ _t92 = cpu->r[6] + 0x00000004u;
|
|
/* 02C53270 */ cpu->r[9] = rbrew_read32(cpu->mem, _t92);
|
|
/* 02C53274 */ _t93 = cpu->r[7] + 0x00000004u;
|
|
/* 02C53274 */ rbrew_write32(cpu->mem, _t93, cpu->r[9]);
|
|
/* 02C53278 */ _t94 = cpu->r[6] + 0x00000008u;
|
|
/* 02C53278 */ cpu->r[10] = rbrew_read32(cpu->mem, _t94);
|
|
/* 02C5327C */ _t95 = cpu->r[7] + 0x00000008u;
|
|
/* 02C5327C */ rbrew_write32(cpu->mem, _t95, cpu->r[10]);
|
|
/* 02C53280 */ _t96 = cpu->r[6] + 0x0000000Cu;
|
|
/* 02C53280 */ cpu->r[0] = rbrew_read32(cpu->mem, _t96);
|
|
/* 02C53284 */ _t97 = cpu->r[7] + 0x0000000Cu;
|
|
/* 02C53284 */ rbrew_write32(cpu->mem, _t97, cpu->r[0]);
|
|
L_02C53288: ; // 0x2c53288
|
|
/* 02C53288 */ _t98 = cpu->r[30] + 0x0000000Au;
|
|
/* 02C53288 */ cpu->r[0] = rbrew_read8(cpu->mem, _t98);
|
|
/* 02C5328C */ cpu->r[29] = 0x00000000u;
|
|
/* 02C53290 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[0]);
|
|
/* 02C53294 */ _t99 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C53294 */ _t100 = _t99 & 0x00000001u;
|
|
/* 02C53294 */ if (_t100) goto L_02C53298; else goto L_02C532C0;
|
|
L_02C53298: ; // 0x2c53298
|
|
/* 02C53298 */ cpu->r[31] = 0x00000000u;
|
|
L_02C5329C: ; // 0x2c5329c
|
|
/* 02C5329C */ _t101 = cpu->r[30] + 0x0000000Cu;
|
|
/* 02C5329C */ cpu->r[12] = rbrew_read32(cpu->mem, _t101);
|
|
/* 02C532A0 */ cpu->r[3] = cpu->r[12] + cpu->r[31];
|
|
/* 02C532A0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C532A4 */ _t102 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C532A4 */ _t103 = _t102 & 0x00000001u;
|
|
/* 02C532A4 */ if (_t103) goto L_02C532B0; else goto L_02C532A8;
|
|
L_02C532A8: ; // 0x2c532a8
|
|
/* 02C532A8 */ Gambit_fn_02C652AC(cpu);
|
|
/* 02C532AC */ _t104 = cpu->r[30] + 0x0000000Au;
|
|
/* 02C532AC */ cpu->r[0] = rbrew_read8(cpu->mem, _t104);
|
|
L_02C532B0: ; // 0x2c532b0
|
|
/* 02C532B0 */ cpu->r[29] = cpu->r[29] + 0x00000001u;
|
|
/* 02C532B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[0]);
|
|
/* 02C532B8 */ cpu->r[31] = cpu->r[31] + 0x00000014u;
|
|
/* 02C532BC */ _t105 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C532BC */ _t106 = _t105 & 0x00000001u;
|
|
/* 02C532BC */ if (_t106) goto L_02C5329C; else goto L_02C532C0;
|
|
L_02C532C0: ; // 0x2c532c0
|
|
/* 02C532C0 */ cpu->r[3] = cpu->r[30];
|
|
/* 02C532C4 */ Gambit_fn_02C53014(cpu);
|
|
/* 02C532C8 */ _t107 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C532C8 */ cpu->r[29] = rbrew_read32(cpu->mem, _t107);
|
|
/* 02C532CC */ _t108 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C532CC */ cpu->r[0] = rbrew_read32(cpu->mem, _t108);
|
|
/* 02C532D0 */ _t109 = cpu->r[1] + 0x00000010u;
|
|
/* 02C532D0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t109);
|
|
/* 02C532D4 */ cpu->lr = cpu->r[0];
|
|
/* 02C532D8 */ _t110 = cpu->r[1] + 0x00000014u;
|
|
/* 02C532D8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t110);
|
|
/* 02C532DC */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C532E0 */ cpu->r[3] = 0x00000001u;
|
|
/* 02C532E4 */ return;
|
|
}
|
|
|
|
// fn_02C53090 @ 0x2c53090
|
|
void Gambit_fn_02C53090(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;
|
|
|
|
L_02C53090: ; // 0x2c53090
|
|
/* 02C53090 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02C53090 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C53090 */ cpu->r[1] = _t0;
|
|
/* 02C53094 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C53094 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
|
|
/* 02C53098 */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 02C53098 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02C5309C */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02C5309C */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 02C530A0 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C530A0 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02C530A4 */ _t5 = cpu->r[4] + 0x00000014u;
|
|
/* 02C530A4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02C530A8 */ cpu->r[30] = cpu->r[3];
|
|
/* 02C530AC */ cpu->r[31] = cpu->r[6];
|
|
/* 02C530B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 02C530B4 */ cpu->r[3] = cpu->r[4] + 0x00000014u;
|
|
/* 02C530B8 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C530B8 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02C530B8 */ if (_t7) goto L_02C530BC; else goto L_02C530C0;
|
|
L_02C530BC: ; // 0x2c530bc
|
|
/* 02C530BC */ Gambit_fn_02C52EE4(cpu);
|
|
L_02C530C0: ; // 0x2c530c0
|
|
/* 02C530C0 */ _t8 = cpu->r[3] + 0x00000004u;
|
|
/* 02C530C0 */ cpu->r[7] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C530C4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[31]);
|
|
/* 02C530C8 */ _t9 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C530C8 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02C530C8 */ if (_t10) goto L_02C530CC; else goto L_02C530EC;
|
|
L_02C530CC: ; // 0x2c530cc
|
|
/* 02C530CC */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C530CC */ cpu->r[29] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02C530D0 */ _t12 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C530D0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02C530D4 */ _t13 = cpu->r[1] + 0x00000010u;
|
|
/* 02C530D4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02C530D8 */ cpu->lr = cpu->r[0];
|
|
/* 02C530DC */ _t14 = cpu->r[1] + 0x00000014u;
|
|
/* 02C530DC */ cpu->r[31] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02C530E0 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C530E4 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C530E8 */ return;
|
|
L_02C530EC: ; // 0x2c530ec
|
|
/* 02C530EC */ _t15 = cpu->r[4] + 0x00000000u;
|
|
/* 02C530EC */ cpu->r[8] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02C530F0 */ _t16 = cpu->r[4] + 0x00000008u;
|
|
/* 02C530F0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02C530F4 */ _t17 = cpu->r[30] + 0x00000000u;
|
|
/* 02C530F4 */ rbrew_write32(cpu->mem, _t17, cpu->r[8]);
|
|
/* 02C530F8 */ cpu->r[8] = 0x00000002u;
|
|
/* 02C530FC */ _t18 = cpu->r[30] + 0x00000008u;
|
|
/* 02C530FC */ rbrew_write8(cpu->mem, _t18, (uint8_t)cpu->r[9]);
|
|
/* 02C53100 */ _t19 = cpu->r[30] + 0x00000004u;
|
|
/* 02C53100 */ rbrew_write32(cpu->mem, _t19, cpu->r[8]);
|
|
/* 02C53104 */ _t20 = cpu->r[4] + 0x0000000Cu;
|
|
/* 02C53104 */ cpu->r[9] = rbrew_read8(cpu->mem, _t20);
|
|
/* 02C53108 */ _t21 = cpu->r[30] + 0x00000009u;
|
|
/* 02C53108 */ rbrew_write8(cpu->mem, _t21, (uint8_t)cpu->r[9]);
|
|
/* 02C5310C */ _t22 = cpu->r[4] + 0x0000000Cu;
|
|
/* 02C5310C */ cpu->r[10] = rbrew_read8(cpu->mem, _t22);
|
|
/* 02C53110 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02C53114 */ cpu->r[10] = 0x00000001u;
|
|
/* 02C53118 */ _t23 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C53118 */ _t24 = _t23 & 0x00000001u;
|
|
/* 02C53118 */ if (_t24) goto L_02C53120; else goto L_02C5311C;
|
|
L_02C5311C: ; // 0x2c5311c
|
|
/* 02C5311C */ _t25 = cpu->r[30] + 0x00000008u;
|
|
/* 02C5311C */ cpu->r[10] = rbrew_read8(cpu->mem, _t25);
|
|
L_02C53120: ; // 0x2c53120
|
|
/* 02C53120 */ _t26 = cpu->r[30] + 0x0000000Au;
|
|
/* 02C53120 */ rbrew_write8(cpu->mem, _t26, (uint8_t)cpu->r[10]);
|
|
/* 02C53124 */ _t27 = cpu->r[4] + 0x00000004u;
|
|
/* 02C53124 */ cpu->r[11] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02C53128 */ _t28 = cpu->r[30] + 0x0000000Bu;
|
|
/* 02C53128 */ rbrew_write8(cpu->mem, _t28, (uint8_t)cpu->r[11]);
|
|
/* 02C5312C */ _t29 = cpu->r[3] + 0x00000000u;
|
|
/* 02C5312C */ cpu->r[8] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02C53130 */ _t30 = cpu->r[8] + 0x00000008u;
|
|
/* 02C53130 */ cpu->r[11] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02C53134 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02C53138 */ _t31 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C53138 */ _t32 = _t31 & 0x00000001u;
|
|
/* 02C53138 */ if (_t32) goto L_02C53144; else goto L_02C5313C;
|
|
L_02C5313C: ; // 0x2c5313c
|
|
/* 02C5313C */ _t33 = cpu->r[8] + 0x0000000Cu;
|
|
/* 02C5313C */ cpu->r[12] = rbrew_read32(cpu->mem, _t33);
|
|
/* 02C53140 */ cpu->r[11] = cpu->r[5] + cpu->r[12];
|
|
L_02C53144: ; // 0x2c53144
|
|
/* 02C53144 */ _t34 = cpu->r[30] + 0x0000000Cu;
|
|
/* 02C53144 */ rbrew_write32(cpu->mem, _t34, cpu->r[11]);
|
|
/* 02C53148 */ _t35 = cpu->r[3] + 0x00000000u;
|
|
/* 02C53148 */ cpu->r[8] = rbrew_read32(cpu->mem, _t35);
|
|
/* 02C5314C */ _t36 = cpu->r[8] + 0x00000010u;
|
|
/* 02C5314C */ cpu->r[12] = rbrew_read32(cpu->mem, _t36);
|
|
/* 02C53150 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02C53154 */ _t37 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C53154 */ _t38 = _t37 & 0x00000001u;
|
|
/* 02C53154 */ if (_t38) goto L_02C53160; else goto L_02C53158;
|
|
L_02C53158: ; // 0x2c53158
|
|
/* 02C53158 */ _t39 = cpu->r[8] + 0x00000014u;
|
|
/* 02C53158 */ cpu->r[0] = rbrew_read32(cpu->mem, _t39);
|
|
/* 02C5315C */ cpu->r[12] = cpu->r[5] + cpu->r[0];
|
|
L_02C53160: ; // 0x2c53160
|
|
/* 02C53160 */ _t40 = cpu->r[30] + 0x00000010u;
|
|
/* 02C53160 */ rbrew_write32(cpu->mem, _t40, cpu->r[12]);
|
|
/* 02C53164 */ _t41 = cpu->r[3] + 0x00000000u;
|
|
/* 02C53164 */ cpu->r[8] = rbrew_read32(cpu->mem, _t41);
|
|
/* 02C53168 */ _t42 = cpu->r[8] + 0x00000018u;
|
|
/* 02C53168 */ cpu->r[0] = rbrew_read32(cpu->mem, _t42);
|
|
/* 02C5316C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C53170 */ _t43 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C53170 */ _t44 = _t43 & 0x00000001u;
|
|
/* 02C53170 */ if (_t44) goto L_02C5317C; else goto L_02C53174;
|
|
L_02C53174: ; // 0x2c53174
|
|
/* 02C53174 */ _t45 = cpu->r[8] + 0x0000001Cu;
|
|
/* 02C53174 */ cpu->r[7] = rbrew_read32(cpu->mem, _t45);
|
|
/* 02C53178 */ cpu->r[0] = cpu->r[5] + cpu->r[7];
|
|
L_02C5317C: ; // 0x2c5317c
|
|
/* 02C5317C */ _t46 = cpu->r[30] + 0x00000014u;
|
|
/* 02C5317C */ rbrew_write32(cpu->mem, _t46, cpu->r[0]);
|
|
/* 02C53180 */ _t47 = cpu->r[3] + 0x00000000u;
|
|
/* 02C53180 */ cpu->r[8] = rbrew_read32(cpu->mem, _t47);
|
|
/* 02C53184 */ _t48 = cpu->r[8] + 0x00000020u;
|
|
/* 02C53184 */ cpu->r[7] = rbrew_read32(cpu->mem, _t48);
|
|
/* 02C53188 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 02C5318C */ _t49 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C5318C */ _t50 = _t49 & 0x00000001u;
|
|
/* 02C5318C */ if (_t50) goto L_02C53198; else goto L_02C53190;
|
|
L_02C53190: ; // 0x2c53190
|
|
/* 02C53190 */ _t51 = cpu->r[8] + 0x00000024u;
|
|
/* 02C53190 */ cpu->r[8] = rbrew_read32(cpu->mem, _t51);
|
|
/* 02C53194 */ cpu->r[7] = cpu->r[5] + cpu->r[8];
|
|
L_02C53198: ; // 0x2c53198
|
|
/* 02C53198 */ _t52 = cpu->r[30] + 0x00000018u;
|
|
/* 02C53198 */ rbrew_write32(cpu->mem, _t52, cpu->r[7]);
|
|
/* 02C5319C */ _t53 = cpu->r[3] + 0x00000000u;
|
|
/* 02C5319C */ cpu->r[8] = rbrew_read32(cpu->mem, _t53);
|
|
/* 02C531A0 */ _t54 = cpu->r[8] + 0x00000000u;
|
|
/* 02C531A0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t54);
|
|
/* 02C531A4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 02C531A8 */ _t55 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C531A8 */ _t56 = _t55 & 0x00000001u;
|
|
/* 02C531A8 */ if (_t56) goto L_02C531B4; else goto L_02C531AC;
|
|
L_02C531AC: ; // 0x2c531ac
|
|
/* 02C531AC */ _t57 = cpu->r[8] + 0x00000004u;
|
|
/* 02C531AC */ cpu->r[9] = rbrew_read32(cpu->mem, _t57);
|
|
/* 02C531B0 */ cpu->r[9] = cpu->r[5] + cpu->r[9];
|
|
L_02C531B4: ; // 0x2c531b4
|
|
/* 02C531B4 */ _t58 = cpu->r[30] + 0x0000001Cu;
|
|
/* 02C531B4 */ rbrew_write32(cpu->mem, _t58, cpu->r[9]);
|
|
/* 02C531B8 */ _t59 = cpu->r[3] + 0x00000000u;
|
|
/* 02C531B8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t59);
|
|
/* 02C531BC */ _t60 = cpu->r[8] + 0x00000028u;
|
|
/* 02C531BC */ cpu->r[0] = rbrew_read32(cpu->mem, _t60);
|
|
/* 02C531C0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C531C4 */ _t61 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C531C4 */ _t62 = _t61 & 0x00000001u;
|
|
/* 02C531C4 */ if (_t62) goto L_02C531D0; else goto L_02C531C8;
|
|
L_02C531C8: ; // 0x2c531c8
|
|
/* 02C531C8 */ _t63 = cpu->r[8] + 0x0000002Cu;
|
|
/* 02C531C8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t63);
|
|
/* 02C531CC */ cpu->r[0] = cpu->r[5] + cpu->r[0];
|
|
L_02C531D0: ; // 0x2c531d0
|
|
/* 02C531D0 */ _t64 = cpu->r[30] + 0x00000020u;
|
|
/* 02C531D0 */ rbrew_write32(cpu->mem, _t64, cpu->r[0]);
|
|
/* 02C531D4 */ _t65 = cpu->r[4] + 0x00000010u;
|
|
/* 02C531D4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t65);
|
|
/* 02C531D8 */ cpu->r[0] = 0x00000000u;
|
|
/* 02C531DC */ _t66 = cpu->r[30] + 0x0000002Cu;
|
|
/* 02C531DC */ rbrew_write32(cpu->mem, _t66, cpu->r[5]);
|
|
/* 02C531E0 */ cpu->r[11] = cpu->r[12] + 0x00000003u;
|
|
/* 02C531E4 */ _t67 = cpu->r[30] + 0x00000018u;
|
|
/* 02C531E4 */ cpu->r[7] = rbrew_read32(cpu->mem, _t67);
|
|
/* 02C531E8 */ cpu->r[12] = rbrew_rlwinm(cpu->r[11], 0x00000000u, 0x00000000u, 0x0000001Du);
|
|
/* 02C531EC */ _t68 = cpu->r[30] + 0x00000028u;
|
|
/* 02C531EC */ rbrew_write32(cpu->mem, _t68, cpu->r[0]);
|
|
/* 02C531F0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 02C531F4 */ _t69 = cpu->r[30] + 0x00000030u;
|
|
/* 02C531F4 */ rbrew_write32(cpu->mem, _t69, cpu->r[0]);
|
|
/* 02C531F8 */ _t70 = cpu->r[30] + 0x00000024u;
|
|
/* 02C531F8 */ rbrew_write32(cpu->mem, _t70, cpu->r[12]);
|
|
/* 02C531FC */ _t71 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C531FC */ _t72 = _t71 & 0x00000001u;
|
|
/* 02C531FC */ if (_t72) goto L_02C53288; else goto L_02C53200;
|
|
L_02C53200: ; // 0x2c53200
|
|
/* 02C53200 */ _t73 = cpu->r[30] + 0x00000000u;
|
|
/* 02C53200 */ cpu->r[11] = rbrew_read32(cpu->mem, _t73);
|
|
/* 02C53204 */ _t74 = cpu->r[11] + 0x00000030u;
|
|
/* 02C53204 */ cpu->r[10] = rbrew_read32(cpu->mem, _t74);
|
|
/* 02C53208 */ cpu->r[9] = cpu->r[11] + 0x00000030u;
|
|
/* 02C5320C */ cpu->r[8] = 0x00000000u;
|
|
/* 02C53210 */ cpu->r[6] = cpu->r[7] + 0x00000010u;
|
|
/* 02C53214 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02C53218 */ _t75 = cpu->r[11] + 0x00000024u;
|
|
/* 02C53218 */ cpu->r[0] = rbrew_read32(cpu->mem, _t75);
|
|
/* 02C5321C */ _t76 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C5321C */ _t77 = _t76 & 0x00000001u;
|
|
/* 02C5321C */ if (_t77) goto L_02C53224; else goto L_02C53220;
|
|
L_02C53220: ; // 0x2c53220
|
|
/* 02C53220 */ cpu->r[8] = cpu->r[9] + cpu->r[10];
|
|
L_02C53224: ; // 0x2c53224
|
|
/* 02C53224 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C53228 */ cpu->r[11] = cpu->r[11] + 0x00000024u;
|
|
/* 02C5322C */ cpu->r[12] = 0x00000000u;
|
|
/* 02C53230 */ _t78 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C53230 */ _t79 = _t78 & 0x00000001u;
|
|
/* 02C53230 */ if (_t79) goto L_02C53238; else goto L_02C53234;
|
|
L_02C53234: ; // 0x2c53234
|
|
/* 02C53234 */ cpu->r[12] = cpu->r[11] + cpu->r[0];
|
|
L_02C53238: ; // 0x2c53238
|
|
/* 02C53238 */ _t80 = cpu->r[12] + 0x0000000Cu;
|
|
/* 02C53238 */ cpu->r[12] = rbrew_read16(cpu->mem, _t80);
|
|
/* 02C5323C */ cpu->r[11] = (uint32_t)((int32_t)cpu->r[12] * (int32_t)0x00000018u);
|
|
/* 02C53240 */ _t81 = cpu->r[8] + cpu->r[11];
|
|
/* 02C53240 */ cpu->r[10] = rbrew_read32(cpu->mem, _t81);
|
|
/* 02C53244 */ cpu->r[7] = cpu->r[8] + cpu->r[11];
|
|
/* 02C53248 */ _t82 = cpu->r[6] + 0x00000000u;
|
|
/* 02C53248 */ rbrew_write32(cpu->mem, _t82, cpu->r[10]);
|
|
/* 02C5324C */ _t83 = cpu->r[7] + 0x00000004u;
|
|
/* 02C5324C */ cpu->r[12] = rbrew_read32(cpu->mem, _t83);
|
|
/* 02C53250 */ _t84 = cpu->r[6] + 0x00000004u;
|
|
/* 02C53250 */ rbrew_write32(cpu->mem, _t84, cpu->r[12]);
|
|
/* 02C53254 */ _t85 = cpu->r[7] + 0x00000008u;
|
|
/* 02C53254 */ cpu->r[0] = rbrew_read32(cpu->mem, _t85);
|
|
/* 02C53258 */ _t86 = cpu->r[6] + 0x00000008u;
|
|
/* 02C53258 */ rbrew_write32(cpu->mem, _t86, cpu->r[0]);
|
|
/* 02C5325C */ _t87 = cpu->r[30] + 0x00000000u;
|
|
/* 02C5325C */ cpu->r[11] = rbrew_read32(cpu->mem, _t87);
|
|
/* 02C53260 */ _t88 = cpu->r[11] + 0x0000001Cu;
|
|
/* 02C53260 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t88);
|
|
/* 02C53264 */ _t89 = cpu->r[6] + 0x0000000Cu;
|
|
/* 02C53264 */ rbrew_write_f32(cpu->mem, _t89, cpu->f[0]);
|
|
/* 02C53268 */ _t90 = cpu->r[30] + 0x00000018u;
|
|
/* 02C53268 */ cpu->r[7] = rbrew_read32(cpu->mem, _t90);
|
|
/* 02C5326C */ _t91 = cpu->r[7] + 0x00000000u;
|
|
/* 02C5326C */ rbrew_write32(cpu->mem, _t91, cpu->r[10]);
|
|
/* 02C53270 */ _t92 = cpu->r[6] + 0x00000004u;
|
|
/* 02C53270 */ cpu->r[9] = rbrew_read32(cpu->mem, _t92);
|
|
/* 02C53274 */ _t93 = cpu->r[7] + 0x00000004u;
|
|
/* 02C53274 */ rbrew_write32(cpu->mem, _t93, cpu->r[9]);
|
|
/* 02C53278 */ _t94 = cpu->r[6] + 0x00000008u;
|
|
/* 02C53278 */ cpu->r[10] = rbrew_read32(cpu->mem, _t94);
|
|
/* 02C5327C */ _t95 = cpu->r[7] + 0x00000008u;
|
|
/* 02C5327C */ rbrew_write32(cpu->mem, _t95, cpu->r[10]);
|
|
/* 02C53280 */ _t96 = cpu->r[6] + 0x0000000Cu;
|
|
/* 02C53280 */ cpu->r[0] = rbrew_read32(cpu->mem, _t96);
|
|
/* 02C53284 */ _t97 = cpu->r[7] + 0x0000000Cu;
|
|
/* 02C53284 */ rbrew_write32(cpu->mem, _t97, cpu->r[0]);
|
|
L_02C53288: ; // 0x2c53288
|
|
/* 02C53288 */ _t98 = cpu->r[30] + 0x0000000Au;
|
|
/* 02C53288 */ cpu->r[0] = rbrew_read8(cpu->mem, _t98);
|
|
/* 02C5328C */ cpu->r[29] = 0x00000000u;
|
|
/* 02C53290 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[0]);
|
|
/* 02C53294 */ _t99 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C53294 */ _t100 = _t99 & 0x00000001u;
|
|
/* 02C53294 */ if (_t100) goto L_02C53298; else goto L_02C532C0;
|
|
L_02C53298: ; // 0x2c53298
|
|
/* 02C53298 */ cpu->r[31] = 0x00000000u;
|
|
L_02C5329C: ; // 0x2c5329c
|
|
/* 02C5329C */ _t101 = cpu->r[30] + 0x0000000Cu;
|
|
/* 02C5329C */ cpu->r[12] = rbrew_read32(cpu->mem, _t101);
|
|
/* 02C532A0 */ cpu->r[3] = cpu->r[12] + cpu->r[31];
|
|
/* 02C532A0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C532A4 */ _t102 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C532A4 */ _t103 = _t102 & 0x00000001u;
|
|
/* 02C532A4 */ if (_t103) goto L_02C532B0; else goto L_02C532A8;
|
|
L_02C532A8: ; // 0x2c532a8
|
|
/* 02C532A8 */ Gambit_fn_02C652AC(cpu);
|
|
/* 02C532AC */ _t104 = cpu->r[30] + 0x0000000Au;
|
|
/* 02C532AC */ cpu->r[0] = rbrew_read8(cpu->mem, _t104);
|
|
L_02C532B0: ; // 0x2c532b0
|
|
/* 02C532B0 */ cpu->r[29] = cpu->r[29] + 0x00000001u;
|
|
/* 02C532B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[0]);
|
|
/* 02C532B8 */ cpu->r[31] = cpu->r[31] + 0x00000014u;
|
|
/* 02C532BC */ _t105 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C532BC */ _t106 = _t105 & 0x00000001u;
|
|
/* 02C532BC */ if (_t106) goto L_02C5329C; else goto L_02C532C0;
|
|
L_02C532C0: ; // 0x2c532c0
|
|
/* 02C532C0 */ cpu->r[3] = cpu->r[30];
|
|
/* 02C532C4 */ Gambit_fn_02C53014(cpu);
|
|
/* 02C532C8 */ _t107 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C532C8 */ cpu->r[29] = rbrew_read32(cpu->mem, _t107);
|
|
/* 02C532CC */ _t108 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C532CC */ cpu->r[0] = rbrew_read32(cpu->mem, _t108);
|
|
/* 02C532D0 */ _t109 = cpu->r[1] + 0x00000010u;
|
|
/* 02C532D0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t109);
|
|
/* 02C532D4 */ cpu->lr = cpu->r[0];
|
|
/* 02C532D8 */ _t110 = cpu->r[1] + 0x00000014u;
|
|
/* 02C532D8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t110);
|
|
/* 02C532DC */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C532E0 */ cpu->r[3] = 0x00000001u;
|
|
/* 02C532E4 */ return;
|
|
}
|
|
|
|
// fn_02C532E8 @ 0x2c532e8
|
|
void Gambit_fn_02C532E8(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_02C532E8: ; // 0x2c532e8
|
|
/* 02C532E8 */ _t0 = cpu->r[3] + 0x0000000Bu;
|
|
/* 02C532E8 */ cpu->r[12] = rbrew_read8(cpu->mem, _t0);
|
|
/* 02C532EC */ _t1 = cpu->r[3] + 0x0000000Au;
|
|
/* 02C532EC */ cpu->r[0] = rbrew_read8(cpu->mem, _t1);
|
|
/* 02C532F0 */ cpu->r[0] = (uint32_t)((int32_t)cpu->r[12] * (int32_t)cpu->r[0]);
|
|
/* 02C532F4 */ cpu->r[3] = rbrew_rlwinm(cpu->r[0], 0x00000008u, 0x00000000u, 0x00000017u);
|
|
/* 02C532F8 */ return;
|
|
}
|
|
|
|
// fn_02C532FC @ 0x2c532fc
|
|
void Gambit_fn_02C532FC(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;
|
|
|
|
L_02C532FC: ; // 0x2c532fc
|
|
/* 02C532FC */ _t0 = cpu->r[1] + 0xFFFFFF90u;
|
|
/* 02C532FC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C532FC */ cpu->r[1] = _t0;
|
|
/* 02C53300 */ /* nop */
|
|
/* 02C53304 */ cpu->r[31] = cpu->r[4];
|
|
/* 02C53308 */ cpu->r[0] = cpu->lr;
|
|
/* 02C5330C */ _t1 = cpu->r[1] + 0x00000074u;
|
|
/* 02C5330C */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02C53310 */ cpu->r[29] = cpu->r[3];
|
|
/* 02C53314 */ Gambit_fn_02C532E8(cpu);
|
|
/* 02C53318 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], cpu->r[5]);
|
|
/* 02C5331C */ _t2 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C5331C */ _t3 = _t2 & 0x00000001u;
|
|
/* 02C5331C */ if (_t3) goto L_02C53320; else goto L_02C53338;
|
|
L_02C53320: ; // 0x2c53320
|
|
/* 02C53320 */ /* nop */
|
|
/* 02C53324 */ _t4 = cpu->r[1] + 0x00000074u;
|
|
/* 02C53324 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02C53328 */ cpu->lr = cpu->r[0];
|
|
/* 02C5332C */ cpu->r[1] = cpu->r[1] + 0x00000070u;
|
|
/* 02C53330 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C53334 */ return;
|
|
L_02C53338: ; // 0x2c53338
|
|
/* 02C53338 */ _t5 = cpu->r[29] + 0x00000000u;
|
|
/* 02C53338 */ cpu->r[12] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02C5333C */ cpu->r[8] = 0x101B0000u;
|
|
/* 02C53340 */ _t6 = cpu->r[29] + 0x00000030u;
|
|
/* 02C53340 */ rbrew_write32(cpu->mem, _t6, cpu->r[31]);
|
|
/* 02C53344 */ cpu->r[5] = 0x101B0000u;
|
|
/* 02C53348 */ _t7 = cpu->r[8] + 0xFFFFEE08u;
|
|
/* 02C53348 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t7);
|
|
/* 02C5334C */ _t8 = cpu->r[5] + 0xFFFFEDC8u;
|
|
/* 02C5334C */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t8);
|
|
/* 02C53350 */ _t9 = cpu->r[1] + 0x00000020u;
|
|
/* 02C53350 */ rbrew_write_f32(cpu->mem, _t9, cpu->f[0]);
|
|
/* 02C53354 */ _t10 = cpu->r[1] + 0x00000024u;
|
|
/* 02C53354 */ rbrew_write_f32(cpu->mem, _t10, cpu->f[13]);
|
|
/* 02C53358 */ _t11 = cpu->r[1] + 0x00000028u;
|
|
/* 02C53358 */ rbrew_write_f32(cpu->mem, _t11, cpu->f[13]);
|
|
/* 02C5335C */ _t12 = cpu->r[1] + 0x00000018u;
|
|
/* 02C5335C */ rbrew_write_f32(cpu->mem, _t12, cpu->f[13]);
|
|
/* 02C53360 */ _t13 = cpu->r[1] + 0x00000030u;
|
|
/* 02C53360 */ rbrew_write_f32(cpu->mem, _t13, cpu->f[13]);
|
|
/* 02C53364 */ _t14 = cpu->r[1] + 0x00000014u;
|
|
/* 02C53364 */ rbrew_write_f32(cpu->mem, _t14, cpu->f[13]);
|
|
/* 02C53368 */ _t15 = cpu->r[1] + 0x00000038u;
|
|
/* 02C53368 */ rbrew_write_f32(cpu->mem, _t15, cpu->f[13]);
|
|
/* 02C5336C */ _t16 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C5336C */ rbrew_write_f32(cpu->mem, _t16, cpu->f[0]);
|
|
/* 02C53370 */ _t17 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02C53370 */ rbrew_write_f32(cpu->mem, _t17, cpu->f[13]);
|
|
/* 02C53374 */ _t18 = cpu->r[29] + 0x00000024u;
|
|
/* 02C53374 */ cpu->r[8] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02C53378 */ _t19 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C53378 */ rbrew_write_f32(cpu->mem, _t19, cpu->f[13]);
|
|
/* 02C5337C */ _t20 = cpu->r[1] + 0x00000010u;
|
|
/* 02C5337C */ rbrew_write_f32(cpu->mem, _t20, cpu->f[13]);
|
|
/* 02C53380 */ _t21 = cpu->r[1] + 0x00000034u;
|
|
/* 02C53380 */ rbrew_write_f32(cpu->mem, _t21, cpu->f[0]);
|
|
/* 02C53384 */ _t22 = cpu->r[12] + 0x00000016u;
|
|
/* 02C53384 */ cpu->r[4] = rbrew_read8(cpu->mem, _t22);
|
|
/* 02C53388 */ cpu->r[6] = cpu->r[8] + 0x0000001Fu;
|
|
/* 02C5338C */ _t23 = cpu->r[29] + 0x0000000Au;
|
|
/* 02C5338C */ cpu->r[26] = rbrew_read8(cpu->mem, _t23);
|
|
/* 02C53390 */ cpu->r[10] = rbrew_rlwinm(cpu->r[6], 0x00000000u, 0x00000000u, 0x0000001Au);
|
|
/* 02C53394 */ cpu->r[23] = 0x00000000u;
|
|
/* 02C53398 */ _t24 = cpu->r[1] + 0x00000008u;
|
|
/* 02C53398 */ rbrew_write32(cpu->mem, _t24, cpu->r[4]);
|
|
/* 02C5339C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u);
|
|
/* 02C533A0 */ cpu->r[24] = cpu->r[10] + 0x00000040u;
|
|
/* 02C533A4 */ _t25 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C533A4 */ _t26 = _t25 & 0x00000001u;
|
|
/* 02C533A4 */ if (_t26) goto L_02C534FC; else goto L_02C533A8;
|
|
L_02C533A8: ; // 0x2c533a8
|
|
/* 02C533A8 */ cpu->r[11] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C533AC */ cpu->r[12] = cpu->r[1] + 0x00000008u;
|
|
/* 02C533B0 */ cpu->r[0] = cpu->r[12] ^ cpu->r[11];
|
|
/* 02C533B4 */ cpu->r[10] = cpu->r[0] + 0xFFFFFFFFu;
|
|
/* 02C533B8 */ _t27 = cpu->r[29] + 0x0000000Bu;
|
|
/* 02C533B8 */ cpu->r[6] = rbrew_read8(cpu->mem, _t27);
|
|
/* 02C533BC */ cpu->r[30] = cpu->r[0] - cpu->r[10];
|
|
/* 02C533C0 */ cpu->r[28] = 0x00000000u;
|
|
L_02C533C4: ; // 0x2c533c4
|
|
/* 02C533C4 */ cpu->r[4] = (uint32_t)((int32_t)cpu->r[23] * (int32_t)cpu->r[6]);
|
|
/* 02C533C8 */ _t28 = cpu->r[29] + 0x0000000Cu;
|
|
/* 02C533C8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02C533CC */ cpu->r[5] = 0x00000100u;
|
|
/* 02C533D0 */ cpu->r[20] = cpu->r[11] + cpu->r[28];
|
|
/* 02C533D4 */ cpu->r[7] = rbrew_rlwinm(cpu->r[4], 0x00000008u, 0x00000000u, 0x00000017u);
|
|
/* 02C533D8 */ cpu->r[3] = cpu->r[20];
|
|
/* 02C533DC */ cpu->r[4] = cpu->r[31] + cpu->r[7];
|
|
/* 02C533E0 */ Gambit_fn_02C6542C(cpu);
|
|
/* 02C533E4 */ cpu->r[3] = cpu->r[20];
|
|
/* 02C533E8 */ Gambit_fn_02C65AB0(cpu);
|
|
/* 02C533EC */ _t29 = cpu->r[29] + 0x0000000Bu;
|
|
/* 02C533EC */ cpu->r[6] = rbrew_read8(cpu->mem, _t29);
|
|
/* 02C533F0 */ cpu->r[21] = 0x00000000u;
|
|
/* 02C533F4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[21], cpu->r[6]);
|
|
/* 02C533F8 */ _t30 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C533F8 */ _t31 = _t30 & 0x00000001u;
|
|
/* 02C533F8 */ if (_t31) goto L_02C533FC; else goto L_02C534EC;
|
|
L_02C533FC: ; // 0x2c533fc
|
|
/* 02C533FC */ cpu->r[27] = cpu->r[1] + 0x0000003Cu;
|
|
/* 02C53400 */ cpu->r[25] = cpu->r[1] + 0x00000008u;
|
|
/* 02C53404 */ cpu->r[22] = cpu->r[1] + 0x0000000Cu;
|
|
L_02C53408: ; // 0x2c53408
|
|
/* 02C53408 */ cpu->r[3] = cpu->r[20];
|
|
/* 02C5340C */ cpu->r[4] = cpu->r[21];
|
|
/* 02C53410 */ Gambit_fn_02C6544C(cpu);
|
|
/* 02C53414 */ cpu->r[4] = cpu->r[24];
|
|
/* 02C53418 */ cpu->r[19] = cpu->r[3];
|
|
/* 02C5341C */ Gambit_fn_02C650E0(cpu);
|
|
/* 02C53420 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C53424 */ _t32 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C53424 */ _t33 = _t32 & 0x00000001u;
|
|
/* 02C53424 */ if (_t33) goto L_02C53434; else goto L_02C53428;
|
|
L_02C53428: ; // 0x2c53428
|
|
/* 02C53428 */ cpu->r[3] = cpu->r[19];
|
|
/* 02C5342C */ cpu->r[4] = cpu->r[24];
|
|
/* 02C53430 */ Gambit_fn_02C65108(cpu);
|
|
L_02C53434: ; // 0x2c53434
|
|
/* 02C53434 */ _t34 = cpu->r[29] + 0x00000004u;
|
|
/* 02C53434 */ cpu->r[7] = rbrew_read32(cpu->mem, _t34);
|
|
/* 02C53438 */ cpu->r[6] = rbrew_rlwinm(cpu->r[7], 0x00000000u, 0x0000001Eu, 0x0000001Eu);
|
|
/* 02C53438 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u);
|
|
/* 02C5343C */ _t35 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C5343C */ _t36 = _t35 & 0x00000001u;
|
|
/* 02C5343C */ if (_t36) goto L_02C534B0; else goto L_02C53440;
|
|
L_02C53440: ; // 0x2c53440
|
|
/* 02C53440 */ cpu->r[10] = cpu->r[22];
|
|
/* 02C53444 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[27]);
|
|
/* 02C53448 */ cpu->r[9] = cpu->r[19];
|
|
/* 02C5344C */ _t37 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C5344C */ _t38 = _t37 & 0x00000001u;
|
|
/* 02C5344C */ if (_t38) goto L_02C534A0; else goto L_02C53450;
|
|
L_02C53450: ; // 0x2c53450
|
|
/* 02C53450 */ cpu->r[8] = cpu->r[22] + 0x00000030u;
|
|
L_02C53454: ; // 0x2c53454
|
|
/* 02C53454 */ _t39 = cpu->r[10] + 0x00000000u;
|
|
/* 02C53454 */ cpu->r[11] = rbrew_read32(cpu->mem, _t39);
|
|
/* 02C53458 */ cpu->r[10] = cpu->r[10] + 0x00000004u;
|
|
/* 02C5345C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[8]);
|
|
/* 02C53460 */ /* nop */
|
|
/* 02C53464 */ cpu->r[9] = cpu->r[9] + 0x00000004u;
|
|
/* 02C53468 */ _t40 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C53468 */ _t41 = _t40 & 0x00000001u;
|
|
/* 02C53468 */ if (_t41) goto L_02C5346C; else goto L_02C53454;
|
|
L_02C5346C: ; // 0x2c5346c
|
|
/* 02C5346C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02C53470 */ cpu->r[9] = cpu->r[19] + 0x00000030u;
|
|
/* 02C53474 */ _t42 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C53474 */ _t43 = _t42 & 0x00000001u;
|
|
/* 02C53474 */ if (_t43) goto L_02C534D0; else goto L_02C53478;
|
|
L_02C53478: ; // 0x2c53478
|
|
/* 02C53478 */ _t44 = cpu->r[25] + 0x00000000u;
|
|
/* 02C53478 */ cpu->r[0] = rbrew_read32(cpu->mem, _t44);
|
|
/* 02C5347C */ cpu->r[3] = cpu->r[20];
|
|
/* 02C53480 */ cpu->r[4] = cpu->r[21];
|
|
/* 02C53484 */ /* nop */
|
|
/* 02C53488 */ Gambit_fn_02C6530C(cpu);
|
|
/* 02C5348C */ _t45 = cpu->r[29] + 0x0000000Bu;
|
|
/* 02C5348C */ cpu->r[6] = rbrew_read8(cpu->mem, _t45);
|
|
/* 02C53490 */ cpu->r[21] = cpu->r[21] + 0x00000001u;
|
|
/* 02C53494 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[21], cpu->r[6]);
|
|
/* 02C53498 */ _t46 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C53498 */ _t47 = _t46 & 0x00000001u;
|
|
/* 02C53498 */ if (_t47) goto L_02C53408; else goto L_02C5349C;
|
|
L_02C5349C: ; // 0x2c5349c
|
|
/* 02C5349C */ goto L_02C534EC;
|
|
L_02C534A0: ; // 0x2c534a0
|
|
/* 02C534A0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02C534A4 */ cpu->r[9] = cpu->r[19] + 0x00000030u;
|
|
/* 02C534A8 */ _t48 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C534A8 */ _t49 = _t48 & 0x00000001u;
|
|
/* 02C534A8 */ if (_t49) goto L_02C534AC; else goto L_02C53478;
|
|
L_02C534AC: ; // 0x2c534ac
|
|
/* 02C534AC */ goto L_02C534D0;
|
|
L_02C534B0: ; // 0x2c534b0
|
|
/* 02C534B0 */ cpu->r[5] = 0x00000030u;
|
|
/* 02C534B4 */ cpu->r[4] = cpu->r[22];
|
|
/* 02C534B8 */ cpu->r[3] = cpu->r[19];
|
|
/* 02C534BC */ rbrew_dispatch(cpu, 0x02d0b870u);
|
|
/* 02C534C0 */ cpu->r[5] = 0x00000004u;
|
|
/* 02C534C4 */ cpu->r[4] = cpu->r[25];
|
|
/* 02C534C8 */ cpu->r[3] = cpu->r[19] + 0x00000030u;
|
|
/* 02C534CC */ rbrew_dispatch(cpu, 0x02d0b870u);
|
|
L_02C534D0: ; // 0x2c534d0
|
|
/* 02C534D0 */ cpu->r[4] = cpu->r[21];
|
|
/* 02C534D4 */ cpu->r[3] = cpu->r[20];
|
|
/* 02C534D8 */ Gambit_fn_02C6530C(cpu);
|
|
/* 02C534DC */ _t50 = cpu->r[29] + 0x0000000Bu;
|
|
/* 02C534DC */ cpu->r[6] = rbrew_read8(cpu->mem, _t50);
|
|
/* 02C534E0 */ cpu->r[21] = cpu->r[21] + 0x00000001u;
|
|
/* 02C534E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[21], cpu->r[6]);
|
|
/* 02C534E8 */ _t51 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C534E8 */ _t52 = _t51 & 0x00000001u;
|
|
/* 02C534E8 */ if (_t52) goto L_02C53408; else goto L_02C534EC;
|
|
L_02C534EC: ; // 0x2c534ec
|
|
/* 02C534EC */ cpu->r[26] = cpu->r[26] + 0xFFFFFFFFu;
|
|
/* 02C534EC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u);
|
|
/* 02C534F0 */ cpu->r[23] = cpu->r[23] + 0x00000001u;
|
|
/* 02C534F4 */ cpu->r[28] = cpu->r[28] + 0x00000014u;
|
|
/* 02C534F8 */ _t53 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C534F8 */ _t54 = _t53 & 0x00000001u;
|
|
/* 02C534F8 */ if (_t54) goto L_02C534FC; else goto L_02C533C4;
|
|
L_02C534FC: ; // 0x2c534fc
|
|
/* 02C534FC */ _t55 = cpu->r[29] + 0x00000004u;
|
|
/* 02C534FC */ cpu->r[9] = rbrew_read32(cpu->mem, _t55);
|
|
/* 02C53500 */ cpu->r[9] = cpu->r[9] | 0x00000001u;
|
|
/* 02C53504 */ _t56 = cpu->r[29] + 0x00000004u;
|
|
/* 02C53504 */ rbrew_write32(cpu->mem, _t56, cpu->r[9]);
|
|
/* 02C53508 */ /* nop */
|
|
/* 02C5350C */ _t57 = cpu->r[1] + 0x00000074u;
|
|
/* 02C5350C */ cpu->r[0] = rbrew_read32(cpu->mem, _t57);
|
|
/* 02C53510 */ cpu->lr = cpu->r[0];
|
|
/* 02C53514 */ cpu->r[1] = cpu->r[1] + 0x00000070u;
|
|
/* 02C53518 */ cpu->r[3] = 0x00000001u;
|
|
/* 02C5351C */ return;
|
|
}
|
|
|
|
// fn_02C53520 @ 0x2c53520
|
|
void Gambit_fn_02C53520(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16;
|
|
|
|
L_02C53520: ; // 0x2c53520
|
|
/* 02C53520 */ cpu->r[0] = cpu->lr;
|
|
/* 02C53524 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02C53524 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C53524 */ cpu->r[1] = _t0;
|
|
/* 02C53528 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C53528 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
|
|
/* 02C5352C */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02C5352C */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02C53530 */ _t3 = cpu->r[1] + 0x00000010u;
|
|
/* 02C53530 */ rbrew_write32(cpu->mem, _t3, cpu->r[30]);
|
|
/* 02C53534 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C53538 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C53538 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02C5353C */ _t5 = cpu->r[31] + 0x0000000Au;
|
|
/* 02C5353C */ cpu->r[29] = rbrew_read8(cpu->mem, _t5);
|
|
/* 02C53540 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 02C53544 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C53544 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02C53544 */ if (_t7) goto L_02C53564; else goto L_02C53548;
|
|
L_02C53548: ; // 0x2c53548
|
|
/* 02C53548 */ cpu->r[30] = 0x00000000u;
|
|
L_02C5354C: ; // 0x2c5354c
|
|
/* 02C5354C */ _t8 = cpu->r[31] + 0x0000000Cu;
|
|
/* 02C5354C */ cpu->r[12] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C53550 */ cpu->r[3] = cpu->r[12] + cpu->r[30];
|
|
/* 02C53554 */ Gambit_fn_02C65AB4(cpu);
|
|
/* 02C53558 */ cpu->r[29] = cpu->r[29] + 0xFFFFFFFFu;
|
|
/* 02C53558 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 02C5355C */ cpu->r[30] = cpu->r[30] + 0x00000014u;
|
|
/* 02C53560 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C53560 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02C53560 */ if (_t10) goto L_02C53564; else goto L_02C5354C;
|
|
L_02C53564: ; // 0x2c53564
|
|
/* 02C53564 */ _t11 = cpu->r[31] + 0x00000004u;
|
|
/* 02C53564 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02C53568 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000000u, 0x0000001Eu);
|
|
/* 02C5356C */ _t12 = cpu->r[31] + 0x00000004u;
|
|
/* 02C5356C */ rbrew_write32(cpu->mem, _t12, cpu->r[0]);
|
|
/* 02C53570 */ _t13 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C53570 */ cpu->r[29] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02C53574 */ _t14 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C53574 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02C53578 */ _t15 = cpu->r[1] + 0x00000010u;
|
|
/* 02C53578 */ cpu->r[30] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02C5357C */ cpu->lr = cpu->r[0];
|
|
/* 02C53580 */ _t16 = cpu->r[1] + 0x00000014u;
|
|
/* 02C53580 */ cpu->r[31] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02C53584 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C53588 */ return;
|
|
}
|
|
|
|
// fn_02C53524 @ 0x2c53524
|
|
void Gambit_fn_02C53524(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16;
|
|
|
|
L_02C53524: ; // 0x2c53524
|
|
/* 02C53524 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02C53524 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C53524 */ cpu->r[1] = _t0;
|
|
/* 02C53528 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C53528 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
|
|
/* 02C5352C */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02C5352C */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02C53530 */ _t3 = cpu->r[1] + 0x00000010u;
|
|
/* 02C53530 */ rbrew_write32(cpu->mem, _t3, cpu->r[30]);
|
|
/* 02C53534 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C53538 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C53538 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02C5353C */ _t5 = cpu->r[31] + 0x0000000Au;
|
|
/* 02C5353C */ cpu->r[29] = rbrew_read8(cpu->mem, _t5);
|
|
/* 02C53540 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 02C53544 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C53544 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02C53544 */ if (_t7) goto L_02C53564; else goto L_02C53548;
|
|
L_02C53548: ; // 0x2c53548
|
|
/* 02C53548 */ cpu->r[30] = 0x00000000u;
|
|
L_02C5354C: ; // 0x2c5354c
|
|
/* 02C5354C */ _t8 = cpu->r[31] + 0x0000000Cu;
|
|
/* 02C5354C */ cpu->r[12] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C53550 */ cpu->r[3] = cpu->r[12] + cpu->r[30];
|
|
/* 02C53554 */ Gambit_fn_02C65AB4(cpu);
|
|
/* 02C53558 */ cpu->r[29] = cpu->r[29] + 0xFFFFFFFFu;
|
|
/* 02C53558 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 02C5355C */ cpu->r[30] = cpu->r[30] + 0x00000014u;
|
|
/* 02C53560 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C53560 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02C53560 */ if (_t10) goto L_02C53564; else goto L_02C5354C;
|
|
L_02C53564: ; // 0x2c53564
|
|
/* 02C53564 */ _t11 = cpu->r[31] + 0x00000004u;
|
|
/* 02C53564 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02C53568 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000000u, 0x0000001Eu);
|
|
/* 02C5356C */ _t12 = cpu->r[31] + 0x00000004u;
|
|
/* 02C5356C */ rbrew_write32(cpu->mem, _t12, cpu->r[0]);
|
|
/* 02C53570 */ _t13 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C53570 */ cpu->r[29] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02C53574 */ _t14 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C53574 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02C53578 */ _t15 = cpu->r[1] + 0x00000010u;
|
|
/* 02C53578 */ cpu->r[30] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02C5357C */ cpu->lr = cpu->r[0];
|
|
/* 02C53580 */ _t16 = cpu->r[1] + 0x00000014u;
|
|
/* 02C53580 */ cpu->r[31] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02C53584 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C53588 */ return;
|
|
}
|
|
|
|
// fn_02C5358C @ 0x2c5358c
|
|
void Gambit_fn_02C5358C(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;
|
|
|
|
L_02C5358C: ; // 0x2c5358c
|
|
/* 02C5358C */ cpu->r[0] = cpu->lr;
|
|
/* 02C53590 */ _t0 = cpu->r[1] + 0xFFFFFFD8u;
|
|
/* 02C53590 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C53590 */ cpu->r[1] = _t0;
|
|
/* 02C53594 */ _t1 = cpu->r[1] + 0x00000020u;
|
|
/* 02C53594 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02C53598 */ _t2 = cpu->r[1] + 0x00000018u;
|
|
/* 02C53598 */ rbrew_write32(cpu->mem, _t2, cpu->r[28]);
|
|
/* 02C5359C */ _t3 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C5359C */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 02C535A0 */ _t4 = cpu->r[1] + 0x00000024u;
|
|
/* 02C535A0 */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
|
|
/* 02C535A4 */ _t5 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02C535A4 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02C535A8 */ cpu->r[29] = cpu->r[3];
|
|
/* 02C535AC */ _t6 = cpu->r[29] + 0x00000018u;
|
|
/* 02C535AC */ cpu->r[12] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02C535B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02C535B4 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C535B4 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02C535B4 */ if (_t8) goto L_02C53688; else goto L_02C535B8;
|
|
L_02C535B8: ; // 0x2c535b8
|
|
/* 02C535B8 */ _t9 = cpu->r[4] + 0x00000004u;
|
|
/* 02C535B8 */ cpu->r[0] = rbrew_read16(cpu->mem, _t9);
|
|
/* 02C535BC */ cpu->r[0] = cpu->r[0] | 0x00000010u;
|
|
/* 02C535C0 */ _t10 = cpu->r[4] + 0x00000004u;
|
|
/* 02C535C0 */ rbrew_write16(cpu->mem, _t10, (uint16_t)cpu->r[0]);
|
|
/* 02C535C4 */ _t11 = cpu->r[29] + 0x00000000u;
|
|
/* 02C535C4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02C535C8 */ _t12 = cpu->r[12] + 0x00000016u;
|
|
/* 02C535C8 */ cpu->r[8] = rbrew_read8(cpu->mem, _t12);
|
|
/* 02C535CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 02C535D0 */ _t13 = cpu->r[4] + 0x00000010u;
|
|
/* 02C535D0 */ cpu->r[28] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02C535D4 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C535D4 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02C535D4 */ if (_t15) goto L_02C535D8; else goto L_02C53610;
|
|
L_02C535D8: ; // 0x2c535d8
|
|
/* 02C535D8 */ _t16 = cpu->r[12] + 0x00000010u;
|
|
/* 02C535D8 */ cpu->r[12] = rbrew_read16(cpu->mem, _t16);
|
|
/* 02C535DC */ _t17 = cpu->r[29] + 0x00000018u;
|
|
/* 02C535DC */ cpu->r[3] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02C535E0 */ cpu->r[11] = (uint32_t)((int32_t)cpu->r[12] * (int32_t)0x00000030u);
|
|
/* 02C535E4 */ cpu->r[4] = cpu->r[3] + 0x00000010u;
|
|
/* 02C535E8 */ cpu->r[5] = cpu->r[28] + cpu->r[11];
|
|
/* 02C535EC */ Gambit_fn_02C522CC(cpu);
|
|
/* 02C535F0 */ _t18 = cpu->r[1] + 0x00000018u;
|
|
/* 02C535F0 */ cpu->r[28] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02C535F4 */ _t19 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C535F4 */ cpu->r[29] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02C535F8 */ _t20 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02C535F8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02C535FC */ _t21 = cpu->r[1] + 0x00000020u;
|
|
/* 02C535FC */ cpu->r[30] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02C53600 */ cpu->lr = cpu->r[0];
|
|
/* 02C53604 */ _t22 = cpu->r[1] + 0x00000024u;
|
|
/* 02C53604 */ cpu->r[31] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02C53608 */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 02C5360C */ return;
|
|
L_02C53610: ; // 0x2c53610
|
|
/* 02C53610 */ _t23 = cpu->r[12] + 0x00000028u;
|
|
/* 02C53610 */ cpu->r[0] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02C53614 */ cpu->r[31] = 0x00000000u;
|
|
/* 02C53618 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C5361C */ cpu->r[11] = cpu->r[12] + 0x00000028u;
|
|
/* 02C53620 */ _t24 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C53620 */ _t25 = _t24 & 0x00000001u;
|
|
/* 02C53620 */ if (_t25) goto L_02C53628; else goto L_02C53624;
|
|
L_02C53624: ; // 0x2c53624
|
|
/* 02C53624 */ cpu->r[31] = cpu->r[11] + cpu->r[0];
|
|
L_02C53628: ; // 0x2c53628
|
|
/* 02C53628 */ _t26 = cpu->r[31] + 0x00000000u;
|
|
/* 02C53628 */ cpu->r[8] = rbrew_read16(cpu->mem, _t26);
|
|
/* 02C5362C */ _t27 = cpu->r[29] + 0x00000018u;
|
|
/* 02C5362C */ cpu->r[3] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02C53630 */ cpu->r[0] = (uint32_t)((int32_t)cpu->r[8] * (int32_t)0x00000030u);
|
|
/* 02C53634 */ cpu->r[4] = cpu->r[3] + 0x00000010u;
|
|
/* 02C53638 */ cpu->r[5] = cpu->r[28] + cpu->r[0];
|
|
/* 02C5363C */ Gambit_fn_02C522CC(cpu);
|
|
/* 02C53640 */ _t28 = cpu->r[29] + 0x00000000u;
|
|
/* 02C53640 */ cpu->r[9] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02C53644 */ _t29 = cpu->r[9] + 0x00000014u;
|
|
/* 02C53644 */ cpu->r[10] = rbrew_read16(cpu->mem, _t29);
|
|
/* 02C53648 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000001u);
|
|
/* 02C5364C */ cpu->r[30] = cpu->r[10] + 0xFFFFFFFFu;
|
|
/* 02C53650 */ _t30 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C53650 */ _t31 = _t30 & 0x00000001u;
|
|
/* 02C53650 */ if (_t31) goto L_02C53654; else goto L_02C53688;
|
|
L_02C53654: ; // 0x2c53654
|
|
/* 02C53654 */ _t32 = cpu->r[31] + 0x00000002u;
|
|
/* 02C53654 */ cpu->r[0] = rbrew_read16(cpu->mem, _t32);
|
|
/* 02C53654 */ cpu->r[31] = _t32;
|
|
/* 02C53658 */ _t33 = cpu->r[29] + 0x00000018u;
|
|
/* 02C53658 */ cpu->r[9] = rbrew_read32(cpu->mem, _t33);
|
|
/* 02C5365C */ cpu->r[10] = (uint32_t)((int32_t)cpu->r[0] * (int32_t)0x00000030u);
|
|
/* 02C53660 */ cpu->r[4] = cpu->r[9] + 0x00000010u;
|
|
/* 02C53664 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02C53668 */ cpu->r[5] = cpu->r[28] + cpu->r[10];
|
|
/* 02C5366C */ Gambit_fn_02C522CC(cpu);
|
|
/* 02C53670 */ _t34 = cpu->r[29] + 0x00000018u;
|
|
/* 02C53670 */ cpu->r[3] = rbrew_read32(cpu->mem, _t34);
|
|
/* 02C53674 */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 02C53678 */ cpu->r[4] = cpu->r[3];
|
|
/* 02C5367C */ Gambit_fn_02C523CC(cpu);
|
|
/* 02C53680 */ cpu->r[30] = cpu->r[30] + 0xFFFFFFFFu;
|
|
/* 02C53680 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02C53684 */ _t35 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C53684 */ _t36 = _t35 & 0x00000001u;
|
|
/* 02C53684 */ if (_t36) goto L_02C53688; else goto L_02C53654;
|
|
L_02C53688: ; // 0x2c53688
|
|
/* 02C53688 */ _t37 = cpu->r[1] + 0x00000018u;
|
|
/* 02C53688 */ cpu->r[28] = rbrew_read32(cpu->mem, _t37);
|
|
/* 02C5368C */ _t38 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C5368C */ cpu->r[29] = rbrew_read32(cpu->mem, _t38);
|
|
/* 02C53690 */ _t39 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02C53690 */ cpu->r[0] = rbrew_read32(cpu->mem, _t39);
|
|
/* 02C53694 */ _t40 = cpu->r[1] + 0x00000020u;
|
|
/* 02C53694 */ cpu->r[30] = rbrew_read32(cpu->mem, _t40);
|
|
/* 02C53698 */ cpu->lr = cpu->r[0];
|
|
/* 02C5369C */ _t41 = cpu->r[1] + 0x00000024u;
|
|
/* 02C5369C */ cpu->r[31] = rbrew_read32(cpu->mem, _t41);
|
|
/* 02C536A0 */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 02C536A4 */ return;
|
|
}
|
|
|
|
// fn_02C53590 @ 0x2c53590
|
|
void Gambit_fn_02C53590(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;
|
|
|
|
L_02C53590: ; // 0x2c53590
|
|
/* 02C53590 */ _t0 = cpu->r[1] + 0xFFFFFFD8u;
|
|
/* 02C53590 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C53590 */ cpu->r[1] = _t0;
|
|
/* 02C53594 */ _t1 = cpu->r[1] + 0x00000020u;
|
|
/* 02C53594 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02C53598 */ _t2 = cpu->r[1] + 0x00000018u;
|
|
/* 02C53598 */ rbrew_write32(cpu->mem, _t2, cpu->r[28]);
|
|
/* 02C5359C */ _t3 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C5359C */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 02C535A0 */ _t4 = cpu->r[1] + 0x00000024u;
|
|
/* 02C535A0 */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
|
|
/* 02C535A4 */ _t5 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02C535A4 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02C535A8 */ cpu->r[29] = cpu->r[3];
|
|
/* 02C535AC */ _t6 = cpu->r[29] + 0x00000018u;
|
|
/* 02C535AC */ cpu->r[12] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02C535B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02C535B4 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C535B4 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02C535B4 */ if (_t8) goto L_02C53688; else goto L_02C535B8;
|
|
L_02C535B8: ; // 0x2c535b8
|
|
/* 02C535B8 */ _t9 = cpu->r[4] + 0x00000004u;
|
|
/* 02C535B8 */ cpu->r[0] = rbrew_read16(cpu->mem, _t9);
|
|
/* 02C535BC */ cpu->r[0] = cpu->r[0] | 0x00000010u;
|
|
/* 02C535C0 */ _t10 = cpu->r[4] + 0x00000004u;
|
|
/* 02C535C0 */ rbrew_write16(cpu->mem, _t10, (uint16_t)cpu->r[0]);
|
|
/* 02C535C4 */ _t11 = cpu->r[29] + 0x00000000u;
|
|
/* 02C535C4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02C535C8 */ _t12 = cpu->r[12] + 0x00000016u;
|
|
/* 02C535C8 */ cpu->r[8] = rbrew_read8(cpu->mem, _t12);
|
|
/* 02C535CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 02C535D0 */ _t13 = cpu->r[4] + 0x00000010u;
|
|
/* 02C535D0 */ cpu->r[28] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02C535D4 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C535D4 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02C535D4 */ if (_t15) goto L_02C535D8; else goto L_02C53610;
|
|
L_02C535D8: ; // 0x2c535d8
|
|
/* 02C535D8 */ _t16 = cpu->r[12] + 0x00000010u;
|
|
/* 02C535D8 */ cpu->r[12] = rbrew_read16(cpu->mem, _t16);
|
|
/* 02C535DC */ _t17 = cpu->r[29] + 0x00000018u;
|
|
/* 02C535DC */ cpu->r[3] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02C535E0 */ cpu->r[11] = (uint32_t)((int32_t)cpu->r[12] * (int32_t)0x00000030u);
|
|
/* 02C535E4 */ cpu->r[4] = cpu->r[3] + 0x00000010u;
|
|
/* 02C535E8 */ cpu->r[5] = cpu->r[28] + cpu->r[11];
|
|
/* 02C535EC */ Gambit_fn_02C522CC(cpu);
|
|
/* 02C535F0 */ _t18 = cpu->r[1] + 0x00000018u;
|
|
/* 02C535F0 */ cpu->r[28] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02C535F4 */ _t19 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C535F4 */ cpu->r[29] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02C535F8 */ _t20 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02C535F8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02C535FC */ _t21 = cpu->r[1] + 0x00000020u;
|
|
/* 02C535FC */ cpu->r[30] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02C53600 */ cpu->lr = cpu->r[0];
|
|
/* 02C53604 */ _t22 = cpu->r[1] + 0x00000024u;
|
|
/* 02C53604 */ cpu->r[31] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02C53608 */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 02C5360C */ return;
|
|
L_02C53610: ; // 0x2c53610
|
|
/* 02C53610 */ _t23 = cpu->r[12] + 0x00000028u;
|
|
/* 02C53610 */ cpu->r[0] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02C53614 */ cpu->r[31] = 0x00000000u;
|
|
/* 02C53618 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C5361C */ cpu->r[11] = cpu->r[12] + 0x00000028u;
|
|
/* 02C53620 */ _t24 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C53620 */ _t25 = _t24 & 0x00000001u;
|
|
/* 02C53620 */ if (_t25) goto L_02C53628; else goto L_02C53624;
|
|
L_02C53624: ; // 0x2c53624
|
|
/* 02C53624 */ cpu->r[31] = cpu->r[11] + cpu->r[0];
|
|
L_02C53628: ; // 0x2c53628
|
|
/* 02C53628 */ _t26 = cpu->r[31] + 0x00000000u;
|
|
/* 02C53628 */ cpu->r[8] = rbrew_read16(cpu->mem, _t26);
|
|
/* 02C5362C */ _t27 = cpu->r[29] + 0x00000018u;
|
|
/* 02C5362C */ cpu->r[3] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02C53630 */ cpu->r[0] = (uint32_t)((int32_t)cpu->r[8] * (int32_t)0x00000030u);
|
|
/* 02C53634 */ cpu->r[4] = cpu->r[3] + 0x00000010u;
|
|
/* 02C53638 */ cpu->r[5] = cpu->r[28] + cpu->r[0];
|
|
/* 02C5363C */ Gambit_fn_02C522CC(cpu);
|
|
/* 02C53640 */ _t28 = cpu->r[29] + 0x00000000u;
|
|
/* 02C53640 */ cpu->r[9] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02C53644 */ _t29 = cpu->r[9] + 0x00000014u;
|
|
/* 02C53644 */ cpu->r[10] = rbrew_read16(cpu->mem, _t29);
|
|
/* 02C53648 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000001u);
|
|
/* 02C5364C */ cpu->r[30] = cpu->r[10] + 0xFFFFFFFFu;
|
|
/* 02C53650 */ _t30 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C53650 */ _t31 = _t30 & 0x00000001u;
|
|
/* 02C53650 */ if (_t31) goto L_02C53654; else goto L_02C53688;
|
|
L_02C53654: ; // 0x2c53654
|
|
/* 02C53654 */ _t32 = cpu->r[31] + 0x00000002u;
|
|
/* 02C53654 */ cpu->r[0] = rbrew_read16(cpu->mem, _t32);
|
|
/* 02C53654 */ cpu->r[31] = _t32;
|
|
/* 02C53658 */ _t33 = cpu->r[29] + 0x00000018u;
|
|
/* 02C53658 */ cpu->r[9] = rbrew_read32(cpu->mem, _t33);
|
|
/* 02C5365C */ cpu->r[10] = (uint32_t)((int32_t)cpu->r[0] * (int32_t)0x00000030u);
|
|
/* 02C53660 */ cpu->r[4] = cpu->r[9] + 0x00000010u;
|
|
/* 02C53664 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02C53668 */ cpu->r[5] = cpu->r[28] + cpu->r[10];
|
|
/* 02C5366C */ Gambit_fn_02C522CC(cpu);
|
|
/* 02C53670 */ _t34 = cpu->r[29] + 0x00000018u;
|
|
/* 02C53670 */ cpu->r[3] = rbrew_read32(cpu->mem, _t34);
|
|
/* 02C53674 */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 02C53678 */ cpu->r[4] = cpu->r[3];
|
|
/* 02C5367C */ Gambit_fn_02C523CC(cpu);
|
|
/* 02C53680 */ cpu->r[30] = cpu->r[30] + 0xFFFFFFFFu;
|
|
/* 02C53680 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02C53684 */ _t35 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C53684 */ _t36 = _t35 & 0x00000001u;
|
|
/* 02C53684 */ if (_t36) goto L_02C53688; else goto L_02C53654;
|
|
L_02C53688: ; // 0x2c53688
|
|
/* 02C53688 */ _t37 = cpu->r[1] + 0x00000018u;
|
|
/* 02C53688 */ cpu->r[28] = rbrew_read32(cpu->mem, _t37);
|
|
/* 02C5368C */ _t38 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C5368C */ cpu->r[29] = rbrew_read32(cpu->mem, _t38);
|
|
/* 02C53690 */ _t39 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02C53690 */ cpu->r[0] = rbrew_read32(cpu->mem, _t39);
|
|
/* 02C53694 */ _t40 = cpu->r[1] + 0x00000020u;
|
|
/* 02C53694 */ cpu->r[30] = rbrew_read32(cpu->mem, _t40);
|
|
/* 02C53698 */ cpu->lr = cpu->r[0];
|
|
/* 02C5369C */ _t41 = cpu->r[1] + 0x00000024u;
|
|
/* 02C5369C */ cpu->r[31] = rbrew_read32(cpu->mem, _t41);
|
|
/* 02C536A0 */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 02C536A4 */ return;
|
|
}
|
|
|
|
// fn_02C536A8 @ 0x2c536a8
|
|
void Gambit_fn_02C536A8(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;
|
|
|
|
L_02C536A8: ; // 0x2c536a8
|
|
/* 02C536A8 */ cpu->r[0] = cpu->lr;
|
|
/* 02C536AC */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02C536AC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C536AC */ cpu->r[1] = _t0;
|
|
/* 02C536B0 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C536B0 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
|
|
/* 02C536B4 */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 02C536B4 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02C536B8 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02C536B8 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 02C536BC */ cpu->r[30] = cpu->r[3];
|
|
/* 02C536C0 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C536C0 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02C536C4 */ _t5 = cpu->r[30] + 0x0000001Cu;
|
|
/* 02C536C4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02C536C8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 02C536CC */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C536CC */ _t7 = _t6 & 0x00000001u;
|
|
/* 02C536CC */ if (_t7) goto L_02C53798; else goto L_02C536D0;
|
|
L_02C536D0: ; // 0x2c536d0
|
|
/* 02C536D0 */ _t8 = cpu->r[30] + 0x00000000u;
|
|
/* 02C536D0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C536D4 */ _t9 = cpu->r[9] + 0x00000016u;
|
|
/* 02C536D4 */ cpu->r[10] = rbrew_read8(cpu->mem, _t9);
|
|
/* 02C536D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02C536DC */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C536DC */ _t11 = _t10 & 0x00000001u;
|
|
/* 02C536DC */ if (_t11) goto L_02C536E0; else goto L_02C53798;
|
|
L_02C536E0: ; // 0x2c536e0
|
|
/* 02C536E0 */ _t12 = cpu->r[4] + 0x00000004u;
|
|
/* 02C536E0 */ cpu->r[12] = rbrew_read16(cpu->mem, _t12);
|
|
/* 02C536E4 */ cpu->r[12] = cpu->r[12] | 0x00000010u;
|
|
/* 02C536E8 */ _t13 = cpu->r[4] + 0x00000004u;
|
|
/* 02C536E8 */ rbrew_write16(cpu->mem, _t13, (uint16_t)cpu->r[12]);
|
|
/* 02C536EC */ _t14 = cpu->r[30] + 0x00000000u;
|
|
/* 02C536EC */ cpu->r[6] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02C536F0 */ _t15 = cpu->r[6] + 0x00000010u;
|
|
/* 02C536F0 */ cpu->r[7] = rbrew_read16(cpu->mem, _t15);
|
|
/* 02C536F4 */ _t16 = cpu->r[4] + 0x00000010u;
|
|
/* 02C536F4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02C536F8 */ cpu->r[0] = (uint32_t)((int32_t)cpu->r[7] * (int32_t)0x00000030u);
|
|
/* 02C536FC */ _t17 = cpu->r[6] + 0x00000030u;
|
|
/* 02C536FC */ cpu->r[9] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02C53700 */ cpu->r[12] = cpu->r[6] + 0x00000030u;
|
|
/* 02C53704 */ cpu->r[31] = 0x00000000u;
|
|
/* 02C53708 */ cpu->r[29] = cpu->r[8] + cpu->r[0];
|
|
/* 02C5370C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 02C53710 */ _t18 = cpu->r[6] + 0x00000024u;
|
|
/* 02C53710 */ cpu->r[10] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02C53714 */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C53714 */ _t20 = _t19 & 0x00000001u;
|
|
/* 02C53714 */ if (_t20) goto L_02C5371C; else goto L_02C53718;
|
|
L_02C53718: ; // 0x2c53718
|
|
/* 02C53718 */ cpu->r[31] = cpu->r[12] + cpu->r[9];
|
|
L_02C5371C: ; // 0x2c5371c
|
|
/* 02C5371C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02C53720 */ cpu->r[6] = cpu->r[6] + 0x00000024u;
|
|
/* 02C53724 */ cpu->r[9] = 0x00000000u;
|
|
/* 02C53728 */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C53728 */ _t22 = _t21 & 0x00000001u;
|
|
/* 02C53728 */ if (_t22) goto L_02C53730; else goto L_02C5372C;
|
|
L_02C5372C: ; // 0x2c5372c
|
|
/* 02C5372C */ cpu->r[9] = cpu->r[6] + cpu->r[10];
|
|
L_02C53730: ; // 0x2c53730
|
|
/* 02C53730 */ _t23 = cpu->r[9] + 0x0000000Cu;
|
|
/* 02C53730 */ cpu->r[11] = rbrew_read16(cpu->mem, _t23);
|
|
/* 02C53734 */ cpu->r[10] = (uint32_t)((int32_t)cpu->r[11] * (int32_t)0x00000018u);
|
|
/* 02C53738 */ cpu->r[0] = cpu->r[10] + 0x0000001Fu;
|
|
/* 02C5373C */ _t24 = cpu->r[30] + 0x0000001Cu;
|
|
/* 02C5373C */ cpu->r[3] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02C53740 */ cpu->r[4] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000000u, 0x0000001Au);
|
|
/* 02C53744 */ rbrew_dispatch(cpu, 0x02d09350u);
|
|
/* 02C53748 */ _t25 = cpu->r[30] + 0x00000000u;
|
|
/* 02C53748 */ cpu->r[11] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02C5374C */ _t26 = cpu->r[11] + 0x00000024u;
|
|
/* 02C5374C */ cpu->r[0] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02C53750 */ cpu->r[6] = 0x00000000u;
|
|
/* 02C53754 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C53758 */ cpu->r[7] = cpu->r[11] + 0x00000024u;
|
|
/* 02C5375C */ cpu->r[9] = cpu->r[6];
|
|
/* 02C53760 */ _t27 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C53760 */ _t28 = _t27 & 0x00000001u;
|
|
/* 02C53760 */ if (_t28) goto L_02C53768; else goto L_02C53764;
|
|
L_02C53764: ; // 0x2c53764
|
|
/* 02C53764 */ cpu->r[9] = cpu->r[7] + cpu->r[0];
|
|
L_02C53768: ; // 0x2c53768
|
|
/* 02C53768 */ _t29 = cpu->r[9] + 0x0000000Cu;
|
|
/* 02C53768 */ cpu->r[10] = rbrew_read16(cpu->mem, _t29);
|
|
/* 02C5376C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02C53770 */ _t30 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C53770 */ _t31 = _t30 & 0x00000001u;
|
|
/* 02C53770 */ if (_t31) goto L_02C53798; else goto L_02C53774;
|
|
L_02C53774: ; // 0x2c53774
|
|
/* 02C53774 */ cpu->r[11] = (uint32_t)((int32_t)cpu->r[6] * (int32_t)0x00000018u);
|
|
L_02C53778: ; // 0x2c53778
|
|
/* 02C53778 */ _t32 = cpu->r[30] + 0x0000001Cu;
|
|
/* 02C53778 */ cpu->r[12] = rbrew_read32(cpu->mem, _t32);
|
|
/* 02C5377C */ cpu->r[5] = cpu->r[29];
|
|
/* 02C53780 */ cpu->r[4] = cpu->r[31] + cpu->r[11];
|
|
/* 02C53784 */ cpu->r[3] = cpu->r[12] + cpu->r[11];
|
|
/* 02C53788 */ Gambit_fn_02C525E8(cpu);
|
|
/* 02C5378C */ cpu->r[10] = cpu->r[10] + 0xFFFFFFFFu;
|
|
/* 02C5378C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02C53790 */ cpu->r[11] = cpu->r[11] + 0x00000018u;
|
|
/* 02C53794 */ _t33 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C53794 */ _t34 = _t33 & 0x00000001u;
|
|
/* 02C53794 */ if (_t34) goto L_02C53798; else goto L_02C53778;
|
|
L_02C53798: ; // 0x2c53798
|
|
/* 02C53798 */ _t35 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C53798 */ cpu->r[29] = rbrew_read32(cpu->mem, _t35);
|
|
/* 02C5379C */ _t36 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C5379C */ cpu->r[0] = rbrew_read32(cpu->mem, _t36);
|
|
/* 02C537A0 */ _t37 = cpu->r[1] + 0x00000010u;
|
|
/* 02C537A0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t37);
|
|
/* 02C537A4 */ cpu->lr = cpu->r[0];
|
|
/* 02C537A8 */ _t38 = cpu->r[1] + 0x00000014u;
|
|
/* 02C537A8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t38);
|
|
/* 02C537AC */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C537B0 */ return;
|
|
}
|
|
|
|
// fn_02C536AC @ 0x2c536ac
|
|
void Gambit_fn_02C536AC(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;
|
|
|
|
L_02C536AC: ; // 0x2c536ac
|
|
/* 02C536AC */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02C536AC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C536AC */ cpu->r[1] = _t0;
|
|
/* 02C536B0 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C536B0 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
|
|
/* 02C536B4 */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 02C536B4 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02C536B8 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02C536B8 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 02C536BC */ cpu->r[30] = cpu->r[3];
|
|
/* 02C536C0 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C536C0 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02C536C4 */ _t5 = cpu->r[30] + 0x0000001Cu;
|
|
/* 02C536C4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02C536C8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 02C536CC */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C536CC */ _t7 = _t6 & 0x00000001u;
|
|
/* 02C536CC */ if (_t7) goto L_02C53798; else goto L_02C536D0;
|
|
L_02C536D0: ; // 0x2c536d0
|
|
/* 02C536D0 */ _t8 = cpu->r[30] + 0x00000000u;
|
|
/* 02C536D0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C536D4 */ _t9 = cpu->r[9] + 0x00000016u;
|
|
/* 02C536D4 */ cpu->r[10] = rbrew_read8(cpu->mem, _t9);
|
|
/* 02C536D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02C536DC */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C536DC */ _t11 = _t10 & 0x00000001u;
|
|
/* 02C536DC */ if (_t11) goto L_02C536E0; else goto L_02C53798;
|
|
L_02C536E0: ; // 0x2c536e0
|
|
/* 02C536E0 */ _t12 = cpu->r[4] + 0x00000004u;
|
|
/* 02C536E0 */ cpu->r[12] = rbrew_read16(cpu->mem, _t12);
|
|
/* 02C536E4 */ cpu->r[12] = cpu->r[12] | 0x00000010u;
|
|
/* 02C536E8 */ _t13 = cpu->r[4] + 0x00000004u;
|
|
/* 02C536E8 */ rbrew_write16(cpu->mem, _t13, (uint16_t)cpu->r[12]);
|
|
/* 02C536EC */ _t14 = cpu->r[30] + 0x00000000u;
|
|
/* 02C536EC */ cpu->r[6] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02C536F0 */ _t15 = cpu->r[6] + 0x00000010u;
|
|
/* 02C536F0 */ cpu->r[7] = rbrew_read16(cpu->mem, _t15);
|
|
/* 02C536F4 */ _t16 = cpu->r[4] + 0x00000010u;
|
|
/* 02C536F4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02C536F8 */ cpu->r[0] = (uint32_t)((int32_t)cpu->r[7] * (int32_t)0x00000030u);
|
|
/* 02C536FC */ _t17 = cpu->r[6] + 0x00000030u;
|
|
/* 02C536FC */ cpu->r[9] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02C53700 */ cpu->r[12] = cpu->r[6] + 0x00000030u;
|
|
/* 02C53704 */ cpu->r[31] = 0x00000000u;
|
|
/* 02C53708 */ cpu->r[29] = cpu->r[8] + cpu->r[0];
|
|
/* 02C5370C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 02C53710 */ _t18 = cpu->r[6] + 0x00000024u;
|
|
/* 02C53710 */ cpu->r[10] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02C53714 */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C53714 */ _t20 = _t19 & 0x00000001u;
|
|
/* 02C53714 */ if (_t20) goto L_02C5371C; else goto L_02C53718;
|
|
L_02C53718: ; // 0x2c53718
|
|
/* 02C53718 */ cpu->r[31] = cpu->r[12] + cpu->r[9];
|
|
L_02C5371C: ; // 0x2c5371c
|
|
/* 02C5371C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02C53720 */ cpu->r[6] = cpu->r[6] + 0x00000024u;
|
|
/* 02C53724 */ cpu->r[9] = 0x00000000u;
|
|
/* 02C53728 */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C53728 */ _t22 = _t21 & 0x00000001u;
|
|
/* 02C53728 */ if (_t22) goto L_02C53730; else goto L_02C5372C;
|
|
L_02C5372C: ; // 0x2c5372c
|
|
/* 02C5372C */ cpu->r[9] = cpu->r[6] + cpu->r[10];
|
|
L_02C53730: ; // 0x2c53730
|
|
/* 02C53730 */ _t23 = cpu->r[9] + 0x0000000Cu;
|
|
/* 02C53730 */ cpu->r[11] = rbrew_read16(cpu->mem, _t23);
|
|
/* 02C53734 */ cpu->r[10] = (uint32_t)((int32_t)cpu->r[11] * (int32_t)0x00000018u);
|
|
/* 02C53738 */ cpu->r[0] = cpu->r[10] + 0x0000001Fu;
|
|
/* 02C5373C */ _t24 = cpu->r[30] + 0x0000001Cu;
|
|
/* 02C5373C */ cpu->r[3] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02C53740 */ cpu->r[4] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000000u, 0x0000001Au);
|
|
/* 02C53744 */ rbrew_dispatch(cpu, 0x02d09350u);
|
|
/* 02C53748 */ _t25 = cpu->r[30] + 0x00000000u;
|
|
/* 02C53748 */ cpu->r[11] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02C5374C */ _t26 = cpu->r[11] + 0x00000024u;
|
|
/* 02C5374C */ cpu->r[0] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02C53750 */ cpu->r[6] = 0x00000000u;
|
|
/* 02C53754 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C53758 */ cpu->r[7] = cpu->r[11] + 0x00000024u;
|
|
/* 02C5375C */ cpu->r[9] = cpu->r[6];
|
|
/* 02C53760 */ _t27 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C53760 */ _t28 = _t27 & 0x00000001u;
|
|
/* 02C53760 */ if (_t28) goto L_02C53768; else goto L_02C53764;
|
|
L_02C53764: ; // 0x2c53764
|
|
/* 02C53764 */ cpu->r[9] = cpu->r[7] + cpu->r[0];
|
|
L_02C53768: ; // 0x2c53768
|
|
/* 02C53768 */ _t29 = cpu->r[9] + 0x0000000Cu;
|
|
/* 02C53768 */ cpu->r[10] = rbrew_read16(cpu->mem, _t29);
|
|
/* 02C5376C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02C53770 */ _t30 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C53770 */ _t31 = _t30 & 0x00000001u;
|
|
/* 02C53770 */ if (_t31) goto L_02C53798; else goto L_02C53774;
|
|
L_02C53774: ; // 0x2c53774
|
|
/* 02C53774 */ cpu->r[11] = (uint32_t)((int32_t)cpu->r[6] * (int32_t)0x00000018u);
|
|
L_02C53778: ; // 0x2c53778
|
|
/* 02C53778 */ _t32 = cpu->r[30] + 0x0000001Cu;
|
|
/* 02C53778 */ cpu->r[12] = rbrew_read32(cpu->mem, _t32);
|
|
/* 02C5377C */ cpu->r[5] = cpu->r[29];
|
|
/* 02C53780 */ cpu->r[4] = cpu->r[31] + cpu->r[11];
|
|
/* 02C53784 */ cpu->r[3] = cpu->r[12] + cpu->r[11];
|
|
/* 02C53788 */ Gambit_fn_02C525E8(cpu);
|
|
/* 02C5378C */ cpu->r[10] = cpu->r[10] + 0xFFFFFFFFu;
|
|
/* 02C5378C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02C53790 */ cpu->r[11] = cpu->r[11] + 0x00000018u;
|
|
/* 02C53794 */ _t33 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C53794 */ _t34 = _t33 & 0x00000001u;
|
|
/* 02C53794 */ if (_t34) goto L_02C53798; else goto L_02C53778;
|
|
L_02C53798: ; // 0x2c53798
|
|
/* 02C53798 */ _t35 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C53798 */ cpu->r[29] = rbrew_read32(cpu->mem, _t35);
|
|
/* 02C5379C */ _t36 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C5379C */ cpu->r[0] = rbrew_read32(cpu->mem, _t36);
|
|
/* 02C537A0 */ _t37 = cpu->r[1] + 0x00000010u;
|
|
/* 02C537A0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t37);
|
|
/* 02C537A4 */ cpu->lr = cpu->r[0];
|
|
/* 02C537A8 */ _t38 = cpu->r[1] + 0x00000014u;
|
|
/* 02C537A8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t38);
|
|
/* 02C537AC */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C537B0 */ return;
|
|
}
|
|
|
|
// fn_02C537B4 @ 0x2c537b4
|
|
void Gambit_fn_02C537B4(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;
|
|
|
|
L_02C537B4: ; // 0x2c537b4
|
|
/* 02C537B4 */ _t0 = cpu->r[1] + 0xFFFFFFD8u;
|
|
/* 02C537B4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C537B4 */ cpu->r[1] = _t0;
|
|
/* 02C537B8 */ /* nop */
|
|
/* 02C537BC */ cpu->r[0] = cpu->lr;
|
|
/* 02C537C0 */ _t1 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02C537C0 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02C537C4 */ cpu->r[29] = cpu->r[3];
|
|
/* 02C537C8 */ cpu->r[31] = cpu->r[5];
|
|
/* 02C537CC */ _t2 = cpu->r[29] + 0x00000009u;
|
|
/* 02C537CC */ cpu->r[5] = rbrew_read8(cpu->mem, _t2);
|
|
/* 02C537D0 */ cpu->r[0] = (uint32_t)((int32_t)cpu->r[4] * (int32_t)cpu->r[5]);
|
|
/* 02C537D4 */ cpu->r[7] = (uint32_t)((int32_t)cpu->r[0] * (int32_t)0x00000014u);
|
|
/* 02C537D8 */ _t3 = cpu->r[29] + 0x0000000Cu;
|
|
/* 02C537D8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02C537DC */ cpu->r[30] = cpu->r[6];
|
|
/* 02C537E0 */ cpu->r[28] = cpu->r[9] + cpu->r[7];
|
|
/* 02C537E4 */ cpu->r[4] = cpu->r[30];
|
|
/* 02C537E8 */ cpu->r[3] = cpu->r[28];
|
|
/* 02C537EC */ Gambit_fn_02C6544C(cpu);
|
|
/* 02C537F0 */ _t4 = cpu->r[29] + 0x00000024u;
|
|
/* 02C537F0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02C537F4 */ _t5 = cpu->r[29] + 0x00000000u;
|
|
/* 02C537F4 */ cpu->r[5] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02C537F8 */ cpu->r[0] = cpu->r[12] + 0x0000001Fu;
|
|
/* 02C537FC */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000000u, 0x0000001Au);
|
|
/* 02C53800 */ _t6 = cpu->r[5] + 0x00000016u;
|
|
/* 02C53800 */ cpu->r[10] = rbrew_read8(cpu->mem, _t6);
|
|
/* 02C53804 */ cpu->r[26] = cpu->r[12] + 0x00000040u;
|
|
/* 02C53808 */ cpu->r[27] = cpu->r[3];
|
|
/* 02C5380C */ cpu->r[4] = cpu->r[26];
|
|
/* 02C53810 */ _t7 = cpu->r[1] + 0x00000008u;
|
|
/* 02C53810 */ rbrew_write32(cpu->mem, _t7, cpu->r[10]);
|
|
/* 02C53814 */ Gambit_fn_02C650E0(cpu);
|
|
/* 02C53818 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C5381C */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C5381C */ _t9 = _t8 & 0x00000001u;
|
|
/* 02C5381C */ if (_t9) goto L_02C5382C; else goto L_02C53820;
|
|
L_02C53820: ; // 0x2c53820
|
|
/* 02C53820 */ cpu->r[3] = cpu->r[27];
|
|
/* 02C53824 */ cpu->r[4] = cpu->r[26];
|
|
/* 02C53828 */ Gambit_fn_02C65108(cpu);
|
|
L_02C5382C: ; // 0x2c5382c
|
|
/* 02C5382C */ _t10 = cpu->r[29] + 0x00000004u;
|
|
/* 02C5382C */ cpu->r[7] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02C53830 */ cpu->r[6] = rbrew_rlwinm(cpu->r[7], 0x00000000u, 0x0000001Eu, 0x0000001Eu);
|
|
/* 02C53830 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u);
|
|
/* 02C53834 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C53834 */ _t12 = _t11 & 0x00000001u;
|
|
/* 02C53834 */ if (_t12) goto L_02C538F4; else goto L_02C53838;
|
|
L_02C53838: ; // 0x2c53838
|
|
/* 02C53838 */ cpu->r[10] = cpu->r[31] + 0x00000030u;
|
|
/* 02C5383C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[10]);
|
|
/* 02C53840 */ cpu->r[6] = cpu->r[27];
|
|
/* 02C53844 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C53844 */ _t14 = _t13 & 0x00000001u;
|
|
/* 02C53844 */ if (_t14) goto L_02C5389C; else goto L_02C53848;
|
|
L_02C53848: ; // 0x2c53848
|
|
/* 02C53848 */ _t15 = cpu->r[31] + 0x00000000u;
|
|
/* 02C53848 */ cpu->r[8] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02C5384C */ cpu->r[31] = cpu->r[31] + 0x00000004u;
|
|
/* 02C53850 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[10]);
|
|
/* 02C53854 */ /* nop */
|
|
/* 02C53858 */ cpu->r[6] = cpu->r[6] + 0x00000004u;
|
|
/* 02C5385C */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C5385C */ _t17 = _t16 & 0x00000001u;
|
|
/* 02C5385C */ if (_t17) goto L_02C53860; else goto L_02C53848;
|
|
L_02C53860: ; // 0x2c53860
|
|
/* 02C53860 */ cpu->r[0] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C53864 */ cpu->r[9] = cpu->r[1] + 0x00000008u;
|
|
/* 02C53868 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[0]);
|
|
/* 02C5386C */ cpu->r[12] = cpu->r[27] + 0x00000030u;
|
|
/* 02C53870 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C53870 */ _t19 = _t18 & 0x00000001u;
|
|
/* 02C53870 */ if (_t19) goto L_02C538B0; else goto L_02C53874;
|
|
L_02C53874: ; // 0x2c53874
|
|
/* 02C53874 */ _t20 = cpu->r[1] + 0x00000008u;
|
|
/* 02C53874 */ cpu->r[0] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02C53878 */ /* nop */
|
|
/* 02C5387C */ _t21 = cpu->r[29] + 0x00000024u;
|
|
/* 02C5387C */ cpu->r[0] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02C53880 */ _t22 = cpu->r[29] + 0x00000020u;
|
|
/* 02C53880 */ cpu->r[12] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02C53884 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000000u, 0x0000001Du);
|
|
/* 02C53888 */ cpu->r[8] = cpu->r[12] + cpu->r[0];
|
|
/* 02C5388C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[8]);
|
|
/* 02C53890 */ cpu->r[10] = cpu->r[27] + 0x00000040u;
|
|
/* 02C53894 */ _t23 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C53894 */ _t24 = _t23 & 0x00000001u;
|
|
/* 02C53894 */ if (_t24) goto L_02C53898; else goto L_02C538CC;
|
|
L_02C53898: ; // 0x2c53898
|
|
/* 02C53898 */ goto L_02C53928;
|
|
L_02C5389C: ; // 0x2c5389c
|
|
/* 02C5389C */ cpu->r[0] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C538A0 */ cpu->r[9] = cpu->r[1] + 0x00000008u;
|
|
/* 02C538A4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[0]);
|
|
/* 02C538A8 */ cpu->r[12] = cpu->r[27] + 0x00000030u;
|
|
/* 02C538AC */ _t25 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C538AC */ _t26 = _t25 & 0x00000001u;
|
|
/* 02C538AC */ if (_t26) goto L_02C538B0; else goto L_02C53874;
|
|
L_02C538B0: ; // 0x2c538b0
|
|
/* 02C538B0 */ _t27 = cpu->r[29] + 0x00000024u;
|
|
/* 02C538B0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02C538B4 */ _t28 = cpu->r[29] + 0x00000020u;
|
|
/* 02C538B4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02C538B8 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000000u, 0x0000001Du);
|
|
/* 02C538BC */ cpu->r[8] = cpu->r[12] + cpu->r[0];
|
|
/* 02C538C0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[8]);
|
|
/* 02C538C4 */ cpu->r[10] = cpu->r[27] + 0x00000040u;
|
|
/* 02C538C8 */ _t29 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C538C8 */ _t30 = _t29 & 0x00000001u;
|
|
/* 02C538C8 */ if (_t30) goto L_02C53928; else goto L_02C538CC;
|
|
L_02C538CC: ; // 0x2c538cc
|
|
/* 02C538CC */ _t31 = cpu->r[12] + 0x00000000u;
|
|
/* 02C538CC */ cpu->r[6] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02C538D0 */ cpu->r[12] = cpu->r[12] + 0x00000004u;
|
|
/* 02C538D4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[8]);
|
|
/* 02C538D8 */ /* nop */
|
|
/* 02C538DC */ cpu->r[10] = cpu->r[10] + 0x00000004u;
|
|
/* 02C538E0 */ _t32 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C538E0 */ _t33 = _t32 & 0x00000001u;
|
|
/* 02C538E0 */ if (_t33) goto L_02C538E4; else goto L_02C538CC;
|
|
L_02C538E4: ; // 0x2c538e4
|
|
/* 02C538E4 */ cpu->r[3] = cpu->r[28];
|
|
/* 02C538E8 */ cpu->r[4] = cpu->r[30];
|
|
/* 02C538EC */ Gambit_fn_02C6530C(cpu);
|
|
/* 02C538F0 */ goto L_02C53934;
|
|
L_02C538F4: ; // 0x2c538f4
|
|
/* 02C538F4 */ cpu->r[5] = 0x00000030u;
|
|
/* 02C538F8 */ cpu->r[4] = cpu->r[31];
|
|
/* 02C538FC */ cpu->r[3] = cpu->r[27];
|
|
/* 02C53900 */ rbrew_dispatch(cpu, 0x02d0b870u);
|
|
/* 02C53904 */ cpu->r[5] = 0x00000004u;
|
|
/* 02C53908 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02C5390C */ cpu->r[3] = cpu->r[27] + 0x00000030u;
|
|
/* 02C53910 */ rbrew_dispatch(cpu, 0x02d0b870u);
|
|
/* 02C53914 */ _t34 = cpu->r[29] + 0x00000024u;
|
|
/* 02C53914 */ cpu->r[9] = rbrew_read32(cpu->mem, _t34);
|
|
/* 02C53918 */ _t35 = cpu->r[29] + 0x00000020u;
|
|
/* 02C53918 */ cpu->r[4] = rbrew_read32(cpu->mem, _t35);
|
|
/* 02C5391C */ cpu->r[5] = rbrew_rlwinm(cpu->r[9], 0x00000000u, 0x00000000u, 0x0000001Du);
|
|
/* 02C53920 */ cpu->r[3] = cpu->r[27] + 0x00000040u;
|
|
/* 02C53924 */ rbrew_dispatch(cpu, 0x02d0b870u);
|
|
L_02C53928: ; // 0x2c53928
|
|
/* 02C53928 */ cpu->r[3] = cpu->r[28];
|
|
/* 02C5392C */ cpu->r[4] = cpu->r[30];
|
|
/* 02C53930 */ Gambit_fn_02C6530C(cpu);
|
|
L_02C53934: ; // 0x2c53934
|
|
/* 02C53934 */ /* nop */
|
|
/* 02C53938 */ _t36 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02C53938 */ cpu->r[0] = rbrew_read32(cpu->mem, _t36);
|
|
/* 02C5393C */ cpu->lr = cpu->r[0];
|
|
/* 02C53940 */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 02C53944 */ return;
|
|
}
|
|
|
|
// fn_02C53948 @ 0x2c53948
|
|
void Gambit_fn_02C53948(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_02C53948: ; // 0x2c53948
|
|
/* 02C53948 */ cpu->r[0] = cpu->lr;
|
|
/* 02C5394C */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 02C5394C */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 02C53950 */ cpu->r[7] = cpu->r[3];
|
|
/* 02C53954 */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02C53954 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 02C53954 */ cpu->r[1] = _t1;
|
|
/* 02C53958 */ _t2 = cpu->r[7] + 0x00000000u;
|
|
/* 02C53958 */ cpu->r[9] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02C5395C */ _t3 = cpu->r[9] + 0x00000024u;
|
|
/* 02C5395C */ cpu->r[10] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02C53960 */ cpu->r[8] = cpu->r[4];
|
|
/* 02C53964 */ cpu->r[11] = 0x00000000u;
|
|
/* 02C53968 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02C5396C */ cpu->r[12] = cpu->r[9] + 0x00000024u;
|
|
/* 02C53970 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C53970 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02C53970 */ if (_t5) goto L_02C53978; else goto L_02C53974;
|
|
L_02C53974: ; // 0x2c53974
|
|
/* 02C53974 */ cpu->r[11] = cpu->r[12] + cpu->r[10];
|
|
L_02C53978: ; // 0x2c53978
|
|
/* 02C53978 */ _t6 = cpu->r[11] + 0x0000000Cu;
|
|
/* 02C53978 */ cpu->r[6] = rbrew_read16(cpu->mem, _t6);
|
|
/* 02C5397C */ _t7 = cpu->r[8] + 0x00000000u;
|
|
/* 02C5397C */ cpu->r[12] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02C53980 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], cpu->r[6]);
|
|
/* 02C53984 */ _t8 = cpu->r[8] + 0x00000008u;
|
|
/* 02C53984 */ rbrew_write32(cpu->mem, _t8, cpu->r[12]);
|
|
/* 02C53988 */ _t9 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C53988 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02C53988 */ if (_t10) goto L_02C5398C; else goto L_02C539BC;
|
|
L_02C5398C: ; // 0x2c5398c
|
|
/* 02C5398C */ cpu->r[0] = (uint32_t)((int32_t)cpu->r[12] * (int32_t)0x00000018u);
|
|
/* 02C53990 */ _t11 = cpu->r[7] + 0x0000001Cu;
|
|
/* 02C53990 */ cpu->r[11] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02C53994 */ cpu->r[3] = cpu->r[5];
|
|
/* 02C53998 */ cpu->r[4] = cpu->r[11] + cpu->r[0];
|
|
/* 02C5399C */ Gambit_fn_02C52CCC(cpu);
|
|
/* 02C539A0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C539A4 */ _t12 = cpu->r[8] + 0x00000008u;
|
|
/* 02C539A4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02C539A8 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C539A8 */ _t14 = _t13 & 0x00000001u;
|
|
/* 02C539A8 */ if (_t14) goto L_02C539AC; else goto L_02C539BC;
|
|
L_02C539AC: ; // 0x2c539ac
|
|
/* 02C539AC */ cpu->r[12] = cpu->r[12] + 0x00000001u;
|
|
/* 02C539B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], cpu->r[6]);
|
|
/* 02C539B4 */ _t15 = cpu->r[8] + 0x00000008u;
|
|
/* 02C539B4 */ rbrew_write32(cpu->mem, _t15, cpu->r[12]);
|
|
/* 02C539B8 */ _t16 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C539B8 */ _t17 = _t16 & 0x00000001u;
|
|
/* 02C539B8 */ if (_t17) goto L_02C5398C; else goto L_02C539BC;
|
|
L_02C539BC: ; // 0x2c539bc
|
|
/* 02C539BC */ cpu->r[9] = cpu->r[12] + 0x00000001u;
|
|
/* 02C539C0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], cpu->r[6]);
|
|
/* 02C539C4 */ _t18 = cpu->r[8] + 0x00000000u;
|
|
/* 02C539C4 */ rbrew_write32(cpu->mem, _t18, cpu->r[9]);
|
|
/* 02C539C8 */ _t19 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C539C8 */ _t20 = _t19 & 0x00000001u;
|
|
/* 02C539C8 */ if (_t20) goto L_02C539CC; else goto L_02C53A18;
|
|
L_02C539CC: ; // 0x2c539cc
|
|
/* 02C539CC */ cpu->r[9] = (uint32_t)((int32_t)cpu->r[9] * (int32_t)0x00000018u);
|
|
/* 02C539D0 */ _t21 = cpu->r[7] + 0x0000001Cu;
|
|
/* 02C539D0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02C539D4 */ cpu->r[3] = cpu->r[5];
|
|
/* 02C539D8 */ cpu->r[4] = cpu->r[10] + cpu->r[9];
|
|
/* 02C539DC */ Gambit_fn_02C52CCC(cpu);
|
|
/* 02C539E0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C539E4 */ _t22 = cpu->r[8] + 0x00000000u;
|
|
/* 02C539E4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02C539E8 */ _t23 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C539E8 */ _t24 = _t23 & 0x00000001u;
|
|
/* 02C539E8 */ if (_t24) goto L_02C539EC; else goto L_02C53A08;
|
|
L_02C539EC: ; // 0x2c539ec
|
|
/* 02C539EC */ _t25 = cpu->r[8] + 0x00000008u;
|
|
/* 02C539EC */ cpu->r[7] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02C539F0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], cpu->r[6]);
|
|
/* 02C539F4 */ cpu->r[12] = cpu->r[9] - cpu->r[7];
|
|
/* 02C539F8 */ /* nop */
|
|
/* 02C539FC */ _t26 = cpu->r[8] + 0x0000000Cu;
|
|
/* 02C539FC */ rbrew_write32(cpu->mem, _t26, cpu->r[12]);
|
|
/* 02C53A00 */ cpu->r[3] = rbrew_rlwinm(cpu->r[0], 0x00000001u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02C53A04 */ goto L_02C53A30;
|
|
L_02C53A08: ; // 0x2c53a08
|
|
/* 02C53A08 */ cpu->r[9] = cpu->r[9] + 0x00000001u;
|
|
/* 02C53A0C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], cpu->r[6]);
|
|
/* 02C53A10 */ _t27 = cpu->r[8] + 0x00000000u;
|
|
/* 02C53A10 */ rbrew_write32(cpu->mem, _t27, cpu->r[9]);
|
|
/* 02C53A14 */ _t28 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C53A14 */ _t29 = _t28 & 0x00000001u;
|
|
/* 02C53A14 */ if (_t29) goto L_02C539CC; else goto L_02C53A18;
|
|
L_02C53A18: ; // 0x2c53a18
|
|
/* 02C53A18 */ _t30 = cpu->r[8] + 0x00000008u;
|
|
/* 02C53A18 */ cpu->r[7] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02C53A1C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], cpu->r[6]);
|
|
/* 02C53A20 */ /* nop */
|
|
/* 02C53A24 */ cpu->r[12] = cpu->r[9] - cpu->r[7];
|
|
/* 02C53A28 */ cpu->r[3] = rbrew_rlwinm(cpu->r[0], 0x00000001u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02C53A2C */ _t31 = cpu->r[8] + 0x0000000Cu;
|
|
/* 02C53A2C */ rbrew_write32(cpu->mem, _t31, cpu->r[12]);
|
|
L_02C53A30: ; // 0x2c53a30
|
|
/* 02C53A30 */ _t32 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C53A30 */ cpu->r[0] = rbrew_read32(cpu->mem, _t32);
|
|
/* 02C53A34 */ cpu->lr = cpu->r[0];
|
|
/* 02C53A38 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02C53A3C */ return;
|
|
}
|
|
|
|
// fn_02C53954 @ 0x2c53954
|
|
void Gambit_fn_02C53954(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_02C53954: ; // 0x2c53954
|
|
/* 02C53954 */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02C53954 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C53954 */ cpu->r[1] = _t0;
|
|
/* 02C53958 */ _t1 = cpu->r[7] + 0x00000000u;
|
|
/* 02C53958 */ cpu->r[9] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02C5395C */ _t2 = cpu->r[9] + 0x00000024u;
|
|
/* 02C5395C */ cpu->r[10] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02C53960 */ cpu->r[8] = cpu->r[4];
|
|
/* 02C53964 */ cpu->r[11] = 0x00000000u;
|
|
/* 02C53968 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02C5396C */ cpu->r[12] = cpu->r[9] + 0x00000024u;
|
|
/* 02C53970 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C53970 */ _t4 = _t3 & 0x00000001u;
|
|
/* 02C53970 */ if (_t4) goto L_02C53978; else goto L_02C53974;
|
|
L_02C53974: ; // 0x2c53974
|
|
/* 02C53974 */ cpu->r[11] = cpu->r[12] + cpu->r[10];
|
|
L_02C53978: ; // 0x2c53978
|
|
/* 02C53978 */ _t5 = cpu->r[11] + 0x0000000Cu;
|
|
/* 02C53978 */ cpu->r[6] = rbrew_read16(cpu->mem, _t5);
|
|
/* 02C5397C */ _t6 = cpu->r[8] + 0x00000000u;
|
|
/* 02C5397C */ cpu->r[12] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02C53980 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], cpu->r[6]);
|
|
/* 02C53984 */ _t7 = cpu->r[8] + 0x00000008u;
|
|
/* 02C53984 */ rbrew_write32(cpu->mem, _t7, cpu->r[12]);
|
|
/* 02C53988 */ _t8 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C53988 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02C53988 */ if (_t9) goto L_02C5398C; else goto L_02C539BC;
|
|
L_02C5398C: ; // 0x2c5398c
|
|
/* 02C5398C */ cpu->r[0] = (uint32_t)((int32_t)cpu->r[12] * (int32_t)0x00000018u);
|
|
/* 02C53990 */ _t10 = cpu->r[7] + 0x0000001Cu;
|
|
/* 02C53990 */ cpu->r[11] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02C53994 */ cpu->r[3] = cpu->r[5];
|
|
/* 02C53998 */ cpu->r[4] = cpu->r[11] + cpu->r[0];
|
|
/* 02C5399C */ Gambit_fn_02C52CCC(cpu);
|
|
/* 02C539A0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C539A4 */ _t11 = cpu->r[8] + 0x00000008u;
|
|
/* 02C539A4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02C539A8 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C539A8 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02C539A8 */ if (_t13) goto L_02C539AC; else goto L_02C539BC;
|
|
L_02C539AC: ; // 0x2c539ac
|
|
/* 02C539AC */ cpu->r[12] = cpu->r[12] + 0x00000001u;
|
|
/* 02C539B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], cpu->r[6]);
|
|
/* 02C539B4 */ _t14 = cpu->r[8] + 0x00000008u;
|
|
/* 02C539B4 */ rbrew_write32(cpu->mem, _t14, cpu->r[12]);
|
|
/* 02C539B8 */ _t15 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C539B8 */ _t16 = _t15 & 0x00000001u;
|
|
/* 02C539B8 */ if (_t16) goto L_02C5398C; else goto L_02C539BC;
|
|
L_02C539BC: ; // 0x2c539bc
|
|
/* 02C539BC */ cpu->r[9] = cpu->r[12] + 0x00000001u;
|
|
/* 02C539C0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], cpu->r[6]);
|
|
/* 02C539C4 */ _t17 = cpu->r[8] + 0x00000000u;
|
|
/* 02C539C4 */ rbrew_write32(cpu->mem, _t17, cpu->r[9]);
|
|
/* 02C539C8 */ _t18 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C539C8 */ _t19 = _t18 & 0x00000001u;
|
|
/* 02C539C8 */ if (_t19) goto L_02C539CC; else goto L_02C53A18;
|
|
L_02C539CC: ; // 0x2c539cc
|
|
/* 02C539CC */ cpu->r[9] = (uint32_t)((int32_t)cpu->r[9] * (int32_t)0x00000018u);
|
|
/* 02C539D0 */ _t20 = cpu->r[7] + 0x0000001Cu;
|
|
/* 02C539D0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02C539D4 */ cpu->r[3] = cpu->r[5];
|
|
/* 02C539D8 */ cpu->r[4] = cpu->r[10] + cpu->r[9];
|
|
/* 02C539DC */ Gambit_fn_02C52CCC(cpu);
|
|
/* 02C539E0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C539E4 */ _t21 = cpu->r[8] + 0x00000000u;
|
|
/* 02C539E4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02C539E8 */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C539E8 */ _t23 = _t22 & 0x00000001u;
|
|
/* 02C539E8 */ if (_t23) goto L_02C539EC; else goto L_02C53A08;
|
|
L_02C539EC: ; // 0x2c539ec
|
|
/* 02C539EC */ _t24 = cpu->r[8] + 0x00000008u;
|
|
/* 02C539EC */ cpu->r[7] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02C539F0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], cpu->r[6]);
|
|
/* 02C539F4 */ cpu->r[12] = cpu->r[9] - cpu->r[7];
|
|
/* 02C539F8 */ /* nop */
|
|
/* 02C539FC */ _t25 = cpu->r[8] + 0x0000000Cu;
|
|
/* 02C539FC */ rbrew_write32(cpu->mem, _t25, cpu->r[12]);
|
|
/* 02C53A00 */ cpu->r[3] = rbrew_rlwinm(cpu->r[0], 0x00000001u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02C53A04 */ goto L_02C53A30;
|
|
L_02C53A08: ; // 0x2c53a08
|
|
/* 02C53A08 */ cpu->r[9] = cpu->r[9] + 0x00000001u;
|
|
/* 02C53A0C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], cpu->r[6]);
|
|
/* 02C53A10 */ _t26 = cpu->r[8] + 0x00000000u;
|
|
/* 02C53A10 */ rbrew_write32(cpu->mem, _t26, cpu->r[9]);
|
|
/* 02C53A14 */ _t27 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C53A14 */ _t28 = _t27 & 0x00000001u;
|
|
/* 02C53A14 */ if (_t28) goto L_02C539CC; else goto L_02C53A18;
|
|
L_02C53A18: ; // 0x2c53a18
|
|
/* 02C53A18 */ _t29 = cpu->r[8] + 0x00000008u;
|
|
/* 02C53A18 */ cpu->r[7] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02C53A1C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], cpu->r[6]);
|
|
/* 02C53A20 */ /* nop */
|
|
/* 02C53A24 */ cpu->r[12] = cpu->r[9] - cpu->r[7];
|
|
/* 02C53A28 */ cpu->r[3] = rbrew_rlwinm(cpu->r[0], 0x00000001u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02C53A2C */ _t30 = cpu->r[8] + 0x0000000Cu;
|
|
/* 02C53A2C */ rbrew_write32(cpu->mem, _t30, cpu->r[12]);
|
|
L_02C53A30: ; // 0x2c53a30
|
|
/* 02C53A30 */ _t31 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C53A30 */ cpu->r[0] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02C53A34 */ cpu->lr = cpu->r[0];
|
|
/* 02C53A38 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02C53A3C */ return;
|
|
}
|
|
|
|
// fn_02C53A40 @ 0x2c53a40
|
|
void Gambit_fn_02C53A40(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_02C53A40: ; // 0x2c53a40
|
|
/* 02C53A40 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 02C53A40 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C53A40 */ cpu->r[1] = _t0;
|
|
/* 02C53A44 */ /* nop */
|
|
/* 02C53A48 */ cpu->r[0] = cpu->lr;
|
|
/* 02C53A4C */ _t1 = cpu->r[1] + 0x00000024u;
|
|
/* 02C53A4C */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02C53A50 */ cpu->r[29] = cpu->r[4];
|
|
/* 02C53A54 */ cpu->r[28] = cpu->r[3];
|
|
/* 02C53A58 */ cpu->r[31] = cpu->r[6];
|
|
/* 02C53A5C */ _t2 = cpu->r[28] + 0x00000000u;
|
|
/* 02C53A5C */ cpu->r[6] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02C53A60 */ _t3 = cpu->r[6] + 0x00000024u;
|
|
/* 02C53A60 */ cpu->r[7] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02C53A64 */ cpu->r[12] = cpu->r[6] + 0x00000024u;
|
|
/* 02C53A68 */ cpu->r[30] = cpu->r[5];
|
|
/* 02C53A6C */ cpu->r[11] = 0x00000000u;
|
|
/* 02C53A70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 02C53A74 */ _t4 = cpu->r[29] + 0x00000000u;
|
|
/* 02C53A74 */ cpu->r[9] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02C53A78 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C53A78 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02C53A78 */ if (_t6) goto L_02C53A80; else goto L_02C53A7C;
|
|
L_02C53A7C: ; // 0x2c53a7c
|
|
/* 02C53A7C */ cpu->r[11] = cpu->r[12] + cpu->r[7];
|
|
L_02C53A80: ; // 0x2c53a80
|
|
/* 02C53A80 */ _t7 = cpu->r[11] + 0x0000000Cu;
|
|
/* 02C53A80 */ cpu->r[27] = rbrew_read16(cpu->mem, _t7);
|
|
/* 02C53A84 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], cpu->r[27]);
|
|
/* 02C53A88 */ _t8 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C53A88 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02C53A88 */ if (_t9) goto L_02C53A8C; else goto L_02C53B20;
|
|
L_02C53A8C: ; // 0x2c53a8c
|
|
/* 02C53A8C */ _t10 = cpu->r[29] + 0x00000004u;
|
|
/* 02C53A8C */ cpu->r[11] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02C53A90 */ _t11 = cpu->r[29] + 0x00000000u;
|
|
/* 02C53A90 */ cpu->r[12] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02C53A94 */ _t12 = cpu->r[29] + 0x00000010u;
|
|
/* 02C53A94 */ rbrew_write32(cpu->mem, _t12, cpu->r[11]);
|
|
/* 02C53A98 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0xFFFFFFFFu);
|
|
/* 02C53A9C */ _t13 = cpu->r[29] + 0x00000008u;
|
|
/* 02C53A9C */ rbrew_write32(cpu->mem, _t13, cpu->r[12]);
|
|
/* 02C53AA0 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C53AA0 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02C53AA0 */ if (_t15) goto L_02C53AA4; else goto L_02C53B5C;
|
|
L_02C53AA4: ; // 0x2c53aa4
|
|
/* 02C53AA4 */ _t16 = cpu->r[29] + 0x00000000u;
|
|
/* 02C53AA4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02C53AA8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], cpu->r[27]);
|
|
/* 02C53AAC */ _t17 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C53AAC */ _t18 = _t17 & 0x00000001u;
|
|
/* 02C53AAC */ if (_t18) goto L_02C53AB0; else goto L_02C53B20;
|
|
L_02C53AB0: ; // 0x2c53ab0
|
|
/* 02C53AB0 */ cpu->r[0] = (uint32_t)((int32_t)cpu->r[12] * (int32_t)0x00000018u);
|
|
/* 02C53AB4 */ _t19 = cpu->r[28] + 0x0000001Cu;
|
|
/* 02C53AB4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02C53AB8 */ cpu->r[3] = cpu->r[30];
|
|
/* 02C53ABC */ cpu->r[4] = cpu->r[10] + cpu->r[0];
|
|
/* 02C53AC0 */ Gambit_fn_02C52CCC(cpu);
|
|
/* 02C53AC4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C53AC8 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C53AC8 */ _t21 = _t20 & 0x00000001u;
|
|
/* 02C53AC8 */ if (_t21) goto L_02C53ACC; else goto L_02C53B14;
|
|
L_02C53ACC: ; // 0x2c53acc
|
|
/* 02C53ACC */ _t22 = cpu->r[29] + 0x00000000u;
|
|
/* 02C53ACC */ cpu->r[7] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02C53AD0 */ cpu->r[12] = cpu->r[7] + 0x00000001u;
|
|
/* 02C53AD4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], cpu->r[27]);
|
|
/* 02C53AD8 */ _t23 = cpu->r[29] + 0x00000000u;
|
|
/* 02C53AD8 */ rbrew_write32(cpu->mem, _t23, cpu->r[12]);
|
|
/* 02C53ADC */ _t24 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C53ADC */ _t25 = _t24 & 0x00000001u;
|
|
/* 02C53ADC */ if (_t25) goto L_02C53AE0; else goto L_02C53B20;
|
|
L_02C53AE0: ; // 0x2c53ae0
|
|
/* 02C53AE0 */ cpu->r[8] = (uint32_t)((int32_t)cpu->r[12] * (int32_t)0x00000018u);
|
|
/* 02C53AE4 */ _t26 = cpu->r[28] + 0x0000001Cu;
|
|
/* 02C53AE4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02C53AE8 */ cpu->r[3] = cpu->r[30];
|
|
/* 02C53AEC */ cpu->r[4] = cpu->r[10] + cpu->r[8];
|
|
/* 02C53AF0 */ Gambit_fn_02C52CCC(cpu);
|
|
/* 02C53AF4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C53AF8 */ _t27 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C53AF8 */ _t28 = _t27 & 0x00000001u;
|
|
/* 02C53AF8 */ if (_t28) goto L_02C53AFC; else goto L_02C53B14;
|
|
L_02C53AFC: ; // 0x2c53afc
|
|
/* 02C53AFC */ _t29 = cpu->r[29] + 0x00000000u;
|
|
/* 02C53AFC */ cpu->r[7] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02C53B00 */ cpu->r[12] = cpu->r[7] + 0x00000001u;
|
|
/* 02C53B04 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], cpu->r[27]);
|
|
/* 02C53B08 */ _t30 = cpu->r[29] + 0x00000000u;
|
|
/* 02C53B08 */ rbrew_write32(cpu->mem, _t30, cpu->r[12]);
|
|
/* 02C53B0C */ _t31 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C53B0C */ _t32 = _t31 & 0x00000001u;
|
|
/* 02C53B0C */ if (_t32) goto L_02C53AE0; else goto L_02C53B10;
|
|
L_02C53B10: ; // 0x2c53b10
|
|
/* 02C53B10 */ goto L_02C53B20;
|
|
L_02C53B14: ; // 0x2c53b14
|
|
/* 02C53B14 */ _t33 = cpu->r[29] + 0x00000000u;
|
|
/* 02C53B14 */ cpu->r[0] = rbrew_read32(cpu->mem, _t33);
|
|
/* 02C53B18 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], cpu->r[27]);
|
|
/* 02C53B1C */ _t34 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C53B1C */ _t35 = _t34 & 0x00000001u;
|
|
/* 02C53B1C */ if (_t35) goto L_02C53B38; else goto L_02C53B20;
|
|
L_02C53B20: ; // 0x2c53b20
|
|
/* 02C53B20 */ /* nop */
|
|
/* 02C53B24 */ _t36 = cpu->r[1] + 0x00000024u;
|
|
/* 02C53B24 */ cpu->r[0] = rbrew_read32(cpu->mem, _t36);
|
|
/* 02C53B28 */ cpu->lr = cpu->r[0];
|
|
/* 02C53B2C */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02C53B30 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C53B34 */ return;
|
|
L_02C53B38: ; // 0x2c53b38
|
|
/* 02C53B38 */ _t37 = cpu->r[31] + 0x00000000u;
|
|
/* 02C53B38 */ cpu->r[12] = rbrew_read32(cpu->mem, _t37);
|
|
/* 02C53B3C */ _t38 = cpu->r[12] + 0x0000000Cu;
|
|
/* 02C53B3C */ cpu->r[0] = rbrew_read32(cpu->mem, _t38);
|
|
/* 02C53B40 */ cpu->ctr = cpu->r[0];
|
|
/* 02C53B44 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C53B48 */ cpu->r[5] = cpu->r[28];
|
|
/* 02C53B4C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02C53B50 */ _t39 = cpu->r[29] + 0x00000000u;
|
|
/* 02C53B50 */ cpu->r[9] = rbrew_read32(cpu->mem, _t39);
|
|
/* 02C53B54 */ _t40 = cpu->r[29] + 0x00000010u;
|
|
/* 02C53B54 */ rbrew_write32(cpu->mem, _t40, cpu->r[3]);
|
|
/* 02C53B58 */ _t41 = cpu->r[29] + 0x00000008u;
|
|
/* 02C53B58 */ rbrew_write32(cpu->mem, _t41, cpu->r[9]);
|
|
L_02C53B5C: ; // 0x2c53b5c
|
|
/* 02C53B5C */ _t42 = cpu->r[29] + 0x00000000u;
|
|
/* 02C53B5C */ cpu->r[12] = rbrew_read32(cpu->mem, _t42);
|
|
/* 02C53B60 */ cpu->r[11] = 0xFFFFFFFFu;
|
|
/* 02C53B64 */ cpu->r[12] = cpu->r[12] + 0x00000001u;
|
|
/* 02C53B68 */ _t43 = cpu->r[29] + 0x00000004u;
|
|
/* 02C53B68 */ rbrew_write32(cpu->mem, _t43, cpu->r[11]);
|
|
/* 02C53B6C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], cpu->r[27]);
|
|
/* 02C53B70 */ _t44 = cpu->r[29] + 0x00000000u;
|
|
/* 02C53B70 */ rbrew_write32(cpu->mem, _t44, cpu->r[12]);
|
|
/* 02C53B74 */ _t45 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C53B74 */ _t46 = _t45 & 0x00000001u;
|
|
/* 02C53B74 */ if (_t46) goto L_02C53B78; else goto L_02C53C08;
|
|
L_02C53B78: ; // 0x2c53b78
|
|
/* 02C53B78 */ cpu->r[26] = 0xFFFFFFFFu;
|
|
L_02C53B7C: ; // 0x2c53b7c
|
|
/* 02C53B7C */ cpu->r[0] = (uint32_t)((int32_t)cpu->r[12] * (int32_t)0x00000018u);
|
|
/* 02C53B80 */ _t47 = cpu->r[28] + 0x0000001Cu;
|
|
/* 02C53B80 */ cpu->r[8] = rbrew_read32(cpu->mem, _t47);
|
|
/* 02C53B84 */ cpu->r[3] = cpu->r[30];
|
|
/* 02C53B88 */ cpu->r[4] = cpu->r[8] + cpu->r[0];
|
|
/* 02C53B8C */ Gambit_fn_02C52CCC(cpu);
|
|
/* 02C53B90 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C53B94 */ _t48 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C53B94 */ _t49 = _t48 & 0x00000001u;
|
|
/* 02C53B94 */ if (_t49) goto L_02C53B98; else goto L_02C53BCC;
|
|
L_02C53B98: ; // 0x2c53b98
|
|
/* 02C53B98 */ _t50 = cpu->r[29] + 0x00000000u;
|
|
/* 02C53B98 */ cpu->r[12] = rbrew_read32(cpu->mem, _t50);
|
|
/* 02C53B9C */ _t51 = cpu->r[29] + 0x00000008u;
|
|
/* 02C53B9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t51);
|
|
/* 02C53BA0 */ cpu->r[6] = cpu->r[12] + 0x00000001u;
|
|
/* 02C53BA4 */ _t52 = cpu->r[29] + 0x00000004u;
|
|
/* 02C53BA4 */ rbrew_write32(cpu->mem, _t52, cpu->r[26]);
|
|
/* 02C53BA8 */ cpu->r[0] = cpu->r[12] - cpu->r[0];
|
|
/* 02C53BAC */ _t53 = cpu->r[29] + 0x00000000u;
|
|
/* 02C53BAC */ rbrew_write32(cpu->mem, _t53, cpu->r[6]);
|
|
/* 02C53BB0 */ _t54 = cpu->r[29] + 0x0000000Cu;
|
|
/* 02C53BB0 */ rbrew_write32(cpu->mem, _t54, cpu->r[0]);
|
|
/* 02C53BB4 */ /* nop */
|
|
/* 02C53BB8 */ _t55 = cpu->r[1] + 0x00000024u;
|
|
/* 02C53BB8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t55);
|
|
/* 02C53BBC */ cpu->lr = cpu->r[0];
|
|
/* 02C53BC0 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02C53BC4 */ cpu->r[3] = 0x00000001u;
|
|
/* 02C53BC8 */ return;
|
|
L_02C53BCC: ; // 0x2c53bcc
|
|
/* 02C53BCC */ _t56 = cpu->r[31] + 0x00000000u;
|
|
/* 02C53BCC */ cpu->r[7] = rbrew_read32(cpu->mem, _t56);
|
|
/* 02C53BD0 */ _t57 = cpu->r[7] + 0x0000000Cu;
|
|
/* 02C53BD0 */ cpu->r[8] = rbrew_read32(cpu->mem, _t57);
|
|
/* 02C53BD4 */ cpu->ctr = cpu->r[8];
|
|
/* 02C53BD8 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C53BDC */ cpu->r[5] = cpu->r[28];
|
|
/* 02C53BE0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02C53BE4 */ _t58 = cpu->r[29] + 0x00000010u;
|
|
/* 02C53BE4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t58);
|
|
/* 02C53BE8 */ _t59 = cpu->r[29] + 0x00000004u;
|
|
/* 02C53BE8 */ rbrew_write32(cpu->mem, _t59, cpu->r[3]);
|
|
/* 02C53BEC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[3]);
|
|
/* 02C53BF0 */ _t60 = cpu->r[29] + 0x00000000u;
|
|
/* 02C53BF0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t60);
|
|
/* 02C53BF4 */ _t61 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C53BF4 */ _t62 = _t61 & 0x00000001u;
|
|
/* 02C53BF4 */ if (_t62) goto L_02C53BF8; else goto L_02C53C08;
|
|
L_02C53BF8: ; // 0x2c53bf8
|
|
/* 02C53BF8 */ cpu->r[12] = cpu->r[12] + 0x00000001u;
|
|
/* 02C53BFC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], cpu->r[27]);
|
|
/* 02C53C00 */ _t63 = cpu->r[29] + 0x00000000u;
|
|
/* 02C53C00 */ rbrew_write32(cpu->mem, _t63, cpu->r[12]);
|
|
/* 02C53C04 */ _t64 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C53C04 */ _t65 = _t64 & 0x00000001u;
|
|
/* 02C53C04 */ if (_t65) goto L_02C53B7C; else goto L_02C53C08;
|
|
L_02C53C08: ; // 0x2c53c08
|
|
/* 02C53C08 */ _t66 = cpu->r[29] + 0x00000008u;
|
|
/* 02C53C08 */ cpu->r[8] = rbrew_read32(cpu->mem, _t66);
|
|
/* 02C53C0C */ cpu->r[0] = cpu->r[12] - cpu->r[8];
|
|
/* 02C53C10 */ _t67 = cpu->r[29] + 0x0000000Cu;
|
|
/* 02C53C10 */ rbrew_write32(cpu->mem, _t67, cpu->r[0]);
|
|
/* 02C53C14 */ /* nop */
|
|
/* 02C53C18 */ _t68 = cpu->r[1] + 0x00000024u;
|
|
/* 02C53C18 */ cpu->r[0] = rbrew_read32(cpu->mem, _t68);
|
|
/* 02C53C1C */ cpu->lr = cpu->r[0];
|
|
/* 02C53C20 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02C53C24 */ cpu->r[3] = 0x00000001u;
|
|
/* 02C53C28 */ return;
|
|
}
|
|
|
|
// fn_02C53C2C @ 0x2c53c2c
|
|
void Gambit_fn_02C53C2C(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_02C53C2C: ; // 0x2c53c2c
|
|
/* 02C53C2C */ cpu->r[0] = cpu->lr;
|
|
/* 02C53C30 */ _t0 = cpu->r[1] + 0xFFFFFFD0u;
|
|
/* 02C53C30 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C53C30 */ cpu->r[1] = _t0;
|
|
/* 02C53C34 */ _t1 = cpu->r[1] + 0x00000028u;
|
|
/* 02C53C34 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02C53C38 */ _t2 = cpu->r[1] + 0x00000020u;
|
|
/* 02C53C38 */ rbrew_write32(cpu->mem, _t2, cpu->r[28]);
|
|
/* 02C53C3C */ cpu->r[30] = 0x00000000u;
|
|
/* 02C53C40 */ _t3 = cpu->r[1] + 0x00000024u;
|
|
/* 02C53C40 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 02C53C44 */ _t4 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02C53C44 */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
|
|
/* 02C53C48 */ _t5 = cpu->r[1] + 0x00000034u;
|
|
/* 02C53C48 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02C53C4C */ cpu->r[29] = cpu->r[4];
|
|
/* 02C53C50 */ cpu->r[0] = 0xFFFFFFFFu;
|
|
/* 02C53C54 */ _t6 = cpu->r[1] + 0x00000018u;
|
|
/* 02C53C54 */ rbrew_write32(cpu->mem, _t6, cpu->r[30]);
|
|
/* 02C53C58 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02C53C5C */ _t7 = cpu->r[1] + 0x00000010u;
|
|
/* 02C53C5C */ rbrew_write32(cpu->mem, _t7, cpu->r[30]);
|
|
/* 02C53C60 */ _t8 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C53C60 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
/* 02C53C64 */ cpu->r[31] = cpu->r[30];
|
|
/* 02C53C68 */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 02C53C68 */ rbrew_write32(cpu->mem, _t9, cpu->r[30]);
|
|
/* 02C53C6C */ cpu->r[28] = cpu->r[3];
|
|
/* 02C53C70 */ _t10 = cpu->r[1] + 0x00000008u;
|
|
/* 02C53C70 */ rbrew_write32(cpu->mem, _t10, cpu->r[30]);
|
|
/* 02C53C74 */ Gambit_fn_02C53948(cpu);
|
|
/* 02C53C78 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C53C7C */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C53C7C */ _t12 = _t11 & 0x00000001u;
|
|
/* 02C53C7C */ if (_t12) goto L_02C53CB8; else goto L_02C53C80;
|
|
L_02C53C80: ; // 0x2c53c80
|
|
/* 02C53C80 */ cpu->r[29] = cpu->r[29] + 0xFFFFFFFAu;
|
|
/* 02C53C84 */ cpu->r[30] = 0x00000000u;
|
|
L_02C53C88: ; // 0x2c53c88
|
|
/* 02C53C88 */ _t13 = cpu->r[1] + 0x00000010u;
|
|
/* 02C53C88 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02C53C8C */ cpu->r[31] = cpu->r[31] + 0x00000001u;
|
|
/* 02C53C90 */ _t14 = cpu->r[29] + 0x00000006u;
|
|
/* 02C53C90 */ rbrew_write16(cpu->mem, _t14, (uint16_t)cpu->r[0]);
|
|
/* 02C53C90 */ cpu->r[29] = _t14;
|
|
/* 02C53C94 */ _t15 = cpu->r[1] + 0x00000014u;
|
|
/* 02C53C94 */ cpu->r[11] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02C53C98 */ cpu->r[3] = cpu->r[28];
|
|
/* 02C53C9C */ _t16 = cpu->r[29] + 0x00000004u;
|
|
/* 02C53C9C */ rbrew_write16(cpu->mem, _t16, (uint16_t)cpu->r[30]);
|
|
/* 02C53CA0 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02C53CA4 */ _t17 = cpu->r[29] + 0x00000002u;
|
|
/* 02C53CA4 */ rbrew_write16(cpu->mem, _t17, (uint16_t)cpu->r[11]);
|
|
/* 02C53CA8 */ Gambit_fn_02C53948(cpu);
|
|
/* 02C53CAC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C53CB0 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C53CB0 */ _t19 = _t18 & 0x00000001u;
|
|
/* 02C53CB0 */ if (_t19) goto L_02C53CB4; else goto L_02C53C88;
|
|
L_02C53CB4: ; // 0x2c53cb4
|
|
/* 02C53CB4 */ cpu->r[29] = cpu->r[29] + 0x00000006u;
|
|
L_02C53CB8: ; // 0x2c53cb8
|
|
/* 02C53CB8 */ _t20 = cpu->r[29] + 0x00000002u;
|
|
/* 02C53CB8 */ rbrew_write16(cpu->mem, _t20, (uint16_t)cpu->r[30]);
|
|
/* 02C53CBC */ _t21 = cpu->r[29] + 0x00000004u;
|
|
/* 02C53CBC */ rbrew_write16(cpu->mem, _t21, (uint16_t)cpu->r[30]);
|
|
/* 02C53CC0 */ _t22 = cpu->r[29] + 0x00000000u;
|
|
/* 02C53CC0 */ rbrew_write16(cpu->mem, _t22, (uint16_t)cpu->r[30]);
|
|
/* 02C53CC4 */ _t23 = cpu->r[1] + 0x00000020u;
|
|
/* 02C53CC4 */ cpu->r[28] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02C53CC8 */ _t24 = cpu->r[1] + 0x00000024u;
|
|
/* 02C53CC8 */ cpu->r[29] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02C53CCC */ _t25 = cpu->r[1] + 0x00000034u;
|
|
/* 02C53CCC */ cpu->r[0] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02C53CD0 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C53CD4 */ _t26 = cpu->r[1] + 0x00000028u;
|
|
/* 02C53CD4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02C53CD8 */ cpu->lr = cpu->r[0];
|
|
/* 02C53CDC */ _t27 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02C53CDC */ cpu->r[31] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02C53CE0 */ cpu->r[1] = cpu->r[1] + 0x00000030u;
|
|
/* 02C53CE4 */ return;
|
|
}
|
|
|
|
// fn_02C53C30 @ 0x2c53c30
|
|
void Gambit_fn_02C53C30(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_02C53C30: ; // 0x2c53c30
|
|
/* 02C53C30 */ _t0 = cpu->r[1] + 0xFFFFFFD0u;
|
|
/* 02C53C30 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C53C30 */ cpu->r[1] = _t0;
|
|
/* 02C53C34 */ _t1 = cpu->r[1] + 0x00000028u;
|
|
/* 02C53C34 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02C53C38 */ _t2 = cpu->r[1] + 0x00000020u;
|
|
/* 02C53C38 */ rbrew_write32(cpu->mem, _t2, cpu->r[28]);
|
|
/* 02C53C3C */ cpu->r[30] = 0x00000000u;
|
|
/* 02C53C40 */ _t3 = cpu->r[1] + 0x00000024u;
|
|
/* 02C53C40 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 02C53C44 */ _t4 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02C53C44 */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
|
|
/* 02C53C48 */ _t5 = cpu->r[1] + 0x00000034u;
|
|
/* 02C53C48 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02C53C4C */ cpu->r[29] = cpu->r[4];
|
|
/* 02C53C50 */ cpu->r[0] = 0xFFFFFFFFu;
|
|
/* 02C53C54 */ _t6 = cpu->r[1] + 0x00000018u;
|
|
/* 02C53C54 */ rbrew_write32(cpu->mem, _t6, cpu->r[30]);
|
|
/* 02C53C58 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02C53C5C */ _t7 = cpu->r[1] + 0x00000010u;
|
|
/* 02C53C5C */ rbrew_write32(cpu->mem, _t7, cpu->r[30]);
|
|
/* 02C53C60 */ _t8 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C53C60 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
/* 02C53C64 */ cpu->r[31] = cpu->r[30];
|
|
/* 02C53C68 */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 02C53C68 */ rbrew_write32(cpu->mem, _t9, cpu->r[30]);
|
|
/* 02C53C6C */ cpu->r[28] = cpu->r[3];
|
|
/* 02C53C70 */ _t10 = cpu->r[1] + 0x00000008u;
|
|
/* 02C53C70 */ rbrew_write32(cpu->mem, _t10, cpu->r[30]);
|
|
/* 02C53C74 */ Gambit_fn_02C53948(cpu);
|
|
/* 02C53C78 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C53C7C */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C53C7C */ _t12 = _t11 & 0x00000001u;
|
|
/* 02C53C7C */ if (_t12) goto L_02C53CB8; else goto L_02C53C80;
|
|
L_02C53C80: ; // 0x2c53c80
|
|
/* 02C53C80 */ cpu->r[29] = cpu->r[29] + 0xFFFFFFFAu;
|
|
/* 02C53C84 */ cpu->r[30] = 0x00000000u;
|
|
L_02C53C88: ; // 0x2c53c88
|
|
/* 02C53C88 */ _t13 = cpu->r[1] + 0x00000010u;
|
|
/* 02C53C88 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02C53C8C */ cpu->r[31] = cpu->r[31] + 0x00000001u;
|
|
/* 02C53C90 */ _t14 = cpu->r[29] + 0x00000006u;
|
|
/* 02C53C90 */ rbrew_write16(cpu->mem, _t14, (uint16_t)cpu->r[0]);
|
|
/* 02C53C90 */ cpu->r[29] = _t14;
|
|
/* 02C53C94 */ _t15 = cpu->r[1] + 0x00000014u;
|
|
/* 02C53C94 */ cpu->r[11] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02C53C98 */ cpu->r[3] = cpu->r[28];
|
|
/* 02C53C9C */ _t16 = cpu->r[29] + 0x00000004u;
|
|
/* 02C53C9C */ rbrew_write16(cpu->mem, _t16, (uint16_t)cpu->r[30]);
|
|
/* 02C53CA0 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02C53CA4 */ _t17 = cpu->r[29] + 0x00000002u;
|
|
/* 02C53CA4 */ rbrew_write16(cpu->mem, _t17, (uint16_t)cpu->r[11]);
|
|
/* 02C53CA8 */ Gambit_fn_02C53948(cpu);
|
|
/* 02C53CAC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C53CB0 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C53CB0 */ _t19 = _t18 & 0x00000001u;
|
|
/* 02C53CB0 */ if (_t19) goto L_02C53CB4; else goto L_02C53C88;
|
|
L_02C53CB4: ; // 0x2c53cb4
|
|
/* 02C53CB4 */ cpu->r[29] = cpu->r[29] + 0x00000006u;
|
|
L_02C53CB8: ; // 0x2c53cb8
|
|
/* 02C53CB8 */ _t20 = cpu->r[29] + 0x00000002u;
|
|
/* 02C53CB8 */ rbrew_write16(cpu->mem, _t20, (uint16_t)cpu->r[30]);
|
|
/* 02C53CBC */ _t21 = cpu->r[29] + 0x00000004u;
|
|
/* 02C53CBC */ rbrew_write16(cpu->mem, _t21, (uint16_t)cpu->r[30]);
|
|
/* 02C53CC0 */ _t22 = cpu->r[29] + 0x00000000u;
|
|
/* 02C53CC0 */ rbrew_write16(cpu->mem, _t22, (uint16_t)cpu->r[30]);
|
|
/* 02C53CC4 */ _t23 = cpu->r[1] + 0x00000020u;
|
|
/* 02C53CC4 */ cpu->r[28] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02C53CC8 */ _t24 = cpu->r[1] + 0x00000024u;
|
|
/* 02C53CC8 */ cpu->r[29] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02C53CCC */ _t25 = cpu->r[1] + 0x00000034u;
|
|
/* 02C53CCC */ cpu->r[0] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02C53CD0 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C53CD4 */ _t26 = cpu->r[1] + 0x00000028u;
|
|
/* 02C53CD4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02C53CD8 */ cpu->lr = cpu->r[0];
|
|
/* 02C53CDC */ _t27 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02C53CDC */ cpu->r[31] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02C53CE0 */ cpu->r[1] = cpu->r[1] + 0x00000030u;
|
|
/* 02C53CE4 */ return;
|
|
}
|
|
|
|
// fn_02C53CE8 @ 0x2c53ce8
|
|
void Gambit_fn_02C53CE8(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_02C53CE8: ; // 0x2c53ce8
|
|
/* 02C53CE8 */ _t0 = cpu->r[1] + 0xFFFFFFC8u;
|
|
/* 02C53CE8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C53CE8 */ cpu->r[1] = _t0;
|
|
/* 02C53CEC */ cpu->r[0] = cpu->lr;
|
|
/* 02C53CF0 */ /* nop */
|
|
/* 02C53CF4 */ cpu->r[30] = 0x00000000u;
|
|
/* 02C53CF8 */ cpu->r[28] = cpu->r[5];
|
|
/* 02C53CFC */ _t1 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02C53CFC */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02C53D00 */ cpu->r[0] = 0xFFFFFFFFu;
|
|
/* 02C53D04 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02C53D04 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02C53D08 */ cpu->r[26] = cpu->r[3];
|
|
/* 02C53D0C */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C53D0C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02C53D10 */ cpu->r[29] = cpu->r[6];
|
|
/* 02C53D14 */ cpu->r[27] = cpu->r[4];
|
|
/* 02C53D18 */ _t4 = cpu->r[1] + 0x00000010u;
|
|
/* 02C53D18 */ rbrew_write32(cpu->mem, _t4, cpu->r[30]);
|
|
/* 02C53D1C */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02C53D20 */ _t5 = cpu->r[1] + 0x00000014u;
|
|
/* 02C53D20 */ rbrew_write32(cpu->mem, _t5, cpu->r[30]);
|
|
/* 02C53D24 */ cpu->r[31] = cpu->r[30];
|
|
/* 02C53D28 */ _t6 = cpu->r[1] + 0x00000018u;
|
|
/* 02C53D28 */ rbrew_write32(cpu->mem, _t6, cpu->r[30]);
|
|
/* 02C53D2C */ Gambit_fn_02C53A40(cpu);
|
|
/* 02C53D30 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C53D34 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C53D34 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02C53D34 */ if (_t8) goto L_02C53D78; else goto L_02C53D38;
|
|
L_02C53D38: ; // 0x2c53d38
|
|
/* 02C53D38 */ cpu->r[27] = cpu->r[27] + 0xFFFFFFFAu;
|
|
L_02C53D3C: ; // 0x2c53d3c
|
|
/* 02C53D3C */ _t9 = cpu->r[1] + 0x00000010u;
|
|
/* 02C53D3C */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02C53D40 */ cpu->r[31] = cpu->r[31] + 0x00000001u;
|
|
/* 02C53D44 */ cpu->r[3] = cpu->r[26];
|
|
/* 02C53D48 */ _t10 = cpu->r[27] + 0x00000006u;
|
|
/* 02C53D48 */ rbrew_write16(cpu->mem, _t10, (uint16_t)cpu->r[0]);
|
|
/* 02C53D48 */ cpu->r[27] = _t10;
|
|
/* 02C53D4C */ _t11 = cpu->r[1] + 0x00000014u;
|
|
/* 02C53D4C */ cpu->r[9] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02C53D50 */ cpu->r[5] = cpu->r[28];
|
|
/* 02C53D54 */ _t12 = cpu->r[1] + 0x00000018u;
|
|
/* 02C53D54 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02C53D58 */ cpu->r[6] = cpu->r[29];
|
|
/* 02C53D5C */ _t13 = cpu->r[27] + 0x00000002u;
|
|
/* 02C53D5C */ rbrew_write16(cpu->mem, _t13, (uint16_t)cpu->r[9]);
|
|
/* 02C53D60 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02C53D64 */ _t14 = cpu->r[27] + 0x00000004u;
|
|
/* 02C53D64 */ rbrew_write16(cpu->mem, _t14, (uint16_t)cpu->r[0]);
|
|
/* 02C53D68 */ Gambit_fn_02C53A40(cpu);
|
|
/* 02C53D6C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C53D70 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C53D70 */ _t16 = _t15 & 0x00000001u;
|
|
/* 02C53D70 */ if (_t16) goto L_02C53D74; else goto L_02C53D3C;
|
|
L_02C53D74: ; // 0x2c53d74
|
|
/* 02C53D74 */ cpu->r[27] = cpu->r[27] + 0x00000006u;
|
|
L_02C53D78: ; // 0x2c53d78
|
|
/* 02C53D78 */ _t17 = cpu->r[27] + 0x00000000u;
|
|
/* 02C53D78 */ rbrew_write16(cpu->mem, _t17, (uint16_t)cpu->r[30]);
|
|
/* 02C53D7C */ cpu->r[3] = cpu->r[31];
|
|
/* 02C53D80 */ _t18 = cpu->r[27] + 0x00000004u;
|
|
/* 02C53D80 */ rbrew_write16(cpu->mem, _t18, (uint16_t)cpu->r[30]);
|
|
/* 02C53D84 */ _t19 = cpu->r[27] + 0x00000002u;
|
|
/* 02C53D84 */ rbrew_write16(cpu->mem, _t19, (uint16_t)cpu->r[30]);
|
|
/* 02C53D88 */ /* nop */
|
|
/* 02C53D8C */ _t20 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02C53D8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02C53D90 */ cpu->lr = cpu->r[0];
|
|
/* 02C53D94 */ cpu->r[1] = cpu->r[1] + 0x00000038u;
|
|
/* 02C53D98 */ return;
|
|
}
|
|
|
|
// fn_02C53D9C @ 0x2c53d9c
|
|
void Gambit_fn_02C53D9C(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;
|
|
|
|
L_02C53D9C: ; // 0x2c53d9c
|
|
/* 02C53D9C */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02C53D9C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C53D9C */ cpu->r[1] = _t0;
|
|
/* 02C53DA0 */ _t1 = cpu->r[4] + 0x00000000u;
|
|
/* 02C53DA0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02C53DA4 */ _t2 = cpu->r[4] + 0x00000004u;
|
|
/* 02C53DA4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02C53DA8 */ cpu->r[10] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C53DAC */ _t3 = cpu->r[1] + 0x00000008u;
|
|
/* 02C53DAC */ rbrew_write32(cpu->mem, _t3, cpu->r[11]);
|
|
/* 02C53DB0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], cpu->r[9]);
|
|
/* 02C53DB4 */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C53DB4 */ rbrew_write32(cpu->mem, _t4, cpu->r[9]);
|
|
/* 02C53DB8 */ _t5 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C53DB8 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02C53DB8 */ if (_t6) goto L_02C53DC0; else goto L_02C53DBC;
|
|
L_02C53DBC: ; // 0x2c53dbc
|
|
/* 02C53DBC */ cpu->r[10] = cpu->r[1] + 0x00000008u;
|
|
L_02C53DC0: ; // 0x2c53dc0
|
|
/* 02C53DC0 */ cpu->r[8] = (uint32_t)((int32_t)cpu->r[9] * (int32_t)0x00000030u);
|
|
/* 02C53DC4 */ _t7 = cpu->r[10] + 0x00000000u;
|
|
/* 02C53DC4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02C53DC8 */ cpu->r[10] = cpu->r[8] + 0x0000003Fu;
|
|
/* 02C53DCC */ _t8 = cpu->r[4] + 0x00000008u;
|
|
/* 02C53DCC */ cpu->r[7] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C53DD0 */ cpu->r[0] = rbrew_rlwinm(cpu->r[11], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02C53DD4 */ cpu->r[12] = rbrew_rlwinm(cpu->r[10], 0x00000000u, 0x00000000u, 0x00000019u);
|
|
/* 02C53DD8 */ _t9 = cpu->r[3] + 0x00000010u;
|
|
/* 02C53DD8 */ rbrew_write32(cpu->mem, _t9, cpu->r[0]);
|
|
/* 02C53DDC */ _t10 = cpu->r[3] + 0x00000008u;
|
|
/* 02C53DDC */ rbrew_write32(cpu->mem, _t10, cpu->r[12]);
|
|
/* 02C53DE0 */ _t11 = cpu->r[4] + 0x0000000Du;
|
|
/* 02C53DE0 */ cpu->r[8] = rbrew_read8(cpu->mem, _t11);
|
|
/* 02C53DE4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 02C53DE8 */ cpu->r[10] = cpu->r[3] + 0x00000008u;
|
|
/* 02C53DEC */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C53DEC */ _t13 = _t12 & 0x00000001u;
|
|
/* 02C53DEC */ if (_t13) goto L_02C53E20; else goto L_02C53DF0;
|
|
L_02C53DF0: ; // 0x2c53df0
|
|
/* 02C53DF0 */ _t14 = cpu->r[4] + 0x0000000Cu;
|
|
/* 02C53DF0 */ cpu->r[9] = rbrew_read8(cpu->mem, _t14);
|
|
/* 02C53DF4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 02C53DF8 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C53DF8 */ _t16 = _t15 & 0x00000001u;
|
|
/* 02C53DF8 */ if (_t16) goto L_02C53E20; else goto L_02C53DFC;
|
|
L_02C53DFC: ; // 0x2c53dfc
|
|
/* 02C53DFC */ cpu->r[8] = (uint32_t)((int32_t)cpu->r[7] * (int32_t)0x0000000Cu);
|
|
/* 02C53E00 */ cpu->r[12] = cpu->r[8] + 0x00000003u;
|
|
/* 02C53E04 */ cpu->r[0] = rbrew_rlwinm(cpu->r[12], 0x00000000u, 0x00000000u, 0x0000001Du);
|
|
/* 02C53E08 */ _t17 = cpu->r[10] + 0x00000010u;
|
|
/* 02C53E08 */ rbrew_write32(cpu->mem, _t17, cpu->r[0]);
|
|
/* 02C53E0C */ _t18 = cpu->r[4] + 0x0000000Eu;
|
|
/* 02C53E0C */ cpu->r[7] = rbrew_read8(cpu->mem, _t18);
|
|
/* 02C53E10 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 02C53E14 */ cpu->r[8] = 0x00000000u;
|
|
/* 02C53E18 */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C53E18 */ _t20 = _t19 & 0x00000001u;
|
|
/* 02C53E18 */ if (_t20) goto L_02C53E3C; else goto L_02C53E1C;
|
|
L_02C53E1C: ; // 0x2c53e1c
|
|
/* 02C53E1C */ goto L_02C53E34;
|
|
L_02C53E20: ; // 0x2c53e20
|
|
/* 02C53E20 */ cpu->r[8] = 0x00000000u;
|
|
/* 02C53E24 */ _t21 = cpu->r[10] + 0x00000010u;
|
|
/* 02C53E24 */ rbrew_write32(cpu->mem, _t21, cpu->r[8]);
|
|
/* 02C53E28 */ _t22 = cpu->r[4] + 0x0000000Eu;
|
|
/* 02C53E28 */ cpu->r[7] = rbrew_read8(cpu->mem, _t22);
|
|
/* 02C53E2C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 02C53E30 */ _t23 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C53E30 */ _t24 = _t23 & 0x00000001u;
|
|
/* 02C53E30 */ if (_t24) goto L_02C53E3C; else goto L_02C53E34;
|
|
L_02C53E34: ; // 0x2c53e34
|
|
/* 02C53E34 */ _t25 = cpu->r[4] + 0x00000004u;
|
|
/* 02C53E34 */ cpu->r[11] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02C53E38 */ cpu->r[8] = rbrew_rlwinm(cpu->r[11], 0x00000004u, 0x00000000u, 0x0000001Bu);
|
|
L_02C53E3C: ; // 0x2c53e3c
|
|
/* 02C53E3C */ cpu->r[12] = 0x00000000u;
|
|
/* 02C53E40 */ _t26 = cpu->r[10] + 0x00000004u;
|
|
/* 02C53E40 */ rbrew_write32(cpu->mem, _t26, cpu->r[12]);
|
|
/* 02C53E44 */ cpu->r[12] = 0x00000003u;
|
|
/* 02C53E48 */ cpu->r[9] = cpu->r[10] + 0xFFFFFFF8u;
|
|
/* 02C53E4C */ cpu->ctr = cpu->r[12];
|
|
/* 02C53E50 */ _t27 = cpu->r[10] + 0x00000018u;
|
|
/* 02C53E50 */ rbrew_write32(cpu->mem, _t27, cpu->r[8]);
|
|
L_02C53E54: ; // 0x2c53e54
|
|
/* 02C53E54 */ _t28 = cpu->r[9] + 0x0000000Cu;
|
|
/* 02C53E54 */ cpu->r[8] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02C53E58 */ _t29 = cpu->r[9] + 0x00000008u;
|
|
/* 02C53E58 */ cpu->r[11] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02C53E58 */ cpu->r[9] = _t29;
|
|
/* 02C53E5C */ cpu->r[7] = cpu->r[8] + cpu->r[11];
|
|
/* 02C53E60 */ _t30 = cpu->r[9] + 0x0000000Cu;
|
|
/* 02C53E60 */ rbrew_write32(cpu->mem, _t30, cpu->r[7]);
|
|
/* 02C53E64 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02C53E64 */ _t31 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02C53E64 */ _t32 = _t31 >> (0x00000002u & 31u);
|
|
/* 02C53E64 */ _t33 = _t32 & 0x00000001u;
|
|
/* 02C53E64 */ if (_t33) goto L_02C53E54; else goto L_02C53E68;
|
|
L_02C53E68: ; // 0x2c53e68
|
|
/* 02C53E68 */ cpu->r[0] = rbrew_rlwinm(cpu->r[12], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 02C53E6C */ cpu->r[12] = cpu->r[10] + cpu->r[0];
|
|
/* 02C53E70 */ _t34 = cpu->r[10] + cpu->r[0];
|
|
/* 02C53E70 */ cpu->r[8] = rbrew_read32(cpu->mem, _t34);
|
|
/* 02C53E74 */ _t35 = cpu->r[12] + 0x00000004u;
|
|
/* 02C53E74 */ cpu->r[7] = rbrew_read32(cpu->mem, _t35);
|
|
/* 02C53E78 */ _t36 = cpu->r[3] + 0x00000000u;
|
|
/* 02C53E78 */ rbrew_write32(cpu->mem, _t36, cpu->r[10]);
|
|
/* 02C53E7C */ cpu->r[0] = cpu->r[7] + cpu->r[8];
|
|
/* 02C53E80 */ _t37 = cpu->r[3] + 0x00000004u;
|
|
/* 02C53E80 */ rbrew_write32(cpu->mem, _t37, cpu->r[0]);
|
|
/* 02C53E84 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C53E88 */ return;
|
|
}
|
|
|
|
// fn_02C53E8C @ 0x2c53e8c
|
|
void Gambit_fn_02C53E8C(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;
|
|
|
|
L_02C53E8C: ; // 0x2c53e8c
|
|
/* 02C53E8C */ _t0 = cpu->r[1] + 0xFFFFFFD8u;
|
|
/* 02C53E8C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C53E8C */ cpu->r[1] = _t0;
|
|
/* 02C53E90 */ /* nop */
|
|
/* 02C53E94 */ cpu->r[0] = cpu->lr;
|
|
/* 02C53E98 */ _t1 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02C53E98 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02C53E9C */ cpu->r[29] = cpu->r[3];
|
|
/* 02C53EA0 */ cpu->r[30] = cpu->r[4];
|
|
/* 02C53EA4 */ _t2 = cpu->r[30] + 0x00000010u;
|
|
/* 02C53EA4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02C53EA8 */ cpu->r[31] = cpu->r[5];
|
|
/* 02C53EAC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02C53EB0 */ cpu->r[27] = cpu->r[30] + 0x00000010u;
|
|
/* 02C53EB4 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C53EB4 */ _t4 = _t3 & 0x00000001u;
|
|
/* 02C53EB4 */ if (_t4) goto L_02C53EB8; else goto L_02C53EC4;
|
|
L_02C53EB8: ; // 0x2c53eb8
|
|
/* 02C53EB8 */ cpu->r[3] = cpu->r[27];
|
|
/* 02C53EBC */ cpu->r[4] = cpu->r[30];
|
|
/* 02C53EC0 */ Gambit_fn_02C53D9C(cpu);
|
|
L_02C53EC4: ; // 0x2c53ec4
|
|
/* 02C53EC4 */ _t5 = cpu->r[27] + 0x00000004u;
|
|
/* 02C53EC4 */ cpu->r[7] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02C53EC8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[6]);
|
|
/* 02C53ECC */ _t6 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C53ECC */ _t7 = _t6 & 0x00000001u;
|
|
/* 02C53ECC */ if (_t7) goto L_02C53ED0; else goto L_02C53EE8;
|
|
L_02C53ED0: ; // 0x2c53ed0
|
|
/* 02C53ED0 */ /* nop */
|
|
/* 02C53ED4 */ _t8 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02C53ED4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C53ED8 */ cpu->lr = cpu->r[0];
|
|
/* 02C53EDC */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 02C53EE0 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C53EE4 */ return;
|
|
L_02C53EE8: ; // 0x2c53ee8
|
|
/* 02C53EE8 */ _t9 = cpu->r[30] + 0x00000000u;
|
|
/* 02C53EE8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02C53EEC */ _t10 = cpu->r[30] + 0x00000004u;
|
|
/* 02C53EEC */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02C53EF0 */ cpu->r[7] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C53EF4 */ _t11 = cpu->r[1] + 0x00000008u;
|
|
/* 02C53EF4 */ rbrew_write32(cpu->mem, _t11, cpu->r[12]);
|
|
/* 02C53EF8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], cpu->r[0]);
|
|
/* 02C53EFC */ _t12 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C53EFC */ rbrew_write32(cpu->mem, _t12, cpu->r[0]);
|
|
/* 02C53F00 */ _t13 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C53F00 */ _t14 = _t13 & 0x00000001u;
|
|
/* 02C53F00 */ if (_t14) goto L_02C53F08; else goto L_02C53F04;
|
|
L_02C53F04: ; // 0x2c53f04
|
|
/* 02C53F04 */ cpu->r[7] = cpu->r[1] + 0x00000008u;
|
|
L_02C53F08: ; // 0x2c53f08
|
|
/* 02C53F08 */ _t15 = cpu->r[7] + 0x00000000u;
|
|
/* 02C53F08 */ cpu->r[5] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02C53F0C */ cpu->r[8] = 0x00000000u;
|
|
/* 02C53F10 */ _t16 = cpu->r[30] + 0x00000008u;
|
|
/* 02C53F10 */ cpu->r[28] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02C53F14 */ _t17 = cpu->r[29] + 0x00000044u;
|
|
/* 02C53F14 */ rbrew_write32(cpu->mem, _t17, cpu->r[8]);
|
|
/* 02C53F18 */ _t18 = cpu->r[29] + 0x00000030u;
|
|
/* 02C53F18 */ rbrew_write32(cpu->mem, _t18, cpu->r[31]);
|
|
/* 02C53F1C */ _t19 = cpu->r[27] + 0x00000000u;
|
|
/* 02C53F1C */ cpu->r[11] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02C53F20 */ _t20 = cpu->r[11] + 0x00000008u;
|
|
/* 02C53F20 */ cpu->r[4] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02C53F24 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
|
|
/* 02C53F28 */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C53F28 */ _t22 = _t21 & 0x00000001u;
|
|
/* 02C53F28 */ if (_t22) goto L_02C53F34; else goto L_02C53F2C;
|
|
L_02C53F2C: ; // 0x2c53f2c
|
|
/* 02C53F2C */ _t23 = cpu->r[11] + 0x0000000Cu;
|
|
/* 02C53F2C */ cpu->r[0] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02C53F30 */ cpu->r[4] = cpu->r[31] + cpu->r[0];
|
|
L_02C53F34: ; // 0x2c53f34
|
|
/* 02C53F34 */ cpu->r[3] = cpu->r[29] + 0x00000038u;
|
|
/* 02C53F38 */ Gambit_fn_02C4EFC0(cpu);
|
|
/* 02C53F3C */ _t24 = cpu->r[27] + 0x00000000u;
|
|
/* 02C53F3C */ cpu->r[11] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02C53F40 */ _t25 = cpu->r[11] + 0x00000010u;
|
|
/* 02C53F40 */ cpu->r[4] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02C53F44 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
|
|
/* 02C53F48 */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C53F48 */ _t27 = _t26 & 0x00000001u;
|
|
/* 02C53F48 */ if (_t27) goto L_02C53F54; else goto L_02C53F4C;
|
|
L_02C53F4C: ; // 0x2c53f4c
|
|
/* 02C53F4C */ _t28 = cpu->r[11] + 0x00000014u;
|
|
/* 02C53F4C */ cpu->r[5] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02C53F50 */ cpu->r[4] = cpu->r[31] + cpu->r[5];
|
|
L_02C53F54: ; // 0x2c53f54
|
|
/* 02C53F54 */ cpu->r[5] = cpu->r[28];
|
|
/* 02C53F58 */ cpu->r[3] = cpu->r[29] + 0x0000001Cu;
|
|
/* 02C53F5C */ Gambit_fn_02C4F01C(cpu);
|
|
/* 02C53F60 */ _t29 = cpu->r[27] + 0x00000000u;
|
|
/* 02C53F60 */ cpu->r[11] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02C53F64 */ _t30 = cpu->r[11] + 0x00000000u;
|
|
/* 02C53F64 */ cpu->r[9] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02C53F68 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 02C53F6C */ _t31 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C53F6C */ _t32 = _t31 & 0x00000001u;
|
|
/* 02C53F6C */ if (_t32) goto L_02C53F78; else goto L_02C53F70;
|
|
L_02C53F70: ; // 0x2c53f70
|
|
/* 02C53F70 */ _t33 = cpu->r[11] + 0x00000004u;
|
|
/* 02C53F70 */ cpu->r[8] = rbrew_read32(cpu->mem, _t33);
|
|
/* 02C53F74 */ cpu->r[9] = cpu->r[31] + cpu->r[8];
|
|
L_02C53F78: ; // 0x2c53f78
|
|
/* 02C53F78 */ _t34 = cpu->r[29] + 0x0000002Cu;
|
|
/* 02C53F78 */ rbrew_write32(cpu->mem, _t34, cpu->r[9]);
|
|
/* 02C53F7C */ cpu->r[11] = 0x00000008u;
|
|
/* 02C53F80 */ _t35 = cpu->r[29] + 0x00000054u;
|
|
/* 02C53F80 */ rbrew_write32(cpu->mem, _t35, cpu->r[9]);
|
|
/* 02C53F84 */ _t36 = cpu->r[30] + 0x00000004u;
|
|
/* 02C53F84 */ cpu->r[9] = rbrew_read32(cpu->mem, _t36);
|
|
/* 02C53F88 */ _t37 = cpu->r[29] + 0x00000050u;
|
|
/* 02C53F88 */ rbrew_write32(cpu->mem, _t37, cpu->r[11]);
|
|
/* 02C53F8C */ _t38 = cpu->r[29] + 0x0000004Cu;
|
|
/* 02C53F8C */ rbrew_write32(cpu->mem, _t38, cpu->r[9]);
|
|
/* 02C53F90 */ _t39 = cpu->r[27] + 0x00000000u;
|
|
/* 02C53F90 */ cpu->r[11] = rbrew_read32(cpu->mem, _t39);
|
|
/* 02C53F94 */ _t40 = cpu->r[11] + 0x00000018u;
|
|
/* 02C53F94 */ cpu->r[10] = rbrew_read32(cpu->mem, _t40);
|
|
/* 02C53F98 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02C53F9C */ _t41 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C53F9C */ _t42 = _t41 & 0x00000001u;
|
|
/* 02C53F9C */ if (_t42) goto L_02C53FA8; else goto L_02C53FA0;
|
|
L_02C53FA0: ; // 0x2c53fa0
|
|
/* 02C53FA0 */ _t43 = cpu->r[11] + 0x0000001Cu;
|
|
/* 02C53FA0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t43);
|
|
/* 02C53FA4 */ cpu->r[10] = cpu->r[31] + cpu->r[0];
|
|
L_02C53FA8: ; // 0x2c53fa8
|
|
/* 02C53FA8 */ _t44 = cpu->r[29] + 0x00000058u;
|
|
/* 02C53FA8 */ rbrew_write32(cpu->mem, _t44, cpu->r[10]);
|
|
/* 02C53FAC */ /* nop */
|
|
/* 02C53FB0 */ _t45 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02C53FB0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t45);
|
|
/* 02C53FB4 */ cpu->lr = cpu->r[0];
|
|
/* 02C53FB8 */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 02C53FBC */ cpu->r[3] = 0x00000001u;
|
|
/* 02C53FC0 */ return;
|
|
}
|
|
|
|
// fn_02C53FC4 @ 0x2c53fc4
|
|
void Gambit_fn_02C53FC4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3;
|
|
|
|
L_02C53FC4: ; // 0x2c53fc4
|
|
/* 02C53FC4 */ cpu->r[0] = cpu->lr;
|
|
/* 02C53FC8 */ cpu->r[4] = cpu->r[3];
|
|
/* 02C53FCC */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 02C53FCC */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 02C53FD0 */ cpu->r[3] = cpu->r[4] + 0x00000010u;
|
|
/* 02C53FD4 */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02C53FD4 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 02C53FD4 */ cpu->r[1] = _t1;
|
|
/* 02C53FD8 */ Gambit_fn_02C53D9C(cpu);
|
|
/* 02C53FDC */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C53FDC */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02C53FE0 */ _t3 = cpu->r[4] + 0x00000014u;
|
|
/* 02C53FE0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02C53FE4 */ cpu->lr = cpu->r[0];
|
|
/* 02C53FE8 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02C53FEC */ return;
|
|
}
|
|
|
|
// fn_02C53FD4 @ 0x2c53fd4
|
|
void Gambit_fn_02C53FD4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2;
|
|
|
|
L_02C53FD4: ; // 0x2c53fd4
|
|
/* 02C53FD4 */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02C53FD4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C53FD4 */ cpu->r[1] = _t0;
|
|
/* 02C53FD8 */ Gambit_fn_02C53D9C(cpu);
|
|
/* 02C53FDC */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C53FDC */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02C53FE0 */ _t2 = cpu->r[4] + 0x00000014u;
|
|
/* 02C53FE0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02C53FE4 */ cpu->lr = cpu->r[0];
|
|
/* 02C53FE8 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02C53FEC */ return;
|
|
}
|
|
|
|
// fn_02C53FF0 @ 0x2c53ff0
|
|
void Gambit_fn_02C53FF0(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;
|
|
|
|
L_02C53FF0: ; // 0x2c53ff0
|
|
/* 02C53FF0 */ _t0 = cpu->r[1] + 0xFFFFFFD0u;
|
|
/* 02C53FF0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C53FF0 */ cpu->r[1] = _t0;
|
|
/* 02C53FF4 */ /* nop */
|
|
/* 02C53FF8 */ cpu->r[0] = cpu->lr;
|
|
/* 02C53FFC */ _t1 = cpu->r[1] + 0x00000034u;
|
|
/* 02C53FFC */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02C54000 */ cpu->r[29] = cpu->r[3];
|
|
/* 02C54004 */ cpu->r[24] = cpu->r[29] + 0x00000038u;
|
|
/* 02C54008 */ cpu->r[30] = cpu->r[4];
|
|
/* 02C5400C */ _t2 = cpu->r[30] + 0x00000008u;
|
|
/* 02C5400C */ cpu->r[4] = rbrew_read16(cpu->mem, _t2);
|
|
/* 02C54010 */ cpu->r[3] = cpu->r[24];
|
|
/* 02C54014 */ cpu->r[31] = 0x00000000u;
|
|
/* 02C54018 */ Gambit_fn_02C4EFDC(cpu);
|
|
/* 02C5401C */ _t3 = cpu->r[29] + 0x00000040u;
|
|
/* 02C5401C */ cpu->r[26] = rbrew_read16(cpu->mem, _t3);
|
|
/* 02C54020 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u);
|
|
/* 02C54024 */ cpu->r[25] = cpu->r[31];
|
|
/* 02C54028 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C54028 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02C54028 */ if (_t5) goto L_02C54100; else goto L_02C5402C;
|
|
L_02C5402C: ; // 0x2c5402c
|
|
/* 02C5402C */ cpu->r[28] = 0x00010000u;
|
|
/* 02C54030 */ cpu->r[27] = 0x00000000u;
|
|
/* 02C54034 */ cpu->r[30] = cpu->r[30] + 0x00000010u;
|
|
/* 02C54038 */ cpu->r[28] = cpu->r[28] + 0xFFFFFFFFu;
|
|
/* 02C5403C */ cpu->r[23] = cpu->r[27];
|
|
L_02C54040: ; // 0x2c54040
|
|
/* 02C54040 */ _t6 = cpu->r[29] + 0x00000048u;
|
|
/* 02C54040 */ cpu->r[10] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02C54044 */ cpu->r[11] = cpu->r[10] + cpu->r[27];
|
|
/* 02C54048 */ _t7 = cpu->r[11] + 0x00000004u;
|
|
/* 02C54048 */ cpu->r[7] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02C5404C */ cpu->r[4] = 0x00000000u;
|
|
/* 02C54050 */ _t8 = cpu->r[30] + 0x00000000u;
|
|
/* 02C54050 */ cpu->r[8] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C54054 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 02C54058 */ cpu->r[6] = cpu->r[11] + 0x00000004u;
|
|
/* 02C5405C */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C5405C */ _t10 = _t9 & 0x00000001u;
|
|
/* 02C5405C */ if (_t10) goto L_02C54064; else goto L_02C54060;
|
|
L_02C54060: ; // 0x2c54060
|
|
/* 02C54060 */ cpu->r[4] = cpu->r[6] + cpu->r[7];
|
|
L_02C54064: ; // 0x2c54064
|
|
/* 02C54064 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 02C54068 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C5406C */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C5406C */ _t12 = _t11 & 0x00000001u;
|
|
/* 02C5406C */ if (_t12) goto L_02C54074; else goto L_02C54070;
|
|
L_02C54070: ; // 0x2c54070
|
|
/* 02C54070 */ cpu->r[3] = cpu->r[30] + cpu->r[8];
|
|
L_02C54074: ; // 0x2c54074
|
|
/* 02C54074 */ Gambit_fn_02C60644(cpu);
|
|
/* 02C54078 */ cpu->r[5] = cpu->r[3];
|
|
/* 02C54078 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u);
|
|
/* 02C5407C */ _t13 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C5407C */ _t14 = _t13 & 0x00000001u;
|
|
/* 02C5407C */ if (_t14) goto L_02C540E8; else goto L_02C54080;
|
|
L_02C54080: ; // 0x2c54080
|
|
/* 02C54080 */ _t15 = cpu->r[24] + 0x00000000u;
|
|
/* 02C54080 */ cpu->r[11] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02C54084 */ _t16 = cpu->r[11] + cpu->r[23];
|
|
/* 02C54084 */ cpu->r[12] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02C54088 */ cpu->r[12] = rbrew_rlwinm(cpu->r[12], 0x00000000u, 0x00000002u, 0x00000010u);
|
|
/* 02C5408C */ _t17 = cpu->r[11] + cpu->r[23];
|
|
/* 02C5408C */ rbrew_write32(cpu->mem, _t17, cpu->r[12]);
|
|
/* 02C54090 */ _t18 = cpu->r[24] + 0x00000000u;
|
|
/* 02C54090 */ cpu->r[11] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02C54094 */ _t19 = cpu->r[11] + cpu->r[23];
|
|
/* 02C54094 */ cpu->r[12] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02C54098 */ cpu->r[0] = rbrew_rlwinm(cpu->r[5], 0x00000000u, 0x00000011u, 0x0000001Fu);
|
|
/* 02C5409C */ cpu->r[12] = cpu->r[12] | cpu->r[0];
|
|
/* 02C540A0 */ _t20 = cpu->r[11] + cpu->r[23];
|
|
/* 02C540A0 */ rbrew_write32(cpu->mem, _t20, cpu->r[12]);
|
|
/* 02C540A4 */ _t21 = cpu->r[24] + 0x00000000u;
|
|
/* 02C540A4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02C540A8 */ cpu->r[6] = rbrew_rlwinm(cpu->r[5], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02C540AC */ _t22 = cpu->r[11] + cpu->r[6];
|
|
/* 02C540AC */ cpu->r[5] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02C540B0 */ cpu->r[5] = rbrew_rlwinm(cpu->r[5], 0x00000000u, 0x00000011u, 0x00000001u);
|
|
/* 02C540B4 */ _t23 = cpu->r[11] + cpu->r[6];
|
|
/* 02C540B4 */ rbrew_write32(cpu->mem, _t23, cpu->r[5]);
|
|
/* 02C540B8 */ _t24 = cpu->r[24] + 0x00000000u;
|
|
/* 02C540B8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02C540BC */ cpu->r[7] = rbrew_rlwinm(cpu->r[25], 0x0000000Fu, 0x00000002u, 0x00000010u);
|
|
/* 02C540C0 */ cpu->r[31] = cpu->r[31] | 0xFFFF0000u;
|
|
/* 02C540C4 */ _t25 = cpu->r[11] + cpu->r[6];
|
|
/* 02C540C4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02C540C8 */ cpu->r[27] = cpu->r[27] + 0x00000018u;
|
|
/* 02C540CC */ cpu->r[26] = cpu->r[26] + 0xFFFFFFFFu;
|
|
/* 02C540CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u);
|
|
/* 02C540D0 */ cpu->r[25] = cpu->r[25] + 0x00000001u;
|
|
/* 02C540D4 */ cpu->r[8] = cpu->r[8] | cpu->r[7];
|
|
/* 02C540D8 */ cpu->r[23] = cpu->r[23] + 0x00000004u;
|
|
/* 02C540DC */ _t26 = cpu->r[11] + cpu->r[6];
|
|
/* 02C540DC */ rbrew_write32(cpu->mem, _t26, cpu->r[8]);
|
|
/* 02C540E0 */ _t27 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C540E0 */ _t28 = _t27 & 0x00000001u;
|
|
/* 02C540E0 */ if (_t28) goto L_02C540E4; else goto L_02C54040;
|
|
L_02C540E4: ; // 0x2c540e4
|
|
/* 02C540E4 */ goto L_02C54100;
|
|
L_02C540E8: ; // 0x2c540e8
|
|
/* 02C540E8 */ cpu->r[31] = cpu->r[31] | cpu->r[28];
|
|
/* 02C540EC */ cpu->r[27] = cpu->r[27] + 0x00000018u;
|
|
/* 02C540F0 */ cpu->r[26] = cpu->r[26] + 0xFFFFFFFFu;
|
|
/* 02C540F0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u);
|
|
/* 02C540F4 */ cpu->r[25] = cpu->r[25] + 0x00000001u;
|
|
/* 02C540F8 */ cpu->r[23] = cpu->r[23] + 0x00000004u;
|
|
/* 02C540FC */ _t29 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C540FC */ _t30 = _t29 & 0x00000001u;
|
|
/* 02C540FC */ if (_t30) goto L_02C54100; else goto L_02C54040;
|
|
L_02C54100: ; // 0x2c54100
|
|
/* 02C54100 */ _t31 = cpu->r[29] + 0x0000003Cu;
|
|
/* 02C54100 */ cpu->r[10] = rbrew_read16(cpu->mem, _t31);
|
|
/* 02C54104 */ _t32 = cpu->r[29] + 0x00000024u;
|
|
/* 02C54104 */ cpu->r[0] = rbrew_read32(cpu->mem, _t32);
|
|
/* 02C54108 */ cpu->r[10] = cpu->r[10] | 0x00000001u;
|
|
/* 02C5410C */ _t33 = cpu->r[29] + 0x0000003Cu;
|
|
/* 02C5410C */ rbrew_write16(cpu->mem, _t33, (uint16_t)cpu->r[10]);
|
|
/* 02C54110 */ cpu->r[10] = 0x10230000u;
|
|
/* 02C54114 */ _t34 = cpu->r[10] + 0xFFFFAB0Cu;
|
|
/* 02C54114 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t34);
|
|
/* 02C54118 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C5411C */ _t35 = cpu->r[29] + 0x00000028u;
|
|
/* 02C5411C */ rbrew_write_f32(cpu->mem, _t35, cpu->f[0]);
|
|
/* 02C54120 */ _t36 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C54120 */ _t37 = _t36 & 0x00000001u;
|
|
/* 02C54120 */ if (_t37) goto L_02C54124; else goto L_02C5415C;
|
|
L_02C54124: ; // 0x2c54124
|
|
/* 02C54124 */ _t38 = cpu->r[29] + 0x00000020u;
|
|
/* 02C54124 */ cpu->r[5] = rbrew_read32(cpu->mem, _t38);
|
|
/* 02C54128 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], cpu->r[5]);
|
|
/* 02C5412C */ _t39 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C5412C */ _t40 = _t39 & 0x00000001u;
|
|
/* 02C5412C */ if (_t40) goto L_02C5415C; else goto L_02C54130;
|
|
L_02C54130: ; // 0x2c54130
|
|
/* 02C54130 */ cpu->r[9] = 0x101B0000u;
|
|
/* 02C54134 */ cpu->r[11] = 0x00000000u;
|
|
/* 02C54138 */ _t41 = cpu->r[9] + 0xFFFFEE10u;
|
|
/* 02C54138 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t41);
|
|
/* 02C5413C */ cpu->r[12] = cpu->r[11];
|
|
L_02C54140: ; // 0x2c54140
|
|
/* 02C54140 */ _t42 = cpu->r[29] + 0x0000001Cu;
|
|
/* 02C54140 */ cpu->r[7] = rbrew_read32(cpu->mem, _t42);
|
|
/* 02C54144 */ _t43 = cpu->r[7] + cpu->r[12];
|
|
/* 02C54144 */ rbrew_write32(cpu->mem, _t43, cpu->r[0]);
|
|
/* 02C54148 */ _t44 = cpu->r[29] + 0x00000024u;
|
|
/* 02C54148 */ cpu->r[0] = rbrew_read32(cpu->mem, _t44);
|
|
/* 02C5414C */ cpu->r[11] = cpu->r[11] + 0x00000001u;
|
|
/* 02C54150 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], cpu->r[0]);
|
|
/* 02C54154 */ cpu->r[12] = cpu->r[12] + 0x0000000Cu;
|
|
/* 02C54158 */ _t45 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C54158 */ _t46 = _t45 & 0x00000001u;
|
|
/* 02C54158 */ if (_t46) goto L_02C54140; else goto L_02C5415C;
|
|
L_02C5415C: ; // 0x2c5415c
|
|
/* 02C5415C */ cpu->r[3] = cpu->r[31];
|
|
/* 02C54160 */ /* nop */
|
|
/* 02C54164 */ _t47 = cpu->r[1] + 0x00000034u;
|
|
/* 02C54164 */ cpu->r[0] = rbrew_read32(cpu->mem, _t47);
|
|
/* 02C54168 */ cpu->lr = cpu->r[0];
|
|
/* 02C5416C */ cpu->r[1] = cpu->r[1] + 0x00000030u;
|
|
/* 02C54170 */ return;
|
|
}
|
|
|
|
// fn_02C54174 @ 0x2c54174
|
|
void Gambit_fn_02C54174(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;
|
|
|
|
L_02C54174: ; // 0x2c54174
|
|
/* 02C54174 */ _t0 = cpu->r[1] + 0xFFFFFFC0u;
|
|
/* 02C54174 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C54174 */ cpu->r[1] = _t0;
|
|
/* 02C54178 */ /* nop */
|
|
/* 02C5417C */ cpu->r[0] = cpu->lr;
|
|
/* 02C54180 */ _t1 = cpu->r[1] + 0x00000044u;
|
|
/* 02C54180 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02C54184 */ cpu->r[25] = cpu->r[3];
|
|
/* 02C54188 */ _t2 = cpu->r[25] + 0x00000050u;
|
|
/* 02C54188 */ cpu->r[7] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02C5418C */ cpu->r[26] = cpu->r[4];
|
|
/* 02C54190 */ _t3 = cpu->r[25] + 0x00000040u;
|
|
/* 02C54190 */ cpu->r[27] = rbrew_read16(cpu->mem, _t3);
|
|
/* 02C54194 */ cpu->r[24] = cpu->r[25] + 0x00000038u;
|
|
/* 02C54198 */ cpu->r[7] = cpu->r[7] | 0x00000008u;
|
|
/* 02C5419C */ _t4 = cpu->r[25] + 0x0000002Cu;
|
|
/* 02C5419C */ cpu->r[31] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02C541A0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 02C541A4 */ _t5 = cpu->r[25] + 0x00000050u;
|
|
/* 02C541A4 */ rbrew_write32(cpu->mem, _t5, cpu->r[7]);
|
|
/* 02C541A8 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C541A8 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02C541A8 */ if (_t7) goto L_02C54300; else goto L_02C541AC;
|
|
L_02C541AC: ; // 0x2c541ac
|
|
/* 02C541AC */ cpu->r[28] = 0x00000000u;
|
|
/* 02C541B0 */ cpu->r[29] = cpu->r[28];
|
|
/* 02C541B4 */ cpu->r[30] = cpu->r[28];
|
|
L_02C541B8: ; // 0x2c541b8
|
|
/* 02C541B8 */ _t8 = cpu->r[24] + 0x00000000u;
|
|
/* 02C541B8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C541BC */ _t9 = cpu->r[9] + cpu->r[29];
|
|
/* 02C541BC */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02C541C0 */ cpu->r[5] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000011u, 0x0000001Fu);
|
|
/* 02C541C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00007FFFu);
|
|
/* 02C541C8 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C541C8 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02C541C8 */ if (_t11) goto L_02C542E8; else goto L_02C541CC;
|
|
L_02C541CC: ; // 0x2c541cc
|
|
/* 02C541CC */ _t12 = cpu->r[26] + 0x00000014u;
|
|
/* 02C541CC */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02C541D0 */ _t13 = cpu->r[25] + 0x00000048u;
|
|
/* 02C541D0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02C541D4 */ cpu->r[12] = cpu->r[26] + 0x00000014u;
|
|
/* 02C541D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C541DC */ cpu->r[6] = 0x00000000u;
|
|
/* 02C541E0 */ cpu->r[23] = cpu->r[11] + cpu->r[28];
|
|
/* 02C541E4 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C541E4 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02C541E4 */ if (_t15) goto L_02C541EC; else goto L_02C541E8;
|
|
L_02C541E8: ; // 0x2c541e8
|
|
/* 02C541E8 */ cpu->r[6] = cpu->r[12] + cpu->r[0];
|
|
L_02C541EC: ; // 0x2c541ec
|
|
/* 02C541EC */ cpu->r[0] = rbrew_rlwinm(cpu->r[5], 0x00000006u, 0x00000000u, 0x00000019u);
|
|
/* 02C541F0 */ cpu->r[4] = cpu->r[31];
|
|
/* 02C541F4 */ cpu->r[3] = cpu->r[23];
|
|
/* 02C541F8 */ cpu->r[5] = cpu->r[6] + cpu->r[0];
|
|
/* 02C541FC */ Gambit_fn_02C64560(cpu);
|
|
/* 02C54200 */ _t16 = cpu->r[25] + 0x00000050u;
|
|
/* 02C54200 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02C54204 */ cpu->r[4] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x0000001Au, 0x0000001Au);
|
|
/* 02C54204 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
|
|
/* 02C54208 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C54208 */ _t18 = _t17 & 0x00000001u;
|
|
/* 02C54208 */ if (_t18) goto L_02C542E8; else goto L_02C5420C;
|
|
L_02C5420C: ; // 0x2c5420c
|
|
/* 02C5420C */ _t19 = cpu->r[23] + 0x00000000u;
|
|
/* 02C5420C */ cpu->r[0] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02C54210 */ cpu->r[7] = cpu->r[0] ^ 0x00000020u;
|
|
/* 02C54214 */ cpu->r[9] = cpu->r[7] & 0x0000E020u;
|
|
/* 02C54214 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 02C54218 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C54218 */ _t21 = _t20 & 0x00000001u;
|
|
/* 02C54218 */ if (_t21) goto L_02C5421C; else goto L_02C542E8;
|
|
L_02C5421C: ; // 0x2c5421c
|
|
/* 02C5421C */ _t22 = cpu->r[25] + 0x00000058u;
|
|
/* 02C5421C */ cpu->r[10] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02C54220 */ _t23 = cpu->r[31] + 0x00000018u;
|
|
/* 02C54220 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t23);
|
|
/* 02C54224 */ cpu->r[8] = cpu->r[10] + cpu->r[30];
|
|
/* 02C54228 */ _t24 = cpu->r[31] + 0x00000010u;
|
|
/* 02C54228 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t24);
|
|
/* 02C5422C */ _t25 = cpu->r[8] + 0x0000000Cu;
|
|
/* 02C5422C */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t25);
|
|
/* 02C54230 */ _t26 = cpu->r[31] + 0x00000014u;
|
|
/* 02C54230 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t26);
|
|
/* 02C54234 */ cpu->f[12] = cpu->f[10] * cpu->f[8];
|
|
/* 02C54238 */ _t27 = cpu->r[8] + 0x00000004u;
|
|
/* 02C54238 */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t27);
|
|
/* 02C5423C */ cpu->f[0] = cpu->f[10] * cpu->f[9];
|
|
/* 02C54240 */ _t28 = cpu->r[8] + 0x00000008u;
|
|
/* 02C54240 */ cpu->f[6] = rbrew_read_f32(cpu->mem, _t28);
|
|
/* 02C54244 */ cpu->f[13] = fma(cpu->f[11], cpu->f[7], cpu->f[12]);
|
|
/* 02C54248 */ cpu->f[12] = fma(cpu->f[8], cpu->f[6], cpu->f[0]);
|
|
/* 02C5424C */ cpu->f[7] = -fma(cpu->f[9], cpu->f[6], -(cpu->f[13]));
|
|
/* 02C54250 */ cpu->f[0] = cpu->f[10] * cpu->f[11];
|
|
/* 02C54254 */ _t29 = cpu->r[1] + 0x00000008u;
|
|
/* 02C54254 */ rbrew_write_f32(cpu->mem, _t29, cpu->f[7]);
|
|
/* 02C54258 */ _t30 = cpu->r[8] + 0x00000000u;
|
|
/* 02C54258 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t30);
|
|
/* 02C5425C */ cpu->f[5] = -fma(cpu->f[11], cpu->f[13], -(cpu->f[12]));
|
|
/* 02C54260 */ cpu->f[6] = fma(cpu->f[9], cpu->f[13], cpu->f[0]);
|
|
/* 02C54264 */ _t31 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C54264 */ rbrew_write_f32(cpu->mem, _t31, cpu->f[5]);
|
|
/* 02C54268 */ _t32 = cpu->r[8] + 0x00000004u;
|
|
/* 02C54268 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t32);
|
|
/* 02C5426C */ cpu->f[4] = -fma(cpu->f[8], cpu->f[12], -(cpu->f[6]));
|
|
/* 02C54270 */ cpu->f[9] = cpu->f[9] * cpu->f[12];
|
|
/* 02C54274 */ _t33 = cpu->r[1] + 0x00000010u;
|
|
/* 02C54274 */ rbrew_write_f32(cpu->mem, _t33, cpu->f[4]);
|
|
/* 02C54278 */ _t34 = cpu->r[8] + 0x00000008u;
|
|
/* 02C54278 */ cpu->f[6] = rbrew_read_f32(cpu->mem, _t34);
|
|
/* 02C5427C */ cpu->f[10] = fma(cpu->f[8], cpu->f[13], cpu->f[9]);
|
|
/* 02C54280 */ cpu->f[0] = cpu->f[6] * cpu->f[5];
|
|
/* 02C54284 */ cpu->f[11] = fma(cpu->f[11], cpu->f[6], cpu->f[10]);
|
|
/* 02C54288 */ cpu->f[8] = fma(cpu->f[12], cpu->f[4], -(cpu->f[0]));
|
|
/* 02C5428C */ _t35 = cpu->r[1] + 0x00000014u;
|
|
/* 02C5428C */ rbrew_write_f32(cpu->mem, _t35, cpu->f[11]);
|
|
/* 02C54290 */ cpu->f[9] = fma(cpu->f[11], cpu->f[13], cpu->f[8]);
|
|
/* 02C54294 */ _t36 = cpu->r[8] + 0x0000000Cu;
|
|
/* 02C54294 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t36);
|
|
/* 02C54298 */ cpu->f[12] = fma(cpu->f[10], cpu->f[7], cpu->f[9]);
|
|
/* 02C5429C */ _t37 = cpu->r[31] + 0x00000010u;
|
|
/* 02C5429C */ rbrew_write_f32(cpu->mem, _t37, cpu->f[12]);
|
|
/* 02C542A0 */ _t38 = cpu->r[8] + 0x00000000u;
|
|
/* 02C542A0 */ cpu->f[6] = rbrew_read_f32(cpu->mem, _t38);
|
|
/* 02C542A4 */ _t39 = cpu->r[8] + 0x00000008u;
|
|
/* 02C542A4 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t39);
|
|
/* 02C542A8 */ cpu->f[0] = cpu->f[6] * cpu->f[4];
|
|
/* 02C542AC */ cpu->f[8] = fma(cpu->f[13], cpu->f[7], -(cpu->f[0]));
|
|
/* 02C542B0 */ _t40 = cpu->r[8] + 0x00000004u;
|
|
/* 02C542B0 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t40);
|
|
/* 02C542B4 */ cpu->f[10] = fma(cpu->f[11], cpu->f[9], cpu->f[8]);
|
|
/* 02C542B8 */ _t41 = cpu->r[8] + 0x0000000Cu;
|
|
/* 02C542B8 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t41);
|
|
/* 02C542BC */ cpu->f[6] = fma(cpu->f[0], cpu->f[5], cpu->f[10]);
|
|
/* 02C542C0 */ _t42 = cpu->r[31] + 0x00000014u;
|
|
/* 02C542C0 */ rbrew_write_f32(cpu->mem, _t42, cpu->f[6]);
|
|
/* 02C542C4 */ _t43 = cpu->r[8] + 0x00000004u;
|
|
/* 02C542C4 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t43);
|
|
/* 02C542C8 */ _t44 = cpu->r[8] + 0x00000000u;
|
|
/* 02C542C8 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t44);
|
|
/* 02C542CC */ cpu->f[12] = cpu->f[0] * cpu->f[7];
|
|
/* 02C542D0 */ cpu->f[7] = fma(cpu->f[10], cpu->f[5], -(cpu->f[12]));
|
|
/* 02C542D4 */ _t45 = cpu->r[8] + 0x00000008u;
|
|
/* 02C542D4 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t45);
|
|
/* 02C542D8 */ cpu->f[11] = fma(cpu->f[11], cpu->f[9], cpu->f[7]);
|
|
/* 02C542DC */ _t46 = cpu->r[8] + 0x0000000Cu;
|
|
/* 02C542DC */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t46);
|
|
/* 02C542E0 */ cpu->f[0] = fma(cpu->f[13], cpu->f[4], cpu->f[11]);
|
|
/* 02C542E4 */ _t47 = cpu->r[31] + 0x00000018u;
|
|
/* 02C542E4 */ rbrew_write_f32(cpu->mem, _t47, cpu->f[0]);
|
|
L_02C542E8: ; // 0x2c542e8
|
|
/* 02C542E8 */ cpu->r[31] = cpu->r[31] + 0x00000030u;
|
|
/* 02C542EC */ cpu->r[28] = cpu->r[28] + 0x00000018u;
|
|
/* 02C542F0 */ cpu->r[27] = cpu->r[27] + 0xFFFFFFFFu;
|
|
/* 02C542F0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 02C542F4 */ cpu->r[30] = cpu->r[30] + 0x00000010u;
|
|
/* 02C542F8 */ cpu->r[29] = cpu->r[29] + 0x00000004u;
|
|
/* 02C542FC */ _t48 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C542FC */ _t49 = _t48 & 0x00000001u;
|
|
/* 02C542FC */ if (_t49) goto L_02C54300; else goto L_02C541B8;
|
|
L_02C54300: ; // 0x2c54300
|
|
/* 02C54300 */ /* nop */
|
|
/* 02C54304 */ _t50 = cpu->r[1] + 0x00000044u;
|
|
/* 02C54304 */ cpu->r[0] = rbrew_read32(cpu->mem, _t50);
|
|
/* 02C54308 */ cpu->lr = cpu->r[0];
|
|
/* 02C5430C */ cpu->r[1] = cpu->r[1] + 0x00000040u;
|
|
/* 02C54310 */ return;
|
|
}
|
|
|
|
// fn_02C54314 @ 0x2c54314
|
|
void Gambit_fn_02C54314(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_02C54314: ; // 0x2c54314
|
|
/* 02C54314 */ cpu->r[0] = cpu->lr;
|
|
/* 02C54318 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02C54318 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C54318 */ cpu->r[1] = _t0;
|
|
/* 02C5431C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C5431C */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
|
|
/* 02C54320 */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 02C54320 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02C54324 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02C54324 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 02C54328 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C54328 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02C5432C */ _t5 = cpu->r[3] + 0x00000050u;
|
|
/* 02C5432C */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02C54330 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x0000001Bu, 0x00000019u);
|
|
/* 02C54334 */ cpu->r[31] = cpu->r[4];
|
|
/* 02C54338 */ _t6 = cpu->r[3] + 0x00000050u;
|
|
/* 02C54338 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02C5433C */ cpu->r[29] = cpu->r[3];
|
|
/* 02C54340 */ Gambit_fn_02C53FF0(cpu);
|
|
/* 02C54344 */ cpu->r[30] = cpu->r[3];
|
|
/* 02C54348 */ cpu->r[4] = cpu->r[31];
|
|
/* 02C5434C */ cpu->r[3] = cpu->r[29];
|
|
/* 02C54350 */ Gambit_fn_02C54174(cpu);
|
|
/* 02C54354 */ _t7 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C54354 */ cpu->r[29] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02C54358 */ _t8 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C54358 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C5435C */ cpu->r[3] = cpu->r[30];
|
|
/* 02C54360 */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 02C54360 */ cpu->r[31] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02C54364 */ cpu->lr = cpu->r[0];
|
|
/* 02C54368 */ _t10 = cpu->r[1] + 0x00000010u;
|
|
/* 02C54368 */ cpu->r[30] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02C5436C */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C54370 */ return;
|
|
}
|
|
|
|
// fn_02C54318 @ 0x2c54318
|
|
void Gambit_fn_02C54318(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_02C54318: ; // 0x2c54318
|
|
/* 02C54318 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02C54318 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C54318 */ cpu->r[1] = _t0;
|
|
/* 02C5431C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C5431C */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
|
|
/* 02C54320 */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 02C54320 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02C54324 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02C54324 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 02C54328 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C54328 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02C5432C */ _t5 = cpu->r[3] + 0x00000050u;
|
|
/* 02C5432C */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02C54330 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x0000001Bu, 0x00000019u);
|
|
/* 02C54334 */ cpu->r[31] = cpu->r[4];
|
|
/* 02C54338 */ _t6 = cpu->r[3] + 0x00000050u;
|
|
/* 02C54338 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02C5433C */ cpu->r[29] = cpu->r[3];
|
|
/* 02C54340 */ Gambit_fn_02C53FF0(cpu);
|
|
/* 02C54344 */ cpu->r[30] = cpu->r[3];
|
|
/* 02C54348 */ cpu->r[4] = cpu->r[31];
|
|
/* 02C5434C */ cpu->r[3] = cpu->r[29];
|
|
/* 02C54350 */ Gambit_fn_02C54174(cpu);
|
|
/* 02C54354 */ _t7 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C54354 */ cpu->r[29] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02C54358 */ _t8 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C54358 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C5435C */ cpu->r[3] = cpu->r[30];
|
|
/* 02C54360 */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 02C54360 */ cpu->r[31] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02C54364 */ cpu->lr = cpu->r[0];
|
|
/* 02C54368 */ _t10 = cpu->r[1] + 0x00000010u;
|
|
/* 02C54368 */ cpu->r[30] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02C5436C */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C54370 */ return;
|
|
}
|
|
|
|
// fn_02C54374 @ 0x2c54374
|
|
void Gambit_fn_02C54374(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_02C54374: ; // 0x2c54374
|
|
/* 02C54374 */ cpu->r[0] = cpu->lr;
|
|
/* 02C54378 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 02C54378 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 02C5437C */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02C5437C */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 02C5437C */ cpu->r[1] = _t1;
|
|
/* 02C54380 */ _t2 = cpu->r[4] + 0x0000000Cu;
|
|
/* 02C54380 */ cpu->r[11] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02C54384 */ cpu->r[12] = cpu->r[4] + 0x0000000Cu;
|
|
/* 02C54388 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02C5438C */ cpu->r[0] = 0x00000000u;
|
|
/* 02C54390 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C54390 */ _t4 = _t3 & 0x00000001u;
|
|
/* 02C54390 */ if (_t4) goto L_02C54398; else goto L_02C54394;
|
|
L_02C54394: ; // 0x2c54394
|
|
/* 02C54394 */ cpu->r[0] = cpu->r[12] + cpu->r[11];
|
|
L_02C54398: ; // 0x2c54398
|
|
/* 02C54398 */ cpu->r[4] = cpu->r[0];
|
|
/* 02C5439C */ Gambit_fn_02C54314(cpu);
|
|
/* 02C543A0 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C543A0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02C543A4 */ cpu->lr = cpu->r[0];
|
|
/* 02C543A8 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02C543AC */ return;
|
|
}
|
|
|
|
// fn_02C5437C @ 0x2c5437c
|
|
void Gambit_fn_02C5437C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4;
|
|
|
|
L_02C5437C: ; // 0x2c5437c
|
|
/* 02C5437C */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02C5437C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C5437C */ cpu->r[1] = _t0;
|
|
/* 02C54380 */ _t1 = cpu->r[4] + 0x0000000Cu;
|
|
/* 02C54380 */ cpu->r[11] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02C54384 */ cpu->r[12] = cpu->r[4] + 0x0000000Cu;
|
|
/* 02C54388 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02C5438C */ cpu->r[0] = 0x00000000u;
|
|
/* 02C54390 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C54390 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02C54390 */ if (_t3) goto L_02C54398; else goto L_02C54394;
|
|
L_02C54394: ; // 0x2c54394
|
|
/* 02C54394 */ cpu->r[0] = cpu->r[12] + cpu->r[11];
|
|
L_02C54398: ; // 0x2c54398
|
|
/* 02C54398 */ cpu->r[4] = cpu->r[0];
|
|
/* 02C5439C */ Gambit_fn_02C54314(cpu);
|
|
/* 02C543A0 */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C543A0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02C543A4 */ cpu->lr = cpu->r[0];
|
|
/* 02C543A8 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02C543AC */ return;
|
|
}
|
|
|
|
// fn_02C543B0 @ 0x2c543b0
|
|
void Gambit_fn_02C543B0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4;
|
|
|
|
L_02C543B0: ; // 0x2c543b0
|
|
/* 02C543B0 */ cpu->r[0] = cpu->lr;
|
|
/* 02C543B4 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 02C543B4 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 02C543B8 */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02C543B8 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 02C543B8 */ cpu->r[1] = _t1;
|
|
/* 02C543BC */ _t2 = cpu->r[4] + 0x00000018u;
|
|
/* 02C543BC */ cpu->r[12] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02C543C0 */ _t3 = cpu->r[12] + 0x00000000u;
|
|
/* 02C543C0 */ cpu->r[4] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02C543C4 */ Gambit_fn_02C54314(cpu);
|
|
/* 02C543C8 */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C543C8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02C543CC */ cpu->lr = cpu->r[0];
|
|
/* 02C543D0 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02C543D4 */ return;
|
|
}
|
|
|
|
// fn_02C543B8 @ 0x2c543b8
|
|
void Gambit_fn_02C543B8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3;
|
|
|
|
L_02C543B8: ; // 0x2c543b8
|
|
/* 02C543B8 */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02C543B8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C543B8 */ cpu->r[1] = _t0;
|
|
/* 02C543BC */ _t1 = cpu->r[4] + 0x00000018u;
|
|
/* 02C543BC */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02C543C0 */ _t2 = cpu->r[12] + 0x00000000u;
|
|
/* 02C543C0 */ cpu->r[4] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02C543C4 */ Gambit_fn_02C54314(cpu);
|
|
/* 02C543C8 */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C543C8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02C543CC */ cpu->lr = cpu->r[0];
|
|
/* 02C543D0 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02C543D4 */ return;
|
|
}
|
|
|
|
// fn_02C543D8 @ 0x2c543d8
|
|
void Gambit_fn_02C543D8(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, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69, _t70, _t71, _t72, _t73, _t74, _t77, _t78, _t79, _t80, _t81, _t82, _t83, _t84, _t85, _t86, _t87, _t88, _t89, _t90, _t91, _t92, _t93, _t94, _t95, _t98, _t99, _t100, _t101, _t102, _t103, _t104, _t105, _t106, _t107, _t108, _t109, _t110, _t111, _t112, _t115, _t116, _t117, _t118, _t119, _t120, _t121, _t122, _t123, _t124, _t125, _t126, _t127, _t128, _t129, _t130, _t131, _t132, _t133, _t134, _t135, _t136, _t137, _t138, _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;
|
|
double _ft50, _ft51, _ft60, _ft61, _ft75, _ft76, _ft96, _ft97, _ft113, _ft114, _ft139, _ft140;
|
|
|
|
L_02C543D8: ; // 0x2c543d8
|
|
/* 02C543D8 */ _t0 = cpu->r[1] + 0xFFFFFF08u;
|
|
/* 02C543D8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C543D8 */ cpu->r[1] = _t0;
|
|
/* 02C543DC */ /* nop */
|
|
/* 02C543E0 */ cpu->r[0] = cpu->lr;
|
|
/* 02C543E4 */ _t1 = cpu->r[1] + 0x00000088u;
|
|
/* 02C543E4 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[25]);
|
|
/* 02C543E8 */ _t2 = cpu->r[1] + 0x00000098u;
|
|
/* 02C543E8 */ rbrew_write_f64(cpu->mem, _t2, cpu->f[26]);
|
|
/* 02C543EC */ _t3 = cpu->r[1] + 0x000000A8u;
|
|
/* 02C543EC */ rbrew_write_f64(cpu->mem, _t3, cpu->f[27]);
|
|
/* 02C543F0 */ _t4 = cpu->r[1] + 0x000000B8u;
|
|
/* 02C543F0 */ rbrew_write_f64(cpu->mem, _t4, cpu->f[28]);
|
|
/* 02C543F4 */ _t5 = cpu->r[1] + 0x000000C8u;
|
|
/* 02C543F4 */ rbrew_write_f64(cpu->mem, _t5, cpu->f[29]);
|
|
/* 02C543F8 */ _t6 = cpu->r[1] + 0x000000D8u;
|
|
/* 02C543F8 */ rbrew_write_f64(cpu->mem, _t6, cpu->f[30]);
|
|
/* 02C543FC */ _t7 = cpu->r[1] + 0x000000E8u;
|
|
/* 02C543FC */ rbrew_write_f64(cpu->mem, _t7, cpu->f[31]);
|
|
/* 02C54400 */ /* nop */
|
|
/* 02C54404 */ /* nop */
|
|
/* 02C54408 */ /* nop */
|
|
/* 02C5440C */ _t8 = cpu->r[1] + 0x00000090u;
|
|
/* 02C5440C */ rbrew_write_f32(cpu->mem, _t8, cpu->f[25]);
|
|
/* 02C54410 */ /* nop */
|
|
/* 02C54414 */ _t9 = cpu->r[1] + 0x000000A0u;
|
|
/* 02C54414 */ rbrew_write_f32(cpu->mem, _t9, cpu->f[26]);
|
|
/* 02C54418 */ /* nop */
|
|
/* 02C5441C */ _t10 = cpu->r[1] + 0x000000B0u;
|
|
/* 02C5441C */ rbrew_write_f32(cpu->mem, _t10, cpu->f[27]);
|
|
/* 02C54420 */ /* nop */
|
|
/* 02C54424 */ _t11 = cpu->r[1] + 0x000000C0u;
|
|
/* 02C54424 */ rbrew_write_f32(cpu->mem, _t11, cpu->f[28]);
|
|
/* 02C54428 */ /* nop */
|
|
/* 02C5442C */ _t12 = cpu->r[1] + 0x000000D0u;
|
|
/* 02C5442C */ rbrew_write_f32(cpu->mem, _t12, cpu->f[29]);
|
|
/* 02C54430 */ _t13 = cpu->r[1] + 0x000000E0u;
|
|
/* 02C54430 */ rbrew_write_f32(cpu->mem, _t13, cpu->f[30]);
|
|
/* 02C54434 */ _t14 = cpu->r[1] + 0x000000F0u;
|
|
/* 02C54434 */ rbrew_write_f32(cpu->mem, _t14, cpu->f[31]);
|
|
/* 02C54438 */ cpu->r[22] = cpu->r[3];
|
|
/* 02C5443C */ _t15 = cpu->r[1] + 0x000000FCu;
|
|
/* 02C5443C */ rbrew_write32(cpu->mem, _t15, cpu->r[0]);
|
|
/* 02C54440 */ _t16 = cpu->r[22] + 0x00000040u;
|
|
/* 02C54440 */ cpu->r[25] = rbrew_read16(cpu->mem, _t16);
|
|
/* 02C54444 */ cpu->r[20] = cpu->r[22] + 0x00000038u;
|
|
/* 02C54448 */ cpu->r[24] = cpu->r[5];
|
|
/* 02C5444C */ cpu->r[23] = cpu->r[4];
|
|
/* 02C54450 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000000u);
|
|
/* 02C54454 */ cpu->r[31] = 0x00000000u;
|
|
/* 02C54458 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C54458 */ _t18 = _t17 & 0x00000001u;
|
|
/* 02C54458 */ if (_t18) goto L_02C5494C; else goto L_02C5445C;
|
|
L_02C5445C: ; // 0x2c5445c
|
|
/* 02C5445C */ cpu->r[5] = 0x101B0000u;
|
|
/* 02C54460 */ cpu->r[4] = 0x101B0000u;
|
|
/* 02C54464 */ _t19 = cpu->r[5] + 0xFFFFEE14u;
|
|
/* 02C54464 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t19);
|
|
/* 02C54468 */ cpu->r[12] = 0x101B0000u;
|
|
/* 02C5446C */ _t20 = cpu->r[4] + 0xFFFFEE28u;
|
|
/* 02C5446C */ cpu->f[30] = rbrew_read_f64(cpu->mem, _t20);
|
|
/* 02C54470 */ cpu->r[10] = 0x101B0000u;
|
|
/* 02C54474 */ cpu->r[26] = 0x00000000u;
|
|
/* 02C54478 */ _t21 = cpu->r[12] + 0xFFFFEE20u;
|
|
/* 02C54478 */ cpu->f[29] = rbrew_read_f32(cpu->mem, _t21);
|
|
/* 02C5447C */ cpu->r[7] = 0x101B0000u;
|
|
/* 02C54480 */ cpu->r[27] = cpu->r[26];
|
|
/* 02C54484 */ _t22 = cpu->r[10] + 0xFFFFEE1Cu;
|
|
/* 02C54484 */ cpu->f[28] = rbrew_read_f32(cpu->mem, _t22);
|
|
/* 02C54488 */ cpu->r[5] = 0x101B0000u;
|
|
/* 02C5448C */ _t23 = cpu->r[7] + 0xFFFFEE18u;
|
|
/* 02C5448C */ cpu->f[27] = rbrew_read_f32(cpu->mem, _t23);
|
|
/* 02C54490 */ cpu->r[29] = cpu->r[27];
|
|
/* 02C54494 */ cpu->r[12] = 0x101B0000u;
|
|
/* 02C54498 */ cpu->r[28] = 0x101B0000u;
|
|
/* 02C5449C */ _t24 = cpu->r[5] + 0xFFFFEE34u;
|
|
/* 02C5449C */ cpu->f[26] = rbrew_read_f32(cpu->mem, _t24);
|
|
/* 02C544A0 */ cpu->r[28] = cpu->r[28] + 0xFFFFF1DCu;
|
|
/* 02C544A4 */ _t25 = cpu->r[12] + 0xFFFFEE30u;
|
|
/* 02C544A4 */ cpu->f[25] = rbrew_read_f32(cpu->mem, _t25);
|
|
/* 02C544A8 */ cpu->r[30] = cpu->r[24] + 0x00000010u;
|
|
L_02C544AC: ; // 0x2c544ac
|
|
/* 02C544AC */ _t26 = cpu->r[22] + 0x00000058u;
|
|
/* 02C544AC */ cpu->r[5] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02C544B0 */ cpu->r[21] = cpu->r[5] + cpu->r[27];
|
|
/* 02C544B4 */ _t27 = cpu->r[5] + cpu->r[27];
|
|
/* 02C544B4 */ rbrew_write32(cpu->mem, _t27, cpu->r[31]);
|
|
/* 02C544B8 */ _t28 = cpu->r[21] + 0x00000004u;
|
|
/* 02C544B8 */ rbrew_write_f32(cpu->mem, _t28, cpu->f[31]);
|
|
/* 02C544BC */ _t29 = cpu->r[21] + 0x00000008u;
|
|
/* 02C544BC */ rbrew_write_f32(cpu->mem, _t29, cpu->f[31]);
|
|
/* 02C544C0 */ _t30 = cpu->r[21] + 0x0000000Cu;
|
|
/* 02C544C0 */ rbrew_write_f32(cpu->mem, _t30, cpu->f[25]);
|
|
/* 02C544C4 */ _t31 = cpu->r[22] + 0x00000048u;
|
|
/* 02C544C4 */ cpu->r[6] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02C544C8 */ cpu->r[6] = cpu->r[6] + cpu->r[26];
|
|
/* 02C544CC */ _t32 = cpu->r[6] + 0x00000004u;
|
|
/* 02C544CC */ cpu->r[7] = rbrew_read32(cpu->mem, _t32);
|
|
/* 02C544D0 */ cpu->r[4] = 0x00000000u;
|
|
/* 02C544D4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 02C544D8 */ cpu->r[8] = cpu->r[6] + 0x00000004u;
|
|
/* 02C544DC */ _t33 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C544DC */ _t34 = _t33 & 0x00000001u;
|
|
/* 02C544DC */ if (_t34) goto L_02C544E4; else goto L_02C544E0;
|
|
L_02C544E0: ; // 0x2c544e0
|
|
/* 02C544E0 */ cpu->r[4] = cpu->r[8] + cpu->r[7];
|
|
L_02C544E4: ; // 0x2c544e4
|
|
/* 02C544E4 */ _t35 = cpu->r[20] + 0x00000000u;
|
|
/* 02C544E4 */ cpu->r[7] = rbrew_read32(cpu->mem, _t35);
|
|
/* 02C544E8 */ _t36 = cpu->r[30] + 0x00000000u;
|
|
/* 02C544E8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t36);
|
|
/* 02C544EC */ _t37 = cpu->r[7] + cpu->r[29];
|
|
/* 02C544EC */ cpu->r[9] = rbrew_read32(cpu->mem, _t37);
|
|
/* 02C544F0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C544F4 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C544F8 */ cpu->r[19] = rbrew_rlwinm(cpu->r[9], 0x00000000u, 0x00000011u, 0x0000001Fu);
|
|
/* 02C544FC */ _t38 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C544FC */ _t39 = _t38 & 0x00000001u;
|
|
/* 02C544FC */ if (_t39) goto L_02C54504; else goto L_02C54500;
|
|
L_02C54500: ; // 0x2c54500
|
|
/* 02C54500 */ cpu->r[3] = cpu->r[30] + cpu->r[0];
|
|
L_02C54504: ; // 0x2c54504
|
|
/* 02C54504 */ Gambit_fn_02C60644(cpu);
|
|
/* 02C54508 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C5450C */ _t40 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C5450C */ _t41 = _t40 & 0x00000001u;
|
|
/* 02C5450C */ if (_t41) goto L_02C54934; else goto L_02C54510;
|
|
L_02C54510: ; // 0x2c54510
|
|
/* 02C54510 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[19], 0x00007FFFu);
|
|
/* 02C54514 */ _t42 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C54514 */ _t43 = _t42 & 0x00000001u;
|
|
/* 02C54514 */ if (_t43) goto L_02C54934; else goto L_02C54518;
|
|
L_02C54518: ; // 0x2c54518
|
|
/* 02C54518 */ _t44 = cpu->r[24] + 0x00000014u;
|
|
/* 02C54518 */ cpu->r[0] = rbrew_read32(cpu->mem, _t44);
|
|
/* 02C5451C */ cpu->r[31] = cpu->r[31] | 0xFFFF0000u;
|
|
/* 02C54520 */ cpu->r[11] = 0x00000000u;
|
|
/* 02C54524 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C54528 */ cpu->r[7] = cpu->r[24] + 0x00000014u;
|
|
/* 02C5452C */ _t45 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C5452C */ _t46 = _t45 & 0x00000001u;
|
|
/* 02C5452C */ if (_t46) goto L_02C54534; else goto L_02C54530;
|
|
L_02C54530: ; // 0x2c54530
|
|
/* 02C54530 */ cpu->r[11] = cpu->r[7] + cpu->r[0];
|
|
L_02C54534: ; // 0x2c54534
|
|
/* 02C54534 */ cpu->r[0] = rbrew_rlwinm(cpu->r[3], 0x00000006u, 0x00000000u, 0x00000019u);
|
|
/* 02C54538 */ cpu->r[12] = cpu->r[11] + cpu->r[0];
|
|
/* 02C5453C */ /* nop */
|
|
/* 02C54540 */ /* nop */
|
|
/* 02C54544 */ /* nop */
|
|
/* 02C54548 */ cpu->f[12] = cpu->f[11];
|
|
/* 02C5454C */ _t47 = cpu->r[12] + 0x00000038u;
|
|
/* 02C5454C */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t47);
|
|
/* 02C54550 */ cpu->f[11] = fma(cpu->f[11], cpu->f[11], cpu->f[12]);
|
|
/* 02C54554 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[11], cpu->f[31]);
|
|
/* 02C54558 */ cpu->r[4] = cpu->r[12] + 0x00000030u;
|
|
/* 02C5455C */ _t48 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C5455C */ _t49 = _t48 & 0x00000001u;
|
|
/* 02C5455C */ if (_t49) goto L_02C54938; else goto L_02C54560;
|
|
L_02C54560: ; // 0x2c54560
|
|
/* 02C54560 */ _ft50 = sqrt(cpu->f[11]);
|
|
/* 02C54560 */ _ft51 = (double)(int32_t)0x00000001u;
|
|
/* 02C54560 */ cpu->f[13] = _ft51 / _ft50;
|
|
/* 02C54564 */ cpu->f[6] = cpu->f[27] * cpu->f[11];
|
|
/* 02C54568 */ cpu->f[10] = (double)(float)cpu->f[13];
|
|
/* 02C5456C */ cpu->f[7] = cpu->f[6] * cpu->f[10];
|
|
/* 02C54570 */ cpu->f[8] = -fma(cpu->f[7], cpu->f[10], -(cpu->f[28]));
|
|
/* 02C54574 */ cpu->f[5] = cpu->f[10] * cpu->f[8];
|
|
/* 02C54578 */ /* nop */
|
|
/* 02C5457C */ /* nop */
|
|
/* 02C54580 */ /* nop */
|
|
/* 02C54584 */ _t52 = cpu->r[4] + 0x00000008u;
|
|
/* 02C54584 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t52);
|
|
/* 02C54588 */ _t53 = cpu->r[23] + 0x00000014u;
|
|
/* 02C54588 */ cpu->r[0] = rbrew_read32(cpu->mem, _t53);
|
|
/* 02C5458C */ cpu->f[11] = cpu->f[11] * cpu->f[5];
|
|
/* 02C54590 */ cpu->r[10] = 0x00000000u;
|
|
/* 02C54594 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C54598 */ cpu->r[9] = cpu->r[23] + 0x00000014u;
|
|
/* 02C5459C */ _t54 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C5459C */ rbrew_write_f32(cpu->mem, _t54, cpu->f[11]);
|
|
/* 02C545A0 */ _t55 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C545A0 */ _t56 = _t55 & 0x00000001u;
|
|
/* 02C545A0 */ if (_t56) goto L_02C545A8; else goto L_02C545A4;
|
|
L_02C545A4: ; // 0x2c545a4
|
|
/* 02C545A4 */ cpu->r[10] = cpu->r[9] + cpu->r[0];
|
|
L_02C545A8: ; // 0x2c545a8
|
|
/* 02C545A8 */ cpu->r[6] = rbrew_rlwinm(cpu->r[19], 0x00000006u, 0x00000000u, 0x00000019u);
|
|
/* 02C545AC */ cpu->r[12] = cpu->r[10] + cpu->r[6];
|
|
/* 02C545B0 */ /* nop */
|
|
/* 02C545B4 */ /* nop */
|
|
/* 02C545B8 */ /* nop */
|
|
/* 02C545BC */ cpu->f[6] = cpu->f[0];
|
|
/* 02C545C0 */ _t57 = cpu->r[12] + 0x00000038u;
|
|
/* 02C545C0 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t57);
|
|
/* 02C545C4 */ cpu->f[6] = fma(cpu->f[13], cpu->f[13], cpu->f[6]);
|
|
/* 02C545C8 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[6], cpu->f[31]);
|
|
/* 02C545CC */ _t58 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C545CC */ _t59 = _t58 & 0x00000001u;
|
|
/* 02C545CC */ if (_t59) goto L_02C545D0; else goto L_02C54630;
|
|
L_02C545D0: ; // 0x2c545d0
|
|
/* 02C545D0 */ _ft60 = sqrt(cpu->f[6]);
|
|
/* 02C545D0 */ _ft61 = (double)(int32_t)0x00000001u;
|
|
/* 02C545D0 */ cpu->f[7] = _ft61 / _ft60;
|
|
/* 02C545D4 */ cpu->f[9] = cpu->f[27] * cpu->f[6];
|
|
/* 02C545D8 */ cpu->f[8] = (double)(float)cpu->f[7];
|
|
/* 02C545DC */ cpu->f[10] = cpu->f[9] * cpu->f[8];
|
|
/* 02C545E0 */ cpu->f[11] = -fma(cpu->f[10], cpu->f[8], -(cpu->f[28]));
|
|
/* 02C545E4 */ cpu->f[8] = cpu->f[8] * cpu->f[11];
|
|
/* 02C545E8 */ /* nop */
|
|
/* 02C545EC */ /* nop */
|
|
/* 02C545F0 */ /* nop */
|
|
/* 02C545F4 */ cpu->f[10] = cpu->f[6] * cpu->f[8];
|
|
/* 02C545F8 */ /* nop */
|
|
/* 02C545FC */ _t62 = cpu->r[12] + 0x00000038u;
|
|
/* 02C545FC */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t62);
|
|
/* 02C54600 */ /* nop */
|
|
/* 02C54604 */ cpu->f[13] = cpu->f[13] * cpu->f[8];
|
|
/* 02C54608 */ _t63 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C54608 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t63);
|
|
/* 02C5460C */ /* nop */
|
|
/* 02C54610 */ cpu->f[6] = fma(cpu->f[11], cpu->f[13], cpu->f[6]);
|
|
/* 02C54614 */ cpu->f[0] = cpu->f[10] * cpu->f[5];
|
|
/* 02C54618 */ cpu->f[8] = cpu->f[6] + cpu->f[25];
|
|
/* 02C5461C */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[0], cpu->f[31]);
|
|
/* 02C54620 */ cpu->f[4] = cpu->f[8] + cpu->f[8];
|
|
/* 02C54624 */ _t64 = cpu->r[1] + 0x00000030u;
|
|
/* 02C54624 */ rbrew_write_f32(cpu->mem, _t64, cpu->f[13]);
|
|
/* 02C54628 */ _t65 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C54628 */ _t66 = _t65 & 0x00000001u;
|
|
/* 02C54628 */ if (_t66) goto L_02C54658; else goto L_02C5462C;
|
|
L_02C5462C: ; // 0x2c5462c
|
|
/* 02C5462C */ goto L_02C54718;
|
|
L_02C54630: ; // 0x2c54630
|
|
/* 02C54630 */ /* nop */
|
|
/* 02C54634 */ /* nop */
|
|
/* 02C54638 */ _t67 = cpu->r[1] + 0x00000030u;
|
|
/* 02C54638 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t67);
|
|
/* 02C5463C */ /* nop */
|
|
/* 02C54640 */ cpu->f[6] = fma(cpu->f[11], cpu->f[13], cpu->f[6]);
|
|
/* 02C54644 */ cpu->f[0] = cpu->f[31] * cpu->f[5];
|
|
/* 02C54648 */ cpu->f[8] = cpu->f[6] + cpu->f[25];
|
|
/* 02C5464C */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[0], cpu->f[31]);
|
|
/* 02C54650 */ cpu->f[4] = cpu->f[8] + cpu->f[8];
|
|
/* 02C54654 */ _t68 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C54654 */ _t69 = _t68 & 0x00000001u;
|
|
/* 02C54654 */ if (_t69) goto L_02C54658; else goto L_02C54718;
|
|
L_02C54658: ; // 0x2c54658
|
|
/* 02C54658 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[4], cpu->f[26]);
|
|
/* 02C5465C */ cpu->f[5] = cpu->f[31];
|
|
/* 02C54660 */ _t70 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C54660 */ _t71 = _t70 & 0x00000001u;
|
|
/* 02C54660 */ if (_t71) goto L_02C5473C; else goto L_02C54664;
|
|
L_02C54664: ; // 0x2c54664
|
|
/* 02C54664 */ _t72 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02C54664 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t72);
|
|
/* 02C54668 */ cpu->f[12] = cpu->f[27] * cpu->f[4];
|
|
/* 02C5466C */ _t73 = cpu->r[1] + 0x00000018u;
|
|
/* 02C5466C */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t73);
|
|
/* 02C54670 */ cpu->f[8] = cpu->f[11] * cpu->f[9];
|
|
/* 02C54674 */ _t74 = cpu->r[1] + 0x00000028u;
|
|
/* 02C54674 */ cpu->f[3] = rbrew_read_f32(cpu->mem, _t74);
|
|
/* 02C54678 */ _ft75 = sqrt(cpu->f[4]);
|
|
/* 02C54678 */ _ft76 = (double)(int32_t)0x00000001u;
|
|
/* 02C54678 */ cpu->f[0] = _ft76 / _ft75;
|
|
/* 02C5467C */ cpu->f[6] = cpu->f[7] * cpu->f[3];
|
|
/* 02C54680 */ cpu->f[7] = fma(cpu->f[7], cpu->f[13], -(cpu->f[8]));
|
|
/* 02C54684 */ _t77 = cpu->r[1] + 0x00000014u;
|
|
/* 02C54684 */ cpu->f[2] = rbrew_read_f32(cpu->mem, _t77);
|
|
/* 02C54688 */ cpu->f[0] = (double)(float)cpu->f[0];
|
|
/* 02C5468C */ cpu->f[10] = cpu->f[2] * cpu->f[13];
|
|
/* 02C54690 */ _t78 = cpu->r[1] + 0x00000034u;
|
|
/* 02C54690 */ rbrew_write_f32(cpu->mem, _t78, cpu->f[7]);
|
|
/* 02C54694 */ _t79 = cpu->r[1] + 0x00000034u;
|
|
/* 02C54694 */ cpu->r[8] = rbrew_read32(cpu->mem, _t79);
|
|
/* 02C54698 */ cpu->f[13] = cpu->f[12] * cpu->f[0];
|
|
/* 02C5469C */ cpu->f[7] = fma(cpu->f[2], cpu->f[9], -(cpu->f[6]));
|
|
/* 02C546A0 */ cpu->f[12] = cpu->f[5] * cpu->f[27];
|
|
/* 02C546A4 */ cpu->f[8] = -fma(cpu->f[13], cpu->f[0], -(cpu->f[28]));
|
|
/* 02C546A8 */ _t80 = cpu->r[1] + 0x00000008u;
|
|
/* 02C546A8 */ rbrew_write32(cpu->mem, _t80, cpu->r[8]);
|
|
/* 02C546AC */ cpu->f[13] = fma(cpu->f[11], cpu->f[3], -(cpu->f[10]));
|
|
/* 02C546B0 */ _t81 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02C546B0 */ rbrew_write_f32(cpu->mem, _t81, cpu->f[7]);
|
|
/* 02C546B4 */ _t82 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02C546B4 */ cpu->r[4] = rbrew_read32(cpu->mem, _t82);
|
|
/* 02C546B8 */ cpu->f[0] = cpu->f[0] * cpu->f[8];
|
|
/* 02C546BC */ _t83 = cpu->r[1] + 0x00000038u;
|
|
/* 02C546BC */ rbrew_write_f32(cpu->mem, _t83, cpu->f[13]);
|
|
/* 02C546C0 */ _t84 = cpu->r[1] + 0x00000038u;
|
|
/* 02C546C0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t84);
|
|
/* 02C546C4 */ cpu->f[13] = cpu->f[12] * cpu->f[4];
|
|
/* 02C546C8 */ _t85 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C546C8 */ rbrew_write32(cpu->mem, _t85, cpu->r[0]);
|
|
/* 02C546CC */ _t86 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C546CC */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t86);
|
|
/* 02C546D0 */ cpu->f[9] = cpu->f[5] * cpu->f[0];
|
|
/* 02C546D4 */ _t87 = cpu->r[1] + 0x00000008u;
|
|
/* 02C546D4 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t87);
|
|
/* 02C546D8 */ cpu->f[7] = cpu->f[10] * cpu->f[9];
|
|
/* 02C546DC */ _t88 = cpu->r[1] + 0x00000010u;
|
|
/* 02C546DC */ rbrew_write32(cpu->mem, _t88, cpu->r[4]);
|
|
/* 02C546E0 */ _t89 = cpu->r[1] + 0x00000010u;
|
|
/* 02C546E0 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t89);
|
|
/* 02C546E4 */ cpu->f[6] = cpu->f[8] * cpu->f[9];
|
|
/* 02C546E8 */ _t90 = cpu->r[21] + 0x00000004u;
|
|
/* 02C546E8 */ rbrew_write_f32(cpu->mem, _t90, cpu->f[7]);
|
|
/* 02C546EC */ cpu->f[8] = cpu->f[11] * cpu->f[9];
|
|
/* 02C546F0 */ _t91 = cpu->r[21] + 0x00000000u;
|
|
/* 02C546F0 */ rbrew_write_f32(cpu->mem, _t91, cpu->f[6]);
|
|
/* 02C546F4 */ cpu->f[12] = cpu->f[13] * cpu->f[0];
|
|
/* 02C546F8 */ _t92 = cpu->r[21] + 0x00000008u;
|
|
/* 02C546F8 */ rbrew_write_f32(cpu->mem, _t92, cpu->f[8]);
|
|
/* 02C546FC */ cpu->r[26] = cpu->r[26] + 0x00000018u;
|
|
/* 02C54700 */ cpu->r[25] = cpu->r[25] + 0xFFFFFFFFu;
|
|
/* 02C54700 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000000u);
|
|
/* 02C54704 */ cpu->r[27] = cpu->r[27] + 0x00000010u;
|
|
/* 02C54708 */ _t93 = cpu->r[21] + 0x0000000Cu;
|
|
/* 02C54708 */ rbrew_write_f32(cpu->mem, _t93, cpu->f[12]);
|
|
/* 02C5470C */ cpu->r[29] = cpu->r[29] + 0x00000004u;
|
|
/* 02C54710 */ _t94 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C54710 */ _t95 = _t94 & 0x00000001u;
|
|
/* 02C54710 */ if (_t95) goto L_02C54714; else goto L_02C544AC;
|
|
L_02C54714: ; // 0x2c54714
|
|
/* 02C54714 */ goto L_02C5494C;
|
|
L_02C54718: ; // 0x2c54718
|
|
/* 02C54718 */ _ft96 = sqrt(cpu->f[0]);
|
|
/* 02C54718 */ _ft97 = (double)(int32_t)0x00000001u;
|
|
/* 02C54718 */ cpu->f[9] = _ft97 / _ft96;
|
|
/* 02C5471C */ cpu->f[12] = cpu->f[27] * cpu->f[0];
|
|
/* 02C54720 */ cpu->f[6] = (double)(float)cpu->f[9];
|
|
/* 02C54724 */ cpu->f[7] = cpu->f[12] * cpu->f[6];
|
|
/* 02C54728 */ cpu->f[8] = -fma(cpu->f[7], cpu->f[6], -(cpu->f[28]));
|
|
/* 02C5472C */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[4], cpu->f[26]);
|
|
/* 02C54730 */ cpu->f[6] = cpu->f[6] * cpu->f[8];
|
|
/* 02C54734 */ cpu->f[5] = cpu->f[0] * cpu->f[6];
|
|
/* 02C54738 */ _t98 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C54738 */ _t99 = _t98 & 0x00000001u;
|
|
/* 02C54738 */ if (_t99) goto L_02C5473C; else goto L_02C54664;
|
|
L_02C5473C: ; // 0x2c5473c
|
|
/* 02C5473C */ _t100 = cpu->r[1] + 0x00000014u;
|
|
/* 02C5473C */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t100);
|
|
/* 02C54740 */ _t101 = cpu->r[1] + 0x00000018u;
|
|
/* 02C54740 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t101);
|
|
/* 02C54744 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[9], cpu->f[10]);
|
|
/* 02C54748 */ _t102 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C54748 */ _t103 = _t102 & 0x00000001u;
|
|
/* 02C54748 */ if (_t103) goto L_02C5474C; else goto L_02C54840;
|
|
L_02C5474C: ; // 0x2c5474c
|
|
/* 02C5474C */ _t104 = cpu->r[1] + 0x00000040u;
|
|
/* 02C5474C */ rbrew_write_f64(cpu->mem, _t104, cpu->f[30]);
|
|
/* 02C54750 */ _t105 = cpu->r[1] + 0x00000044u;
|
|
/* 02C54750 */ cpu->r[6] = rbrew_read32(cpu->mem, _t105);
|
|
/* 02C54754 */ cpu->f[4] = -cpu->f[11];
|
|
/* 02C54758 */ _t106 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C54758 */ rbrew_write_f32(cpu->mem, _t106, cpu->f[31]);
|
|
/* 02C5475C */ cpu->r[0] = 0x43300000u;
|
|
/* 02C54760 */ _t107 = cpu->r[1] + 0x00000014u;
|
|
/* 02C54760 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t107);
|
|
/* 02C54764 */ _t108 = cpu->r[1] + 0x00000008u;
|
|
/* 02C54764 */ rbrew_write_f32(cpu->mem, _t108, cpu->f[4]);
|
|
/* 02C54768 */ /* nop */
|
|
/* 02C5476C */ cpu->r[9] = rbrew_rlwinm(cpu->r[6], 0x00000000u, 0x00000008u, 0x0000001Fu);
|
|
/* 02C54770 */ cpu->r[5] = 0x101B0000u;
|
|
/* 02C54774 */ _t109 = cpu->r[1] + 0x00000020u;
|
|
/* 02C54774 */ rbrew_write32(cpu->mem, _t109, cpu->r[0]);
|
|
/* 02C54778 */ /* nop */
|
|
/* 02C5477C */ _t110 = cpu->r[5] + 0xFFFFEE38u;
|
|
/* 02C5477C */ cpu->f[13] = rbrew_read_f64(cpu->mem, _t110);
|
|
/* 02C54780 */ /* nop */
|
|
/* 02C54784 */ _t111 = cpu->r[1] + 0x00000024u;
|
|
/* 02C54784 */ rbrew_write32(cpu->mem, _t111, cpu->r[9]);
|
|
/* 02C54788 */ _t112 = cpu->r[1] + 0x00000020u;
|
|
/* 02C54788 */ cpu->f[8] = rbrew_read_f64(cpu->mem, _t112);
|
|
/* 02C5478C */ cpu->f[12] = fma(cpu->f[9], cpu->f[9], cpu->f[6]);
|
|
/* 02C54790 */ cpu->f[0] = cpu->f[8] - cpu->f[13];
|
|
/* 02C54794 */ cpu->f[6] = (double)(float)cpu->f[0];
|
|
/* 02C54798 */ cpu->r[0] = rbrew_rlwinm(cpu->r[6], 0x0000000Cu, 0x00000014u, 0x0000001Bu);
|
|
/* 02C5479C */ _ft113 = sqrt(cpu->f[12]);
|
|
/* 02C5479C */ _ft114 = (double)(int32_t)0x00000001u;
|
|
/* 02C5479C */ cpu->f[8] = _ft114 / _ft113;
|
|
/* 02C547A0 */ cpu->f[12] = cpu->f[27] * cpu->f[12];
|
|
/* 02C547A4 */ cpu->r[11] = cpu->r[28] + cpu->r[0];
|
|
/* 02C547A8 */ cpu->f[0] = (double)(float)cpu->f[8];
|
|
/* 02C547AC */ _t115 = cpu->r[11] + 0x00000008u;
|
|
/* 02C547AC */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t115);
|
|
/* 02C547B0 */ cpu->f[10] = cpu->f[6] * cpu->f[29];
|
|
/* 02C547B4 */ _t116 = cpu->r[28] + cpu->r[0];
|
|
/* 02C547B4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t116);
|
|
/* 02C547B8 */ cpu->f[6] = cpu->f[12] * cpu->f[0];
|
|
/* 02C547BC */ cpu->f[8] = fma(cpu->f[7], cpu->f[10], cpu->f[8]);
|
|
/* 02C547C0 */ _t117 = cpu->r[1] + 0x00000048u;
|
|
/* 02C547C0 */ rbrew_write_f64(cpu->mem, _t117, cpu->f[30]);
|
|
/* 02C547C4 */ cpu->f[7] = -fma(cpu->f[6], cpu->f[0], -(cpu->f[28]));
|
|
/* 02C547C8 */ _t118 = cpu->r[1] + 0x0000004Cu;
|
|
/* 02C547C8 */ cpu->r[7] = rbrew_read32(cpu->mem, _t118);
|
|
/* 02C547CC */ cpu->f[8] = cpu->f[8] * cpu->f[5];
|
|
/* 02C547D0 */ cpu->r[8] = rbrew_rlwinm(cpu->r[7], 0x00000000u, 0x00000008u, 0x0000001Fu);
|
|
/* 02C547D4 */ cpu->f[0] = cpu->f[0] * cpu->f[7];
|
|
/* 02C547D8 */ _t119 = cpu->r[1] + 0x00000024u;
|
|
/* 02C547D8 */ rbrew_write32(cpu->mem, _t119, cpu->r[8]);
|
|
/* 02C547DC */ cpu->f[7] = cpu->f[8] * cpu->f[0];
|
|
/* 02C547E0 */ _t120 = cpu->r[1] + 0x00000020u;
|
|
/* 02C547E0 */ cpu->f[8] = rbrew_read_f64(cpu->mem, _t120);
|
|
/* 02C547E4 */ cpu->f[0] = cpu->f[9] * cpu->f[7];
|
|
/* 02C547E8 */ _t121 = cpu->r[1] + 0x00000010u;
|
|
/* 02C547E8 */ rbrew_write_f32(cpu->mem, _t121, cpu->f[9]);
|
|
/* 02C547EC */ cpu->f[9] = cpu->f[8] - cpu->f[13];
|
|
/* 02C547F0 */ cpu->f[12] = cpu->f[31] * cpu->f[7];
|
|
/* 02C547F4 */ cpu->r[4] = rbrew_rlwinm(cpu->r[7], 0x0000000Cu, 0x00000014u, 0x0000001Bu);
|
|
/* 02C547F8 */ cpu->f[11] = (double)(float)cpu->f[9];
|
|
/* 02C547FC */ cpu->r[10] = cpu->r[28] + cpu->r[4];
|
|
/* 02C54800 */ cpu->f[10] = cpu->f[4] * cpu->f[7];
|
|
/* 02C54804 */ _t122 = cpu->r[10] + 0x0000000Cu;
|
|
/* 02C54804 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t122);
|
|
/* 02C54808 */ cpu->f[13] = cpu->f[11] * cpu->f[29];
|
|
/* 02C5480C */ _t123 = cpu->r[10] + 0x00000004u;
|
|
/* 02C5480C */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t123);
|
|
/* 02C54810 */ _t124 = cpu->r[21] + 0x00000004u;
|
|
/* 02C54810 */ rbrew_write_f32(cpu->mem, _t124, cpu->f[12]);
|
|
/* 02C54814 */ cpu->f[13] = fma(cpu->f[9], cpu->f[13], cpu->f[11]);
|
|
/* 02C54818 */ _t125 = cpu->r[21] + 0x00000000u;
|
|
/* 02C54818 */ rbrew_write_f32(cpu->mem, _t125, cpu->f[10]);
|
|
/* 02C5481C */ cpu->f[6] = cpu->f[13] * cpu->f[5];
|
|
/* 02C54820 */ _t126 = cpu->r[21] + 0x00000008u;
|
|
/* 02C54820 */ rbrew_write_f32(cpu->mem, _t126, cpu->f[0]);
|
|
/* 02C54824 */ cpu->r[27] = cpu->r[27] + 0x00000010u;
|
|
/* 02C54828 */ cpu->r[25] = cpu->r[25] + 0xFFFFFFFFu;
|
|
/* 02C54828 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000000u);
|
|
/* 02C5482C */ cpu->r[26] = cpu->r[26] + 0x00000018u;
|
|
/* 02C54830 */ _t127 = cpu->r[21] + 0x0000000Cu;
|
|
/* 02C54830 */ rbrew_write_f32(cpu->mem, _t127, cpu->f[6]);
|
|
/* 02C54834 */ cpu->r[29] = cpu->r[29] + 0x00000004u;
|
|
/* 02C54838 */ _t128 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C54838 */ _t129 = _t128 & 0x00000001u;
|
|
/* 02C54838 */ if (_t129) goto L_02C5483C; else goto L_02C544AC;
|
|
L_02C5483C: ; // 0x2c5483c
|
|
/* 02C5483C */ goto L_02C5494C;
|
|
L_02C54840: ; // 0x2c54840
|
|
/* 02C54840 */ _t130 = cpu->r[1] + 0x00000018u;
|
|
/* 02C54840 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t130);
|
|
/* 02C54844 */ cpu->r[0] = 0x43300000u;
|
|
/* 02C54848 */ _t131 = cpu->r[1] + 0x00000008u;
|
|
/* 02C54848 */ rbrew_write_f32(cpu->mem, _t131, cpu->f[31]);
|
|
/* 02C5484C */ cpu->f[9] = -cpu->f[12];
|
|
/* 02C54850 */ _t132 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C54850 */ rbrew_write_f32(cpu->mem, _t132, cpu->f[11]);
|
|
/* 02C54854 */ /* nop */
|
|
/* 02C54858 */ cpu->r[5] = 0x101B0000u;
|
|
/* 02C5485C */ _t133 = cpu->r[1] + 0x00000040u;
|
|
/* 02C5485C */ rbrew_write_f64(cpu->mem, _t133, cpu->f[30]);
|
|
/* 02C54860 */ _t134 = cpu->r[1] + 0x00000044u;
|
|
/* 02C54860 */ cpu->r[6] = rbrew_read32(cpu->mem, _t134);
|
|
/* 02C54864 */ /* nop */
|
|
/* 02C54868 */ _t135 = cpu->r[5] + 0xFFFFEE38u;
|
|
/* 02C54868 */ cpu->f[13] = rbrew_read_f64(cpu->mem, _t135);
|
|
/* 02C5486C */ cpu->r[9] = rbrew_rlwinm(cpu->r[6], 0x00000000u, 0x00000008u, 0x0000001Fu);
|
|
/* 02C54870 */ _t136 = cpu->r[1] + 0x00000020u;
|
|
/* 02C54870 */ rbrew_write32(cpu->mem, _t136, cpu->r[0]);
|
|
/* 02C54874 */ /* nop */
|
|
/* 02C54878 */ _t137 = cpu->r[1] + 0x00000024u;
|
|
/* 02C54878 */ rbrew_write32(cpu->mem, _t137, cpu->r[9]);
|
|
/* 02C5487C */ _t138 = cpu->r[1] + 0x00000020u;
|
|
/* 02C5487C */ cpu->f[8] = rbrew_read_f64(cpu->mem, _t138);
|
|
/* 02C54880 */ cpu->f[0] = cpu->f[8] - cpu->f[13];
|
|
/* 02C54884 */ cpu->f[12] = fma(cpu->f[9], cpu->f[9], cpu->f[6]);
|
|
/* 02C54888 */ cpu->f[6] = (double)(float)cpu->f[0];
|
|
/* 02C5488C */ _ft139 = sqrt(cpu->f[12]);
|
|
/* 02C5488C */ _ft140 = (double)(int32_t)0x00000001u;
|
|
/* 02C5488C */ cpu->f[8] = _ft140 / _ft139;
|
|
/* 02C54890 */ cpu->r[0] = rbrew_rlwinm(cpu->r[6], 0x0000000Cu, 0x00000014u, 0x0000001Bu);
|
|
/* 02C54894 */ cpu->f[12] = cpu->f[27] * cpu->f[12];
|
|
/* 02C54898 */ cpu->r[11] = cpu->r[28] + cpu->r[0];
|
|
/* 02C5489C */ cpu->f[0] = (double)(float)cpu->f[8];
|
|
/* 02C548A0 */ _t141 = cpu->r[11] + 0x00000008u;
|
|
/* 02C548A0 */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t141);
|
|
/* 02C548A4 */ cpu->f[10] = cpu->f[6] * cpu->f[29];
|
|
/* 02C548A8 */ _t142 = cpu->r[28] + cpu->r[0];
|
|
/* 02C548A8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t142);
|
|
/* 02C548AC */ cpu->f[6] = cpu->f[12] * cpu->f[0];
|
|
/* 02C548B0 */ cpu->f[8] = fma(cpu->f[7], cpu->f[10], cpu->f[8]);
|
|
/* 02C548B4 */ _t143 = cpu->r[1] + 0x00000048u;
|
|
/* 02C548B4 */ rbrew_write_f64(cpu->mem, _t143, cpu->f[30]);
|
|
/* 02C548B8 */ cpu->f[7] = -fma(cpu->f[6], cpu->f[0], -(cpu->f[28]));
|
|
/* 02C548BC */ _t144 = cpu->r[1] + 0x0000004Cu;
|
|
/* 02C548BC */ cpu->r[7] = rbrew_read32(cpu->mem, _t144);
|
|
/* 02C548C0 */ cpu->f[8] = cpu->f[8] * cpu->f[5];
|
|
/* 02C548C4 */ cpu->f[0] = cpu->f[0] * cpu->f[7];
|
|
/* 02C548C8 */ cpu->r[8] = rbrew_rlwinm(cpu->r[7], 0x00000000u, 0x00000008u, 0x0000001Fu);
|
|
/* 02C548CC */ _t145 = cpu->r[1] + 0x00000024u;
|
|
/* 02C548CC */ rbrew_write32(cpu->mem, _t145, cpu->r[8]);
|
|
/* 02C548D0 */ cpu->f[7] = cpu->f[8] * cpu->f[0];
|
|
/* 02C548D4 */ _t146 = cpu->r[1] + 0x00000020u;
|
|
/* 02C548D4 */ cpu->f[8] = rbrew_read_f64(cpu->mem, _t146);
|
|
/* 02C548D8 */ cpu->f[0] = cpu->f[9] * cpu->f[7];
|
|
/* 02C548DC */ _t147 = cpu->r[1] + 0x00000010u;
|
|
/* 02C548DC */ rbrew_write_f32(cpu->mem, _t147, cpu->f[9]);
|
|
/* 02C548E0 */ cpu->f[9] = cpu->f[8] - cpu->f[13];
|
|
/* 02C548E4 */ cpu->f[12] = cpu->f[11] * cpu->f[7];
|
|
/* 02C548E8 */ cpu->r[4] = rbrew_rlwinm(cpu->r[7], 0x0000000Cu, 0x00000014u, 0x0000001Bu);
|
|
/* 02C548EC */ cpu->f[11] = (double)(float)cpu->f[9];
|
|
/* 02C548F0 */ cpu->r[10] = cpu->r[28] + cpu->r[4];
|
|
/* 02C548F4 */ cpu->f[10] = cpu->f[31] * cpu->f[7];
|
|
/* 02C548F8 */ _t148 = cpu->r[10] + 0x0000000Cu;
|
|
/* 02C548F8 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t148);
|
|
/* 02C548FC */ cpu->f[13] = cpu->f[11] * cpu->f[29];
|
|
/* 02C54900 */ _t149 = cpu->r[10] + 0x00000004u;
|
|
/* 02C54900 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t149);
|
|
/* 02C54904 */ _t150 = cpu->r[21] + 0x00000004u;
|
|
/* 02C54904 */ rbrew_write_f32(cpu->mem, _t150, cpu->f[12]);
|
|
/* 02C54908 */ cpu->f[13] = fma(cpu->f[9], cpu->f[13], cpu->f[11]);
|
|
/* 02C5490C */ _t151 = cpu->r[21] + 0x00000000u;
|
|
/* 02C5490C */ rbrew_write_f32(cpu->mem, _t151, cpu->f[10]);
|
|
/* 02C54910 */ cpu->f[6] = cpu->f[13] * cpu->f[5];
|
|
/* 02C54914 */ _t152 = cpu->r[21] + 0x00000008u;
|
|
/* 02C54914 */ rbrew_write_f32(cpu->mem, _t152, cpu->f[0]);
|
|
/* 02C54918 */ cpu->r[26] = cpu->r[26] + 0x00000018u;
|
|
/* 02C5491C */ cpu->r[25] = cpu->r[25] + 0xFFFFFFFFu;
|
|
/* 02C5491C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000000u);
|
|
/* 02C54920 */ cpu->r[27] = cpu->r[27] + 0x00000010u;
|
|
/* 02C54924 */ _t153 = cpu->r[21] + 0x0000000Cu;
|
|
/* 02C54924 */ rbrew_write_f32(cpu->mem, _t153, cpu->f[6]);
|
|
/* 02C54928 */ cpu->r[29] = cpu->r[29] + 0x00000004u;
|
|
/* 02C5492C */ _t154 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C5492C */ _t155 = _t154 & 0x00000001u;
|
|
/* 02C5492C */ if (_t155) goto L_02C54930; else goto L_02C544AC;
|
|
L_02C54930: ; // 0x2c54930
|
|
/* 02C54930 */ goto L_02C5494C;
|
|
L_02C54934: ; // 0x2c54934
|
|
/* 02C54934 */ cpu->r[31] = cpu->r[31] | 0x0000FFFFu;
|
|
L_02C54938: ; // 0x2c54938
|
|
/* 02C54938 */ cpu->r[26] = cpu->r[26] + 0x00000018u;
|
|
/* 02C5493C */ cpu->r[25] = cpu->r[25] + 0xFFFFFFFFu;
|
|
/* 02C5493C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000000u);
|
|
/* 02C54940 */ cpu->r[29] = cpu->r[29] + 0x00000004u;
|
|
/* 02C54944 */ cpu->r[27] = cpu->r[27] + 0x00000010u;
|
|
/* 02C54948 */ _t156 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C54948 */ _t157 = _t156 & 0x00000001u;
|
|
/* 02C54948 */ if (_t157) goto L_02C5494C; else goto L_02C544AC;
|
|
L_02C5494C: ; // 0x2c5494c
|
|
/* 02C5494C */ cpu->r[3] = cpu->r[31];
|
|
/* 02C54950 */ /* nop */
|
|
/* 02C54954 */ _t158 = cpu->r[1] + 0x000000E0u;
|
|
/* 02C54954 */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t158);
|
|
/* 02C54958 */ _t159 = cpu->r[1] + 0x000000C0u;
|
|
/* 02C54958 */ cpu->f[28] = rbrew_read_f32(cpu->mem, _t159);
|
|
/* 02C5495C */ _t160 = cpu->r[1] + 0x000000D8u;
|
|
/* 02C5495C */ cpu->f[30] = rbrew_read_f64(cpu->mem, _t160);
|
|
/* 02C54960 */ _t161 = cpu->r[1] + 0x000000B0u;
|
|
/* 02C54960 */ cpu->f[27] = rbrew_read_f32(cpu->mem, _t161);
|
|
/* 02C54964 */ _t162 = cpu->r[1] + 0x000000B8u;
|
|
/* 02C54964 */ cpu->f[28] = rbrew_read_f64(cpu->mem, _t162);
|
|
/* 02C54968 */ _t163 = cpu->r[1] + 0x000000A8u;
|
|
/* 02C54968 */ cpu->f[27] = rbrew_read_f64(cpu->mem, _t163);
|
|
/* 02C5496C */ _t164 = cpu->r[1] + 0x000000A0u;
|
|
/* 02C5496C */ cpu->f[26] = rbrew_read_f32(cpu->mem, _t164);
|
|
/* 02C54970 */ _t165 = cpu->r[1] + 0x000000D0u;
|
|
/* 02C54970 */ cpu->f[29] = rbrew_read_f32(cpu->mem, _t165);
|
|
/* 02C54974 */ _t166 = cpu->r[1] + 0x00000098u;
|
|
/* 02C54974 */ cpu->f[26] = rbrew_read_f64(cpu->mem, _t166);
|
|
/* 02C54978 */ _t167 = cpu->r[1] + 0x000000C8u;
|
|
/* 02C54978 */ cpu->f[29] = rbrew_read_f64(cpu->mem, _t167);
|
|
/* 02C5497C */ _t168 = cpu->r[1] + 0x00000090u;
|
|
/* 02C5497C */ cpu->f[25] = rbrew_read_f32(cpu->mem, _t168);
|
|
/* 02C54980 */ _t169 = cpu->r[1] + 0x000000F0u;
|
|
/* 02C54980 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t169);
|
|
/* 02C54984 */ _t170 = cpu->r[1] + 0x00000088u;
|
|
/* 02C54984 */ cpu->f[25] = rbrew_read_f64(cpu->mem, _t170);
|
|
/* 02C54988 */ _t171 = cpu->r[1] + 0x000000E8u;
|
|
/* 02C54988 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t171);
|
|
/* 02C5498C */ _t172 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C5498C */ _t173 = _t172 & 0x00000001u;
|
|
/* 02C5498C */ if (_t173) goto L_02C54990; // else: addr-0 trap, fall-through
|
|
L_02C54990: ; // 0x2c54990
|
|
/* 02C54990 */ _t174 = cpu->r[1] + 0x000000FCu;
|
|
/* 02C54990 */ cpu->r[0] = rbrew_read32(cpu->mem, _t174);
|
|
/* 02C54994 */ cpu->lr = cpu->r[0];
|
|
/* 02C54998 */ cpu->r[1] = cpu->r[1] + 0x000000F8u;
|
|
/* 02C5499C */ return;
|
|
}
|
|
|
|
// fn_02C549A0 @ 0x2c549a0
|
|
void Gambit_fn_02C549A0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16;
|
|
|
|
L_02C549A0: ; // 0x2c549a0
|
|
/* 02C549A0 */ cpu->r[0] = cpu->lr;
|
|
/* 02C549A4 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02C549A4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C549A4 */ cpu->r[1] = _t0;
|
|
/* 02C549A8 */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 02C549A8 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02C549AC */ cpu->r[31] = cpu->r[5];
|
|
/* 02C549B0 */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 02C549B0 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02C549B4 */ cpu->r[30] = cpu->r[4];
|
|
/* 02C549B8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[31]);
|
|
/* 02C549BC */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C549BC */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 02C549C0 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C549C0 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02C549C4 */ cpu->r[29] = cpu->r[3];
|
|
/* 02C549C8 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C549C8 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02C549C8 */ if (_t6) goto L_02C549CC; else goto L_02C549EC;
|
|
L_02C549CC: ; // 0x2c549cc
|
|
/* 02C549CC */ Gambit_fn_02C54314(cpu);
|
|
/* 02C549D0 */ _t7 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C549D0 */ cpu->r[29] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02C549D4 */ _t8 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C549D4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C549D8 */ _t9 = cpu->r[1] + 0x00000010u;
|
|
/* 02C549D8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02C549DC */ cpu->lr = cpu->r[0];
|
|
/* 02C549E0 */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02C549E0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02C549E4 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C549E8 */ return;
|
|
L_02C549EC: ; // 0x2c549ec
|
|
/* 02C549EC */ _t11 = cpu->r[29] + 0x00000050u;
|
|
/* 02C549EC */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02C549F0 */ cpu->r[0] = cpu->r[0] | 0x00000020u;
|
|
/* 02C549F4 */ _t12 = cpu->r[29] + 0x00000050u;
|
|
/* 02C549F4 */ rbrew_write32(cpu->mem, _t12, cpu->r[0]);
|
|
/* 02C549F8 */ Gambit_fn_02C53FF0(cpu);
|
|
/* 02C549FC */ cpu->r[5] = cpu->r[31];
|
|
/* 02C54A00 */ cpu->r[4] = cpu->r[30];
|
|
/* 02C54A04 */ cpu->r[3] = cpu->r[29];
|
|
/* 02C54A08 */ Gambit_fn_02C543D8(cpu);
|
|
/* 02C54A0C */ cpu->r[31] = cpu->r[3];
|
|
/* 02C54A10 */ cpu->r[3] = cpu->r[29];
|
|
/* 02C54A14 */ cpu->r[4] = cpu->r[30];
|
|
/* 02C54A18 */ Gambit_fn_02C54174(cpu);
|
|
/* 02C54A1C */ _t13 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C54A1C */ cpu->r[29] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02C54A20 */ _t14 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C54A20 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02C54A24 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C54A28 */ _t15 = cpu->r[1] + 0x00000010u;
|
|
/* 02C54A28 */ cpu->r[30] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02C54A2C */ cpu->lr = cpu->r[0];
|
|
/* 02C54A30 */ _t16 = cpu->r[1] + 0x00000014u;
|
|
/* 02C54A30 */ cpu->r[31] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02C54A34 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C54A38 */ return;
|
|
}
|
|
|
|
// fn_02C549A4 @ 0x2c549a4
|
|
void Gambit_fn_02C549A4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16;
|
|
|
|
L_02C549A4: ; // 0x2c549a4
|
|
/* 02C549A4 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02C549A4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C549A4 */ cpu->r[1] = _t0;
|
|
/* 02C549A8 */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 02C549A8 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02C549AC */ cpu->r[31] = cpu->r[5];
|
|
/* 02C549B0 */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 02C549B0 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02C549B4 */ cpu->r[30] = cpu->r[4];
|
|
/* 02C549B8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[31]);
|
|
/* 02C549BC */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C549BC */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 02C549C0 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C549C0 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02C549C4 */ cpu->r[29] = cpu->r[3];
|
|
/* 02C549C8 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C549C8 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02C549C8 */ if (_t6) goto L_02C549CC; else goto L_02C549EC;
|
|
L_02C549CC: ; // 0x2c549cc
|
|
/* 02C549CC */ Gambit_fn_02C54314(cpu);
|
|
/* 02C549D0 */ _t7 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C549D0 */ cpu->r[29] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02C549D4 */ _t8 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C549D4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C549D8 */ _t9 = cpu->r[1] + 0x00000010u;
|
|
/* 02C549D8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02C549DC */ cpu->lr = cpu->r[0];
|
|
/* 02C549E0 */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02C549E0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02C549E4 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C549E8 */ return;
|
|
L_02C549EC: ; // 0x2c549ec
|
|
/* 02C549EC */ _t11 = cpu->r[29] + 0x00000050u;
|
|
/* 02C549EC */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02C549F0 */ cpu->r[0] = cpu->r[0] | 0x00000020u;
|
|
/* 02C549F4 */ _t12 = cpu->r[29] + 0x00000050u;
|
|
/* 02C549F4 */ rbrew_write32(cpu->mem, _t12, cpu->r[0]);
|
|
/* 02C549F8 */ Gambit_fn_02C53FF0(cpu);
|
|
/* 02C549FC */ cpu->r[5] = cpu->r[31];
|
|
/* 02C54A00 */ cpu->r[4] = cpu->r[30];
|
|
/* 02C54A04 */ cpu->r[3] = cpu->r[29];
|
|
/* 02C54A08 */ Gambit_fn_02C543D8(cpu);
|
|
/* 02C54A0C */ cpu->r[31] = cpu->r[3];
|
|
/* 02C54A10 */ cpu->r[3] = cpu->r[29];
|
|
/* 02C54A14 */ cpu->r[4] = cpu->r[30];
|
|
/* 02C54A18 */ Gambit_fn_02C54174(cpu);
|
|
/* 02C54A1C */ _t13 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C54A1C */ cpu->r[29] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02C54A20 */ _t14 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C54A20 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02C54A24 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C54A28 */ _t15 = cpu->r[1] + 0x00000010u;
|
|
/* 02C54A28 */ cpu->r[30] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02C54A2C */ cpu->lr = cpu->r[0];
|
|
/* 02C54A30 */ _t16 = cpu->r[1] + 0x00000014u;
|
|
/* 02C54A30 */ cpu->r[31] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02C54A34 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C54A38 */ return;
|
|
}
|
|
|
|
// fn_02C54A3C @ 0x2c54a3c
|
|
void Gambit_fn_02C54A3C(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_02C54A3C: ; // 0x2c54a3c
|
|
/* 02C54A3C */ cpu->r[0] = cpu->lr;
|
|
/* 02C54A40 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02C54A40 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C54A40 */ cpu->r[1] = _t0;
|
|
/* 02C54A44 */ cpu->r[12] = cpu->r[3];
|
|
/* 02C54A48 */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 02C54A48 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02C54A4C */ cpu->r[31] = cpu->r[5];
|
|
/* 02C54A50 */ cpu->r[3] = cpu->r[4];
|
|
/* 02C54A54 */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 02C54A54 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02C54A58 */ cpu->r[30] = cpu->r[12] + 0x00000038u;
|
|
/* 02C54A5C */ cpu->r[4] = cpu->r[31];
|
|
/* 02C54A60 */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C54A60 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 02C54A64 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C54A64 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02C54A68 */ cpu->r[29] = rbrew_rlwinm(cpu->r[6], 0x0000001Eu, 0x00000000u, 0x00000001u);
|
|
/* 02C54A6C */ Gambit_fn_02C64978(cpu);
|
|
/* 02C54A70 */ cpu->r[0] = cpu->r[31] + 0x00000001u;
|
|
/* 02C54A74 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], cpu->r[3]);
|
|
/* 02C54A78 */ cpu->r[8] = cpu->r[3] - cpu->r[31];
|
|
/* 02C54A7C */ _t5 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C54A7C */ _t6 = _t5 & 0x00000001u;
|
|
/* 02C54A7C */ if (_t6) goto L_02C54A84; else goto L_02C54A80;
|
|
L_02C54A80: ; // 0x2c54a80
|
|
/* 02C54A80 */ cpu->r[8] = 0x00000001u;
|
|
L_02C54A84: ; // 0x2c54a84
|
|
/* 02C54A84 */ cpu->ctr = cpu->r[8];
|
|
/* 02C54A88 */ cpu->r[10] = rbrew_rlwinm(cpu->r[31], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
L_02C54A8C: ; // 0x2c54a8c
|
|
/* 02C54A8C */ _t7 = cpu->r[30] + 0x00000000u;
|
|
/* 02C54A8C */ cpu->r[11] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02C54A90 */ _t8 = cpu->r[11] + cpu->r[10];
|
|
/* 02C54A90 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C54A94 */ cpu->r[8] = rbrew_rlwinm(cpu->r[0], 0x00000011u, 0x00000011u, 0x0000001Fu);
|
|
/* 02C54A98 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00007FFFu);
|
|
/* 02C54A9C */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C54A9C */ _t10 = _t9 & 0x00000001u;
|
|
/* 02C54A9C */ if (_t10) goto L_02C54AC0; else goto L_02C54AA0;
|
|
L_02C54AA0: ; // 0x2c54aa0
|
|
/* 02C54AA0 */ cpu->r[0] = rbrew_rlwinm(cpu->r[8], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02C54AA4 */ _t11 = cpu->r[11] + cpu->r[0];
|
|
/* 02C54AA4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02C54AA8 */ cpu->r[12] = rbrew_rlwinm(cpu->r[12], 0x00000000u, 0x00000002u, 0x0000001Fu);
|
|
/* 02C54AAC */ _t12 = cpu->r[11] + cpu->r[0];
|
|
/* 02C54AAC */ rbrew_write32(cpu->mem, _t12, cpu->r[12]);
|
|
/* 02C54AB0 */ _t13 = cpu->r[30] + 0x00000000u;
|
|
/* 02C54AB0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02C54AB4 */ _t14 = cpu->r[11] + cpu->r[0];
|
|
/* 02C54AB4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02C54AB8 */ cpu->r[9] = cpu->r[9] | cpu->r[29];
|
|
/* 02C54ABC */ _t15 = cpu->r[11] + cpu->r[0];
|
|
/* 02C54ABC */ rbrew_write32(cpu->mem, _t15, cpu->r[9]);
|
|
L_02C54AC0: ; // 0x2c54ac0
|
|
/* 02C54AC0 */ cpu->r[10] = cpu->r[10] + 0x00000004u;
|
|
/* 02C54AC4 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02C54AC4 */ _t16 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02C54AC4 */ _t17 = _t16 >> (0x00000002u & 31u);
|
|
/* 02C54AC4 */ _t18 = _t17 & 0x00000001u;
|
|
/* 02C54AC4 */ if (_t18) goto L_02C54A8C; else goto L_02C54AC8;
|
|
L_02C54AC8: ; // 0x2c54ac8
|
|
/* 02C54AC8 */ _t19 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C54AC8 */ cpu->r[29] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02C54ACC */ _t20 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C54ACC */ cpu->r[0] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02C54AD0 */ _t21 = cpu->r[1] + 0x00000010u;
|
|
/* 02C54AD0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02C54AD4 */ cpu->lr = cpu->r[0];
|
|
/* 02C54AD8 */ _t22 = cpu->r[1] + 0x00000014u;
|
|
/* 02C54AD8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02C54ADC */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C54AE0 */ return;
|
|
}
|
|
|
|
// fn_02C54A40 @ 0x2c54a40
|
|
void Gambit_fn_02C54A40(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_02C54A40: ; // 0x2c54a40
|
|
/* 02C54A40 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02C54A40 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C54A40 */ cpu->r[1] = _t0;
|
|
/* 02C54A44 */ cpu->r[12] = cpu->r[3];
|
|
/* 02C54A48 */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 02C54A48 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02C54A4C */ cpu->r[31] = cpu->r[5];
|
|
/* 02C54A50 */ cpu->r[3] = cpu->r[4];
|
|
/* 02C54A54 */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 02C54A54 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02C54A58 */ cpu->r[30] = cpu->r[12] + 0x00000038u;
|
|
/* 02C54A5C */ cpu->r[4] = cpu->r[31];
|
|
/* 02C54A60 */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C54A60 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 02C54A64 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C54A64 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02C54A68 */ cpu->r[29] = rbrew_rlwinm(cpu->r[6], 0x0000001Eu, 0x00000000u, 0x00000001u);
|
|
/* 02C54A6C */ Gambit_fn_02C64978(cpu);
|
|
/* 02C54A70 */ cpu->r[0] = cpu->r[31] + 0x00000001u;
|
|
/* 02C54A74 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], cpu->r[3]);
|
|
/* 02C54A78 */ cpu->r[8] = cpu->r[3] - cpu->r[31];
|
|
/* 02C54A7C */ _t5 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C54A7C */ _t6 = _t5 & 0x00000001u;
|
|
/* 02C54A7C */ if (_t6) goto L_02C54A84; else goto L_02C54A80;
|
|
L_02C54A80: ; // 0x2c54a80
|
|
/* 02C54A80 */ cpu->r[8] = 0x00000001u;
|
|
L_02C54A84: ; // 0x2c54a84
|
|
/* 02C54A84 */ cpu->ctr = cpu->r[8];
|
|
/* 02C54A88 */ cpu->r[10] = rbrew_rlwinm(cpu->r[31], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
L_02C54A8C: ; // 0x2c54a8c
|
|
/* 02C54A8C */ _t7 = cpu->r[30] + 0x00000000u;
|
|
/* 02C54A8C */ cpu->r[11] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02C54A90 */ _t8 = cpu->r[11] + cpu->r[10];
|
|
/* 02C54A90 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C54A94 */ cpu->r[8] = rbrew_rlwinm(cpu->r[0], 0x00000011u, 0x00000011u, 0x0000001Fu);
|
|
/* 02C54A98 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00007FFFu);
|
|
/* 02C54A9C */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C54A9C */ _t10 = _t9 & 0x00000001u;
|
|
/* 02C54A9C */ if (_t10) goto L_02C54AC0; else goto L_02C54AA0;
|
|
L_02C54AA0: ; // 0x2c54aa0
|
|
/* 02C54AA0 */ cpu->r[0] = rbrew_rlwinm(cpu->r[8], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02C54AA4 */ _t11 = cpu->r[11] + cpu->r[0];
|
|
/* 02C54AA4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02C54AA8 */ cpu->r[12] = rbrew_rlwinm(cpu->r[12], 0x00000000u, 0x00000002u, 0x0000001Fu);
|
|
/* 02C54AAC */ _t12 = cpu->r[11] + cpu->r[0];
|
|
/* 02C54AAC */ rbrew_write32(cpu->mem, _t12, cpu->r[12]);
|
|
/* 02C54AB0 */ _t13 = cpu->r[30] + 0x00000000u;
|
|
/* 02C54AB0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02C54AB4 */ _t14 = cpu->r[11] + cpu->r[0];
|
|
/* 02C54AB4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02C54AB8 */ cpu->r[9] = cpu->r[9] | cpu->r[29];
|
|
/* 02C54ABC */ _t15 = cpu->r[11] + cpu->r[0];
|
|
/* 02C54ABC */ rbrew_write32(cpu->mem, _t15, cpu->r[9]);
|
|
L_02C54AC0: ; // 0x2c54ac0
|
|
/* 02C54AC0 */ cpu->r[10] = cpu->r[10] + 0x00000004u;
|
|
/* 02C54AC4 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02C54AC4 */ _t16 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02C54AC4 */ _t17 = _t16 >> (0x00000002u & 31u);
|
|
/* 02C54AC4 */ _t18 = _t17 & 0x00000001u;
|
|
/* 02C54AC4 */ if (_t18) goto L_02C54A8C; else goto L_02C54AC8;
|
|
L_02C54AC8: ; // 0x2c54ac8
|
|
/* 02C54AC8 */ _t19 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C54AC8 */ cpu->r[29] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02C54ACC */ _t20 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C54ACC */ cpu->r[0] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02C54AD0 */ _t21 = cpu->r[1] + 0x00000010u;
|
|
/* 02C54AD0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02C54AD4 */ cpu->lr = cpu->r[0];
|
|
/* 02C54AD8 */ _t22 = cpu->r[1] + 0x00000014u;
|
|
/* 02C54AD8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02C54ADC */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C54AE0 */ return;
|
|
}
|
|
|
|
// fn_02C54AE4 @ 0x2c54ae4
|
|
void Gambit_fn_02C54AE4(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_02C54AE4: ; // 0x2c54ae4
|
|
/* 02C54AE4 */ cpu->r[0] = cpu->lr;
|
|
/* 02C54AE8 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C54AE8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C54AE8 */ cpu->r[1] = _t0;
|
|
/* 02C54AEC */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C54AEC */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02C54AF0 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C54AF4 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02C54AF4 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02C54AF8 */ _t3 = cpu->r[31] + 0x00000000u;
|
|
/* 02C54AF8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02C54AFC */ _t4 = cpu->r[31] + 0x00000028u;
|
|
/* 02C54AFC */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t4);
|
|
/* 02C54B00 */ _t5 = cpu->r[9] + 0x00000000u;
|
|
/* 02C54B00 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t5);
|
|
/* 02C54B04 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[0], cpu->f[13]);
|
|
/* 02C54B08 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C54B08 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02C54B08 */ if (_t7) goto L_02C54B8C; else goto L_02C54B0C;
|
|
L_02C54B0C: ; // 0x2c54b0c
|
|
/* 02C54B0C */ _t8 = cpu->r[31] + 0x00000044u;
|
|
/* 02C54B0C */ cpu->r[12] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C54B10 */ _t9 = cpu->r[31] + 0x00000050u;
|
|
/* 02C54B10 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02C54B14 */ _t10 = cpu->r[12] + 0x0000000Cu;
|
|
/* 02C54B14 */ cpu->r[12] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02C54B18 */ cpu->r[10] = rbrew_rlwinm(cpu->r[0], 0x0000001Bu, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02C54B1C */ cpu->r[0] = rbrew_rlwinm(cpu->r[12], 0x00000015u, 0x0000001Cu, 0x0000001Eu);
|
|
/* 02C54B20 */ cpu->r[9] = 0x101B0000u;
|
|
/* 02C54B24 */ cpu->r[12] = cpu->r[0] | cpu->r[10];
|
|
/* 02C54B28 */ cpu->r[9] = cpu->r[9] + 0xFFFFEE78u;
|
|
/* 02C54B2C */ cpu->r[0] = rbrew_rlwinm(cpu->r[12], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 02C54B30 */ cpu->r[9] = cpu->r[9] + cpu->r[0];
|
|
/* 02C54B34 */ _t11 = cpu->r[9] + 0x00000002u;
|
|
/* 02C54B34 */ cpu->r[0] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t11);
|
|
/* 02C54B38 */ _t12 = cpu->r[9] + 0x00000000u;
|
|
/* 02C54B38 */ cpu->r[11] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t12);
|
|
/* 02C54B3C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C54B40 */ cpu->r[3] = cpu->r[31] + cpu->r[11];
|
|
/* 02C54B44 */ _t13 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C54B44 */ _t14 = _t13 & 0x00000001u;
|
|
/* 02C54B44 */ if (_t14) goto L_02C54B48; else goto L_02C54B64;
|
|
L_02C54B48: ; // 0x2c54b48
|
|
/* 02C54B48 */ _t15 = cpu->r[9] + 0x00000004u;
|
|
/* 02C54B48 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02C54B4C */ cpu->ctr = cpu->r[0];
|
|
/* 02C54B50 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02C54B54 */ _t16 = cpu->r[31] + 0x00000000u;
|
|
/* 02C54B54 */ cpu->r[10] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02C54B58 */ _t17 = cpu->r[10] + 0x00000000u;
|
|
/* 02C54B58 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t17);
|
|
/* 02C54B5C */ _t18 = cpu->r[31] + 0x00000028u;
|
|
/* 02C54B5C */ rbrew_write_f32(cpu->mem, _t18, cpu->f[0]);
|
|
/* 02C54B60 */ goto L_02C54B8C;
|
|
L_02C54B64: ; // 0x2c54b64
|
|
/* 02C54B64 */ _t19 = cpu->r[9] + 0x00000006u;
|
|
/* 02C54B64 */ cpu->r[12] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t19);
|
|
/* 02C54B68 */ _t20 = cpu->r[3] + cpu->r[12];
|
|
/* 02C54B68 */ cpu->r[11] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02C54B6C */ cpu->r[9] = rbrew_rlwinm(cpu->r[0], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 02C54B70 */ cpu->r[10] = cpu->r[11] + cpu->r[9];
|
|
/* 02C54B74 */ _t21 = cpu->r[10] + 0x00000004u;
|
|
/* 02C54B74 */ cpu->r[0] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02C54B78 */ cpu->ctr = cpu->r[0];
|
|
/* 02C54B7C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02C54B80 */ _t22 = cpu->r[31] + 0x00000000u;
|
|
/* 02C54B80 */ cpu->r[10] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02C54B84 */ _t23 = cpu->r[10] + 0x00000000u;
|
|
/* 02C54B84 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t23);
|
|
/* 02C54B88 */ _t24 = cpu->r[31] + 0x00000028u;
|
|
/* 02C54B88 */ rbrew_write_f32(cpu->mem, _t24, cpu->f[0]);
|
|
L_02C54B8C: ; // 0x2c54b8c
|
|
/* 02C54B8C */ _t25 = cpu->r[1] + 0x00000014u;
|
|
/* 02C54B8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02C54B90 */ _t26 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C54B90 */ cpu->r[31] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02C54B94 */ cpu->lr = cpu->r[0];
|
|
/* 02C54B98 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C54B9C */ return;
|
|
}
|
|
|
|
// fn_02C54AE8 @ 0x2c54ae8
|
|
void Gambit_fn_02C54AE8(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_02C54AE8: ; // 0x2c54ae8
|
|
/* 02C54AE8 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C54AE8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C54AE8 */ cpu->r[1] = _t0;
|
|
/* 02C54AEC */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C54AEC */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02C54AF0 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C54AF4 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02C54AF4 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02C54AF8 */ _t3 = cpu->r[31] + 0x00000000u;
|
|
/* 02C54AF8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02C54AFC */ _t4 = cpu->r[31] + 0x00000028u;
|
|
/* 02C54AFC */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t4);
|
|
/* 02C54B00 */ _t5 = cpu->r[9] + 0x00000000u;
|
|
/* 02C54B00 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t5);
|
|
/* 02C54B04 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[0], cpu->f[13]);
|
|
/* 02C54B08 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C54B08 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02C54B08 */ if (_t7) goto L_02C54B8C; else goto L_02C54B0C;
|
|
L_02C54B0C: ; // 0x2c54b0c
|
|
/* 02C54B0C */ _t8 = cpu->r[31] + 0x00000044u;
|
|
/* 02C54B0C */ cpu->r[12] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C54B10 */ _t9 = cpu->r[31] + 0x00000050u;
|
|
/* 02C54B10 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02C54B14 */ _t10 = cpu->r[12] + 0x0000000Cu;
|
|
/* 02C54B14 */ cpu->r[12] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02C54B18 */ cpu->r[10] = rbrew_rlwinm(cpu->r[0], 0x0000001Bu, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02C54B1C */ cpu->r[0] = rbrew_rlwinm(cpu->r[12], 0x00000015u, 0x0000001Cu, 0x0000001Eu);
|
|
/* 02C54B20 */ cpu->r[9] = 0x101B0000u;
|
|
/* 02C54B24 */ cpu->r[12] = cpu->r[0] | cpu->r[10];
|
|
/* 02C54B28 */ cpu->r[9] = cpu->r[9] + 0xFFFFEE78u;
|
|
/* 02C54B2C */ cpu->r[0] = rbrew_rlwinm(cpu->r[12], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 02C54B30 */ cpu->r[9] = cpu->r[9] + cpu->r[0];
|
|
/* 02C54B34 */ _t11 = cpu->r[9] + 0x00000002u;
|
|
/* 02C54B34 */ cpu->r[0] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t11);
|
|
/* 02C54B38 */ _t12 = cpu->r[9] + 0x00000000u;
|
|
/* 02C54B38 */ cpu->r[11] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t12);
|
|
/* 02C54B3C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C54B40 */ cpu->r[3] = cpu->r[31] + cpu->r[11];
|
|
/* 02C54B44 */ _t13 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C54B44 */ _t14 = _t13 & 0x00000001u;
|
|
/* 02C54B44 */ if (_t14) goto L_02C54B48; else goto L_02C54B64;
|
|
L_02C54B48: ; // 0x2c54b48
|
|
/* 02C54B48 */ _t15 = cpu->r[9] + 0x00000004u;
|
|
/* 02C54B48 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02C54B4C */ cpu->ctr = cpu->r[0];
|
|
/* 02C54B50 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02C54B54 */ _t16 = cpu->r[31] + 0x00000000u;
|
|
/* 02C54B54 */ cpu->r[10] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02C54B58 */ _t17 = cpu->r[10] + 0x00000000u;
|
|
/* 02C54B58 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t17);
|
|
/* 02C54B5C */ _t18 = cpu->r[31] + 0x00000028u;
|
|
/* 02C54B5C */ rbrew_write_f32(cpu->mem, _t18, cpu->f[0]);
|
|
/* 02C54B60 */ goto L_02C54B8C;
|
|
L_02C54B64: ; // 0x2c54b64
|
|
/* 02C54B64 */ _t19 = cpu->r[9] + 0x00000006u;
|
|
/* 02C54B64 */ cpu->r[12] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t19);
|
|
/* 02C54B68 */ _t20 = cpu->r[3] + cpu->r[12];
|
|
/* 02C54B68 */ cpu->r[11] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02C54B6C */ cpu->r[9] = rbrew_rlwinm(cpu->r[0], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 02C54B70 */ cpu->r[10] = cpu->r[11] + cpu->r[9];
|
|
/* 02C54B74 */ _t21 = cpu->r[10] + 0x00000004u;
|
|
/* 02C54B74 */ cpu->r[0] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02C54B78 */ cpu->ctr = cpu->r[0];
|
|
/* 02C54B7C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02C54B80 */ _t22 = cpu->r[31] + 0x00000000u;
|
|
/* 02C54B80 */ cpu->r[10] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02C54B84 */ _t23 = cpu->r[10] + 0x00000000u;
|
|
/* 02C54B84 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t23);
|
|
/* 02C54B88 */ _t24 = cpu->r[31] + 0x00000028u;
|
|
/* 02C54B88 */ rbrew_write_f32(cpu->mem, _t24, cpu->f[0]);
|
|
L_02C54B8C: ; // 0x2c54b8c
|
|
/* 02C54B8C */ _t25 = cpu->r[1] + 0x00000014u;
|
|
/* 02C54B8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02C54B90 */ _t26 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C54B90 */ cpu->r[31] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02C54B94 */ cpu->lr = cpu->r[0];
|
|
/* 02C54B98 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C54B9C */ return;
|
|
}
|
|
|
|
// fn_02C54BA0 @ 0x2c54ba0
|
|
void Gambit_fn_02C54BA0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9;
|
|
|
|
L_02C54BA0: ; // 0x2c54ba0
|
|
/* 02C54BA0 */ _t0 = cpu->r[3] + 0x00000044u;
|
|
/* 02C54BA0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02C54BA4 */ _t1 = cpu->r[9] + 0x0000000Cu;
|
|
/* 02C54BA4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02C54BA8 */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x00000014u, 0x0000001Du, 0x0000001Fu);
|
|
/* 02C54BAC */ cpu->r[9] = rbrew_rlwinm(cpu->r[12], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 02C54BB0 */ cpu->r[10] = cpu->r[9] + 0x101B0000u;
|
|
/* 02C54BB4 */ cpu->r[8] = cpu->r[10] + 0xFFFFEE98u;
|
|
/* 02C54BB8 */ _t2 = cpu->r[8] + 0x00000002u;
|
|
/* 02C54BB8 */ cpu->r[10] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t2);
|
|
/* 02C54BBC */ _t3 = cpu->r[8] + 0x00000000u;
|
|
/* 02C54BBC */ cpu->r[11] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t3);
|
|
/* 02C54BC0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02C54BC4 */ cpu->r[3] = cpu->r[3] + cpu->r[11];
|
|
/* 02C54BC8 */ _t4 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C54BC8 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02C54BC8 */ if (_t5) goto L_02C54BCC; else goto L_02C54BD8;
|
|
L_02C54BCC: ; // 0x2c54bcc
|
|
/* 02C54BCC */ _t6 = cpu->r[8] + 0x00000004u;
|
|
/* 02C54BCC */ cpu->r[8] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02C54BD0 */ cpu->ctr = cpu->r[8];
|
|
/* 02C54BD4 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
L_02C54BD8: ; // 0x2c54bd8
|
|
/* 02C54BD8 */ _t7 = cpu->r[8] + 0x00000006u;
|
|
/* 02C54BD8 */ cpu->r[12] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t7);
|
|
/* 02C54BDC */ _t8 = cpu->r[3] + cpu->r[12];
|
|
/* 02C54BDC */ cpu->r[12] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C54BE0 */ cpu->r[0] = rbrew_rlwinm(cpu->r[10], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 02C54BE4 */ cpu->r[11] = cpu->r[12] + cpu->r[0];
|
|
/* 02C54BE8 */ _t9 = cpu->r[11] + 0x00000004u;
|
|
/* 02C54BE8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02C54BEC */ cpu->ctr = cpu->r[8];
|
|
/* 02C54BF0 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_02C54BF4 @ 0x2c54bf4
|
|
void Gambit_fn_02C54BF4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_02C54BA0: ; // 0x2c54ba0
|
|
/* 02C54BA0 */ _t0 = cpu->r[3] + 0x00000044u;
|
|
/* 02C54BA0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02C54BA4 */ _t1 = cpu->r[9] + 0x0000000Cu;
|
|
/* 02C54BA4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02C54BA8 */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x00000014u, 0x0000001Du, 0x0000001Fu);
|
|
/* 02C54BAC */ cpu->r[9] = rbrew_rlwinm(cpu->r[12], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 02C54BB0 */ cpu->r[10] = cpu->r[9] + 0x101B0000u;
|
|
/* 02C54BB4 */ cpu->r[8] = cpu->r[10] + 0xFFFFEE98u;
|
|
/* 02C54BB8 */ _t2 = cpu->r[8] + 0x00000002u;
|
|
/* 02C54BB8 */ cpu->r[10] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t2);
|
|
/* 02C54BBC */ _t3 = cpu->r[8] + 0x00000000u;
|
|
/* 02C54BBC */ cpu->r[11] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t3);
|
|
/* 02C54BC0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02C54BC4 */ cpu->r[3] = cpu->r[3] + cpu->r[11];
|
|
/* 02C54BC8 */ _t4 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C54BC8 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02C54BC8 */ if (_t5) goto L_02C54BCC; else goto L_02C54BD8;
|
|
L_02C54BCC: ; // 0x2c54bcc
|
|
/* 02C54BCC */ _t6 = cpu->r[8] + 0x00000004u;
|
|
/* 02C54BCC */ cpu->r[8] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02C54BD0 */ cpu->ctr = cpu->r[8];
|
|
/* 02C54BD4 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
L_02C54BD8: ; // 0x2c54bd8
|
|
/* 02C54BD8 */ _t7 = cpu->r[8] + 0x00000006u;
|
|
/* 02C54BD8 */ cpu->r[12] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t7);
|
|
/* 02C54BDC */ _t8 = cpu->r[3] + cpu->r[12];
|
|
/* 02C54BDC */ cpu->r[12] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C54BE0 */ cpu->r[0] = rbrew_rlwinm(cpu->r[10], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 02C54BE4 */ cpu->r[11] = cpu->r[12] + cpu->r[0];
|
|
/* 02C54BE8 */ _t9 = cpu->r[11] + 0x00000004u;
|
|
/* 02C54BE8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02C54BEC */ cpu->ctr = cpu->r[8];
|
|
/* 02C54BF0 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
L_02C54BF4: ; // 0x2c54bf4
|
|
/* 02C54BF4 */ _t10 = cpu->r[4] + 0x00000018u;
|
|
/* 02C54BF4 */ cpu->r[4] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02C54BF8 */ goto L_02C54BA0;
|
|
}
|
|
|
|
// fn_02C54BFC @ 0x2c54bfc
|
|
void Gambit_fn_02C54BFC(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_02C54BFC: ; // 0x2c54bfc
|
|
/* 02C54BFC */ cpu->r[0] = cpu->lr;
|
|
/* 02C54C00 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C54C00 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C54C00 */ cpu->r[1] = _t0;
|
|
/* 02C54C04 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C54C04 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02C54C08 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02C54C08 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02C54C0C */ cpu->r[30] = cpu->r[3];
|
|
/* 02C54C10 */ cpu->r[31] = cpu->r[4];
|
|
/* 02C54C14 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02C54C14 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02C54C18 */ _t4 = cpu->r[30] + 0x00000044u;
|
|
/* 02C54C18 */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
|
|
/* 02C54C1C */ _t5 = cpu->r[31] + 0x00000020u;
|
|
/* 02C54C1C */ cpu->r[8] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02C54C20 */ cpu->r[9] = cpu->r[31] + 0x00000020u;
|
|
/* 02C54C24 */ cpu->r[12] = 0x00000000u;
|
|
/* 02C54C28 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 02C54C2C */ _t6 = cpu->r[30] + 0x0000003Cu;
|
|
/* 02C54C2C */ cpu->r[0] = rbrew_read16(cpu->mem, _t6);
|
|
/* 02C54C30 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C54C30 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02C54C30 */ if (_t8) goto L_02C54C38; else goto L_02C54C34;
|
|
L_02C54C34: ; // 0x2c54c34
|
|
/* 02C54C34 */ cpu->r[12] = cpu->r[9] + cpu->r[8];
|
|
L_02C54C38: ; // 0x2c54c38
|
|
/* 02C54C38 */ _t9 = cpu->r[30] + 0x00000048u;
|
|
/* 02C54C38 */ rbrew_write32(cpu->mem, _t9, cpu->r[12]);
|
|
/* 02C54C3C */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000010u, 0x0000001Eu);
|
|
/* 02C54C40 */ _t10 = cpu->r[30] + 0x0000003Cu;
|
|
/* 02C54C40 */ rbrew_write16(cpu->mem, _t10, (uint16_t)cpu->r[0]);
|
|
/* 02C54C44 */ _t11 = cpu->r[31] + 0x0000000Cu;
|
|
/* 02C54C44 */ cpu->r[11] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02C54C48 */ cpu->r[5] = rbrew_rlwinm(cpu->r[11], 0x0000001Eu, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02C54C4C */ _t12 = cpu->r[31] + 0x00000010u;
|
|
/* 02C54C4C */ cpu->r[4] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02C54C50 */ cpu->r[3] = cpu->r[30];
|
|
/* 02C54C54 */ Gambit_fn_02C4F174(cpu);
|
|
/* 02C54C58 */ _t13 = cpu->r[31] + 0x00000014u;
|
|
/* 02C54C58 */ cpu->r[0] = rbrew_read16(cpu->mem, _t13);
|
|
/* 02C54C5C */ _t14 = cpu->r[30] + 0x00000040u;
|
|
/* 02C54C5C */ rbrew_write16(cpu->mem, _t14, (uint16_t)cpu->r[0]);
|
|
/* 02C54C60 */ _t15 = cpu->r[31] + 0x00000018u;
|
|
/* 02C54C60 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02C54C64 */ cpu->r[12] = 0x10230000u;
|
|
/* 02C54C68 */ _t16 = cpu->r[30] + 0x00000024u;
|
|
/* 02C54C68 */ rbrew_write32(cpu->mem, _t16, cpu->r[0]);
|
|
/* 02C54C6C */ _t17 = cpu->r[12] + 0xFFFFAB0Cu;
|
|
/* 02C54C6C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t17);
|
|
/* 02C54C70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C54C74 */ _t18 = cpu->r[30] + 0x00000028u;
|
|
/* 02C54C74 */ rbrew_write_f32(cpu->mem, _t18, cpu->f[0]);
|
|
/* 02C54C78 */ _t19 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C54C78 */ _t20 = _t19 & 0x00000001u;
|
|
/* 02C54C78 */ if (_t20) goto L_02C54C7C; else goto L_02C54CB4;
|
|
L_02C54C7C: ; // 0x2c54c7c
|
|
/* 02C54C7C */ _t21 = cpu->r[30] + 0x00000020u;
|
|
/* 02C54C7C */ cpu->r[12] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02C54C80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], cpu->r[12]);
|
|
/* 02C54C84 */ _t22 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C54C84 */ _t23 = _t22 & 0x00000001u;
|
|
/* 02C54C84 */ if (_t23) goto L_02C54CB4; else goto L_02C54C88;
|
|
L_02C54C88: ; // 0x2c54c88
|
|
/* 02C54C88 */ cpu->r[11] = 0x101B0000u;
|
|
/* 02C54C8C */ cpu->r[10] = 0x00000000u;
|
|
/* 02C54C90 */ _t24 = cpu->r[11] + 0xFFFFEE10u;
|
|
/* 02C54C90 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t24);
|
|
/* 02C54C94 */ cpu->r[11] = cpu->r[10];
|
|
L_02C54C98: ; // 0x2c54c98
|
|
/* 02C54C98 */ _t25 = cpu->r[30] + 0x0000001Cu;
|
|
/* 02C54C98 */ cpu->r[9] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02C54C9C */ _t26 = cpu->r[9] + cpu->r[11];
|
|
/* 02C54C9C */ rbrew_write32(cpu->mem, _t26, cpu->r[0]);
|
|
/* 02C54CA0 */ _t27 = cpu->r[30] + 0x00000024u;
|
|
/* 02C54CA0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02C54CA4 */ cpu->r[10] = cpu->r[10] + 0x00000001u;
|
|
/* 02C54CA8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], cpu->r[0]);
|
|
/* 02C54CAC */ cpu->r[11] = cpu->r[11] + 0x0000000Cu;
|
|
/* 02C54CB0 */ _t28 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C54CB0 */ _t29 = _t28 & 0x00000001u;
|
|
/* 02C54CB0 */ if (_t29) goto L_02C54C98; else goto L_02C54CB4;
|
|
L_02C54CB4: ; // 0x2c54cb4
|
|
/* 02C54CB4 */ _t30 = cpu->r[1] + 0x00000014u;
|
|
/* 02C54CB4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02C54CB8 */ _t31 = cpu->r[1] + 0x00000008u;
|
|
/* 02C54CB8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02C54CBC */ cpu->lr = cpu->r[0];
|
|
/* 02C54CC0 */ _t32 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C54CC0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t32);
|
|
/* 02C54CC4 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C54CC8 */ return;
|
|
}
|
|
|
|
// fn_02C54C00 @ 0x2c54c00
|
|
void Gambit_fn_02C54C00(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_02C54C00: ; // 0x2c54c00
|
|
/* 02C54C00 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C54C00 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C54C00 */ cpu->r[1] = _t0;
|
|
/* 02C54C04 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C54C04 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02C54C08 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02C54C08 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02C54C0C */ cpu->r[30] = cpu->r[3];
|
|
/* 02C54C10 */ cpu->r[31] = cpu->r[4];
|
|
/* 02C54C14 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02C54C14 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02C54C18 */ _t4 = cpu->r[30] + 0x00000044u;
|
|
/* 02C54C18 */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
|
|
/* 02C54C1C */ _t5 = cpu->r[31] + 0x00000020u;
|
|
/* 02C54C1C */ cpu->r[8] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02C54C20 */ cpu->r[9] = cpu->r[31] + 0x00000020u;
|
|
/* 02C54C24 */ cpu->r[12] = 0x00000000u;
|
|
/* 02C54C28 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 02C54C2C */ _t6 = cpu->r[30] + 0x0000003Cu;
|
|
/* 02C54C2C */ cpu->r[0] = rbrew_read16(cpu->mem, _t6);
|
|
/* 02C54C30 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C54C30 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02C54C30 */ if (_t8) goto L_02C54C38; else goto L_02C54C34;
|
|
L_02C54C34: ; // 0x2c54c34
|
|
/* 02C54C34 */ cpu->r[12] = cpu->r[9] + cpu->r[8];
|
|
L_02C54C38: ; // 0x2c54c38
|
|
/* 02C54C38 */ _t9 = cpu->r[30] + 0x00000048u;
|
|
/* 02C54C38 */ rbrew_write32(cpu->mem, _t9, cpu->r[12]);
|
|
/* 02C54C3C */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000010u, 0x0000001Eu);
|
|
/* 02C54C40 */ _t10 = cpu->r[30] + 0x0000003Cu;
|
|
/* 02C54C40 */ rbrew_write16(cpu->mem, _t10, (uint16_t)cpu->r[0]);
|
|
/* 02C54C44 */ _t11 = cpu->r[31] + 0x0000000Cu;
|
|
/* 02C54C44 */ cpu->r[11] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02C54C48 */ cpu->r[5] = rbrew_rlwinm(cpu->r[11], 0x0000001Eu, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02C54C4C */ _t12 = cpu->r[31] + 0x00000010u;
|
|
/* 02C54C4C */ cpu->r[4] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02C54C50 */ cpu->r[3] = cpu->r[30];
|
|
/* 02C54C54 */ Gambit_fn_02C4F174(cpu);
|
|
/* 02C54C58 */ _t13 = cpu->r[31] + 0x00000014u;
|
|
/* 02C54C58 */ cpu->r[0] = rbrew_read16(cpu->mem, _t13);
|
|
/* 02C54C5C */ _t14 = cpu->r[30] + 0x00000040u;
|
|
/* 02C54C5C */ rbrew_write16(cpu->mem, _t14, (uint16_t)cpu->r[0]);
|
|
/* 02C54C60 */ _t15 = cpu->r[31] + 0x00000018u;
|
|
/* 02C54C60 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02C54C64 */ cpu->r[12] = 0x10230000u;
|
|
/* 02C54C68 */ _t16 = cpu->r[30] + 0x00000024u;
|
|
/* 02C54C68 */ rbrew_write32(cpu->mem, _t16, cpu->r[0]);
|
|
/* 02C54C6C */ _t17 = cpu->r[12] + 0xFFFFAB0Cu;
|
|
/* 02C54C6C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t17);
|
|
/* 02C54C70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C54C74 */ _t18 = cpu->r[30] + 0x00000028u;
|
|
/* 02C54C74 */ rbrew_write_f32(cpu->mem, _t18, cpu->f[0]);
|
|
/* 02C54C78 */ _t19 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C54C78 */ _t20 = _t19 & 0x00000001u;
|
|
/* 02C54C78 */ if (_t20) goto L_02C54C7C; else goto L_02C54CB4;
|
|
L_02C54C7C: ; // 0x2c54c7c
|
|
/* 02C54C7C */ _t21 = cpu->r[30] + 0x00000020u;
|
|
/* 02C54C7C */ cpu->r[12] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02C54C80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], cpu->r[12]);
|
|
/* 02C54C84 */ _t22 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C54C84 */ _t23 = _t22 & 0x00000001u;
|
|
/* 02C54C84 */ if (_t23) goto L_02C54CB4; else goto L_02C54C88;
|
|
L_02C54C88: ; // 0x2c54c88
|
|
/* 02C54C88 */ cpu->r[11] = 0x101B0000u;
|
|
/* 02C54C8C */ cpu->r[10] = 0x00000000u;
|
|
/* 02C54C90 */ _t24 = cpu->r[11] + 0xFFFFEE10u;
|
|
/* 02C54C90 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t24);
|
|
/* 02C54C94 */ cpu->r[11] = cpu->r[10];
|
|
L_02C54C98: ; // 0x2c54c98
|
|
/* 02C54C98 */ _t25 = cpu->r[30] + 0x0000001Cu;
|
|
/* 02C54C98 */ cpu->r[9] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02C54C9C */ _t26 = cpu->r[9] + cpu->r[11];
|
|
/* 02C54C9C */ rbrew_write32(cpu->mem, _t26, cpu->r[0]);
|
|
/* 02C54CA0 */ _t27 = cpu->r[30] + 0x00000024u;
|
|
/* 02C54CA0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02C54CA4 */ cpu->r[10] = cpu->r[10] + 0x00000001u;
|
|
/* 02C54CA8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], cpu->r[0]);
|
|
/* 02C54CAC */ cpu->r[11] = cpu->r[11] + 0x0000000Cu;
|
|
/* 02C54CB0 */ _t28 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C54CB0 */ _t29 = _t28 & 0x00000001u;
|
|
/* 02C54CB0 */ if (_t29) goto L_02C54C98; else goto L_02C54CB4;
|
|
L_02C54CB4: ; // 0x2c54cb4
|
|
/* 02C54CB4 */ _t30 = cpu->r[1] + 0x00000014u;
|
|
/* 02C54CB4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02C54CB8 */ _t31 = cpu->r[1] + 0x00000008u;
|
|
/* 02C54CB8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02C54CBC */ cpu->lr = cpu->r[0];
|
|
/* 02C54CC0 */ _t32 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C54CC0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t32);
|
|
/* 02C54CC4 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C54CC8 */ return;
|
|
}
|
|
|
|
// fn_02C54CCC @ 0x2c54ccc
|
|
void Gambit_fn_02C54CCC(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_02C54CCC: ; // 0x2c54ccc
|
|
/* 02C54CCC */ cpu->r[0] = cpu->lr;
|
|
/* 02C54CD0 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02C54CD0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C54CD0 */ cpu->r[1] = _t0;
|
|
/* 02C54CD4 */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 02C54CD4 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02C54CD8 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C54CD8 */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
|
|
/* 02C54CDC */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02C54CDC */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 02C54CE0 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C54CE0 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02C54CE4 */ cpu->r[29] = cpu->r[3];
|
|
/* 02C54CE8 */ _t5 = cpu->r[29] + 0x00000040u;
|
|
/* 02C54CE8 */ cpu->r[9] = rbrew_read16(cpu->mem, _t5);
|
|
/* 02C54CEC */ cpu->r[8] = (uint32_t)((int32_t)cpu->r[9] * (int32_t)0x00000030u);
|
|
/* 02C54CF0 */ cpu->r[10] = cpu->r[8] + 0x0000003Fu;
|
|
/* 02C54CF4 */ cpu->r[31] = cpu->r[5];
|
|
/* 02C54CF8 */ cpu->r[30] = rbrew_rlwinm(cpu->r[10], 0x00000000u, 0x00000000u, 0x00000019u);
|
|
/* 02C54CFC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[30]);
|
|
/* 02C54D00 */ _t6 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C54D00 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02C54D00 */ if (_t7) goto L_02C54D04; else goto L_02C54D24;
|
|
L_02C54D04: ; // 0x2c54d04
|
|
/* 02C54D04 */ _t8 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C54D04 */ cpu->r[29] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C54D08 */ _t9 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C54D08 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02C54D0C */ _t10 = cpu->r[1] + 0x00000010u;
|
|
/* 02C54D0C */ cpu->r[30] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02C54D10 */ cpu->lr = cpu->r[0];
|
|
/* 02C54D14 */ _t11 = cpu->r[1] + 0x00000014u;
|
|
/* 02C54D14 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02C54D18 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C54D1C */ cpu->r[3] = 0x00000000u;
|
|
/* 02C54D20 */ return;
|
|
L_02C54D24: ; // 0x2c54d24
|
|
/* 02C54D24 */ _t12 = cpu->r[29] + 0x00000050u;
|
|
/* 02C54D24 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02C54D28 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u);
|
|
/* 02C54D2C */ _t13 = cpu->r[29] + 0x0000002Cu;
|
|
/* 02C54D2C */ rbrew_write32(cpu->mem, _t13, cpu->r[4]);
|
|
/* 02C54D30 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C54D30 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02C54D30 */ if (_t15) goto L_02C54D74; else goto L_02C54D34;
|
|
L_02C54D34: ; // 0x2c54d34
|
|
/* 02C54D34 */ cpu->r[11] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x0000001Bu, 0x0000001Cu);
|
|
/* 02C54D34 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02C54D38 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C54D38 */ _t17 = _t16 & 0x00000001u;
|
|
/* 02C54D38 */ if (_t17) goto L_02C54D58; else goto L_02C54D3C;
|
|
L_02C54D3C: ; // 0x2c54d3c
|
|
/* 02C54D3C */ _t18 = cpu->r[29] + 0x00000054u;
|
|
/* 02C54D3C */ cpu->r[3] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02C54D40 */ cpu->r[4] = cpu->r[30];
|
|
/* 02C54D44 */ rbrew_dispatch(cpu, 0x02d09320u);
|
|
/* 02C54D48 */ _t19 = cpu->r[29] + 0x00000050u;
|
|
/* 02C54D48 */ cpu->r[12] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02C54D4C */ _t20 = cpu->r[29] + 0x0000002Cu;
|
|
/* 02C54D4C */ cpu->r[4] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02C54D50 */ cpu->r[12] = rbrew_rlwinm(cpu->r[12], 0x00000000u, 0x0000001Du, 0x0000001Au);
|
|
/* 02C54D54 */ _t21 = cpu->r[29] + 0x00000050u;
|
|
/* 02C54D54 */ rbrew_write32(cpu->mem, _t21, cpu->r[12]);
|
|
L_02C54D58: ; // 0x2c54d58
|
|
/* 02C54D58 */ cpu->r[3] = cpu->r[4];
|
|
/* 02C54D5C */ _t22 = cpu->r[29] + 0x00000054u;
|
|
/* 02C54D5C */ cpu->r[4] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02C54D60 */ cpu->r[5] = rbrew_rlwinm(cpu->r[30], 0x0000001Bu, 0x00000005u, 0x0000001Fu);
|
|
/* 02C54D64 */ Gambit_fn_02C6510C(cpu);
|
|
/* 02C54D68 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C54D6C */ Gambit_fn_02C65224(cpu);
|
|
/* 02C54D70 */ goto L_02C54D80;
|
|
L_02C54D74: ; // 0x2c54d74
|
|
/* 02C54D74 */ cpu->r[6] = rbrew_rlwinm(cpu->r[0], 0x00000001u, 0x0000001Bu, 0x0000001Bu);
|
|
/* 02C54D78 */ cpu->r[0] = cpu->r[0] | cpu->r[6];
|
|
/* 02C54D7C */ _t23 = cpu->r[29] + 0x00000050u;
|
|
/* 02C54D7C */ rbrew_write32(cpu->mem, _t23, cpu->r[0]);
|
|
L_02C54D80: ; // 0x2c54d80
|
|
/* 02C54D80 */ _t24 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C54D80 */ cpu->r[29] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02C54D84 */ _t25 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C54D84 */ cpu->r[0] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02C54D88 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C54D8C */ _t26 = cpu->r[1] + 0x00000010u;
|
|
/* 02C54D8C */ cpu->r[30] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02C54D90 */ cpu->lr = cpu->r[0];
|
|
/* 02C54D94 */ _t27 = cpu->r[1] + 0x00000014u;
|
|
/* 02C54D94 */ cpu->r[31] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02C54D98 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C54D9C */ return;
|
|
}
|
|
|
|
// fn_02C54CD0 @ 0x2c54cd0
|
|
void Gambit_fn_02C54CD0(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_02C54CD0: ; // 0x2c54cd0
|
|
/* 02C54CD0 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02C54CD0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C54CD0 */ cpu->r[1] = _t0;
|
|
/* 02C54CD4 */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 02C54CD4 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02C54CD8 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C54CD8 */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
|
|
/* 02C54CDC */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02C54CDC */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 02C54CE0 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C54CE0 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02C54CE4 */ cpu->r[29] = cpu->r[3];
|
|
/* 02C54CE8 */ _t5 = cpu->r[29] + 0x00000040u;
|
|
/* 02C54CE8 */ cpu->r[9] = rbrew_read16(cpu->mem, _t5);
|
|
/* 02C54CEC */ cpu->r[8] = (uint32_t)((int32_t)cpu->r[9] * (int32_t)0x00000030u);
|
|
/* 02C54CF0 */ cpu->r[10] = cpu->r[8] + 0x0000003Fu;
|
|
/* 02C54CF4 */ cpu->r[31] = cpu->r[5];
|
|
/* 02C54CF8 */ cpu->r[30] = rbrew_rlwinm(cpu->r[10], 0x00000000u, 0x00000000u, 0x00000019u);
|
|
/* 02C54CFC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[30]);
|
|
/* 02C54D00 */ _t6 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C54D00 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02C54D00 */ if (_t7) goto L_02C54D04; else goto L_02C54D24;
|
|
L_02C54D04: ; // 0x2c54d04
|
|
/* 02C54D04 */ _t8 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C54D04 */ cpu->r[29] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C54D08 */ _t9 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C54D08 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02C54D0C */ _t10 = cpu->r[1] + 0x00000010u;
|
|
/* 02C54D0C */ cpu->r[30] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02C54D10 */ cpu->lr = cpu->r[0];
|
|
/* 02C54D14 */ _t11 = cpu->r[1] + 0x00000014u;
|
|
/* 02C54D14 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02C54D18 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C54D1C */ cpu->r[3] = 0x00000000u;
|
|
/* 02C54D20 */ return;
|
|
L_02C54D24: ; // 0x2c54d24
|
|
/* 02C54D24 */ _t12 = cpu->r[29] + 0x00000050u;
|
|
/* 02C54D24 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02C54D28 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u);
|
|
/* 02C54D2C */ _t13 = cpu->r[29] + 0x0000002Cu;
|
|
/* 02C54D2C */ rbrew_write32(cpu->mem, _t13, cpu->r[4]);
|
|
/* 02C54D30 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C54D30 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02C54D30 */ if (_t15) goto L_02C54D74; else goto L_02C54D34;
|
|
L_02C54D34: ; // 0x2c54d34
|
|
/* 02C54D34 */ cpu->r[11] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x0000001Bu, 0x0000001Cu);
|
|
/* 02C54D34 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02C54D38 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C54D38 */ _t17 = _t16 & 0x00000001u;
|
|
/* 02C54D38 */ if (_t17) goto L_02C54D58; else goto L_02C54D3C;
|
|
L_02C54D3C: ; // 0x2c54d3c
|
|
/* 02C54D3C */ _t18 = cpu->r[29] + 0x00000054u;
|
|
/* 02C54D3C */ cpu->r[3] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02C54D40 */ cpu->r[4] = cpu->r[30];
|
|
/* 02C54D44 */ rbrew_dispatch(cpu, 0x02d09320u);
|
|
/* 02C54D48 */ _t19 = cpu->r[29] + 0x00000050u;
|
|
/* 02C54D48 */ cpu->r[12] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02C54D4C */ _t20 = cpu->r[29] + 0x0000002Cu;
|
|
/* 02C54D4C */ cpu->r[4] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02C54D50 */ cpu->r[12] = rbrew_rlwinm(cpu->r[12], 0x00000000u, 0x0000001Du, 0x0000001Au);
|
|
/* 02C54D54 */ _t21 = cpu->r[29] + 0x00000050u;
|
|
/* 02C54D54 */ rbrew_write32(cpu->mem, _t21, cpu->r[12]);
|
|
L_02C54D58: ; // 0x2c54d58
|
|
/* 02C54D58 */ cpu->r[3] = cpu->r[4];
|
|
/* 02C54D5C */ _t22 = cpu->r[29] + 0x00000054u;
|
|
/* 02C54D5C */ cpu->r[4] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02C54D60 */ cpu->r[5] = rbrew_rlwinm(cpu->r[30], 0x0000001Bu, 0x00000005u, 0x0000001Fu);
|
|
/* 02C54D64 */ Gambit_fn_02C6510C(cpu);
|
|
/* 02C54D68 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C54D6C */ Gambit_fn_02C65224(cpu);
|
|
/* 02C54D70 */ goto L_02C54D80;
|
|
L_02C54D74: ; // 0x2c54d74
|
|
/* 02C54D74 */ cpu->r[6] = rbrew_rlwinm(cpu->r[0], 0x00000001u, 0x0000001Bu, 0x0000001Bu);
|
|
/* 02C54D78 */ cpu->r[0] = cpu->r[0] | cpu->r[6];
|
|
/* 02C54D7C */ _t23 = cpu->r[29] + 0x00000050u;
|
|
/* 02C54D7C */ rbrew_write32(cpu->mem, _t23, cpu->r[0]);
|
|
L_02C54D80: ; // 0x2c54d80
|
|
/* 02C54D80 */ _t24 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C54D80 */ cpu->r[29] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02C54D84 */ _t25 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C54D84 */ cpu->r[0] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02C54D88 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C54D8C */ _t26 = cpu->r[1] + 0x00000010u;
|
|
/* 02C54D8C */ cpu->r[30] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02C54D90 */ cpu->lr = cpu->r[0];
|
|
/* 02C54D94 */ _t27 = cpu->r[1] + 0x00000014u;
|
|
/* 02C54D94 */ cpu->r[31] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02C54D98 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C54D9C */ return;
|
|
}
|
|
|
|
// fn_02C54DA0 @ 0x2c54da0
|
|
void Gambit_fn_02C54DA0(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;
|
|
|
|
L_02C54DA0: ; // 0x2c54da0
|
|
/* 02C54DA0 */ cpu->r[0] = cpu->lr;
|
|
/* 02C54DA4 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C54DA4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C54DA4 */ cpu->r[1] = _t0;
|
|
/* 02C54DA8 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02C54DA8 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02C54DAC */ cpu->r[30] = cpu->r[3];
|
|
/* 02C54DB0 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C54DB0 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02C54DB4 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02C54DB4 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02C54DB8 */ _t4 = cpu->r[30] + 0x00000054u;
|
|
/* 02C54DB8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02C54DBC */ cpu->r[0] = cpu->r[4];
|
|
/* 02C54DC0 */ _t5 = cpu->r[30] + 0x0000002Cu;
|
|
/* 02C54DC0 */ cpu->r[4] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02C54DC4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[3]);
|
|
/* 02C54DC8 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C54DC8 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02C54DC8 */ if (_t7) goto L_02C54E30; else goto L_02C54DCC;
|
|
L_02C54DCC: ; // 0x2c54dcc
|
|
/* 02C54DCC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C54DD0 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C54DD0 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02C54DD0 */ if (_t9) goto L_02C54E1C; else goto L_02C54DD4;
|
|
L_02C54DD4: ; // 0x2c54dd4
|
|
/* 02C54DD4 */ _t10 = cpu->r[30] + 0x00000040u;
|
|
/* 02C54DD4 */ cpu->r[12] = rbrew_read16(cpu->mem, _t10);
|
|
/* 02C54DD8 */ cpu->r[11] = (uint32_t)((int32_t)cpu->r[12] * (int32_t)0x00000030u);
|
|
/* 02C54DDC */ _t11 = cpu->r[30] + 0x00000050u;
|
|
/* 02C54DDC */ cpu->r[10] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02C54DE0 */ cpu->r[0] = cpu->r[11] + 0x0000003Fu;
|
|
/* 02C54DE4 */ cpu->r[9] = rbrew_rlwinm(cpu->r[10], 0x00000000u, 0x0000001Bu, 0x0000001Bu);
|
|
/* 02C54DE4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 02C54DE8 */ cpu->r[31] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000000u, 0x00000019u);
|
|
/* 02C54DEC */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C54DEC */ _t13 = _t12 & 0x00000001u;
|
|
/* 02C54DEC */ if (_t13) goto L_02C54E0C; else goto L_02C54DF0;
|
|
L_02C54DF0: ; // 0x2c54df0
|
|
/* 02C54DF0 */ cpu->r[4] = cpu->r[31];
|
|
/* 02C54DF4 */ rbrew_dispatch(cpu, 0x02d09330u);
|
|
/* 02C54DF8 */ _t14 = cpu->r[30] + 0x00000050u;
|
|
/* 02C54DF8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02C54DFC */ _t15 = cpu->r[30] + 0x0000002Cu;
|
|
/* 02C54DFC */ cpu->r[4] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02C54E00 */ cpu->r[11] = rbrew_rlwinm(cpu->r[11], 0x00000000u, 0x0000001Du, 0x0000001Au);
|
|
/* 02C54E04 */ _t16 = cpu->r[30] + 0x00000054u;
|
|
/* 02C54E04 */ cpu->r[3] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02C54E08 */ _t17 = cpu->r[30] + 0x00000050u;
|
|
/* 02C54E08 */ rbrew_write32(cpu->mem, _t17, cpu->r[11]);
|
|
L_02C54E0C: ; // 0x2c54e0c
|
|
/* 02C54E0C */ cpu->r[5] = rbrew_rlwinm(cpu->r[31], 0x0000001Bu, 0x00000005u, 0x0000001Fu);
|
|
/* 02C54E10 */ Gambit_fn_02C65198(cpu);
|
|
/* 02C54E14 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C54E18 */ Gambit_fn_02C65224(cpu);
|
|
L_02C54E1C: ; // 0x2c54e1c
|
|
/* 02C54E1C */ _t18 = cpu->r[30] + 0x00000050u;
|
|
/* 02C54E1C */ cpu->r[12] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02C54E20 */ _t19 = cpu->r[30] + 0x00000054u;
|
|
/* 02C54E20 */ cpu->r[0] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02C54E24 */ cpu->r[12] = rbrew_rlwinm(cpu->r[12], 0x00000000u, 0x0000001Du, 0x0000001Bu);
|
|
/* 02C54E28 */ _t20 = cpu->r[30] + 0x00000050u;
|
|
/* 02C54E28 */ rbrew_write32(cpu->mem, _t20, cpu->r[12]);
|
|
/* 02C54E2C */ _t21 = cpu->r[30] + 0x0000002Cu;
|
|
/* 02C54E2C */ rbrew_write32(cpu->mem, _t21, cpu->r[0]);
|
|
L_02C54E30: ; // 0x2c54e30
|
|
/* 02C54E30 */ _t22 = cpu->r[1] + 0x00000014u;
|
|
/* 02C54E30 */ cpu->r[0] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02C54E34 */ _t23 = cpu->r[1] + 0x00000008u;
|
|
/* 02C54E34 */ cpu->r[30] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02C54E38 */ cpu->lr = cpu->r[0];
|
|
/* 02C54E3C */ _t24 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C54E3C */ cpu->r[31] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02C54E40 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C54E44 */ return;
|
|
}
|
|
|
|
// fn_02C54DA4 @ 0x2c54da4
|
|
void Gambit_fn_02C54DA4(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;
|
|
|
|
L_02C54DA4: ; // 0x2c54da4
|
|
/* 02C54DA4 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C54DA4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C54DA4 */ cpu->r[1] = _t0;
|
|
/* 02C54DA8 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02C54DA8 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02C54DAC */ cpu->r[30] = cpu->r[3];
|
|
/* 02C54DB0 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C54DB0 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02C54DB4 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02C54DB4 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02C54DB8 */ _t4 = cpu->r[30] + 0x00000054u;
|
|
/* 02C54DB8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02C54DBC */ cpu->r[0] = cpu->r[4];
|
|
/* 02C54DC0 */ _t5 = cpu->r[30] + 0x0000002Cu;
|
|
/* 02C54DC0 */ cpu->r[4] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02C54DC4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[3]);
|
|
/* 02C54DC8 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C54DC8 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02C54DC8 */ if (_t7) goto L_02C54E30; else goto L_02C54DCC;
|
|
L_02C54DCC: ; // 0x2c54dcc
|
|
/* 02C54DCC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C54DD0 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C54DD0 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02C54DD0 */ if (_t9) goto L_02C54E1C; else goto L_02C54DD4;
|
|
L_02C54DD4: ; // 0x2c54dd4
|
|
/* 02C54DD4 */ _t10 = cpu->r[30] + 0x00000040u;
|
|
/* 02C54DD4 */ cpu->r[12] = rbrew_read16(cpu->mem, _t10);
|
|
/* 02C54DD8 */ cpu->r[11] = (uint32_t)((int32_t)cpu->r[12] * (int32_t)0x00000030u);
|
|
/* 02C54DDC */ _t11 = cpu->r[30] + 0x00000050u;
|
|
/* 02C54DDC */ cpu->r[10] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02C54DE0 */ cpu->r[0] = cpu->r[11] + 0x0000003Fu;
|
|
/* 02C54DE4 */ cpu->r[9] = rbrew_rlwinm(cpu->r[10], 0x00000000u, 0x0000001Bu, 0x0000001Bu);
|
|
/* 02C54DE4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 02C54DE8 */ cpu->r[31] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000000u, 0x00000019u);
|
|
/* 02C54DEC */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C54DEC */ _t13 = _t12 & 0x00000001u;
|
|
/* 02C54DEC */ if (_t13) goto L_02C54E0C; else goto L_02C54DF0;
|
|
L_02C54DF0: ; // 0x2c54df0
|
|
/* 02C54DF0 */ cpu->r[4] = cpu->r[31];
|
|
/* 02C54DF4 */ rbrew_dispatch(cpu, 0x02d09330u);
|
|
/* 02C54DF8 */ _t14 = cpu->r[30] + 0x00000050u;
|
|
/* 02C54DF8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02C54DFC */ _t15 = cpu->r[30] + 0x0000002Cu;
|
|
/* 02C54DFC */ cpu->r[4] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02C54E00 */ cpu->r[11] = rbrew_rlwinm(cpu->r[11], 0x00000000u, 0x0000001Du, 0x0000001Au);
|
|
/* 02C54E04 */ _t16 = cpu->r[30] + 0x00000054u;
|
|
/* 02C54E04 */ cpu->r[3] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02C54E08 */ _t17 = cpu->r[30] + 0x00000050u;
|
|
/* 02C54E08 */ rbrew_write32(cpu->mem, _t17, cpu->r[11]);
|
|
L_02C54E0C: ; // 0x2c54e0c
|
|
/* 02C54E0C */ cpu->r[5] = rbrew_rlwinm(cpu->r[31], 0x0000001Bu, 0x00000005u, 0x0000001Fu);
|
|
/* 02C54E10 */ Gambit_fn_02C65198(cpu);
|
|
/* 02C54E14 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C54E18 */ Gambit_fn_02C65224(cpu);
|
|
L_02C54E1C: ; // 0x2c54e1c
|
|
/* 02C54E1C */ _t18 = cpu->r[30] + 0x00000050u;
|
|
/* 02C54E1C */ cpu->r[12] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02C54E20 */ _t19 = cpu->r[30] + 0x00000054u;
|
|
/* 02C54E20 */ cpu->r[0] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02C54E24 */ cpu->r[12] = rbrew_rlwinm(cpu->r[12], 0x00000000u, 0x0000001Du, 0x0000001Bu);
|
|
/* 02C54E28 */ _t20 = cpu->r[30] + 0x00000050u;
|
|
/* 02C54E28 */ rbrew_write32(cpu->mem, _t20, cpu->r[12]);
|
|
/* 02C54E2C */ _t21 = cpu->r[30] + 0x0000002Cu;
|
|
/* 02C54E2C */ rbrew_write32(cpu->mem, _t21, cpu->r[0]);
|
|
L_02C54E30: ; // 0x2c54e30
|
|
/* 02C54E30 */ _t22 = cpu->r[1] + 0x00000014u;
|
|
/* 02C54E30 */ cpu->r[0] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02C54E34 */ _t23 = cpu->r[1] + 0x00000008u;
|
|
/* 02C54E34 */ cpu->r[30] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02C54E38 */ cpu->lr = cpu->r[0];
|
|
/* 02C54E3C */ _t24 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C54E3C */ cpu->r[31] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02C54E40 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C54E44 */ return;
|
|
}
|
|
|
|
// fn_02C54E48 @ 0x2c54e48
|
|
void Gambit_fn_02C54E48(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4;
|
|
|
|
L_02C54E48: ; // 0x2c54e48
|
|
/* 02C54E48 */ _t0 = cpu->r[4] + 0x00000000u;
|
|
/* 02C54E48 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02C54E4C */ cpu->r[0] = cpu->r[3] + 0x00000008u;
|
|
/* 02C54E50 */ cpu->r[11] = (uint32_t)((int32_t)cpu->r[12] * (int32_t)0x00000038u);
|
|
/* 02C54E54 */ _t1 = cpu->r[3] + 0x00000000u;
|
|
/* 02C54E54 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02C54E58 */ cpu->r[12] = 0x00000000u;
|
|
/* 02C54E5C */ cpu->r[0] = cpu->r[11] + 0x0000003Fu;
|
|
/* 02C54E60 */ _t2 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02C54E60 */ rbrew_write32(cpu->mem, _t2, cpu->r[12]);
|
|
/* 02C54E64 */ cpu->r[10] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000000u, 0x00000019u);
|
|
/* 02C54E68 */ _t3 = cpu->r[3] + 0x00000004u;
|
|
/* 02C54E68 */ rbrew_write32(cpu->mem, _t3, cpu->r[10]);
|
|
/* 02C54E6C */ _t4 = cpu->r[3] + 0x00000008u;
|
|
/* 02C54E6C */ rbrew_write32(cpu->mem, _t4, cpu->r[10]);
|
|
/* 02C54E70 */ return;
|
|
}
|
|
|
|
// fn_02C54E74 @ 0x2c54e74
|
|
void Gambit_fn_02C54E74(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;
|
|
|
|
L_02C54E74: ; // 0x2c54e74
|
|
/* 02C54E74 */ cpu->r[0] = cpu->lr;
|
|
/* 02C54E78 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C54E78 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C54E78 */ cpu->r[1] = _t0;
|
|
/* 02C54E7C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C54E7C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02C54E80 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02C54E80 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02C54E84 */ _t3 = cpu->r[4] + 0x00000004u;
|
|
/* 02C54E84 */ cpu->r[11] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02C54E88 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C54E8C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02C54E90 */ cpu->r[3] = cpu->r[4] + 0x00000004u;
|
|
/* 02C54E94 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C54E94 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02C54E94 */ if (_t5) goto L_02C54E98; else goto L_02C54E9C;
|
|
L_02C54E98: ; // 0x2c54e98
|
|
/* 02C54E98 */ Gambit_fn_02C54E48(cpu);
|
|
L_02C54E9C: ; // 0x2c54e9c
|
|
/* 02C54E9C */ _t6 = cpu->r[3] + 0x00000004u;
|
|
/* 02C54E9C */ cpu->r[8] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02C54EA0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[6]);
|
|
/* 02C54EA4 */ _t7 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C54EA4 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02C54EA4 */ if (_t8) goto L_02C54EA8; else goto L_02C54EC0;
|
|
L_02C54EA8: ; // 0x2c54ea8
|
|
/* 02C54EA8 */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 02C54EA8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02C54EAC */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C54EAC */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02C54EB0 */ cpu->lr = cpu->r[0];
|
|
/* 02C54EB4 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C54EB8 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C54EBC */ return;
|
|
L_02C54EC0: ; // 0x2c54ec0
|
|
/* 02C54EC0 */ _t11 = cpu->r[31] + 0x00000010u;
|
|
/* 02C54EC0 */ rbrew_write32(cpu->mem, _t11, cpu->r[5]);
|
|
/* 02C54EC4 */ _t12 = cpu->r[3] + 0x00000000u;
|
|
/* 02C54EC4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02C54EC8 */ _t13 = cpu->r[12] + 0x00000000u;
|
|
/* 02C54EC8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02C54ECC */ cpu->r[10] = cpu->r[5] + 0x0000003Fu;
|
|
/* 02C54ED0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 02C54ED4 */ cpu->r[7] = rbrew_rlwinm(cpu->r[10], 0x00000000u, 0x00000000u, 0x00000019u);
|
|
/* 02C54ED8 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C54ED8 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02C54ED8 */ if (_t15) goto L_02C54EE4; else goto L_02C54EDC;
|
|
L_02C54EDC: ; // 0x2c54edc
|
|
/* 02C54EDC */ _t16 = cpu->r[12] + 0x00000004u;
|
|
/* 02C54EDC */ cpu->r[12] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02C54EE0 */ cpu->r[9] = cpu->r[7] + cpu->r[12];
|
|
L_02C54EE4: ; // 0x2c54ee4
|
|
/* 02C54EE4 */ _t17 = cpu->r[31] + 0x00000000u;
|
|
/* 02C54EE4 */ rbrew_write32(cpu->mem, _t17, cpu->r[9]);
|
|
/* 02C54EE8 */ cpu->r[0] = 0x00000008u;
|
|
/* 02C54EEC */ _t18 = cpu->r[31] + 0x0000000Cu;
|
|
/* 02C54EEC */ rbrew_write32(cpu->mem, _t18, cpu->r[9]);
|
|
/* 02C54EF0 */ _t19 = cpu->r[31] + 0x00000008u;
|
|
/* 02C54EF0 */ rbrew_write32(cpu->mem, _t19, cpu->r[0]);
|
|
/* 02C54EF4 */ _t20 = cpu->r[4] + 0x00000002u;
|
|
/* 02C54EF4 */ cpu->r[0] = rbrew_read16(cpu->mem, _t20);
|
|
/* 02C54EF8 */ _t21 = cpu->r[31] + 0x00000004u;
|
|
/* 02C54EF8 */ rbrew_write16(cpu->mem, _t21, (uint16_t)cpu->r[0]);
|
|
/* 02C54EFC */ _t22 = cpu->r[31] + 0x00000006u;
|
|
/* 02C54EFC */ rbrew_write16(cpu->mem, _t22, (uint16_t)cpu->r[0]);
|
|
/* 02C54F00 */ _t23 = cpu->r[1] + 0x00000014u;
|
|
/* 02C54F00 */ cpu->r[0] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02C54F04 */ _t24 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C54F04 */ cpu->r[31] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02C54F08 */ cpu->lr = cpu->r[0];
|
|
/* 02C54F0C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C54F10 */ cpu->r[3] = 0x00000001u;
|
|
/* 02C54F14 */ return;
|
|
}
|
|
|
|
// fn_02C54E78 @ 0x2c54e78
|
|
void Gambit_fn_02C54E78(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;
|
|
|
|
L_02C54E78: ; // 0x2c54e78
|
|
/* 02C54E78 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C54E78 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C54E78 */ cpu->r[1] = _t0;
|
|
/* 02C54E7C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C54E7C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02C54E80 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02C54E80 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02C54E84 */ _t3 = cpu->r[4] + 0x00000004u;
|
|
/* 02C54E84 */ cpu->r[11] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02C54E88 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C54E8C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02C54E90 */ cpu->r[3] = cpu->r[4] + 0x00000004u;
|
|
/* 02C54E94 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C54E94 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02C54E94 */ if (_t5) goto L_02C54E98; else goto L_02C54E9C;
|
|
L_02C54E98: ; // 0x2c54e98
|
|
/* 02C54E98 */ Gambit_fn_02C54E48(cpu);
|
|
L_02C54E9C: ; // 0x2c54e9c
|
|
/* 02C54E9C */ _t6 = cpu->r[3] + 0x00000004u;
|
|
/* 02C54E9C */ cpu->r[8] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02C54EA0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[6]);
|
|
/* 02C54EA4 */ _t7 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C54EA4 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02C54EA4 */ if (_t8) goto L_02C54EA8; else goto L_02C54EC0;
|
|
L_02C54EA8: ; // 0x2c54ea8
|
|
/* 02C54EA8 */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 02C54EA8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02C54EAC */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C54EAC */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02C54EB0 */ cpu->lr = cpu->r[0];
|
|
/* 02C54EB4 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C54EB8 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C54EBC */ return;
|
|
L_02C54EC0: ; // 0x2c54ec0
|
|
/* 02C54EC0 */ _t11 = cpu->r[31] + 0x00000010u;
|
|
/* 02C54EC0 */ rbrew_write32(cpu->mem, _t11, cpu->r[5]);
|
|
/* 02C54EC4 */ _t12 = cpu->r[3] + 0x00000000u;
|
|
/* 02C54EC4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02C54EC8 */ _t13 = cpu->r[12] + 0x00000000u;
|
|
/* 02C54EC8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02C54ECC */ cpu->r[10] = cpu->r[5] + 0x0000003Fu;
|
|
/* 02C54ED0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 02C54ED4 */ cpu->r[7] = rbrew_rlwinm(cpu->r[10], 0x00000000u, 0x00000000u, 0x00000019u);
|
|
/* 02C54ED8 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C54ED8 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02C54ED8 */ if (_t15) goto L_02C54EE4; else goto L_02C54EDC;
|
|
L_02C54EDC: ; // 0x2c54edc
|
|
/* 02C54EDC */ _t16 = cpu->r[12] + 0x00000004u;
|
|
/* 02C54EDC */ cpu->r[12] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02C54EE0 */ cpu->r[9] = cpu->r[7] + cpu->r[12];
|
|
L_02C54EE4: ; // 0x2c54ee4
|
|
/* 02C54EE4 */ _t17 = cpu->r[31] + 0x00000000u;
|
|
/* 02C54EE4 */ rbrew_write32(cpu->mem, _t17, cpu->r[9]);
|
|
/* 02C54EE8 */ cpu->r[0] = 0x00000008u;
|
|
/* 02C54EEC */ _t18 = cpu->r[31] + 0x0000000Cu;
|
|
/* 02C54EEC */ rbrew_write32(cpu->mem, _t18, cpu->r[9]);
|
|
/* 02C54EF0 */ _t19 = cpu->r[31] + 0x00000008u;
|
|
/* 02C54EF0 */ rbrew_write32(cpu->mem, _t19, cpu->r[0]);
|
|
/* 02C54EF4 */ _t20 = cpu->r[4] + 0x00000002u;
|
|
/* 02C54EF4 */ cpu->r[0] = rbrew_read16(cpu->mem, _t20);
|
|
/* 02C54EF8 */ _t21 = cpu->r[31] + 0x00000004u;
|
|
/* 02C54EF8 */ rbrew_write16(cpu->mem, _t21, (uint16_t)cpu->r[0]);
|
|
/* 02C54EFC */ _t22 = cpu->r[31] + 0x00000006u;
|
|
/* 02C54EFC */ rbrew_write16(cpu->mem, _t22, (uint16_t)cpu->r[0]);
|
|
/* 02C54F00 */ _t23 = cpu->r[1] + 0x00000014u;
|
|
/* 02C54F00 */ cpu->r[0] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02C54F04 */ _t24 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C54F04 */ cpu->r[31] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02C54F08 */ cpu->lr = cpu->r[0];
|
|
/* 02C54F0C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C54F10 */ cpu->r[3] = 0x00000001u;
|
|
/* 02C54F14 */ return;
|
|
}
|
|
|
|
// fn_02C54F18 @ 0x2c54f18
|
|
void Gambit_fn_02C54F18(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3;
|
|
|
|
L_02C54F18: ; // 0x2c54f18
|
|
/* 02C54F18 */ cpu->r[0] = cpu->lr;
|
|
/* 02C54F1C */ cpu->r[4] = cpu->r[3];
|
|
/* 02C54F20 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 02C54F20 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 02C54F24 */ cpu->r[3] = cpu->r[4] + 0x00000004u;
|
|
/* 02C54F28 */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02C54F28 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 02C54F28 */ cpu->r[1] = _t1;
|
|
/* 02C54F2C */ Gambit_fn_02C54E48(cpu);
|
|
/* 02C54F30 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C54F30 */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02C54F34 */ cpu->lr = cpu->r[0];
|
|
/* 02C54F38 */ _t3 = cpu->r[4] + 0x00000008u;
|
|
/* 02C54F38 */ cpu->r[12] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02C54F3C */ cpu->r[3] = cpu->r[12] + 0x00000040u;
|
|
/* 02C54F40 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02C54F44 */ return;
|
|
}
|
|
|
|
// fn_02C54F28 @ 0x2c54f28
|
|
void Gambit_fn_02C54F28(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2;
|
|
|
|
L_02C54F28: ; // 0x2c54f28
|
|
/* 02C54F28 */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02C54F28 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C54F28 */ cpu->r[1] = _t0;
|
|
/* 02C54F2C */ Gambit_fn_02C54E48(cpu);
|
|
/* 02C54F30 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C54F30 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02C54F34 */ cpu->lr = cpu->r[0];
|
|
/* 02C54F38 */ _t2 = cpu->r[4] + 0x00000008u;
|
|
/* 02C54F38 */ cpu->r[12] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02C54F3C */ cpu->r[3] = cpu->r[12] + 0x00000040u;
|
|
/* 02C54F40 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02C54F44 */ return;
|
|
}
|
|
|
|
// fn_02C54F48 @ 0x2c54f48
|
|
void Gambit_fn_02C54F48(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3;
|
|
|
|
L_02C54F48: ; // 0x2c54f48
|
|
/* 02C54F48 */ cpu->r[12] = cpu->r[3];
|
|
/* 02C54F4C */ _t0 = cpu->r[12] + 0x00000006u;
|
|
/* 02C54F4C */ cpu->r[11] = rbrew_read16(cpu->mem, _t0);
|
|
/* 02C54F50 */ _t1 = cpu->r[12] + 0x00000008u;
|
|
/* 02C54F50 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02C54F54 */ cpu->r[11] = (uint32_t)((int32_t)cpu->r[11] * (int32_t)0x00000038u);
|
|
/* 02C54F58 */ _t2 = cpu->r[12] + 0x00000000u;
|
|
/* 02C54F58 */ cpu->r[3] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02C54F5C */ cpu->r[11] = cpu->r[11] + 0x0000003Fu;
|
|
/* 02C54F60 */ cpu->r[0] = cpu->r[0] | 0x0000000Cu;
|
|
/* 02C54F64 */ cpu->r[4] = rbrew_rlwinm(cpu->r[11], 0x00000000u, 0x00000000u, 0x00000019u);
|
|
/* 02C54F68 */ _t3 = cpu->r[12] + 0x00000008u;
|
|
/* 02C54F68 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02C54F6C */ goto L_02C65108;
|
|
L_02C65108: ; // 0x2c65108
|
|
/* 02C65108 */ rbrew_dispatch(cpu, 0x02d09350u); return;
|
|
}
|
|
|
|
// fn_02C54F70 @ 0x2c54f70
|
|
void Gambit_fn_02C54F70(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;
|
|
|
|
L_02C54F70: ; // 0x2c54f70
|
|
/* 02C54F70 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 02C54F70 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C54F70 */ cpu->r[1] = _t0;
|
|
/* 02C54F74 */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 02C54F74 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[31]);
|
|
/* 02C54F78 */ /* nop */
|
|
/* 02C54F7C */ cpu->r[0] = cpu->lr;
|
|
/* 02C54F80 */ _t2 = cpu->r[1] + 0x00000018u;
|
|
/* 02C54F80 */ rbrew_write_f32(cpu->mem, _t2, cpu->f[31]);
|
|
/* 02C54F84 */ cpu->f[31] = cpu->f[1];
|
|
/* 02C54F88 */ cpu->r[12] = 0x101B0000u;
|
|
/* 02C54F8C */ _t3 = cpu->r[12] + 0xFFFFEE50u;
|
|
/* 02C54F8C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t3);
|
|
/* 02C54F90 */ cpu->f[13] = fabs(cpu->f[31]);
|
|
/* 02C54F94 */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C54F94 */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
|
|
/* 02C54F98 */ _t5 = cpu->r[1] + 0x00000008u;
|
|
/* 02C54F98 */ rbrew_write32(cpu->mem, _t5, cpu->r[30]);
|
|
/* 02C54F9C */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[13], cpu->f[0]);
|
|
/* 02C54FA0 */ _t6 = cpu->r[1] + 0x00000024u;
|
|
/* 02C54FA0 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02C54FA4 */ cpu->r[30] = cpu->r[3];
|
|
/* 02C54FA8 */ cpu->r[31] = cpu->r[4];
|
|
/* 02C54FAC */ _t7 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C54FAC */ _t8 = _t7 & 0x00000001u;
|
|
/* 02C54FAC */ if (_t8) goto L_02C55054; else goto L_02C54FB0;
|
|
L_02C54FB0: ; // 0x2c54fb0
|
|
/* 02C54FB0 */ _t9 = cpu->r[30] + 0x00000008u;
|
|
/* 02C54FB0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02C54FB4 */ cpu->r[11] = rbrew_rlwinm(cpu->r[11], 0x00000000u, 0x0000001Eu, 0x0000001Cu);
|
|
/* 02C54FB8 */ _t10 = cpu->r[30] + 0x00000008u;
|
|
/* 02C54FB8 */ rbrew_write32(cpu->mem, _t10, cpu->r[11]);
|
|
/* 02C54FBC */ _t11 = cpu->r[31] + 0x00000034u;
|
|
/* 02C54FBC */ cpu->r[12] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02C54FC0 */ _t12 = cpu->r[12] + 0x0000001Cu;
|
|
/* 02C54FC0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02C54FC4 */ cpu->ctr = cpu->r[0];
|
|
/* 02C54FC8 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C54FCC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02C54FD0 */ _t13 = cpu->r[31] + 0x00000044u;
|
|
/* 02C54FD0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02C54FD4 */ _t14 = cpu->r[30] + 0x00000008u;
|
|
/* 02C54FD4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02C54FD8 */ _t15 = cpu->r[11] + 0x0000000Cu;
|
|
/* 02C54FD8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02C54FDC */ _t16 = cpu->r[30] + 0x00000014u;
|
|
/* 02C54FDC */ cpu->r[7] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02C54FE0 */ cpu->r[0] = rbrew_rlwinm(cpu->r[10], 0x00000014u, 0x0000001Du, 0x0000001Fu);
|
|
/* 02C54FE4 */ cpu->r[12] = rbrew_rlwinm(cpu->r[8], 0x00000000u, 0x0000001Eu, 0x0000001Eu);
|
|
/* 02C54FE8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 02C54FEC */ cpu->r[10] = cpu->r[12] | cpu->r[0];
|
|
/* 02C54FF0 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C54FF0 */ _t18 = _t17 & 0x00000001u;
|
|
/* 02C54FF0 */ if (_t18) goto L_02C54FF8; else goto L_02C54FF4;
|
|
L_02C54FF4: ; // 0x2c54ff4
|
|
/* 02C54FF4 */ cpu->r[10] = cpu->r[10] | 0x00000004u;
|
|
L_02C54FF8: ; // 0x2c54ff8
|
|
/* 02C54FF8 */ cpu->r[8] = rbrew_rlwinm(cpu->r[10], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 02C54FFC */ cpu->r[9] = cpu->r[8] + 0x101B0000u;
|
|
/* 02C55000 */ cpu->r[9] = cpu->r[9] + 0xFFFFEEA8u;
|
|
/* 02C55004 */ _t19 = cpu->r[9] + 0x00000002u;
|
|
/* 02C55004 */ cpu->r[0] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t19);
|
|
/* 02C55008 */ _t20 = cpu->r[9] + 0x00000000u;
|
|
/* 02C55008 */ cpu->r[11] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t20);
|
|
/* 02C5500C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C55010 */ cpu->r[3] = cpu->r[30] + cpu->r[11];
|
|
/* 02C55014 */ _t21 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C55014 */ _t22 = _t21 & 0x00000001u;
|
|
/* 02C55014 */ if (_t22) goto L_02C55018; else goto L_02C55030;
|
|
L_02C55018: ; // 0x2c55018
|
|
/* 02C55018 */ _t23 = cpu->r[9] + 0x00000004u;
|
|
/* 02C55018 */ cpu->r[0] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02C5501C */ cpu->ctr = cpu->r[0];
|
|
/* 02C55020 */ cpu->r[4] = cpu->r[31];
|
|
/* 02C55024 */ cpu->f[1] = cpu->f[31];
|
|
/* 02C55028 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02C5502C */ goto L_02C55054;
|
|
L_02C55030: ; // 0x2c55030
|
|
/* 02C55030 */ _t24 = cpu->r[9] + 0x00000006u;
|
|
/* 02C55030 */ cpu->r[12] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t24);
|
|
/* 02C55034 */ _t25 = cpu->r[3] + cpu->r[12];
|
|
/* 02C55034 */ cpu->r[8] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02C55038 */ cpu->r[7] = rbrew_rlwinm(cpu->r[0], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 02C5503C */ cpu->r[9] = cpu->r[8] + cpu->r[7];
|
|
/* 02C55040 */ _t26 = cpu->r[9] + 0x00000004u;
|
|
/* 02C55040 */ cpu->r[0] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02C55044 */ cpu->ctr = cpu->r[0];
|
|
/* 02C55048 */ cpu->r[4] = cpu->r[31];
|
|
/* 02C5504C */ cpu->f[1] = cpu->f[31];
|
|
/* 02C55050 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02C55054: ; // 0x2c55054
|
|
/* 02C55054 */ _t27 = cpu->r[1] + 0x00000018u;
|
|
/* 02C55054 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t27);
|
|
/* 02C55058 */ _t28 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C55058 */ cpu->r[31] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02C5505C */ _t29 = cpu->r[1] + 0x00000010u;
|
|
/* 02C5505C */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t29);
|
|
/* 02C55060 */ _t30 = cpu->r[1] + 0x00000008u;
|
|
/* 02C55060 */ cpu->r[30] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02C55064 */ _t31 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C55064 */ _t32 = _t31 & 0x00000001u;
|
|
/* 02C55064 */ if (_t32) goto L_02C55068; // else: addr-0 trap, fall-through
|
|
L_02C55068: ; // 0x2c55068
|
|
/* 02C55068 */ _t33 = cpu->r[1] + 0x00000024u;
|
|
/* 02C55068 */ cpu->r[0] = rbrew_read32(cpu->mem, _t33);
|
|
/* 02C5506C */ cpu->lr = cpu->r[0];
|
|
/* 02C55070 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02C55074 */ return;
|
|
}
|
|
|
|
// fn_02C55078 @ 0x2c55078
|
|
void Gambit_fn_02C55078(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17;
|
|
|
|
L_02C55078: ; // 0x2c55078
|
|
/* 02C55078 */ cpu->r[0] = cpu->lr;
|
|
/* 02C5507C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C5507C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C5507C */ cpu->r[1] = _t0;
|
|
/* 02C55080 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C55080 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02C55084 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C55088 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02C55088 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02C5508C */ _t3 = cpu->r[31] + 0x00000008u;
|
|
/* 02C5508C */ cpu->r[10] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02C55090 */ cpu->r[7] = rbrew_rlwinm(cpu->r[10], 0x00000000u, 0x0000001Eu, 0x0000001Fu);
|
|
/* 02C55094 */ cpu->r[9] = rbrew_rlwinm(cpu->r[10], 0x0000001Eu, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02C55098 */ cpu->r[0] = cpu->r[7] | cpu->r[9];
|
|
/* 02C5509C */ cpu->r[10] = rbrew_rlwinm(cpu->r[0], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 02C550A0 */ cpu->r[11] = cpu->r[10] + 0x101B0000u;
|
|
/* 02C550A4 */ cpu->r[11] = cpu->r[11] + 0xFFFFEEE8u;
|
|
/* 02C550A8 */ _t4 = cpu->r[11] + 0x00000002u;
|
|
/* 02C550A8 */ cpu->r[8] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t4);
|
|
/* 02C550AC */ _t5 = cpu->r[11] + 0x00000000u;
|
|
/* 02C550AC */ cpu->r[12] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t5);
|
|
/* 02C550B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 02C550B4 */ cpu->r[3] = cpu->r[31] + cpu->r[12];
|
|
/* 02C550B8 */ _t6 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C550B8 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02C550B8 */ if (_t7) goto L_02C550BC; else goto L_02C550D8;
|
|
L_02C550BC: ; // 0x2c550bc
|
|
/* 02C550BC */ _t8 = cpu->r[11] + 0x00000004u;
|
|
/* 02C550BC */ cpu->r[8] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C550C0 */ cpu->ctr = cpu->r[8];
|
|
/* 02C550C4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02C550C8 */ _t9 = cpu->r[31] + 0x00000008u;
|
|
/* 02C550C8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02C550CC */ cpu->r[0] = cpu->r[0] | 0x00000004u;
|
|
/* 02C550D0 */ _t10 = cpu->r[31] + 0x00000008u;
|
|
/* 02C550D0 */ rbrew_write32(cpu->mem, _t10, cpu->r[0]);
|
|
/* 02C550D4 */ goto L_02C55100;
|
|
L_02C550D8: ; // 0x2c550d8
|
|
/* 02C550D8 */ _t11 = cpu->r[11] + 0x00000006u;
|
|
/* 02C550D8 */ cpu->r[0] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t11);
|
|
/* 02C550DC */ _t12 = cpu->r[3] + cpu->r[0];
|
|
/* 02C550DC */ cpu->r[9] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02C550E0 */ cpu->r[7] = rbrew_rlwinm(cpu->r[8], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 02C550E4 */ cpu->r[12] = cpu->r[9] + cpu->r[7];
|
|
/* 02C550E8 */ _t13 = cpu->r[12] + 0x00000004u;
|
|
/* 02C550E8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02C550EC */ cpu->ctr = cpu->r[8];
|
|
/* 02C550F0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02C550F4 */ _t14 = cpu->r[31] + 0x00000008u;
|
|
/* 02C550F4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02C550F8 */ cpu->r[0] = cpu->r[0] | 0x00000004u;
|
|
/* 02C550FC */ _t15 = cpu->r[31] + 0x00000008u;
|
|
/* 02C550FC */ rbrew_write32(cpu->mem, _t15, cpu->r[0]);
|
|
L_02C55100: ; // 0x2c55100
|
|
/* 02C55100 */ _t16 = cpu->r[1] + 0x00000014u;
|
|
/* 02C55100 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02C55104 */ _t17 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C55104 */ cpu->r[31] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02C55108 */ cpu->lr = cpu->r[0];
|
|
/* 02C5510C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C55110 */ return;
|
|
}
|
|
|
|
// fn_02C5507C @ 0x2c5507c
|
|
void Gambit_fn_02C5507C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17;
|
|
|
|
L_02C5507C: ; // 0x2c5507c
|
|
/* 02C5507C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C5507C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C5507C */ cpu->r[1] = _t0;
|
|
/* 02C55080 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C55080 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02C55084 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C55088 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02C55088 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02C5508C */ _t3 = cpu->r[31] + 0x00000008u;
|
|
/* 02C5508C */ cpu->r[10] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02C55090 */ cpu->r[7] = rbrew_rlwinm(cpu->r[10], 0x00000000u, 0x0000001Eu, 0x0000001Fu);
|
|
/* 02C55094 */ cpu->r[9] = rbrew_rlwinm(cpu->r[10], 0x0000001Eu, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02C55098 */ cpu->r[0] = cpu->r[7] | cpu->r[9];
|
|
/* 02C5509C */ cpu->r[10] = rbrew_rlwinm(cpu->r[0], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 02C550A0 */ cpu->r[11] = cpu->r[10] + 0x101B0000u;
|
|
/* 02C550A4 */ cpu->r[11] = cpu->r[11] + 0xFFFFEEE8u;
|
|
/* 02C550A8 */ _t4 = cpu->r[11] + 0x00000002u;
|
|
/* 02C550A8 */ cpu->r[8] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t4);
|
|
/* 02C550AC */ _t5 = cpu->r[11] + 0x00000000u;
|
|
/* 02C550AC */ cpu->r[12] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t5);
|
|
/* 02C550B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 02C550B4 */ cpu->r[3] = cpu->r[31] + cpu->r[12];
|
|
/* 02C550B8 */ _t6 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C550B8 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02C550B8 */ if (_t7) goto L_02C550BC; else goto L_02C550D8;
|
|
L_02C550BC: ; // 0x2c550bc
|
|
/* 02C550BC */ _t8 = cpu->r[11] + 0x00000004u;
|
|
/* 02C550BC */ cpu->r[8] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C550C0 */ cpu->ctr = cpu->r[8];
|
|
/* 02C550C4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02C550C8 */ _t9 = cpu->r[31] + 0x00000008u;
|
|
/* 02C550C8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02C550CC */ cpu->r[0] = cpu->r[0] | 0x00000004u;
|
|
/* 02C550D0 */ _t10 = cpu->r[31] + 0x00000008u;
|
|
/* 02C550D0 */ rbrew_write32(cpu->mem, _t10, cpu->r[0]);
|
|
/* 02C550D4 */ goto L_02C55100;
|
|
L_02C550D8: ; // 0x2c550d8
|
|
/* 02C550D8 */ _t11 = cpu->r[11] + 0x00000006u;
|
|
/* 02C550D8 */ cpu->r[0] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t11);
|
|
/* 02C550DC */ _t12 = cpu->r[3] + cpu->r[0];
|
|
/* 02C550DC */ cpu->r[9] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02C550E0 */ cpu->r[7] = rbrew_rlwinm(cpu->r[8], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 02C550E4 */ cpu->r[12] = cpu->r[9] + cpu->r[7];
|
|
/* 02C550E8 */ _t13 = cpu->r[12] + 0x00000004u;
|
|
/* 02C550E8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02C550EC */ cpu->ctr = cpu->r[8];
|
|
/* 02C550F0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02C550F4 */ _t14 = cpu->r[31] + 0x00000008u;
|
|
/* 02C550F4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02C550F8 */ cpu->r[0] = cpu->r[0] | 0x00000004u;
|
|
/* 02C550FC */ _t15 = cpu->r[31] + 0x00000008u;
|
|
/* 02C550FC */ rbrew_write32(cpu->mem, _t15, cpu->r[0]);
|
|
L_02C55100: ; // 0x2c55100
|
|
/* 02C55100 */ _t16 = cpu->r[1] + 0x00000014u;
|
|
/* 02C55100 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02C55104 */ _t17 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C55104 */ cpu->r[31] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02C55108 */ cpu->lr = cpu->r[0];
|
|
/* 02C5510C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C55110 */ return;
|
|
}
|
|
|
|
// fn_02C55114 @ 0x2c55114
|
|
void Gambit_fn_02C55114(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_02C55114: ; // 0x2c55114
|
|
/* 02C55114 */ cpu->r[0] = cpu->lr;
|
|
/* 02C55118 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02C55118 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C55118 */ cpu->r[1] = _t0;
|
|
/* 02C5511C */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 02C5511C */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02C55120 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C55120 */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
|
|
/* 02C55124 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02C55124 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 02C55128 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C55128 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02C5512C */ cpu->r[29] = cpu->r[3];
|
|
/* 02C55130 */ _t5 = cpu->r[29] + 0x00000006u;
|
|
/* 02C55130 */ cpu->r[9] = rbrew_read16(cpu->mem, _t5);
|
|
/* 02C55134 */ cpu->r[8] = (uint32_t)((int32_t)cpu->r[9] * (int32_t)0x00000038u);
|
|
/* 02C55138 */ cpu->r[10] = cpu->r[8] + 0x0000003Fu;
|
|
/* 02C5513C */ cpu->r[31] = cpu->r[5];
|
|
/* 02C55140 */ cpu->r[30] = rbrew_rlwinm(cpu->r[10], 0x00000000u, 0x00000000u, 0x00000019u);
|
|
/* 02C55144 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[30]);
|
|
/* 02C55148 */ _t6 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C55148 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02C55148 */ if (_t7) goto L_02C5514C; else goto L_02C5516C;
|
|
L_02C5514C: ; // 0x2c5514c
|
|
/* 02C5514C */ _t8 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C5514C */ cpu->r[29] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C55150 */ _t9 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C55150 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02C55154 */ _t10 = cpu->r[1] + 0x00000010u;
|
|
/* 02C55154 */ cpu->r[30] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02C55158 */ cpu->lr = cpu->r[0];
|
|
/* 02C5515C */ _t11 = cpu->r[1] + 0x00000014u;
|
|
/* 02C5515C */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02C55160 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C55164 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C55168 */ return;
|
|
L_02C5516C: ; // 0x2c5516c
|
|
/* 02C5516C */ _t12 = cpu->r[29] + 0x00000008u;
|
|
/* 02C5516C */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02C55170 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u);
|
|
/* 02C55174 */ _t13 = cpu->r[29] + 0x00000000u;
|
|
/* 02C55174 */ rbrew_write32(cpu->mem, _t13, cpu->r[4]);
|
|
/* 02C55178 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C55178 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02C55178 */ if (_t15) goto L_02C551BC; else goto L_02C5517C;
|
|
L_02C5517C: ; // 0x2c5517c
|
|
/* 02C5517C */ cpu->r[11] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x0000001Bu, 0x0000001Cu);
|
|
/* 02C5517C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02C55180 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C55180 */ _t17 = _t16 & 0x00000001u;
|
|
/* 02C55180 */ if (_t17) goto L_02C551A0; else goto L_02C55184;
|
|
L_02C55184: ; // 0x2c55184
|
|
/* 02C55184 */ _t18 = cpu->r[29] + 0x0000000Cu;
|
|
/* 02C55184 */ cpu->r[3] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02C55188 */ cpu->r[4] = cpu->r[30];
|
|
/* 02C5518C */ rbrew_dispatch(cpu, 0x02d09320u);
|
|
/* 02C55190 */ _t19 = cpu->r[29] + 0x00000008u;
|
|
/* 02C55190 */ cpu->r[12] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02C55194 */ _t20 = cpu->r[29] + 0x00000000u;
|
|
/* 02C55194 */ cpu->r[4] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02C55198 */ cpu->r[12] = rbrew_rlwinm(cpu->r[12], 0x00000000u, 0x0000001Du, 0x0000001Au);
|
|
/* 02C5519C */ _t21 = cpu->r[29] + 0x00000008u;
|
|
/* 02C5519C */ rbrew_write32(cpu->mem, _t21, cpu->r[12]);
|
|
L_02C551A0: ; // 0x2c551a0
|
|
/* 02C551A0 */ cpu->r[3] = cpu->r[4];
|
|
/* 02C551A4 */ _t22 = cpu->r[29] + 0x0000000Cu;
|
|
/* 02C551A4 */ cpu->r[4] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02C551A8 */ cpu->r[5] = rbrew_rlwinm(cpu->r[30], 0x0000001Bu, 0x00000005u, 0x0000001Fu);
|
|
/* 02C551AC */ Gambit_fn_02C6510C(cpu);
|
|
/* 02C551B0 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C551B4 */ Gambit_fn_02C65224(cpu);
|
|
/* 02C551B8 */ goto L_02C551C8;
|
|
L_02C551BC: ; // 0x2c551bc
|
|
/* 02C551BC */ cpu->r[6] = rbrew_rlwinm(cpu->r[0], 0x00000001u, 0x0000001Bu, 0x0000001Bu);
|
|
/* 02C551C0 */ cpu->r[0] = cpu->r[0] | cpu->r[6];
|
|
/* 02C551C4 */ _t23 = cpu->r[29] + 0x00000008u;
|
|
/* 02C551C4 */ rbrew_write32(cpu->mem, _t23, cpu->r[0]);
|
|
L_02C551C8: ; // 0x2c551c8
|
|
/* 02C551C8 */ _t24 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C551C8 */ cpu->r[29] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02C551CC */ _t25 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C551CC */ cpu->r[0] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02C551D0 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C551D4 */ _t26 = cpu->r[1] + 0x00000010u;
|
|
/* 02C551D4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02C551D8 */ cpu->lr = cpu->r[0];
|
|
/* 02C551DC */ _t27 = cpu->r[1] + 0x00000014u;
|
|
/* 02C551DC */ cpu->r[31] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02C551E0 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C551E4 */ return;
|
|
}
|
|
|
|
// fn_02C55118 @ 0x2c55118
|
|
void Gambit_fn_02C55118(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_02C55118: ; // 0x2c55118
|
|
/* 02C55118 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02C55118 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C55118 */ cpu->r[1] = _t0;
|
|
/* 02C5511C */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 02C5511C */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02C55120 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C55120 */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
|
|
/* 02C55124 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02C55124 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 02C55128 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C55128 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02C5512C */ cpu->r[29] = cpu->r[3];
|
|
/* 02C55130 */ _t5 = cpu->r[29] + 0x00000006u;
|
|
/* 02C55130 */ cpu->r[9] = rbrew_read16(cpu->mem, _t5);
|
|
/* 02C55134 */ cpu->r[8] = (uint32_t)((int32_t)cpu->r[9] * (int32_t)0x00000038u);
|
|
/* 02C55138 */ cpu->r[10] = cpu->r[8] + 0x0000003Fu;
|
|
/* 02C5513C */ cpu->r[31] = cpu->r[5];
|
|
/* 02C55140 */ cpu->r[30] = rbrew_rlwinm(cpu->r[10], 0x00000000u, 0x00000000u, 0x00000019u);
|
|
/* 02C55144 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[30]);
|
|
/* 02C55148 */ _t6 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C55148 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02C55148 */ if (_t7) goto L_02C5514C; else goto L_02C5516C;
|
|
L_02C5514C: ; // 0x2c5514c
|
|
/* 02C5514C */ _t8 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C5514C */ cpu->r[29] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C55150 */ _t9 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C55150 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02C55154 */ _t10 = cpu->r[1] + 0x00000010u;
|
|
/* 02C55154 */ cpu->r[30] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02C55158 */ cpu->lr = cpu->r[0];
|
|
/* 02C5515C */ _t11 = cpu->r[1] + 0x00000014u;
|
|
/* 02C5515C */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02C55160 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C55164 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C55168 */ return;
|
|
L_02C5516C: ; // 0x2c5516c
|
|
/* 02C5516C */ _t12 = cpu->r[29] + 0x00000008u;
|
|
/* 02C5516C */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02C55170 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u);
|
|
/* 02C55174 */ _t13 = cpu->r[29] + 0x00000000u;
|
|
/* 02C55174 */ rbrew_write32(cpu->mem, _t13, cpu->r[4]);
|
|
/* 02C55178 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C55178 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02C55178 */ if (_t15) goto L_02C551BC; else goto L_02C5517C;
|
|
L_02C5517C: ; // 0x2c5517c
|
|
/* 02C5517C */ cpu->r[11] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x0000001Bu, 0x0000001Cu);
|
|
/* 02C5517C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02C55180 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C55180 */ _t17 = _t16 & 0x00000001u;
|
|
/* 02C55180 */ if (_t17) goto L_02C551A0; else goto L_02C55184;
|
|
L_02C55184: ; // 0x2c55184
|
|
/* 02C55184 */ _t18 = cpu->r[29] + 0x0000000Cu;
|
|
/* 02C55184 */ cpu->r[3] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02C55188 */ cpu->r[4] = cpu->r[30];
|
|
/* 02C5518C */ rbrew_dispatch(cpu, 0x02d09320u);
|
|
/* 02C55190 */ _t19 = cpu->r[29] + 0x00000008u;
|
|
/* 02C55190 */ cpu->r[12] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02C55194 */ _t20 = cpu->r[29] + 0x00000000u;
|
|
/* 02C55194 */ cpu->r[4] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02C55198 */ cpu->r[12] = rbrew_rlwinm(cpu->r[12], 0x00000000u, 0x0000001Du, 0x0000001Au);
|
|
/* 02C5519C */ _t21 = cpu->r[29] + 0x00000008u;
|
|
/* 02C5519C */ rbrew_write32(cpu->mem, _t21, cpu->r[12]);
|
|
L_02C551A0: ; // 0x2c551a0
|
|
/* 02C551A0 */ cpu->r[3] = cpu->r[4];
|
|
/* 02C551A4 */ _t22 = cpu->r[29] + 0x0000000Cu;
|
|
/* 02C551A4 */ cpu->r[4] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02C551A8 */ cpu->r[5] = rbrew_rlwinm(cpu->r[30], 0x0000001Bu, 0x00000005u, 0x0000001Fu);
|
|
/* 02C551AC */ Gambit_fn_02C6510C(cpu);
|
|
/* 02C551B0 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C551B4 */ Gambit_fn_02C65224(cpu);
|
|
/* 02C551B8 */ goto L_02C551C8;
|
|
L_02C551BC: ; // 0x2c551bc
|
|
/* 02C551BC */ cpu->r[6] = rbrew_rlwinm(cpu->r[0], 0x00000001u, 0x0000001Bu, 0x0000001Bu);
|
|
/* 02C551C0 */ cpu->r[0] = cpu->r[0] | cpu->r[6];
|
|
/* 02C551C4 */ _t23 = cpu->r[29] + 0x00000008u;
|
|
/* 02C551C4 */ rbrew_write32(cpu->mem, _t23, cpu->r[0]);
|
|
L_02C551C8: ; // 0x2c551c8
|
|
/* 02C551C8 */ _t24 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C551C8 */ cpu->r[29] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02C551CC */ _t25 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C551CC */ cpu->r[0] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02C551D0 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C551D4 */ _t26 = cpu->r[1] + 0x00000010u;
|
|
/* 02C551D4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02C551D8 */ cpu->lr = cpu->r[0];
|
|
/* 02C551DC */ _t27 = cpu->r[1] + 0x00000014u;
|
|
/* 02C551DC */ cpu->r[31] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02C551E0 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C551E4 */ return;
|
|
}
|
|
|
|
// fn_02C551E8 @ 0x2c551e8
|
|
void Gambit_fn_02C551E8(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;
|
|
|
|
L_02C551E8: ; // 0x2c551e8
|
|
/* 02C551E8 */ cpu->r[0] = cpu->lr;
|
|
/* 02C551EC */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C551EC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C551EC */ cpu->r[1] = _t0;
|
|
/* 02C551F0 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02C551F0 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02C551F4 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C551F4 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02C551F8 */ cpu->r[30] = cpu->r[3];
|
|
/* 02C551FC */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02C551FC */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02C55200 */ _t4 = cpu->r[30] + 0x0000000Cu;
|
|
/* 02C55200 */ cpu->r[3] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02C55204 */ _t5 = cpu->r[30] + 0x00000000u;
|
|
/* 02C55204 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02C55208 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[3]);
|
|
/* 02C5520C */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C5520C */ _t7 = _t6 & 0x00000001u;
|
|
/* 02C5520C */ if (_t7) goto L_02C55278; else goto L_02C55210;
|
|
L_02C55210: ; // 0x2c55210
|
|
/* 02C55210 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
|
|
/* 02C55214 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C55214 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02C55214 */ if (_t9) goto L_02C55264; else goto L_02C55218;
|
|
L_02C55218: ; // 0x2c55218
|
|
/* 02C55218 */ _t10 = cpu->r[30] + 0x00000006u;
|
|
/* 02C55218 */ cpu->r[10] = rbrew_read16(cpu->mem, _t10);
|
|
/* 02C5521C */ cpu->r[12] = (uint32_t)((int32_t)cpu->r[10] * (int32_t)0x00000038u);
|
|
/* 02C55220 */ _t11 = cpu->r[30] + 0x00000008u;
|
|
/* 02C55220 */ cpu->r[9] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02C55224 */ cpu->r[11] = cpu->r[12] + 0x0000003Fu;
|
|
/* 02C55228 */ cpu->r[12] = rbrew_rlwinm(cpu->r[9], 0x00000000u, 0x0000001Bu, 0x0000001Bu);
|
|
/* 02C55228 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02C5522C */ cpu->r[31] = rbrew_rlwinm(cpu->r[11], 0x00000000u, 0x00000000u, 0x00000019u);
|
|
/* 02C55230 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C55230 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02C55230 */ if (_t13) goto L_02C55250; else goto L_02C55234;
|
|
L_02C55234: ; // 0x2c55234
|
|
/* 02C55234 */ cpu->r[4] = cpu->r[31];
|
|
/* 02C55238 */ rbrew_dispatch(cpu, 0x02d09330u);
|
|
/* 02C5523C */ _t14 = cpu->r[30] + 0x00000008u;
|
|
/* 02C5523C */ cpu->r[10] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02C55240 */ _t15 = cpu->r[30] + 0x00000000u;
|
|
/* 02C55240 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02C55244 */ cpu->r[10] = rbrew_rlwinm(cpu->r[10], 0x00000000u, 0x0000001Du, 0x0000001Au);
|
|
/* 02C55248 */ _t16 = cpu->r[30] + 0x0000000Cu;
|
|
/* 02C55248 */ cpu->r[3] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02C5524C */ _t17 = cpu->r[30] + 0x00000008u;
|
|
/* 02C5524C */ rbrew_write32(cpu->mem, _t17, cpu->r[10]);
|
|
L_02C55250: ; // 0x2c55250
|
|
/* 02C55250 */ cpu->r[5] = rbrew_rlwinm(cpu->r[31], 0x0000001Bu, 0x00000005u, 0x0000001Fu);
|
|
/* 02C55254 */ cpu->r[4] = cpu->r[0];
|
|
/* 02C55258 */ Gambit_fn_02C65198(cpu);
|
|
/* 02C5525C */ cpu->r[3] = 0x00000000u;
|
|
/* 02C55260 */ Gambit_fn_02C65224(cpu);
|
|
L_02C55264: ; // 0x2c55264
|
|
/* 02C55264 */ _t18 = cpu->r[30] + 0x00000008u;
|
|
/* 02C55264 */ cpu->r[11] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02C55268 */ _t19 = cpu->r[30] + 0x0000000Cu;
|
|
/* 02C55268 */ cpu->r[12] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02C5526C */ cpu->r[11] = rbrew_rlwinm(cpu->r[11], 0x00000000u, 0x0000001Du, 0x0000001Bu);
|
|
/* 02C55270 */ _t20 = cpu->r[30] + 0x00000008u;
|
|
/* 02C55270 */ rbrew_write32(cpu->mem, _t20, cpu->r[11]);
|
|
/* 02C55274 */ _t21 = cpu->r[30] + 0x00000000u;
|
|
/* 02C55274 */ rbrew_write32(cpu->mem, _t21, cpu->r[12]);
|
|
L_02C55278: ; // 0x2c55278
|
|
/* 02C55278 */ _t22 = cpu->r[1] + 0x00000014u;
|
|
/* 02C55278 */ cpu->r[0] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02C5527C */ _t23 = cpu->r[1] + 0x00000008u;
|
|
/* 02C5527C */ cpu->r[30] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02C55280 */ cpu->lr = cpu->r[0];
|
|
/* 02C55284 */ _t24 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C55284 */ cpu->r[31] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02C55288 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C5528C */ return;
|
|
}
|
|
|
|
// fn_02C551EC @ 0x2c551ec
|
|
void Gambit_fn_02C551EC(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;
|
|
|
|
L_02C551EC: ; // 0x2c551ec
|
|
/* 02C551EC */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C551EC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C551EC */ cpu->r[1] = _t0;
|
|
/* 02C551F0 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02C551F0 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02C551F4 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C551F4 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02C551F8 */ cpu->r[30] = cpu->r[3];
|
|
/* 02C551FC */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02C551FC */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02C55200 */ _t4 = cpu->r[30] + 0x0000000Cu;
|
|
/* 02C55200 */ cpu->r[3] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02C55204 */ _t5 = cpu->r[30] + 0x00000000u;
|
|
/* 02C55204 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02C55208 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[3]);
|
|
/* 02C5520C */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C5520C */ _t7 = _t6 & 0x00000001u;
|
|
/* 02C5520C */ if (_t7) goto L_02C55278; else goto L_02C55210;
|
|
L_02C55210: ; // 0x2c55210
|
|
/* 02C55210 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
|
|
/* 02C55214 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C55214 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02C55214 */ if (_t9) goto L_02C55264; else goto L_02C55218;
|
|
L_02C55218: ; // 0x2c55218
|
|
/* 02C55218 */ _t10 = cpu->r[30] + 0x00000006u;
|
|
/* 02C55218 */ cpu->r[10] = rbrew_read16(cpu->mem, _t10);
|
|
/* 02C5521C */ cpu->r[12] = (uint32_t)((int32_t)cpu->r[10] * (int32_t)0x00000038u);
|
|
/* 02C55220 */ _t11 = cpu->r[30] + 0x00000008u;
|
|
/* 02C55220 */ cpu->r[9] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02C55224 */ cpu->r[11] = cpu->r[12] + 0x0000003Fu;
|
|
/* 02C55228 */ cpu->r[12] = rbrew_rlwinm(cpu->r[9], 0x00000000u, 0x0000001Bu, 0x0000001Bu);
|
|
/* 02C55228 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02C5522C */ cpu->r[31] = rbrew_rlwinm(cpu->r[11], 0x00000000u, 0x00000000u, 0x00000019u);
|
|
/* 02C55230 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C55230 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02C55230 */ if (_t13) goto L_02C55250; else goto L_02C55234;
|
|
L_02C55234: ; // 0x2c55234
|
|
/* 02C55234 */ cpu->r[4] = cpu->r[31];
|
|
/* 02C55238 */ rbrew_dispatch(cpu, 0x02d09330u);
|
|
/* 02C5523C */ _t14 = cpu->r[30] + 0x00000008u;
|
|
/* 02C5523C */ cpu->r[10] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02C55240 */ _t15 = cpu->r[30] + 0x00000000u;
|
|
/* 02C55240 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02C55244 */ cpu->r[10] = rbrew_rlwinm(cpu->r[10], 0x00000000u, 0x0000001Du, 0x0000001Au);
|
|
/* 02C55248 */ _t16 = cpu->r[30] + 0x0000000Cu;
|
|
/* 02C55248 */ cpu->r[3] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02C5524C */ _t17 = cpu->r[30] + 0x00000008u;
|
|
/* 02C5524C */ rbrew_write32(cpu->mem, _t17, cpu->r[10]);
|
|
L_02C55250: ; // 0x2c55250
|
|
/* 02C55250 */ cpu->r[5] = rbrew_rlwinm(cpu->r[31], 0x0000001Bu, 0x00000005u, 0x0000001Fu);
|
|
/* 02C55254 */ cpu->r[4] = cpu->r[0];
|
|
/* 02C55258 */ Gambit_fn_02C65198(cpu);
|
|
/* 02C5525C */ cpu->r[3] = 0x00000000u;
|
|
/* 02C55260 */ Gambit_fn_02C65224(cpu);
|
|
L_02C55264: ; // 0x2c55264
|
|
/* 02C55264 */ _t18 = cpu->r[30] + 0x00000008u;
|
|
/* 02C55264 */ cpu->r[11] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02C55268 */ _t19 = cpu->r[30] + 0x0000000Cu;
|
|
/* 02C55268 */ cpu->r[12] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02C5526C */ cpu->r[11] = rbrew_rlwinm(cpu->r[11], 0x00000000u, 0x0000001Du, 0x0000001Bu);
|
|
/* 02C55270 */ _t20 = cpu->r[30] + 0x00000008u;
|
|
/* 02C55270 */ rbrew_write32(cpu->mem, _t20, cpu->r[11]);
|
|
/* 02C55274 */ _t21 = cpu->r[30] + 0x00000000u;
|
|
/* 02C55274 */ rbrew_write32(cpu->mem, _t21, cpu->r[12]);
|
|
L_02C55278: ; // 0x2c55278
|
|
/* 02C55278 */ _t22 = cpu->r[1] + 0x00000014u;
|
|
/* 02C55278 */ cpu->r[0] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02C5527C */ _t23 = cpu->r[1] + 0x00000008u;
|
|
/* 02C5527C */ cpu->r[30] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02C55280 */ cpu->lr = cpu->r[0];
|
|
/* 02C55284 */ _t24 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C55284 */ cpu->r[31] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02C55288 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C5528C */ return;
|
|
}
|
|
|
|
// fn_02C55290 @ 0x2c55290
|
|
void Gambit_fn_02C55290(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_02801B30: ; // 0x2801b30
|
|
/* 02801B30 */ cpu->r[0] = cpu->lr;
|
|
/* 02801B34 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02801B34 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02801B34 */ cpu->r[1] = _t0;
|
|
/* 02801B38 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B38 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02801B3C */ cpu->r[31] = cpu->r[3];
|
|
/* 02801B40 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02801B44 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B44 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02801B48 */ _t3 = cpu->r[3] + 0xFFFF98F0u;
|
|
/* 02801B48 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02801B4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B50 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B50 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02801B50 */ if (_t5) goto L_02801B54; else goto L_02801B70;
|
|
L_02801B54: ; // 0x2801b54
|
|
/* 02801B54 */ cpu->r[3] = cpu->r[31];
|
|
/* 02801B58 */ Gambit_fn_02801B20(cpu);
|
|
/* 02801B5C */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02801B60 */ _t7 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B60 */ cpu->r[31] = rbrew_read32(cpu->mem, _t7);
|
|
/* 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 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B74 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02801B74 */ if (_t9) 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 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B84 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02801B84 */ if (_t11) goto L_02801B9C; else goto L_02801B88;
|
|
L_02801B88: ; // 0x2801b88
|
|
/* 02801B88 */ _t12 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02801B88 */ cpu->r[12] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02801B8C */ _t13 = cpu->r[12] + 0x0000003Cu;
|
|
/* 02801B8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02801B90 */ cpu->ctr = cpu->r[0];
|
|
/* 02801B94 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B98 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02801B9C: ; // 0x2801b9c
|
|
/* 02801B9C */ _t14 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02801BA0 */ _t15 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801BA0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02801BA4 */ cpu->lr = cpu->r[0];
|
|
/* 02801BA8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801BAC */ return;
|
|
L_02801BB0: ; // 0x2801bb0
|
|
/* 02801BB0 */ goto L_02801B30;
|
|
L_02C55290: ; // 0x2c55290
|
|
/* 02C55290 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C55294 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C55294 */ _t17 = _t16 & 0x00000001u;
|
|
/* 02C55294 */ if (_t17) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02C55294 */ goto L_02C55298;
|
|
L_02C55298: ; // 0x2c55298
|
|
/* 02C55298 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02C55298 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C5529C */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C5529C */ _t19 = _t18 & 0x00000001u;
|
|
/* 02C5529C */ if (_t19) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02C5529C */ goto L_02C552A0;
|
|
L_02C552A0: ; // 0x2c552a0
|
|
/* 02C552A0 */ goto L_02801BB0;
|
|
}
|
|
|
|
// fn_02C552A4 @ 0x2c552a4
|
|
void Gambit_fn_02C552A4(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;
|
|
|
|
L_02C552A4: ; // 0x2c552a4
|
|
/* 02C552A4 */ _t0 = cpu->r[1] + 0xFFFFFFC8u;
|
|
/* 02C552A4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C552A4 */ cpu->r[1] = _t0;
|
|
/* 02C552A8 */ /* nop */
|
|
/* 02C552AC */ _t1 = cpu->r[1] + 0x00000028u;
|
|
/* 02C552AC */ rbrew_write_f64(cpu->mem, _t1, cpu->f[31]);
|
|
/* 02C552B0 */ /* nop */
|
|
/* 02C552B4 */ _t2 = cpu->r[1] + 0x00000030u;
|
|
/* 02C552B4 */ rbrew_write_f32(cpu->mem, _t2, cpu->f[31]);
|
|
/* 02C552B8 */ cpu->r[0] = cpu->lr;
|
|
/* 02C552BC */ _t3 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02C552BC */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02C552C0 */ cpu->r[30] = cpu->r[3];
|
|
/* 02C552C4 */ _t4 = cpu->r[30] + 0x00000024u;
|
|
/* 02C552C4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02C552C8 */ _t5 = cpu->r[30] + 0x00000000u;
|
|
/* 02C552C8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02C552CC */ cpu->r[25] = cpu->r[30] + 0x0000001Cu;
|
|
/* 02C552D0 */ _t6 = cpu->r[30] + 0x00000050u;
|
|
/* 02C552D0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02C552D4 */ cpu->r[27] = cpu->r[30] + 0x00000038u;
|
|
/* 02C552D8 */ _t7 = cpu->r[30] + 0x0000002Cu;
|
|
/* 02C552D8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02C552DC */ cpu->r[9] = cpu->r[9] | 0x00000008u;
|
|
/* 02C552E0 */ _t8 = cpu->r[11] + 0x00000000u;
|
|
/* 02C552E0 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t8);
|
|
/* 02C552E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C552E8 */ _t9 = cpu->r[30] + 0x00000050u;
|
|
/* 02C552E8 */ rbrew_write32(cpu->mem, _t9, cpu->r[9]);
|
|
/* 02C552EC */ _t10 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C552EC */ _t11 = _t10 & 0x00000001u;
|
|
/* 02C552EC */ if (_t11) goto L_02C552F0; else goto L_02C5538C;
|
|
L_02C552F0: ; // 0x2c552f0
|
|
/* 02C552F0 */ _t12 = cpu->r[25] + 0x00000004u;
|
|
/* 02C552F0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02C552F4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], cpu->r[10]);
|
|
/* 02C552F8 */ _t13 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C552F8 */ _t14 = _t13 & 0x00000001u;
|
|
/* 02C552F8 */ if (_t14) goto L_02C5538C; else goto L_02C552FC;
|
|
L_02C552FC: ; // 0x2c552fc
|
|
/* 02C552FC */ _t15 = cpu->r[27] + 0x00000008u;
|
|
/* 02C552FC */ cpu->r[26] = rbrew_read16(cpu->mem, _t15);
|
|
/* 02C55300 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u);
|
|
/* 02C55304 */ cpu->r[24] = 0x00000000u;
|
|
/* 02C55308 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C55308 */ _t17 = _t16 & 0x00000001u;
|
|
/* 02C55308 */ if (_t17) goto L_02C553E0; else goto L_02C5530C;
|
|
L_02C5530C: ; // 0x2c5530c
|
|
/* 02C5530C */ cpu->r[28] = 0x00000000u;
|
|
/* 02C55310 */ cpu->r[29] = cpu->r[28];
|
|
L_02C55314: ; // 0x2c55314
|
|
/* 02C55314 */ _t18 = cpu->r[27] + 0x00000000u;
|
|
/* 02C55314 */ cpu->r[10] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02C55318 */ _t19 = cpu->r[30] + 0x00000048u;
|
|
/* 02C55318 */ cpu->r[11] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02C5531C */ _t20 = cpu->r[10] + cpu->r[29];
|
|
/* 02C5531C */ cpu->r[12] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02C55320 */ cpu->r[3] = cpu->r[11] + cpu->r[28];
|
|
/* 02C55324 */ cpu->r[0] = rbrew_rlwinm(cpu->r[12], 0x00000002u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02C55328 */ _t21 = cpu->r[3] + 0x0000000Au;
|
|
/* 02C55328 */ cpu->r[12] = rbrew_read8(cpu->mem, _t21);
|
|
/* 02C5532C */ cpu->r[0] = cpu->r[0] ^ 0x00000001u;
|
|
/* 02C55330 */ cpu->r[6] = cpu->r[24];
|
|
/* 02C55334 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 02C55334 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C55338 */ cpu->r[24] = cpu->r[24] + cpu->r[12];
|
|
/* 02C5533C */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C5533C */ _t23 = _t22 & 0x00000001u;
|
|
/* 02C5533C */ if (_t23) goto L_02C55358; else goto L_02C55340;
|
|
L_02C55340: ; // 0x2c55340
|
|
/* 02C55340 */ cpu->r[0] = (uint32_t)((int32_t)cpu->r[6] * (int32_t)0x0000000Cu);
|
|
/* 02C55344 */ _t24 = cpu->r[25] + 0x00000000u;
|
|
/* 02C55344 */ cpu->r[9] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02C55348 */ cpu->f[1] = cpu->f[31];
|
|
/* 02C5534C */ cpu->r[4] = cpu->r[31];
|
|
/* 02C55350 */ cpu->r[5] = cpu->r[9] + cpu->r[0];
|
|
/* 02C55354 */ Gambit_fn_02C6478C(cpu);
|
|
L_02C55358: ; // 0x2c55358
|
|
/* 02C55358 */ cpu->r[28] = cpu->r[28] + 0x00000018u;
|
|
/* 02C5535C */ cpu->r[26] = cpu->r[26] + 0xFFFFFFFFu;
|
|
/* 02C5535C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u);
|
|
/* 02C55360 */ cpu->r[29] = cpu->r[29] + 0x00000004u;
|
|
/* 02C55364 */ cpu->r[31] = cpu->r[31] + 0x00000030u;
|
|
/* 02C55368 */ _t25 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C55368 */ _t26 = _t25 & 0x00000001u;
|
|
/* 02C55368 */ if (_t26) goto L_02C5536C; else goto L_02C55314;
|
|
L_02C5536C: ; // 0x2c5536c
|
|
/* 02C5536C */ /* nop */
|
|
/* 02C55370 */ _t27 = cpu->r[1] + 0x00000030u;
|
|
/* 02C55370 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t27);
|
|
/* 02C55374 */ _t28 = cpu->r[1] + 0x00000028u;
|
|
/* 02C55374 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t28);
|
|
/* 02C55378 */ _t29 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C55378 */ _t30 = _t29 & 0x00000001u;
|
|
/* 02C55378 */ if (_t30) goto L_02C5537C; // else: addr-0 trap, fall-through
|
|
L_02C5537C: ; // 0x2c5537c
|
|
/* 02C5537C */ _t31 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02C5537C */ cpu->r[0] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02C55380 */ cpu->lr = cpu->r[0];
|
|
/* 02C55384 */ cpu->r[1] = cpu->r[1] + 0x00000038u;
|
|
/* 02C55388 */ return;
|
|
L_02C5538C: ; // 0x2c5538c
|
|
/* 02C5538C */ _t32 = cpu->r[27] + 0x00000008u;
|
|
/* 02C5538C */ cpu->r[26] = rbrew_read16(cpu->mem, _t32);
|
|
/* 02C55390 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u);
|
|
/* 02C55394 */ _t33 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C55394 */ _t34 = _t33 & 0x00000001u;
|
|
/* 02C55394 */ if (_t34) goto L_02C553E0; else goto L_02C55398;
|
|
L_02C55398: ; // 0x2c55398
|
|
/* 02C55398 */ cpu->r[28] = 0x00000000u;
|
|
/* 02C5539C */ cpu->r[29] = cpu->r[28];
|
|
L_02C553A0: ; // 0x2c553a0
|
|
/* 02C553A0 */ _t35 = cpu->r[27] + 0x00000000u;
|
|
/* 02C553A0 */ cpu->r[7] = rbrew_read32(cpu->mem, _t35);
|
|
/* 02C553A4 */ _t36 = cpu->r[7] + cpu->r[29];
|
|
/* 02C553A4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t36);
|
|
/* 02C553A8 */ cpu->r[0] = rbrew_rlwinm(cpu->r[10], 0x00000002u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02C553AC */ cpu->r[12] = cpu->r[0] ^ 0x00000001u;
|
|
/* 02C553B0 */ cpu->r[0] = rbrew_rlwinm(cpu->r[12], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 02C553B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C553B4 */ _t37 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C553B4 */ _t38 = _t37 & 0x00000001u;
|
|
/* 02C553B4 */ if (_t38) goto L_02C553CC; else goto L_02C553B8;
|
|
L_02C553B8: ; // 0x2c553b8
|
|
/* 02C553B8 */ _t39 = cpu->r[30] + 0x00000048u;
|
|
/* 02C553B8 */ cpu->r[7] = rbrew_read32(cpu->mem, _t39);
|
|
/* 02C553BC */ cpu->f[1] = cpu->f[31];
|
|
/* 02C553C0 */ cpu->r[4] = cpu->r[31];
|
|
/* 02C553C4 */ cpu->r[3] = cpu->r[7] + cpu->r[28];
|
|
/* 02C553C8 */ Gambit_fn_02C646DC(cpu);
|
|
L_02C553CC: ; // 0x2c553cc
|
|
/* 02C553CC */ cpu->r[31] = cpu->r[31] + 0x00000030u;
|
|
/* 02C553D0 */ cpu->r[26] = cpu->r[26] + 0xFFFFFFFFu;
|
|
/* 02C553D0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u);
|
|
/* 02C553D4 */ cpu->r[29] = cpu->r[29] + 0x00000004u;
|
|
/* 02C553D8 */ cpu->r[28] = cpu->r[28] + 0x00000018u;
|
|
/* 02C553DC */ _t40 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C553DC */ _t41 = _t40 & 0x00000001u;
|
|
/* 02C553DC */ if (_t41) goto L_02C553E0; else goto L_02C553A0;
|
|
L_02C553E0: ; // 0x2c553e0
|
|
/* 02C553E0 */ /* nop */
|
|
/* 02C553E4 */ _t42 = cpu->r[1] + 0x00000030u;
|
|
/* 02C553E4 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t42);
|
|
/* 02C553E8 */ _t43 = cpu->r[1] + 0x00000028u;
|
|
/* 02C553E8 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t43);
|
|
/* 02C553EC */ _t44 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C553EC */ _t45 = _t44 & 0x00000001u;
|
|
/* 02C553EC */ if (_t45) goto L_02C553F0; // else: addr-0 trap, fall-through
|
|
L_02C553F0: ; // 0x2c553f0
|
|
/* 02C553F0 */ _t46 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02C553F0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t46);
|
|
/* 02C553F4 */ cpu->lr = cpu->r[0];
|
|
/* 02C553F8 */ cpu->r[1] = cpu->r[1] + 0x00000038u;
|
|
/* 02C553FC */ return;
|
|
}
|
|
|
|
// fn_02C55400 @ 0x2c55400
|
|
void Gambit_fn_02C55400(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;
|
|
|
|
L_02C55400: ; // 0x2c55400
|
|
/* 02C55400 */ _t0 = cpu->r[1] + 0xFFFFFFA0u;
|
|
/* 02C55400 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C55400 */ cpu->r[1] = _t0;
|
|
/* 02C55404 */ /* nop */
|
|
/* 02C55408 */ _t1 = cpu->r[1] + 0x00000050u;
|
|
/* 02C55408 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[31]);
|
|
/* 02C5540C */ /* nop */
|
|
/* 02C55410 */ _t2 = cpu->r[1] + 0x00000058u;
|
|
/* 02C55410 */ rbrew_write_f32(cpu->mem, _t2, cpu->f[31]);
|
|
/* 02C55414 */ cpu->r[0] = cpu->lr;
|
|
/* 02C55418 */ _t3 = cpu->r[1] + 0x00000064u;
|
|
/* 02C55418 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02C5541C */ cpu->r[27] = cpu->r[3];
|
|
/* 02C55420 */ _t4 = cpu->r[27] + 0x00000024u;
|
|
/* 02C55420 */ cpu->r[11] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02C55424 */ _t5 = cpu->r[27] + 0x00000000u;
|
|
/* 02C55424 */ cpu->r[10] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02C55428 */ cpu->r[24] = cpu->r[27] + 0x0000001Cu;
|
|
/* 02C5542C */ _t6 = cpu->r[27] + 0x00000050u;
|
|
/* 02C5542C */ cpu->r[9] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02C55430 */ cpu->r[26] = cpu->r[27] + 0x00000038u;
|
|
/* 02C55434 */ _t7 = cpu->r[27] + 0x0000002Cu;
|
|
/* 02C55434 */ cpu->r[31] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02C55438 */ cpu->r[9] = cpu->r[9] | 0x00000008u;
|
|
/* 02C5543C */ _t8 = cpu->r[10] + 0x00000000u;
|
|
/* 02C5543C */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t8);
|
|
/* 02C55440 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02C55444 */ _t9 = cpu->r[27] + 0x00000050u;
|
|
/* 02C55444 */ rbrew_write32(cpu->mem, _t9, cpu->r[9]);
|
|
/* 02C55448 */ _t10 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C55448 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02C55448 */ if (_t11) goto L_02C5544C; else goto L_02C55640;
|
|
L_02C5544C: ; // 0x2c5544c
|
|
/* 02C5544C */ _t12 = cpu->r[24] + 0x00000004u;
|
|
/* 02C5544C */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02C55450 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], cpu->r[0]);
|
|
/* 02C55454 */ _t13 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C55454 */ _t14 = _t13 & 0x00000001u;
|
|
/* 02C55454 */ if (_t14) goto L_02C55640; else goto L_02C55458;
|
|
L_02C55458: ; // 0x2c55458
|
|
/* 02C55458 */ _t15 = cpu->r[26] + 0x00000008u;
|
|
/* 02C55458 */ cpu->r[25] = rbrew_read16(cpu->mem, _t15);
|
|
/* 02C5545C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000000u);
|
|
/* 02C55460 */ cpu->r[23] = 0x00000000u;
|
|
/* 02C55464 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C55464 */ _t17 = _t16 & 0x00000001u;
|
|
/* 02C55464 */ if (_t17) goto L_02C557E0; else goto L_02C55468;
|
|
L_02C55468: ; // 0x2c55468
|
|
/* 02C55468 */ cpu->r[28] = 0x00000000u;
|
|
/* 02C5546C */ cpu->r[29] = cpu->r[28];
|
|
/* 02C55470 */ cpu->r[30] = cpu->r[28];
|
|
L_02C55474: ; // 0x2c55474
|
|
/* 02C55474 */ _t18 = cpu->r[26] + 0x00000000u;
|
|
/* 02C55474 */ cpu->r[5] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02C55478 */ _t19 = cpu->r[27] + 0x00000048u;
|
|
/* 02C55478 */ cpu->r[11] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02C5547C */ _t20 = cpu->r[5] + cpu->r[29];
|
|
/* 02C5547C */ cpu->r[8] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02C55480 */ cpu->r[3] = cpu->r[11] + cpu->r[28];
|
|
/* 02C55484 */ cpu->r[9] = rbrew_rlwinm(cpu->r[8], 0x00000002u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02C55488 */ _t21 = cpu->r[3] + 0x0000000Au;
|
|
/* 02C55488 */ cpu->r[12] = rbrew_read8(cpu->mem, _t21);
|
|
/* 02C5548C */ cpu->r[0] = cpu->r[9] ^ 0x00000001u;
|
|
/* 02C55490 */ cpu->r[11] = cpu->r[23];
|
|
/* 02C55494 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 02C55494 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C55498 */ cpu->r[23] = cpu->r[23] + cpu->r[12];
|
|
/* 02C5549C */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C5549C */ _t23 = _t22 & 0x00000001u;
|
|
/* 02C5549C */ if (_t23) goto L_02C55608; else goto L_02C554A0;
|
|
L_02C554A0: ; // 0x2c554a0
|
|
/* 02C554A0 */ _t24 = cpu->r[3] + 0x00000000u;
|
|
/* 02C554A0 */ cpu->r[7] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02C554A4 */ cpu->r[5] = rbrew_rlwinm(cpu->r[7], 0x00000000u, 0x00000010u, 0x00000012u);
|
|
/* 02C554A4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u);
|
|
/* 02C554A8 */ _t25 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C554A8 */ _t26 = _t25 & 0x00000001u;
|
|
/* 02C554A8 */ if (_t26) goto L_02C555F0; else goto L_02C554AC;
|
|
L_02C554AC: ; // 0x2c554ac
|
|
/* 02C554AC */ _t27 = cpu->r[3] + 0x00000014u;
|
|
/* 02C554AC */ cpu->r[0] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02C554B0 */ cpu->r[4] = cpu->r[3] + 0x00000014u;
|
|
/* 02C554B4 */ cpu->r[5] = 0x00000000u;
|
|
/* 02C554B8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C554BC */ _t28 = cpu->r[3] + 0x0000000Bu;
|
|
/* 02C554BC */ cpu->r[10] = rbrew_read8(cpu->mem, _t28);
|
|
/* 02C554C0 */ _t29 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C554C0 */ _t30 = _t29 & 0x00000001u;
|
|
/* 02C554C0 */ if (_t30) goto L_02C554C8; else goto L_02C554C4;
|
|
L_02C554C4: ; // 0x2c554c4
|
|
/* 02C554C4 */ cpu->r[5] = cpu->r[4] + cpu->r[0];
|
|
L_02C554C8: ; // 0x2c554c8
|
|
/* 02C554C8 */ cpu->r[0] = 0x00000003u;
|
|
/* 02C554CC */ cpu->r[6] = 0x00000000u;
|
|
/* 02C554D0 */ cpu->r[8] = rbrew_rlwinm(cpu->r[10], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02C554D4 */ cpu->ctr = cpu->r[0];
|
|
/* 02C554D8 */ cpu->r[7] = cpu->r[5] + cpu->r[8];
|
|
L_02C554DC: ; // 0x2c554dc
|
|
/* 02C554DC */ _t31 = cpu->r[7] + cpu->r[6];
|
|
/* 02C554DC */ cpu->r[6] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02C554E0 */ cpu->r[12] = cpu->r[31] + 0x00000010u;
|
|
/* 02C554E4 */ _t32 = cpu->r[12] + cpu->r[6];
|
|
/* 02C554E4 */ rbrew_write32(cpu->mem, _t32, cpu->r[6]);
|
|
/* 02C554E8 */ cpu->r[6] = cpu->r[6] + 0x00000004u;
|
|
/* 02C554EC */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02C554EC */ _t33 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02C554EC */ _t34 = _t33 >> (0x00000002u & 31u);
|
|
/* 02C554EC */ _t35 = _t34 & 0x00000001u;
|
|
/* 02C554EC */ if (_t35) goto L_02C554DC; else goto L_02C554F0;
|
|
L_02C554F0: ; // 0x2c554f0
|
|
/* 02C554F0 */ cpu->r[0] = (uint32_t)((int32_t)cpu->r[11] * (int32_t)0x0000000Cu);
|
|
/* 02C554F4 */ _t36 = cpu->r[24] + 0x00000000u;
|
|
/* 02C554F4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t36);
|
|
/* 02C554F8 */ cpu->f[1] = cpu->f[31];
|
|
/* 02C554FC */ cpu->r[4] = cpu->r[31];
|
|
/* 02C55500 */ cpu->r[5] = cpu->r[9] + cpu->r[0];
|
|
/* 02C55504 */ Gambit_fn_02C6478C(cpu);
|
|
/* 02C55508 */ _t37 = cpu->r[27] + 0x00000058u;
|
|
/* 02C55508 */ cpu->r[7] = rbrew_read32(cpu->mem, _t37);
|
|
/* 02C5550C */ _t38 = cpu->r[31] + 0x00000018u;
|
|
/* 02C5550C */ cpu->f[6] = rbrew_read_f32(cpu->mem, _t38);
|
|
/* 02C55510 */ cpu->r[8] = cpu->r[7] + cpu->r[30];
|
|
/* 02C55514 */ _t39 = cpu->r[31] + 0x00000010u;
|
|
/* 02C55514 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t39);
|
|
/* 02C55518 */ _t40 = cpu->r[8] + 0x0000000Cu;
|
|
/* 02C55518 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t40);
|
|
/* 02C5551C */ _t41 = cpu->r[8] + 0x00000004u;
|
|
/* 02C5551C */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t41);
|
|
/* 02C55520 */ cpu->f[13] = cpu->f[12] * cpu->f[10];
|
|
/* 02C55524 */ _t42 = cpu->r[8] + 0x00000008u;
|
|
/* 02C55524 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t42);
|
|
/* 02C55528 */ cpu->f[0] = fma(cpu->f[6], cpu->f[11], cpu->f[13]);
|
|
/* 02C5552C */ _t43 = cpu->r[31] + 0x00000014u;
|
|
/* 02C5552C */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t43);
|
|
/* 02C55530 */ cpu->f[5] = -fma(cpu->f[13], cpu->f[8], -(cpu->f[0]));
|
|
/* 02C55534 */ cpu->f[7] = cpu->f[12] * cpu->f[13];
|
|
/* 02C55538 */ _t44 = cpu->r[1] + 0x00000008u;
|
|
/* 02C55538 */ rbrew_write_f32(cpu->mem, _t44, cpu->f[5]);
|
|
/* 02C5553C */ cpu->f[9] = fma(cpu->f[10], cpu->f[8], cpu->f[7]);
|
|
/* 02C55540 */ _t45 = cpu->r[8] + 0x00000000u;
|
|
/* 02C55540 */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t45);
|
|
/* 02C55544 */ cpu->f[4] = -fma(cpu->f[6], cpu->f[7], -(cpu->f[9]));
|
|
/* 02C55548 */ cpu->f[11] = cpu->f[12] * cpu->f[6];
|
|
/* 02C5554C */ _t46 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C5554C */ rbrew_write_f32(cpu->mem, _t46, cpu->f[4]);
|
|
/* 02C55550 */ _t47 = cpu->r[8] + 0x00000004u;
|
|
/* 02C55550 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t47);
|
|
/* 02C55554 */ cpu->f[12] = fma(cpu->f[13], cpu->f[7], cpu->f[11]);
|
|
/* 02C55558 */ cpu->f[3] = -fma(cpu->f[10], cpu->f[0], -(cpu->f[12]));
|
|
/* 02C5555C */ cpu->f[9] = cpu->f[13] * cpu->f[0];
|
|
/* 02C55560 */ _t48 = cpu->r[1] + 0x00000010u;
|
|
/* 02C55560 */ rbrew_write_f32(cpu->mem, _t48, cpu->f[3]);
|
|
/* 02C55564 */ _t49 = cpu->r[8] + 0x00000008u;
|
|
/* 02C55564 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t49);
|
|
/* 02C55568 */ cpu->f[13] = fma(cpu->f[10], cpu->f[7], cpu->f[9]);
|
|
/* 02C5556C */ cpu->f[9] = cpu->f[8] * cpu->f[4];
|
|
/* 02C55570 */ cpu->f[2] = fma(cpu->f[6], cpu->f[8], cpu->f[13]);
|
|
/* 02C55574 */ cpu->f[11] = fma(cpu->f[0], cpu->f[3], -(cpu->f[9]));
|
|
/* 02C55578 */ _t50 = cpu->r[1] + 0x00000014u;
|
|
/* 02C55578 */ rbrew_write_f32(cpu->mem, _t50, cpu->f[2]);
|
|
/* 02C5557C */ cpu->f[12] = fma(cpu->f[2], cpu->f[7], cpu->f[11]);
|
|
/* 02C55580 */ _t51 = cpu->r[8] + 0x0000000Cu;
|
|
/* 02C55580 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t51);
|
|
/* 02C55584 */ cpu->f[7] = fma(cpu->f[0], cpu->f[5], cpu->f[12]);
|
|
/* 02C55588 */ _t52 = cpu->r[31] + 0x00000010u;
|
|
/* 02C55588 */ rbrew_write_f32(cpu->mem, _t52, cpu->f[7]);
|
|
/* 02C5558C */ _t53 = cpu->r[8] + 0x00000000u;
|
|
/* 02C5558C */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t53);
|
|
/* 02C55590 */ _t54 = cpu->r[8] + 0x00000008u;
|
|
/* 02C55590 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t54);
|
|
/* 02C55594 */ cpu->f[0] = cpu->f[11] * cpu->f[3];
|
|
/* 02C55598 */ cpu->f[6] = fma(cpu->f[13], cpu->f[5], -(cpu->f[0]));
|
|
/* 02C5559C */ _t55 = cpu->r[8] + 0x00000004u;
|
|
/* 02C5559C */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t55);
|
|
/* 02C555A0 */ cpu->f[11] = fma(cpu->f[2], cpu->f[9], cpu->f[6]);
|
|
/* 02C555A4 */ _t56 = cpu->r[8] + 0x0000000Cu;
|
|
/* 02C555A4 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t56);
|
|
/* 02C555A8 */ cpu->f[6] = fma(cpu->f[13], cpu->f[4], cpu->f[11]);
|
|
/* 02C555AC */ _t57 = cpu->r[31] + 0x00000014u;
|
|
/* 02C555AC */ rbrew_write_f32(cpu->mem, _t57, cpu->f[6]);
|
|
/* 02C555B0 */ _t58 = cpu->r[8] + 0x00000004u;
|
|
/* 02C555B0 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t58);
|
|
/* 02C555B4 */ _t59 = cpu->r[8] + 0x00000000u;
|
|
/* 02C555B4 */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t59);
|
|
/* 02C555B8 */ cpu->f[8] = cpu->f[9] * cpu->f[5];
|
|
/* 02C555BC */ cpu->f[10] = fma(cpu->f[7], cpu->f[4], -(cpu->f[8]));
|
|
/* 02C555C0 */ _t60 = cpu->r[8] + 0x00000008u;
|
|
/* 02C555C0 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t60);
|
|
/* 02C555C4 */ cpu->f[12] = fma(cpu->f[2], cpu->f[11], cpu->f[10]);
|
|
/* 02C555C8 */ _t61 = cpu->r[8] + 0x0000000Cu;
|
|
/* 02C555C8 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t61);
|
|
/* 02C555CC */ cpu->f[0] = fma(cpu->f[13], cpu->f[3], cpu->f[12]);
|
|
/* 02C555D0 */ cpu->r[28] = cpu->r[28] + 0x00000018u;
|
|
/* 02C555D4 */ cpu->r[25] = cpu->r[25] + 0xFFFFFFFFu;
|
|
/* 02C555D4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000000u);
|
|
/* 02C555D8 */ cpu->r[30] = cpu->r[30] + 0x00000010u;
|
|
/* 02C555DC */ _t62 = cpu->r[31] + 0x00000018u;
|
|
/* 02C555DC */ rbrew_write_f32(cpu->mem, _t62, cpu->f[0]);
|
|
/* 02C555E0 */ cpu->r[31] = cpu->r[31] + 0x00000030u;
|
|
/* 02C555E4 */ cpu->r[29] = cpu->r[29] + 0x00000004u;
|
|
/* 02C555E8 */ _t63 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C555E8 */ _t64 = _t63 & 0x00000001u;
|
|
/* 02C555E8 */ if (_t64) goto L_02C555EC; else goto L_02C55474;
|
|
L_02C555EC: ; // 0x2c555ec
|
|
/* 02C555EC */ goto L_02C55620;
|
|
L_02C555F0: ; // 0x2c555f0
|
|
/* 02C555F0 */ cpu->r[0] = (uint32_t)((int32_t)cpu->r[11] * (int32_t)0x0000000Cu);
|
|
/* 02C555F4 */ _t65 = cpu->r[24] + 0x00000000u;
|
|
/* 02C555F4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t65);
|
|
/* 02C555F8 */ cpu->f[1] = cpu->f[31];
|
|
/* 02C555FC */ cpu->r[4] = cpu->r[31];
|
|
/* 02C55600 */ cpu->r[5] = cpu->r[12] + cpu->r[0];
|
|
/* 02C55604 */ Gambit_fn_02C6478C(cpu);
|
|
L_02C55608: ; // 0x2c55608
|
|
/* 02C55608 */ cpu->r[28] = cpu->r[28] + 0x00000018u;
|
|
/* 02C5560C */ cpu->r[31] = cpu->r[31] + 0x00000030u;
|
|
/* 02C55610 */ cpu->r[25] = cpu->r[25] + 0xFFFFFFFFu;
|
|
/* 02C55610 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000000u);
|
|
/* 02C55614 */ cpu->r[30] = cpu->r[30] + 0x00000010u;
|
|
/* 02C55618 */ cpu->r[29] = cpu->r[29] + 0x00000004u;
|
|
/* 02C5561C */ _t66 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C5561C */ _t67 = _t66 & 0x00000001u;
|
|
/* 02C5561C */ if (_t67) goto L_02C55620; else goto L_02C55474;
|
|
L_02C55620: ; // 0x2c55620
|
|
/* 02C55620 */ /* nop */
|
|
/* 02C55624 */ _t68 = cpu->r[1] + 0x00000058u;
|
|
/* 02C55624 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t68);
|
|
/* 02C55628 */ _t69 = cpu->r[1] + 0x00000050u;
|
|
/* 02C55628 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t69);
|
|
/* 02C5562C */ _t70 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C5562C */ _t71 = _t70 & 0x00000001u;
|
|
/* 02C5562C */ if (_t71) goto L_02C55630; // else: addr-0 trap, fall-through
|
|
L_02C55630: ; // 0x2c55630
|
|
/* 02C55630 */ _t72 = cpu->r[1] + 0x00000064u;
|
|
/* 02C55630 */ cpu->r[0] = rbrew_read32(cpu->mem, _t72);
|
|
/* 02C55634 */ cpu->lr = cpu->r[0];
|
|
/* 02C55638 */ cpu->r[1] = cpu->r[1] + 0x00000060u;
|
|
/* 02C5563C */ return;
|
|
L_02C55640: ; // 0x2c55640
|
|
/* 02C55640 */ _t73 = cpu->r[26] + 0x00000008u;
|
|
/* 02C55640 */ cpu->r[25] = rbrew_read16(cpu->mem, _t73);
|
|
/* 02C55644 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000000u);
|
|
/* 02C55648 */ _t74 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C55648 */ _t75 = _t74 & 0x00000001u;
|
|
/* 02C55648 */ if (_t75) goto L_02C557E0; else goto L_02C5564C;
|
|
L_02C5564C: ; // 0x2c5564c
|
|
/* 02C5564C */ cpu->r[28] = 0x00000000u;
|
|
/* 02C55650 */ cpu->r[29] = cpu->r[28];
|
|
/* 02C55654 */ cpu->r[30] = cpu->r[28];
|
|
L_02C55658: ; // 0x2c55658
|
|
/* 02C55658 */ _t76 = cpu->r[26] + 0x00000000u;
|
|
/* 02C55658 */ cpu->r[6] = rbrew_read32(cpu->mem, _t76);
|
|
/* 02C5565C */ _t77 = cpu->r[6] + cpu->r[29];
|
|
/* 02C5565C */ cpu->r[9] = rbrew_read32(cpu->mem, _t77);
|
|
/* 02C55660 */ cpu->r[0] = rbrew_rlwinm(cpu->r[9], 0x00000002u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02C55664 */ cpu->r[4] = cpu->r[0] ^ 0x00000001u;
|
|
/* 02C55668 */ cpu->r[5] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 02C55668 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u);
|
|
/* 02C5566C */ _t78 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C5566C */ _t79 = _t78 & 0x00000001u;
|
|
/* 02C5566C */ if (_t79) goto L_02C557C8; else goto L_02C55670;
|
|
L_02C55670: ; // 0x2c55670
|
|
/* 02C55670 */ _t80 = cpu->r[27] + 0x00000048u;
|
|
/* 02C55670 */ cpu->r[6] = rbrew_read32(cpu->mem, _t80);
|
|
/* 02C55674 */ _t81 = cpu->r[6] + cpu->r[28];
|
|
/* 02C55674 */ cpu->r[8] = rbrew_read32(cpu->mem, _t81);
|
|
/* 02C55678 */ cpu->r[7] = rbrew_rlwinm(cpu->r[8], 0x00000000u, 0x00000010u, 0x00000012u);
|
|
/* 02C55678 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 02C5567C */ cpu->r[3] = cpu->r[6] + cpu->r[28];
|
|
/* 02C55680 */ _t82 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C55680 */ _t83 = _t82 & 0x00000001u;
|
|
/* 02C55680 */ if (_t83) goto L_02C557BC; else goto L_02C55684;
|
|
L_02C55684: ; // 0x2c55684
|
|
/* 02C55684 */ _t84 = cpu->r[3] + 0x00000014u;
|
|
/* 02C55684 */ cpu->r[12] = rbrew_read32(cpu->mem, _t84);
|
|
/* 02C55688 */ cpu->r[4] = cpu->r[3] + 0x00000014u;
|
|
/* 02C5568C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02C55690 */ cpu->r[6] = 0x00000000u;
|
|
/* 02C55694 */ _t85 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C55694 */ _t86 = _t85 & 0x00000001u;
|
|
/* 02C55694 */ if (_t86) goto L_02C5569C; else goto L_02C55698;
|
|
L_02C55698: ; // 0x2c55698
|
|
/* 02C55698 */ cpu->r[6] = cpu->r[4] + cpu->r[12];
|
|
L_02C5569C: ; // 0x2c5569c
|
|
/* 02C5569C */ cpu->r[0] = 0x00000003u;
|
|
/* 02C556A0 */ _t87 = cpu->r[3] + 0x0000000Bu;
|
|
/* 02C556A0 */ cpu->r[12] = rbrew_read8(cpu->mem, _t87);
|
|
/* 02C556A4 */ cpu->ctr = cpu->r[0];
|
|
/* 02C556A8 */ cpu->r[9] = rbrew_rlwinm(cpu->r[12], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02C556AC */ cpu->r[7] = cpu->r[6] + cpu->r[9];
|
|
/* 02C556B0 */ cpu->r[10] = 0x00000000u;
|
|
L_02C556B4: ; // 0x2c556b4
|
|
/* 02C556B4 */ _t88 = cpu->r[7] + cpu->r[10];
|
|
/* 02C556B4 */ cpu->r[7] = rbrew_read32(cpu->mem, _t88);
|
|
/* 02C556B8 */ cpu->r[4] = cpu->r[31] + 0x00000010u;
|
|
/* 02C556BC */ _t89 = cpu->r[4] + cpu->r[10];
|
|
/* 02C556BC */ rbrew_write32(cpu->mem, _t89, cpu->r[7]);
|
|
/* 02C556C0 */ cpu->r[10] = cpu->r[10] + 0x00000004u;
|
|
/* 02C556C4 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02C556C4 */ _t90 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02C556C4 */ _t91 = _t90 >> (0x00000002u & 31u);
|
|
/* 02C556C4 */ _t92 = _t91 & 0x00000001u;
|
|
/* 02C556C4 */ if (_t92) goto L_02C556B4; else goto L_02C556C8;
|
|
L_02C556C8: ; // 0x2c556c8
|
|
/* 02C556C8 */ cpu->f[1] = cpu->f[31];
|
|
/* 02C556CC */ cpu->r[4] = cpu->r[31];
|
|
/* 02C556D0 */ Gambit_fn_02C646DC(cpu);
|
|
/* 02C556D4 */ _t93 = cpu->r[27] + 0x00000058u;
|
|
/* 02C556D4 */ cpu->r[5] = rbrew_read32(cpu->mem, _t93);
|
|
/* 02C556D8 */ _t94 = cpu->r[31] + 0x00000018u;
|
|
/* 02C556D8 */ cpu->f[5] = rbrew_read_f32(cpu->mem, _t94);
|
|
/* 02C556DC */ cpu->r[10] = cpu->r[5] + cpu->r[30];
|
|
/* 02C556E0 */ _t95 = cpu->r[31] + 0x00000010u;
|
|
/* 02C556E0 */ cpu->f[6] = rbrew_read_f32(cpu->mem, _t95);
|
|
/* 02C556E4 */ _t96 = cpu->r[10] + 0x0000000Cu;
|
|
/* 02C556E4 */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t96);
|
|
/* 02C556E8 */ _t97 = cpu->r[10] + 0x00000004u;
|
|
/* 02C556E8 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t97);
|
|
/* 02C556EC */ cpu->f[9] = cpu->f[7] * cpu->f[6];
|
|
/* 02C556F0 */ _t98 = cpu->r[31] + 0x00000014u;
|
|
/* 02C556F0 */ cpu->f[4] = rbrew_read_f32(cpu->mem, _t98);
|
|
/* 02C556F4 */ cpu->f[10] = fma(cpu->f[5], cpu->f[8], cpu->f[9]);
|
|
/* 02C556F8 */ _t99 = cpu->r[10] + 0x00000008u;
|
|
/* 02C556F8 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t99);
|
|
/* 02C556FC */ cpu->f[10] = -fma(cpu->f[4], cpu->f[9], -(cpu->f[10]));
|
|
/* 02C55700 */ cpu->f[11] = cpu->f[7] * cpu->f[4];
|
|
/* 02C55704 */ _t100 = cpu->r[1] + 0x00000018u;
|
|
/* 02C55704 */ rbrew_write_f32(cpu->mem, _t100, cpu->f[10]);
|
|
/* 02C55708 */ _t101 = cpu->r[10] + 0x00000000u;
|
|
/* 02C55708 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t101);
|
|
/* 02C5570C */ cpu->f[12] = fma(cpu->f[6], cpu->f[9], cpu->f[11]);
|
|
/* 02C55710 */ cpu->f[11] = -fma(cpu->f[5], cpu->f[8], -(cpu->f[12]));
|
|
/* 02C55714 */ cpu->f[13] = cpu->f[7] * cpu->f[5];
|
|
/* 02C55718 */ _t102 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C55718 */ rbrew_write_f32(cpu->mem, _t102, cpu->f[11]);
|
|
/* 02C5571C */ _t103 = cpu->r[10] + 0x00000004u;
|
|
/* 02C5571C */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t103);
|
|
/* 02C55720 */ cpu->f[0] = fma(cpu->f[4], cpu->f[8], cpu->f[13]);
|
|
/* 02C55724 */ cpu->f[7] = -fma(cpu->f[6], cpu->f[12], -(cpu->f[0]));
|
|
/* 02C55728 */ cpu->f[0] = cpu->f[4] * cpu->f[12];
|
|
/* 02C5572C */ _t104 = cpu->r[1] + 0x00000020u;
|
|
/* 02C5572C */ rbrew_write_f32(cpu->mem, _t104, cpu->f[7]);
|
|
/* 02C55730 */ _t105 = cpu->r[10] + 0x00000008u;
|
|
/* 02C55730 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t105);
|
|
/* 02C55734 */ cpu->f[6] = fma(cpu->f[6], cpu->f[8], cpu->f[0]);
|
|
/* 02C55738 */ cpu->f[13] = cpu->f[9] * cpu->f[11];
|
|
/* 02C5573C */ cpu->f[6] = fma(cpu->f[5], cpu->f[9], cpu->f[6]);
|
|
/* 02C55740 */ cpu->f[0] = fma(cpu->f[12], cpu->f[7], -(cpu->f[13]));
|
|
/* 02C55744 */ _t106 = cpu->r[1] + 0x00000024u;
|
|
/* 02C55744 */ rbrew_write_f32(cpu->mem, _t106, cpu->f[6]);
|
|
/* 02C55748 */ cpu->f[8] = fma(cpu->f[6], cpu->f[8], cpu->f[0]);
|
|
/* 02C5574C */ _t107 = cpu->r[10] + 0x0000000Cu;
|
|
/* 02C5574C */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t107);
|
|
/* 02C55750 */ cpu->f[12] = fma(cpu->f[9], cpu->f[10], cpu->f[8]);
|
|
/* 02C55754 */ _t108 = cpu->r[31] + 0x00000010u;
|
|
/* 02C55754 */ rbrew_write_f32(cpu->mem, _t108, cpu->f[12]);
|
|
/* 02C55758 */ _t109 = cpu->r[10] + 0x00000000u;
|
|
/* 02C55758 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t109);
|
|
/* 02C5575C */ _t110 = cpu->r[10] + 0x00000008u;
|
|
/* 02C5575C */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t110);
|
|
/* 02C55760 */ cpu->f[0] = cpu->f[8] * cpu->f[7];
|
|
/* 02C55764 */ cpu->f[9] = fma(cpu->f[13], cpu->f[10], -(cpu->f[0]));
|
|
/* 02C55768 */ _t111 = cpu->r[10] + 0x00000004u;
|
|
/* 02C55768 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t111);
|
|
/* 02C5576C */ cpu->f[13] = fma(cpu->f[6], cpu->f[12], cpu->f[9]);
|
|
/* 02C55770 */ _t112 = cpu->r[10] + 0x0000000Cu;
|
|
/* 02C55770 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t112);
|
|
/* 02C55774 */ cpu->f[8] = fma(cpu->f[0], cpu->f[11], cpu->f[13]);
|
|
/* 02C55778 */ _t113 = cpu->r[31] + 0x00000014u;
|
|
/* 02C55778 */ rbrew_write_f32(cpu->mem, _t113, cpu->f[8]);
|
|
/* 02C5577C */ _t114 = cpu->r[10] + 0x00000004u;
|
|
/* 02C5577C */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t114);
|
|
/* 02C55780 */ _t115 = cpu->r[10] + 0x00000000u;
|
|
/* 02C55780 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t115);
|
|
/* 02C55784 */ cpu->f[10] = cpu->f[12] * cpu->f[10];
|
|
/* 02C55788 */ cpu->f[13] = fma(cpu->f[9], cpu->f[11], -(cpu->f[10]));
|
|
/* 02C5578C */ _t116 = cpu->r[10] + 0x00000008u;
|
|
/* 02C5578C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t116);
|
|
/* 02C55790 */ cpu->f[8] = fma(cpu->f[6], cpu->f[0], cpu->f[13]);
|
|
/* 02C55794 */ _t117 = cpu->r[10] + 0x0000000Cu;
|
|
/* 02C55794 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t117);
|
|
/* 02C55798 */ cpu->f[10] = fma(cpu->f[9], cpu->f[7], cpu->f[8]);
|
|
/* 02C5579C */ cpu->r[28] = cpu->r[28] + 0x00000018u;
|
|
/* 02C557A0 */ cpu->r[25] = cpu->r[25] + 0xFFFFFFFFu;
|
|
/* 02C557A0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000000u);
|
|
/* 02C557A4 */ cpu->r[30] = cpu->r[30] + 0x00000010u;
|
|
/* 02C557A8 */ _t118 = cpu->r[31] + 0x00000018u;
|
|
/* 02C557A8 */ rbrew_write_f32(cpu->mem, _t118, cpu->f[10]);
|
|
/* 02C557AC */ cpu->r[31] = cpu->r[31] + 0x00000030u;
|
|
/* 02C557B0 */ cpu->r[29] = cpu->r[29] + 0x00000004u;
|
|
/* 02C557B4 */ _t119 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C557B4 */ _t120 = _t119 & 0x00000001u;
|
|
/* 02C557B4 */ if (_t120) goto L_02C557B8; else goto L_02C55658;
|
|
L_02C557B8: ; // 0x2c557b8
|
|
/* 02C557B8 */ goto L_02C557E0;
|
|
L_02C557BC: ; // 0x2c557bc
|
|
/* 02C557BC */ cpu->f[1] = cpu->f[31];
|
|
/* 02C557C0 */ cpu->r[4] = cpu->r[31];
|
|
/* 02C557C4 */ Gambit_fn_02C646DC(cpu);
|
|
L_02C557C8: ; // 0x2c557c8
|
|
/* 02C557C8 */ cpu->r[31] = cpu->r[31] + 0x00000030u;
|
|
/* 02C557CC */ cpu->r[28] = cpu->r[28] + 0x00000018u;
|
|
/* 02C557D0 */ cpu->r[25] = cpu->r[25] + 0xFFFFFFFFu;
|
|
/* 02C557D0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000000u);
|
|
/* 02C557D4 */ cpu->r[30] = cpu->r[30] + 0x00000010u;
|
|
/* 02C557D8 */ cpu->r[29] = cpu->r[29] + 0x00000004u;
|
|
/* 02C557DC */ _t121 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C557DC */ _t122 = _t121 & 0x00000001u;
|
|
/* 02C557DC */ if (_t122) goto L_02C557E0; else goto L_02C55658;
|
|
L_02C557E0: ; // 0x2c557e0
|
|
/* 02C557E0 */ /* nop */
|
|
/* 02C557E4 */ _t123 = cpu->r[1] + 0x00000058u;
|
|
/* 02C557E4 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t123);
|
|
/* 02C557E8 */ _t124 = cpu->r[1] + 0x00000050u;
|
|
/* 02C557E8 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t124);
|
|
/* 02C557EC */ _t125 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C557EC */ _t126 = _t125 & 0x00000001u;
|
|
/* 02C557EC */ if (_t126) goto L_02C557F0; // else: addr-0 trap, fall-through
|
|
L_02C557F0: ; // 0x2c557f0
|
|
/* 02C557F0 */ _t127 = cpu->r[1] + 0x00000064u;
|
|
/* 02C557F0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t127);
|
|
/* 02C557F4 */ cpu->lr = cpu->r[0];
|
|
/* 02C557F8 */ cpu->r[1] = cpu->r[1] + 0x00000060u;
|
|
/* 02C557FC */ return;
|
|
}
|
|
|
|
// fn_02C55800 @ 0x2c55800
|
|
void Gambit_fn_02C55800(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;
|
|
|
|
L_02C55800: ; // 0x2c55800
|
|
/* 02C55800 */ _t0 = cpu->r[1] + 0xFFFFFFC8u;
|
|
/* 02C55800 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C55800 */ cpu->r[1] = _t0;
|
|
/* 02C55804 */ /* nop */
|
|
/* 02C55808 */ _t1 = cpu->r[1] + 0x00000028u;
|
|
/* 02C55808 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[31]);
|
|
/* 02C5580C */ /* nop */
|
|
/* 02C55810 */ _t2 = cpu->r[1] + 0x00000030u;
|
|
/* 02C55810 */ rbrew_write_f32(cpu->mem, _t2, cpu->f[31]);
|
|
/* 02C55814 */ cpu->r[0] = cpu->lr;
|
|
/* 02C55818 */ _t3 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02C55818 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02C5581C */ cpu->r[30] = cpu->r[3];
|
|
/* 02C55820 */ _t4 = cpu->r[30] + 0x00000024u;
|
|
/* 02C55820 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02C55824 */ _t5 = cpu->r[30] + 0x00000000u;
|
|
/* 02C55824 */ cpu->r[11] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02C55828 */ cpu->r[25] = cpu->r[30] + 0x0000001Cu;
|
|
/* 02C5582C */ _t6 = cpu->r[30] + 0x00000050u;
|
|
/* 02C5582C */ cpu->r[9] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02C55830 */ cpu->r[27] = cpu->r[30] + 0x00000038u;
|
|
/* 02C55834 */ _t7 = cpu->r[30] + 0x0000002Cu;
|
|
/* 02C55834 */ cpu->r[31] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02C55838 */ cpu->r[9] = cpu->r[9] | 0x00000008u;
|
|
/* 02C5583C */ _t8 = cpu->r[11] + 0x00000000u;
|
|
/* 02C5583C */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t8);
|
|
/* 02C55840 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C55844 */ _t9 = cpu->r[30] + 0x00000050u;
|
|
/* 02C55844 */ rbrew_write32(cpu->mem, _t9, cpu->r[9]);
|
|
/* 02C55848 */ _t10 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C55848 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02C55848 */ if (_t11) goto L_02C5584C; else goto L_02C558E8;
|
|
L_02C5584C: ; // 0x2c5584c
|
|
/* 02C5584C */ _t12 = cpu->r[25] + 0x00000004u;
|
|
/* 02C5584C */ cpu->r[10] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02C55850 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], cpu->r[10]);
|
|
/* 02C55854 */ _t13 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C55854 */ _t14 = _t13 & 0x00000001u;
|
|
/* 02C55854 */ if (_t14) goto L_02C558E8; else goto L_02C55858;
|
|
L_02C55858: ; // 0x2c55858
|
|
/* 02C55858 */ _t15 = cpu->r[27] + 0x00000008u;
|
|
/* 02C55858 */ cpu->r[26] = rbrew_read16(cpu->mem, _t15);
|
|
/* 02C5585C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u);
|
|
/* 02C55860 */ cpu->r[24] = 0x00000000u;
|
|
/* 02C55864 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C55864 */ _t17 = _t16 & 0x00000001u;
|
|
/* 02C55864 */ if (_t17) goto L_02C5593C; else goto L_02C55868;
|
|
L_02C55868: ; // 0x2c55868
|
|
/* 02C55868 */ cpu->r[28] = 0x00000000u;
|
|
/* 02C5586C */ cpu->r[29] = cpu->r[28];
|
|
L_02C55870: ; // 0x2c55870
|
|
/* 02C55870 */ _t18 = cpu->r[27] + 0x00000000u;
|
|
/* 02C55870 */ cpu->r[10] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02C55874 */ _t19 = cpu->r[30] + 0x00000048u;
|
|
/* 02C55874 */ cpu->r[11] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02C55878 */ _t20 = cpu->r[10] + cpu->r[29];
|
|
/* 02C55878 */ cpu->r[12] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02C5587C */ cpu->r[3] = cpu->r[11] + cpu->r[28];
|
|
/* 02C55880 */ cpu->r[0] = rbrew_rlwinm(cpu->r[12], 0x00000002u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02C55884 */ _t21 = cpu->r[3] + 0x0000000Au;
|
|
/* 02C55884 */ cpu->r[12] = rbrew_read8(cpu->mem, _t21);
|
|
/* 02C55888 */ cpu->r[0] = cpu->r[0] ^ 0x00000001u;
|
|
/* 02C5588C */ cpu->r[6] = cpu->r[24];
|
|
/* 02C55890 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 02C55890 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C55894 */ cpu->r[24] = cpu->r[24] + cpu->r[12];
|
|
/* 02C55898 */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C55898 */ _t23 = _t22 & 0x00000001u;
|
|
/* 02C55898 */ if (_t23) goto L_02C558B4; else goto L_02C5589C;
|
|
L_02C5589C: ; // 0x2c5589c
|
|
/* 02C5589C */ cpu->r[0] = (uint32_t)((int32_t)cpu->r[6] * (int32_t)0x0000000Cu);
|
|
/* 02C558A0 */ _t24 = cpu->r[25] + 0x00000000u;
|
|
/* 02C558A0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02C558A4 */ cpu->f[1] = cpu->f[31];
|
|
/* 02C558A8 */ cpu->r[4] = cpu->r[31];
|
|
/* 02C558AC */ cpu->r[5] = cpu->r[9] + cpu->r[0];
|
|
/* 02C558B0 */ Gambit_fn_02C6478C(cpu);
|
|
L_02C558B4: ; // 0x2c558b4
|
|
/* 02C558B4 */ cpu->r[28] = cpu->r[28] + 0x00000018u;
|
|
/* 02C558B8 */ cpu->r[26] = cpu->r[26] + 0xFFFFFFFFu;
|
|
/* 02C558B8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u);
|
|
/* 02C558BC */ cpu->r[29] = cpu->r[29] + 0x00000004u;
|
|
/* 02C558C0 */ cpu->r[31] = cpu->r[31] + 0x00000030u;
|
|
/* 02C558C4 */ _t25 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C558C4 */ _t26 = _t25 & 0x00000001u;
|
|
/* 02C558C4 */ if (_t26) goto L_02C558C8; else goto L_02C55870;
|
|
L_02C558C8: ; // 0x2c558c8
|
|
/* 02C558C8 */ /* nop */
|
|
/* 02C558CC */ _t27 = cpu->r[1] + 0x00000030u;
|
|
/* 02C558CC */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t27);
|
|
/* 02C558D0 */ _t28 = cpu->r[1] + 0x00000028u;
|
|
/* 02C558D0 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t28);
|
|
/* 02C558D4 */ _t29 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C558D4 */ _t30 = _t29 & 0x00000001u;
|
|
/* 02C558D4 */ if (_t30) goto L_02C558D8; // else: addr-0 trap, fall-through
|
|
L_02C558D8: ; // 0x2c558d8
|
|
/* 02C558D8 */ _t31 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02C558D8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02C558DC */ cpu->lr = cpu->r[0];
|
|
/* 02C558E0 */ cpu->r[1] = cpu->r[1] + 0x00000038u;
|
|
/* 02C558E4 */ return;
|
|
L_02C558E8: ; // 0x2c558e8
|
|
/* 02C558E8 */ _t32 = cpu->r[27] + 0x00000008u;
|
|
/* 02C558E8 */ cpu->r[26] = rbrew_read16(cpu->mem, _t32);
|
|
/* 02C558EC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u);
|
|
/* 02C558F0 */ _t33 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C558F0 */ _t34 = _t33 & 0x00000001u;
|
|
/* 02C558F0 */ if (_t34) goto L_02C5593C; else goto L_02C558F4;
|
|
L_02C558F4: ; // 0x2c558f4
|
|
/* 02C558F4 */ cpu->r[28] = 0x00000000u;
|
|
/* 02C558F8 */ cpu->r[29] = cpu->r[28];
|
|
L_02C558FC: ; // 0x2c558fc
|
|
/* 02C558FC */ _t35 = cpu->r[27] + 0x00000000u;
|
|
/* 02C558FC */ cpu->r[7] = rbrew_read32(cpu->mem, _t35);
|
|
/* 02C55900 */ _t36 = cpu->r[7] + cpu->r[29];
|
|
/* 02C55900 */ cpu->r[10] = rbrew_read32(cpu->mem, _t36);
|
|
/* 02C55904 */ cpu->r[0] = rbrew_rlwinm(cpu->r[10], 0x00000002u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02C55908 */ cpu->r[12] = cpu->r[0] ^ 0x00000001u;
|
|
/* 02C5590C */ cpu->r[0] = rbrew_rlwinm(cpu->r[12], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 02C5590C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C55910 */ _t37 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C55910 */ _t38 = _t37 & 0x00000001u;
|
|
/* 02C55910 */ if (_t38) goto L_02C55928; else goto L_02C55914;
|
|
L_02C55914: ; // 0x2c55914
|
|
/* 02C55914 */ _t39 = cpu->r[30] + 0x00000048u;
|
|
/* 02C55914 */ cpu->r[7] = rbrew_read32(cpu->mem, _t39);
|
|
/* 02C55918 */ cpu->f[1] = cpu->f[31];
|
|
/* 02C5591C */ cpu->r[4] = cpu->r[31];
|
|
/* 02C55920 */ cpu->r[3] = cpu->r[7] + cpu->r[28];
|
|
/* 02C55924 */ Gambit_fn_02C646DC(cpu);
|
|
L_02C55928: ; // 0x2c55928
|
|
/* 02C55928 */ cpu->r[31] = cpu->r[31] + 0x00000030u;
|
|
/* 02C5592C */ cpu->r[26] = cpu->r[26] + 0xFFFFFFFFu;
|
|
/* 02C5592C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u);
|
|
/* 02C55930 */ cpu->r[29] = cpu->r[29] + 0x00000004u;
|
|
/* 02C55934 */ cpu->r[28] = cpu->r[28] + 0x00000018u;
|
|
/* 02C55938 */ _t40 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C55938 */ _t41 = _t40 & 0x00000001u;
|
|
/* 02C55938 */ if (_t41) goto L_02C5593C; else goto L_02C558FC;
|
|
L_02C5593C: ; // 0x2c5593c
|
|
/* 02C5593C */ /* nop */
|
|
/* 02C55940 */ _t42 = cpu->r[1] + 0x00000030u;
|
|
/* 02C55940 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t42);
|
|
/* 02C55944 */ _t43 = cpu->r[1] + 0x00000028u;
|
|
/* 02C55944 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t43);
|
|
/* 02C55948 */ _t44 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C55948 */ _t45 = _t44 & 0x00000001u;
|
|
/* 02C55948 */ if (_t45) goto L_02C5594C; // else: addr-0 trap, fall-through
|
|
L_02C5594C: ; // 0x2c5594c
|
|
/* 02C5594C */ _t46 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02C5594C */ cpu->r[0] = rbrew_read32(cpu->mem, _t46);
|
|
/* 02C55950 */ cpu->lr = cpu->r[0];
|
|
/* 02C55954 */ cpu->r[1] = cpu->r[1] + 0x00000038u;
|
|
/* 02C55958 */ return;
|
|
}
|
|
|
|
// fn_02C5595C @ 0x2c5595c
|
|
void Gambit_fn_02C5595C(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;
|
|
|
|
L_02C5595C: ; // 0x2c5595c
|
|
/* 02C5595C */ _t0 = cpu->r[1] + 0xFFFFFFA0u;
|
|
/* 02C5595C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C5595C */ cpu->r[1] = _t0;
|
|
/* 02C55960 */ /* nop */
|
|
/* 02C55964 */ _t1 = cpu->r[1] + 0x00000050u;
|
|
/* 02C55964 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[31]);
|
|
/* 02C55968 */ /* nop */
|
|
/* 02C5596C */ _t2 = cpu->r[1] + 0x00000058u;
|
|
/* 02C5596C */ rbrew_write_f32(cpu->mem, _t2, cpu->f[31]);
|
|
/* 02C55970 */ cpu->r[0] = cpu->lr;
|
|
/* 02C55974 */ _t3 = cpu->r[1] + 0x00000064u;
|
|
/* 02C55974 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02C55978 */ cpu->r[27] = cpu->r[3];
|
|
/* 02C5597C */ _t4 = cpu->r[27] + 0x00000024u;
|
|
/* 02C5597C */ cpu->r[11] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02C55980 */ _t5 = cpu->r[27] + 0x00000000u;
|
|
/* 02C55980 */ cpu->r[10] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02C55984 */ cpu->r[24] = cpu->r[27] + 0x0000001Cu;
|
|
/* 02C55988 */ _t6 = cpu->r[27] + 0x00000050u;
|
|
/* 02C55988 */ cpu->r[9] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02C5598C */ cpu->r[26] = cpu->r[27] + 0x00000038u;
|
|
/* 02C55990 */ _t7 = cpu->r[27] + 0x0000002Cu;
|
|
/* 02C55990 */ cpu->r[31] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02C55994 */ cpu->r[9] = cpu->r[9] | 0x00000008u;
|
|
/* 02C55998 */ _t8 = cpu->r[10] + 0x00000000u;
|
|
/* 02C55998 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t8);
|
|
/* 02C5599C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02C559A0 */ _t9 = cpu->r[27] + 0x00000050u;
|
|
/* 02C559A0 */ rbrew_write32(cpu->mem, _t9, cpu->r[9]);
|
|
/* 02C559A4 */ _t10 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C559A4 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02C559A4 */ if (_t11) goto L_02C559A8; else goto L_02C55B9C;
|
|
L_02C559A8: ; // 0x2c559a8
|
|
/* 02C559A8 */ _t12 = cpu->r[24] + 0x00000004u;
|
|
/* 02C559A8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02C559AC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], cpu->r[0]);
|
|
/* 02C559B0 */ _t13 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C559B0 */ _t14 = _t13 & 0x00000001u;
|
|
/* 02C559B0 */ if (_t14) goto L_02C55B9C; else goto L_02C559B4;
|
|
L_02C559B4: ; // 0x2c559b4
|
|
/* 02C559B4 */ _t15 = cpu->r[26] + 0x00000008u;
|
|
/* 02C559B4 */ cpu->r[25] = rbrew_read16(cpu->mem, _t15);
|
|
/* 02C559B8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000000u);
|
|
/* 02C559BC */ cpu->r[23] = 0x00000000u;
|
|
/* 02C559C0 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C559C0 */ _t17 = _t16 & 0x00000001u;
|
|
/* 02C559C0 */ if (_t17) goto L_02C55D3C; else goto L_02C559C4;
|
|
L_02C559C4: ; // 0x2c559c4
|
|
/* 02C559C4 */ cpu->r[28] = 0x00000000u;
|
|
/* 02C559C8 */ cpu->r[29] = cpu->r[28];
|
|
/* 02C559CC */ cpu->r[30] = cpu->r[28];
|
|
L_02C559D0: ; // 0x2c559d0
|
|
/* 02C559D0 */ _t18 = cpu->r[26] + 0x00000000u;
|
|
/* 02C559D0 */ cpu->r[5] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02C559D4 */ _t19 = cpu->r[27] + 0x00000048u;
|
|
/* 02C559D4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02C559D8 */ _t20 = cpu->r[5] + cpu->r[29];
|
|
/* 02C559D8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02C559DC */ cpu->r[3] = cpu->r[11] + cpu->r[28];
|
|
/* 02C559E0 */ cpu->r[9] = rbrew_rlwinm(cpu->r[8], 0x00000002u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02C559E4 */ _t21 = cpu->r[3] + 0x0000000Au;
|
|
/* 02C559E4 */ cpu->r[12] = rbrew_read8(cpu->mem, _t21);
|
|
/* 02C559E8 */ cpu->r[0] = cpu->r[9] ^ 0x00000001u;
|
|
/* 02C559EC */ cpu->r[11] = cpu->r[23];
|
|
/* 02C559F0 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 02C559F0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C559F4 */ cpu->r[23] = cpu->r[23] + cpu->r[12];
|
|
/* 02C559F8 */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C559F8 */ _t23 = _t22 & 0x00000001u;
|
|
/* 02C559F8 */ if (_t23) goto L_02C55B64; else goto L_02C559FC;
|
|
L_02C559FC: ; // 0x2c559fc
|
|
/* 02C559FC */ _t24 = cpu->r[3] + 0x00000000u;
|
|
/* 02C559FC */ cpu->r[7] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02C55A00 */ cpu->r[5] = rbrew_rlwinm(cpu->r[7], 0x00000000u, 0x00000010u, 0x00000012u);
|
|
/* 02C55A00 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u);
|
|
/* 02C55A04 */ _t25 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C55A04 */ _t26 = _t25 & 0x00000001u;
|
|
/* 02C55A04 */ if (_t26) goto L_02C55B4C; else goto L_02C55A08;
|
|
L_02C55A08: ; // 0x2c55a08
|
|
/* 02C55A08 */ _t27 = cpu->r[3] + 0x00000014u;
|
|
/* 02C55A08 */ cpu->r[0] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02C55A0C */ cpu->r[4] = cpu->r[3] + 0x00000014u;
|
|
/* 02C55A10 */ cpu->r[5] = 0x00000000u;
|
|
/* 02C55A14 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C55A18 */ _t28 = cpu->r[3] + 0x0000000Bu;
|
|
/* 02C55A18 */ cpu->r[10] = rbrew_read8(cpu->mem, _t28);
|
|
/* 02C55A1C */ _t29 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C55A1C */ _t30 = _t29 & 0x00000001u;
|
|
/* 02C55A1C */ if (_t30) goto L_02C55A24; else goto L_02C55A20;
|
|
L_02C55A20: ; // 0x2c55a20
|
|
/* 02C55A20 */ cpu->r[5] = cpu->r[4] + cpu->r[0];
|
|
L_02C55A24: ; // 0x2c55a24
|
|
/* 02C55A24 */ cpu->r[0] = 0x00000003u;
|
|
/* 02C55A28 */ cpu->r[6] = 0x00000000u;
|
|
/* 02C55A2C */ cpu->r[8] = rbrew_rlwinm(cpu->r[10], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02C55A30 */ cpu->ctr = cpu->r[0];
|
|
/* 02C55A34 */ cpu->r[7] = cpu->r[5] + cpu->r[8];
|
|
L_02C55A38: ; // 0x2c55a38
|
|
/* 02C55A38 */ _t31 = cpu->r[7] + cpu->r[6];
|
|
/* 02C55A38 */ cpu->r[6] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02C55A3C */ cpu->r[12] = cpu->r[31] + 0x00000010u;
|
|
/* 02C55A40 */ _t32 = cpu->r[12] + cpu->r[6];
|
|
/* 02C55A40 */ rbrew_write32(cpu->mem, _t32, cpu->r[6]);
|
|
/* 02C55A44 */ cpu->r[6] = cpu->r[6] + 0x00000004u;
|
|
/* 02C55A48 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02C55A48 */ _t33 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02C55A48 */ _t34 = _t33 >> (0x00000002u & 31u);
|
|
/* 02C55A48 */ _t35 = _t34 & 0x00000001u;
|
|
/* 02C55A48 */ if (_t35) goto L_02C55A38; else goto L_02C55A4C;
|
|
L_02C55A4C: ; // 0x2c55a4c
|
|
/* 02C55A4C */ cpu->r[0] = (uint32_t)((int32_t)cpu->r[11] * (int32_t)0x0000000Cu);
|
|
/* 02C55A50 */ _t36 = cpu->r[24] + 0x00000000u;
|
|
/* 02C55A50 */ cpu->r[9] = rbrew_read32(cpu->mem, _t36);
|
|
/* 02C55A54 */ cpu->f[1] = cpu->f[31];
|
|
/* 02C55A58 */ cpu->r[4] = cpu->r[31];
|
|
/* 02C55A5C */ cpu->r[5] = cpu->r[9] + cpu->r[0];
|
|
/* 02C55A60 */ Gambit_fn_02C6478C(cpu);
|
|
/* 02C55A64 */ _t37 = cpu->r[27] + 0x00000058u;
|
|
/* 02C55A64 */ cpu->r[7] = rbrew_read32(cpu->mem, _t37);
|
|
/* 02C55A68 */ _t38 = cpu->r[31] + 0x00000018u;
|
|
/* 02C55A68 */ cpu->f[6] = rbrew_read_f32(cpu->mem, _t38);
|
|
/* 02C55A6C */ cpu->r[8] = cpu->r[7] + cpu->r[30];
|
|
/* 02C55A70 */ _t39 = cpu->r[31] + 0x00000010u;
|
|
/* 02C55A70 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t39);
|
|
/* 02C55A74 */ _t40 = cpu->r[8] + 0x0000000Cu;
|
|
/* 02C55A74 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t40);
|
|
/* 02C55A78 */ _t41 = cpu->r[8] + 0x00000004u;
|
|
/* 02C55A78 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t41);
|
|
/* 02C55A7C */ cpu->f[13] = cpu->f[12] * cpu->f[10];
|
|
/* 02C55A80 */ _t42 = cpu->r[8] + 0x00000008u;
|
|
/* 02C55A80 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t42);
|
|
/* 02C55A84 */ cpu->f[0] = fma(cpu->f[6], cpu->f[11], cpu->f[13]);
|
|
/* 02C55A88 */ _t43 = cpu->r[31] + 0x00000014u;
|
|
/* 02C55A88 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t43);
|
|
/* 02C55A8C */ cpu->f[5] = -fma(cpu->f[13], cpu->f[8], -(cpu->f[0]));
|
|
/* 02C55A90 */ cpu->f[7] = cpu->f[12] * cpu->f[13];
|
|
/* 02C55A94 */ _t44 = cpu->r[1] + 0x00000008u;
|
|
/* 02C55A94 */ rbrew_write_f32(cpu->mem, _t44, cpu->f[5]);
|
|
/* 02C55A98 */ cpu->f[9] = fma(cpu->f[10], cpu->f[8], cpu->f[7]);
|
|
/* 02C55A9C */ _t45 = cpu->r[8] + 0x00000000u;
|
|
/* 02C55A9C */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t45);
|
|
/* 02C55AA0 */ cpu->f[4] = -fma(cpu->f[6], cpu->f[7], -(cpu->f[9]));
|
|
/* 02C55AA4 */ cpu->f[11] = cpu->f[12] * cpu->f[6];
|
|
/* 02C55AA8 */ _t46 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C55AA8 */ rbrew_write_f32(cpu->mem, _t46, cpu->f[4]);
|
|
/* 02C55AAC */ _t47 = cpu->r[8] + 0x00000004u;
|
|
/* 02C55AAC */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t47);
|
|
/* 02C55AB0 */ cpu->f[12] = fma(cpu->f[13], cpu->f[7], cpu->f[11]);
|
|
/* 02C55AB4 */ cpu->f[3] = -fma(cpu->f[10], cpu->f[0], -(cpu->f[12]));
|
|
/* 02C55AB8 */ cpu->f[9] = cpu->f[13] * cpu->f[0];
|
|
/* 02C55ABC */ _t48 = cpu->r[1] + 0x00000010u;
|
|
/* 02C55ABC */ rbrew_write_f32(cpu->mem, _t48, cpu->f[3]);
|
|
/* 02C55AC0 */ _t49 = cpu->r[8] + 0x00000008u;
|
|
/* 02C55AC0 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t49);
|
|
/* 02C55AC4 */ cpu->f[13] = fma(cpu->f[10], cpu->f[7], cpu->f[9]);
|
|
/* 02C55AC8 */ cpu->f[9] = cpu->f[8] * cpu->f[4];
|
|
/* 02C55ACC */ cpu->f[2] = fma(cpu->f[6], cpu->f[8], cpu->f[13]);
|
|
/* 02C55AD0 */ cpu->f[11] = fma(cpu->f[0], cpu->f[3], -(cpu->f[9]));
|
|
/* 02C55AD4 */ _t50 = cpu->r[1] + 0x00000014u;
|
|
/* 02C55AD4 */ rbrew_write_f32(cpu->mem, _t50, cpu->f[2]);
|
|
/* 02C55AD8 */ cpu->f[12] = fma(cpu->f[2], cpu->f[7], cpu->f[11]);
|
|
/* 02C55ADC */ _t51 = cpu->r[8] + 0x0000000Cu;
|
|
/* 02C55ADC */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t51);
|
|
/* 02C55AE0 */ cpu->f[7] = fma(cpu->f[0], cpu->f[5], cpu->f[12]);
|
|
/* 02C55AE4 */ _t52 = cpu->r[31] + 0x00000010u;
|
|
/* 02C55AE4 */ rbrew_write_f32(cpu->mem, _t52, cpu->f[7]);
|
|
/* 02C55AE8 */ _t53 = cpu->r[8] + 0x00000000u;
|
|
/* 02C55AE8 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t53);
|
|
/* 02C55AEC */ _t54 = cpu->r[8] + 0x00000008u;
|
|
/* 02C55AEC */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t54);
|
|
/* 02C55AF0 */ cpu->f[0] = cpu->f[11] * cpu->f[3];
|
|
/* 02C55AF4 */ cpu->f[6] = fma(cpu->f[13], cpu->f[5], -(cpu->f[0]));
|
|
/* 02C55AF8 */ _t55 = cpu->r[8] + 0x00000004u;
|
|
/* 02C55AF8 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t55);
|
|
/* 02C55AFC */ cpu->f[11] = fma(cpu->f[2], cpu->f[9], cpu->f[6]);
|
|
/* 02C55B00 */ _t56 = cpu->r[8] + 0x0000000Cu;
|
|
/* 02C55B00 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t56);
|
|
/* 02C55B04 */ cpu->f[6] = fma(cpu->f[13], cpu->f[4], cpu->f[11]);
|
|
/* 02C55B08 */ _t57 = cpu->r[31] + 0x00000014u;
|
|
/* 02C55B08 */ rbrew_write_f32(cpu->mem, _t57, cpu->f[6]);
|
|
/* 02C55B0C */ _t58 = cpu->r[8] + 0x00000004u;
|
|
/* 02C55B0C */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t58);
|
|
/* 02C55B10 */ _t59 = cpu->r[8] + 0x00000000u;
|
|
/* 02C55B10 */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t59);
|
|
/* 02C55B14 */ cpu->f[8] = cpu->f[9] * cpu->f[5];
|
|
/* 02C55B18 */ cpu->f[10] = fma(cpu->f[7], cpu->f[4], -(cpu->f[8]));
|
|
/* 02C55B1C */ _t60 = cpu->r[8] + 0x00000008u;
|
|
/* 02C55B1C */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t60);
|
|
/* 02C55B20 */ cpu->f[12] = fma(cpu->f[2], cpu->f[11], cpu->f[10]);
|
|
/* 02C55B24 */ _t61 = cpu->r[8] + 0x0000000Cu;
|
|
/* 02C55B24 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t61);
|
|
/* 02C55B28 */ cpu->f[0] = fma(cpu->f[13], cpu->f[3], cpu->f[12]);
|
|
/* 02C55B2C */ cpu->r[28] = cpu->r[28] + 0x00000018u;
|
|
/* 02C55B30 */ cpu->r[25] = cpu->r[25] + 0xFFFFFFFFu;
|
|
/* 02C55B30 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000000u);
|
|
/* 02C55B34 */ cpu->r[30] = cpu->r[30] + 0x00000010u;
|
|
/* 02C55B38 */ _t62 = cpu->r[31] + 0x00000018u;
|
|
/* 02C55B38 */ rbrew_write_f32(cpu->mem, _t62, cpu->f[0]);
|
|
/* 02C55B3C */ cpu->r[31] = cpu->r[31] + 0x00000030u;
|
|
/* 02C55B40 */ cpu->r[29] = cpu->r[29] + 0x00000004u;
|
|
/* 02C55B44 */ _t63 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C55B44 */ _t64 = _t63 & 0x00000001u;
|
|
/* 02C55B44 */ if (_t64) goto L_02C55B48; else goto L_02C559D0;
|
|
L_02C55B48: ; // 0x2c55b48
|
|
/* 02C55B48 */ goto L_02C55B7C;
|
|
L_02C55B4C: ; // 0x2c55b4c
|
|
/* 02C55B4C */ cpu->r[0] = (uint32_t)((int32_t)cpu->r[11] * (int32_t)0x0000000Cu);
|
|
/* 02C55B50 */ _t65 = cpu->r[24] + 0x00000000u;
|
|
/* 02C55B50 */ cpu->r[12] = rbrew_read32(cpu->mem, _t65);
|
|
/* 02C55B54 */ cpu->f[1] = cpu->f[31];
|
|
/* 02C55B58 */ cpu->r[4] = cpu->r[31];
|
|
/* 02C55B5C */ cpu->r[5] = cpu->r[12] + cpu->r[0];
|
|
/* 02C55B60 */ Gambit_fn_02C6478C(cpu);
|
|
L_02C55B64: ; // 0x2c55b64
|
|
/* 02C55B64 */ cpu->r[28] = cpu->r[28] + 0x00000018u;
|
|
/* 02C55B68 */ cpu->r[31] = cpu->r[31] + 0x00000030u;
|
|
/* 02C55B6C */ cpu->r[25] = cpu->r[25] + 0xFFFFFFFFu;
|
|
/* 02C55B6C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000000u);
|
|
/* 02C55B70 */ cpu->r[30] = cpu->r[30] + 0x00000010u;
|
|
/* 02C55B74 */ cpu->r[29] = cpu->r[29] + 0x00000004u;
|
|
/* 02C55B78 */ _t66 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C55B78 */ _t67 = _t66 & 0x00000001u;
|
|
/* 02C55B78 */ if (_t67) goto L_02C55B7C; else goto L_02C559D0;
|
|
L_02C55B7C: ; // 0x2c55b7c
|
|
/* 02C55B7C */ /* nop */
|
|
/* 02C55B80 */ _t68 = cpu->r[1] + 0x00000058u;
|
|
/* 02C55B80 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t68);
|
|
/* 02C55B84 */ _t69 = cpu->r[1] + 0x00000050u;
|
|
/* 02C55B84 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t69);
|
|
/* 02C55B88 */ _t70 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C55B88 */ _t71 = _t70 & 0x00000001u;
|
|
/* 02C55B88 */ if (_t71) goto L_02C55B8C; // else: addr-0 trap, fall-through
|
|
L_02C55B8C: ; // 0x2c55b8c
|
|
/* 02C55B8C */ _t72 = cpu->r[1] + 0x00000064u;
|
|
/* 02C55B8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t72);
|
|
/* 02C55B90 */ cpu->lr = cpu->r[0];
|
|
/* 02C55B94 */ cpu->r[1] = cpu->r[1] + 0x00000060u;
|
|
/* 02C55B98 */ return;
|
|
L_02C55B9C: ; // 0x2c55b9c
|
|
/* 02C55B9C */ _t73 = cpu->r[26] + 0x00000008u;
|
|
/* 02C55B9C */ cpu->r[25] = rbrew_read16(cpu->mem, _t73);
|
|
/* 02C55BA0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000000u);
|
|
/* 02C55BA4 */ _t74 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C55BA4 */ _t75 = _t74 & 0x00000001u;
|
|
/* 02C55BA4 */ if (_t75) goto L_02C55D3C; else goto L_02C55BA8;
|
|
L_02C55BA8: ; // 0x2c55ba8
|
|
/* 02C55BA8 */ cpu->r[28] = 0x00000000u;
|
|
/* 02C55BAC */ cpu->r[29] = cpu->r[28];
|
|
/* 02C55BB0 */ cpu->r[30] = cpu->r[28];
|
|
L_02C55BB4: ; // 0x2c55bb4
|
|
/* 02C55BB4 */ _t76 = cpu->r[26] + 0x00000000u;
|
|
/* 02C55BB4 */ cpu->r[6] = rbrew_read32(cpu->mem, _t76);
|
|
/* 02C55BB8 */ _t77 = cpu->r[6] + cpu->r[29];
|
|
/* 02C55BB8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t77);
|
|
/* 02C55BBC */ cpu->r[0] = rbrew_rlwinm(cpu->r[9], 0x00000002u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02C55BC0 */ cpu->r[4] = cpu->r[0] ^ 0x00000001u;
|
|
/* 02C55BC4 */ cpu->r[5] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 02C55BC4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u);
|
|
/* 02C55BC8 */ _t78 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C55BC8 */ _t79 = _t78 & 0x00000001u;
|
|
/* 02C55BC8 */ if (_t79) goto L_02C55D24; else goto L_02C55BCC;
|
|
L_02C55BCC: ; // 0x2c55bcc
|
|
/* 02C55BCC */ _t80 = cpu->r[27] + 0x00000048u;
|
|
/* 02C55BCC */ cpu->r[6] = rbrew_read32(cpu->mem, _t80);
|
|
/* 02C55BD0 */ _t81 = cpu->r[6] + cpu->r[28];
|
|
/* 02C55BD0 */ cpu->r[8] = rbrew_read32(cpu->mem, _t81);
|
|
/* 02C55BD4 */ cpu->r[7] = rbrew_rlwinm(cpu->r[8], 0x00000000u, 0x00000010u, 0x00000012u);
|
|
/* 02C55BD4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 02C55BD8 */ cpu->r[3] = cpu->r[6] + cpu->r[28];
|
|
/* 02C55BDC */ _t82 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C55BDC */ _t83 = _t82 & 0x00000001u;
|
|
/* 02C55BDC */ if (_t83) goto L_02C55D18; else goto L_02C55BE0;
|
|
L_02C55BE0: ; // 0x2c55be0
|
|
/* 02C55BE0 */ _t84 = cpu->r[3] + 0x00000014u;
|
|
/* 02C55BE0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t84);
|
|
/* 02C55BE4 */ cpu->r[4] = cpu->r[3] + 0x00000014u;
|
|
/* 02C55BE8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02C55BEC */ cpu->r[6] = 0x00000000u;
|
|
/* 02C55BF0 */ _t85 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C55BF0 */ _t86 = _t85 & 0x00000001u;
|
|
/* 02C55BF0 */ if (_t86) goto L_02C55BF8; else goto L_02C55BF4;
|
|
L_02C55BF4: ; // 0x2c55bf4
|
|
/* 02C55BF4 */ cpu->r[6] = cpu->r[4] + cpu->r[12];
|
|
L_02C55BF8: ; // 0x2c55bf8
|
|
/* 02C55BF8 */ cpu->r[0] = 0x00000003u;
|
|
/* 02C55BFC */ _t87 = cpu->r[3] + 0x0000000Bu;
|
|
/* 02C55BFC */ cpu->r[12] = rbrew_read8(cpu->mem, _t87);
|
|
/* 02C55C00 */ cpu->ctr = cpu->r[0];
|
|
/* 02C55C04 */ cpu->r[9] = rbrew_rlwinm(cpu->r[12], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02C55C08 */ cpu->r[7] = cpu->r[6] + cpu->r[9];
|
|
/* 02C55C0C */ cpu->r[10] = 0x00000000u;
|
|
L_02C55C10: ; // 0x2c55c10
|
|
/* 02C55C10 */ _t88 = cpu->r[7] + cpu->r[10];
|
|
/* 02C55C10 */ cpu->r[7] = rbrew_read32(cpu->mem, _t88);
|
|
/* 02C55C14 */ cpu->r[4] = cpu->r[31] + 0x00000010u;
|
|
/* 02C55C18 */ _t89 = cpu->r[4] + cpu->r[10];
|
|
/* 02C55C18 */ rbrew_write32(cpu->mem, _t89, cpu->r[7]);
|
|
/* 02C55C1C */ cpu->r[10] = cpu->r[10] + 0x00000004u;
|
|
/* 02C55C20 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02C55C20 */ _t90 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02C55C20 */ _t91 = _t90 >> (0x00000002u & 31u);
|
|
/* 02C55C20 */ _t92 = _t91 & 0x00000001u;
|
|
/* 02C55C20 */ if (_t92) goto L_02C55C10; else goto L_02C55C24;
|
|
L_02C55C24: ; // 0x2c55c24
|
|
/* 02C55C24 */ cpu->f[1] = cpu->f[31];
|
|
/* 02C55C28 */ cpu->r[4] = cpu->r[31];
|
|
/* 02C55C2C */ Gambit_fn_02C646DC(cpu);
|
|
/* 02C55C30 */ _t93 = cpu->r[27] + 0x00000058u;
|
|
/* 02C55C30 */ cpu->r[5] = rbrew_read32(cpu->mem, _t93);
|
|
/* 02C55C34 */ _t94 = cpu->r[31] + 0x00000018u;
|
|
/* 02C55C34 */ cpu->f[5] = rbrew_read_f32(cpu->mem, _t94);
|
|
/* 02C55C38 */ cpu->r[10] = cpu->r[5] + cpu->r[30];
|
|
/* 02C55C3C */ _t95 = cpu->r[31] + 0x00000010u;
|
|
/* 02C55C3C */ cpu->f[6] = rbrew_read_f32(cpu->mem, _t95);
|
|
/* 02C55C40 */ _t96 = cpu->r[10] + 0x0000000Cu;
|
|
/* 02C55C40 */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t96);
|
|
/* 02C55C44 */ _t97 = cpu->r[10] + 0x00000004u;
|
|
/* 02C55C44 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t97);
|
|
/* 02C55C48 */ cpu->f[9] = cpu->f[7] * cpu->f[6];
|
|
/* 02C55C4C */ _t98 = cpu->r[31] + 0x00000014u;
|
|
/* 02C55C4C */ cpu->f[4] = rbrew_read_f32(cpu->mem, _t98);
|
|
/* 02C55C50 */ cpu->f[10] = fma(cpu->f[5], cpu->f[8], cpu->f[9]);
|
|
/* 02C55C54 */ _t99 = cpu->r[10] + 0x00000008u;
|
|
/* 02C55C54 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t99);
|
|
/* 02C55C58 */ cpu->f[10] = -fma(cpu->f[4], cpu->f[9], -(cpu->f[10]));
|
|
/* 02C55C5C */ cpu->f[11] = cpu->f[7] * cpu->f[4];
|
|
/* 02C55C60 */ _t100 = cpu->r[1] + 0x00000018u;
|
|
/* 02C55C60 */ rbrew_write_f32(cpu->mem, _t100, cpu->f[10]);
|
|
/* 02C55C64 */ _t101 = cpu->r[10] + 0x00000000u;
|
|
/* 02C55C64 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t101);
|
|
/* 02C55C68 */ cpu->f[12] = fma(cpu->f[6], cpu->f[9], cpu->f[11]);
|
|
/* 02C55C6C */ cpu->f[11] = -fma(cpu->f[5], cpu->f[8], -(cpu->f[12]));
|
|
/* 02C55C70 */ cpu->f[13] = cpu->f[7] * cpu->f[5];
|
|
/* 02C55C74 */ _t102 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C55C74 */ rbrew_write_f32(cpu->mem, _t102, cpu->f[11]);
|
|
/* 02C55C78 */ _t103 = cpu->r[10] + 0x00000004u;
|
|
/* 02C55C78 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t103);
|
|
/* 02C55C7C */ cpu->f[0] = fma(cpu->f[4], cpu->f[8], cpu->f[13]);
|
|
/* 02C55C80 */ cpu->f[7] = -fma(cpu->f[6], cpu->f[12], -(cpu->f[0]));
|
|
/* 02C55C84 */ cpu->f[0] = cpu->f[4] * cpu->f[12];
|
|
/* 02C55C88 */ _t104 = cpu->r[1] + 0x00000020u;
|
|
/* 02C55C88 */ rbrew_write_f32(cpu->mem, _t104, cpu->f[7]);
|
|
/* 02C55C8C */ _t105 = cpu->r[10] + 0x00000008u;
|
|
/* 02C55C8C */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t105);
|
|
/* 02C55C90 */ cpu->f[6] = fma(cpu->f[6], cpu->f[8], cpu->f[0]);
|
|
/* 02C55C94 */ cpu->f[13] = cpu->f[9] * cpu->f[11];
|
|
/* 02C55C98 */ cpu->f[6] = fma(cpu->f[5], cpu->f[9], cpu->f[6]);
|
|
/* 02C55C9C */ cpu->f[0] = fma(cpu->f[12], cpu->f[7], -(cpu->f[13]));
|
|
/* 02C55CA0 */ _t106 = cpu->r[1] + 0x00000024u;
|
|
/* 02C55CA0 */ rbrew_write_f32(cpu->mem, _t106, cpu->f[6]);
|
|
/* 02C55CA4 */ cpu->f[8] = fma(cpu->f[6], cpu->f[8], cpu->f[0]);
|
|
/* 02C55CA8 */ _t107 = cpu->r[10] + 0x0000000Cu;
|
|
/* 02C55CA8 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t107);
|
|
/* 02C55CAC */ cpu->f[12] = fma(cpu->f[9], cpu->f[10], cpu->f[8]);
|
|
/* 02C55CB0 */ _t108 = cpu->r[31] + 0x00000010u;
|
|
/* 02C55CB0 */ rbrew_write_f32(cpu->mem, _t108, cpu->f[12]);
|
|
/* 02C55CB4 */ _t109 = cpu->r[10] + 0x00000000u;
|
|
/* 02C55CB4 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t109);
|
|
/* 02C55CB8 */ _t110 = cpu->r[10] + 0x00000008u;
|
|
/* 02C55CB8 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t110);
|
|
/* 02C55CBC */ cpu->f[0] = cpu->f[8] * cpu->f[7];
|
|
/* 02C55CC0 */ cpu->f[9] = fma(cpu->f[13], cpu->f[10], -(cpu->f[0]));
|
|
/* 02C55CC4 */ _t111 = cpu->r[10] + 0x00000004u;
|
|
/* 02C55CC4 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t111);
|
|
/* 02C55CC8 */ cpu->f[13] = fma(cpu->f[6], cpu->f[12], cpu->f[9]);
|
|
/* 02C55CCC */ _t112 = cpu->r[10] + 0x0000000Cu;
|
|
/* 02C55CCC */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t112);
|
|
/* 02C55CD0 */ cpu->f[8] = fma(cpu->f[0], cpu->f[11], cpu->f[13]);
|
|
/* 02C55CD4 */ _t113 = cpu->r[31] + 0x00000014u;
|
|
/* 02C55CD4 */ rbrew_write_f32(cpu->mem, _t113, cpu->f[8]);
|
|
/* 02C55CD8 */ _t114 = cpu->r[10] + 0x00000004u;
|
|
/* 02C55CD8 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t114);
|
|
/* 02C55CDC */ _t115 = cpu->r[10] + 0x00000000u;
|
|
/* 02C55CDC */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t115);
|
|
/* 02C55CE0 */ cpu->f[10] = cpu->f[12] * cpu->f[10];
|
|
/* 02C55CE4 */ cpu->f[13] = fma(cpu->f[9], cpu->f[11], -(cpu->f[10]));
|
|
/* 02C55CE8 */ _t116 = cpu->r[10] + 0x00000008u;
|
|
/* 02C55CE8 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t116);
|
|
/* 02C55CEC */ cpu->f[8] = fma(cpu->f[6], cpu->f[0], cpu->f[13]);
|
|
/* 02C55CF0 */ _t117 = cpu->r[10] + 0x0000000Cu;
|
|
/* 02C55CF0 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t117);
|
|
/* 02C55CF4 */ cpu->f[10] = fma(cpu->f[9], cpu->f[7], cpu->f[8]);
|
|
/* 02C55CF8 */ cpu->r[28] = cpu->r[28] + 0x00000018u;
|
|
/* 02C55CFC */ cpu->r[25] = cpu->r[25] + 0xFFFFFFFFu;
|
|
/* 02C55CFC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000000u);
|
|
/* 02C55D00 */ cpu->r[30] = cpu->r[30] + 0x00000010u;
|
|
/* 02C55D04 */ _t118 = cpu->r[31] + 0x00000018u;
|
|
/* 02C55D04 */ rbrew_write_f32(cpu->mem, _t118, cpu->f[10]);
|
|
/* 02C55D08 */ cpu->r[31] = cpu->r[31] + 0x00000030u;
|
|
/* 02C55D0C */ cpu->r[29] = cpu->r[29] + 0x00000004u;
|
|
/* 02C55D10 */ _t119 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C55D10 */ _t120 = _t119 & 0x00000001u;
|
|
/* 02C55D10 */ if (_t120) goto L_02C55D14; else goto L_02C55BB4;
|
|
L_02C55D14: ; // 0x2c55d14
|
|
/* 02C55D14 */ goto L_02C55D3C;
|
|
L_02C55D18: ; // 0x2c55d18
|
|
/* 02C55D18 */ cpu->f[1] = cpu->f[31];
|
|
/* 02C55D1C */ cpu->r[4] = cpu->r[31];
|
|
/* 02C55D20 */ Gambit_fn_02C646DC(cpu);
|
|
L_02C55D24: ; // 0x2c55d24
|
|
/* 02C55D24 */ cpu->r[31] = cpu->r[31] + 0x00000030u;
|
|
/* 02C55D28 */ cpu->r[28] = cpu->r[28] + 0x00000018u;
|
|
/* 02C55D2C */ cpu->r[25] = cpu->r[25] + 0xFFFFFFFFu;
|
|
/* 02C55D2C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000000u);
|
|
/* 02C55D30 */ cpu->r[30] = cpu->r[30] + 0x00000010u;
|
|
/* 02C55D34 */ cpu->r[29] = cpu->r[29] + 0x00000004u;
|
|
/* 02C55D38 */ _t121 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C55D38 */ _t122 = _t121 & 0x00000001u;
|
|
/* 02C55D38 */ if (_t122) goto L_02C55D3C; else goto L_02C55BB4;
|
|
L_02C55D3C: ; // 0x2c55d3c
|
|
/* 02C55D3C */ /* nop */
|
|
/* 02C55D40 */ _t123 = cpu->r[1] + 0x00000058u;
|
|
/* 02C55D40 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t123);
|
|
/* 02C55D44 */ _t124 = cpu->r[1] + 0x00000050u;
|
|
/* 02C55D44 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t124);
|
|
/* 02C55D48 */ _t125 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C55D48 */ _t126 = _t125 & 0x00000001u;
|
|
/* 02C55D48 */ if (_t126) goto L_02C55D4C; // else: addr-0 trap, fall-through
|
|
L_02C55D4C: ; // 0x2c55d4c
|
|
/* 02C55D4C */ _t127 = cpu->r[1] + 0x00000064u;
|
|
/* 02C55D4C */ cpu->r[0] = rbrew_read32(cpu->mem, _t127);
|
|
/* 02C55D50 */ cpu->lr = cpu->r[0];
|
|
/* 02C55D54 */ cpu->r[1] = cpu->r[1] + 0x00000060u;
|
|
/* 02C55D58 */ return;
|
|
}
|
|
|
|
// fn_02C55D5C @ 0x2c55d5c
|
|
void Gambit_fn_02C55D5C(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_02C55D5C: ; // 0x2c55d5c
|
|
/* 02C55D5C */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02C55D5C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C55D5C */ cpu->r[1] = _t0;
|
|
/* 02C55D60 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02C55D60 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[31]);
|
|
/* 02C55D64 */ /* nop */
|
|
/* 02C55D68 */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 02C55D68 */ rbrew_write_f32(cpu->mem, _t2, cpu->f[31]);
|
|
/* 02C55D6C */ _t3 = cpu->r[4] + 0x00000004u;
|
|
/* 02C55D6C */ cpu->r[12] = rbrew_read16(cpu->mem, _t3);
|
|
/* 02C55D70 */ _t4 = cpu->r[4] + 0x0000000Cu;
|
|
/* 02C55D70 */ cpu->r[5] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02C55D74 */ cpu->r[12] = cpu->r[12] | 0x00000004u;
|
|
/* 02C55D78 */ _t5 = cpu->r[4] + 0x00000004u;
|
|
/* 02C55D78 */ rbrew_write16(cpu->mem, _t5, (uint16_t)cpu->r[12]);
|
|
/* 02C55D7C */ _t6 = cpu->r[3] + 0x00000050u;
|
|
/* 02C55D7C */ cpu->r[12] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02C55D80 */ _t7 = cpu->r[3] + 0x00000040u;
|
|
/* 02C55D80 */ cpu->r[10] = rbrew_read16(cpu->mem, _t7);
|
|
/* 02C55D84 */ cpu->r[12] = cpu->r[12] | 0x00000008u;
|
|
/* 02C55D88 */ cpu->r[7] = cpu->r[3] + 0x00000038u;
|
|
/* 02C55D8C */ _t8 = cpu->r[3] + 0x00000050u;
|
|
/* 02C55D8C */ rbrew_write32(cpu->mem, _t8, cpu->r[12]);
|
|
/* 02C55D90 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02C55D94 */ _t9 = cpu->r[3] + 0x0000002Cu;
|
|
/* 02C55D94 */ cpu->r[12] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02C55D98 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C55D98 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02C55D98 */ if (_t11) goto L_02C55EA8; else goto L_02C55D9C;
|
|
L_02C55D9C: ; // 0x2c55d9c
|
|
/* 02C55D9C */ cpu->r[11] = 0x101B0000u;
|
|
/* 02C55DA0 */ cpu->ctr = cpu->r[10];
|
|
/* 02C55DA4 */ _t12 = cpu->r[11] + 0xFFFFEE30u;
|
|
/* 02C55DA4 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t12);
|
|
/* 02C55DA8 */ cpu->r[8] = 0x00000000u;
|
|
L_02C55DAC: ; // 0x2c55dac
|
|
/* 02C55DAC */ _t13 = cpu->r[7] + 0x00000000u;
|
|
/* 02C55DAC */ cpu->r[11] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02C55DB0 */ _t14 = cpu->r[11] + cpu->r[8];
|
|
/* 02C55DB0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02C55DB4 */ cpu->r[11] = rbrew_rlwinm(cpu->r[9], 0x00000001u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02C55DB8 */ cpu->r[10] = cpu->r[11] ^ 0x00000001u;
|
|
/* 02C55DBC */ cpu->r[11] = rbrew_rlwinm(cpu->r[10], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 02C55DBC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02C55DC0 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C55DC0 */ _t16 = _t15 & 0x00000001u;
|
|
/* 02C55DC0 */ if (_t16) goto L_02C55E9C; else goto L_02C55DC4;
|
|
L_02C55DC4: ; // 0x2c55dc4
|
|
/* 02C55DC4 */ cpu->r[11] = rbrew_rlwinm(cpu->r[9], 0x00000006u, 0x0000000Bu, 0x00000019u);
|
|
/* 02C55DC8 */ _t17 = cpu->r[12] + 0x00000000u;
|
|
/* 02C55DC8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02C55DCC */ cpu->r[10] = cpu->r[5] + cpu->r[11];
|
|
/* 02C55DD0 */ _t18 = cpu->r[10] + 0x00000000u;
|
|
/* 02C55DD0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02C55DD4 */ _t19 = rbrew_rlwinm(cpu->r[9], 0x00000000u, 0x00000004u, 0x00000008u);
|
|
/* 02C55DD4 */ _t20 = cpu->r[11] & 0xF07FFFFFu;
|
|
/* 02C55DD4 */ cpu->r[11] = _t20 | _t19;
|
|
/* 02C55DD8 */ _t21 = cpu->r[10] + 0x00000000u;
|
|
/* 02C55DD8 */ rbrew_write32(cpu->mem, _t21, cpu->r[11]);
|
|
/* 02C55DDC */ _t22 = cpu->r[12] + 0x00000004u;
|
|
/* 02C55DDC */ cpu->r[6] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02C55DE0 */ _t23 = cpu->r[10] + 0x00000004u;
|
|
/* 02C55DE0 */ rbrew_write32(cpu->mem, _t23, cpu->r[6]);
|
|
/* 02C55DE4 */ _t24 = cpu->r[12] + 0x00000008u;
|
|
/* 02C55DE4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02C55DE8 */ _t25 = cpu->r[10] + 0x00000008u;
|
|
/* 02C55DE8 */ rbrew_write32(cpu->mem, _t25, cpu->r[9]);
|
|
/* 02C55DEC */ _t26 = cpu->r[12] + 0x0000000Cu;
|
|
/* 02C55DEC */ cpu->r[11] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02C55DF0 */ _t27 = cpu->r[10] + 0x0000000Cu;
|
|
/* 02C55DF0 */ rbrew_write32(cpu->mem, _t27, cpu->r[11]);
|
|
/* 02C55DF4 */ _t28 = cpu->r[12] + 0x00000010u;
|
|
/* 02C55DF4 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t28);
|
|
/* 02C55DF8 */ _t29 = cpu->r[10] + 0x0000001Cu;
|
|
/* 02C55DF8 */ rbrew_write_f32(cpu->mem, _t29, cpu->f[13]);
|
|
/* 02C55DFC */ _t30 = cpu->r[12] + 0x00000014u;
|
|
/* 02C55DFC */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t30);
|
|
/* 02C55E00 */ _t31 = cpu->r[10] + 0x0000002Cu;
|
|
/* 02C55E00 */ rbrew_write_f32(cpu->mem, _t31, cpu->f[12]);
|
|
/* 02C55E04 */ _t32 = cpu->r[12] + 0x00000018u;
|
|
/* 02C55E04 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t32);
|
|
/* 02C55E08 */ _t33 = cpu->r[10] + 0x0000003Cu;
|
|
/* 02C55E08 */ rbrew_write_f32(cpu->mem, _t33, cpu->f[13]);
|
|
/* 02C55E0C */ _t34 = cpu->r[12] + 0x00000028u;
|
|
/* 02C55E0C */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t34);
|
|
/* 02C55E10 */ _t35 = cpu->r[12] + 0x0000002Cu;
|
|
/* 02C55E10 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t35);
|
|
/* 02C55E14 */ cpu->f[11] = cpu->f[31] + cpu->f[31];
|
|
/* 02C55E18 */ _t36 = cpu->r[12] + 0x00000020u;
|
|
/* 02C55E18 */ cpu->f[2] = rbrew_read_f32(cpu->mem, _t36);
|
|
/* 02C55E1C */ cpu->f[12] = cpu->f[13] + cpu->f[13];
|
|
/* 02C55E20 */ _t37 = cpu->r[12] + 0x00000024u;
|
|
/* 02C55E20 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t37);
|
|
/* 02C55E24 */ cpu->f[7] = cpu->f[2] + cpu->f[2];
|
|
/* 02C55E28 */ cpu->f[4] = cpu->f[9] + cpu->f[9];
|
|
/* 02C55E2C */ cpu->f[8] = cpu->f[11] * cpu->f[31];
|
|
/* 02C55E30 */ cpu->f[6] = cpu->f[4] * cpu->f[9];
|
|
/* 02C55E34 */ cpu->f[11] = cpu->f[12] * cpu->f[31];
|
|
/* 02C55E38 */ cpu->f[13] = cpu->f[12] * cpu->f[9];
|
|
/* 02C55E3C */ cpu->f[9] = cpu->f[7] * cpu->f[9];
|
|
/* 02C55E40 */ cpu->f[10] = cpu->f[0] - cpu->f[6];
|
|
/* 02C55E44 */ cpu->f[5] = cpu->f[9] + cpu->f[11];
|
|
/* 02C55E48 */ cpu->f[1] = cpu->f[10] - cpu->f[8];
|
|
/* 02C55E4C */ cpu->f[10] = cpu->f[7] * cpu->f[31];
|
|
/* 02C55E50 */ cpu->f[3] = cpu->f[9] - cpu->f[11];
|
|
/* 02C55E54 */ cpu->f[9] = cpu->f[10] + cpu->f[13];
|
|
/* 02C55E58 */ cpu->f[10] = cpu->f[10] - cpu->f[13];
|
|
/* 02C55E5C */ _t38 = cpu->r[10] + 0x00000020u;
|
|
/* 02C55E5C */ rbrew_write_f32(cpu->mem, _t38, cpu->f[5]);
|
|
/* 02C55E60 */ cpu->f[11] = cpu->f[4] * cpu->f[31];
|
|
/* 02C55E64 */ _t39 = cpu->r[10] + 0x00000010u;
|
|
/* 02C55E64 */ rbrew_write_f32(cpu->mem, _t39, cpu->f[1]);
|
|
/* 02C55E68 */ cpu->f[7] = -fma(cpu->f[7], cpu->f[2], -(cpu->f[0]));
|
|
/* 02C55E6C */ cpu->f[12] = cpu->f[12] * cpu->f[2];
|
|
/* 02C55E70 */ _t40 = cpu->r[10] + 0x00000014u;
|
|
/* 02C55E70 */ rbrew_write_f32(cpu->mem, _t40, cpu->f[3]);
|
|
/* 02C55E74 */ cpu->f[8] = cpu->f[7] - cpu->f[8];
|
|
/* 02C55E78 */ _t41 = cpu->r[10] + 0x00000018u;
|
|
/* 02C55E78 */ rbrew_write_f32(cpu->mem, _t41, cpu->f[9]);
|
|
/* 02C55E7C */ cpu->f[9] = cpu->f[11] - cpu->f[12];
|
|
/* 02C55E80 */ _t42 = cpu->r[10] + 0x00000030u;
|
|
/* 02C55E80 */ rbrew_write_f32(cpu->mem, _t42, cpu->f[10]);
|
|
/* 02C55E84 */ cpu->f[12] = cpu->f[11] + cpu->f[12];
|
|
/* 02C55E88 */ _t43 = cpu->r[10] + 0x00000024u;
|
|
/* 02C55E88 */ rbrew_write_f32(cpu->mem, _t43, cpu->f[8]);
|
|
/* 02C55E8C */ cpu->f[13] = cpu->f[7] - cpu->f[6];
|
|
/* 02C55E90 */ _t44 = cpu->r[10] + 0x00000028u;
|
|
/* 02C55E90 */ rbrew_write_f32(cpu->mem, _t44, cpu->f[9]);
|
|
/* 02C55E94 */ _t45 = cpu->r[10] + 0x00000034u;
|
|
/* 02C55E94 */ rbrew_write_f32(cpu->mem, _t45, cpu->f[12]);
|
|
/* 02C55E98 */ _t46 = cpu->r[10] + 0x00000038u;
|
|
/* 02C55E98 */ rbrew_write_f32(cpu->mem, _t46, cpu->f[13]);
|
|
L_02C55E9C: ; // 0x2c55e9c
|
|
/* 02C55E9C */ cpu->r[12] = cpu->r[12] + 0x00000030u;
|
|
/* 02C55EA0 */ cpu->r[8] = cpu->r[8] + 0x00000004u;
|
|
/* 02C55EA4 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02C55EA4 */ _t47 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02C55EA4 */ _t48 = _t47 >> (0x00000002u & 31u);
|
|
/* 02C55EA4 */ _t49 = _t48 & 0x00000001u;
|
|
/* 02C55EA4 */ if (_t49) goto L_02C55DAC; else goto L_02C55EA8;
|
|
L_02C55EA8: ; // 0x2c55ea8
|
|
/* 02C55EA8 */ _t50 = cpu->r[1] + 0x00000010u;
|
|
/* 02C55EA8 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t50);
|
|
/* 02C55EAC */ _t51 = cpu->r[1] + 0x00000008u;
|
|
/* 02C55EAC */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t51);
|
|
/* 02C55EB0 */ _t52 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C55EB0 */ _t53 = _t52 & 0x00000001u;
|
|
/* 02C55EB0 */ if (_t53) goto L_02C55EB4; // else: addr-0 trap, fall-through
|
|
L_02C55EB4: ; // 0x2c55eb4
|
|
/* 02C55EB4 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C55EB8 */ return;
|
|
}
|
|
|
|
// fn_02C55EBC @ 0x2c55ebc
|
|
void Gambit_fn_02C55EBC(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_02C55EBC: ; // 0x2c55ebc
|
|
/* 02C55EBC */ _t0 = cpu->r[1] + 0xFFFFFFC8u;
|
|
/* 02C55EBC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C55EBC */ cpu->r[1] = _t0;
|
|
/* 02C55EC0 */ _t1 = cpu->r[1] + 0x00000028u;
|
|
/* 02C55EC0 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[31]);
|
|
/* 02C55EC4 */ /* nop */
|
|
/* 02C55EC8 */ _t2 = cpu->r[1] + 0x00000030u;
|
|
/* 02C55EC8 */ rbrew_write_f32(cpu->mem, _t2, cpu->f[31]);
|
|
/* 02C55ECC */ _t3 = cpu->r[4] + 0x00000004u;
|
|
/* 02C55ECC */ cpu->r[12] = rbrew_read16(cpu->mem, _t3);
|
|
/* 02C55ED0 */ _t4 = cpu->r[4] + 0x0000000Cu;
|
|
/* 02C55ED0 */ cpu->r[6] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02C55ED4 */ cpu->r[12] = cpu->r[12] | 0x00000004u;
|
|
/* 02C55ED8 */ _t5 = cpu->r[4] + 0x00000004u;
|
|
/* 02C55ED8 */ rbrew_write16(cpu->mem, _t5, (uint16_t)cpu->r[12]);
|
|
/* 02C55EDC */ _t6 = cpu->r[3] + 0x00000050u;
|
|
/* 02C55EDC */ cpu->r[12] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02C55EE0 */ _t7 = cpu->r[3] + 0x00000040u;
|
|
/* 02C55EE0 */ cpu->r[9] = rbrew_read16(cpu->mem, _t7);
|
|
/* 02C55EE4 */ cpu->r[12] = cpu->r[12] | 0x00000008u;
|
|
/* 02C55EE8 */ cpu->r[5] = cpu->r[3] + 0x00000038u;
|
|
/* 02C55EEC */ _t8 = cpu->r[3] + 0x00000050u;
|
|
/* 02C55EEC */ rbrew_write32(cpu->mem, _t8, cpu->r[12]);
|
|
/* 02C55EF0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 02C55EF4 */ _t9 = cpu->r[3] + 0x0000002Cu;
|
|
/* 02C55EF4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02C55EF8 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C55EF8 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02C55EF8 */ if (_t11) goto L_02C560D0; else goto L_02C55EFC;
|
|
L_02C55EFC: ; // 0x2c55efc
|
|
/* 02C55EFC */ cpu->r[11] = 0x101B0000u;
|
|
/* 02C55F00 */ cpu->ctr = cpu->r[9];
|
|
/* 02C55F04 */ _t12 = cpu->r[11] + 0xFFFFEE20u;
|
|
/* 02C55F04 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t12);
|
|
/* 02C55F08 */ cpu->r[11] = 0x101B0000u;
|
|
/* 02C55F0C */ cpu->r[4] = 0x101B0000u;
|
|
/* 02C55F10 */ _t13 = cpu->r[11] + 0xFFFFEE40u;
|
|
/* 02C55F10 */ cpu->f[13] = rbrew_read_f64(cpu->mem, _t13);
|
|
/* 02C55F14 */ cpu->r[11] = 0x101B0000u;
|
|
/* 02C55F18 */ cpu->r[10] = 0x00000000u;
|
|
/* 02C55F1C */ _t14 = cpu->r[11] + 0xFFFFEE48u;
|
|
/* 02C55F1C */ cpu->f[0] = rbrew_read_f64(cpu->mem, _t14);
|
|
/* 02C55F20 */ cpu->r[4] = cpu->r[4] + 0xFFFFF1DCu;
|
|
L_02C55F24: ; // 0x2c55f24
|
|
/* 02C55F24 */ _t15 = cpu->r[5] + 0x00000000u;
|
|
/* 02C55F24 */ cpu->r[11] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02C55F28 */ _t16 = cpu->r[11] + cpu->r[10];
|
|
/* 02C55F28 */ cpu->r[8] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02C55F2C */ cpu->r[11] = rbrew_rlwinm(cpu->r[8], 0x00000001u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02C55F30 */ cpu->r[9] = cpu->r[11] ^ 0x00000001u;
|
|
/* 02C55F34 */ cpu->r[11] = rbrew_rlwinm(cpu->r[9], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 02C55F34 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02C55F38 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C55F38 */ _t18 = _t17 & 0x00000001u;
|
|
/* 02C55F38 */ if (_t18) goto L_02C560C4; else goto L_02C55F3C;
|
|
L_02C55F3C: ; // 0x2c55f3c
|
|
/* 02C55F3C */ cpu->r[11] = rbrew_rlwinm(cpu->r[8], 0x00000006u, 0x0000000Bu, 0x00000019u);
|
|
/* 02C55F40 */ _t19 = cpu->r[12] + 0x00000000u;
|
|
/* 02C55F40 */ cpu->r[8] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02C55F44 */ _t20 = cpu->r[6] + cpu->r[11];
|
|
/* 02C55F44 */ cpu->r[9] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02C55F48 */ _t21 = rbrew_rlwinm(cpu->r[8], 0x00000000u, 0x00000004u, 0x00000008u);
|
|
/* 02C55F48 */ _t22 = cpu->r[9] & 0xF07FFFFFu;
|
|
/* 02C55F48 */ cpu->r[9] = _t22 | _t21;
|
|
/* 02C55F4C */ cpu->r[7] = cpu->r[6] + cpu->r[11];
|
|
/* 02C55F50 */ _t23 = cpu->r[6] + cpu->r[11];
|
|
/* 02C55F50 */ rbrew_write32(cpu->mem, _t23, cpu->r[9]);
|
|
/* 02C55F54 */ _t24 = cpu->r[12] + 0x00000004u;
|
|
/* 02C55F54 */ cpu->r[11] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02C55F58 */ _t25 = cpu->r[7] + 0x00000004u;
|
|
/* 02C55F58 */ rbrew_write32(cpu->mem, _t25, cpu->r[11]);
|
|
/* 02C55F5C */ _t26 = cpu->r[12] + 0x00000008u;
|
|
/* 02C55F5C */ cpu->r[9] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02C55F60 */ _t27 = cpu->r[7] + 0x00000008u;
|
|
/* 02C55F60 */ rbrew_write32(cpu->mem, _t27, cpu->r[9]);
|
|
/* 02C55F64 */ _t28 = cpu->r[12] + 0x0000000Cu;
|
|
/* 02C55F64 */ cpu->r[11] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02C55F68 */ _t29 = cpu->r[7] + 0x0000000Cu;
|
|
/* 02C55F68 */ rbrew_write32(cpu->mem, _t29, cpu->r[11]);
|
|
/* 02C55F6C */ _t30 = cpu->r[12] + 0x00000010u;
|
|
/* 02C55F6C */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t30);
|
|
/* 02C55F70 */ _t31 = cpu->r[7] + 0x0000001Cu;
|
|
/* 02C55F70 */ rbrew_write_f32(cpu->mem, _t31, cpu->f[11]);
|
|
/* 02C55F74 */ _t32 = cpu->r[12] + 0x00000014u;
|
|
/* 02C55F74 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t32);
|
|
/* 02C55F78 */ _t33 = cpu->r[7] + 0x0000002Cu;
|
|
/* 02C55F78 */ rbrew_write_f32(cpu->mem, _t33, cpu->f[10]);
|
|
/* 02C55F7C */ _t34 = cpu->r[12] + 0x00000018u;
|
|
/* 02C55F7C */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t34);
|
|
/* 02C55F80 */ _t35 = cpu->r[7] + 0x0000003Cu;
|
|
/* 02C55F80 */ rbrew_write_f32(cpu->mem, _t35, cpu->f[11]);
|
|
/* 02C55F84 */ _t36 = cpu->r[12] + 0x00000020u;
|
|
/* 02C55F84 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t36);
|
|
/* 02C55F88 */ cpu->r[11] = 0x43300000u;
|
|
/* 02C55F8C */ cpu->f[10] = fma(cpu->f[10], cpu->f[0], cpu->f[13]);
|
|
/* 02C55F90 */ _t37 = cpu->r[1] + 0x00000008u;
|
|
/* 02C55F90 */ rbrew_write32(cpu->mem, _t37, cpu->r[11]);
|
|
/* 02C55F94 */ cpu->r[11] = 0x101B0000u;
|
|
/* 02C55F98 */ _t38 = cpu->r[11] + 0xFFFFEE38u;
|
|
/* 02C55F98 */ cpu->f[11] = rbrew_read_f64(cpu->mem, _t38);
|
|
/* 02C55F9C */ _t39 = cpu->r[1] + 0x00000010u;
|
|
/* 02C55F9C */ rbrew_write_f64(cpu->mem, _t39, cpu->f[10]);
|
|
/* 02C55FA0 */ _t40 = cpu->r[1] + 0x00000014u;
|
|
/* 02C55FA0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t40);
|
|
/* 02C55FA4 */ _t41 = cpu->r[12] + 0x00000024u;
|
|
/* 02C55FA4 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t41);
|
|
/* 02C55FA8 */ cpu->r[9] = rbrew_rlwinm(cpu->r[11], 0x00000000u, 0x00000008u, 0x0000001Fu);
|
|
/* 02C55FAC */ _t42 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C55FAC */ rbrew_write32(cpu->mem, _t42, cpu->r[9]);
|
|
/* 02C55FB0 */ cpu->f[10] = fma(cpu->f[10], cpu->f[0], cpu->f[13]);
|
|
/* 02C55FB4 */ _t43 = cpu->r[1] + 0x00000008u;
|
|
/* 02C55FB4 */ cpu->f[9] = rbrew_read_f64(cpu->mem, _t43);
|
|
/* 02C55FB8 */ cpu->f[8] = cpu->f[9] - cpu->f[11];
|
|
/* 02C55FBC */ cpu->r[11] = rbrew_rlwinm(cpu->r[11], 0x0000000Cu, 0x00000014u, 0x0000001Bu);
|
|
/* 02C55FC0 */ cpu->f[7] = (double)(float)cpu->f[8];
|
|
/* 02C55FC4 */ _t44 = cpu->r[11] + cpu->r[4];
|
|
/* 02C55FC4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t44);
|
|
/* 02C55FC4 */ cpu->r[11] = _t44;
|
|
/* 02C55FC8 */ _t45 = cpu->r[1] + 0x00000018u;
|
|
/* 02C55FC8 */ rbrew_write_f64(cpu->mem, _t45, cpu->f[10]);
|
|
/* 02C55FCC */ _t46 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C55FCC */ cpu->r[9] = rbrew_read32(cpu->mem, _t46);
|
|
/* 02C55FD0 */ cpu->f[7] = cpu->f[7] * cpu->f[12];
|
|
/* 02C55FD4 */ _t47 = cpu->r[11] + 0x00000008u;
|
|
/* 02C55FD4 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t47);
|
|
/* 02C55FD8 */ cpu->r[8] = rbrew_rlwinm(cpu->r[9], 0x00000000u, 0x00000008u, 0x0000001Fu);
|
|
/* 02C55FDC */ _t48 = cpu->r[12] + 0x00000028u;
|
|
/* 02C55FDC */ cpu->f[6] = rbrew_read_f32(cpu->mem, _t48);
|
|
/* 02C55FE0 */ cpu->r[9] = rbrew_rlwinm(cpu->r[9], 0x0000000Cu, 0x00000014u, 0x0000001Bu);
|
|
/* 02C55FE4 */ cpu->f[31] = fma(cpu->f[8], cpu->f[7], cpu->f[9]);
|
|
/* 02C55FE8 */ _t49 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C55FE8 */ rbrew_write32(cpu->mem, _t49, cpu->r[8]);
|
|
/* 02C55FEC */ _t50 = cpu->r[1] + 0x00000008u;
|
|
/* 02C55FEC */ cpu->f[10] = rbrew_read_f64(cpu->mem, _t50);
|
|
/* 02C55FF0 */ cpu->f[9] = fma(cpu->f[6], cpu->f[0], cpu->f[13]);
|
|
/* 02C55FF4 */ cpu->r[3] = cpu->r[4] + cpu->r[9];
|
|
/* 02C55FF8 */ _t51 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02C55FF8 */ cpu->f[4] = rbrew_read_f32(cpu->mem, _t51);
|
|
/* 02C55FFC */ _t52 = cpu->r[1] + 0x00000020u;
|
|
/* 02C55FFC */ rbrew_write_f64(cpu->mem, _t52, cpu->f[9]);
|
|
/* 02C56000 */ cpu->f[10] = cpu->f[10] - cpu->f[11];
|
|
/* 02C56004 */ _t53 = cpu->r[1] + 0x00000024u;
|
|
/* 02C56004 */ cpu->r[8] = rbrew_read32(cpu->mem, _t53);
|
|
/* 02C56008 */ _t54 = cpu->r[11] + 0x00000004u;
|
|
/* 02C56008 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t54);
|
|
/* 02C5600C */ cpu->f[10] = (double)(float)cpu->f[10];
|
|
/* 02C56010 */ cpu->r[9] = rbrew_rlwinm(cpu->r[8], 0x00000000u, 0x00000008u, 0x0000001Fu);
|
|
/* 02C56014 */ _t55 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C56014 */ rbrew_write32(cpu->mem, _t55, cpu->r[9]);
|
|
/* 02C56018 */ _t56 = cpu->r[1] + 0x00000008u;
|
|
/* 02C56018 */ cpu->f[6] = rbrew_read_f64(cpu->mem, _t56);
|
|
/* 02C5601C */ cpu->f[8] = cpu->f[10] * cpu->f[12];
|
|
/* 02C56020 */ _t57 = cpu->r[3] + 0x00000004u;
|
|
/* 02C56020 */ cpu->f[5] = rbrew_read_f32(cpu->mem, _t57);
|
|
/* 02C56024 */ cpu->r[9] = rbrew_rlwinm(cpu->r[8], 0x0000000Cu, 0x00000014u, 0x0000001Bu);
|
|
/* 02C56028 */ cpu->f[6] = cpu->f[6] - cpu->f[11];
|
|
/* 02C5602C */ _t58 = cpu->r[11] + 0x0000000Cu;
|
|
/* 02C5602C */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t58);
|
|
/* 02C56030 */ cpu->f[4] = fma(cpu->f[4], cpu->f[8], cpu->f[5]);
|
|
/* 02C56034 */ _t59 = cpu->r[3] + 0x00000000u;
|
|
/* 02C56034 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t59);
|
|
/* 02C56038 */ cpu->r[11] = cpu->r[4] + cpu->r[9];
|
|
/* 02C5603C */ cpu->f[5] = (double)(float)cpu->f[6];
|
|
/* 02C56040 */ cpu->f[3] = fma(cpu->f[10], cpu->f[7], cpu->f[9]);
|
|
/* 02C56044 */ _t60 = cpu->r[3] + 0x00000008u;
|
|
/* 02C56044 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t60);
|
|
/* 02C56048 */ cpu->f[9] = cpu->f[5] * cpu->f[12];
|
|
/* 02C5604C */ _t61 = cpu->r[11] + 0x00000000u;
|
|
/* 02C5604C */ cpu->f[2] = rbrew_read_f32(cpu->mem, _t61);
|
|
/* 02C56050 */ _t62 = cpu->r[11] + 0x0000000Cu;
|
|
/* 02C56050 */ cpu->f[6] = rbrew_read_f32(cpu->mem, _t62);
|
|
/* 02C56054 */ cpu->f[1] = fma(cpu->f[10], cpu->f[8], cpu->f[11]);
|
|
/* 02C56058 */ _t63 = cpu->r[11] + 0x00000008u;
|
|
/* 02C56058 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t63);
|
|
/* 02C5605C */ _t64 = cpu->r[11] + 0x00000004u;
|
|
/* 02C5605C */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t64);
|
|
/* 02C56060 */ cpu->f[2] = fma(cpu->f[11], cpu->f[9], cpu->f[2]);
|
|
/* 02C56064 */ cpu->f[5] = fma(cpu->f[6], cpu->f[9], cpu->f[7]);
|
|
/* 02C56068 */ cpu->f[9] = -cpu->f[1];
|
|
/* 02C5606C */ cpu->f[8] = cpu->f[4] * cpu->f[2];
|
|
/* 02C56070 */ cpu->f[11] = cpu->f[31] * cpu->f[1];
|
|
/* 02C56074 */ cpu->f[6] = cpu->f[3] * cpu->f[5];
|
|
/* 02C56078 */ cpu->f[10] = cpu->f[3] * cpu->f[2];
|
|
/* 02C5607C */ cpu->f[7] = fma(cpu->f[11], cpu->f[2], cpu->f[6]);
|
|
/* 02C56080 */ _t65 = cpu->r[7] + 0x00000020u;
|
|
/* 02C56080 */ rbrew_write_f32(cpu->mem, _t65, cpu->f[8]);
|
|
/* 02C56084 */ cpu->f[11] = fma(cpu->f[11], cpu->f[5], -(cpu->f[10]));
|
|
/* 02C56088 */ _t66 = cpu->r[7] + 0x00000030u;
|
|
/* 02C56088 */ rbrew_write_f32(cpu->mem, _t66, cpu->f[9]);
|
|
/* 02C5608C */ cpu->f[9] = cpu->f[31] * cpu->f[2];
|
|
/* 02C56090 */ _t67 = cpu->r[7] + 0x00000014u;
|
|
/* 02C56090 */ rbrew_write_f32(cpu->mem, _t67, cpu->f[11]);
|
|
/* 02C56094 */ cpu->f[11] = cpu->f[31] * cpu->f[5];
|
|
/* 02C56098 */ cpu->f[8] = cpu->f[31] * cpu->f[4];
|
|
/* 02C5609C */ cpu->f[10] = fma(cpu->f[10], cpu->f[1], -(cpu->f[11]));
|
|
/* 02C560A0 */ _t68 = cpu->r[7] + 0x00000024u;
|
|
/* 02C560A0 */ rbrew_write_f32(cpu->mem, _t68, cpu->f[7]);
|
|
/* 02C560A4 */ cpu->f[11] = fma(cpu->f[6], cpu->f[1], cpu->f[9]);
|
|
/* 02C560A8 */ _t69 = cpu->r[7] + 0x00000034u;
|
|
/* 02C560A8 */ rbrew_write_f32(cpu->mem, _t69, cpu->f[8]);
|
|
/* 02C560AC */ cpu->f[9] = cpu->f[4] * cpu->f[5];
|
|
/* 02C560B0 */ _t70 = cpu->r[7] + 0x00000018u;
|
|
/* 02C560B0 */ rbrew_write_f32(cpu->mem, _t70, cpu->f[11]);
|
|
/* 02C560B4 */ cpu->f[11] = cpu->f[3] * cpu->f[4];
|
|
/* 02C560B8 */ _t71 = cpu->r[7] + 0x00000010u;
|
|
/* 02C560B8 */ rbrew_write_f32(cpu->mem, _t71, cpu->f[9]);
|
|
/* 02C560BC */ _t72 = cpu->r[7] + 0x00000028u;
|
|
/* 02C560BC */ rbrew_write_f32(cpu->mem, _t72, cpu->f[10]);
|
|
/* 02C560C0 */ _t73 = cpu->r[7] + 0x00000038u;
|
|
/* 02C560C0 */ rbrew_write_f32(cpu->mem, _t73, cpu->f[11]);
|
|
L_02C560C4: ; // 0x2c560c4
|
|
/* 02C560C4 */ cpu->r[12] = cpu->r[12] + 0x00000030u;
|
|
/* 02C560C8 */ cpu->r[10] = cpu->r[10] + 0x00000004u;
|
|
/* 02C560CC */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02C560CC */ _t74 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02C560CC */ _t75 = _t74 >> (0x00000002u & 31u);
|
|
/* 02C560CC */ _t76 = _t75 & 0x00000001u;
|
|
/* 02C560CC */ if (_t76) goto L_02C55F24; else goto L_02C560D0;
|
|
L_02C560D0: ; // 0x2c560d0
|
|
/* 02C560D0 */ _t77 = cpu->r[1] + 0x00000030u;
|
|
/* 02C560D0 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t77);
|
|
/* 02C560D4 */ _t78 = cpu->r[1] + 0x00000028u;
|
|
/* 02C560D4 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t78);
|
|
/* 02C560D8 */ _t79 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C560D8 */ _t80 = _t79 & 0x00000001u;
|
|
/* 02C560D8 */ if (_t80) goto L_02C560DC; // else: addr-0 trap, fall-through
|
|
L_02C560DC: ; // 0x2c560dc
|
|
/* 02C560DC */ cpu->r[1] = cpu->r[1] + 0x00000038u;
|
|
/* 02C560E0 */ return;
|
|
}
|
|
|
|
// fn_02C560E4 @ 0x2c560e4
|
|
void Gambit_fn_02C560E4(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;
|
|
|
|
L_02C560E4: ; // 0x2c560e4
|
|
/* 02C560E4 */ _t0 = cpu->r[1] + 0xFFFFFFD8u;
|
|
/* 02C560E4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C560E4 */ cpu->r[1] = _t0;
|
|
/* 02C560E8 */ _t1 = cpu->r[4] + 0x00000050u;
|
|
/* 02C560E8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02C560EC */ cpu->r[12] = cpu->r[12] | 0x00000008u;
|
|
/* 02C560F0 */ _t2 = cpu->r[4] + 0x00000050u;
|
|
/* 02C560F0 */ rbrew_write32(cpu->mem, _t2, cpu->r[12]);
|
|
/* 02C560F4 */ _t3 = cpu->r[3] + 0x00000008u;
|
|
/* 02C560F4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02C560F8 */ _t4 = cpu->r[4] + 0x0000002Cu;
|
|
/* 02C560F8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02C560FC */ cpu->r[11] = cpu->r[11] | 0x00000008u;
|
|
/* 02C56100 */ _t5 = cpu->r[3] + 0x00000008u;
|
|
/* 02C56100 */ rbrew_write32(cpu->mem, _t5, cpu->r[11]);
|
|
/* 02C56104 */ _t6 = cpu->r[4] + 0x00000040u;
|
|
/* 02C56104 */ cpu->r[8] = rbrew_read16(cpu->mem, _t6);
|
|
/* 02C56108 */ cpu->r[6] = cpu->r[4] + 0x00000038u;
|
|
/* 02C5610C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 02C56110 */ _t7 = cpu->r[3] + 0x00000000u;
|
|
/* 02C56110 */ cpu->r[5] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02C56114 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C56114 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02C56114 */ if (_t9) goto L_02C56244; else goto L_02C56118;
|
|
L_02C56118: ; // 0x2c56118
|
|
/* 02C56118 */ cpu->r[11] = 0x101B0000u;
|
|
/* 02C5611C */ cpu->ctr = cpu->r[8];
|
|
/* 02C56120 */ _t10 = cpu->r[11] + 0xFFFFEE30u;
|
|
/* 02C56120 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t10);
|
|
/* 02C56124 */ cpu->r[9] = cpu->r[1] + 0x00000008u;
|
|
/* 02C56128 */ cpu->r[10] = 0x00000000u;
|
|
L_02C5612C: ; // 0x2c5612c
|
|
/* 02C5612C */ _t11 = cpu->r[6] + 0x00000000u;
|
|
/* 02C5612C */ cpu->r[8] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02C56130 */ _t12 = cpu->r[8] + cpu->r[10];
|
|
/* 02C56130 */ cpu->r[11] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02C56134 */ cpu->r[8] = rbrew_rlwinm(cpu->r[11], 0x00000001u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02C56138 */ cpu->r[7] = cpu->r[8] ^ 0x00000001u;
|
|
/* 02C5613C */ cpu->r[8] = rbrew_rlwinm(cpu->r[7], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 02C5613C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 02C56140 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C56140 */ _t14 = _t13 & 0x00000001u;
|
|
/* 02C56140 */ if (_t14) goto L_02C56238; else goto L_02C56144;
|
|
L_02C56144: ; // 0x2c56144
|
|
/* 02C56144 */ _t15 = cpu->r[12] + 0x0000002Cu;
|
|
/* 02C56144 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t15);
|
|
/* 02C56148 */ _t16 = cpu->r[12] + 0x00000020u;
|
|
/* 02C56148 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t16);
|
|
/* 02C5614C */ cpu->f[10] = cpu->f[13] + cpu->f[13];
|
|
/* 02C56150 */ _t17 = cpu->r[12] + 0x00000028u;
|
|
/* 02C56150 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t17);
|
|
/* 02C56154 */ cpu->f[12] = cpu->f[11] + cpu->f[11];
|
|
/* 02C56158 */ _t18 = cpu->r[12] + 0x00000024u;
|
|
/* 02C56158 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t18);
|
|
/* 02C5615C */ cpu->f[4] = cpu->f[8] + cpu->f[8];
|
|
/* 02C56160 */ cpu->f[13] = cpu->f[9] + cpu->f[9];
|
|
/* 02C56164 */ cpu->f[5] = cpu->f[12] * cpu->f[9];
|
|
/* 02C56168 */ cpu->f[6] = cpu->f[10] * cpu->f[8];
|
|
/* 02C5616C */ cpu->f[7] = cpu->f[10] * cpu->f[9];
|
|
/* 02C56170 */ cpu->f[9] = -fma(cpu->f[13], cpu->f[9], -(cpu->f[0]));
|
|
/* 02C56174 */ cpu->f[3] = -fma(cpu->f[12], cpu->f[11], -(cpu->f[0]));
|
|
/* 02C56178 */ cpu->r[11] = rbrew_rlwinm(cpu->r[11], 0x00000000u, 0x00000011u, 0x0000001Fu);
|
|
/* 02C5617C */ cpu->f[4] = cpu->f[4] * cpu->f[8];
|
|
/* 02C56180 */ cpu->r[8] = (uint32_t)((int32_t)cpu->r[11] * (int32_t)0x00000038u);
|
|
/* 02C56184 */ cpu->f[2] = cpu->f[5] + cpu->f[6];
|
|
/* 02C56188 */ cpu->f[7] = fma(cpu->f[12], cpu->f[8], cpu->f[7]);
|
|
/* 02C5618C */ cpu->f[12] = cpu->f[3] - cpu->f[4];
|
|
/* 02C56190 */ _t19 = cpu->r[1] + 0x00000014u;
|
|
/* 02C56190 */ rbrew_write_f32(cpu->mem, _t19, cpu->f[2]);
|
|
/* 02C56194 */ cpu->f[9] = cpu->f[9] - cpu->f[4];
|
|
/* 02C56198 */ _t20 = cpu->r[1] + 0x00000018u;
|
|
/* 02C56198 */ rbrew_write_f32(cpu->mem, _t20, cpu->f[12]);
|
|
/* 02C5619C */ cpu->f[12] = cpu->f[5] - cpu->f[6];
|
|
/* 02C561A0 */ _t21 = cpu->r[9] + 0x00000008u;
|
|
/* 02C561A0 */ rbrew_write_f32(cpu->mem, _t21, cpu->f[7]);
|
|
/* 02C561A4 */ cpu->f[13] = cpu->f[13] * cpu->f[8];
|
|
/* 02C561A8 */ _t22 = cpu->r[9] + 0x00000000u;
|
|
/* 02C561A8 */ rbrew_write_f32(cpu->mem, _t22, cpu->f[9]);
|
|
/* 02C561AC */ _t23 = cpu->r[9] + 0x00000004u;
|
|
/* 02C561AC */ rbrew_write_f32(cpu->mem, _t23, cpu->f[12]);
|
|
/* 02C561B0 */ cpu->f[13] = -fma(cpu->f[10], cpu->f[11], -(cpu->f[13]));
|
|
/* 02C561B4 */ /* nop */
|
|
/* 02C561B8 */ cpu->r[8] = cpu->r[5] + cpu->r[8];
|
|
/* 02C561BC */ _t24 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C561BC */ rbrew_write_f32(cpu->mem, _t24, cpu->f[13]);
|
|
/* 02C561C0 */ /* nop */
|
|
/* 02C561C4 */ /* nop */
|
|
/* 02C561C8 */ /* nop */
|
|
/* 02C561CC */ /* nop */
|
|
/* 02C561D0 */ /* nop */
|
|
/* 02C561D4 */ /* nop */
|
|
/* 02C561D8 */ /* nop */
|
|
/* 02C561DC */ /* nop */
|
|
/* 02C561E0 */ /* nop */
|
|
/* 02C561E4 */ /* nop */
|
|
/* 02C561E8 */ /* nop */
|
|
/* 02C561EC */ /* nop */
|
|
/* 02C561F0 */ /* nop */
|
|
/* 02C561F4 */ /* nop */
|
|
/* 02C561F8 */ /* nop */
|
|
/* 02C561FC */ /* nop */
|
|
/* 02C56200 */ /* nop */
|
|
/* 02C56204 */ /* nop */
|
|
/* 02C56208 */ /* nop */
|
|
/* 02C5620C */ /* nop */
|
|
/* 02C56210 */ /* nop */
|
|
/* 02C56214 */ _t25 = cpu->r[8] + 0x0000001Cu;
|
|
/* 02C56214 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t25);
|
|
/* 02C56218 */ /* nop */
|
|
/* 02C5621C */ _t26 = cpu->r[8] + 0x00000000u;
|
|
/* 02C5621C */ cpu->r[11] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02C56220 */ cpu->f[13] = cpu->f[13] + cpu->f[1];
|
|
/* 02C56224 */ /* nop */
|
|
/* 02C56228 */ _t27 = cpu->r[12] + 0x00000000u;
|
|
/* 02C56228 */ cpu->r[7] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02C5622C */ _t28 = cpu->r[8] + 0x0000001Cu;
|
|
/* 02C5622C */ rbrew_write_f32(cpu->mem, _t28, cpu->f[13]);
|
|
/* 02C56230 */ _t29 = ~cpu->r[7];
|
|
/* 02C56230 */ cpu->r[11] = cpu->r[11] | _t29;
|
|
/* 02C56234 */ _t30 = cpu->r[8] + 0x00000000u;
|
|
/* 02C56234 */ rbrew_write32(cpu->mem, _t30, cpu->r[11]);
|
|
L_02C56238: ; // 0x2c56238
|
|
/* 02C56238 */ cpu->r[12] = cpu->r[12] + 0x00000030u;
|
|
/* 02C5623C */ cpu->r[10] = cpu->r[10] + 0x00000004u;
|
|
/* 02C56240 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02C56240 */ _t31 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02C56240 */ _t32 = _t31 >> (0x00000002u & 31u);
|
|
/* 02C56240 */ _t33 = _t32 & 0x00000001u;
|
|
/* 02C56240 */ if (_t33) goto L_02C5612C; else goto L_02C56244;
|
|
L_02C56244: ; // 0x2c56244
|
|
/* 02C56244 */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 02C56248 */ return;
|
|
}
|
|
|
|
// fn_02C5624C @ 0x2c5624c
|
|
void Gambit_fn_02C5624C(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;
|
|
|
|
L_02C5624C: ; // 0x2c5624c
|
|
/* 02C5624C */ _t0 = cpu->r[1] + 0xFFFFFFB0u;
|
|
/* 02C5624C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C5624C */ cpu->r[1] = _t0;
|
|
/* 02C56250 */ _t1 = cpu->r[1] + 0x00000048u;
|
|
/* 02C56250 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02C56254 */ _t2 = cpu->r[1] + 0x00000044u;
|
|
/* 02C56254 */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
|
|
/* 02C56258 */ _t3 = cpu->r[1] + 0x0000004Cu;
|
|
/* 02C56258 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 02C5625C */ _t4 = cpu->r[4] + 0x00000050u;
|
|
/* 02C5625C */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02C56260 */ cpu->r[12] = cpu->r[12] | 0x00000008u;
|
|
/* 02C56264 */ _t5 = cpu->r[4] + 0x00000050u;
|
|
/* 02C56264 */ rbrew_write32(cpu->mem, _t5, cpu->r[12]);
|
|
/* 02C56268 */ _t6 = cpu->r[3] + 0x00000008u;
|
|
/* 02C56268 */ cpu->r[11] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02C5626C */ _t7 = cpu->r[4] + 0x0000002Cu;
|
|
/* 02C5626C */ cpu->r[12] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02C56270 */ cpu->r[11] = cpu->r[11] | 0x00000008u;
|
|
/* 02C56274 */ _t8 = cpu->r[3] + 0x00000008u;
|
|
/* 02C56274 */ rbrew_write32(cpu->mem, _t8, cpu->r[11]);
|
|
/* 02C56278 */ _t9 = cpu->r[4] + 0x00000040u;
|
|
/* 02C56278 */ cpu->r[11] = rbrew_read16(cpu->mem, _t9);
|
|
/* 02C5627C */ cpu->r[31] = cpu->r[4] + 0x00000038u;
|
|
/* 02C56280 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02C56284 */ _t10 = cpu->r[3] + 0x00000000u;
|
|
/* 02C56284 */ cpu->r[30] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02C56288 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C56288 */ _t12 = _t11 & 0x00000001u;
|
|
/* 02C56288 */ if (_t12) goto L_02C5644C; else goto L_02C5628C;
|
|
L_02C5628C: ; // 0x2c5628c
|
|
/* 02C5628C */ cpu->r[10] = 0x101B0000u;
|
|
/* 02C56290 */ cpu->r[4] = cpu->r[1] + 0x00000028u;
|
|
/* 02C56294 */ cpu->r[6] = 0x101B0000u;
|
|
/* 02C56298 */ _t13 = cpu->r[10] + 0xFFFFEE54u;
|
|
/* 02C56298 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t13);
|
|
/* 02C5629C */ cpu->r[10] = 0x101B0000u;
|
|
/* 02C562A0 */ cpu->r[5] = 0x00000000u;
|
|
/* 02C562A4 */ cpu->r[6] = cpu->r[6] + 0xFFFFF1DCu;
|
|
/* 02C562A8 */ _t14 = cpu->r[10] + 0xFFFFEE40u;
|
|
/* 02C562A8 */ cpu->f[13] = rbrew_read_f64(cpu->mem, _t14);
|
|
/* 02C562AC */ cpu->r[10] = 0x101B0000u;
|
|
/* 02C562B0 */ cpu->r[7] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C562B4 */ cpu->r[8] = cpu->r[1] + 0x0000000Au;
|
|
/* 02C562B8 */ _t15 = cpu->r[10] + 0xFFFFEE48u;
|
|
/* 02C562B8 */ cpu->f[0] = rbrew_read_f64(cpu->mem, _t15);
|
|
/* 02C562BC */ cpu->ctr = cpu->r[11];
|
|
/* 02C562C0 */ cpu->r[9] = cpu->r[1] + 0x00000008u;
|
|
L_02C562C4: ; // 0x2c562c4
|
|
/* 02C562C4 */ _t16 = cpu->r[31] + 0x00000000u;
|
|
/* 02C562C4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02C562C8 */ _t17 = cpu->r[11] + cpu->r[5];
|
|
/* 02C562C8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02C562CC */ cpu->r[11] = rbrew_rlwinm(cpu->r[10], 0x00000001u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02C562D0 */ cpu->r[3] = cpu->r[11] ^ 0x00000001u;
|
|
/* 02C562D4 */ cpu->r[11] = rbrew_rlwinm(cpu->r[3], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 02C562D4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02C562D8 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C562D8 */ _t19 = _t18 & 0x00000001u;
|
|
/* 02C562D8 */ if (_t19) goto L_02C56440; else goto L_02C562DC;
|
|
L_02C562DC: ; // 0x2c562dc
|
|
/* 02C562DC */ _t20 = cpu->r[12] + 0x00000020u;
|
|
/* 02C562DC */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t20);
|
|
/* 02C562E0 */ cpu->f[11] = fma(cpu->f[7], cpu->f[0], cpu->f[13]);
|
|
/* 02C562E4 */ _t21 = cpu->r[1] + 0x00000010u;
|
|
/* 02C562E4 */ rbrew_write_f64(cpu->mem, _t21, cpu->f[11]);
|
|
/* 02C562E8 */ _t22 = cpu->r[1] + 0x00000014u;
|
|
/* 02C562E8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02C562EC */ cpu->r[11] = rbrew_rlwinm(cpu->r[3], 0x00000018u, 0x00000010u, 0x0000001Fu);
|
|
/* 02C562F0 */ cpu->r[3] = rbrew_rlwinm(cpu->r[3], 0x0000000Cu, 0x00000014u, 0x0000001Bu);
|
|
/* 02C562F4 */ _t23 = cpu->r[1] + 0x00000008u;
|
|
/* 02C562F4 */ rbrew_write16(cpu->mem, _t23, (uint16_t)cpu->r[11]);
|
|
/* 02C562F8 */ _t24 = cpu->r[12] + 0x00000024u;
|
|
/* 02C562F8 */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t24);
|
|
/* 02C562FC */ cpu->r[3] = cpu->r[6] + cpu->r[3];
|
|
/* 02C56300 */ cpu->r[11] = rbrew_rlwinm(cpu->r[10], 0x00000000u, 0x00000011u, 0x0000001Fu);
|
|
/* 02C56304 */ /* nop */
|
|
/* 02C56308 */ cpu->f[7] = fma(cpu->f[7], cpu->f[0], cpu->f[13]);
|
|
/* 02C5630C */ cpu->r[11] = (uint32_t)((int32_t)cpu->r[11] * (int32_t)0x00000038u);
|
|
/* 02C56310 */ /* nop */
|
|
/* 02C56314 */ _t25 = cpu->r[1] + 0x00000018u;
|
|
/* 02C56314 */ rbrew_write_f64(cpu->mem, _t25, cpu->f[7]);
|
|
/* 02C56318 */ _t26 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C56318 */ cpu->r[10] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02C5631C */ cpu->r[29] = cpu->r[30] + cpu->r[11];
|
|
/* 02C56320 */ cpu->r[11] = rbrew_rlwinm(cpu->r[10], 0x00000018u, 0x00000010u, 0x0000001Fu);
|
|
/* 02C56324 */ /* nop */
|
|
/* 02C56328 */ cpu->r[10] = rbrew_rlwinm(cpu->r[10], 0x0000000Cu, 0x00000014u, 0x0000001Bu);
|
|
/* 02C5632C */ /* nop */
|
|
/* 02C56330 */ _t27 = cpu->r[1] + 0x0000000Au;
|
|
/* 02C56330 */ rbrew_write16(cpu->mem, _t27, (uint16_t)cpu->r[11]);
|
|
/* 02C56334 */ _t28 = cpu->r[12] + 0x00000028u;
|
|
/* 02C56334 */ cpu->f[6] = rbrew_read_f32(cpu->mem, _t28);
|
|
/* 02C56338 */ /* nop */
|
|
/* 02C5633C */ cpu->r[10] = cpu->r[6] + cpu->r[10];
|
|
/* 02C56340 */ /* nop */
|
|
/* 02C56344 */ cpu->f[9] = fma(cpu->f[6], cpu->f[0], cpu->f[13]);
|
|
/* 02C56348 */ /* nop */
|
|
/* 02C5634C */ /* nop */
|
|
/* 02C56350 */ /* nop */
|
|
/* 02C56354 */ _t29 = cpu->r[1] + 0x00000020u;
|
|
/* 02C56354 */ rbrew_write_f64(cpu->mem, _t29, cpu->f[9]);
|
|
/* 02C56358 */ _t30 = cpu->r[1] + 0x00000024u;
|
|
/* 02C56358 */ cpu->r[10] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02C5635C */ cpu->r[11] = rbrew_rlwinm(cpu->r[10], 0x00000018u, 0x00000010u, 0x0000001Fu);
|
|
/* 02C56360 */ cpu->r[10] = rbrew_rlwinm(cpu->r[10], 0x0000000Cu, 0x00000014u, 0x0000001Bu);
|
|
/* 02C56364 */ /* nop */
|
|
/* 02C56368 */ _t31 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C56368 */ rbrew_write16(cpu->mem, _t31, (uint16_t)cpu->r[11]);
|
|
/* 02C5636C */ cpu->r[10] = cpu->r[6] + cpu->r[10];
|
|
/* 02C56370 */ /* nop */
|
|
/* 02C56374 */ /* nop */
|
|
/* 02C56378 */ /* nop */
|
|
/* 02C5637C */ /* nop */
|
|
/* 02C56380 */ /* nop */
|
|
/* 02C56384 */ /* nop */
|
|
/* 02C56388 */ /* nop */
|
|
/* 02C5638C */ /* nop */
|
|
/* 02C56390 */ /* nop */
|
|
/* 02C56394 */ /* nop */
|
|
/* 02C56398 */ /* nop */
|
|
/* 02C5639C */ /* nop */
|
|
/* 02C563A0 */ /* nop */
|
|
/* 02C563A4 */ /* nop */
|
|
/* 02C563A8 */ /* nop */
|
|
/* 02C563AC */ _t32 = cpu->r[1] + 0x00000034u;
|
|
/* 02C563AC */ rbrew_write_f32(cpu->mem, _t32, cpu->f[7]);
|
|
/* 02C563B0 */ /* nop */
|
|
/* 02C563B4 */ /* nop */
|
|
/* 02C563B8 */ /* nop */
|
|
/* 02C563BC */ _t33 = cpu->r[4] + 0x00000000u;
|
|
/* 02C563BC */ rbrew_write_f32(cpu->mem, _t33, cpu->f[10]);
|
|
/* 02C563C0 */ /* nop */
|
|
/* 02C563C4 */ /* nop */
|
|
/* 02C563C8 */ /* nop */
|
|
/* 02C563CC */ /* nop */
|
|
/* 02C563D0 */ /* nop */
|
|
/* 02C563D4 */ /* nop */
|
|
/* 02C563D8 */ /* nop */
|
|
/* 02C563DC */ /* nop */
|
|
/* 02C563E0 */ /* nop */
|
|
/* 02C563E4 */ /* nop */
|
|
/* 02C563E8 */ /* nop */
|
|
/* 02C563EC */ /* nop */
|
|
/* 02C563F0 */ /* nop */
|
|
/* 02C563F4 */ /* nop */
|
|
/* 02C563F8 */ /* nop */
|
|
/* 02C563FC */ /* nop */
|
|
/* 02C56400 */ /* nop */
|
|
/* 02C56404 */ /* nop */
|
|
/* 02C56408 */ /* nop */
|
|
/* 02C5640C */ /* nop */
|
|
/* 02C56410 */ _t34 = cpu->r[29] + 0x0000001Cu;
|
|
/* 02C56410 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t34);
|
|
/* 02C56414 */ /* nop */
|
|
/* 02C56418 */ /* nop */
|
|
/* 02C5641C */ /* nop */
|
|
/* 02C56420 */ cpu->f[11] = cpu->f[11] + cpu->f[1];
|
|
/* 02C56424 */ /* nop */
|
|
/* 02C56428 */ _t35 = cpu->r[29] + 0x00000000u;
|
|
/* 02C56428 */ cpu->r[11] = rbrew_read32(cpu->mem, _t35);
|
|
/* 02C5642C */ /* nop */
|
|
/* 02C56430 */ _t36 = cpu->r[12] + 0x00000000u;
|
|
/* 02C56430 */ cpu->r[10] = rbrew_read32(cpu->mem, _t36);
|
|
/* 02C56434 */ _t37 = cpu->r[29] + 0x0000001Cu;
|
|
/* 02C56434 */ rbrew_write_f32(cpu->mem, _t37, cpu->f[11]);
|
|
/* 02C56438 */ _t38 = ~cpu->r[10];
|
|
/* 02C56438 */ cpu->r[11] = cpu->r[11] | _t38;
|
|
/* 02C5643C */ _t39 = cpu->r[29] + 0x00000000u;
|
|
/* 02C5643C */ rbrew_write32(cpu->mem, _t39, cpu->r[11]);
|
|
L_02C56440: ; // 0x2c56440
|
|
/* 02C56440 */ cpu->r[12] = cpu->r[12] + 0x00000030u;
|
|
/* 02C56444 */ cpu->r[5] = cpu->r[5] + 0x00000004u;
|
|
/* 02C56448 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02C56448 */ _t40 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02C56448 */ _t41 = _t40 >> (0x00000002u & 31u);
|
|
/* 02C56448 */ _t42 = _t41 & 0x00000001u;
|
|
/* 02C56448 */ if (_t42) goto L_02C562C4; else goto L_02C5644C;
|
|
L_02C5644C: ; // 0x2c5644c
|
|
/* 02C5644C */ _t43 = cpu->r[1] + 0x00000044u;
|
|
/* 02C5644C */ cpu->r[29] = rbrew_read32(cpu->mem, _t43);
|
|
/* 02C56450 */ _t44 = cpu->r[1] + 0x0000004Cu;
|
|
/* 02C56450 */ cpu->r[31] = rbrew_read32(cpu->mem, _t44);
|
|
/* 02C56454 */ _t45 = cpu->r[1] + 0x00000048u;
|
|
/* 02C56454 */ cpu->r[30] = rbrew_read32(cpu->mem, _t45);
|
|
/* 02C56458 */ cpu->r[1] = cpu->r[1] + 0x00000050u;
|
|
/* 02C5645C */ return;
|
|
}
|
|
|
|
// fn_02C56460 @ 0x2c56460
|
|
void Gambit_fn_02C56460(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, _t68, _t69, _t70, _t71, _t72, _t73, _t74, _t75, _t76, _t77, _t78, _t79, _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;
|
|
double _ft67, _ft80;
|
|
|
|
L_02C56460: ; // 0x2c56460
|
|
/* 02C56460 */ _t0 = cpu->r[1] + 0xFFFFFEF8u;
|
|
/* 02C56460 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C56460 */ cpu->r[1] = _t0;
|
|
/* 02C56464 */ _t1 = cpu->r[1] + 0x00000038u;
|
|
/* 02C56464 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[19]);
|
|
/* 02C56468 */ _t2 = cpu->r[1] + 0x00000048u;
|
|
/* 02C56468 */ rbrew_write_f64(cpu->mem, _t2, cpu->f[20]);
|
|
/* 02C5646C */ _t3 = cpu->r[1] + 0x00000058u;
|
|
/* 02C5646C */ rbrew_write_f64(cpu->mem, _t3, cpu->f[21]);
|
|
/* 02C56470 */ /* nop */
|
|
/* 02C56474 */ _t4 = cpu->r[1] + 0x00000068u;
|
|
/* 02C56474 */ rbrew_write_f64(cpu->mem, _t4, cpu->f[22]);
|
|
/* 02C56478 */ /* nop */
|
|
/* 02C5647C */ _t5 = cpu->r[1] + 0x00000078u;
|
|
/* 02C5647C */ rbrew_write_f64(cpu->mem, _t5, cpu->f[23]);
|
|
/* 02C56480 */ /* nop */
|
|
/* 02C56484 */ _t6 = cpu->r[1] + 0x00000088u;
|
|
/* 02C56484 */ rbrew_write_f64(cpu->mem, _t6, cpu->f[24]);
|
|
/* 02C56488 */ /* nop */
|
|
/* 02C5648C */ _t7 = cpu->r[1] + 0x00000098u;
|
|
/* 02C5648C */ rbrew_write_f64(cpu->mem, _t7, cpu->f[25]);
|
|
/* 02C56490 */ /* nop */
|
|
/* 02C56494 */ _t8 = cpu->r[1] + 0x000000A8u;
|
|
/* 02C56494 */ rbrew_write_f64(cpu->mem, _t8, cpu->f[26]);
|
|
/* 02C56498 */ /* nop */
|
|
/* 02C5649C */ _t9 = cpu->r[1] + 0x000000B8u;
|
|
/* 02C5649C */ rbrew_write_f64(cpu->mem, _t9, cpu->f[27]);
|
|
/* 02C564A0 */ /* nop */
|
|
/* 02C564A4 */ _t10 = cpu->r[1] + 0x000000C8u;
|
|
/* 02C564A4 */ rbrew_write_f64(cpu->mem, _t10, cpu->f[28]);
|
|
/* 02C564A8 */ /* nop */
|
|
/* 02C564AC */ _t11 = cpu->r[1] + 0x00000040u;
|
|
/* 02C564AC */ rbrew_write_f32(cpu->mem, _t11, cpu->f[19]);
|
|
/* 02C564B0 */ _t12 = cpu->r[1] + 0x00000050u;
|
|
/* 02C564B0 */ rbrew_write_f32(cpu->mem, _t12, cpu->f[20]);
|
|
/* 02C564B4 */ _t13 = cpu->r[1] + 0x00000060u;
|
|
/* 02C564B4 */ rbrew_write_f32(cpu->mem, _t13, cpu->f[21]);
|
|
/* 02C564B8 */ /* nop */
|
|
/* 02C564BC */ _t14 = cpu->r[1] + 0x00000070u;
|
|
/* 02C564BC */ rbrew_write_f32(cpu->mem, _t14, cpu->f[22]);
|
|
/* 02C564C0 */ _t15 = cpu->r[1] + 0x00000080u;
|
|
/* 02C564C0 */ rbrew_write_f32(cpu->mem, _t15, cpu->f[23]);
|
|
/* 02C564C4 */ _t16 = cpu->r[1] + 0x00000090u;
|
|
/* 02C564C4 */ rbrew_write_f32(cpu->mem, _t16, cpu->f[24]);
|
|
/* 02C564C8 */ /* nop */
|
|
/* 02C564CC */ _t17 = cpu->r[1] + 0x000000A0u;
|
|
/* 02C564CC */ rbrew_write_f32(cpu->mem, _t17, cpu->f[25]);
|
|
/* 02C564D0 */ _t18 = cpu->r[1] + 0x000000B0u;
|
|
/* 02C564D0 */ rbrew_write_f32(cpu->mem, _t18, cpu->f[26]);
|
|
/* 02C564D4 */ _t19 = cpu->r[1] + 0x000000C0u;
|
|
/* 02C564D4 */ rbrew_write_f32(cpu->mem, _t19, cpu->f[27]);
|
|
/* 02C564D8 */ cpu->r[0] = cpu->lr;
|
|
/* 02C564DC */ _t20 = cpu->r[1] + 0x000000D0u;
|
|
/* 02C564DC */ rbrew_write_f32(cpu->mem, _t20, cpu->f[28]);
|
|
/* 02C564E0 */ _t21 = cpu->r[1] + 0x000000D8u;
|
|
/* 02C564E0 */ rbrew_write_f64(cpu->mem, _t21, cpu->f[29]);
|
|
/* 02C564E4 */ /* nop */
|
|
/* 02C564E8 */ _t22 = cpu->r[1] + 0x000000E0u;
|
|
/* 02C564E8 */ rbrew_write_f32(cpu->mem, _t22, cpu->f[29]);
|
|
/* 02C564EC */ _t23 = cpu->r[1] + 0x000000E8u;
|
|
/* 02C564EC */ rbrew_write_f64(cpu->mem, _t23, cpu->f[30]);
|
|
/* 02C564F0 */ /* nop */
|
|
/* 02C564F4 */ _t24 = cpu->r[1] + 0x000000F0u;
|
|
/* 02C564F4 */ rbrew_write_f32(cpu->mem, _t24, cpu->f[30]);
|
|
/* 02C564F8 */ _t25 = cpu->r[1] + 0x000000F8u;
|
|
/* 02C564F8 */ rbrew_write_f64(cpu->mem, _t25, cpu->f[31]);
|
|
/* 02C564FC */ /* nop */
|
|
/* 02C56500 */ _t26 = cpu->r[1] + 0x00000100u;
|
|
/* 02C56500 */ rbrew_write_f32(cpu->mem, _t26, cpu->f[31]);
|
|
/* 02C56504 */ _t27 = cpu->r[1] + 0x0000010Cu;
|
|
/* 02C56504 */ rbrew_write32(cpu->mem, _t27, cpu->r[0]);
|
|
/* 02C56508 */ /* nop */
|
|
/* 02C5650C */ cpu->f[23] = cpu->f[1];
|
|
/* 02C56510 */ _t28 = cpu->r[4] + 0x00000050u;
|
|
/* 02C56510 */ cpu->r[0] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02C56514 */ cpu->r[0] = cpu->r[0] | 0x00000008u;
|
|
/* 02C56518 */ _t29 = cpu->r[4] + 0x00000050u;
|
|
/* 02C56518 */ rbrew_write32(cpu->mem, _t29, cpu->r[0]);
|
|
/* 02C5651C */ _t30 = cpu->r[3] + 0x00000008u;
|
|
/* 02C5651C */ cpu->r[5] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02C56520 */ _t31 = cpu->r[4] + 0x0000002Cu;
|
|
/* 02C56520 */ cpu->r[31] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02C56524 */ cpu->r[5] = cpu->r[5] | 0x00000008u;
|
|
/* 02C56528 */ _t32 = cpu->r[3] + 0x00000008u;
|
|
/* 02C56528 */ rbrew_write32(cpu->mem, _t32, cpu->r[5]);
|
|
/* 02C5652C */ _t33 = cpu->r[4] + 0x00000040u;
|
|
/* 02C5652C */ cpu->r[29] = rbrew_read16(cpu->mem, _t33);
|
|
/* 02C56530 */ cpu->r[28] = cpu->r[4] + 0x00000038u;
|
|
/* 02C56534 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 02C56538 */ _t34 = cpu->r[3] + 0x00000000u;
|
|
/* 02C56538 */ cpu->r[27] = rbrew_read32(cpu->mem, _t34);
|
|
/* 02C5653C */ _t35 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C5653C */ _t36 = _t35 & 0x00000001u;
|
|
/* 02C5653C */ if (_t36) goto L_02C568F0; else goto L_02C56540;
|
|
L_02C56540: ; // 0x2c56540
|
|
/* 02C56540 */ cpu->r[6] = 0x101B0000u;
|
|
/* 02C56544 */ cpu->r[4] = 0x101B0000u;
|
|
/* 02C56548 */ _t37 = cpu->r[6] + 0xFFFFEE60u;
|
|
/* 02C56548 */ cpu->f[30] = rbrew_read_f64(cpu->mem, _t37);
|
|
/* 02C5654C */ cpu->r[8] = 0x101B0000u;
|
|
/* 02C56550 */ _t38 = cpu->r[4] + 0xFFFFEE20u;
|
|
/* 02C56550 */ cpu->f[24] = rbrew_read_f32(cpu->mem, _t38);
|
|
/* 02C56554 */ cpu->r[11] = 0x101B0000u;
|
|
/* 02C56558 */ _t39 = cpu->r[8] + 0xFFFFEE14u;
|
|
/* 02C56558 */ cpu->f[28] = rbrew_read_f32(cpu->mem, _t39);
|
|
/* 02C5655C */ cpu->r[10] = 0x101B0000u;
|
|
/* 02C56560 */ _t40 = cpu->r[11] + 0xFFFFEE40u;
|
|
/* 02C56560 */ cpu->f[25] = rbrew_read_f64(cpu->mem, _t40);
|
|
/* 02C56564 */ cpu->r[11] = 0x101B0000u;
|
|
/* 02C56568 */ cpu->r[5] = 0x101B0000u;
|
|
/* 02C5656C */ _t41 = cpu->r[10] + 0xFFFFEE48u;
|
|
/* 02C5656C */ cpu->f[22] = rbrew_read_f64(cpu->mem, _t41);
|
|
/* 02C56570 */ cpu->r[30] = 0x00000000u;
|
|
/* 02C56574 */ _t42 = cpu->r[5] + 0xFFFFEE58u;
|
|
/* 02C56574 */ cpu->f[27] = rbrew_read_f32(cpu->mem, _t42);
|
|
/* 02C56578 */ cpu->r[9] = 0x101B0000u;
|
|
/* 02C5657C */ _t43 = cpu->r[11] + 0xFFFFEE30u;
|
|
/* 02C5657C */ cpu->f[29] = rbrew_read_f32(cpu->mem, _t43);
|
|
/* 02C56580 */ cpu->r[12] = 0x101B0000u;
|
|
/* 02C56584 */ _t44 = cpu->r[9] + 0xFFFFEE68u;
|
|
/* 02C56584 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t44);
|
|
/* 02C56588 */ cpu->r[26] = 0x101B0000u;
|
|
/* 02C5658C */ _t45 = cpu->r[12] + 0xFFFFEE5Cu;
|
|
/* 02C5658C */ cpu->f[26] = rbrew_read_f32(cpu->mem, _t45);
|
|
/* 02C56590 */ cpu->r[26] = cpu->r[26] + 0xFFFFF1DCu;
|
|
L_02C56594: ; // 0x2c56594
|
|
/* 02C56594 */ _t46 = cpu->r[28] + 0x00000000u;
|
|
/* 02C56594 */ cpu->r[10] = rbrew_read32(cpu->mem, _t46);
|
|
/* 02C56598 */ _t47 = cpu->r[10] + cpu->r[30];
|
|
/* 02C56598 */ cpu->r[7] = rbrew_read32(cpu->mem, _t47);
|
|
/* 02C5659C */ cpu->r[11] = rbrew_rlwinm(cpu->r[7], 0x00000001u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02C565A0 */ cpu->r[12] = cpu->r[11] ^ 0x00000001u;
|
|
/* 02C565A4 */ cpu->r[12] = rbrew_rlwinm(cpu->r[12], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 02C565A4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02C565A8 */ _t48 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C565A8 */ _t49 = _t48 & 0x00000001u;
|
|
/* 02C565A8 */ if (_t49) goto L_02C568E0; else goto L_02C565AC;
|
|
L_02C565AC: ; // 0x2c565ac
|
|
/* 02C565AC */ cpu->r[0] = rbrew_rlwinm(cpu->r[7], 0x00000000u, 0x00000011u, 0x0000001Fu);
|
|
/* 02C565B0 */ cpu->r[6] = (uint32_t)((int32_t)cpu->r[0] * (int32_t)0x00000038u);
|
|
/* 02C565B4 */ cpu->r[25] = cpu->r[27] + cpu->r[6];
|
|
/* 02C565B8 */ _t50 = cpu->r[25] + 0x0000001Cu;
|
|
/* 02C565B8 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t50);
|
|
/* 02C565BC */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[10], cpu->f[28]);
|
|
/* 02C565C0 */ cpu->f[19] = cpu->f[23];
|
|
/* 02C565C4 */ _t51 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C565C4 */ _t52 = _t51 & 0x00000001u;
|
|
/* 02C565C4 */ if (_t52) goto L_02C565C8; else goto L_02C56638;
|
|
L_02C565C8: ; // 0x2c565c8
|
|
/* 02C565C8 */ _t53 = cpu->r[31] + 0x00000020u;
|
|
/* 02C565C8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t53);
|
|
/* 02C565CC */ _t54 = cpu->r[25] + 0x00000020u;
|
|
/* 02C565CC */ rbrew_write32(cpu->mem, _t54, cpu->r[10]);
|
|
/* 02C565D0 */ _t55 = cpu->r[31] + 0x00000024u;
|
|
/* 02C565D0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t55);
|
|
/* 02C565D4 */ _t56 = cpu->r[25] + 0x00000024u;
|
|
/* 02C565D4 */ rbrew_write32(cpu->mem, _t56, cpu->r[0]);
|
|
/* 02C565D8 */ _t57 = cpu->r[31] + 0x00000028u;
|
|
/* 02C565D8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t57);
|
|
/* 02C565DC */ _t58 = cpu->r[25] + 0x00000028u;
|
|
/* 02C565DC */ rbrew_write32(cpu->mem, _t58, cpu->r[0]);
|
|
/* 02C565E0 */ _t59 = cpu->r[31] + 0x0000002Cu;
|
|
/* 02C565E0 */ cpu->r[5] = rbrew_read32(cpu->mem, _t59);
|
|
/* 02C565E4 */ /* nop */
|
|
/* 02C565E8 */ _t60 = cpu->r[25] + 0x0000002Cu;
|
|
/* 02C565E8 */ rbrew_write32(cpu->mem, _t60, cpu->r[5]);
|
|
/* 02C565EC */ /* nop */
|
|
/* 02C565F0 */ /* nop */
|
|
/* 02C565F4 */ /* nop */
|
|
/* 02C565F8 */ /* nop */
|
|
/* 02C565FC */ /* nop */
|
|
/* 02C56600 */ _t61 = cpu->r[25] + 0x0000001Cu;
|
|
/* 02C56600 */ cpu->f[6] = rbrew_read_f32(cpu->mem, _t61);
|
|
/* 02C56604 */ /* nop */
|
|
/* 02C56608 */ /* nop */
|
|
/* 02C5660C */ /* nop */
|
|
/* 02C56610 */ /* nop */
|
|
/* 02C56614 */ cpu->f[6] = cpu->f[6] + cpu->f[19];
|
|
/* 02C56618 */ /* nop */
|
|
/* 02C5661C */ _t62 = cpu->r[25] + 0x00000000u;
|
|
/* 02C5661C */ cpu->r[7] = rbrew_read32(cpu->mem, _t62);
|
|
/* 02C56620 */ /* nop */
|
|
/* 02C56624 */ _t63 = cpu->r[31] + 0x00000000u;
|
|
/* 02C56624 */ cpu->r[10] = rbrew_read32(cpu->mem, _t63);
|
|
/* 02C56628 */ _t64 = cpu->r[25] + 0x0000001Cu;
|
|
/* 02C56628 */ rbrew_write_f32(cpu->mem, _t64, cpu->f[6]);
|
|
/* 02C5662C */ _t65 = ~cpu->r[10];
|
|
/* 02C5662C */ cpu->r[7] = cpu->r[7] | _t65;
|
|
/* 02C56630 */ _t66 = cpu->r[25] + 0x00000000u;
|
|
/* 02C56630 */ rbrew_write32(cpu->mem, _t66, cpu->r[7]);
|
|
/* 02C56634 */ goto L_02C568E0;
|
|
L_02C56638: ; // 0x2c56638
|
|
/* 02C56638 */ cpu->f[8] = cpu->f[10] + cpu->f[19];
|
|
/* 02C5663C */ /* nop */
|
|
/* 02C56640 */ /* nop */
|
|
/* 02C56644 */ _ft67 = (double)(int32_t)0x00000001u;
|
|
/* 02C56644 */ cpu->f[5] = _ft67 / cpu->f[8];
|
|
/* 02C56648 */ /* nop */
|
|
/* 02C5664C */ /* nop */
|
|
/* 02C56650 */ /* nop */
|
|
/* 02C56654 */ cpu->f[10] = cpu->f[8] * cpu->f[5];
|
|
/* 02C56658 */ /* nop */
|
|
/* 02C5665C */ /* nop */
|
|
/* 02C56660 */ cpu->f[1] = fabs(cpu->f[13]);
|
|
/* 02C56664 */ cpu->f[8] = cpu->f[13];
|
|
/* 02C56668 */ cpu->f[7] = cpu->f[5] + cpu->f[5];
|
|
/* 02C5666C */ /* nop */
|
|
/* 02C56670 */ cpu->f[13] = -fma(cpu->f[10], cpu->f[5], -(cpu->f[7]));
|
|
/* 02C56674 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[1], cpu->f[26]);
|
|
/* 02C56678 */ cpu->f[20] = (double)(float)cpu->f[6];
|
|
/* 02C5667C */ cpu->f[21] = cpu->f[19] * cpu->f[13];
|
|
/* 02C56680 */ _t68 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C56680 */ _t69 = _t68 & 0x00000001u;
|
|
/* 02C56680 */ if (_t69) goto L_02C5686C; else goto L_02C56684;
|
|
L_02C56684: ; // 0x2c56684
|
|
/* 02C56684 */ Gambit_fn_02C892F8(cpu);
|
|
/* 02C56688 */ cpu->f[12] = fma(cpu->f[1], cpu->f[22], cpu->f[25]);
|
|
/* 02C5668C */ cpu->r[8] = 0x43300000u;
|
|
/* 02C56690 */ _t70 = cpu->r[1] + 0x00000010u;
|
|
/* 02C56690 */ rbrew_write_f64(cpu->mem, _t70, cpu->f[12]);
|
|
/* 02C56694 */ _t71 = cpu->r[1] + 0x00000014u;
|
|
/* 02C56694 */ cpu->r[6] = rbrew_read32(cpu->mem, _t71);
|
|
/* 02C56698 */ _t72 = cpu->r[1] + 0x00000008u;
|
|
/* 02C56698 */ rbrew_write32(cpu->mem, _t72, cpu->r[8]);
|
|
/* 02C5669C */ cpu->r[7] = rbrew_rlwinm(cpu->r[6], 0x00000000u, 0x00000008u, 0x0000001Fu);
|
|
/* 02C566A0 */ cpu->r[9] = 0x101B0000u;
|
|
/* 02C566A4 */ _t73 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C566A4 */ rbrew_write32(cpu->mem, _t73, cpu->r[7]);
|
|
/* 02C566A8 */ _t74 = cpu->r[1] + 0x00000008u;
|
|
/* 02C566A8 */ cpu->f[12] = rbrew_read_f64(cpu->mem, _t74);
|
|
/* 02C566AC */ _t75 = cpu->r[9] + 0xFFFFEE38u;
|
|
/* 02C566AC */ cpu->f[0] = rbrew_read_f64(cpu->mem, _t75);
|
|
/* 02C566B0 */ _t76 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C566B0 */ rbrew_write32(cpu->mem, _t76, cpu->r[6]);
|
|
/* 02C566B4 */ _t77 = cpu->r[1] + 0x00000008u;
|
|
/* 02C566B4 */ cpu->f[13] = rbrew_read_f64(cpu->mem, _t77);
|
|
/* 02C566B8 */ cpu->f[12] = cpu->f[12] - cpu->f[0];
|
|
/* 02C566BC */ cpu->f[0] = cpu->f[13] - cpu->f[0];
|
|
/* 02C566C0 */ cpu->r[0] = rbrew_rlwinm(cpu->r[6], 0x0000000Cu, 0x00000014u, 0x0000001Bu);
|
|
/* 02C566C4 */ cpu->f[6] = (double)(float)cpu->f[12];
|
|
/* 02C566C8 */ cpu->r[4] = cpu->r[26] + cpu->r[0];
|
|
/* 02C566CC */ cpu->f[12] = (double)(float)cpu->f[0];
|
|
/* 02C566D0 */ _t78 = cpu->r[4] + 0x00000008u;
|
|
/* 02C566D0 */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t78);
|
|
/* 02C566D4 */ cpu->f[9] = cpu->f[6] * cpu->f[24];
|
|
/* 02C566D8 */ _t79 = cpu->r[26] + cpu->r[0];
|
|
/* 02C566D8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t79);
|
|
/* 02C566DC */ cpu->f[10] = fma(cpu->f[7], cpu->f[9], cpu->f[8]);
|
|
/* 02C566E0 */ cpu->f[11] = cpu->f[21] * cpu->f[12];
|
|
/* 02C566E4 */ _ft80 = (double)(int32_t)0x00000001u;
|
|
/* 02C566E4 */ cpu->f[8] = _ft80 / cpu->f[10];
|
|
/* 02C566E8 */ cpu->f[9] = cpu->f[8] + cpu->f[8];
|
|
/* 02C566EC */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[11], cpu->f[27]);
|
|
/* 02C566F0 */ cpu->f[10] = cpu->f[10] * cpu->f[8];
|
|
/* 02C566F4 */ cpu->f[5] = -fma(cpu->f[10], cpu->f[8], -(cpu->f[9]));
|
|
/* 02C566F8 */ _t81 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C566F8 */ _t82 = _t81 & 0x00000001u;
|
|
/* 02C566F8 */ if (_t82) goto L_02C566FC; else goto L_02C567B0;
|
|
L_02C566FC: ; // 0x2c566fc
|
|
/* 02C566FC */ cpu->f[7] = (uint32_t)(int32_t)cpu->f[11];
|
|
/* 02C56700 */ cpu->r[8] = cpu->r[1] + 0x00000008u;
|
|
/* 02C56704 */ cpu->r[12] = 0x43300000u;
|
|
/* 02C56708 */ /* nop */
|
|
/* 02C5670C */ _t83 = cpu->r[1] + 0x00000008u;
|
|
/* 02C5670C */ cpu->r[0] = rbrew_read32(cpu->mem, _t83);
|
|
/* 02C56710 */ cpu->r[5] = 0x101B0000u;
|
|
/* 02C56714 */ _t84 = cpu->r[1] + 0x00000008u;
|
|
/* 02C56714 */ rbrew_write32(cpu->mem, _t84, cpu->r[12]);
|
|
/* 02C56718 */ cpu->r[8] = cpu->r[6] - cpu->r[0];
|
|
/* 02C5671C */ _t85 = cpu->r[5] + 0xFFFFEE38u;
|
|
/* 02C5671C */ cpu->f[13] = rbrew_read_f64(cpu->mem, _t85);
|
|
/* 02C56720 */ cpu->r[11] = rbrew_rlwinm(cpu->r[8], 0x00000000u, 0x00000008u, 0x0000001Fu);
|
|
/* 02C56724 */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000008u, 0x0000001Fu);
|
|
/* 02C56728 */ _t86 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C56728 */ rbrew_write32(cpu->mem, _t86, cpu->r[11]);
|
|
/* 02C5672C */ _t87 = cpu->r[1] + 0x00000008u;
|
|
/* 02C5672C */ cpu->f[9] = rbrew_read_f64(cpu->mem, _t87);
|
|
/* 02C56730 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x0000000Cu, 0x00000014u, 0x0000001Bu);
|
|
/* 02C56734 */ _t88 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C56734 */ rbrew_write32(cpu->mem, _t88, cpu->r[12]);
|
|
/* 02C56738 */ _t89 = cpu->r[1] + 0x00000008u;
|
|
/* 02C56738 */ cpu->f[12] = rbrew_read_f64(cpu->mem, _t89);
|
|
/* 02C5673C */ cpu->f[11] = cpu->f[9] - cpu->f[13];
|
|
/* 02C56740 */ cpu->r[6] = cpu->r[26] + cpu->r[0];
|
|
/* 02C56744 */ cpu->f[6] = cpu->f[12] - cpu->f[13];
|
|
/* 02C56748 */ _t90 = cpu->r[6] + 0x00000008u;
|
|
/* 02C56748 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t90);
|
|
/* 02C5674C */ cpu->f[12] = (double)(float)cpu->f[11];
|
|
/* 02C56750 */ cpu->f[10] = (double)(float)cpu->f[6];
|
|
/* 02C56754 */ cpu->r[9] = rbrew_rlwinm(cpu->r[8], 0x0000000Cu, 0x00000014u, 0x0000001Bu);
|
|
/* 02C56758 */ cpu->f[0] = cpu->f[12] * cpu->f[24];
|
|
/* 02C5675C */ _t91 = cpu->r[6] + 0x00000000u;
|
|
/* 02C5675C */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t91);
|
|
/* 02C56760 */ cpu->r[12] = cpu->r[26] + cpu->r[9];
|
|
/* 02C56764 */ cpu->f[9] = cpu->f[10] * cpu->f[24];
|
|
/* 02C56768 */ _t92 = cpu->r[12] + 0x00000008u;
|
|
/* 02C56768 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t92);
|
|
/* 02C5676C */ _t93 = cpu->r[12] + 0x00000000u;
|
|
/* 02C5676C */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t93);
|
|
/* 02C56770 */ cpu->f[11] = fma(cpu->f[8], cpu->f[9], cpu->f[12]);
|
|
/* 02C56774 */ cpu->f[6] = fma(cpu->f[13], cpu->f[0], cpu->f[7]);
|
|
/* 02C56778 */ cpu->f[21] = cpu->f[11] * cpu->f[5];
|
|
/* 02C5677C */ cpu->f[13] = cpu->f[6] * cpu->f[5];
|
|
/* 02C56780 */ /* nop */
|
|
/* 02C56784 */ cpu->f[20] = cpu->f[20] * cpu->f[21];
|
|
/* 02C56788 */ /* nop */
|
|
/* 02C5678C */ /* nop */
|
|
/* 02C56790 */ /* nop */
|
|
/* 02C56794 */ /* nop */
|
|
/* 02C56798 */ /* nop */
|
|
/* 02C5679C */ /* nop */
|
|
/* 02C567A0 */ /* nop */
|
|
/* 02C567A4 */ /* nop */
|
|
/* 02C567A8 */ /* nop */
|
|
/* 02C567AC */ goto L_02C56894;
|
|
L_02C567B0: ; // 0x2c567b0
|
|
/* 02C567B0 */ cpu->f[11] = cpu->f[11] - cpu->f[27];
|
|
/* 02C567B4 */ cpu->f[11] = (uint32_t)(int32_t)cpu->f[11];
|
|
/* 02C567B8 */ cpu->r[7] = cpu->r[1] + 0x00000008u;
|
|
/* 02C567BC */ /* nop */
|
|
/* 02C567C0 */ _t94 = cpu->r[1] + 0x00000008u;
|
|
/* 02C567C0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t94);
|
|
/* 02C567C4 */ cpu->r[5] = 0x101B0000u;
|
|
/* 02C567C8 */ cpu->r[12] = 0x43300000u;
|
|
/* 02C567CC */ cpu->r[0] = cpu->r[9] + 0x80000000u;
|
|
/* 02C567D0 */ _t95 = cpu->r[5] + 0xFFFFEE38u;
|
|
/* 02C567D0 */ cpu->f[13] = rbrew_read_f64(cpu->mem, _t95);
|
|
/* 02C567D4 */ cpu->r[8] = cpu->r[6] - cpu->r[0];
|
|
/* 02C567D8 */ _t96 = cpu->r[1] + 0x00000008u;
|
|
/* 02C567D8 */ rbrew_write32(cpu->mem, _t96, cpu->r[12]);
|
|
/* 02C567DC */ cpu->r[11] = rbrew_rlwinm(cpu->r[8], 0x00000000u, 0x00000008u, 0x0000001Fu);
|
|
/* 02C567E0 */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000008u, 0x0000001Fu);
|
|
/* 02C567E4 */ _t97 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C567E4 */ rbrew_write32(cpu->mem, _t97, cpu->r[11]);
|
|
/* 02C567E8 */ _t98 = cpu->r[1] + 0x00000008u;
|
|
/* 02C567E8 */ cpu->f[9] = rbrew_read_f64(cpu->mem, _t98);
|
|
/* 02C567EC */ _t99 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C567EC */ rbrew_write32(cpu->mem, _t99, cpu->r[12]);
|
|
/* 02C567F0 */ _t100 = cpu->r[1] + 0x00000008u;
|
|
/* 02C567F0 */ cpu->f[12] = rbrew_read_f64(cpu->mem, _t100);
|
|
/* 02C567F4 */ cpu->f[11] = cpu->f[9] - cpu->f[13];
|
|
/* 02C567F8 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x0000000Cu, 0x00000014u, 0x0000001Bu);
|
|
/* 02C567FC */ cpu->f[6] = cpu->f[12] - cpu->f[13];
|
|
/* 02C56800 */ cpu->r[6] = cpu->r[26] + cpu->r[0];
|
|
/* 02C56804 */ cpu->f[12] = (double)(float)cpu->f[11];
|
|
/* 02C56808 */ cpu->r[9] = rbrew_rlwinm(cpu->r[8], 0x0000000Cu, 0x00000014u, 0x0000001Bu);
|
|
/* 02C5680C */ cpu->f[10] = (double)(float)cpu->f[6];
|
|
/* 02C56810 */ _t101 = cpu->r[6] + 0x00000008u;
|
|
/* 02C56810 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t101);
|
|
/* 02C56814 */ cpu->f[0] = cpu->f[12] * cpu->f[24];
|
|
/* 02C56818 */ _t102 = cpu->r[6] + 0x00000000u;
|
|
/* 02C56818 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t102);
|
|
/* 02C5681C */ cpu->r[12] = cpu->r[26] + cpu->r[9];
|
|
/* 02C56820 */ cpu->f[9] = cpu->f[10] * cpu->f[24];
|
|
/* 02C56824 */ _t103 = cpu->r[12] + 0x00000000u;
|
|
/* 02C56824 */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t103);
|
|
/* 02C56828 */ _t104 = cpu->r[12] + 0x00000008u;
|
|
/* 02C56828 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t104);
|
|
/* 02C5682C */ cpu->f[11] = fma(cpu->f[8], cpu->f[9], cpu->f[12]);
|
|
/* 02C56830 */ cpu->f[6] = fma(cpu->f[13], cpu->f[0], cpu->f[7]);
|
|
/* 02C56834 */ cpu->f[21] = cpu->f[11] * cpu->f[5];
|
|
/* 02C56838 */ cpu->f[13] = cpu->f[6] * cpu->f[5];
|
|
/* 02C5683C */ /* nop */
|
|
/* 02C56840 */ cpu->f[20] = cpu->f[20] * cpu->f[21];
|
|
/* 02C56844 */ /* nop */
|
|
/* 02C56848 */ /* nop */
|
|
/* 02C5684C */ /* nop */
|
|
/* 02C56850 */ /* nop */
|
|
/* 02C56854 */ /* nop */
|
|
/* 02C56858 */ /* nop */
|
|
/* 02C5685C */ /* nop */
|
|
/* 02C56860 */ /* nop */
|
|
/* 02C56864 */ /* nop */
|
|
/* 02C56868 */ goto L_02C56894;
|
|
L_02C5686C: ; // 0x2c5686c
|
|
/* 02C5686C */ cpu->f[20] = cpu->f[20] * cpu->f[21];
|
|
/* 02C56870 */ cpu->f[13] = cpu->f[29] - cpu->f[21];
|
|
/* 02C56874 */ /* nop */
|
|
/* 02C56878 */ /* nop */
|
|
/* 02C5687C */ /* nop */
|
|
/* 02C56880 */ /* nop */
|
|
/* 02C56884 */ /* nop */
|
|
/* 02C56888 */ /* nop */
|
|
/* 02C5688C */ /* nop */
|
|
/* 02C56890 */ /* nop */
|
|
L_02C56894: ; // 0x2c56894
|
|
/* 02C56894 */ /* nop */
|
|
/* 02C56898 */ /* nop */
|
|
/* 02C5689C */ /* nop */
|
|
/* 02C568A0 */ /* nop */
|
|
/* 02C568A4 */ /* nop */
|
|
/* 02C568A8 */ /* nop */
|
|
/* 02C568AC */ _t105 = cpu->r[25] + 0x0000001Cu;
|
|
/* 02C568AC */ cpu->f[6] = rbrew_read_f32(cpu->mem, _t105);
|
|
/* 02C568B0 */ /* nop */
|
|
/* 02C568B4 */ /* nop */
|
|
/* 02C568B8 */ /* nop */
|
|
/* 02C568BC */ /* nop */
|
|
/* 02C568C0 */ cpu->f[6] = cpu->f[6] + cpu->f[19];
|
|
/* 02C568C4 */ _t106 = cpu->r[25] + 0x00000000u;
|
|
/* 02C568C4 */ cpu->r[7] = rbrew_read32(cpu->mem, _t106);
|
|
/* 02C568C8 */ /* nop */
|
|
/* 02C568CC */ /* nop */
|
|
/* 02C568D0 */ _t107 = cpu->r[31] + 0x00000000u;
|
|
/* 02C568D0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t107);
|
|
/* 02C568D4 */ _t108 = cpu->r[25] + 0x0000001Cu;
|
|
/* 02C568D4 */ rbrew_write_f32(cpu->mem, _t108, cpu->f[6]);
|
|
/* 02C568D8 */ _t109 = ~cpu->r[10];
|
|
/* 02C568D8 */ cpu->r[7] = cpu->r[7] | _t109;
|
|
/* 02C568DC */ _t110 = cpu->r[25] + 0x00000000u;
|
|
/* 02C568DC */ rbrew_write32(cpu->mem, _t110, cpu->r[7]);
|
|
L_02C568E0: ; // 0x2c568e0
|
|
/* 02C568E0 */ cpu->r[29] = cpu->r[29] + 0xFFFFFFFFu;
|
|
/* 02C568E0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 02C568E4 */ cpu->r[30] = cpu->r[30] + 0x00000004u;
|
|
/* 02C568E8 */ cpu->r[31] = cpu->r[31] + 0x00000030u;
|
|
/* 02C568EC */ _t111 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C568EC */ _t112 = _t111 & 0x00000001u;
|
|
/* 02C568EC */ if (_t112) goto L_02C568F0; else goto L_02C56594;
|
|
L_02C568F0: ; // 0x2c568f0
|
|
/* 02C568F0 */ /* nop */
|
|
/* 02C568F4 */ _t113 = cpu->r[1] + 0x00000090u;
|
|
/* 02C568F4 */ cpu->f[24] = rbrew_read_f32(cpu->mem, _t113);
|
|
/* 02C568F8 */ _t114 = cpu->r[1] + 0x00000070u;
|
|
/* 02C568F8 */ cpu->f[22] = rbrew_read_f32(cpu->mem, _t114);
|
|
/* 02C568FC */ _t115 = cpu->r[1] + 0x00000088u;
|
|
/* 02C568FC */ cpu->f[24] = rbrew_read_f64(cpu->mem, _t115);
|
|
/* 02C56900 */ _t116 = cpu->r[1] + 0x00000060u;
|
|
/* 02C56900 */ cpu->f[21] = rbrew_read_f32(cpu->mem, _t116);
|
|
/* 02C56904 */ _t117 = cpu->r[1] + 0x00000068u;
|
|
/* 02C56904 */ cpu->f[22] = rbrew_read_f64(cpu->mem, _t117);
|
|
/* 02C56908 */ _t118 = cpu->r[1] + 0x00000058u;
|
|
/* 02C56908 */ cpu->f[21] = rbrew_read_f64(cpu->mem, _t118);
|
|
/* 02C5690C */ _t119 = cpu->r[1] + 0x000000B0u;
|
|
/* 02C5690C */ cpu->f[26] = rbrew_read_f32(cpu->mem, _t119);
|
|
/* 02C56910 */ _t120 = cpu->r[1] + 0x00000080u;
|
|
/* 02C56910 */ cpu->f[23] = rbrew_read_f32(cpu->mem, _t120);
|
|
/* 02C56914 */ _t121 = cpu->r[1] + 0x000000A8u;
|
|
/* 02C56914 */ cpu->f[26] = rbrew_read_f64(cpu->mem, _t121);
|
|
/* 02C56918 */ _t122 = cpu->r[1] + 0x00000078u;
|
|
/* 02C56918 */ cpu->f[23] = rbrew_read_f64(cpu->mem, _t122);
|
|
/* 02C5691C */ _t123 = cpu->r[1] + 0x000000D0u;
|
|
/* 02C5691C */ cpu->f[28] = rbrew_read_f32(cpu->mem, _t123);
|
|
/* 02C56920 */ _t124 = cpu->r[1] + 0x000000A0u;
|
|
/* 02C56920 */ cpu->f[25] = rbrew_read_f32(cpu->mem, _t124);
|
|
/* 02C56924 */ _t125 = cpu->r[1] + 0x000000C8u;
|
|
/* 02C56924 */ cpu->f[28] = rbrew_read_f64(cpu->mem, _t125);
|
|
/* 02C56928 */ _t126 = cpu->r[1] + 0x00000098u;
|
|
/* 02C56928 */ cpu->f[25] = rbrew_read_f64(cpu->mem, _t126);
|
|
/* 02C5692C */ _t127 = cpu->r[1] + 0x000000F0u;
|
|
/* 02C5692C */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t127);
|
|
/* 02C56930 */ _t128 = cpu->r[1] + 0x000000C0u;
|
|
/* 02C56930 */ cpu->f[27] = rbrew_read_f32(cpu->mem, _t128);
|
|
/* 02C56934 */ _t129 = cpu->r[1] + 0x000000E8u;
|
|
/* 02C56934 */ cpu->f[30] = rbrew_read_f64(cpu->mem, _t129);
|
|
/* 02C56938 */ _t130 = cpu->r[1] + 0x000000B8u;
|
|
/* 02C56938 */ cpu->f[27] = rbrew_read_f64(cpu->mem, _t130);
|
|
/* 02C5693C */ _t131 = cpu->r[1] + 0x00000050u;
|
|
/* 02C5693C */ cpu->f[20] = rbrew_read_f32(cpu->mem, _t131);
|
|
/* 02C56940 */ _t132 = cpu->r[1] + 0x000000E0u;
|
|
/* 02C56940 */ cpu->f[29] = rbrew_read_f32(cpu->mem, _t132);
|
|
/* 02C56944 */ _t133 = cpu->r[1] + 0x00000048u;
|
|
/* 02C56944 */ cpu->f[20] = rbrew_read_f64(cpu->mem, _t133);
|
|
/* 02C56948 */ _t134 = cpu->r[1] + 0x000000D8u;
|
|
/* 02C56948 */ cpu->f[29] = rbrew_read_f64(cpu->mem, _t134);
|
|
/* 02C5694C */ _t135 = cpu->r[1] + 0x00000040u;
|
|
/* 02C5694C */ cpu->f[19] = rbrew_read_f32(cpu->mem, _t135);
|
|
/* 02C56950 */ _t136 = cpu->r[1] + 0x00000100u;
|
|
/* 02C56950 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t136);
|
|
/* 02C56954 */ _t137 = cpu->r[1] + 0x00000038u;
|
|
/* 02C56954 */ cpu->f[19] = rbrew_read_f64(cpu->mem, _t137);
|
|
/* 02C56958 */ _t138 = cpu->r[1] + 0x000000F8u;
|
|
/* 02C56958 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t138);
|
|
/* 02C5695C */ _t139 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C5695C */ _t140 = _t139 & 0x00000001u;
|
|
/* 02C5695C */ if (_t140) goto L_02C56960; // else: addr-0 trap, fall-through
|
|
L_02C56960: ; // 0x2c56960
|
|
/* 02C56960 */ _t141 = cpu->r[1] + 0x0000010Cu;
|
|
/* 02C56960 */ cpu->r[0] = rbrew_read32(cpu->mem, _t141);
|
|
/* 02C56964 */ cpu->lr = cpu->r[0];
|
|
/* 02C56968 */ cpu->r[1] = cpu->r[1] + 0x00000108u;
|
|
/* 02C5696C */ return;
|
|
}
|
|
|
|
// fn_02C56970 @ 0x2c56970
|
|
void Gambit_fn_02C56970(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, _t101, _t102, _t103, _t104, _t105, _t106, _t107, _t108, _t109, _t110, _t114, _t115, _t116, _t117, _t118, _t119, _t120, _t121, _t122, _t123, _t124, _t125, _t126, _t127, _t129, _t130, _t131, _t132, _t133, _t134, _t135, _t136, _t137, _t138, _t142, _t143, _t144, _t145, _t146, _t147, _t148, _t149, _t150, _t151, _t152, _t153, _t154, _t155, _t157, _t158, _t159, _t160, _t161, _t162, _t163, _t164, _t165, _t166, _t170, _t171, _t172, _t173, _t174, _t175, _t176, _t177, _t178, _t179, _t180, _t181, _t183, _t184, _t185, _t186, _t187, _t188, _t189, _t190, _t191, _t192, _t196, _t197, _t198, _t199, _t200, _t201, _t202, _t203, _t204, _t205, _t206, _t207, _t208, _t209, _t211, _t212, _t213, _t214, _t216, _t217, _t221, _t222, _t223, _t224, _t226, _t227, _t228, _t229, _t230, _t231, _t233, _t234, _t235, _t236, _t238, _t239, _t243, _t244, _t245, _t246, _t248, _t249, _t250, _t251, _t252, _t253, _t255, _t256, _t257, _t258, _t260, _t261, _t265, _t266, _t267, _t268, _t270, _t271, _t272, _t273, _t275, _t276, _t277, _t278, _t282, _t283, _t284, _t285, _t287, _t288, _t289, _t290, _t291, _t292, _t293, _t294, _t295, _t296, _t297, _t298, _t300, _t301, _t302, _t303, _t304, _t305, _t306, _t307, _t308, _t309, _t310, _t311, _t312, _t313, _t314, _t315, _t316, _t317, _t318, _t319, _t320, _t321, _t322, _t323, _t324, _t325, _t326, _t327, _t328, _t329, _t330, _t331, _t332, _t333, _t334, _t335, _t336, _t337, _t338, _t339, _t340, _t341, _t342, _t343, _t344, _t345, _t346, _t347, _t348, _t349, _t350, _t351, _t352, _t353, _t354, _t355, _t356, _t357, _t358, _t359, _t360, _t361, _t362, _t363, _t364, _t365, _t366, _t367, _t368, _t369, _t370;
|
|
double _ft100, _ft111, _ft112, _ft113, _ft128, _ft139, _ft140, _ft141, _ft156, _ft167, _ft168, _ft169, _ft182, _ft193, _ft194, _ft195, _ft210, _ft215, _ft218, _ft219, _ft220, _ft225, _ft232, _ft237, _ft240, _ft241, _ft242, _ft247, _ft254, _ft259, _ft262, _ft263, _ft264, _ft269, _ft274, _ft279, _ft280, _ft281, _ft286, _ft299;
|
|
|
|
L_02C56970: ; // 0x2c56970
|
|
/* 02C56970 */ _t0 = cpu->r[1] + 0xFFFFFE78u;
|
|
/* 02C56970 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C56970 */ cpu->r[1] = _t0;
|
|
/* 02C56974 */ _t1 = cpu->r[1] + 0x00000068u;
|
|
/* 02C56974 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[14]);
|
|
/* 02C56978 */ _t2 = cpu->r[1] + 0x00000078u;
|
|
/* 02C56978 */ rbrew_write_f64(cpu->mem, _t2, cpu->f[15]);
|
|
/* 02C5697C */ _t3 = cpu->r[1] + 0x00000088u;
|
|
/* 02C5697C */ rbrew_write_f64(cpu->mem, _t3, cpu->f[16]);
|
|
/* 02C56980 */ /* nop */
|
|
/* 02C56984 */ _t4 = cpu->r[1] + 0x00000098u;
|
|
/* 02C56984 */ rbrew_write_f64(cpu->mem, _t4, cpu->f[17]);
|
|
/* 02C56988 */ /* nop */
|
|
/* 02C5698C */ _t5 = cpu->r[1] + 0x000000A8u;
|
|
/* 02C5698C */ rbrew_write_f64(cpu->mem, _t5, cpu->f[18]);
|
|
/* 02C56990 */ /* nop */
|
|
/* 02C56994 */ _t6 = cpu->r[1] + 0x000000B8u;
|
|
/* 02C56994 */ rbrew_write_f64(cpu->mem, _t6, cpu->f[19]);
|
|
/* 02C56998 */ /* nop */
|
|
/* 02C5699C */ _t7 = cpu->r[1] + 0x000000C8u;
|
|
/* 02C5699C */ rbrew_write_f64(cpu->mem, _t7, cpu->f[20]);
|
|
/* 02C569A0 */ /* nop */
|
|
/* 02C569A4 */ _t8 = cpu->r[1] + 0x000000D8u;
|
|
/* 02C569A4 */ rbrew_write_f64(cpu->mem, _t8, cpu->f[21]);
|
|
/* 02C569A8 */ /* nop */
|
|
/* 02C569AC */ _t9 = cpu->r[1] + 0x000000E8u;
|
|
/* 02C569AC */ rbrew_write_f64(cpu->mem, _t9, cpu->f[22]);
|
|
/* 02C569B0 */ /* nop */
|
|
/* 02C569B4 */ _t10 = cpu->r[1] + 0x000000F8u;
|
|
/* 02C569B4 */ rbrew_write_f64(cpu->mem, _t10, cpu->f[23]);
|
|
/* 02C569B8 */ /* nop */
|
|
/* 02C569BC */ _t11 = cpu->r[1] + 0x00000070u;
|
|
/* 02C569BC */ rbrew_write_f32(cpu->mem, _t11, cpu->f[14]);
|
|
/* 02C569C0 */ _t12 = cpu->r[1] + 0x00000080u;
|
|
/* 02C569C0 */ rbrew_write_f32(cpu->mem, _t12, cpu->f[15]);
|
|
/* 02C569C4 */ _t13 = cpu->r[1] + 0x00000090u;
|
|
/* 02C569C4 */ rbrew_write_f32(cpu->mem, _t13, cpu->f[16]);
|
|
/* 02C569C8 */ /* nop */
|
|
/* 02C569CC */ _t14 = cpu->r[1] + 0x000000A0u;
|
|
/* 02C569CC */ rbrew_write_f32(cpu->mem, _t14, cpu->f[17]);
|
|
/* 02C569D0 */ _t15 = cpu->r[1] + 0x000000B0u;
|
|
/* 02C569D0 */ rbrew_write_f32(cpu->mem, _t15, cpu->f[18]);
|
|
/* 02C569D4 */ _t16 = cpu->r[1] + 0x000000C0u;
|
|
/* 02C569D4 */ rbrew_write_f32(cpu->mem, _t16, cpu->f[19]);
|
|
/* 02C569D8 */ /* nop */
|
|
/* 02C569DC */ _t17 = cpu->r[1] + 0x000000D0u;
|
|
/* 02C569DC */ rbrew_write_f32(cpu->mem, _t17, cpu->f[20]);
|
|
/* 02C569E0 */ _t18 = cpu->r[1] + 0x000000E0u;
|
|
/* 02C569E0 */ rbrew_write_f32(cpu->mem, _t18, cpu->f[21]);
|
|
/* 02C569E4 */ _t19 = cpu->r[1] + 0x000000F0u;
|
|
/* 02C569E4 */ rbrew_write_f32(cpu->mem, _t19, cpu->f[22]);
|
|
/* 02C569E8 */ cpu->r[0] = cpu->lr;
|
|
/* 02C569EC */ _t20 = cpu->r[1] + 0x00000100u;
|
|
/* 02C569EC */ rbrew_write_f32(cpu->mem, _t20, cpu->f[23]);
|
|
/* 02C569F0 */ _t21 = cpu->r[1] + 0x00000108u;
|
|
/* 02C569F0 */ rbrew_write_f64(cpu->mem, _t21, cpu->f[24]);
|
|
/* 02C569F4 */ /* nop */
|
|
/* 02C569F8 */ _t22 = cpu->r[1] + 0x00000110u;
|
|
/* 02C569F8 */ rbrew_write_f32(cpu->mem, _t22, cpu->f[24]);
|
|
/* 02C569FC */ _t23 = cpu->r[1] + 0x00000118u;
|
|
/* 02C569FC */ rbrew_write_f64(cpu->mem, _t23, cpu->f[25]);
|
|
/* 02C56A00 */ /* nop */
|
|
/* 02C56A04 */ _t24 = cpu->r[1] + 0x00000120u;
|
|
/* 02C56A04 */ rbrew_write_f32(cpu->mem, _t24, cpu->f[25]);
|
|
/* 02C56A08 */ _t25 = cpu->r[1] + 0x00000128u;
|
|
/* 02C56A08 */ rbrew_write_f64(cpu->mem, _t25, cpu->f[26]);
|
|
/* 02C56A0C */ /* nop */
|
|
/* 02C56A10 */ _t26 = cpu->r[1] + 0x00000130u;
|
|
/* 02C56A10 */ rbrew_write_f32(cpu->mem, _t26, cpu->f[26]);
|
|
/* 02C56A14 */ _t27 = cpu->r[1] + 0x00000138u;
|
|
/* 02C56A14 */ rbrew_write_f64(cpu->mem, _t27, cpu->f[27]);
|
|
/* 02C56A18 */ /* nop */
|
|
/* 02C56A1C */ _t28 = cpu->r[1] + 0x00000140u;
|
|
/* 02C56A1C */ rbrew_write_f32(cpu->mem, _t28, cpu->f[27]);
|
|
/* 02C56A20 */ _t29 = cpu->r[1] + 0x00000148u;
|
|
/* 02C56A20 */ rbrew_write_f64(cpu->mem, _t29, cpu->f[28]);
|
|
/* 02C56A24 */ /* nop */
|
|
/* 02C56A28 */ /* nop */
|
|
/* 02C56A2C */ _t30 = cpu->r[1] + 0x0000018Cu;
|
|
/* 02C56A2C */ rbrew_write32(cpu->mem, _t30, cpu->r[0]);
|
|
/* 02C56A30 */ _t31 = cpu->r[1] + 0x00000158u;
|
|
/* 02C56A30 */ rbrew_write_f64(cpu->mem, _t31, cpu->f[29]);
|
|
/* 02C56A34 */ _t32 = cpu->r[1] + 0x00000150u;
|
|
/* 02C56A34 */ rbrew_write_f32(cpu->mem, _t32, cpu->f[28]);
|
|
/* 02C56A38 */ /* nop */
|
|
/* 02C56A3C */ _t33 = cpu->r[1] + 0x00000160u;
|
|
/* 02C56A3C */ rbrew_write_f32(cpu->mem, _t33, cpu->f[29]);
|
|
/* 02C56A40 */ _t34 = cpu->r[1] + 0x00000168u;
|
|
/* 02C56A40 */ rbrew_write_f64(cpu->mem, _t34, cpu->f[30]);
|
|
/* 02C56A44 */ _t35 = cpu->r[1] + 0x00000178u;
|
|
/* 02C56A44 */ rbrew_write_f64(cpu->mem, _t35, cpu->f[31]);
|
|
/* 02C56A48 */ /* nop */
|
|
/* 02C56A4C */ _t36 = cpu->r[1] + 0x00000170u;
|
|
/* 02C56A4C */ rbrew_write_f32(cpu->mem, _t36, cpu->f[30]);
|
|
/* 02C56A50 */ /* nop */
|
|
/* 02C56A54 */ _t37 = cpu->r[1] + 0x00000180u;
|
|
/* 02C56A54 */ rbrew_write_f32(cpu->mem, _t37, cpu->f[31]);
|
|
/* 02C56A58 */ _t38 = cpu->r[4] + 0x00000050u;
|
|
/* 02C56A58 */ cpu->r[6] = rbrew_read32(cpu->mem, _t38);
|
|
/* 02C56A5C */ cpu->r[6] = cpu->r[6] | 0x00000008u;
|
|
/* 02C56A60 */ _t39 = cpu->r[4] + 0x00000050u;
|
|
/* 02C56A60 */ rbrew_write32(cpu->mem, _t39, cpu->r[6]);
|
|
/* 02C56A64 */ _t40 = cpu->r[3] + 0x00000008u;
|
|
/* 02C56A64 */ cpu->r[0] = rbrew_read32(cpu->mem, _t40);
|
|
/* 02C56A68 */ _t41 = cpu->r[4] + 0x0000002Cu;
|
|
/* 02C56A68 */ cpu->r[31] = rbrew_read32(cpu->mem, _t41);
|
|
/* 02C56A6C */ cpu->r[0] = cpu->r[0] | 0x00000008u;
|
|
/* 02C56A70 */ _t42 = cpu->r[3] + 0x00000008u;
|
|
/* 02C56A70 */ rbrew_write32(cpu->mem, _t42, cpu->r[0]);
|
|
/* 02C56A74 */ _t43 = cpu->r[4] + 0x00000040u;
|
|
/* 02C56A74 */ cpu->r[29] = rbrew_read16(cpu->mem, _t43);
|
|
/* 02C56A78 */ cpu->f[31] = cpu->f[1];
|
|
/* 02C56A7C */ cpu->r[28] = cpu->r[4] + 0x00000038u;
|
|
/* 02C56A80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 02C56A84 */ _t44 = cpu->r[3] + 0x00000000u;
|
|
/* 02C56A84 */ cpu->r[27] = rbrew_read32(cpu->mem, _t44);
|
|
/* 02C56A88 */ _t45 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C56A88 */ _t46 = _t45 & 0x00000001u;
|
|
/* 02C56A88 */ if (_t46) goto L_02C578E4; else goto L_02C56A8C;
|
|
L_02C56A8C: ; // 0x2c56a8c
|
|
/* 02C56A8C */ cpu->r[11] = 0x101B0000u;
|
|
/* 02C56A90 */ cpu->r[7] = 0x101B0000u;
|
|
/* 02C56A94 */ _t47 = cpu->r[11] + 0xFFFFEE70u;
|
|
/* 02C56A94 */ cpu->f[17] = rbrew_read_f32(cpu->mem, _t47);
|
|
/* 02C56A98 */ cpu->r[4] = 0x101B0000u;
|
|
/* 02C56A9C */ _t48 = cpu->r[7] + 0xFFFFEE18u;
|
|
/* 02C56A9C */ cpu->f[20] = rbrew_read_f32(cpu->mem, _t48);
|
|
/* 02C56AA0 */ cpu->r[8] = 0x101B0000u;
|
|
/* 02C56AA4 */ _t49 = cpu->r[4] + 0xFFFFEE60u;
|
|
/* 02C56AA4 */ cpu->f[28] = rbrew_read_f64(cpu->mem, _t49);
|
|
/* 02C56AA8 */ cpu->r[4] = 0x101B0000u;
|
|
/* 02C56AAC */ _t50 = cpu->r[8] + 0xFFFFEE58u;
|
|
/* 02C56AAC */ cpu->f[25] = rbrew_read_f32(cpu->mem, _t50);
|
|
/* 02C56AB0 */ cpu->r[8] = 0x101B0000u;
|
|
/* 02C56AB4 */ cpu->r[5] = 0x101B0000u;
|
|
/* 02C56AB8 */ _t51 = cpu->r[4] + 0xFFFFEE30u;
|
|
/* 02C56AB8 */ cpu->f[26] = rbrew_read_f32(cpu->mem, _t51);
|
|
/* 02C56ABC */ cpu->r[6] = 0x101B0000u;
|
|
/* 02C56AC0 */ _t52 = cpu->r[5] + 0xFFFFEE5Cu;
|
|
/* 02C56AC0 */ cpu->f[27] = rbrew_read_f32(cpu->mem, _t52);
|
|
/* 02C56AC4 */ cpu->r[5] = 0x101B0000u;
|
|
/* 02C56AC8 */ _t53 = cpu->r[8] + 0xFFFFEE48u;
|
|
/* 02C56AC8 */ cpu->f[24] = rbrew_read_f64(cpu->mem, _t53);
|
|
/* 02C56ACC */ cpu->r[8] = 0x101B0000u;
|
|
/* 02C56AD0 */ _t54 = cpu->r[5] + 0xFFFFEE14u;
|
|
/* 02C56AD0 */ cpu->f[18] = rbrew_read_f32(cpu->mem, _t54);
|
|
/* 02C56AD4 */ cpu->r[26] = 0x101B0000u;
|
|
/* 02C56AD8 */ cpu->r[12] = 0x101B0000u;
|
|
/* 02C56ADC */ _t55 = cpu->r[8] + 0xFFFFEE40u;
|
|
/* 02C56ADC */ cpu->f[23] = rbrew_read_f64(cpu->mem, _t55);
|
|
/* 02C56AE0 */ cpu->r[26] = cpu->r[26] + 0xFFFFF1DCu;
|
|
/* 02C56AE4 */ cpu->r[11] = 0x101B0000u;
|
|
/* 02C56AE8 */ _t56 = cpu->r[12] + 0xFFFFEE68u;
|
|
/* 02C56AE8 */ cpu->f[29] = rbrew_read_f64(cpu->mem, _t56);
|
|
/* 02C56AEC */ cpu->r[9] = 0x101B0000u;
|
|
/* 02C56AF0 */ _t57 = cpu->r[11] + 0xFFFFEE20u;
|
|
/* 02C56AF0 */ cpu->f[22] = rbrew_read_f32(cpu->mem, _t57);
|
|
/* 02C56AF4 */ _t58 = cpu->r[6] + 0xFFFFEE74u;
|
|
/* 02C56AF4 */ cpu->f[19] = rbrew_read_f32(cpu->mem, _t58);
|
|
/* 02C56AF8 */ _t59 = cpu->r[9] + 0xFFFFEE1Cu;
|
|
/* 02C56AF8 */ cpu->f[21] = rbrew_read_f32(cpu->mem, _t59);
|
|
/* 02C56AFC */ cpu->r[30] = 0x00000000u;
|
|
L_02C56B00: ; // 0x2c56b00
|
|
/* 02C56B00 */ _t60 = cpu->r[28] + 0x00000000u;
|
|
/* 02C56B00 */ cpu->r[9] = rbrew_read32(cpu->mem, _t60);
|
|
/* 02C56B04 */ _t61 = cpu->r[9] + cpu->r[30];
|
|
/* 02C56B04 */ cpu->r[7] = rbrew_read32(cpu->mem, _t61);
|
|
/* 02C56B08 */ cpu->r[11] = rbrew_rlwinm(cpu->r[7], 0x00000001u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02C56B0C */ cpu->r[0] = cpu->r[11] ^ 0x00000001u;
|
|
/* 02C56B10 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 02C56B10 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C56B14 */ _t62 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C56B14 */ _t63 = _t62 & 0x00000001u;
|
|
/* 02C56B14 */ if (_t63) goto L_02C578D4; else goto L_02C56B18;
|
|
L_02C56B18: ; // 0x2c56b18
|
|
/* 02C56B18 */ _t64 = cpu->r[31] + 0x00000020u;
|
|
/* 02C56B18 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t64);
|
|
/* 02C56B1C */ cpu->r[4] = rbrew_rlwinm(cpu->r[7], 0x00000000u, 0x00000011u, 0x0000001Fu);
|
|
/* 02C56B20 */ cpu->f[9] = fma(cpu->f[12], cpu->f[24], cpu->f[23]);
|
|
/* 02C56B24 */ cpu->r[0] = (uint32_t)((int32_t)cpu->r[4] * (int32_t)0x00000038u);
|
|
/* 02C56B28 */ cpu->r[10] = 0x43300000u;
|
|
/* 02C56B2C */ _t65 = cpu->r[1] + 0x00000028u;
|
|
/* 02C56B2C */ rbrew_write_f64(cpu->mem, _t65, cpu->f[9]);
|
|
/* 02C56B30 */ _t66 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02C56B30 */ cpu->r[5] = rbrew_read32(cpu->mem, _t66);
|
|
/* 02C56B34 */ cpu->r[6] = 0x101B0000u;
|
|
/* 02C56B38 */ _t67 = cpu->r[1] + 0x00000010u;
|
|
/* 02C56B38 */ rbrew_write32(cpu->mem, _t67, cpu->r[10]);
|
|
/* 02C56B3C */ cpu->r[8] = rbrew_rlwinm(cpu->r[5], 0x00000000u, 0x00000008u, 0x0000001Fu);
|
|
/* 02C56B40 */ cpu->r[4] = rbrew_rlwinm(cpu->r[5], 0x0000000Cu, 0x00000014u, 0x0000001Bu);
|
|
/* 02C56B44 */ _t68 = cpu->r[6] + 0xFFFFEE38u;
|
|
/* 02C56B44 */ cpu->f[10] = rbrew_read_f64(cpu->mem, _t68);
|
|
/* 02C56B48 */ _t69 = cpu->r[1] + 0x00000014u;
|
|
/* 02C56B48 */ rbrew_write32(cpu->mem, _t69, cpu->r[8]);
|
|
/* 02C56B4C */ _t70 = cpu->r[1] + 0x00000010u;
|
|
/* 02C56B4C */ cpu->f[12] = rbrew_read_f64(cpu->mem, _t70);
|
|
/* 02C56B50 */ cpu->r[7] = cpu->r[26] + cpu->r[4];
|
|
/* 02C56B54 */ _t71 = cpu->r[31] + 0x00000024u;
|
|
/* 02C56B54 */ cpu->f[6] = rbrew_read_f32(cpu->mem, _t71);
|
|
/* 02C56B58 */ cpu->f[13] = cpu->f[12] - cpu->f[10];
|
|
/* 02C56B5C */ _t72 = cpu->r[7] + 0x00000004u;
|
|
/* 02C56B5C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t72);
|
|
/* 02C56B60 */ cpu->f[7] = fma(cpu->f[6], cpu->f[24], cpu->f[23]);
|
|
/* 02C56B64 */ _t73 = cpu->r[7] + 0x00000000u;
|
|
/* 02C56B64 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t73);
|
|
/* 02C56B68 */ cpu->f[11] = (double)(float)cpu->f[13];
|
|
/* 02C56B6C */ _t74 = cpu->r[7] + 0x00000008u;
|
|
/* 02C56B6C */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t74);
|
|
/* 02C56B70 */ cpu->f[14] = cpu->f[31];
|
|
/* 02C56B74 */ _t75 = cpu->r[1] + 0x00000030u;
|
|
/* 02C56B74 */ rbrew_write_f64(cpu->mem, _t75, cpu->f[7]);
|
|
/* 02C56B78 */ _t76 = cpu->r[1] + 0x00000034u;
|
|
/* 02C56B78 */ cpu->r[9] = rbrew_read32(cpu->mem, _t76);
|
|
/* 02C56B7C */ cpu->f[11] = cpu->f[11] * cpu->f[22];
|
|
/* 02C56B80 */ _t77 = cpu->r[7] + 0x0000000Cu;
|
|
/* 02C56B80 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t77);
|
|
/* 02C56B84 */ cpu->r[11] = rbrew_rlwinm(cpu->r[9], 0x00000000u, 0x00000008u, 0x0000001Fu);
|
|
/* 02C56B88 */ _t78 = cpu->r[31] + 0x00000028u;
|
|
/* 02C56B88 */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t78);
|
|
/* 02C56B8C */ _t79 = cpu->r[1] + 0x00000014u;
|
|
/* 02C56B8C */ rbrew_write32(cpu->mem, _t79, cpu->r[11]);
|
|
/* 02C56B90 */ _t80 = cpu->r[1] + 0x00000010u;
|
|
/* 02C56B90 */ cpu->f[13] = rbrew_read_f64(cpu->mem, _t80);
|
|
/* 02C56B94 */ cpu->f[8] = fma(cpu->f[8], cpu->f[11], cpu->f[9]);
|
|
/* 02C56B98 */ cpu->f[6] = cpu->f[13] - cpu->f[10];
|
|
/* 02C56B9C */ cpu->f[13] = fma(cpu->f[7], cpu->f[24], cpu->f[23]);
|
|
/* 02C56BA0 */ cpu->f[9] = (double)(float)cpu->f[6];
|
|
/* 02C56BA4 */ cpu->r[10] = rbrew_rlwinm(cpu->r[9], 0x0000000Cu, 0x00000014u, 0x0000001Bu);
|
|
/* 02C56BA8 */ _t81 = cpu->r[1] + 0x00000038u;
|
|
/* 02C56BA8 */ rbrew_write_f64(cpu->mem, _t81, cpu->f[13]);
|
|
/* 02C56BAC */ _t82 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02C56BAC */ cpu->r[12] = rbrew_read32(cpu->mem, _t82);
|
|
/* 02C56BB0 */ cpu->f[6] = fma(cpu->f[12], cpu->f[11], cpu->f[0]);
|
|
/* 02C56BB4 */ cpu->r[11] = cpu->r[26] + cpu->r[10];
|
|
/* 02C56BB8 */ _t83 = cpu->r[26] + cpu->r[10];
|
|
/* 02C56BB8 */ cpu->r[5] = rbrew_read32(cpu->mem, _t83);
|
|
/* 02C56BBC */ cpu->r[10] = rbrew_rlwinm(cpu->r[12], 0x00000000u, 0x00000008u, 0x0000001Fu);
|
|
/* 02C56BC0 */ cpu->f[0] = cpu->f[9] * cpu->f[22];
|
|
/* 02C56BC4 */ _t84 = cpu->r[1] + 0x00000014u;
|
|
/* 02C56BC4 */ rbrew_write32(cpu->mem, _t84, cpu->r[10]);
|
|
/* 02C56BC8 */ _t85 = cpu->r[1] + 0x00000010u;
|
|
/* 02C56BC8 */ cpu->f[13] = rbrew_read_f64(cpu->mem, _t85);
|
|
/* 02C56BCC */ _t86 = cpu->r[11] + 0x00000008u;
|
|
/* 02C56BCC */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t86);
|
|
/* 02C56BD0 */ cpu->f[7] = cpu->f[13] - cpu->f[10];
|
|
/* 02C56BD4 */ cpu->r[12] = rbrew_rlwinm(cpu->r[12], 0x0000000Cu, 0x00000014u, 0x0000001Bu);
|
|
/* 02C56BD8 */ cpu->f[1] = fma(cpu->f[9], cpu->f[0], cpu->f[5]);
|
|
/* 02C56BDC */ _t87 = cpu->r[11] + 0x0000000Cu;
|
|
/* 02C56BDC */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t87);
|
|
/* 02C56BE0 */ cpu->f[9] = (double)(float)cpu->f[7];
|
|
/* 02C56BE4 */ _t88 = cpu->r[26] + cpu->r[12];
|
|
/* 02C56BE4 */ cpu->r[13] = rbrew_read32(cpu->mem, _t88);
|
|
/* 02C56BE8 */ cpu->f[3] = -cpu->f[1];
|
|
/* 02C56BEC */ _t89 = cpu->r[11] + 0x00000004u;
|
|
/* 02C56BEC */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t89);
|
|
/* 02C56BF0 */ cpu->r[5] = cpu->r[26] + cpu->r[12];
|
|
/* 02C56BF4 */ cpu->f[9] = cpu->f[9] * cpu->f[22];
|
|
/* 02C56BF8 */ _t90 = cpu->r[5] + 0x00000008u;
|
|
/* 02C56BF8 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t90);
|
|
/* 02C56BFC */ cpu->f[7] = fma(cpu->f[12], cpu->f[0], cpu->f[7]);
|
|
/* 02C56C00 */ _t91 = cpu->r[5] + 0x00000004u;
|
|
/* 02C56C00 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t91);
|
|
/* 02C56C04 */ cpu->f[11] = fma(cpu->f[10], cpu->f[9], cpu->f[13]);
|
|
/* 02C56C08 */ _t92 = cpu->r[5] + 0x0000000Cu;
|
|
/* 02C56C08 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t92);
|
|
/* 02C56C0C */ cpu->f[10] = cpu->f[8] * cpu->f[1];
|
|
/* 02C56C10 */ cpu->f[0] = fma(cpu->f[13], cpu->f[9], cpu->f[0]);
|
|
/* 02C56C14 */ cpu->f[13] = cpu->f[6] * cpu->f[11];
|
|
/* 02C56C18 */ cpu->f[2] = cpu->f[6] * cpu->f[0];
|
|
/* 02C56C1C */ cpu->f[4] = fma(cpu->f[10], cpu->f[0], -(cpu->f[13]));
|
|
/* 02C56C20 */ cpu->f[9] = fma(cpu->f[10], cpu->f[11], cpu->f[2]);
|
|
/* 02C56C24 */ cpu->f[12] = cpu->f[7] * cpu->f[0];
|
|
/* 02C56C28 */ cpu->f[30] = cpu->f[8] * cpu->f[11];
|
|
/* 02C56C2C */ cpu->r[25] = cpu->r[27] + cpu->r[0];
|
|
/* 02C56C30 */ cpu->f[10] = cpu->f[6] * cpu->f[7];
|
|
/* 02C56C34 */ _t93 = cpu->r[25] + 0x0000001Cu;
|
|
/* 02C56C34 */ cpu->f[6] = rbrew_read_f32(cpu->mem, _t93);
|
|
/* 02C56C38 */ cpu->f[0] = cpu->f[8] * cpu->f[0];
|
|
/* 02C56C3C */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[6], cpu->f[18]);
|
|
/* 02C56C40 */ cpu->f[5] = cpu->f[7] * cpu->f[11];
|
|
/* 02C56C44 */ cpu->f[11] = cpu->f[12] + cpu->f[9];
|
|
/* 02C56C48 */ cpu->f[2] = fma(cpu->f[2], cpu->f[1], cpu->f[30]);
|
|
/* 02C56C4C */ cpu->f[1] = fma(cpu->f[13], cpu->f[1], -(cpu->f[0]));
|
|
/* 02C56C50 */ cpu->f[11] = cpu->f[11] + cpu->f[10];
|
|
/* 02C56C54 */ cpu->f[30] = cpu->f[8] * cpu->f[7];
|
|
/* 02C56C58 */ _t94 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C56C58 */ _t95 = _t94 & 0x00000001u;
|
|
/* 02C56C58 */ if (_t95) goto L_02C56C5C; else goto L_02C5718C;
|
|
L_02C56C5C: ; // 0x2c56c5c
|
|
/* 02C56C5C */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[11], cpu->f[18]);
|
|
/* 02C56C60 */ _t96 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C56C60 */ _t97 = _t96 & 0x00000001u;
|
|
/* 02C56C60 */ if (_t97) goto L_02C56DA4; else goto L_02C56C64;
|
|
L_02C56C64: ; // 0x2c56c64
|
|
/* 02C56C64 */ cpu->f[0] = fma(cpu->f[11], cpu->f[17], cpu->f[17]);
|
|
/* 02C56C68 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[0], cpu->f[18]);
|
|
/* 02C56C6C */ _t98 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C56C6C */ _t99 = _t98 & 0x00000001u;
|
|
/* 02C56C6C */ if (_t99) goto L_02C56C70; else goto L_02C56CFC;
|
|
L_02C56C70: ; // 0x2c56c70
|
|
/* 02C56C70 */ cpu->f[13] = cpu->f[18] * cpu->f[19];
|
|
/* 02C56C74 */ _ft100 = (double)(int32_t)0x00000001u;
|
|
/* 02C56C74 */ cpu->f[7] = _ft100 / cpu->f[13];
|
|
/* 02C56C78 */ cpu->f[9] = cpu->f[30] - cpu->f[1];
|
|
/* 02C56C7C */ cpu->f[0] = cpu->f[7] + cpu->f[7];
|
|
/* 02C56C80 */ cpu->f[6] = cpu->f[13] * cpu->f[7];
|
|
/* 02C56C84 */ cpu->f[10] = cpu->f[5] - cpu->f[4];
|
|
/* 02C56C88 */ cpu->f[13] = -fma(cpu->f[6], cpu->f[7], -(cpu->f[0]));
|
|
/* 02C56C8C */ cpu->f[0] = cpu->f[2] - cpu->f[3];
|
|
/* 02C56C90 */ cpu->f[11] = cpu->f[9] * cpu->f[13];
|
|
/* 02C56C94 */ _t101 = cpu->r[25] + 0x0000002Cu;
|
|
/* 02C56C94 */ rbrew_write_f32(cpu->mem, _t101, cpu->f[18]);
|
|
/* 02C56C98 */ cpu->f[7] = cpu->f[0] * cpu->f[13];
|
|
/* 02C56C9C */ _t102 = cpu->r[25] + 0x00000020u;
|
|
/* 02C56C9C */ rbrew_write_f32(cpu->mem, _t102, cpu->f[11]);
|
|
/* 02C56CA0 */ cpu->f[12] = cpu->f[10] * cpu->f[13];
|
|
/* 02C56CA4 */ _t103 = cpu->r[25] + 0x00000024u;
|
|
/* 02C56CA4 */ rbrew_write_f32(cpu->mem, _t103, cpu->f[7]);
|
|
/* 02C56CA8 */ _t104 = cpu->r[25] + 0x00000028u;
|
|
/* 02C56CA8 */ rbrew_write_f32(cpu->mem, _t104, cpu->f[12]);
|
|
/* 02C56CAC */ /* nop */
|
|
/* 02C56CB0 */ /* nop */
|
|
/* 02C56CB4 */ /* nop */
|
|
/* 02C56CB8 */ /* nop */
|
|
/* 02C56CBC */ /* nop */
|
|
/* 02C56CC0 */ /* nop */
|
|
/* 02C56CC4 */ _t105 = cpu->r[25] + 0x0000001Cu;
|
|
/* 02C56CC4 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t105);
|
|
/* 02C56CC8 */ /* nop */
|
|
/* 02C56CCC */ /* nop */
|
|
/* 02C56CD0 */ /* nop */
|
|
/* 02C56CD4 */ cpu->f[0] = cpu->f[0] + cpu->f[14];
|
|
/* 02C56CD8 */ /* nop */
|
|
/* 02C56CDC */ /* nop */
|
|
/* 02C56CE0 */ _t106 = cpu->r[25] + 0x00000000u;
|
|
/* 02C56CE0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t106);
|
|
/* 02C56CE4 */ /* nop */
|
|
/* 02C56CE8 */ _t107 = cpu->r[31] + 0x00000000u;
|
|
/* 02C56CE8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t107);
|
|
/* 02C56CEC */ _t108 = cpu->r[25] + 0x0000001Cu;
|
|
/* 02C56CEC */ rbrew_write_f32(cpu->mem, _t108, cpu->f[0]);
|
|
/* 02C56CF0 */ _t109 = ~cpu->r[9];
|
|
/* 02C56CF0 */ cpu->r[10] = cpu->r[10] | _t109;
|
|
/* 02C56CF4 */ _t110 = cpu->r[25] + 0x00000000u;
|
|
/* 02C56CF4 */ rbrew_write32(cpu->mem, _t110, cpu->r[10]);
|
|
/* 02C56CF8 */ goto L_02C578D4;
|
|
L_02C56CFC: ; // 0x2c56cfc
|
|
/* 02C56CFC */ _ft111 = sqrt(cpu->f[0]);
|
|
/* 02C56CFC */ _ft112 = (double)(int32_t)0x00000001u;
|
|
/* 02C56CFC */ cpu->f[6] = _ft112 / _ft111;
|
|
/* 02C56D00 */ cpu->f[9] = cpu->f[20] * cpu->f[0];
|
|
/* 02C56D04 */ cpu->f[10] = (double)(float)cpu->f[6];
|
|
/* 02C56D08 */ cpu->f[9] = cpu->f[9] * cpu->f[10];
|
|
/* 02C56D0C */ cpu->f[12] = -fma(cpu->f[9], cpu->f[10], -(cpu->f[21]));
|
|
/* 02C56D10 */ cpu->f[10] = cpu->f[10] * cpu->f[12];
|
|
/* 02C56D14 */ cpu->f[8] = cpu->f[0] * cpu->f[10];
|
|
/* 02C56D18 */ cpu->f[13] = cpu->f[8] * cpu->f[19];
|
|
/* 02C56D1C */ _ft113 = (double)(int32_t)0x00000001u;
|
|
/* 02C56D1C */ cpu->f[7] = _ft113 / cpu->f[13];
|
|
/* 02C56D20 */ cpu->f[9] = cpu->f[30] - cpu->f[1];
|
|
/* 02C56D24 */ cpu->f[0] = cpu->f[7] + cpu->f[7];
|
|
/* 02C56D28 */ cpu->f[6] = cpu->f[13] * cpu->f[7];
|
|
/* 02C56D2C */ cpu->f[10] = cpu->f[5] - cpu->f[4];
|
|
/* 02C56D30 */ cpu->f[13] = -fma(cpu->f[6], cpu->f[7], -(cpu->f[0]));
|
|
/* 02C56D34 */ cpu->f[0] = cpu->f[2] - cpu->f[3];
|
|
/* 02C56D38 */ cpu->f[11] = cpu->f[9] * cpu->f[13];
|
|
/* 02C56D3C */ cpu->f[7] = cpu->f[0] * cpu->f[13];
|
|
/* 02C56D40 */ _t114 = cpu->r[25] + 0x0000002Cu;
|
|
/* 02C56D40 */ rbrew_write_f32(cpu->mem, _t114, cpu->f[8]);
|
|
/* 02C56D44 */ _t115 = cpu->r[25] + 0x00000020u;
|
|
/* 02C56D44 */ rbrew_write_f32(cpu->mem, _t115, cpu->f[11]);
|
|
/* 02C56D48 */ cpu->f[12] = cpu->f[10] * cpu->f[13];
|
|
/* 02C56D4C */ _t116 = cpu->r[25] + 0x00000024u;
|
|
/* 02C56D4C */ rbrew_write_f32(cpu->mem, _t116, cpu->f[7]);
|
|
/* 02C56D50 */ _t117 = cpu->r[25] + 0x00000028u;
|
|
/* 02C56D50 */ rbrew_write_f32(cpu->mem, _t117, cpu->f[12]);
|
|
/* 02C56D54 */ /* nop */
|
|
/* 02C56D58 */ /* nop */
|
|
/* 02C56D5C */ /* nop */
|
|
/* 02C56D60 */ /* nop */
|
|
/* 02C56D64 */ /* nop */
|
|
/* 02C56D68 */ /* nop */
|
|
/* 02C56D6C */ _t118 = cpu->r[25] + 0x0000001Cu;
|
|
/* 02C56D6C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t118);
|
|
/* 02C56D70 */ /* nop */
|
|
/* 02C56D74 */ /* nop */
|
|
/* 02C56D78 */ /* nop */
|
|
/* 02C56D7C */ /* nop */
|
|
/* 02C56D80 */ cpu->f[0] = cpu->f[0] + cpu->f[14];
|
|
/* 02C56D84 */ _t119 = cpu->r[25] + 0x00000000u;
|
|
/* 02C56D84 */ cpu->r[10] = rbrew_read32(cpu->mem, _t119);
|
|
/* 02C56D88 */ /* nop */
|
|
/* 02C56D8C */ /* nop */
|
|
/* 02C56D90 */ _t120 = cpu->r[31] + 0x00000000u;
|
|
/* 02C56D90 */ cpu->r[9] = rbrew_read32(cpu->mem, _t120);
|
|
/* 02C56D94 */ _t121 = cpu->r[25] + 0x0000001Cu;
|
|
/* 02C56D94 */ rbrew_write_f32(cpu->mem, _t121, cpu->f[0]);
|
|
/* 02C56D98 */ _t122 = ~cpu->r[9];
|
|
/* 02C56D98 */ cpu->r[10] = cpu->r[10] | _t122;
|
|
/* 02C56D9C */ _t123 = cpu->r[25] + 0x00000000u;
|
|
/* 02C56D9C */ rbrew_write32(cpu->mem, _t123, cpu->r[10]);
|
|
/* 02C56DA0 */ goto L_02C578D4;
|
|
L_02C56DA4: ; // 0x2c56da4
|
|
/* 02C56DA4 */ cpu->f[0] = cpu->f[12] + cpu->f[12];
|
|
/* 02C56DA8 */ cpu->f[8] = cpu->f[0] - cpu->f[11];
|
|
/* 02C56DAC */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[8], cpu->f[18]);
|
|
/* 02C56DB0 */ _t124 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C56DB0 */ _t125 = _t124 & 0x00000001u;
|
|
/* 02C56DB0 */ if (_t125) goto L_02C56EF4; else goto L_02C56DB4;
|
|
L_02C56DB4: ; // 0x2c56db4
|
|
/* 02C56DB4 */ cpu->f[8] = fma(cpu->f[8], cpu->f[17], cpu->f[17]);
|
|
/* 02C56DB8 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[8], cpu->f[18]);
|
|
/* 02C56DBC */ _t126 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C56DBC */ _t127 = _t126 & 0x00000001u;
|
|
/* 02C56DBC */ if (_t127) goto L_02C56DC0; else goto L_02C56E4C;
|
|
L_02C56DC0: ; // 0x2c56dc0
|
|
/* 02C56DC0 */ cpu->f[6] = cpu->f[18] * cpu->f[19];
|
|
/* 02C56DC4 */ _ft128 = (double)(int32_t)0x00000001u;
|
|
/* 02C56DC4 */ cpu->f[7] = _ft128 / cpu->f[6];
|
|
/* 02C56DC8 */ cpu->f[8] = cpu->f[30] - cpu->f[1];
|
|
/* 02C56DCC */ cpu->f[11] = cpu->f[7] + cpu->f[7];
|
|
/* 02C56DD0 */ cpu->f[13] = cpu->f[6] * cpu->f[7];
|
|
/* 02C56DD4 */ cpu->f[0] = cpu->f[2] + cpu->f[3];
|
|
/* 02C56DD8 */ cpu->f[10] = -fma(cpu->f[13], cpu->f[7], -(cpu->f[11]));
|
|
/* 02C56DDC */ cpu->f[11] = cpu->f[4] + cpu->f[5];
|
|
/* 02C56DE0 */ cpu->f[9] = cpu->f[8] * cpu->f[10];
|
|
/* 02C56DE4 */ _t129 = cpu->r[25] + 0x00000020u;
|
|
/* 02C56DE4 */ rbrew_write_f32(cpu->mem, _t129, cpu->f[18]);
|
|
/* 02C56DE8 */ cpu->f[13] = cpu->f[11] * cpu->f[10];
|
|
/* 02C56DEC */ _t130 = cpu->r[25] + 0x0000002Cu;
|
|
/* 02C56DEC */ rbrew_write_f32(cpu->mem, _t130, cpu->f[9]);
|
|
/* 02C56DF0 */ cpu->f[7] = cpu->f[0] * cpu->f[10];
|
|
/* 02C56DF4 */ _t131 = cpu->r[25] + 0x00000024u;
|
|
/* 02C56DF4 */ rbrew_write_f32(cpu->mem, _t131, cpu->f[13]);
|
|
/* 02C56DF8 */ _t132 = cpu->r[25] + 0x00000028u;
|
|
/* 02C56DF8 */ rbrew_write_f32(cpu->mem, _t132, cpu->f[7]);
|
|
/* 02C56DFC */ /* nop */
|
|
/* 02C56E00 */ /* nop */
|
|
/* 02C56E04 */ /* nop */
|
|
/* 02C56E08 */ /* nop */
|
|
/* 02C56E0C */ /* nop */
|
|
/* 02C56E10 */ /* nop */
|
|
/* 02C56E14 */ _t133 = cpu->r[25] + 0x0000001Cu;
|
|
/* 02C56E14 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t133);
|
|
/* 02C56E18 */ /* nop */
|
|
/* 02C56E1C */ /* nop */
|
|
/* 02C56E20 */ /* nop */
|
|
/* 02C56E24 */ cpu->f[0] = cpu->f[0] + cpu->f[14];
|
|
/* 02C56E28 */ /* nop */
|
|
/* 02C56E2C */ /* nop */
|
|
/* 02C56E30 */ _t134 = cpu->r[25] + 0x00000000u;
|
|
/* 02C56E30 */ cpu->r[10] = rbrew_read32(cpu->mem, _t134);
|
|
/* 02C56E34 */ /* nop */
|
|
/* 02C56E38 */ _t135 = cpu->r[31] + 0x00000000u;
|
|
/* 02C56E38 */ cpu->r[9] = rbrew_read32(cpu->mem, _t135);
|
|
/* 02C56E3C */ _t136 = cpu->r[25] + 0x0000001Cu;
|
|
/* 02C56E3C */ rbrew_write_f32(cpu->mem, _t136, cpu->f[0]);
|
|
/* 02C56E40 */ _t137 = ~cpu->r[9];
|
|
/* 02C56E40 */ cpu->r[10] = cpu->r[10] | _t137;
|
|
/* 02C56E44 */ _t138 = cpu->r[25] + 0x00000000u;
|
|
/* 02C56E44 */ rbrew_write32(cpu->mem, _t138, cpu->r[10]);
|
|
/* 02C56E48 */ goto L_02C578D4;
|
|
L_02C56E4C: ; // 0x2c56e4c
|
|
/* 02C56E4C */ _ft139 = sqrt(cpu->f[8]);
|
|
/* 02C56E4C */ _ft140 = (double)(int32_t)0x00000001u;
|
|
/* 02C56E4C */ cpu->f[0] = _ft140 / _ft139;
|
|
/* 02C56E50 */ cpu->f[11] = cpu->f[20] * cpu->f[8];
|
|
/* 02C56E54 */ cpu->f[6] = (double)(float)cpu->f[0];
|
|
/* 02C56E58 */ cpu->f[0] = cpu->f[11] * cpu->f[6];
|
|
/* 02C56E5C */ cpu->f[9] = -fma(cpu->f[0], cpu->f[6], -(cpu->f[21]));
|
|
/* 02C56E60 */ cpu->f[6] = cpu->f[6] * cpu->f[9];
|
|
/* 02C56E64 */ cpu->f[12] = cpu->f[8] * cpu->f[6];
|
|
/* 02C56E68 */ cpu->f[6] = cpu->f[12] * cpu->f[19];
|
|
/* 02C56E6C */ _ft141 = (double)(int32_t)0x00000001u;
|
|
/* 02C56E6C */ cpu->f[7] = _ft141 / cpu->f[6];
|
|
/* 02C56E70 */ cpu->f[0] = cpu->f[2] + cpu->f[3];
|
|
/* 02C56E74 */ cpu->f[11] = cpu->f[7] + cpu->f[7];
|
|
/* 02C56E78 */ cpu->f[13] = cpu->f[6] * cpu->f[7];
|
|
/* 02C56E7C */ cpu->f[8] = cpu->f[30] - cpu->f[1];
|
|
/* 02C56E80 */ cpu->f[10] = -fma(cpu->f[13], cpu->f[7], -(cpu->f[11]));
|
|
/* 02C56E84 */ cpu->f[11] = cpu->f[4] + cpu->f[5];
|
|
/* 02C56E88 */ cpu->f[9] = cpu->f[8] * cpu->f[10];
|
|
/* 02C56E8C */ cpu->f[13] = cpu->f[11] * cpu->f[10];
|
|
/* 02C56E90 */ _t142 = cpu->r[25] + 0x00000020u;
|
|
/* 02C56E90 */ rbrew_write_f32(cpu->mem, _t142, cpu->f[12]);
|
|
/* 02C56E94 */ _t143 = cpu->r[25] + 0x0000002Cu;
|
|
/* 02C56E94 */ rbrew_write_f32(cpu->mem, _t143, cpu->f[9]);
|
|
/* 02C56E98 */ cpu->f[7] = cpu->f[0] * cpu->f[10];
|
|
/* 02C56E9C */ _t144 = cpu->r[25] + 0x00000024u;
|
|
/* 02C56E9C */ rbrew_write_f32(cpu->mem, _t144, cpu->f[13]);
|
|
/* 02C56EA0 */ _t145 = cpu->r[25] + 0x00000028u;
|
|
/* 02C56EA0 */ rbrew_write_f32(cpu->mem, _t145, cpu->f[7]);
|
|
/* 02C56EA4 */ /* nop */
|
|
/* 02C56EA8 */ /* nop */
|
|
/* 02C56EAC */ /* nop */
|
|
/* 02C56EB0 */ /* nop */
|
|
/* 02C56EB4 */ /* nop */
|
|
/* 02C56EB8 */ /* nop */
|
|
/* 02C56EBC */ _t146 = cpu->r[25] + 0x0000001Cu;
|
|
/* 02C56EBC */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t146);
|
|
/* 02C56EC0 */ /* nop */
|
|
/* 02C56EC4 */ /* nop */
|
|
/* 02C56EC8 */ /* nop */
|
|
/* 02C56ECC */ /* nop */
|
|
/* 02C56ED0 */ cpu->f[0] = cpu->f[0] + cpu->f[14];
|
|
/* 02C56ED4 */ _t147 = cpu->r[25] + 0x00000000u;
|
|
/* 02C56ED4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t147);
|
|
/* 02C56ED8 */ /* nop */
|
|
/* 02C56EDC */ /* nop */
|
|
/* 02C56EE0 */ _t148 = cpu->r[31] + 0x00000000u;
|
|
/* 02C56EE0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t148);
|
|
/* 02C56EE4 */ _t149 = cpu->r[25] + 0x0000001Cu;
|
|
/* 02C56EE4 */ rbrew_write_f32(cpu->mem, _t149, cpu->f[0]);
|
|
/* 02C56EE8 */ _t150 = ~cpu->r[9];
|
|
/* 02C56EE8 */ cpu->r[10] = cpu->r[10] | _t150;
|
|
/* 02C56EEC */ _t151 = cpu->r[25] + 0x00000000u;
|
|
/* 02C56EEC */ rbrew_write32(cpu->mem, _t151, cpu->r[10]);
|
|
/* 02C56EF0 */ goto L_02C578D4;
|
|
L_02C56EF4: ; // 0x2c56ef4
|
|
/* 02C56EF4 */ cpu->f[8] = cpu->f[9] + cpu->f[9];
|
|
/* 02C56EF8 */ cpu->f[8] = cpu->f[8] - cpu->f[11];
|
|
/* 02C56EFC */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[8], cpu->f[18]);
|
|
/* 02C56F00 */ _t152 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C56F00 */ _t153 = _t152 & 0x00000001u;
|
|
/* 02C56F00 */ if (_t153) goto L_02C57044; else goto L_02C56F04;
|
|
L_02C56F04: ; // 0x2c56f04
|
|
/* 02C56F04 */ cpu->f[8] = fma(cpu->f[8], cpu->f[17], cpu->f[17]);
|
|
/* 02C56F08 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[8], cpu->f[18]);
|
|
/* 02C56F0C */ _t154 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C56F0C */ _t155 = _t154 & 0x00000001u;
|
|
/* 02C56F0C */ if (_t155) goto L_02C56F10; else goto L_02C56F9C;
|
|
L_02C56F10: ; // 0x2c56f10
|
|
/* 02C56F10 */ cpu->f[9] = cpu->f[18] * cpu->f[19];
|
|
/* 02C56F14 */ _ft156 = (double)(int32_t)0x00000001u;
|
|
/* 02C56F14 */ cpu->f[10] = _ft156 / cpu->f[9];
|
|
/* 02C56F18 */ cpu->f[12] = cpu->f[2] - cpu->f[3];
|
|
/* 02C56F1C */ cpu->f[11] = cpu->f[10] + cpu->f[10];
|
|
/* 02C56F20 */ cpu->f[6] = cpu->f[9] * cpu->f[10];
|
|
/* 02C56F24 */ cpu->f[13] = cpu->f[5] + cpu->f[4];
|
|
/* 02C56F28 */ cpu->f[9] = -fma(cpu->f[6], cpu->f[10], -(cpu->f[11]));
|
|
/* 02C56F2C */ cpu->f[10] = cpu->f[1] + cpu->f[30];
|
|
/* 02C56F30 */ cpu->f[7] = cpu->f[12] * cpu->f[9];
|
|
/* 02C56F34 */ _t157 = cpu->r[25] + 0x00000024u;
|
|
/* 02C56F34 */ rbrew_write_f32(cpu->mem, _t157, cpu->f[18]);
|
|
/* 02C56F38 */ cpu->f[11] = cpu->f[10] * cpu->f[9];
|
|
/* 02C56F3C */ _t158 = cpu->r[25] + 0x0000002Cu;
|
|
/* 02C56F3C */ rbrew_write_f32(cpu->mem, _t158, cpu->f[7]);
|
|
/* 02C56F40 */ cpu->f[0] = cpu->f[13] * cpu->f[9];
|
|
/* 02C56F44 */ _t159 = cpu->r[25] + 0x00000028u;
|
|
/* 02C56F44 */ rbrew_write_f32(cpu->mem, _t159, cpu->f[11]);
|
|
/* 02C56F48 */ _t160 = cpu->r[25] + 0x00000020u;
|
|
/* 02C56F48 */ rbrew_write_f32(cpu->mem, _t160, cpu->f[0]);
|
|
/* 02C56F4C */ /* nop */
|
|
/* 02C56F50 */ /* nop */
|
|
/* 02C56F54 */ /* nop */
|
|
/* 02C56F58 */ /* nop */
|
|
/* 02C56F5C */ /* nop */
|
|
/* 02C56F60 */ /* nop */
|
|
/* 02C56F64 */ _t161 = cpu->r[25] + 0x0000001Cu;
|
|
/* 02C56F64 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t161);
|
|
/* 02C56F68 */ /* nop */
|
|
/* 02C56F6C */ /* nop */
|
|
/* 02C56F70 */ /* nop */
|
|
/* 02C56F74 */ cpu->f[0] = cpu->f[0] + cpu->f[14];
|
|
/* 02C56F78 */ /* nop */
|
|
/* 02C56F7C */ /* nop */
|
|
/* 02C56F80 */ _t162 = cpu->r[25] + 0x00000000u;
|
|
/* 02C56F80 */ cpu->r[10] = rbrew_read32(cpu->mem, _t162);
|
|
/* 02C56F84 */ /* nop */
|
|
/* 02C56F88 */ _t163 = cpu->r[31] + 0x00000000u;
|
|
/* 02C56F88 */ cpu->r[9] = rbrew_read32(cpu->mem, _t163);
|
|
/* 02C56F8C */ _t164 = cpu->r[25] + 0x0000001Cu;
|
|
/* 02C56F8C */ rbrew_write_f32(cpu->mem, _t164, cpu->f[0]);
|
|
/* 02C56F90 */ _t165 = ~cpu->r[9];
|
|
/* 02C56F90 */ cpu->r[10] = cpu->r[10] | _t165;
|
|
/* 02C56F94 */ _t166 = cpu->r[25] + 0x00000000u;
|
|
/* 02C56F94 */ rbrew_write32(cpu->mem, _t166, cpu->r[10]);
|
|
/* 02C56F98 */ goto L_02C578D4;
|
|
L_02C56F9C: ; // 0x2c56f9c
|
|
/* 02C56F9C */ _ft167 = sqrt(cpu->f[8]);
|
|
/* 02C56F9C */ _ft168 = (double)(int32_t)0x00000001u;
|
|
/* 02C56F9C */ cpu->f[6] = _ft168 / _ft167;
|
|
/* 02C56FA0 */ cpu->f[13] = cpu->f[20] * cpu->f[8];
|
|
/* 02C56FA4 */ cpu->f[9] = (double)(float)cpu->f[6];
|
|
/* 02C56FA8 */ cpu->f[7] = cpu->f[13] * cpu->f[9];
|
|
/* 02C56FAC */ cpu->f[10] = -fma(cpu->f[7], cpu->f[9], -(cpu->f[21]));
|
|
/* 02C56FB0 */ cpu->f[9] = cpu->f[9] * cpu->f[10];
|
|
/* 02C56FB4 */ cpu->f[0] = cpu->f[8] * cpu->f[9];
|
|
/* 02C56FB8 */ cpu->f[9] = cpu->f[0] * cpu->f[19];
|
|
/* 02C56FBC */ _ft169 = (double)(int32_t)0x00000001u;
|
|
/* 02C56FBC */ cpu->f[10] = _ft169 / cpu->f[9];
|
|
/* 02C56FC0 */ cpu->f[12] = cpu->f[2] - cpu->f[3];
|
|
/* 02C56FC4 */ cpu->f[11] = cpu->f[10] + cpu->f[10];
|
|
/* 02C56FC8 */ cpu->f[6] = cpu->f[9] * cpu->f[10];
|
|
/* 02C56FCC */ cpu->f[13] = cpu->f[5] + cpu->f[4];
|
|
/* 02C56FD0 */ cpu->f[9] = -fma(cpu->f[6], cpu->f[10], -(cpu->f[11]));
|
|
/* 02C56FD4 */ cpu->f[10] = cpu->f[1] + cpu->f[30];
|
|
/* 02C56FD8 */ cpu->f[7] = cpu->f[12] * cpu->f[9];
|
|
/* 02C56FDC */ cpu->f[11] = cpu->f[10] * cpu->f[9];
|
|
/* 02C56FE0 */ _t170 = cpu->r[25] + 0x00000024u;
|
|
/* 02C56FE0 */ rbrew_write_f32(cpu->mem, _t170, cpu->f[0]);
|
|
/* 02C56FE4 */ _t171 = cpu->r[25] + 0x0000002Cu;
|
|
/* 02C56FE4 */ rbrew_write_f32(cpu->mem, _t171, cpu->f[7]);
|
|
/* 02C56FE8 */ cpu->f[0] = cpu->f[13] * cpu->f[9];
|
|
/* 02C56FEC */ _t172 = cpu->r[25] + 0x00000028u;
|
|
/* 02C56FEC */ rbrew_write_f32(cpu->mem, _t172, cpu->f[11]);
|
|
/* 02C56FF0 */ _t173 = cpu->r[25] + 0x00000020u;
|
|
/* 02C56FF0 */ rbrew_write_f32(cpu->mem, _t173, cpu->f[0]);
|
|
/* 02C56FF4 */ /* nop */
|
|
/* 02C56FF8 */ /* nop */
|
|
/* 02C56FFC */ /* nop */
|
|
/* 02C57000 */ /* nop */
|
|
/* 02C57004 */ /* nop */
|
|
/* 02C57008 */ /* nop */
|
|
/* 02C5700C */ _t174 = cpu->r[25] + 0x0000001Cu;
|
|
/* 02C5700C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t174);
|
|
/* 02C57010 */ /* nop */
|
|
/* 02C57014 */ /* nop */
|
|
/* 02C57018 */ /* nop */
|
|
/* 02C5701C */ /* nop */
|
|
/* 02C57020 */ cpu->f[0] = cpu->f[0] + cpu->f[14];
|
|
/* 02C57024 */ _t175 = cpu->r[25] + 0x00000000u;
|
|
/* 02C57024 */ cpu->r[10] = rbrew_read32(cpu->mem, _t175);
|
|
/* 02C57028 */ /* nop */
|
|
/* 02C5702C */ /* nop */
|
|
/* 02C57030 */ _t176 = cpu->r[31] + 0x00000000u;
|
|
/* 02C57030 */ cpu->r[9] = rbrew_read32(cpu->mem, _t176);
|
|
/* 02C57034 */ _t177 = cpu->r[25] + 0x0000001Cu;
|
|
/* 02C57034 */ rbrew_write_f32(cpu->mem, _t177, cpu->f[0]);
|
|
/* 02C57038 */ _t178 = ~cpu->r[9];
|
|
/* 02C57038 */ cpu->r[10] = cpu->r[10] | _t178;
|
|
/* 02C5703C */ _t179 = cpu->r[25] + 0x00000000u;
|
|
/* 02C5703C */ rbrew_write32(cpu->mem, _t179, cpu->r[10]);
|
|
/* 02C57040 */ goto L_02C578D4;
|
|
L_02C57044: ; // 0x2c57044
|
|
/* 02C57044 */ cpu->f[12] = cpu->f[10] + cpu->f[10];
|
|
/* 02C57048 */ cpu->f[8] = cpu->f[12] - cpu->f[11];
|
|
/* 02C5704C */ cpu->f[8] = fma(cpu->f[8], cpu->f[17], cpu->f[17]);
|
|
/* 02C57050 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[8], cpu->f[18]);
|
|
/* 02C57054 */ _t180 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C57054 */ _t181 = _t180 & 0x00000001u;
|
|
/* 02C57054 */ if (_t181) goto L_02C57058; else goto L_02C570E4;
|
|
L_02C57058: ; // 0x2c57058
|
|
/* 02C57058 */ cpu->f[0] = cpu->f[18] * cpu->f[19];
|
|
/* 02C5705C */ _ft182 = (double)(int32_t)0x00000001u;
|
|
/* 02C5705C */ cpu->f[7] = _ft182 / cpu->f[0];
|
|
/* 02C57060 */ cpu->f[6] = cpu->f[30] + cpu->f[1];
|
|
/* 02C57064 */ cpu->f[10] = cpu->f[7] + cpu->f[7];
|
|
/* 02C57068 */ cpu->f[11] = cpu->f[0] * cpu->f[7];
|
|
/* 02C5706C */ cpu->f[9] = cpu->f[5] - cpu->f[4];
|
|
/* 02C57070 */ cpu->f[0] = -fma(cpu->f[11], cpu->f[7], -(cpu->f[10]));
|
|
/* 02C57074 */ cpu->f[12] = cpu->f[3] + cpu->f[2];
|
|
/* 02C57078 */ cpu->f[10] = cpu->f[9] * cpu->f[0];
|
|
/* 02C5707C */ _t183 = cpu->r[25] + 0x00000028u;
|
|
/* 02C5707C */ rbrew_write_f32(cpu->mem, _t183, cpu->f[18]);
|
|
/* 02C57080 */ cpu->f[13] = cpu->f[12] * cpu->f[0];
|
|
/* 02C57084 */ _t184 = cpu->r[25] + 0x0000002Cu;
|
|
/* 02C57084 */ rbrew_write_f32(cpu->mem, _t184, cpu->f[10]);
|
|
/* 02C57088 */ cpu->f[8] = cpu->f[6] * cpu->f[0];
|
|
/* 02C5708C */ _t185 = cpu->r[25] + 0x00000020u;
|
|
/* 02C5708C */ rbrew_write_f32(cpu->mem, _t185, cpu->f[13]);
|
|
/* 02C57090 */ _t186 = cpu->r[25] + 0x00000024u;
|
|
/* 02C57090 */ rbrew_write_f32(cpu->mem, _t186, cpu->f[8]);
|
|
/* 02C57094 */ /* nop */
|
|
/* 02C57098 */ /* nop */
|
|
/* 02C5709C */ /* nop */
|
|
/* 02C570A0 */ /* nop */
|
|
/* 02C570A4 */ /* nop */
|
|
/* 02C570A8 */ /* nop */
|
|
/* 02C570AC */ _t187 = cpu->r[25] + 0x0000001Cu;
|
|
/* 02C570AC */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t187);
|
|
/* 02C570B0 */ /* nop */
|
|
/* 02C570B4 */ /* nop */
|
|
/* 02C570B8 */ /* nop */
|
|
/* 02C570BC */ cpu->f[0] = cpu->f[0] + cpu->f[14];
|
|
/* 02C570C0 */ /* nop */
|
|
/* 02C570C4 */ /* nop */
|
|
/* 02C570C8 */ _t188 = cpu->r[25] + 0x00000000u;
|
|
/* 02C570C8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t188);
|
|
/* 02C570CC */ /* nop */
|
|
/* 02C570D0 */ _t189 = cpu->r[31] + 0x00000000u;
|
|
/* 02C570D0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t189);
|
|
/* 02C570D4 */ _t190 = cpu->r[25] + 0x0000001Cu;
|
|
/* 02C570D4 */ rbrew_write_f32(cpu->mem, _t190, cpu->f[0]);
|
|
/* 02C570D8 */ _t191 = ~cpu->r[9];
|
|
/* 02C570D8 */ cpu->r[10] = cpu->r[10] | _t191;
|
|
/* 02C570DC */ _t192 = cpu->r[25] + 0x00000000u;
|
|
/* 02C570DC */ rbrew_write32(cpu->mem, _t192, cpu->r[10]);
|
|
/* 02C570E0 */ goto L_02C578D4;
|
|
L_02C570E4: ; // 0x2c570e4
|
|
/* 02C570E4 */ _ft193 = sqrt(cpu->f[8]);
|
|
/* 02C570E4 */ _ft194 = (double)(int32_t)0x00000001u;
|
|
/* 02C570E4 */ cpu->f[13] = _ft194 / _ft193;
|
|
/* 02C570E8 */ cpu->f[6] = cpu->f[20] * cpu->f[8];
|
|
/* 02C570EC */ cpu->f[12] = (double)(float)cpu->f[13];
|
|
/* 02C570F0 */ cpu->f[7] = cpu->f[6] * cpu->f[12];
|
|
/* 02C570F4 */ cpu->f[7] = -fma(cpu->f[7], cpu->f[12], -(cpu->f[21]));
|
|
/* 02C570F8 */ cpu->f[12] = cpu->f[12] * cpu->f[7];
|
|
/* 02C570FC */ cpu->f[8] = cpu->f[8] * cpu->f[12];
|
|
/* 02C57100 */ cpu->f[0] = cpu->f[8] * cpu->f[19];
|
|
/* 02C57104 */ _ft195 = (double)(int32_t)0x00000001u;
|
|
/* 02C57104 */ cpu->f[7] = _ft195 / cpu->f[0];
|
|
/* 02C57108 */ cpu->f[9] = cpu->f[5] - cpu->f[4];
|
|
/* 02C5710C */ cpu->f[10] = cpu->f[7] + cpu->f[7];
|
|
/* 02C57110 */ cpu->f[11] = cpu->f[0] * cpu->f[7];
|
|
/* 02C57114 */ cpu->f[6] = cpu->f[30] + cpu->f[1];
|
|
/* 02C57118 */ cpu->f[0] = -fma(cpu->f[11], cpu->f[7], -(cpu->f[10]));
|
|
/* 02C5711C */ cpu->f[12] = cpu->f[3] + cpu->f[2];
|
|
/* 02C57120 */ cpu->f[10] = cpu->f[9] * cpu->f[0];
|
|
/* 02C57124 */ cpu->f[13] = cpu->f[12] * cpu->f[0];
|
|
/* 02C57128 */ _t196 = cpu->r[25] + 0x00000028u;
|
|
/* 02C57128 */ rbrew_write_f32(cpu->mem, _t196, cpu->f[8]);
|
|
/* 02C5712C */ _t197 = cpu->r[25] + 0x0000002Cu;
|
|
/* 02C5712C */ rbrew_write_f32(cpu->mem, _t197, cpu->f[10]);
|
|
/* 02C57130 */ cpu->f[8] = cpu->f[6] * cpu->f[0];
|
|
/* 02C57134 */ _t198 = cpu->r[25] + 0x00000020u;
|
|
/* 02C57134 */ rbrew_write_f32(cpu->mem, _t198, cpu->f[13]);
|
|
/* 02C57138 */ _t199 = cpu->r[25] + 0x00000024u;
|
|
/* 02C57138 */ rbrew_write_f32(cpu->mem, _t199, cpu->f[8]);
|
|
/* 02C5713C */ /* nop */
|
|
/* 02C57140 */ /* nop */
|
|
/* 02C57144 */ /* nop */
|
|
/* 02C57148 */ /* nop */
|
|
/* 02C5714C */ /* nop */
|
|
/* 02C57150 */ /* nop */
|
|
/* 02C57154 */ _t200 = cpu->r[25] + 0x0000001Cu;
|
|
/* 02C57154 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t200);
|
|
/* 02C57158 */ /* nop */
|
|
/* 02C5715C */ /* nop */
|
|
/* 02C57160 */ /* nop */
|
|
/* 02C57164 */ /* nop */
|
|
/* 02C57168 */ cpu->f[0] = cpu->f[0] + cpu->f[14];
|
|
/* 02C5716C */ _t201 = cpu->r[25] + 0x00000000u;
|
|
/* 02C5716C */ cpu->r[10] = rbrew_read32(cpu->mem, _t201);
|
|
/* 02C57170 */ /* nop */
|
|
/* 02C57174 */ /* nop */
|
|
/* 02C57178 */ _t202 = cpu->r[31] + 0x00000000u;
|
|
/* 02C57178 */ cpu->r[9] = rbrew_read32(cpu->mem, _t202);
|
|
/* 02C5717C */ _t203 = cpu->r[25] + 0x0000001Cu;
|
|
/* 02C5717C */ rbrew_write_f32(cpu->mem, _t203, cpu->f[0]);
|
|
/* 02C57180 */ _t204 = ~cpu->r[9];
|
|
/* 02C57180 */ cpu->r[10] = cpu->r[10] | _t204;
|
|
/* 02C57184 */ _t205 = cpu->r[25] + 0x00000000u;
|
|
/* 02C57184 */ rbrew_write32(cpu->mem, _t205, cpu->r[10]);
|
|
/* 02C57188 */ goto L_02C578D4;
|
|
L_02C5718C: ; // 0x2c5718c
|
|
/* 02C5718C */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[11], cpu->f[18]);
|
|
/* 02C57190 */ _t206 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C57190 */ _t207 = _t206 & 0x00000001u;
|
|
/* 02C57190 */ if (_t207) goto L_02C57304; else goto L_02C57194;
|
|
L_02C57194: ; // 0x2c57194
|
|
/* 02C57194 */ cpu->f[13] = fma(cpu->f[11], cpu->f[17], cpu->f[17]);
|
|
/* 02C57198 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[13], cpu->f[18]);
|
|
/* 02C5719C */ _t208 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C5719C */ _t209 = _t208 & 0x00000001u;
|
|
/* 02C5719C */ if (_t209) goto L_02C571A0; else goto L_02C57258;
|
|
L_02C571A0: ; // 0x2c571a0
|
|
/* 02C571A0 */ cpu->f[12] = cpu->f[18] * cpu->f[19];
|
|
/* 02C571A4 */ _ft210 = (double)(int32_t)0x00000001u;
|
|
/* 02C571A4 */ cpu->f[8] = _ft210 / cpu->f[12];
|
|
/* 02C571A8 */ cpu->f[13] = cpu->f[5] - cpu->f[4];
|
|
/* 02C571AC */ cpu->f[9] = cpu->f[8] + cpu->f[8];
|
|
/* 02C571B0 */ cpu->f[10] = cpu->f[12] * cpu->f[8];
|
|
/* 02C571B4 */ cpu->f[7] = cpu->f[30] - cpu->f[1];
|
|
/* 02C571B8 */ cpu->f[12] = -fma(cpu->f[10], cpu->f[8], -(cpu->f[9]));
|
|
/* 02C571BC */ cpu->f[10] = cpu->f[2] - cpu->f[3];
|
|
/* 02C571C0 */ cpu->f[8] = cpu->f[7] * cpu->f[12];
|
|
/* 02C571C4 */ _t211 = cpu->r[1] + 0x00000024u;
|
|
/* 02C571C4 */ rbrew_write_f32(cpu->mem, _t211, cpu->f[18]);
|
|
/* 02C571C8 */ cpu->f[7] = cpu->f[13] * cpu->f[12];
|
|
/* 02C571CC */ _t212 = cpu->r[1] + 0x00000018u;
|
|
/* 02C571CC */ rbrew_write_f32(cpu->mem, _t212, cpu->f[8]);
|
|
/* 02C571D0 */ cpu->f[11] = cpu->f[10] * cpu->f[12];
|
|
/* 02C571D4 */ _t213 = cpu->r[1] + 0x00000020u;
|
|
/* 02C571D4 */ rbrew_write_f32(cpu->mem, _t213, cpu->f[7]);
|
|
/* 02C571D8 */ /* nop */
|
|
/* 02C571DC */ cpu->f[6] = cpu->f[6] + cpu->f[14];
|
|
/* 02C571E0 */ _t214 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C571E0 */ rbrew_write_f32(cpu->mem, _t214, cpu->f[11]);
|
|
/* 02C571E4 */ /* nop */
|
|
/* 02C571E8 */ /* nop */
|
|
/* 02C571EC */ /* nop */
|
|
/* 02C571F0 */ _ft215 = (double)(int32_t)0x00000001u;
|
|
/* 02C571F0 */ cpu->f[5] = _ft215 / cpu->f[6];
|
|
/* 02C571F4 */ /* nop */
|
|
/* 02C571F8 */ /* nop */
|
|
/* 02C571FC */ /* nop */
|
|
/* 02C57200 */ /* nop */
|
|
/* 02C57204 */ cpu->f[0] = cpu->f[12];
|
|
/* 02C57208 */ cpu->f[12] = cpu->f[6] * cpu->f[5];
|
|
/* 02C5720C */ /* nop */
|
|
/* 02C57210 */ cpu->f[0] = fabs(cpu->f[0]);
|
|
/* 02C57214 */ cpu->f[11] = cpu->f[5] + cpu->f[5];
|
|
/* 02C57218 */ cpu->f[16] = (double)(float)cpu->f[13];
|
|
/* 02C5721C */ cpu->f[8] = -fma(cpu->f[12], cpu->f[5], -(cpu->f[11]));
|
|
/* 02C57220 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[0], cpu->f[27]);
|
|
/* 02C57224 */ cpu->f[15] = cpu->f[14] * cpu->f[8];
|
|
/* 02C57228 */ _t216 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C57228 */ _t217 = _t216 & 0x00000001u;
|
|
/* 02C57228 */ if (_t217) goto L_02C5722C; else goto L_02C576B0;
|
|
L_02C5722C: ; // 0x2c5722c
|
|
/* 02C5722C */ cpu->f[16] = cpu->f[16] * cpu->f[15];
|
|
/* 02C57230 */ cpu->f[8] = cpu->f[26] - cpu->f[15];
|
|
/* 02C57234 */ /* nop */
|
|
/* 02C57238 */ /* nop */
|
|
/* 02C5723C */ /* nop */
|
|
/* 02C57240 */ /* nop */
|
|
/* 02C57244 */ /* nop */
|
|
/* 02C57248 */ /* nop */
|
|
/* 02C5724C */ /* nop */
|
|
/* 02C57250 */ /* nop */
|
|
/* 02C57254 */ goto L_02C57888;
|
|
L_02C57258: ; // 0x2c57258
|
|
/* 02C57258 */ _ft218 = sqrt(cpu->f[13]);
|
|
/* 02C57258 */ _ft219 = (double)(int32_t)0x00000001u;
|
|
/* 02C57258 */ cpu->f[12] = _ft219 / _ft218;
|
|
/* 02C5725C */ cpu->f[7] = cpu->f[20] * cpu->f[13];
|
|
/* 02C57260 */ cpu->f[11] = (double)(float)cpu->f[12];
|
|
/* 02C57264 */ cpu->f[10] = cpu->f[7] * cpu->f[11];
|
|
/* 02C57268 */ cpu->f[12] = -fma(cpu->f[10], cpu->f[11], -(cpu->f[21]));
|
|
/* 02C5726C */ cpu->f[11] = cpu->f[11] * cpu->f[12];
|
|
/* 02C57270 */ cpu->f[0] = cpu->f[13] * cpu->f[11];
|
|
/* 02C57274 */ cpu->f[12] = cpu->f[0] * cpu->f[19];
|
|
/* 02C57278 */ _ft220 = (double)(int32_t)0x00000001u;
|
|
/* 02C57278 */ cpu->f[8] = _ft220 / cpu->f[12];
|
|
/* 02C5727C */ cpu->f[7] = cpu->f[30] - cpu->f[1];
|
|
/* 02C57280 */ cpu->f[9] = cpu->f[8] + cpu->f[8];
|
|
/* 02C57284 */ cpu->f[10] = cpu->f[12] * cpu->f[8];
|
|
/* 02C57288 */ cpu->f[13] = cpu->f[5] - cpu->f[4];
|
|
/* 02C5728C */ cpu->f[12] = -fma(cpu->f[10], cpu->f[8], -(cpu->f[9]));
|
|
/* 02C57290 */ cpu->f[10] = cpu->f[2] - cpu->f[3];
|
|
/* 02C57294 */ cpu->f[8] = cpu->f[7] * cpu->f[12];
|
|
/* 02C57298 */ cpu->f[11] = cpu->f[10] * cpu->f[12];
|
|
/* 02C5729C */ _t221 = cpu->r[1] + 0x00000018u;
|
|
/* 02C5729C */ rbrew_write_f32(cpu->mem, _t221, cpu->f[8]);
|
|
/* 02C572A0 */ _t222 = cpu->r[1] + 0x00000024u;
|
|
/* 02C572A0 */ rbrew_write_f32(cpu->mem, _t222, cpu->f[0]);
|
|
/* 02C572A4 */ cpu->f[7] = cpu->f[13] * cpu->f[12];
|
|
/* 02C572A8 */ _t223 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C572A8 */ rbrew_write_f32(cpu->mem, _t223, cpu->f[11]);
|
|
/* 02C572AC */ /* nop */
|
|
/* 02C572B0 */ cpu->f[6] = cpu->f[6] + cpu->f[14];
|
|
/* 02C572B4 */ _t224 = cpu->r[1] + 0x00000020u;
|
|
/* 02C572B4 */ rbrew_write_f32(cpu->mem, _t224, cpu->f[7]);
|
|
/* 02C572B8 */ /* nop */
|
|
/* 02C572BC */ /* nop */
|
|
/* 02C572C0 */ _ft225 = (double)(int32_t)0x00000001u;
|
|
/* 02C572C0 */ cpu->f[5] = _ft225 / cpu->f[6];
|
|
/* 02C572C4 */ /* nop */
|
|
/* 02C572C8 */ /* nop */
|
|
/* 02C572CC */ /* nop */
|
|
/* 02C572D0 */ /* nop */
|
|
/* 02C572D4 */ /* nop */
|
|
/* 02C572D8 */ cpu->f[0] = cpu->f[12];
|
|
/* 02C572DC */ cpu->f[12] = cpu->f[6] * cpu->f[5];
|
|
/* 02C572E0 */ /* nop */
|
|
/* 02C572E4 */ cpu->f[0] = fabs(cpu->f[0]);
|
|
/* 02C572E8 */ cpu->f[11] = cpu->f[5] + cpu->f[5];
|
|
/* 02C572EC */ cpu->f[16] = (double)(float)cpu->f[13];
|
|
/* 02C572F0 */ cpu->f[8] = -fma(cpu->f[12], cpu->f[5], -(cpu->f[11]));
|
|
/* 02C572F4 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[0], cpu->f[27]);
|
|
/* 02C572F8 */ cpu->f[15] = cpu->f[14] * cpu->f[8];
|
|
/* 02C572FC */ _t226 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C572FC */ _t227 = _t226 & 0x00000001u;
|
|
/* 02C572FC */ if (_t227) goto L_02C5722C; else goto L_02C57300;
|
|
L_02C57300: ; // 0x2c57300
|
|
/* 02C57300 */ goto L_02C576B0;
|
|
L_02C57304: ; // 0x2c57304
|
|
/* 02C57304 */ cpu->f[8] = cpu->f[12] + cpu->f[12];
|
|
/* 02C57308 */ cpu->f[8] = cpu->f[8] - cpu->f[11];
|
|
/* 02C5730C */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[8], cpu->f[18]);
|
|
/* 02C57310 */ _t228 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C57310 */ _t229 = _t228 & 0x00000001u;
|
|
/* 02C57310 */ if (_t229) goto L_02C5745C; else goto L_02C57314;
|
|
L_02C57314: ; // 0x2c57314
|
|
/* 02C57314 */ cpu->f[7] = fma(cpu->f[8], cpu->f[17], cpu->f[17]);
|
|
/* 02C57318 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[7], cpu->f[18]);
|
|
/* 02C5731C */ _t230 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C5731C */ _t231 = _t230 & 0x00000001u;
|
|
/* 02C5731C */ if (_t231) goto L_02C57320; else goto L_02C573B0;
|
|
L_02C57320: ; // 0x2c57320
|
|
/* 02C57320 */ cpu->f[0] = cpu->f[18] * cpu->f[19];
|
|
/* 02C57324 */ _ft232 = (double)(int32_t)0x00000001u;
|
|
/* 02C57324 */ cpu->f[7] = _ft232 / cpu->f[0];
|
|
/* 02C57328 */ cpu->f[12] = cpu->f[2] + cpu->f[3];
|
|
/* 02C5732C */ cpu->f[10] = cpu->f[7] + cpu->f[7];
|
|
/* 02C57330 */ cpu->f[11] = cpu->f[0] * cpu->f[7];
|
|
/* 02C57334 */ cpu->f[9] = -fma(cpu->f[11], cpu->f[7], -(cpu->f[10]));
|
|
/* 02C57338 */ cpu->f[10] = cpu->f[4] + cpu->f[5];
|
|
/* 02C5733C */ cpu->f[0] = cpu->f[30] - cpu->f[1];
|
|
/* 02C57340 */ cpu->f[11] = cpu->f[10] * cpu->f[9];
|
|
/* 02C57344 */ _t233 = cpu->r[1] + 0x00000018u;
|
|
/* 02C57344 */ rbrew_write_f32(cpu->mem, _t233, cpu->f[18]);
|
|
/* 02C57348 */ cpu->f[8] = cpu->f[0] * cpu->f[9];
|
|
/* 02C5734C */ _t234 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C5734C */ rbrew_write_f32(cpu->mem, _t234, cpu->f[11]);
|
|
/* 02C57350 */ /* nop */
|
|
/* 02C57354 */ cpu->f[13] = cpu->f[12] * cpu->f[9];
|
|
/* 02C57358 */ _t235 = cpu->r[1] + 0x00000024u;
|
|
/* 02C57358 */ rbrew_write_f32(cpu->mem, _t235, cpu->f[8]);
|
|
/* 02C5735C */ cpu->f[6] = cpu->f[6] + cpu->f[14];
|
|
/* 02C57360 */ _t236 = cpu->r[1] + 0x00000020u;
|
|
/* 02C57360 */ rbrew_write_f32(cpu->mem, _t236, cpu->f[13]);
|
|
/* 02C57364 */ /* nop */
|
|
/* 02C57368 */ /* nop */
|
|
/* 02C5736C */ /* nop */
|
|
/* 02C57370 */ _ft237 = (double)(int32_t)0x00000001u;
|
|
/* 02C57370 */ cpu->f[5] = _ft237 / cpu->f[6];
|
|
/* 02C57374 */ /* nop */
|
|
/* 02C57378 */ /* nop */
|
|
/* 02C5737C */ /* nop */
|
|
/* 02C57380 */ /* nop */
|
|
/* 02C57384 */ cpu->f[0] = cpu->f[12];
|
|
/* 02C57388 */ cpu->f[12] = cpu->f[6] * cpu->f[5];
|
|
/* 02C5738C */ /* nop */
|
|
/* 02C57390 */ cpu->f[0] = fabs(cpu->f[0]);
|
|
/* 02C57394 */ cpu->f[11] = cpu->f[5] + cpu->f[5];
|
|
/* 02C57398 */ cpu->f[16] = (double)(float)cpu->f[13];
|
|
/* 02C5739C */ cpu->f[8] = -fma(cpu->f[12], cpu->f[5], -(cpu->f[11]));
|
|
/* 02C573A0 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[0], cpu->f[27]);
|
|
/* 02C573A4 */ cpu->f[15] = cpu->f[14] * cpu->f[8];
|
|
/* 02C573A8 */ _t238 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C573A8 */ _t239 = _t238 & 0x00000001u;
|
|
/* 02C573A8 */ if (_t239) goto L_02C5722C; else goto L_02C573AC;
|
|
L_02C573AC: ; // 0x2c573ac
|
|
/* 02C573AC */ goto L_02C576B0;
|
|
L_02C573B0: ; // 0x2c573b0
|
|
/* 02C573B0 */ _ft240 = sqrt(cpu->f[7]);
|
|
/* 02C573B0 */ _ft241 = (double)(int32_t)0x00000001u;
|
|
/* 02C573B0 */ cpu->f[10] = _ft241 / _ft240;
|
|
/* 02C573B4 */ cpu->f[13] = cpu->f[20] * cpu->f[7];
|
|
/* 02C573B8 */ cpu->f[8] = (double)(float)cpu->f[10];
|
|
/* 02C573BC */ cpu->f[0] = cpu->f[13] * cpu->f[8];
|
|
/* 02C573C0 */ cpu->f[9] = -fma(cpu->f[0], cpu->f[8], -(cpu->f[21]));
|
|
/* 02C573C4 */ cpu->f[8] = cpu->f[8] * cpu->f[9];
|
|
/* 02C573C8 */ cpu->f[13] = cpu->f[7] * cpu->f[8];
|
|
/* 02C573CC */ cpu->f[0] = cpu->f[13] * cpu->f[19];
|
|
/* 02C573D0 */ _ft242 = (double)(int32_t)0x00000001u;
|
|
/* 02C573D0 */ cpu->f[7] = _ft242 / cpu->f[0];
|
|
/* 02C573D4 */ cpu->f[12] = cpu->f[2] + cpu->f[3];
|
|
/* 02C573D8 */ cpu->f[10] = cpu->f[7] + cpu->f[7];
|
|
/* 02C573DC */ cpu->f[11] = cpu->f[0] * cpu->f[7];
|
|
/* 02C573E0 */ cpu->f[0] = cpu->f[30] - cpu->f[1];
|
|
/* 02C573E4 */ cpu->f[9] = -fma(cpu->f[11], cpu->f[7], -(cpu->f[10]));
|
|
/* 02C573E8 */ cpu->f[10] = cpu->f[4] + cpu->f[5];
|
|
/* 02C573EC */ cpu->f[8] = cpu->f[0] * cpu->f[9];
|
|
/* 02C573F0 */ cpu->f[11] = cpu->f[10] * cpu->f[9];
|
|
/* 02C573F4 */ _t243 = cpu->r[1] + 0x00000018u;
|
|
/* 02C573F4 */ rbrew_write_f32(cpu->mem, _t243, cpu->f[13]);
|
|
/* 02C573F8 */ _t244 = cpu->r[1] + 0x00000024u;
|
|
/* 02C573F8 */ rbrew_write_f32(cpu->mem, _t244, cpu->f[8]);
|
|
/* 02C573FC */ cpu->f[13] = cpu->f[12] * cpu->f[9];
|
|
/* 02C57400 */ _t245 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C57400 */ rbrew_write_f32(cpu->mem, _t245, cpu->f[11]);
|
|
/* 02C57404 */ /* nop */
|
|
/* 02C57408 */ cpu->f[6] = cpu->f[6] + cpu->f[14];
|
|
/* 02C5740C */ _t246 = cpu->r[1] + 0x00000020u;
|
|
/* 02C5740C */ rbrew_write_f32(cpu->mem, _t246, cpu->f[13]);
|
|
/* 02C57410 */ /* nop */
|
|
/* 02C57414 */ /* nop */
|
|
/* 02C57418 */ _ft247 = (double)(int32_t)0x00000001u;
|
|
/* 02C57418 */ cpu->f[5] = _ft247 / cpu->f[6];
|
|
/* 02C5741C */ /* nop */
|
|
/* 02C57420 */ /* nop */
|
|
/* 02C57424 */ /* nop */
|
|
/* 02C57428 */ /* nop */
|
|
/* 02C5742C */ /* nop */
|
|
/* 02C57430 */ cpu->f[0] = cpu->f[12];
|
|
/* 02C57434 */ cpu->f[12] = cpu->f[6] * cpu->f[5];
|
|
/* 02C57438 */ /* nop */
|
|
/* 02C5743C */ cpu->f[0] = fabs(cpu->f[0]);
|
|
/* 02C57440 */ cpu->f[11] = cpu->f[5] + cpu->f[5];
|
|
/* 02C57444 */ cpu->f[16] = (double)(float)cpu->f[13];
|
|
/* 02C57448 */ cpu->f[8] = -fma(cpu->f[12], cpu->f[5], -(cpu->f[11]));
|
|
/* 02C5744C */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[0], cpu->f[27]);
|
|
/* 02C57450 */ cpu->f[15] = cpu->f[14] * cpu->f[8];
|
|
/* 02C57454 */ _t248 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C57454 */ _t249 = _t248 & 0x00000001u;
|
|
/* 02C57454 */ if (_t249) goto L_02C5722C; else goto L_02C57458;
|
|
L_02C57458: ; // 0x2c57458
|
|
/* 02C57458 */ goto L_02C576B0;
|
|
L_02C5745C: ; // 0x2c5745c
|
|
/* 02C5745C */ cpu->f[0] = cpu->f[9] + cpu->f[9];
|
|
/* 02C57460 */ cpu->f[8] = cpu->f[0] - cpu->f[11];
|
|
/* 02C57464 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[8], cpu->f[18]);
|
|
/* 02C57468 */ _t250 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C57468 */ _t251 = _t250 & 0x00000001u;
|
|
/* 02C57468 */ if (_t251) goto L_02C575B4; else goto L_02C5746C;
|
|
L_02C5746C: ; // 0x2c5746c
|
|
/* 02C5746C */ cpu->f[7] = fma(cpu->f[8], cpu->f[17], cpu->f[17]);
|
|
/* 02C57470 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[7], cpu->f[18]);
|
|
/* 02C57474 */ _t252 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C57474 */ _t253 = _t252 & 0x00000001u;
|
|
/* 02C57474 */ if (_t253) goto L_02C57478; else goto L_02C57508;
|
|
L_02C57478: ; // 0x2c57478
|
|
/* 02C57478 */ cpu->f[11] = cpu->f[18] * cpu->f[19];
|
|
/* 02C5747C */ _ft254 = (double)(int32_t)0x00000001u;
|
|
/* 02C5747C */ cpu->f[0] = _ft254 / cpu->f[11];
|
|
/* 02C57480 */ cpu->f[9] = cpu->f[2] - cpu->f[3];
|
|
/* 02C57484 */ cpu->f[7] = cpu->f[0] + cpu->f[0];
|
|
/* 02C57488 */ cpu->f[8] = cpu->f[11] * cpu->f[0];
|
|
/* 02C5748C */ cpu->f[10] = cpu->f[5] + cpu->f[4];
|
|
/* 02C57490 */ cpu->f[11] = -fma(cpu->f[8], cpu->f[0], -(cpu->f[7]));
|
|
/* 02C57494 */ cpu->f[0] = cpu->f[1] + cpu->f[30];
|
|
/* 02C57498 */ cpu->f[12] = cpu->f[9] * cpu->f[11];
|
|
/* 02C5749C */ _t255 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C5749C */ rbrew_write_f32(cpu->mem, _t255, cpu->f[18]);
|
|
/* 02C574A0 */ cpu->f[7] = cpu->f[0] * cpu->f[11];
|
|
/* 02C574A4 */ _t256 = cpu->r[1] + 0x00000024u;
|
|
/* 02C574A4 */ rbrew_write_f32(cpu->mem, _t256, cpu->f[12]);
|
|
/* 02C574A8 */ cpu->f[11] = cpu->f[10] * cpu->f[11];
|
|
/* 02C574AC */ _t257 = cpu->r[1] + 0x00000020u;
|
|
/* 02C574AC */ rbrew_write_f32(cpu->mem, _t257, cpu->f[7]);
|
|
/* 02C574B0 */ /* nop */
|
|
/* 02C574B4 */ cpu->f[6] = cpu->f[6] + cpu->f[14];
|
|
/* 02C574B8 */ _t258 = cpu->r[1] + 0x00000018u;
|
|
/* 02C574B8 */ rbrew_write_f32(cpu->mem, _t258, cpu->f[11]);
|
|
/* 02C574BC */ /* nop */
|
|
/* 02C574C0 */ /* nop */
|
|
/* 02C574C4 */ /* nop */
|
|
/* 02C574C8 */ _ft259 = (double)(int32_t)0x00000001u;
|
|
/* 02C574C8 */ cpu->f[5] = _ft259 / cpu->f[6];
|
|
/* 02C574CC */ /* nop */
|
|
/* 02C574D0 */ /* nop */
|
|
/* 02C574D4 */ /* nop */
|
|
/* 02C574D8 */ /* nop */
|
|
/* 02C574DC */ cpu->f[0] = cpu->f[12];
|
|
/* 02C574E0 */ cpu->f[12] = cpu->f[6] * cpu->f[5];
|
|
/* 02C574E4 */ /* nop */
|
|
/* 02C574E8 */ cpu->f[0] = fabs(cpu->f[0]);
|
|
/* 02C574EC */ cpu->f[11] = cpu->f[5] + cpu->f[5];
|
|
/* 02C574F0 */ cpu->f[16] = (double)(float)cpu->f[13];
|
|
/* 02C574F4 */ cpu->f[8] = -fma(cpu->f[12], cpu->f[5], -(cpu->f[11]));
|
|
/* 02C574F8 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[0], cpu->f[27]);
|
|
/* 02C574FC */ cpu->f[15] = cpu->f[14] * cpu->f[8];
|
|
/* 02C57500 */ _t260 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C57500 */ _t261 = _t260 & 0x00000001u;
|
|
/* 02C57500 */ if (_t261) goto L_02C5722C; else goto L_02C57504;
|
|
L_02C57504: ; // 0x2c57504
|
|
/* 02C57504 */ goto L_02C576B0;
|
|
L_02C57508: ; // 0x2c57508
|
|
/* 02C57508 */ _ft262 = sqrt(cpu->f[7]);
|
|
/* 02C57508 */ _ft263 = (double)(int32_t)0x00000001u;
|
|
/* 02C57508 */ cpu->f[9] = _ft263 / _ft262;
|
|
/* 02C5750C */ cpu->f[12] = cpu->f[20] * cpu->f[7];
|
|
/* 02C57510 */ cpu->f[9] = (double)(float)cpu->f[9];
|
|
/* 02C57514 */ cpu->f[13] = cpu->f[12] * cpu->f[9];
|
|
/* 02C57518 */ cpu->f[0] = -fma(cpu->f[13], cpu->f[9], -(cpu->f[21]));
|
|
/* 02C5751C */ cpu->f[9] = cpu->f[9] * cpu->f[0];
|
|
/* 02C57520 */ cpu->f[13] = cpu->f[7] * cpu->f[9];
|
|
/* 02C57524 */ cpu->f[11] = cpu->f[13] * cpu->f[19];
|
|
/* 02C57528 */ _ft264 = (double)(int32_t)0x00000001u;
|
|
/* 02C57528 */ cpu->f[0] = _ft264 / cpu->f[11];
|
|
/* 02C5752C */ cpu->f[10] = cpu->f[5] + cpu->f[4];
|
|
/* 02C57530 */ cpu->f[7] = cpu->f[0] + cpu->f[0];
|
|
/* 02C57534 */ cpu->f[8] = cpu->f[11] * cpu->f[0];
|
|
/* 02C57538 */ cpu->f[9] = cpu->f[2] - cpu->f[3];
|
|
/* 02C5753C */ cpu->f[11] = -fma(cpu->f[8], cpu->f[0], -(cpu->f[7]));
|
|
/* 02C57540 */ cpu->f[0] = cpu->f[1] + cpu->f[30];
|
|
/* 02C57544 */ cpu->f[12] = cpu->f[9] * cpu->f[11];
|
|
/* 02C57548 */ cpu->f[7] = cpu->f[0] * cpu->f[11];
|
|
/* 02C5754C */ _t265 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C5754C */ rbrew_write_f32(cpu->mem, _t265, cpu->f[13]);
|
|
/* 02C57550 */ _t266 = cpu->r[1] + 0x00000024u;
|
|
/* 02C57550 */ rbrew_write_f32(cpu->mem, _t266, cpu->f[12]);
|
|
/* 02C57554 */ cpu->f[11] = cpu->f[10] * cpu->f[11];
|
|
/* 02C57558 */ _t267 = cpu->r[1] + 0x00000020u;
|
|
/* 02C57558 */ rbrew_write_f32(cpu->mem, _t267, cpu->f[7]);
|
|
/* 02C5755C */ /* nop */
|
|
/* 02C57560 */ cpu->f[6] = cpu->f[6] + cpu->f[14];
|
|
/* 02C57564 */ _t268 = cpu->r[1] + 0x00000018u;
|
|
/* 02C57564 */ rbrew_write_f32(cpu->mem, _t268, cpu->f[11]);
|
|
/* 02C57568 */ /* nop */
|
|
/* 02C5756C */ /* nop */
|
|
/* 02C57570 */ _ft269 = (double)(int32_t)0x00000001u;
|
|
/* 02C57570 */ cpu->f[5] = _ft269 / cpu->f[6];
|
|
/* 02C57574 */ /* nop */
|
|
/* 02C57578 */ /* nop */
|
|
/* 02C5757C */ /* nop */
|
|
/* 02C57580 */ /* nop */
|
|
/* 02C57584 */ /* nop */
|
|
/* 02C57588 */ cpu->f[0] = cpu->f[12];
|
|
/* 02C5758C */ cpu->f[12] = cpu->f[6] * cpu->f[5];
|
|
/* 02C57590 */ /* nop */
|
|
/* 02C57594 */ cpu->f[0] = fabs(cpu->f[0]);
|
|
/* 02C57598 */ cpu->f[11] = cpu->f[5] + cpu->f[5];
|
|
/* 02C5759C */ cpu->f[16] = (double)(float)cpu->f[13];
|
|
/* 02C575A0 */ cpu->f[8] = -fma(cpu->f[12], cpu->f[5], -(cpu->f[11]));
|
|
/* 02C575A4 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[0], cpu->f[27]);
|
|
/* 02C575A8 */ cpu->f[15] = cpu->f[14] * cpu->f[8];
|
|
/* 02C575AC */ _t270 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C575AC */ _t271 = _t270 & 0x00000001u;
|
|
/* 02C575AC */ if (_t271) goto L_02C5722C; else goto L_02C575B0;
|
|
L_02C575B0: ; // 0x2c575b0
|
|
/* 02C575B0 */ goto L_02C576B0;
|
|
L_02C575B4: ; // 0x2c575b4
|
|
/* 02C575B4 */ cpu->f[12] = cpu->f[10] + cpu->f[10];
|
|
/* 02C575B8 */ cpu->f[8] = cpu->f[12] - cpu->f[11];
|
|
/* 02C575BC */ cpu->f[7] = fma(cpu->f[8], cpu->f[17], cpu->f[17]);
|
|
/* 02C575C0 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[7], cpu->f[18]);
|
|
/* 02C575C4 */ _t272 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C575C4 */ _t273 = _t272 & 0x00000001u;
|
|
/* 02C575C4 */ if (_t273) goto L_02C575C8; else goto L_02C57608;
|
|
L_02C575C8: ; // 0x2c575c8
|
|
/* 02C575C8 */ cpu->f[12] = cpu->f[18] * cpu->f[19];
|
|
/* 02C575CC */ _ft274 = (double)(int32_t)0x00000001u;
|
|
/* 02C575CC */ cpu->f[0] = _ft274 / cpu->f[12];
|
|
/* 02C575D0 */ cpu->f[9] = cpu->f[30] + cpu->f[1];
|
|
/* 02C575D4 */ cpu->f[11] = cpu->f[0] + cpu->f[0];
|
|
/* 02C575D8 */ cpu->f[12] = cpu->f[12] * cpu->f[0];
|
|
/* 02C575DC */ cpu->f[13] = cpu->f[5] - cpu->f[4];
|
|
/* 02C575E0 */ cpu->f[12] = -fma(cpu->f[12], cpu->f[0], -(cpu->f[11]));
|
|
/* 02C575E4 */ cpu->f[7] = cpu->f[3] + cpu->f[2];
|
|
/* 02C575E8 */ cpu->f[0] = cpu->f[13] * cpu->f[12];
|
|
/* 02C575EC */ _t275 = cpu->r[1] + 0x00000020u;
|
|
/* 02C575EC */ rbrew_write_f32(cpu->mem, _t275, cpu->f[18]);
|
|
/* 02C575F0 */ cpu->f[8] = cpu->f[7] * cpu->f[12];
|
|
/* 02C575F4 */ _t276 = cpu->r[1] + 0x00000024u;
|
|
/* 02C575F4 */ rbrew_write_f32(cpu->mem, _t276, cpu->f[0]);
|
|
/* 02C575F8 */ cpu->f[10] = cpu->f[9] * cpu->f[12];
|
|
/* 02C575FC */ _t277 = cpu->r[1] + 0x00000018u;
|
|
/* 02C575FC */ rbrew_write_f32(cpu->mem, _t277, cpu->f[8]);
|
|
/* 02C57600 */ _t278 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C57600 */ rbrew_write_f32(cpu->mem, _t278, cpu->f[10]);
|
|
/* 02C57604 */ goto L_02C57660;
|
|
L_02C57608: ; // 0x2c57608
|
|
/* 02C57608 */ _ft279 = sqrt(cpu->f[7]);
|
|
/* 02C57608 */ _ft280 = (double)(int32_t)0x00000001u;
|
|
/* 02C57608 */ cpu->f[13] = _ft280 / _ft279;
|
|
/* 02C5760C */ cpu->f[8] = cpu->f[20] * cpu->f[7];
|
|
/* 02C57610 */ cpu->f[12] = (double)(float)cpu->f[13];
|
|
/* 02C57614 */ cpu->f[9] = cpu->f[8] * cpu->f[12];
|
|
/* 02C57618 */ cpu->f[10] = -fma(cpu->f[9], cpu->f[12], -(cpu->f[21]));
|
|
/* 02C5761C */ cpu->f[13] = cpu->f[5] - cpu->f[4];
|
|
/* 02C57620 */ cpu->f[12] = cpu->f[12] * cpu->f[10];
|
|
/* 02C57624 */ cpu->f[8] = cpu->f[7] * cpu->f[12];
|
|
/* 02C57628 */ cpu->f[12] = cpu->f[8] * cpu->f[19];
|
|
/* 02C5762C */ _ft281 = (double)(int32_t)0x00000001u;
|
|
/* 02C5762C */ cpu->f[0] = _ft281 / cpu->f[12];
|
|
/* 02C57630 */ cpu->f[9] = cpu->f[30] + cpu->f[1];
|
|
/* 02C57634 */ cpu->f[11] = cpu->f[0] + cpu->f[0];
|
|
/* 02C57638 */ cpu->f[12] = cpu->f[12] * cpu->f[0];
|
|
/* 02C5763C */ cpu->f[12] = -fma(cpu->f[12], cpu->f[0], -(cpu->f[11]));
|
|
/* 02C57640 */ cpu->f[7] = cpu->f[3] + cpu->f[2];
|
|
/* 02C57644 */ cpu->f[0] = cpu->f[13] * cpu->f[12];
|
|
/* 02C57648 */ _t282 = cpu->r[1] + 0x00000020u;
|
|
/* 02C57648 */ rbrew_write_f32(cpu->mem, _t282, cpu->f[8]);
|
|
/* 02C5764C */ cpu->f[8] = cpu->f[7] * cpu->f[12];
|
|
/* 02C57650 */ _t283 = cpu->r[1] + 0x00000024u;
|
|
/* 02C57650 */ rbrew_write_f32(cpu->mem, _t283, cpu->f[0]);
|
|
/* 02C57654 */ cpu->f[10] = cpu->f[9] * cpu->f[12];
|
|
/* 02C57658 */ _t284 = cpu->r[1] + 0x00000018u;
|
|
/* 02C57658 */ rbrew_write_f32(cpu->mem, _t284, cpu->f[8]);
|
|
/* 02C5765C */ _t285 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C5765C */ rbrew_write_f32(cpu->mem, _t285, cpu->f[10]);
|
|
L_02C57660: ; // 0x2c57660
|
|
/* 02C57660 */ /* nop */
|
|
/* 02C57664 */ /* nop */
|
|
/* 02C57668 */ /* nop */
|
|
/* 02C5766C */ cpu->f[6] = cpu->f[6] + cpu->f[14];
|
|
/* 02C57670 */ /* nop */
|
|
/* 02C57674 */ /* nop */
|
|
/* 02C57678 */ /* nop */
|
|
/* 02C5767C */ /* nop */
|
|
/* 02C57680 */ _ft286 = (double)(int32_t)0x00000001u;
|
|
/* 02C57680 */ cpu->f[5] = _ft286 / cpu->f[6];
|
|
/* 02C57684 */ /* nop */
|
|
/* 02C57688 */ cpu->f[0] = cpu->f[12];
|
|
/* 02C5768C */ cpu->f[12] = cpu->f[6] * cpu->f[5];
|
|
/* 02C57690 */ /* nop */
|
|
/* 02C57694 */ cpu->f[0] = fabs(cpu->f[0]);
|
|
/* 02C57698 */ cpu->f[11] = cpu->f[5] + cpu->f[5];
|
|
/* 02C5769C */ cpu->f[16] = (double)(float)cpu->f[13];
|
|
/* 02C576A0 */ cpu->f[8] = -fma(cpu->f[12], cpu->f[5], -(cpu->f[11]));
|
|
/* 02C576A4 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[0], cpu->f[27]);
|
|
/* 02C576A8 */ cpu->f[15] = cpu->f[14] * cpu->f[8];
|
|
/* 02C576AC */ _t287 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C576AC */ _t288 = _t287 & 0x00000001u;
|
|
/* 02C576AC */ if (_t288) goto L_02C5722C; else goto L_02C576B0;
|
|
L_02C576B0: ; // 0x2c576b0
|
|
/* 02C576B0 */ cpu->f[1] = cpu->f[0];
|
|
/* 02C576B4 */ Gambit_fn_02C892F8(cpu);
|
|
/* 02C576B8 */ cpu->f[11] = fma(cpu->f[1], cpu->f[24], cpu->f[23]);
|
|
/* 02C576BC */ cpu->r[7] = 0x43300000u;
|
|
/* 02C576C0 */ _t289 = cpu->r[1] + 0x00000040u;
|
|
/* 02C576C0 */ rbrew_write_f64(cpu->mem, _t289, cpu->f[11]);
|
|
/* 02C576C4 */ _t290 = cpu->r[1] + 0x00000044u;
|
|
/* 02C576C4 */ cpu->r[6] = rbrew_read32(cpu->mem, _t290);
|
|
/* 02C576C8 */ _t291 = cpu->r[1] + 0x00000010u;
|
|
/* 02C576C8 */ rbrew_write32(cpu->mem, _t291, cpu->r[7]);
|
|
/* 02C576CC */ cpu->r[0] = rbrew_rlwinm(cpu->r[6], 0x00000000u, 0x00000008u, 0x0000001Fu);
|
|
/* 02C576D0 */ cpu->r[12] = 0x101B0000u;
|
|
/* 02C576D4 */ _t292 = cpu->r[1] + 0x00000014u;
|
|
/* 02C576D4 */ rbrew_write32(cpu->mem, _t292, cpu->r[0]);
|
|
/* 02C576D8 */ _t293 = cpu->r[1] + 0x00000010u;
|
|
/* 02C576D8 */ cpu->f[8] = rbrew_read_f64(cpu->mem, _t293);
|
|
/* 02C576DC */ _t294 = cpu->r[12] + 0xFFFFEE38u;
|
|
/* 02C576DC */ cpu->f[13] = rbrew_read_f64(cpu->mem, _t294);
|
|
/* 02C576E0 */ _t295 = cpu->r[1] + 0x00000014u;
|
|
/* 02C576E0 */ rbrew_write32(cpu->mem, _t295, cpu->r[6]);
|
|
/* 02C576E4 */ cpu->f[10] = cpu->f[8] - cpu->f[13];
|
|
/* 02C576E8 */ _t296 = cpu->r[1] + 0x00000010u;
|
|
/* 02C576E8 */ cpu->f[8] = rbrew_read_f64(cpu->mem, _t296);
|
|
/* 02C576EC */ cpu->f[12] = cpu->f[8] - cpu->f[13];
|
|
/* 02C576F0 */ cpu->r[0] = rbrew_rlwinm(cpu->r[6], 0x0000000Cu, 0x00000014u, 0x0000001Bu);
|
|
/* 02C576F4 */ cpu->f[13] = (double)(float)cpu->f[10];
|
|
/* 02C576F8 */ cpu->r[7] = cpu->r[26] + cpu->r[0];
|
|
/* 02C576FC */ cpu->f[8] = (double)(float)cpu->f[12];
|
|
/* 02C57700 */ _t297 = cpu->r[7] + 0x00000008u;
|
|
/* 02C57700 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t297);
|
|
/* 02C57704 */ cpu->f[7] = cpu->f[13] * cpu->f[22];
|
|
/* 02C57708 */ _t298 = cpu->r[26] + cpu->r[0];
|
|
/* 02C57708 */ cpu->r[12] = rbrew_read32(cpu->mem, _t298);
|
|
/* 02C5770C */ cpu->f[7] = fma(cpu->f[11], cpu->f[7], cpu->f[12]);
|
|
/* 02C57710 */ cpu->f[11] = cpu->f[15] * cpu->f[8];
|
|
/* 02C57714 */ _ft299 = (double)(int32_t)0x00000001u;
|
|
/* 02C57714 */ cpu->f[13] = _ft299 / cpu->f[7];
|
|
/* 02C57718 */ cpu->f[0] = cpu->f[13] + cpu->f[13];
|
|
/* 02C5771C */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[11], cpu->f[25]);
|
|
/* 02C57720 */ cpu->f[7] = cpu->f[7] * cpu->f[13];
|
|
/* 02C57724 */ cpu->f[9] = -fma(cpu->f[7], cpu->f[13], -(cpu->f[0]));
|
|
/* 02C57728 */ _t300 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C57728 */ _t301 = _t300 & 0x00000001u;
|
|
/* 02C57728 */ if (_t301) goto L_02C5772C; else goto L_02C577D8;
|
|
L_02C5772C: ; // 0x2c5772c
|
|
/* 02C5772C */ cpu->f[7] = (uint32_t)(int32_t)cpu->f[11];
|
|
/* 02C57730 */ cpu->r[0] = cpu->r[1] + 0x00000010u;
|
|
/* 02C57734 */ cpu->r[8] = 0x101B0000u;
|
|
/* 02C57738 */ /* nop */
|
|
/* 02C5773C */ _t302 = cpu->r[1] + 0x00000010u;
|
|
/* 02C5773C */ cpu->r[12] = rbrew_read32(cpu->mem, _t302);
|
|
/* 02C57740 */ _t303 = cpu->r[8] + 0xFFFFEE38u;
|
|
/* 02C57740 */ cpu->f[12] = rbrew_read_f64(cpu->mem, _t303);
|
|
/* 02C57744 */ cpu->r[9] = cpu->r[6] - cpu->r[12];
|
|
/* 02C57748 */ cpu->r[8] = 0x43300000u;
|
|
/* 02C5774C */ cpu->r[6] = rbrew_rlwinm(cpu->r[9], 0x00000000u, 0x00000008u, 0x0000001Fu);
|
|
/* 02C57750 */ _t304 = cpu->r[1] + 0x00000010u;
|
|
/* 02C57750 */ rbrew_write32(cpu->mem, _t304, cpu->r[8]);
|
|
/* 02C57754 */ _t305 = cpu->r[1] + 0x00000014u;
|
|
/* 02C57754 */ rbrew_write32(cpu->mem, _t305, cpu->r[6]);
|
|
/* 02C57758 */ _t306 = cpu->r[1] + 0x00000010u;
|
|
/* 02C57758 */ cpu->f[8] = rbrew_read_f64(cpu->mem, _t306);
|
|
/* 02C5775C */ cpu->r[7] = rbrew_rlwinm(cpu->r[12], 0x00000000u, 0x00000008u, 0x0000001Fu);
|
|
/* 02C57760 */ _t307 = cpu->r[1] + 0x00000014u;
|
|
/* 02C57760 */ rbrew_write32(cpu->mem, _t307, cpu->r[7]);
|
|
/* 02C57764 */ _t308 = cpu->r[1] + 0x00000010u;
|
|
/* 02C57764 */ cpu->f[0] = rbrew_read_f64(cpu->mem, _t308);
|
|
/* 02C57768 */ cpu->f[11] = cpu->f[8] - cpu->f[12];
|
|
/* 02C5776C */ cpu->r[5] = rbrew_rlwinm(cpu->r[9], 0x0000000Cu, 0x00000014u, 0x0000001Bu);
|
|
/* 02C57770 */ cpu->f[11] = (double)(float)cpu->f[11];
|
|
/* 02C57774 */ _t309 = cpu->r[5] + cpu->r[26];
|
|
/* 02C57774 */ cpu->r[8] = rbrew_read32(cpu->mem, _t309);
|
|
/* 02C57774 */ cpu->r[5] = _t309;
|
|
/* 02C57778 */ cpu->f[7] = cpu->f[0] - cpu->f[12];
|
|
/* 02C5777C */ _t310 = cpu->r[5] + 0x00000008u;
|
|
/* 02C5777C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t310);
|
|
/* 02C57780 */ cpu->f[6] = cpu->f[11] * cpu->f[22];
|
|
/* 02C57784 */ cpu->r[6] = rbrew_rlwinm(cpu->r[12], 0x0000000Cu, 0x00000014u, 0x0000001Bu);
|
|
/* 02C57788 */ cpu->f[12] = (double)(float)cpu->f[7];
|
|
/* 02C5778C */ cpu->r[9] = cpu->r[26] + cpu->r[6];
|
|
/* 02C57790 */ cpu->f[7] = fma(cpu->f[0], cpu->f[6], cpu->f[8]);
|
|
/* 02C57794 */ _t311 = cpu->r[9] + 0x00000008u;
|
|
/* 02C57794 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t311);
|
|
/* 02C57798 */ cpu->f[11] = cpu->f[12] * cpu->f[22];
|
|
/* 02C5779C */ _t312 = cpu->r[26] + cpu->r[6];
|
|
/* 02C5779C */ cpu->r[13] = rbrew_read32(cpu->mem, _t312);
|
|
/* 02C577A0 */ cpu->f[11] = fma(cpu->f[10], cpu->f[11], cpu->f[13]);
|
|
/* 02C577A4 */ cpu->f[8] = cpu->f[7] * cpu->f[9];
|
|
/* 02C577A8 */ cpu->f[15] = cpu->f[11] * cpu->f[9];
|
|
/* 02C577AC */ cpu->f[16] = cpu->f[16] * cpu->f[15];
|
|
/* 02C577B0 */ /* nop */
|
|
/* 02C577B4 */ /* nop */
|
|
/* 02C577B8 */ /* nop */
|
|
/* 02C577BC */ /* nop */
|
|
/* 02C577C0 */ /* nop */
|
|
/* 02C577C4 */ /* nop */
|
|
/* 02C577C8 */ /* nop */
|
|
/* 02C577CC */ /* nop */
|
|
/* 02C577D0 */ /* nop */
|
|
/* 02C577D4 */ goto L_02C57888;
|
|
L_02C577D8: ; // 0x2c577d8
|
|
/* 02C577D8 */ cpu->f[8] = cpu->f[11] - cpu->f[25];
|
|
/* 02C577DC */ cpu->f[10] = (uint32_t)(int32_t)cpu->f[8];
|
|
/* 02C577E0 */ cpu->r[10] = cpu->r[1] + 0x00000010u;
|
|
/* 02C577E4 */ cpu->r[8] = 0x101B0000u;
|
|
/* 02C577E8 */ /* nop */
|
|
/* 02C577EC */ _t313 = cpu->r[1] + 0x00000010u;
|
|
/* 02C577EC */ cpu->r[12] = rbrew_read32(cpu->mem, _t313);
|
|
/* 02C577F0 */ _t314 = cpu->r[8] + 0xFFFFEE38u;
|
|
/* 02C577F0 */ cpu->f[12] = rbrew_read_f64(cpu->mem, _t314);
|
|
/* 02C577F4 */ cpu->r[12] = cpu->r[12] + 0x80000000u;
|
|
/* 02C577F8 */ cpu->r[8] = 0x43300000u;
|
|
/* 02C577FC */ cpu->r[9] = cpu->r[6] - cpu->r[12];
|
|
/* 02C57800 */ _t315 = cpu->r[1] + 0x00000010u;
|
|
/* 02C57800 */ rbrew_write32(cpu->mem, _t315, cpu->r[8]);
|
|
/* 02C57804 */ cpu->r[6] = rbrew_rlwinm(cpu->r[9], 0x00000000u, 0x00000008u, 0x0000001Fu);
|
|
/* 02C57808 */ _t316 = cpu->r[1] + 0x00000014u;
|
|
/* 02C57808 */ rbrew_write32(cpu->mem, _t316, cpu->r[6]);
|
|
/* 02C5780C */ _t317 = cpu->r[1] + 0x00000010u;
|
|
/* 02C5780C */ cpu->f[8] = rbrew_read_f64(cpu->mem, _t317);
|
|
/* 02C57810 */ cpu->r[7] = rbrew_rlwinm(cpu->r[12], 0x00000000u, 0x00000008u, 0x0000001Fu);
|
|
/* 02C57814 */ _t318 = cpu->r[1] + 0x00000014u;
|
|
/* 02C57814 */ rbrew_write32(cpu->mem, _t318, cpu->r[7]);
|
|
/* 02C57818 */ cpu->f[11] = cpu->f[8] - cpu->f[12];
|
|
/* 02C5781C */ _t319 = cpu->r[1] + 0x00000010u;
|
|
/* 02C5781C */ cpu->f[0] = rbrew_read_f64(cpu->mem, _t319);
|
|
/* 02C57820 */ cpu->f[11] = (double)(float)cpu->f[11];
|
|
/* 02C57824 */ cpu->r[5] = rbrew_rlwinm(cpu->r[9], 0x0000000Cu, 0x00000014u, 0x0000001Bu);
|
|
/* 02C57828 */ cpu->f[7] = cpu->f[0] - cpu->f[12];
|
|
/* 02C5782C */ _t320 = cpu->r[5] + cpu->r[26];
|
|
/* 02C5782C */ cpu->r[8] = rbrew_read32(cpu->mem, _t320);
|
|
/* 02C5782C */ cpu->r[5] = _t320;
|
|
/* 02C57830 */ cpu->f[6] = cpu->f[11] * cpu->f[22];
|
|
/* 02C57834 */ _t321 = cpu->r[5] + 0x00000008u;
|
|
/* 02C57834 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t321);
|
|
/* 02C57838 */ cpu->r[6] = rbrew_rlwinm(cpu->r[12], 0x0000000Cu, 0x00000014u, 0x0000001Bu);
|
|
/* 02C5783C */ cpu->f[12] = (double)(float)cpu->f[7];
|
|
/* 02C57840 */ cpu->r[9] = cpu->r[26] + cpu->r[6];
|
|
/* 02C57844 */ cpu->f[7] = fma(cpu->f[0], cpu->f[6], cpu->f[8]);
|
|
/* 02C57848 */ _t322 = cpu->r[9] + 0x00000008u;
|
|
/* 02C57848 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t322);
|
|
/* 02C5784C */ cpu->f[11] = cpu->f[12] * cpu->f[22];
|
|
/* 02C57850 */ _t323 = cpu->r[26] + cpu->r[6];
|
|
/* 02C57850 */ cpu->r[13] = rbrew_read32(cpu->mem, _t323);
|
|
/* 02C57854 */ cpu->f[11] = fma(cpu->f[10], cpu->f[11], cpu->f[13]);
|
|
/* 02C57858 */ cpu->f[8] = cpu->f[7] * cpu->f[9];
|
|
/* 02C5785C */ cpu->f[15] = cpu->f[11] * cpu->f[9];
|
|
/* 02C57860 */ cpu->f[16] = cpu->f[16] * cpu->f[15];
|
|
/* 02C57864 */ /* nop */
|
|
/* 02C57868 */ /* nop */
|
|
/* 02C5786C */ /* nop */
|
|
/* 02C57870 */ /* nop */
|
|
/* 02C57874 */ /* nop */
|
|
/* 02C57878 */ /* nop */
|
|
/* 02C5787C */ /* nop */
|
|
/* 02C57880 */ /* nop */
|
|
/* 02C57884 */ /* nop */
|
|
L_02C57888: ; // 0x2c57888
|
|
/* 02C57888 */ /* nop */
|
|
/* 02C5788C */ /* nop */
|
|
/* 02C57890 */ /* nop */
|
|
/* 02C57894 */ /* nop */
|
|
/* 02C57898 */ /* nop */
|
|
/* 02C5789C */ /* nop */
|
|
/* 02C578A0 */ _t324 = cpu->r[25] + 0x0000001Cu;
|
|
/* 02C578A0 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t324);
|
|
/* 02C578A4 */ /* nop */
|
|
/* 02C578A8 */ /* nop */
|
|
/* 02C578AC */ /* nop */
|
|
/* 02C578B0 */ /* nop */
|
|
/* 02C578B4 */ cpu->f[0] = cpu->f[0] + cpu->f[14];
|
|
/* 02C578B8 */ _t325 = cpu->r[25] + 0x00000000u;
|
|
/* 02C578B8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t325);
|
|
/* 02C578BC */ /* nop */
|
|
/* 02C578C0 */ /* nop */
|
|
/* 02C578C4 */ _t326 = cpu->r[31] + 0x00000000u;
|
|
/* 02C578C4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t326);
|
|
/* 02C578C8 */ _t327 = cpu->r[25] + 0x0000001Cu;
|
|
/* 02C578C8 */ rbrew_write_f32(cpu->mem, _t327, cpu->f[0]);
|
|
/* 02C578CC */ _t328 = ~cpu->r[9];
|
|
/* 02C578CC */ cpu->r[10] = cpu->r[10] | _t328;
|
|
/* 02C578D0 */ _t329 = cpu->r[25] + 0x00000000u;
|
|
/* 02C578D0 */ rbrew_write32(cpu->mem, _t329, cpu->r[10]);
|
|
L_02C578D4: ; // 0x2c578d4
|
|
/* 02C578D4 */ cpu->r[29] = cpu->r[29] + 0xFFFFFFFFu;
|
|
/* 02C578D4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 02C578D8 */ cpu->r[30] = cpu->r[30] + 0x00000004u;
|
|
/* 02C578DC */ cpu->r[31] = cpu->r[31] + 0x00000030u;
|
|
/* 02C578E0 */ _t330 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C578E0 */ _t331 = _t330 & 0x00000001u;
|
|
/* 02C578E0 */ if (_t331) goto L_02C578E4; else goto L_02C56B00;
|
|
L_02C578E4: ; // 0x2c578e4
|
|
/* 02C578E4 */ /* nop */
|
|
/* 02C578E8 */ _t332 = cpu->r[1] + 0x000000B0u;
|
|
/* 02C578E8 */ cpu->f[18] = rbrew_read_f32(cpu->mem, _t332);
|
|
/* 02C578EC */ _t333 = cpu->r[1] + 0x00000090u;
|
|
/* 02C578EC */ cpu->f[16] = rbrew_read_f32(cpu->mem, _t333);
|
|
/* 02C578F0 */ _t334 = cpu->r[1] + 0x000000A8u;
|
|
/* 02C578F0 */ cpu->f[18] = rbrew_read_f64(cpu->mem, _t334);
|
|
/* 02C578F4 */ _t335 = cpu->r[1] + 0x000000D0u;
|
|
/* 02C578F4 */ cpu->f[20] = rbrew_read_f32(cpu->mem, _t335);
|
|
/* 02C578F8 */ _t336 = cpu->r[1] + 0x00000088u;
|
|
/* 02C578F8 */ cpu->f[16] = rbrew_read_f64(cpu->mem, _t336);
|
|
/* 02C578FC */ _t337 = cpu->r[1] + 0x000000C8u;
|
|
/* 02C578FC */ cpu->f[20] = rbrew_read_f64(cpu->mem, _t337);
|
|
/* 02C57900 */ _t338 = cpu->r[1] + 0x000000A0u;
|
|
/* 02C57900 */ cpu->f[17] = rbrew_read_f32(cpu->mem, _t338);
|
|
/* 02C57904 */ _t339 = cpu->r[1] + 0x000000F0u;
|
|
/* 02C57904 */ cpu->f[22] = rbrew_read_f32(cpu->mem, _t339);
|
|
/* 02C57908 */ _t340 = cpu->r[1] + 0x00000098u;
|
|
/* 02C57908 */ cpu->f[17] = rbrew_read_f64(cpu->mem, _t340);
|
|
/* 02C5790C */ _t341 = cpu->r[1] + 0x000000E8u;
|
|
/* 02C5790C */ cpu->f[22] = rbrew_read_f64(cpu->mem, _t341);
|
|
/* 02C57910 */ _t342 = cpu->r[1] + 0x000000C0u;
|
|
/* 02C57910 */ cpu->f[19] = rbrew_read_f32(cpu->mem, _t342);
|
|
/* 02C57914 */ _t343 = cpu->r[1] + 0x00000110u;
|
|
/* 02C57914 */ cpu->f[24] = rbrew_read_f32(cpu->mem, _t343);
|
|
/* 02C57918 */ _t344 = cpu->r[1] + 0x000000B8u;
|
|
/* 02C57918 */ cpu->f[19] = rbrew_read_f64(cpu->mem, _t344);
|
|
/* 02C5791C */ _t345 = cpu->r[1] + 0x00000108u;
|
|
/* 02C5791C */ cpu->f[24] = rbrew_read_f64(cpu->mem, _t345);
|
|
/* 02C57920 */ _t346 = cpu->r[1] + 0x000000E0u;
|
|
/* 02C57920 */ cpu->f[21] = rbrew_read_f32(cpu->mem, _t346);
|
|
/* 02C57924 */ _t347 = cpu->r[1] + 0x00000120u;
|
|
/* 02C57924 */ cpu->f[25] = rbrew_read_f32(cpu->mem, _t347);
|
|
/* 02C57928 */ _t348 = cpu->r[1] + 0x00000150u;
|
|
/* 02C57928 */ cpu->f[28] = rbrew_read_f32(cpu->mem, _t348);
|
|
/* 02C5792C */ _t349 = cpu->r[1] + 0x00000118u;
|
|
/* 02C5792C */ cpu->f[25] = rbrew_read_f64(cpu->mem, _t349);
|
|
/* 02C57930 */ _t350 = cpu->r[1] + 0x00000148u;
|
|
/* 02C57930 */ cpu->f[28] = rbrew_read_f64(cpu->mem, _t350);
|
|
/* 02C57934 */ _t351 = cpu->r[1] + 0x00000080u;
|
|
/* 02C57934 */ cpu->f[15] = rbrew_read_f32(cpu->mem, _t351);
|
|
/* 02C57938 */ _t352 = cpu->r[1] + 0x00000140u;
|
|
/* 02C57938 */ cpu->f[27] = rbrew_read_f32(cpu->mem, _t352);
|
|
/* 02C5793C */ _t353 = cpu->r[1] + 0x00000078u;
|
|
/* 02C5793C */ cpu->f[15] = rbrew_read_f64(cpu->mem, _t353);
|
|
/* 02C57940 */ _t354 = cpu->r[1] + 0x00000138u;
|
|
/* 02C57940 */ cpu->f[27] = rbrew_read_f64(cpu->mem, _t354);
|
|
/* 02C57944 */ _t355 = cpu->r[1] + 0x00000070u;
|
|
/* 02C57944 */ cpu->f[14] = rbrew_read_f32(cpu->mem, _t355);
|
|
/* 02C57948 */ _t356 = cpu->r[1] + 0x00000160u;
|
|
/* 02C57948 */ cpu->f[29] = rbrew_read_f32(cpu->mem, _t356);
|
|
/* 02C5794C */ _t357 = cpu->r[1] + 0x00000068u;
|
|
/* 02C5794C */ cpu->f[14] = rbrew_read_f64(cpu->mem, _t357);
|
|
/* 02C57950 */ _t358 = cpu->r[1] + 0x00000158u;
|
|
/* 02C57950 */ cpu->f[29] = rbrew_read_f64(cpu->mem, _t358);
|
|
/* 02C57954 */ _t359 = cpu->r[1] + 0x00000170u;
|
|
/* 02C57954 */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t359);
|
|
/* 02C57958 */ _t360 = cpu->r[1] + 0x00000180u;
|
|
/* 02C57958 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t360);
|
|
/* 02C5795C */ _t361 = cpu->r[1] + 0x00000168u;
|
|
/* 02C5795C */ cpu->f[30] = rbrew_read_f64(cpu->mem, _t361);
|
|
/* 02C57960 */ _t362 = cpu->r[1] + 0x00000178u;
|
|
/* 02C57960 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t362);
|
|
/* 02C57964 */ _t363 = cpu->r[1] + 0x000000D8u;
|
|
/* 02C57964 */ cpu->f[21] = rbrew_read_f64(cpu->mem, _t363);
|
|
/* 02C57968 */ _t364 = cpu->r[1] + 0x00000100u;
|
|
/* 02C57968 */ cpu->f[23] = rbrew_read_f32(cpu->mem, _t364);
|
|
/* 02C5796C */ _t365 = cpu->r[1] + 0x00000130u;
|
|
/* 02C5796C */ cpu->f[26] = rbrew_read_f32(cpu->mem, _t365);
|
|
/* 02C57970 */ _t366 = cpu->r[1] + 0x000000F8u;
|
|
/* 02C57970 */ cpu->f[23] = rbrew_read_f64(cpu->mem, _t366);
|
|
/* 02C57974 */ _t367 = cpu->r[1] + 0x00000128u;
|
|
/* 02C57974 */ cpu->f[26] = rbrew_read_f64(cpu->mem, _t367);
|
|
/* 02C57978 */ _t368 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C57978 */ _t369 = _t368 & 0x00000001u;
|
|
/* 02C57978 */ if (_t369) goto L_02C5797C; // else: addr-0 trap, fall-through
|
|
L_02C5797C: ; // 0x2c5797c
|
|
/* 02C5797C */ _t370 = cpu->r[1] + 0x0000018Cu;
|
|
/* 02C5797C */ cpu->r[0] = rbrew_read32(cpu->mem, _t370);
|
|
/* 02C57980 */ cpu->lr = cpu->r[0];
|
|
/* 02C57984 */ cpu->r[1] = cpu->r[1] + 0x00000188u;
|
|
/* 02C57988 */ return;
|
|
}
|
|
|
|
// fn_02C5798C @ 0x2c5798c
|
|
void Gambit_fn_02C5798C(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;
|
|
|
|
L_02C5798C: ; // 0x2c5798c
|
|
/* 02C5798C */ _t0 = cpu->r[1] + 0xFFFFFF98u;
|
|
/* 02C5798C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C5798C */ cpu->r[1] = _t0;
|
|
/* 02C57990 */ /* nop */
|
|
/* 02C57994 */ _t1 = cpu->r[1] + 0x00000058u;
|
|
/* 02C57994 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[31]);
|
|
/* 02C57998 */ /* nop */
|
|
/* 02C5799C */ _t2 = cpu->r[1] + 0x00000048u;
|
|
/* 02C5799C */ rbrew_write_f64(cpu->mem, _t2, cpu->f[30]);
|
|
/* 02C579A0 */ cpu->r[0] = cpu->lr;
|
|
/* 02C579A4 */ _t3 = cpu->r[1] + 0x00000060u;
|
|
/* 02C579A4 */ rbrew_write_f32(cpu->mem, _t3, cpu->f[31]);
|
|
/* 02C579A8 */ /* nop */
|
|
/* 02C579AC */ _t4 = cpu->r[1] + 0x00000050u;
|
|
/* 02C579AC */ rbrew_write_f32(cpu->mem, _t4, cpu->f[30]);
|
|
/* 02C579B0 */ _t5 = cpu->r[1] + 0x0000006Cu;
|
|
/* 02C579B0 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02C579B4 */ cpu->r[29] = cpu->r[3];
|
|
/* 02C579B8 */ _t6 = cpu->r[4] + 0x00000050u;
|
|
/* 02C579B8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02C579BC */ cpu->r[12] = cpu->r[12] | 0x00000008u;
|
|
/* 02C579C0 */ _t7 = cpu->r[4] + 0x00000050u;
|
|
/* 02C579C0 */ rbrew_write32(cpu->mem, _t7, cpu->r[12]);
|
|
/* 02C579C4 */ _t8 = cpu->r[29] + 0x00000008u;
|
|
/* 02C579C4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C579C8 */ _t9 = cpu->r[4] + 0x0000002Cu;
|
|
/* 02C579C8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02C579CC */ cpu->r[0] = cpu->r[0] | 0x00000008u;
|
|
/* 02C579D0 */ _t10 = cpu->r[29] + 0x00000008u;
|
|
/* 02C579D0 */ rbrew_write32(cpu->mem, _t10, cpu->r[0]);
|
|
/* 02C579D4 */ _t11 = cpu->r[4] + 0x00000040u;
|
|
/* 02C579D4 */ cpu->r[30] = rbrew_read16(cpu->mem, _t11);
|
|
/* 02C579D8 */ cpu->f[30] = cpu->f[1];
|
|
/* 02C579DC */ cpu->r[27] = cpu->r[4] + 0x00000038u;
|
|
/* 02C579E0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02C579E4 */ _t12 = cpu->r[29] + 0x00000000u;
|
|
/* 02C579E4 */ cpu->r[26] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02C579E8 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C579E8 */ _t14 = _t13 & 0x00000001u;
|
|
/* 02C579E8 */ if (_t14) goto L_02C57B3C; else goto L_02C579EC;
|
|
L_02C579EC: ; // 0x2c579ec
|
|
/* 02C579EC */ cpu->r[11] = 0x101B0000u;
|
|
/* 02C579F0 */ cpu->r[24] = cpu->r[1] + 0x00000010u;
|
|
/* 02C579F4 */ _t15 = cpu->r[11] + 0xFFFFEE30u;
|
|
/* 02C579F4 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t15);
|
|
/* 02C579F8 */ cpu->r[25] = 0x00000000u;
|
|
L_02C579FC: ; // 0x2c579fc
|
|
/* 02C579FC */ _t16 = cpu->r[27] + 0x00000000u;
|
|
/* 02C579FC */ cpu->r[12] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02C57A00 */ _t17 = cpu->r[12] + cpu->r[25];
|
|
/* 02C57A00 */ cpu->r[10] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02C57A04 */ cpu->r[0] = rbrew_rlwinm(cpu->r[10], 0x00000001u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02C57A08 */ cpu->r[4] = cpu->r[0] ^ 0x00000001u;
|
|
/* 02C57A0C */ cpu->r[5] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 02C57A0C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u);
|
|
/* 02C57A10 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C57A10 */ _t19 = _t18 & 0x00000001u;
|
|
/* 02C57A10 */ if (_t19) goto L_02C57B2C; else goto L_02C57A14;
|
|
L_02C57A14: ; // 0x2c57a14
|
|
/* 02C57A14 */ _t20 = cpu->r[29] + 0x00000014u;
|
|
/* 02C57A14 */ cpu->r[3] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02C57A18 */ cpu->r[0] = rbrew_rlwinm(cpu->r[10], 0x00000000u, 0x00000011u, 0x0000001Fu);
|
|
/* 02C57A1C */ _t21 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C57A1C */ rbrew_write_f32(cpu->mem, _t21, cpu->f[30]);
|
|
/* 02C57A20 */ _t22 = cpu->r[1] + 0x00000008u;
|
|
/* 02C57A20 */ rbrew_write32(cpu->mem, _t22, cpu->r[0]);
|
|
/* 02C57A24 */ _t23 = cpu->r[3] + 0x00000000u;
|
|
/* 02C57A24 */ cpu->r[8] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02C57A28 */ _t24 = cpu->r[8] + 0x00000014u;
|
|
/* 02C57A28 */ cpu->r[10] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02C57A2C */ cpu->r[0] = (uint32_t)((int32_t)cpu->r[0] * (int32_t)0x00000038u);
|
|
/* 02C57A30 */ cpu->ctr = cpu->r[10];
|
|
/* 02C57A34 */ cpu->r[28] = cpu->r[26] + cpu->r[0];
|
|
/* 02C57A38 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02C57A3C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02C57A40 */ _t25 = cpu->r[31] + 0x00000028u;
|
|
/* 02C57A40 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t25);
|
|
/* 02C57A44 */ _t26 = cpu->r[31] + 0x0000002Cu;
|
|
/* 02C57A44 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t26);
|
|
/* 02C57A48 */ cpu->f[8] = cpu->f[9] + cpu->f[9];
|
|
/* 02C57A4C */ _t27 = cpu->r[31] + 0x00000024u;
|
|
/* 02C57A4C */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t27);
|
|
/* 02C57A50 */ cpu->f[11] = cpu->f[11] + cpu->f[11];
|
|
/* 02C57A54 */ _t28 = cpu->r[31] + 0x00000020u;
|
|
/* 02C57A54 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t28);
|
|
/* 02C57A58 */ cpu->f[0] = cpu->f[10] + cpu->f[10];
|
|
/* 02C57A5C */ cpu->f[13] = cpu->f[12] + cpu->f[12];
|
|
/* 02C57A60 */ cpu->f[6] = cpu->f[8] * cpu->f[9];
|
|
/* 02C57A64 */ cpu->f[7] = cpu->f[13] * cpu->f[10];
|
|
/* 02C57A68 */ cpu->f[2] = -fma(cpu->f[0], cpu->f[10], -(cpu->f[31]));
|
|
/* 02C57A6C */ cpu->f[10] = cpu->f[11] * cpu->f[10];
|
|
/* 02C57A70 */ cpu->f[8] = cpu->f[11] * cpu->f[9];
|
|
/* 02C57A74 */ cpu->f[4] = fma(cpu->f[13], cpu->f[9], cpu->f[10]);
|
|
/* 02C57A78 */ cpu->f[10] = -fma(cpu->f[13], cpu->f[12], -(cpu->f[31]));
|
|
/* 02C57A7C */ cpu->f[5] = cpu->f[7] + cpu->f[8];
|
|
/* 02C57A80 */ _t29 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C57A80 */ cpu->f[3] = rbrew_read_f32(cpu->mem, _t29);
|
|
/* 02C57A84 */ cpu->f[13] = cpu->f[0] * cpu->f[9];
|
|
/* 02C57A88 */ _t30 = cpu->r[24] + 0x00000008u;
|
|
/* 02C57A88 */ rbrew_write_f32(cpu->mem, _t30, cpu->f[4]);
|
|
/* 02C57A8C */ cpu->f[10] = cpu->f[10] - cpu->f[6];
|
|
/* 02C57A90 */ _t31 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C57A90 */ rbrew_write_f32(cpu->mem, _t31, cpu->f[5]);
|
|
/* 02C57A94 */ cpu->f[0] = -fma(cpu->f[11], cpu->f[12], -(cpu->f[13]));
|
|
/* 02C57A98 */ cpu->f[6] = cpu->f[2] - cpu->f[6];
|
|
/* 02C57A9C */ _t32 = cpu->r[1] + 0x00000020u;
|
|
/* 02C57A9C */ rbrew_write_f32(cpu->mem, _t32, cpu->f[10]);
|
|
/* 02C57AA0 */ cpu->f[9] = cpu->f[7] - cpu->f[8];
|
|
/* 02C57AA4 */ _t33 = cpu->r[1] + 0x00000024u;
|
|
/* 02C57AA4 */ rbrew_write_f32(cpu->mem, _t33, cpu->f[0]);
|
|
/* 02C57AA8 */ _t34 = cpu->r[24] + 0x00000000u;
|
|
/* 02C57AA8 */ rbrew_write_f32(cpu->mem, _t34, cpu->f[6]);
|
|
/* 02C57AAC */ _t35 = cpu->r[24] + 0x00000004u;
|
|
/* 02C57AAC */ rbrew_write_f32(cpu->mem, _t35, cpu->f[9]);
|
|
/* 02C57AB0 */ /* nop */
|
|
/* 02C57AB4 */ /* nop */
|
|
/* 02C57AB8 */ /* nop */
|
|
/* 02C57ABC */ /* nop */
|
|
/* 02C57AC0 */ /* nop */
|
|
/* 02C57AC4 */ /* nop */
|
|
/* 02C57AC8 */ /* nop */
|
|
/* 02C57ACC */ /* nop */
|
|
/* 02C57AD0 */ /* nop */
|
|
/* 02C57AD4 */ /* nop */
|
|
/* 02C57AD8 */ /* nop */
|
|
/* 02C57ADC */ /* nop */
|
|
/* 02C57AE0 */ /* nop */
|
|
/* 02C57AE4 */ /* nop */
|
|
/* 02C57AE8 */ /* nop */
|
|
/* 02C57AEC */ /* nop */
|
|
/* 02C57AF0 */ /* nop */
|
|
/* 02C57AF4 */ /* nop */
|
|
/* 02C57AF8 */ /* nop */
|
|
/* 02C57AFC */ _t36 = cpu->r[28] + 0x0000001Cu;
|
|
/* 02C57AFC */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t36);
|
|
/* 02C57B00 */ /* nop */
|
|
/* 02C57B04 */ /* nop */
|
|
/* 02C57B08 */ /* nop */
|
|
/* 02C57B0C */ cpu->f[8] = cpu->f[8] + cpu->f[3];
|
|
/* 02C57B10 */ _t37 = cpu->r[28] + 0x00000000u;
|
|
/* 02C57B10 */ cpu->r[0] = rbrew_read32(cpu->mem, _t37);
|
|
/* 02C57B14 */ /* nop */
|
|
/* 02C57B18 */ /* nop */
|
|
/* 02C57B1C */ _t38 = cpu->r[31] + 0x00000000u;
|
|
/* 02C57B1C */ cpu->r[9] = rbrew_read32(cpu->mem, _t38);
|
|
/* 02C57B20 */ _t39 = cpu->r[28] + 0x0000001Cu;
|
|
/* 02C57B20 */ rbrew_write_f32(cpu->mem, _t39, cpu->f[8]);
|
|
/* 02C57B24 */ _t40 = ~cpu->r[9];
|
|
/* 02C57B24 */ cpu->r[0] = cpu->r[0] | _t40;
|
|
/* 02C57B28 */ _t41 = cpu->r[28] + 0x00000000u;
|
|
/* 02C57B28 */ rbrew_write32(cpu->mem, _t41, cpu->r[0]);
|
|
L_02C57B2C: ; // 0x2c57b2c
|
|
/* 02C57B2C */ cpu->r[30] = cpu->r[30] + 0xFFFFFFFFu;
|
|
/* 02C57B2C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02C57B30 */ cpu->r[25] = cpu->r[25] + 0x00000004u;
|
|
/* 02C57B34 */ cpu->r[31] = cpu->r[31] + 0x00000030u;
|
|
/* 02C57B38 */ _t42 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C57B38 */ _t43 = _t42 & 0x00000001u;
|
|
/* 02C57B38 */ if (_t43) goto L_02C57B3C; else goto L_02C579FC;
|
|
L_02C57B3C: ; // 0x2c57b3c
|
|
/* 02C57B3C */ /* nop */
|
|
/* 02C57B40 */ _t44 = cpu->r[1] + 0x00000050u;
|
|
/* 02C57B40 */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t44);
|
|
/* 02C57B44 */ _t45 = cpu->r[1] + 0x00000060u;
|
|
/* 02C57B44 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t45);
|
|
/* 02C57B48 */ _t46 = cpu->r[1] + 0x00000048u;
|
|
/* 02C57B48 */ cpu->f[30] = rbrew_read_f64(cpu->mem, _t46);
|
|
/* 02C57B4C */ _t47 = cpu->r[1] + 0x00000058u;
|
|
/* 02C57B4C */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t47);
|
|
/* 02C57B50 */ _t48 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C57B50 */ _t49 = _t48 & 0x00000001u;
|
|
/* 02C57B50 */ if (_t49) goto L_02C57B54; // else: addr-0 trap, fall-through
|
|
L_02C57B54: ; // 0x2c57b54
|
|
/* 02C57B54 */ _t50 = cpu->r[1] + 0x0000006Cu;
|
|
/* 02C57B54 */ cpu->r[0] = rbrew_read32(cpu->mem, _t50);
|
|
/* 02C57B58 */ cpu->lr = cpu->r[0];
|
|
/* 02C57B5C */ cpu->r[1] = cpu->r[1] + 0x00000068u;
|
|
/* 02C57B60 */ return;
|
|
}
|
|
|
|
// fn_02C57B64 @ 0x2c57b64
|
|
void Gambit_fn_02C57B64(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_02C57B64: ; // 0x2c57b64
|
|
/* 02C57B64 */ _t0 = cpu->r[1] + 0xFFFFFF48u;
|
|
/* 02C57B64 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C57B64 */ cpu->r[1] = _t0;
|
|
/* 02C57B68 */ /* nop */
|
|
/* 02C57B6C */ _t1 = cpu->r[1] + 0x000000A8u;
|
|
/* 02C57B6C */ rbrew_write_f64(cpu->mem, _t1, cpu->f[31]);
|
|
/* 02C57B70 */ /* nop */
|
|
/* 02C57B74 */ _t2 = cpu->r[1] + 0x00000078u;
|
|
/* 02C57B74 */ rbrew_write_f64(cpu->mem, _t2, cpu->f[28]);
|
|
/* 02C57B78 */ _t3 = cpu->r[1] + 0x00000098u;
|
|
/* 02C57B78 */ rbrew_write_f64(cpu->mem, _t3, cpu->f[30]);
|
|
/* 02C57B7C */ /* nop */
|
|
/* 02C57B80 */ _t4 = cpu->r[1] + 0x000000B0u;
|
|
/* 02C57B80 */ rbrew_write_f32(cpu->mem, _t4, cpu->f[31]);
|
|
/* 02C57B84 */ _t5 = cpu->r[1] + 0x00000080u;
|
|
/* 02C57B84 */ rbrew_write_f32(cpu->mem, _t5, cpu->f[28]);
|
|
/* 02C57B88 */ /* nop */
|
|
/* 02C57B8C */ cpu->r[0] = cpu->lr;
|
|
/* 02C57B90 */ _t6 = cpu->r[1] + 0x000000BCu;
|
|
/* 02C57B90 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02C57B94 */ _t7 = cpu->r[1] + 0x00000088u;
|
|
/* 02C57B94 */ rbrew_write_f64(cpu->mem, _t7, cpu->f[29]);
|
|
/* 02C57B98 */ _t8 = cpu->r[1] + 0x000000A0u;
|
|
/* 02C57B98 */ rbrew_write_f32(cpu->mem, _t8, cpu->f[30]);
|
|
/* 02C57B9C */ /* nop */
|
|
/* 02C57BA0 */ _t9 = cpu->r[1] + 0x00000090u;
|
|
/* 02C57BA0 */ rbrew_write_f32(cpu->mem, _t9, cpu->f[29]);
|
|
/* 02C57BA4 */ _t10 = cpu->r[4] + 0x00000050u;
|
|
/* 02C57BA4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02C57BA8 */ cpu->r[10] = cpu->r[10] | 0x00000008u;
|
|
/* 02C57BAC */ cpu->r[30] = cpu->r[3];
|
|
/* 02C57BB0 */ _t11 = cpu->r[4] + 0x00000050u;
|
|
/* 02C57BB0 */ rbrew_write32(cpu->mem, _t11, cpu->r[10]);
|
|
/* 02C57BB4 */ _t12 = cpu->r[30] + 0x00000008u;
|
|
/* 02C57BB4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02C57BB8 */ _t13 = cpu->r[4] + 0x0000002Cu;
|
|
/* 02C57BB8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02C57BBC */ cpu->r[0] = cpu->r[0] | 0x00000008u;
|
|
/* 02C57BC0 */ _t14 = cpu->r[30] + 0x00000008u;
|
|
/* 02C57BC0 */ rbrew_write32(cpu->mem, _t14, cpu->r[0]);
|
|
/* 02C57BC4 */ _t15 = cpu->r[4] + 0x00000040u;
|
|
/* 02C57BC4 */ cpu->r[24] = rbrew_read16(cpu->mem, _t15);
|
|
/* 02C57BC8 */ cpu->f[28] = cpu->f[1];
|
|
/* 02C57BCC */ cpu->r[23] = cpu->r[4] + 0x00000038u;
|
|
/* 02C57BD0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], 0x00000000u);
|
|
/* 02C57BD4 */ _t16 = cpu->r[30] + 0x00000000u;
|
|
/* 02C57BD4 */ cpu->r[22] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02C57BD8 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C57BD8 */ _t18 = _t17 & 0x00000001u;
|
|
/* 02C57BD8 */ if (_t18) goto L_02C57DC0; else goto L_02C57BDC;
|
|
L_02C57BDC: ; // 0x2c57bdc
|
|
/* 02C57BDC */ cpu->r[10] = 0x101B0000u;
|
|
/* 02C57BE0 */ cpu->r[9] = 0x101B0000u;
|
|
/* 02C57BE4 */ cpu->r[28] = cpu->r[1] + 0x00000012u;
|
|
/* 02C57BE8 */ _t19 = cpu->r[10] + 0xFFFFEE54u;
|
|
/* 02C57BE8 */ cpu->f[29] = rbrew_read_f32(cpu->mem, _t19);
|
|
/* 02C57BEC */ cpu->r[7] = 0x101B0000u;
|
|
/* 02C57BF0 */ cpu->r[27] = cpu->r[1] + 0x00000014u;
|
|
/* 02C57BF4 */ _t20 = cpu->r[9] + 0xFFFFEE40u;
|
|
/* 02C57BF4 */ cpu->f[30] = rbrew_read_f64(cpu->mem, _t20);
|
|
/* 02C57BF8 */ cpu->r[26] = 0x101B0000u;
|
|
/* 02C57BFC */ cpu->r[25] = 0x00000000u;
|
|
/* 02C57C00 */ _t21 = cpu->r[7] + 0xFFFFEE48u;
|
|
/* 02C57C00 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t21);
|
|
/* 02C57C04 */ cpu->r[29] = cpu->r[1] + 0x00000010u;
|
|
/* 02C57C08 */ cpu->r[26] = cpu->r[26] + 0xFFFFF1DCu;
|
|
/* 02C57C0C */ cpu->r[21] = cpu->r[1] + 0x00000030u;
|
|
L_02C57C10: ; // 0x2c57c10
|
|
/* 02C57C10 */ _t22 = cpu->r[23] + 0x00000000u;
|
|
/* 02C57C10 */ cpu->r[6] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02C57C14 */ _t23 = cpu->r[6] + cpu->r[25];
|
|
/* 02C57C14 */ cpu->r[0] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02C57C18 */ cpu->r[7] = rbrew_rlwinm(cpu->r[0], 0x00000001u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02C57C1C */ cpu->r[8] = cpu->r[7] ^ 0x00000001u;
|
|
/* 02C57C20 */ cpu->r[9] = rbrew_rlwinm(cpu->r[8], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 02C57C20 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 02C57C24 */ _t24 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C57C24 */ _t25 = _t24 & 0x00000001u;
|
|
/* 02C57C24 */ if (_t25) goto L_02C57DB0; else goto L_02C57C28;
|
|
L_02C57C28: ; // 0x2c57c28
|
|
/* 02C57C28 */ _t26 = cpu->r[30] + 0x00000014u;
|
|
/* 02C57C28 */ cpu->r[3] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02C57C2C */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000011u, 0x0000001Fu);
|
|
/* 02C57C30 */ _t27 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C57C30 */ rbrew_write_f32(cpu->mem, _t27, cpu->f[28]);
|
|
/* 02C57C34 */ _t28 = cpu->r[1] + 0x00000008u;
|
|
/* 02C57C34 */ rbrew_write32(cpu->mem, _t28, cpu->r[0]);
|
|
/* 02C57C38 */ _t29 = cpu->r[3] + 0x00000000u;
|
|
/* 02C57C38 */ cpu->r[5] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02C57C3C */ _t30 = cpu->r[5] + 0x00000014u;
|
|
/* 02C57C3C */ cpu->r[8] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02C57C40 */ cpu->r[4] = (uint32_t)((int32_t)cpu->r[0] * (int32_t)0x00000038u);
|
|
/* 02C57C44 */ cpu->ctr = cpu->r[8];
|
|
/* 02C57C48 */ cpu->r[20] = cpu->r[22] + cpu->r[4];
|
|
/* 02C57C4C */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02C57C50 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02C57C54 */ _t31 = cpu->r[31] + 0x00000020u;
|
|
/* 02C57C54 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t31);
|
|
/* 02C57C58 */ cpu->f[6] = fma(cpu->f[0], cpu->f[31], cpu->f[30]);
|
|
/* 02C57C5C */ _t32 = cpu->r[1] + 0x00000018u;
|
|
/* 02C57C5C */ rbrew_write_f64(cpu->mem, _t32, cpu->f[6]);
|
|
/* 02C57C60 */ _t33 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C57C60 */ cpu->r[4] = rbrew_read32(cpu->mem, _t33);
|
|
/* 02C57C64 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000018u, 0x00000010u, 0x0000001Fu);
|
|
/* 02C57C68 */ _t34 = cpu->r[1] + 0x00000010u;
|
|
/* 02C57C68 */ rbrew_write16(cpu->mem, _t34, (uint16_t)cpu->r[0]);
|
|
/* 02C57C6C */ _t35 = cpu->r[31] + 0x00000024u;
|
|
/* 02C57C6C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t35);
|
|
/* 02C57C70 */ cpu->r[7] = rbrew_rlwinm(cpu->r[4], 0x0000000Cu, 0x00000014u, 0x0000001Bu);
|
|
/* 02C57C74 */ cpu->f[0] = fma(cpu->f[0], cpu->f[31], cpu->f[30]);
|
|
/* 02C57C78 */ cpu->r[10] = cpu->r[26] + cpu->r[7];
|
|
/* 02C57C7C */ /* nop */
|
|
/* 02C57C80 */ _t36 = cpu->r[1] + 0x00000020u;
|
|
/* 02C57C80 */ rbrew_write_f64(cpu->mem, _t36, cpu->f[0]);
|
|
/* 02C57C84 */ _t37 = cpu->r[1] + 0x00000024u;
|
|
/* 02C57C84 */ cpu->r[6] = rbrew_read32(cpu->mem, _t37);
|
|
/* 02C57C88 */ /* nop */
|
|
/* 02C57C8C */ /* nop */
|
|
/* 02C57C90 */ cpu->r[12] = rbrew_rlwinm(cpu->r[6], 0x00000018u, 0x00000010u, 0x0000001Fu);
|
|
/* 02C57C94 */ cpu->r[11] = rbrew_rlwinm(cpu->r[6], 0x0000000Cu, 0x00000014u, 0x0000001Bu);
|
|
/* 02C57C98 */ _t38 = cpu->r[1] + 0x00000012u;
|
|
/* 02C57C98 */ rbrew_write16(cpu->mem, _t38, (uint16_t)cpu->r[12]);
|
|
/* 02C57C9C */ _t39 = cpu->r[31] + 0x00000028u;
|
|
/* 02C57C9C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t39);
|
|
/* 02C57CA0 */ cpu->r[12] = cpu->r[26] + cpu->r[11];
|
|
/* 02C57CA4 */ /* nop */
|
|
/* 02C57CA8 */ cpu->f[7] = fma(cpu->f[0], cpu->f[31], cpu->f[30]);
|
|
/* 02C57CAC */ _t40 = cpu->r[1] + 0x00000028u;
|
|
/* 02C57CAC */ rbrew_write_f64(cpu->mem, _t40, cpu->f[7]);
|
|
/* 02C57CB0 */ _t41 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02C57CB0 */ cpu->r[6] = rbrew_read32(cpu->mem, _t41);
|
|
/* 02C57CB4 */ /* nop */
|
|
/* 02C57CB8 */ /* nop */
|
|
/* 02C57CBC */ cpu->r[0] = rbrew_rlwinm(cpu->r[6], 0x00000018u, 0x00000010u, 0x0000001Fu);
|
|
/* 02C57CC0 */ /* nop */
|
|
/* 02C57CC4 */ cpu->r[12] = rbrew_rlwinm(cpu->r[6], 0x0000000Cu, 0x00000014u, 0x0000001Bu);
|
|
/* 02C57CC8 */ /* nop */
|
|
/* 02C57CCC */ /* nop */
|
|
/* 02C57CD0 */ _t42 = cpu->r[1] + 0x00000014u;
|
|
/* 02C57CD0 */ rbrew_write16(cpu->mem, _t42, (uint16_t)cpu->r[0]);
|
|
/* 02C57CD4 */ cpu->r[10] = cpu->r[26] + cpu->r[12];
|
|
/* 02C57CD8 */ /* nop */
|
|
/* 02C57CDC */ /* nop */
|
|
/* 02C57CE0 */ /* nop */
|
|
/* 02C57CE4 */ /* nop */
|
|
/* 02C57CE8 */ /* nop */
|
|
/* 02C57CEC */ /* nop */
|
|
/* 02C57CF0 */ /* nop */
|
|
/* 02C57CF4 */ /* nop */
|
|
/* 02C57CF8 */ /* nop */
|
|
/* 02C57CFC */ /* nop */
|
|
/* 02C57D00 */ /* nop */
|
|
/* 02C57D04 */ /* nop */
|
|
/* 02C57D08 */ /* nop */
|
|
/* 02C57D0C */ /* nop */
|
|
/* 02C57D10 */ _t43 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02C57D10 */ rbrew_write_f32(cpu->mem, _t43, cpu->f[12]);
|
|
/* 02C57D14 */ /* nop */
|
|
/* 02C57D18 */ _t44 = cpu->r[21] + 0x00000000u;
|
|
/* 02C57D18 */ rbrew_write_f32(cpu->mem, _t44, cpu->f[8]);
|
|
/* 02C57D1C */ /* nop */
|
|
/* 02C57D20 */ _t45 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C57D20 */ cpu->f[5] = rbrew_read_f32(cpu->mem, _t45);
|
|
/* 02C57D24 */ /* nop */
|
|
/* 02C57D28 */ /* nop */
|
|
/* 02C57D2C */ /* nop */
|
|
/* 02C57D30 */ /* nop */
|
|
/* 02C57D34 */ /* nop */
|
|
/* 02C57D38 */ /* nop */
|
|
/* 02C57D3C */ /* nop */
|
|
/* 02C57D40 */ /* nop */
|
|
/* 02C57D44 */ /* nop */
|
|
/* 02C57D48 */ /* nop */
|
|
/* 02C57D4C */ /* nop */
|
|
/* 02C57D50 */ /* nop */
|
|
/* 02C57D54 */ /* nop */
|
|
/* 02C57D58 */ /* nop */
|
|
/* 02C57D5C */ /* nop */
|
|
/* 02C57D60 */ /* nop */
|
|
/* 02C57D64 */ /* nop */
|
|
/* 02C57D68 */ /* nop */
|
|
/* 02C57D6C */ /* nop */
|
|
/* 02C57D70 */ /* nop */
|
|
/* 02C57D74 */ /* nop */
|
|
/* 02C57D78 */ /* nop */
|
|
/* 02C57D7C */ _t46 = cpu->r[20] + 0x0000001Cu;
|
|
/* 02C57D7C */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t46);
|
|
/* 02C57D80 */ /* nop */
|
|
/* 02C57D84 */ /* nop */
|
|
/* 02C57D88 */ /* nop */
|
|
/* 02C57D8C */ /* nop */
|
|
/* 02C57D90 */ cpu->f[8] = cpu->f[8] + cpu->f[5];
|
|
/* 02C57D94 */ /* nop */
|
|
/* 02C57D98 */ _t47 = cpu->r[20] + 0x00000000u;
|
|
/* 02C57D98 */ cpu->r[4] = rbrew_read32(cpu->mem, _t47);
|
|
/* 02C57D9C */ /* nop */
|
|
/* 02C57DA0 */ _t48 = cpu->r[31] + 0x00000000u;
|
|
/* 02C57DA0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t48);
|
|
/* 02C57DA4 */ _t49 = cpu->r[20] + 0x0000001Cu;
|
|
/* 02C57DA4 */ rbrew_write_f32(cpu->mem, _t49, cpu->f[8]);
|
|
/* 02C57DA8 */ _t50 = ~cpu->r[0];
|
|
/* 02C57DA8 */ cpu->r[4] = cpu->r[4] | _t50;
|
|
/* 02C57DAC */ _t51 = cpu->r[20] + 0x00000000u;
|
|
/* 02C57DAC */ rbrew_write32(cpu->mem, _t51, cpu->r[4]);
|
|
L_02C57DB0: ; // 0x2c57db0
|
|
/* 02C57DB0 */ cpu->r[24] = cpu->r[24] + 0xFFFFFFFFu;
|
|
/* 02C57DB0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], 0x00000000u);
|
|
/* 02C57DB4 */ cpu->r[25] = cpu->r[25] + 0x00000004u;
|
|
/* 02C57DB8 */ cpu->r[31] = cpu->r[31] + 0x00000030u;
|
|
/* 02C57DBC */ _t52 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C57DBC */ _t53 = _t52 & 0x00000001u;
|
|
/* 02C57DBC */ if (_t53) goto L_02C57DC0; else goto L_02C57C10;
|
|
L_02C57DC0: ; // 0x2c57dc0
|
|
/* 02C57DC0 */ /* nop */
|
|
/* 02C57DC4 */ _t54 = cpu->r[1] + 0x00000090u;
|
|
/* 02C57DC4 */ cpu->f[29] = rbrew_read_f32(cpu->mem, _t54);
|
|
/* 02C57DC8 */ _t55 = cpu->r[1] + 0x000000A0u;
|
|
/* 02C57DC8 */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t55);
|
|
/* 02C57DCC */ _t56 = cpu->r[1] + 0x00000088u;
|
|
/* 02C57DCC */ cpu->f[29] = rbrew_read_f64(cpu->mem, _t56);
|
|
/* 02C57DD0 */ _t57 = cpu->r[1] + 0x00000098u;
|
|
/* 02C57DD0 */ cpu->f[30] = rbrew_read_f64(cpu->mem, _t57);
|
|
/* 02C57DD4 */ _t58 = cpu->r[1] + 0x00000080u;
|
|
/* 02C57DD4 */ cpu->f[28] = rbrew_read_f32(cpu->mem, _t58);
|
|
/* 02C57DD8 */ _t59 = cpu->r[1] + 0x000000B0u;
|
|
/* 02C57DD8 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t59);
|
|
/* 02C57DDC */ _t60 = cpu->r[1] + 0x00000078u;
|
|
/* 02C57DDC */ cpu->f[28] = rbrew_read_f64(cpu->mem, _t60);
|
|
/* 02C57DE0 */ _t61 = cpu->r[1] + 0x000000A8u;
|
|
/* 02C57DE0 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t61);
|
|
/* 02C57DE4 */ _t62 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C57DE4 */ _t63 = _t62 & 0x00000001u;
|
|
/* 02C57DE4 */ if (_t63) goto L_02C57DE8; // else: addr-0 trap, fall-through
|
|
L_02C57DE8: ; // 0x2c57de8
|
|
/* 02C57DE8 */ _t64 = cpu->r[1] + 0x000000BCu;
|
|
/* 02C57DE8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t64);
|
|
/* 02C57DEC */ cpu->lr = cpu->r[0];
|
|
/* 02C57DF0 */ cpu->r[1] = cpu->r[1] + 0x000000B8u;
|
|
/* 02C57DF4 */ return;
|
|
}
|
|
|
|
// fn_02C57DF8 @ 0x2c57df8
|
|
void Gambit_fn_02C57DF8(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, _t74, _t75, _t76, _t77, _t78, _t79, _t80, _t81, _t82, _t83, _t84, _t85, _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;
|
|
double _ft73, _ft86;
|
|
|
|
L_02C57DF8: ; // 0x2c57df8
|
|
/* 02C57DF8 */ _t0 = cpu->r[1] + 0xFFFFFEF0u;
|
|
/* 02C57DF8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C57DF8 */ cpu->r[1] = _t0;
|
|
/* 02C57DFC */ _t1 = cpu->r[1] + 0x00000040u;
|
|
/* 02C57DFC */ rbrew_write_f64(cpu->mem, _t1, cpu->f[19]);
|
|
/* 02C57E00 */ _t2 = cpu->r[1] + 0x00000050u;
|
|
/* 02C57E00 */ rbrew_write_f64(cpu->mem, _t2, cpu->f[20]);
|
|
/* 02C57E04 */ _t3 = cpu->r[1] + 0x00000060u;
|
|
/* 02C57E04 */ rbrew_write_f64(cpu->mem, _t3, cpu->f[21]);
|
|
/* 02C57E08 */ /* nop */
|
|
/* 02C57E0C */ _t4 = cpu->r[1] + 0x00000070u;
|
|
/* 02C57E0C */ rbrew_write_f64(cpu->mem, _t4, cpu->f[22]);
|
|
/* 02C57E10 */ /* nop */
|
|
/* 02C57E14 */ _t5 = cpu->r[1] + 0x00000080u;
|
|
/* 02C57E14 */ rbrew_write_f64(cpu->mem, _t5, cpu->f[23]);
|
|
/* 02C57E18 */ /* nop */
|
|
/* 02C57E1C */ _t6 = cpu->r[1] + 0x00000090u;
|
|
/* 02C57E1C */ rbrew_write_f64(cpu->mem, _t6, cpu->f[24]);
|
|
/* 02C57E20 */ /* nop */
|
|
/* 02C57E24 */ _t7 = cpu->r[1] + 0x000000A0u;
|
|
/* 02C57E24 */ rbrew_write_f64(cpu->mem, _t7, cpu->f[25]);
|
|
/* 02C57E28 */ /* nop */
|
|
/* 02C57E2C */ _t8 = cpu->r[1] + 0x000000B0u;
|
|
/* 02C57E2C */ rbrew_write_f64(cpu->mem, _t8, cpu->f[26]);
|
|
/* 02C57E30 */ /* nop */
|
|
/* 02C57E34 */ _t9 = cpu->r[1] + 0x000000C0u;
|
|
/* 02C57E34 */ rbrew_write_f64(cpu->mem, _t9, cpu->f[27]);
|
|
/* 02C57E38 */ /* nop */
|
|
/* 02C57E3C */ _t10 = cpu->r[1] + 0x000000D0u;
|
|
/* 02C57E3C */ rbrew_write_f64(cpu->mem, _t10, cpu->f[28]);
|
|
/* 02C57E40 */ /* nop */
|
|
/* 02C57E44 */ _t11 = cpu->r[1] + 0x00000048u;
|
|
/* 02C57E44 */ rbrew_write_f32(cpu->mem, _t11, cpu->f[19]);
|
|
/* 02C57E48 */ _t12 = cpu->r[1] + 0x00000058u;
|
|
/* 02C57E48 */ rbrew_write_f32(cpu->mem, _t12, cpu->f[20]);
|
|
/* 02C57E4C */ _t13 = cpu->r[1] + 0x00000068u;
|
|
/* 02C57E4C */ rbrew_write_f32(cpu->mem, _t13, cpu->f[21]);
|
|
/* 02C57E50 */ /* nop */
|
|
/* 02C57E54 */ _t14 = cpu->r[1] + 0x00000078u;
|
|
/* 02C57E54 */ rbrew_write_f32(cpu->mem, _t14, cpu->f[22]);
|
|
/* 02C57E58 */ _t15 = cpu->r[1] + 0x00000088u;
|
|
/* 02C57E58 */ rbrew_write_f32(cpu->mem, _t15, cpu->f[23]);
|
|
/* 02C57E5C */ _t16 = cpu->r[1] + 0x00000098u;
|
|
/* 02C57E5C */ rbrew_write_f32(cpu->mem, _t16, cpu->f[24]);
|
|
/* 02C57E60 */ /* nop */
|
|
/* 02C57E64 */ _t17 = cpu->r[1] + 0x000000A8u;
|
|
/* 02C57E64 */ rbrew_write_f32(cpu->mem, _t17, cpu->f[25]);
|
|
/* 02C57E68 */ _t18 = cpu->r[1] + 0x000000B8u;
|
|
/* 02C57E68 */ rbrew_write_f32(cpu->mem, _t18, cpu->f[26]);
|
|
/* 02C57E6C */ _t19 = cpu->r[1] + 0x000000C8u;
|
|
/* 02C57E6C */ rbrew_write_f32(cpu->mem, _t19, cpu->f[27]);
|
|
/* 02C57E70 */ cpu->r[0] = cpu->lr;
|
|
/* 02C57E74 */ _t20 = cpu->r[1] + 0x000000D8u;
|
|
/* 02C57E74 */ rbrew_write_f32(cpu->mem, _t20, cpu->f[28]);
|
|
/* 02C57E78 */ _t21 = cpu->r[1] + 0x000000E0u;
|
|
/* 02C57E78 */ rbrew_write_f64(cpu->mem, _t21, cpu->f[29]);
|
|
/* 02C57E7C */ /* nop */
|
|
/* 02C57E80 */ _t22 = cpu->r[1] + 0x000000E8u;
|
|
/* 02C57E80 */ rbrew_write_f32(cpu->mem, _t22, cpu->f[29]);
|
|
/* 02C57E84 */ _t23 = cpu->r[1] + 0x000000F0u;
|
|
/* 02C57E84 */ rbrew_write_f64(cpu->mem, _t23, cpu->f[30]);
|
|
/* 02C57E88 */ /* nop */
|
|
/* 02C57E8C */ _t24 = cpu->r[1] + 0x000000F8u;
|
|
/* 02C57E8C */ rbrew_write_f32(cpu->mem, _t24, cpu->f[30]);
|
|
/* 02C57E90 */ _t25 = cpu->r[1] + 0x00000100u;
|
|
/* 02C57E90 */ rbrew_write_f64(cpu->mem, _t25, cpu->f[31]);
|
|
/* 02C57E94 */ /* nop */
|
|
/* 02C57E98 */ _t26 = cpu->r[1] + 0x00000108u;
|
|
/* 02C57E98 */ rbrew_write_f32(cpu->mem, _t26, cpu->f[31]);
|
|
/* 02C57E9C */ _t27 = cpu->r[1] + 0x00000114u;
|
|
/* 02C57E9C */ rbrew_write32(cpu->mem, _t27, cpu->r[0]);
|
|
/* 02C57EA0 */ /* nop */
|
|
/* 02C57EA4 */ cpu->r[30] = cpu->r[3];
|
|
/* 02C57EA8 */ cpu->f[23] = cpu->f[1];
|
|
/* 02C57EAC */ _t28 = cpu->r[4] + 0x00000050u;
|
|
/* 02C57EAC */ cpu->r[0] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02C57EB0 */ cpu->r[0] = cpu->r[0] | 0x00000008u;
|
|
/* 02C57EB4 */ _t29 = cpu->r[4] + 0x00000050u;
|
|
/* 02C57EB4 */ rbrew_write32(cpu->mem, _t29, cpu->r[0]);
|
|
/* 02C57EB8 */ _t30 = cpu->r[30] + 0x00000008u;
|
|
/* 02C57EB8 */ cpu->r[7] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02C57EBC */ _t31 = cpu->r[4] + 0x0000002Cu;
|
|
/* 02C57EBC */ cpu->r[31] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02C57EC0 */ cpu->r[7] = cpu->r[7] | 0x00000008u;
|
|
/* 02C57EC4 */ _t32 = cpu->r[30] + 0x00000008u;
|
|
/* 02C57EC4 */ rbrew_write32(cpu->mem, _t32, cpu->r[7]);
|
|
/* 02C57EC8 */ _t33 = cpu->r[4] + 0x00000040u;
|
|
/* 02C57EC8 */ cpu->r[27] = rbrew_read16(cpu->mem, _t33);
|
|
/* 02C57ECC */ cpu->r[28] = cpu->r[4] + 0x00000038u;
|
|
/* 02C57ED0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 02C57ED4 */ _t34 = cpu->r[30] + 0x00000000u;
|
|
/* 02C57ED4 */ cpu->r[26] = rbrew_read32(cpu->mem, _t34);
|
|
/* 02C57ED8 */ _t35 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C57ED8 */ _t36 = _t35 & 0x00000001u;
|
|
/* 02C57ED8 */ if (_t36) goto L_02C582AC; else goto L_02C57EDC;
|
|
L_02C57EDC: ; // 0x2c57edc
|
|
/* 02C57EDC */ cpu->r[11] = 0x101B0000u;
|
|
/* 02C57EE0 */ cpu->r[6] = 0x101B0000u;
|
|
/* 02C57EE4 */ _t37 = cpu->r[11] + 0xFFFFEE60u;
|
|
/* 02C57EE4 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t37);
|
|
/* 02C57EE8 */ cpu->r[7] = 0x101B0000u;
|
|
/* 02C57EEC */ _t38 = cpu->r[6] + 0xFFFFEE58u;
|
|
/* 02C57EEC */ cpu->f[27] = rbrew_read_f32(cpu->mem, _t38);
|
|
/* 02C57EF0 */ cpu->r[29] = 0x00000000u;
|
|
/* 02C57EF4 */ cpu->r[9] = 0x101B0000u;
|
|
/* 02C57EF8 */ _t39 = cpu->r[7] + 0xFFFFEE14u;
|
|
/* 02C57EF8 */ cpu->f[26] = rbrew_read_f32(cpu->mem, _t39);
|
|
/* 02C57EFC */ cpu->r[4] = 0x101B0000u;
|
|
/* 02C57F00 */ _t40 = cpu->r[9] + 0xFFFFEE48u;
|
|
/* 02C57F00 */ cpu->f[28] = rbrew_read_f64(cpu->mem, _t40);
|
|
/* 02C57F04 */ cpu->r[12] = 0x101B0000u;
|
|
/* 02C57F08 */ _t41 = cpu->r[4] + 0xFFFFEE20u;
|
|
/* 02C57F08 */ cpu->f[25] = rbrew_read_f32(cpu->mem, _t41);
|
|
/* 02C57F0C */ cpu->r[5] = 0x101B0000u;
|
|
/* 02C57F10 */ _t42 = cpu->r[12] + 0xFFFFEE5Cu;
|
|
/* 02C57F10 */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t42);
|
|
/* 02C57F14 */ cpu->r[12] = 0x101B0000u;
|
|
/* 02C57F18 */ _t43 = cpu->r[5] + 0xFFFFEE30u;
|
|
/* 02C57F18 */ cpu->f[24] = rbrew_read_f32(cpu->mem, _t43);
|
|
/* 02C57F1C */ cpu->r[11] = 0x101B0000u;
|
|
/* 02C57F20 */ _t44 = cpu->r[12] + 0xFFFFEE68u;
|
|
/* 02C57F20 */ cpu->f[22] = rbrew_read_f64(cpu->mem, _t44);
|
|
/* 02C57F24 */ cpu->r[25] = 0x101B0000u;
|
|
/* 02C57F28 */ _t45 = cpu->r[11] + 0xFFFFEE40u;
|
|
/* 02C57F28 */ cpu->f[29] = rbrew_read_f64(cpu->mem, _t45);
|
|
/* 02C57F2C */ cpu->r[25] = cpu->r[25] + 0xFFFFF1DCu;
|
|
L_02C57F30: ; // 0x2c57f30
|
|
/* 02C57F30 */ _t46 = cpu->r[28] + 0x00000000u;
|
|
/* 02C57F30 */ cpu->r[10] = rbrew_read32(cpu->mem, _t46);
|
|
/* 02C57F34 */ _t47 = cpu->r[10] + cpu->r[29];
|
|
/* 02C57F34 */ cpu->r[5] = rbrew_read32(cpu->mem, _t47);
|
|
/* 02C57F38 */ cpu->r[0] = rbrew_rlwinm(cpu->r[5], 0x00000001u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02C57F3C */ cpu->r[12] = cpu->r[0] ^ 0x00000001u;
|
|
/* 02C57F40 */ cpu->r[12] = rbrew_rlwinm(cpu->r[12], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 02C57F40 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02C57F44 */ _t48 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C57F44 */ _t49 = _t48 & 0x00000001u;
|
|
/* 02C57F44 */ if (_t49) goto L_02C5829C; else goto L_02C57F48;
|
|
L_02C57F48: ; // 0x2c57f48
|
|
/* 02C57F48 */ _t50 = cpu->r[30] + 0x00000014u;
|
|
/* 02C57F48 */ cpu->r[3] = rbrew_read32(cpu->mem, _t50);
|
|
/* 02C57F4C */ _t51 = cpu->r[1] + 0x00000014u;
|
|
/* 02C57F4C */ rbrew_write_f32(cpu->mem, _t51, cpu->f[23]);
|
|
/* 02C57F50 */ cpu->r[5] = rbrew_rlwinm(cpu->r[5], 0x00000000u, 0x00000011u, 0x0000001Fu);
|
|
/* 02C57F54 */ _t52 = cpu->r[1] + 0x00000010u;
|
|
/* 02C57F54 */ rbrew_write32(cpu->mem, _t52, cpu->r[5]);
|
|
/* 02C57F58 */ _t53 = cpu->r[3] + 0x00000000u;
|
|
/* 02C57F58 */ cpu->r[7] = rbrew_read32(cpu->mem, _t53);
|
|
/* 02C57F5C */ _t54 = cpu->r[7] + 0x00000014u;
|
|
/* 02C57F5C */ cpu->r[8] = rbrew_read32(cpu->mem, _t54);
|
|
/* 02C57F60 */ cpu->r[6] = (uint32_t)((int32_t)cpu->r[5] * (int32_t)0x00000038u);
|
|
/* 02C57F64 */ cpu->ctr = cpu->r[8];
|
|
/* 02C57F68 */ cpu->r[24] = cpu->r[26] + cpu->r[6];
|
|
/* 02C57F6C */ cpu->r[4] = cpu->r[1] + 0x00000010u;
|
|
/* 02C57F70 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02C57F74 */ _t55 = cpu->r[24] + 0x0000001Cu;
|
|
/* 02C57F74 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t55);
|
|
/* 02C57F78 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[9], cpu->f[26]);
|
|
/* 02C57F7C */ _t56 = cpu->r[1] + 0x00000014u;
|
|
/* 02C57F7C */ cpu->f[19] = rbrew_read_f32(cpu->mem, _t56);
|
|
/* 02C57F80 */ _t57 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C57F80 */ _t58 = _t57 & 0x00000001u;
|
|
/* 02C57F80 */ if (_t58) goto L_02C57F84; else goto L_02C57FF4;
|
|
L_02C57F84: ; // 0x2c57f84
|
|
/* 02C57F84 */ _t59 = cpu->r[31] + 0x00000020u;
|
|
/* 02C57F84 */ cpu->r[0] = rbrew_read32(cpu->mem, _t59);
|
|
/* 02C57F88 */ _t60 = cpu->r[24] + 0x00000020u;
|
|
/* 02C57F88 */ rbrew_write32(cpu->mem, _t60, cpu->r[0]);
|
|
/* 02C57F8C */ _t61 = cpu->r[31] + 0x00000024u;
|
|
/* 02C57F8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t61);
|
|
/* 02C57F90 */ _t62 = cpu->r[24] + 0x00000024u;
|
|
/* 02C57F90 */ rbrew_write32(cpu->mem, _t62, cpu->r[0]);
|
|
/* 02C57F94 */ _t63 = cpu->r[31] + 0x00000028u;
|
|
/* 02C57F94 */ cpu->r[7] = rbrew_read32(cpu->mem, _t63);
|
|
/* 02C57F98 */ _t64 = cpu->r[24] + 0x00000028u;
|
|
/* 02C57F98 */ rbrew_write32(cpu->mem, _t64, cpu->r[7]);
|
|
/* 02C57F9C */ _t65 = cpu->r[31] + 0x0000002Cu;
|
|
/* 02C57F9C */ cpu->r[9] = rbrew_read32(cpu->mem, _t65);
|
|
/* 02C57FA0 */ /* nop */
|
|
/* 02C57FA4 */ _t66 = cpu->r[24] + 0x0000002Cu;
|
|
/* 02C57FA4 */ rbrew_write32(cpu->mem, _t66, cpu->r[9]);
|
|
/* 02C57FA8 */ /* nop */
|
|
/* 02C57FAC */ /* nop */
|
|
/* 02C57FB0 */ /* nop */
|
|
/* 02C57FB4 */ /* nop */
|
|
/* 02C57FB8 */ /* nop */
|
|
/* 02C57FBC */ /* nop */
|
|
/* 02C57FC0 */ /* nop */
|
|
/* 02C57FC4 */ _t67 = cpu->r[24] + 0x0000001Cu;
|
|
/* 02C57FC4 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t67);
|
|
/* 02C57FC8 */ /* nop */
|
|
/* 02C57FCC */ /* nop */
|
|
/* 02C57FD0 */ cpu->f[13] = cpu->f[13] + cpu->f[19];
|
|
/* 02C57FD4 */ _t68 = cpu->r[24] + 0x00000000u;
|
|
/* 02C57FD4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t68);
|
|
/* 02C57FD8 */ /* nop */
|
|
/* 02C57FDC */ /* nop */
|
|
/* 02C57FE0 */ _t69 = cpu->r[31] + 0x00000000u;
|
|
/* 02C57FE0 */ cpu->r[6] = rbrew_read32(cpu->mem, _t69);
|
|
/* 02C57FE4 */ _t70 = cpu->r[24] + 0x0000001Cu;
|
|
/* 02C57FE4 */ rbrew_write_f32(cpu->mem, _t70, cpu->f[13]);
|
|
/* 02C57FE8 */ _t71 = ~cpu->r[6];
|
|
/* 02C57FE8 */ cpu->r[8] = cpu->r[8] | _t71;
|
|
/* 02C57FEC */ _t72 = cpu->r[24] + 0x00000000u;
|
|
/* 02C57FEC */ rbrew_write32(cpu->mem, _t72, cpu->r[8]);
|
|
/* 02C57FF0 */ goto L_02C5829C;
|
|
L_02C57FF4: ; // 0x2c57ff4
|
|
/* 02C57FF4 */ /* nop */
|
|
/* 02C57FF8 */ cpu->f[12] = cpu->f[9] + cpu->f[19];
|
|
/* 02C57FFC */ /* nop */
|
|
/* 02C58000 */ /* nop */
|
|
/* 02C58004 */ _ft73 = (double)(int32_t)0x00000001u;
|
|
/* 02C58004 */ cpu->f[8] = _ft73 / cpu->f[12];
|
|
/* 02C58008 */ /* nop */
|
|
/* 02C5800C */ /* nop */
|
|
/* 02C58010 */ /* nop */
|
|
/* 02C58014 */ cpu->f[13] = cpu->f[8] + cpu->f[8];
|
|
/* 02C58018 */ /* nop */
|
|
/* 02C5801C */ cpu->f[1] = fabs(cpu->f[7]);
|
|
/* 02C58020 */ cpu->f[11] = cpu->f[7];
|
|
/* 02C58024 */ cpu->f[6] = cpu->f[12] * cpu->f[8];
|
|
/* 02C58028 */ /* nop */
|
|
/* 02C5802C */ cpu->f[8] = -fma(cpu->f[6], cpu->f[8], -(cpu->f[13]));
|
|
/* 02C58030 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[1], cpu->f[30]);
|
|
/* 02C58034 */ cpu->f[20] = (double)(float)cpu->f[9];
|
|
/* 02C58038 */ cpu->f[21] = cpu->f[19] * cpu->f[8];
|
|
/* 02C5803C */ _t74 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C5803C */ _t75 = _t74 & 0x00000001u;
|
|
/* 02C5803C */ if (_t75) goto L_02C58228; else goto L_02C58040;
|
|
L_02C58040: ; // 0x2c58040
|
|
/* 02C58040 */ Gambit_fn_02C892F8(cpu);
|
|
/* 02C58044 */ cpu->f[10] = fma(cpu->f[1], cpu->f[28], cpu->f[29]);
|
|
/* 02C58048 */ cpu->r[6] = 0x101B0000u;
|
|
/* 02C5804C */ _t76 = cpu->r[6] + 0xFFFFEE38u;
|
|
/* 02C5804C */ cpu->f[0] = rbrew_read_f64(cpu->mem, _t76);
|
|
/* 02C58050 */ cpu->r[4] = 0x43300000u;
|
|
/* 02C58054 */ _t77 = cpu->r[1] + 0x00000018u;
|
|
/* 02C58054 */ rbrew_write_f64(cpu->mem, _t77, cpu->f[10]);
|
|
/* 02C58058 */ _t78 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C58058 */ cpu->r[6] = rbrew_read32(cpu->mem, _t78);
|
|
/* 02C5805C */ _t79 = cpu->r[1] + 0x00000008u;
|
|
/* 02C5805C */ rbrew_write32(cpu->mem, _t79, cpu->r[4]);
|
|
/* 02C58060 */ cpu->r[11] = rbrew_rlwinm(cpu->r[6], 0x00000000u, 0x00000008u, 0x0000001Fu);
|
|
/* 02C58064 */ _t80 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C58064 */ rbrew_write32(cpu->mem, _t80, cpu->r[11]);
|
|
/* 02C58068 */ _t81 = cpu->r[1] + 0x00000008u;
|
|
/* 02C58068 */ cpu->f[11] = rbrew_read_f64(cpu->mem, _t81);
|
|
/* 02C5806C */ _t82 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C5806C */ rbrew_write32(cpu->mem, _t82, cpu->r[6]);
|
|
/* 02C58070 */ _t83 = cpu->r[1] + 0x00000008u;
|
|
/* 02C58070 */ cpu->f[9] = rbrew_read_f64(cpu->mem, _t83);
|
|
/* 02C58074 */ cpu->f[12] = cpu->f[11] - cpu->f[0];
|
|
/* 02C58078 */ cpu->f[10] = cpu->f[9] - cpu->f[0];
|
|
/* 02C5807C */ cpu->r[0] = rbrew_rlwinm(cpu->r[6], 0x0000000Cu, 0x00000014u, 0x0000001Bu);
|
|
/* 02C58080 */ cpu->f[0] = (double)(float)cpu->f[12];
|
|
/* 02C58084 */ cpu->r[12] = cpu->r[25] + cpu->r[0];
|
|
/* 02C58088 */ cpu->f[10] = (double)(float)cpu->f[10];
|
|
/* 02C5808C */ _t84 = cpu->r[25] + cpu->r[0];
|
|
/* 02C5808C */ cpu->r[6] = rbrew_read32(cpu->mem, _t84);
|
|
/* 02C58090 */ cpu->f[11] = cpu->f[0] * cpu->f[25];
|
|
/* 02C58094 */ _t85 = cpu->r[12] + 0x00000008u;
|
|
/* 02C58094 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t85);
|
|
/* 02C58098 */ cpu->f[8] = fma(cpu->f[0], cpu->f[11], cpu->f[6]);
|
|
/* 02C5809C */ cpu->f[0] = cpu->f[21] * cpu->f[10];
|
|
/* 02C580A0 */ _ft86 = (double)(int32_t)0x00000001u;
|
|
/* 02C580A0 */ cpu->f[6] = _ft86 / cpu->f[8];
|
|
/* 02C580A4 */ cpu->f[7] = cpu->f[6] + cpu->f[6];
|
|
/* 02C580A8 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[0], cpu->f[27]);
|
|
/* 02C580AC */ cpu->f[9] = cpu->f[8] * cpu->f[6];
|
|
/* 02C580B0 */ cpu->f[5] = -fma(cpu->f[9], cpu->f[6], -(cpu->f[7]));
|
|
/* 02C580B4 */ _t87 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C580B4 */ _t88 = _t87 & 0x00000001u;
|
|
/* 02C580B4 */ if (_t88) goto L_02C580B8; else goto L_02C5816C;
|
|
L_02C580B8: ; // 0x2c580b8
|
|
/* 02C580B8 */ cpu->f[13] = (uint32_t)(int32_t)cpu->f[0];
|
|
/* 02C580BC */ cpu->r[9] = 0x101B0000u;
|
|
/* 02C580C0 */ cpu->r[0] = cpu->r[1] + 0x00000008u;
|
|
/* 02C580C4 */ /* nop */
|
|
/* 02C580C8 */ _t89 = cpu->r[1] + 0x00000008u;
|
|
/* 02C580C8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t89);
|
|
/* 02C580CC */ _t90 = cpu->r[9] + 0xFFFFEE38u;
|
|
/* 02C580CC */ cpu->f[13] = rbrew_read_f64(cpu->mem, _t90);
|
|
/* 02C580D0 */ cpu->r[7] = cpu->r[6] - cpu->r[0];
|
|
/* 02C580D4 */ cpu->r[9] = 0x43300000u;
|
|
/* 02C580D8 */ cpu->r[8] = rbrew_rlwinm(cpu->r[7], 0x00000000u, 0x00000008u, 0x0000001Fu);
|
|
/* 02C580DC */ _t91 = cpu->r[1] + 0x00000008u;
|
|
/* 02C580DC */ rbrew_write32(cpu->mem, _t91, cpu->r[9]);
|
|
/* 02C580E0 */ cpu->r[10] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000008u, 0x0000001Fu);
|
|
/* 02C580E4 */ _t92 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C580E4 */ rbrew_write32(cpu->mem, _t92, cpu->r[8]);
|
|
/* 02C580E8 */ _t93 = cpu->r[1] + 0x00000008u;
|
|
/* 02C580E8 */ cpu->f[10] = rbrew_read_f64(cpu->mem, _t93);
|
|
/* 02C580EC */ cpu->r[4] = rbrew_rlwinm(cpu->r[7], 0x0000000Cu, 0x00000014u, 0x0000001Bu);
|
|
/* 02C580F0 */ _t94 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C580F0 */ rbrew_write32(cpu->mem, _t94, cpu->r[10]);
|
|
/* 02C580F4 */ _t95 = cpu->r[1] + 0x00000008u;
|
|
/* 02C580F4 */ cpu->f[0] = rbrew_read_f64(cpu->mem, _t95);
|
|
/* 02C580F8 */ cpu->f[12] = cpu->f[10] - cpu->f[13];
|
|
/* 02C580FC */ cpu->r[11] = cpu->r[25] + cpu->r[4];
|
|
/* 02C58100 */ cpu->f[7] = cpu->f[0] - cpu->f[13];
|
|
/* 02C58104 */ _t96 = cpu->r[11] + 0x00000008u;
|
|
/* 02C58104 */ cpu->f[6] = rbrew_read_f32(cpu->mem, _t96);
|
|
/* 02C58108 */ cpu->f[9] = (double)(float)cpu->f[12];
|
|
/* 02C5810C */ _t97 = cpu->r[11] + 0x00000000u;
|
|
/* 02C5810C */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t97);
|
|
/* 02C58110 */ cpu->r[10] = rbrew_rlwinm(cpu->r[0], 0x0000000Cu, 0x00000014u, 0x0000001Bu);
|
|
/* 02C58114 */ cpu->f[11] = (double)(float)cpu->f[7];
|
|
/* 02C58118 */ cpu->r[8] = cpu->r[25] + cpu->r[10];
|
|
/* 02C5811C */ cpu->f[9] = cpu->f[9] * cpu->f[25];
|
|
/* 02C58120 */ _t98 = cpu->r[8] + 0x00000008u;
|
|
/* 02C58120 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t98);
|
|
/* 02C58124 */ cpu->f[12] = cpu->f[11] * cpu->f[25];
|
|
/* 02C58128 */ _t99 = cpu->r[8] + 0x00000000u;
|
|
/* 02C58128 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t99);
|
|
/* 02C5812C */ cpu->f[7] = fma(cpu->f[6], cpu->f[9], cpu->f[8]);
|
|
/* 02C58130 */ cpu->f[12] = fma(cpu->f[10], cpu->f[12], cpu->f[0]);
|
|
/* 02C58134 */ cpu->f[11] = cpu->f[7] * cpu->f[5];
|
|
/* 02C58138 */ cpu->f[21] = cpu->f[12] * cpu->f[5];
|
|
/* 02C5813C */ /* nop */
|
|
/* 02C58140 */ cpu->f[20] = cpu->f[20] * cpu->f[21];
|
|
/* 02C58144 */ /* nop */
|
|
/* 02C58148 */ /* nop */
|
|
/* 02C5814C */ /* nop */
|
|
/* 02C58150 */ /* nop */
|
|
/* 02C58154 */ /* nop */
|
|
/* 02C58158 */ /* nop */
|
|
/* 02C5815C */ /* nop */
|
|
/* 02C58160 */ /* nop */
|
|
/* 02C58164 */ /* nop */
|
|
/* 02C58168 */ goto L_02C58250;
|
|
L_02C5816C: ; // 0x2c5816c
|
|
/* 02C5816C */ cpu->f[0] = cpu->f[0] - cpu->f[27];
|
|
/* 02C58170 */ cpu->f[7] = (uint32_t)(int32_t)cpu->f[0];
|
|
/* 02C58174 */ cpu->r[9] = 0x101B0000u;
|
|
/* 02C58178 */ cpu->r[12] = cpu->r[1] + 0x00000008u;
|
|
/* 02C5817C */ /* nop */
|
|
/* 02C58180 */ _t100 = cpu->r[1] + 0x00000008u;
|
|
/* 02C58180 */ cpu->r[5] = rbrew_read32(cpu->mem, _t100);
|
|
/* 02C58184 */ _t101 = cpu->r[9] + 0xFFFFEE38u;
|
|
/* 02C58184 */ cpu->f[13] = rbrew_read_f64(cpu->mem, _t101);
|
|
/* 02C58188 */ cpu->r[0] = cpu->r[5] + 0x80000000u;
|
|
/* 02C5818C */ cpu->r[9] = 0x43300000u;
|
|
/* 02C58190 */ cpu->r[7] = cpu->r[6] - cpu->r[0];
|
|
/* 02C58194 */ _t102 = cpu->r[1] + 0x00000008u;
|
|
/* 02C58194 */ rbrew_write32(cpu->mem, _t102, cpu->r[9]);
|
|
/* 02C58198 */ cpu->r[8] = rbrew_rlwinm(cpu->r[7], 0x00000000u, 0x00000008u, 0x0000001Fu);
|
|
/* 02C5819C */ _t103 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C5819C */ rbrew_write32(cpu->mem, _t103, cpu->r[8]);
|
|
/* 02C581A0 */ _t104 = cpu->r[1] + 0x00000008u;
|
|
/* 02C581A0 */ cpu->f[10] = rbrew_read_f64(cpu->mem, _t104);
|
|
/* 02C581A4 */ cpu->r[10] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000008u, 0x0000001Fu);
|
|
/* 02C581A8 */ _t105 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C581A8 */ rbrew_write32(cpu->mem, _t105, cpu->r[10]);
|
|
/* 02C581AC */ _t106 = cpu->r[1] + 0x00000008u;
|
|
/* 02C581AC */ cpu->f[0] = rbrew_read_f64(cpu->mem, _t106);
|
|
/* 02C581B0 */ cpu->f[12] = cpu->f[10] - cpu->f[13];
|
|
/* 02C581B4 */ cpu->r[10] = rbrew_rlwinm(cpu->r[0], 0x0000000Cu, 0x00000014u, 0x0000001Bu);
|
|
/* 02C581B8 */ cpu->r[4] = rbrew_rlwinm(cpu->r[7], 0x0000000Cu, 0x00000014u, 0x0000001Bu);
|
|
/* 02C581BC */ cpu->f[7] = cpu->f[0] - cpu->f[13];
|
|
/* 02C581C0 */ cpu->r[8] = cpu->r[25] + cpu->r[10];
|
|
/* 02C581C4 */ cpu->f[9] = (double)(float)cpu->f[12];
|
|
/* 02C581C8 */ _t107 = cpu->r[8] + 0x00000000u;
|
|
/* 02C581C8 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t107);
|
|
/* 02C581CC */ cpu->r[11] = cpu->r[25] + cpu->r[4];
|
|
/* 02C581D0 */ cpu->f[11] = (double)(float)cpu->f[7];
|
|
/* 02C581D4 */ _t108 = cpu->r[11] + 0x00000000u;
|
|
/* 02C581D4 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t108);
|
|
/* 02C581D8 */ cpu->f[9] = cpu->f[9] * cpu->f[25];
|
|
/* 02C581DC */ _t109 = cpu->r[11] + 0x00000008u;
|
|
/* 02C581DC */ cpu->f[6] = rbrew_read_f32(cpu->mem, _t109);
|
|
/* 02C581E0 */ cpu->f[12] = cpu->f[11] * cpu->f[25];
|
|
/* 02C581E4 */ _t110 = cpu->r[8] + 0x00000008u;
|
|
/* 02C581E4 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t110);
|
|
/* 02C581E8 */ cpu->f[7] = fma(cpu->f[6], cpu->f[9], cpu->f[8]);
|
|
/* 02C581EC */ cpu->f[12] = fma(cpu->f[10], cpu->f[12], cpu->f[0]);
|
|
/* 02C581F0 */ cpu->f[11] = cpu->f[7] * cpu->f[5];
|
|
/* 02C581F4 */ cpu->f[21] = cpu->f[12] * cpu->f[5];
|
|
/* 02C581F8 */ /* nop */
|
|
/* 02C581FC */ cpu->f[20] = cpu->f[20] * cpu->f[21];
|
|
/* 02C58200 */ /* nop */
|
|
/* 02C58204 */ /* nop */
|
|
/* 02C58208 */ /* nop */
|
|
/* 02C5820C */ /* nop */
|
|
/* 02C58210 */ /* nop */
|
|
/* 02C58214 */ /* nop */
|
|
/* 02C58218 */ /* nop */
|
|
/* 02C5821C */ /* nop */
|
|
/* 02C58220 */ /* nop */
|
|
/* 02C58224 */ goto L_02C58250;
|
|
L_02C58228: ; // 0x2c58228
|
|
/* 02C58228 */ cpu->f[20] = cpu->f[20] * cpu->f[21];
|
|
/* 02C5822C */ cpu->f[11] = cpu->f[24] - cpu->f[21];
|
|
/* 02C58230 */ /* nop */
|
|
/* 02C58234 */ /* nop */
|
|
/* 02C58238 */ /* nop */
|
|
/* 02C5823C */ /* nop */
|
|
/* 02C58240 */ /* nop */
|
|
/* 02C58244 */ /* nop */
|
|
/* 02C58248 */ /* nop */
|
|
/* 02C5824C */ /* nop */
|
|
L_02C58250: ; // 0x2c58250
|
|
/* 02C58250 */ /* nop */
|
|
/* 02C58254 */ /* nop */
|
|
/* 02C58258 */ /* nop */
|
|
/* 02C5825C */ /* nop */
|
|
/* 02C58260 */ /* nop */
|
|
/* 02C58264 */ /* nop */
|
|
/* 02C58268 */ _t111 = cpu->r[24] + 0x0000001Cu;
|
|
/* 02C58268 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t111);
|
|
/* 02C5826C */ /* nop */
|
|
/* 02C58270 */ /* nop */
|
|
/* 02C58274 */ /* nop */
|
|
/* 02C58278 */ /* nop */
|
|
/* 02C5827C */ cpu->f[13] = cpu->f[13] + cpu->f[19];
|
|
/* 02C58280 */ _t112 = cpu->r[24] + 0x00000000u;
|
|
/* 02C58280 */ cpu->r[8] = rbrew_read32(cpu->mem, _t112);
|
|
/* 02C58284 */ /* nop */
|
|
/* 02C58288 */ /* nop */
|
|
/* 02C5828C */ _t113 = cpu->r[31] + 0x00000000u;
|
|
/* 02C5828C */ cpu->r[6] = rbrew_read32(cpu->mem, _t113);
|
|
/* 02C58290 */ _t114 = cpu->r[24] + 0x0000001Cu;
|
|
/* 02C58290 */ rbrew_write_f32(cpu->mem, _t114, cpu->f[13]);
|
|
/* 02C58294 */ _t115 = ~cpu->r[6];
|
|
/* 02C58294 */ cpu->r[8] = cpu->r[8] | _t115;
|
|
/* 02C58298 */ _t116 = cpu->r[24] + 0x00000000u;
|
|
/* 02C58298 */ rbrew_write32(cpu->mem, _t116, cpu->r[8]);
|
|
L_02C5829C: ; // 0x2c5829c
|
|
/* 02C5829C */ cpu->r[27] = cpu->r[27] + 0xFFFFFFFFu;
|
|
/* 02C5829C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 02C582A0 */ cpu->r[29] = cpu->r[29] + 0x00000004u;
|
|
/* 02C582A4 */ cpu->r[31] = cpu->r[31] + 0x00000030u;
|
|
/* 02C582A8 */ _t117 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C582A8 */ _t118 = _t117 & 0x00000001u;
|
|
/* 02C582A8 */ if (_t118) goto L_02C582AC; else goto L_02C57F30;
|
|
L_02C582AC: ; // 0x2c582ac
|
|
/* 02C582AC */ /* nop */
|
|
/* 02C582B0 */ _t119 = cpu->r[1] + 0x00000098u;
|
|
/* 02C582B0 */ cpu->f[24] = rbrew_read_f32(cpu->mem, _t119);
|
|
/* 02C582B4 */ _t120 = cpu->r[1] + 0x00000078u;
|
|
/* 02C582B4 */ cpu->f[22] = rbrew_read_f32(cpu->mem, _t120);
|
|
/* 02C582B8 */ _t121 = cpu->r[1] + 0x00000090u;
|
|
/* 02C582B8 */ cpu->f[24] = rbrew_read_f64(cpu->mem, _t121);
|
|
/* 02C582BC */ _t122 = cpu->r[1] + 0x00000068u;
|
|
/* 02C582BC */ cpu->f[21] = rbrew_read_f32(cpu->mem, _t122);
|
|
/* 02C582C0 */ _t123 = cpu->r[1] + 0x00000070u;
|
|
/* 02C582C0 */ cpu->f[22] = rbrew_read_f64(cpu->mem, _t123);
|
|
/* 02C582C4 */ _t124 = cpu->r[1] + 0x00000060u;
|
|
/* 02C582C4 */ cpu->f[21] = rbrew_read_f64(cpu->mem, _t124);
|
|
/* 02C582C8 */ _t125 = cpu->r[1] + 0x000000B8u;
|
|
/* 02C582C8 */ cpu->f[26] = rbrew_read_f32(cpu->mem, _t125);
|
|
/* 02C582CC */ _t126 = cpu->r[1] + 0x00000088u;
|
|
/* 02C582CC */ cpu->f[23] = rbrew_read_f32(cpu->mem, _t126);
|
|
/* 02C582D0 */ _t127 = cpu->r[1] + 0x000000B0u;
|
|
/* 02C582D0 */ cpu->f[26] = rbrew_read_f64(cpu->mem, _t127);
|
|
/* 02C582D4 */ _t128 = cpu->r[1] + 0x00000080u;
|
|
/* 02C582D4 */ cpu->f[23] = rbrew_read_f64(cpu->mem, _t128);
|
|
/* 02C582D8 */ _t129 = cpu->r[1] + 0x000000D8u;
|
|
/* 02C582D8 */ cpu->f[28] = rbrew_read_f32(cpu->mem, _t129);
|
|
/* 02C582DC */ _t130 = cpu->r[1] + 0x000000A8u;
|
|
/* 02C582DC */ cpu->f[25] = rbrew_read_f32(cpu->mem, _t130);
|
|
/* 02C582E0 */ _t131 = cpu->r[1] + 0x000000D0u;
|
|
/* 02C582E0 */ cpu->f[28] = rbrew_read_f64(cpu->mem, _t131);
|
|
/* 02C582E4 */ _t132 = cpu->r[1] + 0x000000A0u;
|
|
/* 02C582E4 */ cpu->f[25] = rbrew_read_f64(cpu->mem, _t132);
|
|
/* 02C582E8 */ _t133 = cpu->r[1] + 0x000000F8u;
|
|
/* 02C582E8 */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t133);
|
|
/* 02C582EC */ _t134 = cpu->r[1] + 0x000000C8u;
|
|
/* 02C582EC */ cpu->f[27] = rbrew_read_f32(cpu->mem, _t134);
|
|
/* 02C582F0 */ _t135 = cpu->r[1] + 0x000000F0u;
|
|
/* 02C582F0 */ cpu->f[30] = rbrew_read_f64(cpu->mem, _t135);
|
|
/* 02C582F4 */ _t136 = cpu->r[1] + 0x000000C0u;
|
|
/* 02C582F4 */ cpu->f[27] = rbrew_read_f64(cpu->mem, _t136);
|
|
/* 02C582F8 */ _t137 = cpu->r[1] + 0x00000058u;
|
|
/* 02C582F8 */ cpu->f[20] = rbrew_read_f32(cpu->mem, _t137);
|
|
/* 02C582FC */ _t138 = cpu->r[1] + 0x000000E8u;
|
|
/* 02C582FC */ cpu->f[29] = rbrew_read_f32(cpu->mem, _t138);
|
|
/* 02C58300 */ _t139 = cpu->r[1] + 0x00000050u;
|
|
/* 02C58300 */ cpu->f[20] = rbrew_read_f64(cpu->mem, _t139);
|
|
/* 02C58304 */ _t140 = cpu->r[1] + 0x000000E0u;
|
|
/* 02C58304 */ cpu->f[29] = rbrew_read_f64(cpu->mem, _t140);
|
|
/* 02C58308 */ _t141 = cpu->r[1] + 0x00000048u;
|
|
/* 02C58308 */ cpu->f[19] = rbrew_read_f32(cpu->mem, _t141);
|
|
/* 02C5830C */ _t142 = cpu->r[1] + 0x00000108u;
|
|
/* 02C5830C */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t142);
|
|
/* 02C58310 */ _t143 = cpu->r[1] + 0x00000040u;
|
|
/* 02C58310 */ cpu->f[19] = rbrew_read_f64(cpu->mem, _t143);
|
|
/* 02C58314 */ _t144 = cpu->r[1] + 0x00000100u;
|
|
/* 02C58314 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t144);
|
|
/* 02C58318 */ _t145 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C58318 */ _t146 = _t145 & 0x00000001u;
|
|
/* 02C58318 */ if (_t146) goto L_02C5831C; // else: addr-0 trap, fall-through
|
|
L_02C5831C: ; // 0x2c5831c
|
|
/* 02C5831C */ _t147 = cpu->r[1] + 0x00000114u;
|
|
/* 02C5831C */ cpu->r[0] = rbrew_read32(cpu->mem, _t147);
|
|
/* 02C58320 */ cpu->lr = cpu->r[0];
|
|
/* 02C58324 */ cpu->r[1] = cpu->r[1] + 0x00000110u;
|
|
/* 02C58328 */ return;
|
|
}
|
|
|
|
// fn_02C5832C @ 0x2c5832c
|
|
void Gambit_fn_02C5832C(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, _t107, _t108, _t109, _t110, _t111, _t112, _t113, _t114, _t115, _t116, _t120, _t121, _t122, _t123, _t124, _t125, _t126, _t127, _t128, _t129, _t130, _t131, _t132, _t133, _t135, _t136, _t137, _t138, _t139, _t140, _t141, _t142, _t143, _t144, _t148, _t149, _t150, _t151, _t152, _t153, _t154, _t155, _t156, _t157, _t158, _t159, _t160, _t161, _t163, _t164, _t165, _t166, _t167, _t168, _t169, _t170, _t171, _t172, _t176, _t177, _t178, _t179, _t180, _t181, _t182, _t183, _t184, _t185, _t186, _t187, _t189, _t190, _t191, _t192, _t193, _t194, _t195, _t196, _t197, _t198, _t202, _t203, _t204, _t205, _t206, _t207, _t208, _t209, _t210, _t211, _t212, _t213, _t214, _t215, _t217, _t218, _t219, _t221, _t222, _t223, _t227, _t228, _t229, _t230, _t232, _t233, _t234, _t235, _t236, _t237, _t239, _t240, _t241, _t242, _t244, _t245, _t249, _t250, _t251, _t252, _t254, _t255, _t256, _t257, _t258, _t259, _t261, _t262, _t263, _t265, _t266, _t267, _t271, _t272, _t273, _t274, _t276, _t277, _t278, _t279, _t281, _t282, _t283, _t284, _t288, _t289, _t290, _t291, _t293, _t294, _t295, _t296, _t297, _t298, _t299, _t300, _t301, _t302, _t303, _t304, _t306, _t307, _t308, _t309, _t310, _t311, _t312, _t313, _t314, _t315, _t316, _t317, _t318, _t319, _t320, _t321, _t322, _t323, _t324, _t325, _t326, _t327, _t328, _t329, _t330, _t331, _t332, _t333, _t334, _t335, _t336, _t337, _t338, _t339, _t340, _t341, _t342, _t343, _t344, _t345, _t346, _t347, _t348, _t349, _t350, _t351, _t352, _t353, _t354, _t355, _t356, _t357, _t358, _t359, _t360, _t361, _t362, _t363, _t364, _t365, _t366, _t367, _t368, _t369, _t370, _t371, _t372, _t373, _t374, _t375, _t376;
|
|
double _ft106, _ft117, _ft118, _ft119, _ft134, _ft145, _ft146, _ft147, _ft162, _ft173, _ft174, _ft175, _ft188, _ft199, _ft200, _ft201, _ft216, _ft220, _ft224, _ft225, _ft226, _ft231, _ft238, _ft243, _ft246, _ft247, _ft248, _ft253, _ft260, _ft264, _ft268, _ft269, _ft270, _ft275, _ft280, _ft285, _ft286, _ft287, _ft292, _ft305;
|
|
|
|
L_02C5832C: ; // 0x2c5832c
|
|
/* 02C5832C */ _t0 = cpu->r[1] + 0xFFFFFE70u;
|
|
/* 02C5832C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C5832C */ cpu->r[1] = _t0;
|
|
/* 02C58330 */ _t1 = cpu->r[1] + 0x00000070u;
|
|
/* 02C58330 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[14]);
|
|
/* 02C58334 */ _t2 = cpu->r[1] + 0x00000080u;
|
|
/* 02C58334 */ rbrew_write_f64(cpu->mem, _t2, cpu->f[15]);
|
|
/* 02C58338 */ _t3 = cpu->r[1] + 0x00000090u;
|
|
/* 02C58338 */ rbrew_write_f64(cpu->mem, _t3, cpu->f[16]);
|
|
/* 02C5833C */ /* nop */
|
|
/* 02C58340 */ _t4 = cpu->r[1] + 0x000000A0u;
|
|
/* 02C58340 */ rbrew_write_f64(cpu->mem, _t4, cpu->f[17]);
|
|
/* 02C58344 */ /* nop */
|
|
/* 02C58348 */ _t5 = cpu->r[1] + 0x000000B0u;
|
|
/* 02C58348 */ rbrew_write_f64(cpu->mem, _t5, cpu->f[18]);
|
|
/* 02C5834C */ /* nop */
|
|
/* 02C58350 */ _t6 = cpu->r[1] + 0x000000C0u;
|
|
/* 02C58350 */ rbrew_write_f64(cpu->mem, _t6, cpu->f[19]);
|
|
/* 02C58354 */ /* nop */
|
|
/* 02C58358 */ _t7 = cpu->r[1] + 0x000000D0u;
|
|
/* 02C58358 */ rbrew_write_f64(cpu->mem, _t7, cpu->f[20]);
|
|
/* 02C5835C */ /* nop */
|
|
/* 02C58360 */ _t8 = cpu->r[1] + 0x000000E0u;
|
|
/* 02C58360 */ rbrew_write_f64(cpu->mem, _t8, cpu->f[21]);
|
|
/* 02C58364 */ /* nop */
|
|
/* 02C58368 */ _t9 = cpu->r[1] + 0x000000F0u;
|
|
/* 02C58368 */ rbrew_write_f64(cpu->mem, _t9, cpu->f[22]);
|
|
/* 02C5836C */ /* nop */
|
|
/* 02C58370 */ _t10 = cpu->r[1] + 0x00000100u;
|
|
/* 02C58370 */ rbrew_write_f64(cpu->mem, _t10, cpu->f[23]);
|
|
/* 02C58374 */ /* nop */
|
|
/* 02C58378 */ _t11 = cpu->r[1] + 0x00000078u;
|
|
/* 02C58378 */ rbrew_write_f32(cpu->mem, _t11, cpu->f[14]);
|
|
/* 02C5837C */ _t12 = cpu->r[1] + 0x00000088u;
|
|
/* 02C5837C */ rbrew_write_f32(cpu->mem, _t12, cpu->f[15]);
|
|
/* 02C58380 */ _t13 = cpu->r[1] + 0x00000098u;
|
|
/* 02C58380 */ rbrew_write_f32(cpu->mem, _t13, cpu->f[16]);
|
|
/* 02C58384 */ /* nop */
|
|
/* 02C58388 */ _t14 = cpu->r[1] + 0x000000A8u;
|
|
/* 02C58388 */ rbrew_write_f32(cpu->mem, _t14, cpu->f[17]);
|
|
/* 02C5838C */ _t15 = cpu->r[1] + 0x000000B8u;
|
|
/* 02C5838C */ rbrew_write_f32(cpu->mem, _t15, cpu->f[18]);
|
|
/* 02C58390 */ _t16 = cpu->r[1] + 0x000000C8u;
|
|
/* 02C58390 */ rbrew_write_f32(cpu->mem, _t16, cpu->f[19]);
|
|
/* 02C58394 */ /* nop */
|
|
/* 02C58398 */ _t17 = cpu->r[1] + 0x000000D8u;
|
|
/* 02C58398 */ rbrew_write_f32(cpu->mem, _t17, cpu->f[20]);
|
|
/* 02C5839C */ _t18 = cpu->r[1] + 0x000000E8u;
|
|
/* 02C5839C */ rbrew_write_f32(cpu->mem, _t18, cpu->f[21]);
|
|
/* 02C583A0 */ _t19 = cpu->r[1] + 0x000000F8u;
|
|
/* 02C583A0 */ rbrew_write_f32(cpu->mem, _t19, cpu->f[22]);
|
|
/* 02C583A4 */ cpu->r[0] = cpu->lr;
|
|
/* 02C583A8 */ _t20 = cpu->r[1] + 0x00000108u;
|
|
/* 02C583A8 */ rbrew_write_f32(cpu->mem, _t20, cpu->f[23]);
|
|
/* 02C583AC */ _t21 = cpu->r[1] + 0x00000110u;
|
|
/* 02C583AC */ rbrew_write_f64(cpu->mem, _t21, cpu->f[24]);
|
|
/* 02C583B0 */ /* nop */
|
|
/* 02C583B4 */ _t22 = cpu->r[1] + 0x00000118u;
|
|
/* 02C583B4 */ rbrew_write_f32(cpu->mem, _t22, cpu->f[24]);
|
|
/* 02C583B8 */ _t23 = cpu->r[1] + 0x00000120u;
|
|
/* 02C583B8 */ rbrew_write_f64(cpu->mem, _t23, cpu->f[25]);
|
|
/* 02C583BC */ /* nop */
|
|
/* 02C583C0 */ _t24 = cpu->r[1] + 0x00000128u;
|
|
/* 02C583C0 */ rbrew_write_f32(cpu->mem, _t24, cpu->f[25]);
|
|
/* 02C583C4 */ _t25 = cpu->r[1] + 0x00000130u;
|
|
/* 02C583C4 */ rbrew_write_f64(cpu->mem, _t25, cpu->f[26]);
|
|
/* 02C583C8 */ /* nop */
|
|
/* 02C583CC */ _t26 = cpu->r[1] + 0x00000138u;
|
|
/* 02C583CC */ rbrew_write_f32(cpu->mem, _t26, cpu->f[26]);
|
|
/* 02C583D0 */ _t27 = cpu->r[1] + 0x00000140u;
|
|
/* 02C583D0 */ rbrew_write_f64(cpu->mem, _t27, cpu->f[27]);
|
|
/* 02C583D4 */ /* nop */
|
|
/* 02C583D8 */ _t28 = cpu->r[1] + 0x00000148u;
|
|
/* 02C583D8 */ rbrew_write_f32(cpu->mem, _t28, cpu->f[27]);
|
|
/* 02C583DC */ _t29 = cpu->r[1] + 0x00000150u;
|
|
/* 02C583DC */ rbrew_write_f64(cpu->mem, _t29, cpu->f[28]);
|
|
/* 02C583E0 */ /* nop */
|
|
/* 02C583E4 */ /* nop */
|
|
/* 02C583E8 */ _t30 = cpu->r[1] + 0x00000160u;
|
|
/* 02C583E8 */ rbrew_write_f64(cpu->mem, _t30, cpu->f[29]);
|
|
/* 02C583EC */ _t31 = cpu->r[1] + 0x00000170u;
|
|
/* 02C583EC */ rbrew_write_f64(cpu->mem, _t31, cpu->f[30]);
|
|
/* 02C583F0 */ _t32 = cpu->r[1] + 0x00000180u;
|
|
/* 02C583F0 */ rbrew_write_f64(cpu->mem, _t32, cpu->f[31]);
|
|
/* 02C583F4 */ /* nop */
|
|
/* 02C583F8 */ /* nop */
|
|
/* 02C583FC */ _t33 = cpu->r[1] + 0x00000158u;
|
|
/* 02C583FC */ rbrew_write_f32(cpu->mem, _t33, cpu->f[28]);
|
|
/* 02C58400 */ /* nop */
|
|
/* 02C58404 */ _t34 = cpu->r[1] + 0x00000168u;
|
|
/* 02C58404 */ rbrew_write_f32(cpu->mem, _t34, cpu->f[29]);
|
|
/* 02C58408 */ _t35 = cpu->r[1] + 0x00000178u;
|
|
/* 02C58408 */ rbrew_write_f32(cpu->mem, _t35, cpu->f[30]);
|
|
/* 02C5840C */ _t36 = cpu->r[1] + 0x00000188u;
|
|
/* 02C5840C */ rbrew_write_f32(cpu->mem, _t36, cpu->f[31]);
|
|
/* 02C58410 */ _t37 = cpu->r[1] + 0x00000194u;
|
|
/* 02C58410 */ rbrew_write32(cpu->mem, _t37, cpu->r[0]);
|
|
/* 02C58414 */ _t38 = cpu->r[4] + 0x00000050u;
|
|
/* 02C58414 */ cpu->r[12] = rbrew_read32(cpu->mem, _t38);
|
|
/* 02C58418 */ cpu->r[12] = cpu->r[12] | 0x00000008u;
|
|
/* 02C5841C */ cpu->r[27] = cpu->r[3];
|
|
/* 02C58420 */ _t39 = cpu->r[4] + 0x00000050u;
|
|
/* 02C58420 */ rbrew_write32(cpu->mem, _t39, cpu->r[12]);
|
|
/* 02C58424 */ _t40 = cpu->r[27] + 0x00000008u;
|
|
/* 02C58424 */ cpu->r[6] = rbrew_read32(cpu->mem, _t40);
|
|
/* 02C58428 */ _t41 = cpu->r[4] + 0x0000002Cu;
|
|
/* 02C58428 */ cpu->r[31] = rbrew_read32(cpu->mem, _t41);
|
|
/* 02C5842C */ cpu->r[6] = cpu->r[6] | 0x00000008u;
|
|
/* 02C58430 */ _t42 = cpu->r[27] + 0x00000008u;
|
|
/* 02C58430 */ rbrew_write32(cpu->mem, _t42, cpu->r[6]);
|
|
/* 02C58434 */ _t43 = cpu->r[4] + 0x00000040u;
|
|
/* 02C58434 */ cpu->r[28] = rbrew_read16(cpu->mem, _t43);
|
|
/* 02C58438 */ cpu->f[31] = cpu->f[1];
|
|
/* 02C5843C */ cpu->r[26] = cpu->r[4] + 0x00000038u;
|
|
/* 02C58440 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 02C58444 */ _t44 = cpu->r[27] + 0x00000000u;
|
|
/* 02C58444 */ cpu->r[25] = rbrew_read32(cpu->mem, _t44);
|
|
/* 02C58448 */ _t45 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C58448 */ _t46 = _t45 & 0x00000001u;
|
|
/* 02C58448 */ if (_t46) goto L_02C592CC; else goto L_02C5844C;
|
|
L_02C5844C: ; // 0x2c5844c
|
|
/* 02C5844C */ cpu->r[7] = 0x101B0000u;
|
|
/* 02C58450 */ cpu->r[4] = 0x101B0000u;
|
|
/* 02C58454 */ _t47 = cpu->r[7] + 0xFFFFEE18u;
|
|
/* 02C58454 */ cpu->f[20] = rbrew_read_f32(cpu->mem, _t47);
|
|
/* 02C58458 */ cpu->r[11] = 0x101B0000u;
|
|
/* 02C5845C */ _t48 = cpu->r[4] + 0xFFFFEE60u;
|
|
/* 02C5845C */ cpu->f[28] = rbrew_read_f64(cpu->mem, _t48);
|
|
/* 02C58460 */ cpu->r[8] = 0x101B0000u;
|
|
/* 02C58464 */ _t49 = cpu->r[11] + 0xFFFFEE70u;
|
|
/* 02C58464 */ cpu->f[17] = rbrew_read_f32(cpu->mem, _t49);
|
|
/* 02C58468 */ cpu->r[29] = 0x101B0000u;
|
|
/* 02C5846C */ cpu->r[12] = 0x101B0000u;
|
|
/* 02C58470 */ cpu->r[29] = cpu->r[29] + 0xFFFFF1DCu;
|
|
/* 02C58474 */ cpu->r[11] = 0x101B0000u;
|
|
/* 02C58478 */ _t50 = cpu->r[12] + 0xFFFFEE48u;
|
|
/* 02C58478 */ cpu->f[24] = rbrew_read_f64(cpu->mem, _t50);
|
|
/* 02C5847C */ cpu->r[4] = 0x101B0000u;
|
|
/* 02C58480 */ _t51 = cpu->r[8] + 0xFFFFEE58u;
|
|
/* 02C58480 */ cpu->f[25] = rbrew_read_f32(cpu->mem, _t51);
|
|
/* 02C58484 */ cpu->r[7] = 0x101B0000u;
|
|
/* 02C58488 */ _t52 = cpu->r[4] + 0xFFFFEE20u;
|
|
/* 02C58488 */ cpu->f[22] = rbrew_read_f32(cpu->mem, _t52);
|
|
/* 02C5848C */ cpu->r[4] = 0x101B0000u;
|
|
/* 02C58490 */ _t53 = cpu->r[7] + 0xFFFFEE74u;
|
|
/* 02C58490 */ cpu->f[19] = rbrew_read_f32(cpu->mem, _t53);
|
|
/* 02C58494 */ cpu->r[10] = 0x101B0000u;
|
|
/* 02C58498 */ _t54 = cpu->r[4] + 0xFFFFEE40u;
|
|
/* 02C58498 */ cpu->f[23] = rbrew_read_f64(cpu->mem, _t54);
|
|
/* 02C5849C */ cpu->r[6] = 0x101B0000u;
|
|
/* 02C584A0 */ _t55 = cpu->r[10] + 0xFFFFEE1Cu;
|
|
/* 02C584A0 */ cpu->f[21] = rbrew_read_f32(cpu->mem, _t55);
|
|
/* 02C584A4 */ cpu->r[5] = 0x101B0000u;
|
|
/* 02C584A8 */ _t56 = cpu->r[11] + 0xFFFFEE14u;
|
|
/* 02C584A8 */ cpu->f[18] = rbrew_read_f32(cpu->mem, _t56);
|
|
/* 02C584AC */ _t57 = cpu->r[6] + 0xFFFFEE5Cu;
|
|
/* 02C584AC */ cpu->f[27] = rbrew_read_f32(cpu->mem, _t57);
|
|
/* 02C584B0 */ cpu->r[8] = 0x101B0000u;
|
|
/* 02C584B4 */ _t58 = cpu->r[5] + 0xFFFFEE68u;
|
|
/* 02C584B4 */ cpu->f[29] = rbrew_read_f64(cpu->mem, _t58);
|
|
/* 02C584B8 */ _t59 = cpu->r[8] + 0xFFFFEE30u;
|
|
/* 02C584B8 */ cpu->f[26] = rbrew_read_f32(cpu->mem, _t59);
|
|
/* 02C584BC */ cpu->r[30] = 0x00000000u;
|
|
L_02C584C0: ; // 0x2c584c0
|
|
/* 02C584C0 */ _t60 = cpu->r[26] + 0x00000000u;
|
|
/* 02C584C0 */ cpu->r[8] = rbrew_read32(cpu->mem, _t60);
|
|
/* 02C584C4 */ _t61 = cpu->r[8] + cpu->r[30];
|
|
/* 02C584C4 */ cpu->r[6] = rbrew_read32(cpu->mem, _t61);
|
|
/* 02C584C8 */ cpu->r[9] = rbrew_rlwinm(cpu->r[6], 0x00000001u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02C584CC */ cpu->r[0] = cpu->r[9] ^ 0x00000001u;
|
|
/* 02C584D0 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 02C584D0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C584D4 */ _t62 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C584D4 */ _t63 = _t62 & 0x00000001u;
|
|
/* 02C584D4 */ if (_t63) goto L_02C592BC; else goto L_02C584D8;
|
|
L_02C584D8: ; // 0x2c584d8
|
|
/* 02C584D8 */ _t64 = cpu->r[27] + 0x00000014u;
|
|
/* 02C584D8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t64);
|
|
/* 02C584DC */ cpu->r[12] = rbrew_rlwinm(cpu->r[6], 0x00000000u, 0x00000011u, 0x0000001Fu);
|
|
/* 02C584E0 */ _t65 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02C584E0 */ rbrew_write_f32(cpu->mem, _t65, cpu->f[31]);
|
|
/* 02C584E4 */ _t66 = cpu->r[1] + 0x00000028u;
|
|
/* 02C584E4 */ rbrew_write32(cpu->mem, _t66, cpu->r[12]);
|
|
/* 02C584E8 */ _t67 = cpu->r[3] + 0x00000000u;
|
|
/* 02C584E8 */ cpu->r[7] = rbrew_read32(cpu->mem, _t67);
|
|
/* 02C584EC */ _t68 = cpu->r[7] + 0x00000014u;
|
|
/* 02C584EC */ cpu->r[8] = rbrew_read32(cpu->mem, _t68);
|
|
/* 02C584F0 */ cpu->r[0] = (uint32_t)((int32_t)cpu->r[12] * (int32_t)0x00000038u);
|
|
/* 02C584F4 */ cpu->ctr = cpu->r[8];
|
|
/* 02C584F8 */ cpu->r[24] = cpu->r[25] + cpu->r[0];
|
|
/* 02C584FC */ cpu->r[4] = cpu->r[1] + 0x00000028u;
|
|
/* 02C58500 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02C58504 */ _t69 = cpu->r[31] + 0x00000020u;
|
|
/* 02C58504 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t69);
|
|
/* 02C58508 */ cpu->r[7] = 0x43300000u;
|
|
/* 02C5850C */ cpu->f[0] = fma(cpu->f[12], cpu->f[24], cpu->f[23]);
|
|
/* 02C58510 */ _t70 = cpu->r[1] + 0x00000010u;
|
|
/* 02C58510 */ rbrew_write32(cpu->mem, _t70, cpu->r[7]);
|
|
/* 02C58514 */ cpu->r[9] = 0x101B0000u;
|
|
/* 02C58518 */ _t71 = cpu->r[9] + 0xFFFFEE38u;
|
|
/* 02C58518 */ cpu->f[11] = rbrew_read_f64(cpu->mem, _t71);
|
|
/* 02C5851C */ _t72 = cpu->r[1] + 0x00000030u;
|
|
/* 02C5851C */ rbrew_write_f64(cpu->mem, _t72, cpu->f[0]);
|
|
/* 02C58520 */ _t73 = cpu->r[1] + 0x00000034u;
|
|
/* 02C58520 */ cpu->r[11] = rbrew_read32(cpu->mem, _t73);
|
|
/* 02C58524 */ _t74 = cpu->r[31] + 0x00000024u;
|
|
/* 02C58524 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t74);
|
|
/* 02C58528 */ cpu->r[4] = rbrew_rlwinm(cpu->r[11], 0x00000000u, 0x00000008u, 0x0000001Fu);
|
|
/* 02C5852C */ cpu->r[0] = rbrew_rlwinm(cpu->r[11], 0x0000000Cu, 0x00000014u, 0x0000001Bu);
|
|
/* 02C58530 */ _t75 = cpu->r[1] + 0x00000014u;
|
|
/* 02C58530 */ rbrew_write32(cpu->mem, _t75, cpu->r[4]);
|
|
/* 02C58534 */ cpu->f[13] = fma(cpu->f[8], cpu->f[24], cpu->f[23]);
|
|
/* 02C58538 */ cpu->r[10] = cpu->r[29] + cpu->r[0];
|
|
/* 02C5853C */ _t76 = cpu->r[1] + 0x00000010u;
|
|
/* 02C5853C */ cpu->f[6] = rbrew_read_f64(cpu->mem, _t76);
|
|
/* 02C58540 */ _t77 = cpu->r[10] + 0x00000008u;
|
|
/* 02C58540 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t77);
|
|
/* 02C58544 */ cpu->f[9] = cpu->f[6] - cpu->f[11];
|
|
/* 02C58548 */ _t78 = cpu->r[1] + 0x00000038u;
|
|
/* 02C58548 */ rbrew_write_f64(cpu->mem, _t78, cpu->f[13]);
|
|
/* 02C5854C */ _t79 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02C5854C */ cpu->r[11] = rbrew_read32(cpu->mem, _t79);
|
|
/* 02C58550 */ _t80 = cpu->r[10] + 0x00000000u;
|
|
/* 02C58550 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t80);
|
|
/* 02C58554 */ cpu->f[8] = (double)(float)cpu->f[9];
|
|
/* 02C58558 */ cpu->r[12] = rbrew_rlwinm(cpu->r[11], 0x00000000u, 0x00000008u, 0x0000001Fu);
|
|
/* 02C5855C */ _t81 = cpu->r[31] + 0x00000028u;
|
|
/* 02C5855C */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t81);
|
|
/* 02C58560 */ cpu->f[4] = cpu->f[8] * cpu->f[22];
|
|
/* 02C58564 */ _t82 = cpu->r[1] + 0x00000014u;
|
|
/* 02C58564 */ rbrew_write32(cpu->mem, _t82, cpu->r[12]);
|
|
/* 02C58568 */ cpu->r[0] = rbrew_rlwinm(cpu->r[11], 0x0000000Cu, 0x00000014u, 0x0000001Bu);
|
|
/* 02C5856C */ _t83 = cpu->r[1] + 0x00000010u;
|
|
/* 02C5856C */ cpu->f[0] = rbrew_read_f64(cpu->mem, _t83);
|
|
/* 02C58570 */ cpu->r[5] = cpu->r[29] + cpu->r[0];
|
|
/* 02C58574 */ cpu->f[6] = fma(cpu->f[10], cpu->f[4], cpu->f[13]);
|
|
/* 02C58578 */ cpu->f[8] = cpu->f[0] - cpu->f[11];
|
|
/* 02C5857C */ _t84 = cpu->r[10] + 0x00000004u;
|
|
/* 02C5857C */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t84);
|
|
/* 02C58580 */ cpu->f[0] = fma(cpu->f[9], cpu->f[24], cpu->f[23]);
|
|
/* 02C58584 */ _t85 = cpu->r[5] + 0x00000004u;
|
|
/* 02C58584 */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t85);
|
|
/* 02C58588 */ cpu->f[8] = (double)(float)cpu->f[8];
|
|
/* 02C5858C */ _t86 = cpu->r[5] + 0x0000000Cu;
|
|
/* 02C5858C */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t86);
|
|
/* 02C58590 */ _t87 = cpu->r[1] + 0x00000040u;
|
|
/* 02C58590 */ rbrew_write_f64(cpu->mem, _t87, cpu->f[0]);
|
|
/* 02C58594 */ _t88 = cpu->r[1] + 0x00000044u;
|
|
/* 02C58594 */ cpu->r[6] = rbrew_read32(cpu->mem, _t88);
|
|
/* 02C58598 */ cpu->f[3] = cpu->f[8] * cpu->f[22];
|
|
/* 02C5859C */ cpu->f[10] = fma(cpu->f[13], cpu->f[3], cpu->f[7]);
|
|
/* 02C585A0 */ cpu->r[0] = rbrew_rlwinm(cpu->r[6], 0x00000000u, 0x00000008u, 0x0000001Fu);
|
|
/* 02C585A4 */ _t89 = cpu->r[10] + 0x0000000Cu;
|
|
/* 02C585A4 */ cpu->f[5] = rbrew_read_f32(cpu->mem, _t89);
|
|
/* 02C585A8 */ _t90 = cpu->r[1] + 0x00000014u;
|
|
/* 02C585A8 */ rbrew_write32(cpu->mem, _t90, cpu->r[0]);
|
|
/* 02C585AC */ cpu->f[1] = cpu->f[6] * cpu->f[10];
|
|
/* 02C585B0 */ _t91 = cpu->r[1] + 0x00000010u;
|
|
/* 02C585B0 */ cpu->f[0] = rbrew_read_f64(cpu->mem, _t91);
|
|
/* 02C585B4 */ cpu->r[10] = rbrew_rlwinm(cpu->r[6], 0x0000000Cu, 0x00000014u, 0x0000001Bu);
|
|
/* 02C585B8 */ cpu->f[8] = cpu->f[0] - cpu->f[11];
|
|
/* 02C585BC */ _t92 = cpu->r[5] + 0x00000000u;
|
|
/* 02C585BC */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t92);
|
|
/* 02C585C0 */ cpu->f[11] = fma(cpu->f[5], cpu->f[4], cpu->f[12]);
|
|
/* 02C585C4 */ _t93 = cpu->r[5] + 0x00000008u;
|
|
/* 02C585C4 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t93);
|
|
/* 02C585C8 */ cpu->r[8] = cpu->r[29] + cpu->r[10];
|
|
/* 02C585CC */ cpu->f[0] = (double)(float)cpu->f[8];
|
|
/* 02C585D0 */ _t94 = cpu->r[8] + 0x0000000Cu;
|
|
/* 02C585D0 */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t94);
|
|
/* 02C585D4 */ cpu->f[4] = fma(cpu->f[13], cpu->f[3], cpu->f[9]);
|
|
/* 02C585D8 */ _t95 = cpu->r[8] + 0x00000004u;
|
|
/* 02C585D8 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t95);
|
|
/* 02C585DC */ cpu->f[13] = cpu->f[0] * cpu->f[22];
|
|
/* 02C585E0 */ _t96 = cpu->r[8] + 0x00000008u;
|
|
/* 02C585E0 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t96);
|
|
/* 02C585E4 */ cpu->f[0] = cpu->f[6] * cpu->f[4];
|
|
/* 02C585E8 */ _t97 = cpu->r[8] + 0x00000000u;
|
|
/* 02C585E8 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t97);
|
|
/* 02C585EC */ cpu->f[8] = fma(cpu->f[7], cpu->f[13], cpu->f[8]);
|
|
/* 02C585F0 */ _t98 = cpu->r[24] + 0x0000001Cu;
|
|
/* 02C585F0 */ cpu->f[5] = rbrew_read_f32(cpu->mem, _t98);
|
|
/* 02C585F4 */ cpu->f[16] = fma(cpu->f[9], cpu->f[13], cpu->f[12]);
|
|
/* 02C585F8 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[5], cpu->f[18]);
|
|
/* 02C585FC */ cpu->f[13] = cpu->f[11] * cpu->f[8];
|
|
/* 02C58600 */ cpu->f[12] = cpu->f[6] * cpu->f[16];
|
|
/* 02C58604 */ cpu->f[9] = fma(cpu->f[0], cpu->f[16], cpu->f[13]);
|
|
/* 02C58608 */ cpu->f[3] = fma(cpu->f[13], cpu->f[4], cpu->f[12]);
|
|
/* 02C5860C */ cpu->f[6] = cpu->f[6] * cpu->f[8];
|
|
/* 02C58610 */ cpu->f[13] = cpu->f[10] * cpu->f[8];
|
|
/* 02C58614 */ cpu->f[12] = cpu->f[11] * cpu->f[16];
|
|
/* 02C58618 */ cpu->f[11] = cpu->f[11] * cpu->f[10];
|
|
/* 02C5861C */ cpu->f[7] = cpu->f[13] + cpu->f[9];
|
|
/* 02C58620 */ cpu->f[2] = fma(cpu->f[0], cpu->f[8], -(cpu->f[12]));
|
|
/* 02C58624 */ cpu->f[0] = cpu->f[10] * cpu->f[16];
|
|
/* 02C58628 */ cpu->f[30] = fma(cpu->f[12], cpu->f[4], -(cpu->f[6]));
|
|
/* 02C5862C */ cpu->f[4] = -cpu->f[4];
|
|
/* 02C58630 */ _t99 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02C58630 */ cpu->f[14] = rbrew_read_f32(cpu->mem, _t99);
|
|
/* 02C58634 */ cpu->f[12] = cpu->f[7] + cpu->f[11];
|
|
/* 02C58638 */ _t100 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C58638 */ _t101 = _t100 & 0x00000001u;
|
|
/* 02C58638 */ if (_t101) goto L_02C5863C; else goto L_02C58B6C;
|
|
L_02C5863C: ; // 0x2c5863c
|
|
/* 02C5863C */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[12], cpu->f[18]);
|
|
/* 02C58640 */ _t102 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C58640 */ _t103 = _t102 & 0x00000001u;
|
|
/* 02C58640 */ if (_t103) goto L_02C58784; else goto L_02C58644;
|
|
L_02C58644: ; // 0x2c58644
|
|
/* 02C58644 */ cpu->f[8] = fma(cpu->f[12], cpu->f[17], cpu->f[17]);
|
|
/* 02C58648 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[8], cpu->f[18]);
|
|
/* 02C5864C */ _t104 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C5864C */ _t105 = _t104 & 0x00000001u;
|
|
/* 02C5864C */ if (_t105) goto L_02C58650; else goto L_02C586DC;
|
|
L_02C58650: ; // 0x2c58650
|
|
/* 02C58650 */ cpu->f[7] = cpu->f[18] * cpu->f[19];
|
|
/* 02C58654 */ _ft106 = (double)(int32_t)0x00000001u;
|
|
/* 02C58654 */ cpu->f[9] = _ft106 / cpu->f[7];
|
|
/* 02C58658 */ cpu->f[0] = cpu->f[0] - cpu->f[2];
|
|
/* 02C5865C */ cpu->f[12] = cpu->f[9] + cpu->f[9];
|
|
/* 02C58660 */ cpu->f[13] = cpu->f[7] * cpu->f[9];
|
|
/* 02C58664 */ cpu->f[8] = cpu->f[1] - cpu->f[30];
|
|
/* 02C58668 */ cpu->f[7] = -fma(cpu->f[13], cpu->f[9], -(cpu->f[12]));
|
|
/* 02C5866C */ cpu->f[11] = cpu->f[3] - cpu->f[4];
|
|
/* 02C58670 */ cpu->f[9] = cpu->f[8] * cpu->f[7];
|
|
/* 02C58674 */ _t107 = cpu->r[24] + 0x0000002Cu;
|
|
/* 02C58674 */ rbrew_write_f32(cpu->mem, _t107, cpu->f[18]);
|
|
/* 02C58678 */ cpu->f[12] = cpu->f[11] * cpu->f[7];
|
|
/* 02C5867C */ _t108 = cpu->r[24] + 0x00000020u;
|
|
/* 02C5867C */ rbrew_write_f32(cpu->mem, _t108, cpu->f[9]);
|
|
/* 02C58680 */ cpu->f[7] = cpu->f[0] * cpu->f[7];
|
|
/* 02C58684 */ _t109 = cpu->r[24] + 0x00000024u;
|
|
/* 02C58684 */ rbrew_write_f32(cpu->mem, _t109, cpu->f[12]);
|
|
/* 02C58688 */ _t110 = cpu->r[24] + 0x00000028u;
|
|
/* 02C58688 */ rbrew_write_f32(cpu->mem, _t110, cpu->f[7]);
|
|
/* 02C5868C */ /* nop */
|
|
/* 02C58690 */ /* nop */
|
|
/* 02C58694 */ /* nop */
|
|
/* 02C58698 */ /* nop */
|
|
/* 02C5869C */ /* nop */
|
|
/* 02C586A0 */ /* nop */
|
|
/* 02C586A4 */ _t111 = cpu->r[24] + 0x0000001Cu;
|
|
/* 02C586A4 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t111);
|
|
/* 02C586A8 */ /* nop */
|
|
/* 02C586AC */ /* nop */
|
|
/* 02C586B0 */ /* nop */
|
|
/* 02C586B4 */ /* nop */
|
|
/* 02C586B8 */ cpu->f[13] = cpu->f[13] + cpu->f[14];
|
|
/* 02C586BC */ _t112 = cpu->r[24] + 0x00000000u;
|
|
/* 02C586BC */ cpu->r[7] = rbrew_read32(cpu->mem, _t112);
|
|
/* 02C586C0 */ /* nop */
|
|
/* 02C586C4 */ /* nop */
|
|
/* 02C586C8 */ _t113 = cpu->r[31] + 0x00000000u;
|
|
/* 02C586C8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t113);
|
|
/* 02C586CC */ _t114 = cpu->r[24] + 0x0000001Cu;
|
|
/* 02C586CC */ rbrew_write_f32(cpu->mem, _t114, cpu->f[13]);
|
|
/* 02C586D0 */ _t115 = ~cpu->r[0];
|
|
/* 02C586D0 */ cpu->r[7] = cpu->r[7] | _t115;
|
|
/* 02C586D4 */ _t116 = cpu->r[24] + 0x00000000u;
|
|
/* 02C586D4 */ rbrew_write32(cpu->mem, _t116, cpu->r[7]);
|
|
/* 02C586D8 */ goto L_02C592BC;
|
|
L_02C586DC: ; // 0x2c586dc
|
|
/* 02C586DC */ _ft117 = sqrt(cpu->f[8]);
|
|
/* 02C586DC */ _ft118 = (double)(int32_t)0x00000001u;
|
|
/* 02C586DC */ cpu->f[7] = _ft118 / _ft117;
|
|
/* 02C586E0 */ cpu->f[11] = cpu->f[20] * cpu->f[8];
|
|
/* 02C586E4 */ cpu->f[6] = (double)(float)cpu->f[7];
|
|
/* 02C586E8 */ cpu->f[13] = cpu->f[11] * cpu->f[6];
|
|
/* 02C586EC */ cpu->f[7] = -fma(cpu->f[13], cpu->f[6], -(cpu->f[21]));
|
|
/* 02C586F0 */ cpu->f[6] = cpu->f[6] * cpu->f[7];
|
|
/* 02C586F4 */ cpu->f[10] = cpu->f[8] * cpu->f[6];
|
|
/* 02C586F8 */ cpu->f[7] = cpu->f[10] * cpu->f[19];
|
|
/* 02C586FC */ _ft119 = (double)(int32_t)0x00000001u;
|
|
/* 02C586FC */ cpu->f[9] = _ft119 / cpu->f[7];
|
|
/* 02C58700 */ cpu->f[0] = cpu->f[0] - cpu->f[2];
|
|
/* 02C58704 */ cpu->f[12] = cpu->f[9] + cpu->f[9];
|
|
/* 02C58708 */ cpu->f[13] = cpu->f[7] * cpu->f[9];
|
|
/* 02C5870C */ cpu->f[8] = cpu->f[1] - cpu->f[30];
|
|
/* 02C58710 */ cpu->f[7] = -fma(cpu->f[13], cpu->f[9], -(cpu->f[12]));
|
|
/* 02C58714 */ cpu->f[11] = cpu->f[3] - cpu->f[4];
|
|
/* 02C58718 */ cpu->f[9] = cpu->f[8] * cpu->f[7];
|
|
/* 02C5871C */ cpu->f[12] = cpu->f[11] * cpu->f[7];
|
|
/* 02C58720 */ _t120 = cpu->r[24] + 0x0000002Cu;
|
|
/* 02C58720 */ rbrew_write_f32(cpu->mem, _t120, cpu->f[10]);
|
|
/* 02C58724 */ _t121 = cpu->r[24] + 0x00000020u;
|
|
/* 02C58724 */ rbrew_write_f32(cpu->mem, _t121, cpu->f[9]);
|
|
/* 02C58728 */ cpu->f[7] = cpu->f[0] * cpu->f[7];
|
|
/* 02C5872C */ _t122 = cpu->r[24] + 0x00000024u;
|
|
/* 02C5872C */ rbrew_write_f32(cpu->mem, _t122, cpu->f[12]);
|
|
/* 02C58730 */ _t123 = cpu->r[24] + 0x00000028u;
|
|
/* 02C58730 */ rbrew_write_f32(cpu->mem, _t123, cpu->f[7]);
|
|
/* 02C58734 */ /* nop */
|
|
/* 02C58738 */ /* nop */
|
|
/* 02C5873C */ /* nop */
|
|
/* 02C58740 */ /* nop */
|
|
/* 02C58744 */ /* nop */
|
|
/* 02C58748 */ /* nop */
|
|
/* 02C5874C */ _t124 = cpu->r[24] + 0x0000001Cu;
|
|
/* 02C5874C */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t124);
|
|
/* 02C58750 */ /* nop */
|
|
/* 02C58754 */ /* nop */
|
|
/* 02C58758 */ /* nop */
|
|
/* 02C5875C */ /* nop */
|
|
/* 02C58760 */ cpu->f[13] = cpu->f[13] + cpu->f[14];
|
|
/* 02C58764 */ _t125 = cpu->r[24] + 0x00000000u;
|
|
/* 02C58764 */ cpu->r[7] = rbrew_read32(cpu->mem, _t125);
|
|
/* 02C58768 */ /* nop */
|
|
/* 02C5876C */ /* nop */
|
|
/* 02C58770 */ _t126 = cpu->r[31] + 0x00000000u;
|
|
/* 02C58770 */ cpu->r[0] = rbrew_read32(cpu->mem, _t126);
|
|
/* 02C58774 */ _t127 = cpu->r[24] + 0x0000001Cu;
|
|
/* 02C58774 */ rbrew_write_f32(cpu->mem, _t127, cpu->f[13]);
|
|
/* 02C58778 */ _t128 = ~cpu->r[0];
|
|
/* 02C58778 */ cpu->r[7] = cpu->r[7] | _t128;
|
|
/* 02C5877C */ _t129 = cpu->r[24] + 0x00000000u;
|
|
/* 02C5877C */ rbrew_write32(cpu->mem, _t129, cpu->r[7]);
|
|
/* 02C58780 */ goto L_02C592BC;
|
|
L_02C58784: ; // 0x2c58784
|
|
/* 02C58784 */ cpu->f[8] = cpu->f[13] + cpu->f[13];
|
|
/* 02C58788 */ cpu->f[13] = cpu->f[8] - cpu->f[12];
|
|
/* 02C5878C */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[13], cpu->f[18]);
|
|
/* 02C58790 */ _t130 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C58790 */ _t131 = _t130 & 0x00000001u;
|
|
/* 02C58790 */ if (_t131) goto L_02C588D4; else goto L_02C58794;
|
|
L_02C58794: ; // 0x2c58794
|
|
/* 02C58794 */ cpu->f[10] = fma(cpu->f[13], cpu->f[17], cpu->f[17]);
|
|
/* 02C58798 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[10], cpu->f[18]);
|
|
/* 02C5879C */ _t132 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C5879C */ _t133 = _t132 & 0x00000001u;
|
|
/* 02C5879C */ if (_t133) goto L_02C587A0; else goto L_02C5882C;
|
|
L_02C587A0: ; // 0x2c587a0
|
|
/* 02C587A0 */ cpu->f[11] = cpu->f[18] * cpu->f[19];
|
|
/* 02C587A4 */ _ft134 = (double)(int32_t)0x00000001u;
|
|
/* 02C587A4 */ cpu->f[6] = _ft134 / cpu->f[11];
|
|
/* 02C587A8 */ cpu->f[8] = cpu->f[3] + cpu->f[4];
|
|
/* 02C587AC */ cpu->f[7] = cpu->f[6] + cpu->f[6];
|
|
/* 02C587B0 */ cpu->f[9] = cpu->f[11] * cpu->f[6];
|
|
/* 02C587B4 */ cpu->f[11] = cpu->f[1] - cpu->f[30];
|
|
/* 02C587B8 */ cpu->f[10] = -fma(cpu->f[9], cpu->f[6], -(cpu->f[7]));
|
|
/* 02C587BC */ cpu->f[6] = cpu->f[2] + cpu->f[0];
|
|
/* 02C587C0 */ cpu->f[13] = cpu->f[11] * cpu->f[10];
|
|
/* 02C587C4 */ _t135 = cpu->r[24] + 0x00000020u;
|
|
/* 02C587C4 */ rbrew_write_f32(cpu->mem, _t135, cpu->f[18]);
|
|
/* 02C587C8 */ cpu->f[7] = cpu->f[6] * cpu->f[10];
|
|
/* 02C587CC */ _t136 = cpu->r[24] + 0x0000002Cu;
|
|
/* 02C587CC */ rbrew_write_f32(cpu->mem, _t136, cpu->f[13]);
|
|
/* 02C587D0 */ cpu->f[9] = cpu->f[8] * cpu->f[10];
|
|
/* 02C587D4 */ _t137 = cpu->r[24] + 0x00000024u;
|
|
/* 02C587D4 */ rbrew_write_f32(cpu->mem, _t137, cpu->f[7]);
|
|
/* 02C587D8 */ _t138 = cpu->r[24] + 0x00000028u;
|
|
/* 02C587D8 */ rbrew_write_f32(cpu->mem, _t138, cpu->f[9]);
|
|
/* 02C587DC */ /* nop */
|
|
/* 02C587E0 */ /* nop */
|
|
/* 02C587E4 */ /* nop */
|
|
/* 02C587E8 */ /* nop */
|
|
/* 02C587EC */ /* nop */
|
|
/* 02C587F0 */ /* nop */
|
|
/* 02C587F4 */ _t139 = cpu->r[24] + 0x0000001Cu;
|
|
/* 02C587F4 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t139);
|
|
/* 02C587F8 */ /* nop */
|
|
/* 02C587FC */ /* nop */
|
|
/* 02C58800 */ /* nop */
|
|
/* 02C58804 */ /* nop */
|
|
/* 02C58808 */ cpu->f[13] = cpu->f[13] + cpu->f[14];
|
|
/* 02C5880C */ _t140 = cpu->r[24] + 0x00000000u;
|
|
/* 02C5880C */ cpu->r[7] = rbrew_read32(cpu->mem, _t140);
|
|
/* 02C58810 */ /* nop */
|
|
/* 02C58814 */ /* nop */
|
|
/* 02C58818 */ _t141 = cpu->r[31] + 0x00000000u;
|
|
/* 02C58818 */ cpu->r[0] = rbrew_read32(cpu->mem, _t141);
|
|
/* 02C5881C */ _t142 = cpu->r[24] + 0x0000001Cu;
|
|
/* 02C5881C */ rbrew_write_f32(cpu->mem, _t142, cpu->f[13]);
|
|
/* 02C58820 */ _t143 = ~cpu->r[0];
|
|
/* 02C58820 */ cpu->r[7] = cpu->r[7] | _t143;
|
|
/* 02C58824 */ _t144 = cpu->r[24] + 0x00000000u;
|
|
/* 02C58824 */ rbrew_write32(cpu->mem, _t144, cpu->r[7]);
|
|
/* 02C58828 */ goto L_02C592BC;
|
|
L_02C5882C: ; // 0x2c5882c
|
|
/* 02C5882C */ _ft145 = sqrt(cpu->f[10]);
|
|
/* 02C5882C */ _ft146 = (double)(int32_t)0x00000001u;
|
|
/* 02C5882C */ cpu->f[6] = _ft146 / _ft145;
|
|
/* 02C58830 */ cpu->f[11] = cpu->f[20] * cpu->f[10];
|
|
/* 02C58834 */ cpu->f[9] = (double)(float)cpu->f[6];
|
|
/* 02C58838 */ cpu->f[12] = cpu->f[11] * cpu->f[9];
|
|
/* 02C5883C */ cpu->f[6] = -fma(cpu->f[12], cpu->f[9], -(cpu->f[21]));
|
|
/* 02C58840 */ cpu->f[9] = cpu->f[9] * cpu->f[6];
|
|
/* 02C58844 */ cpu->f[12] = cpu->f[10] * cpu->f[9];
|
|
/* 02C58848 */ cpu->f[11] = cpu->f[12] * cpu->f[19];
|
|
/* 02C5884C */ _ft147 = (double)(int32_t)0x00000001u;
|
|
/* 02C5884C */ cpu->f[6] = _ft147 / cpu->f[11];
|
|
/* 02C58850 */ cpu->f[8] = cpu->f[3] + cpu->f[4];
|
|
/* 02C58854 */ cpu->f[7] = cpu->f[6] + cpu->f[6];
|
|
/* 02C58858 */ cpu->f[9] = cpu->f[11] * cpu->f[6];
|
|
/* 02C5885C */ cpu->f[11] = cpu->f[1] - cpu->f[30];
|
|
/* 02C58860 */ cpu->f[10] = -fma(cpu->f[9], cpu->f[6], -(cpu->f[7]));
|
|
/* 02C58864 */ cpu->f[6] = cpu->f[2] + cpu->f[0];
|
|
/* 02C58868 */ cpu->f[13] = cpu->f[11] * cpu->f[10];
|
|
/* 02C5886C */ cpu->f[7] = cpu->f[6] * cpu->f[10];
|
|
/* 02C58870 */ _t148 = cpu->r[24] + 0x00000020u;
|
|
/* 02C58870 */ rbrew_write_f32(cpu->mem, _t148, cpu->f[12]);
|
|
/* 02C58874 */ _t149 = cpu->r[24] + 0x0000002Cu;
|
|
/* 02C58874 */ rbrew_write_f32(cpu->mem, _t149, cpu->f[13]);
|
|
/* 02C58878 */ cpu->f[9] = cpu->f[8] * cpu->f[10];
|
|
/* 02C5887C */ _t150 = cpu->r[24] + 0x00000024u;
|
|
/* 02C5887C */ rbrew_write_f32(cpu->mem, _t150, cpu->f[7]);
|
|
/* 02C58880 */ _t151 = cpu->r[24] + 0x00000028u;
|
|
/* 02C58880 */ rbrew_write_f32(cpu->mem, _t151, cpu->f[9]);
|
|
/* 02C58884 */ /* nop */
|
|
/* 02C58888 */ /* nop */
|
|
/* 02C5888C */ /* nop */
|
|
/* 02C58890 */ /* nop */
|
|
/* 02C58894 */ /* nop */
|
|
/* 02C58898 */ /* nop */
|
|
/* 02C5889C */ _t152 = cpu->r[24] + 0x0000001Cu;
|
|
/* 02C5889C */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t152);
|
|
/* 02C588A0 */ /* nop */
|
|
/* 02C588A4 */ /* nop */
|
|
/* 02C588A8 */ /* nop */
|
|
/* 02C588AC */ /* nop */
|
|
/* 02C588B0 */ cpu->f[13] = cpu->f[13] + cpu->f[14];
|
|
/* 02C588B4 */ _t153 = cpu->r[24] + 0x00000000u;
|
|
/* 02C588B4 */ cpu->r[7] = rbrew_read32(cpu->mem, _t153);
|
|
/* 02C588B8 */ /* nop */
|
|
/* 02C588BC */ /* nop */
|
|
/* 02C588C0 */ _t154 = cpu->r[31] + 0x00000000u;
|
|
/* 02C588C0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t154);
|
|
/* 02C588C4 */ _t155 = cpu->r[24] + 0x0000001Cu;
|
|
/* 02C588C4 */ rbrew_write_f32(cpu->mem, _t155, cpu->f[13]);
|
|
/* 02C588C8 */ _t156 = ~cpu->r[0];
|
|
/* 02C588C8 */ cpu->r[7] = cpu->r[7] | _t156;
|
|
/* 02C588CC */ _t157 = cpu->r[24] + 0x00000000u;
|
|
/* 02C588CC */ rbrew_write32(cpu->mem, _t157, cpu->r[7]);
|
|
/* 02C588D0 */ goto L_02C592BC;
|
|
L_02C588D4: ; // 0x2c588d4
|
|
/* 02C588D4 */ cpu->f[10] = cpu->f[9] + cpu->f[9];
|
|
/* 02C588D8 */ cpu->f[13] = cpu->f[10] - cpu->f[12];
|
|
/* 02C588DC */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[13], cpu->f[18]);
|
|
/* 02C588E0 */ _t158 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C588E0 */ _t159 = _t158 & 0x00000001u;
|
|
/* 02C588E0 */ if (_t159) goto L_02C58A24; else goto L_02C588E4;
|
|
L_02C588E4: ; // 0x2c588e4
|
|
/* 02C588E4 */ cpu->f[10] = fma(cpu->f[13], cpu->f[17], cpu->f[17]);
|
|
/* 02C588E8 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[10], cpu->f[18]);
|
|
/* 02C588EC */ _t160 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C588EC */ _t161 = _t160 & 0x00000001u;
|
|
/* 02C588EC */ if (_t161) goto L_02C588F0; else goto L_02C5897C;
|
|
L_02C588F0: ; // 0x2c588f0
|
|
/* 02C588F0 */ cpu->f[6] = cpu->f[18] * cpu->f[19];
|
|
/* 02C588F4 */ _ft162 = (double)(int32_t)0x00000001u;
|
|
/* 02C588F4 */ cpu->f[10] = _ft162 / cpu->f[6];
|
|
/* 02C588F8 */ cpu->f[11] = cpu->f[0] + cpu->f[2];
|
|
/* 02C588FC */ cpu->f[13] = cpu->f[10] + cpu->f[10];
|
|
/* 02C58900 */ cpu->f[0] = cpu->f[6] * cpu->f[10];
|
|
/* 02C58904 */ cpu->f[6] = cpu->f[3] - cpu->f[4];
|
|
/* 02C58908 */ cpu->f[12] = -fma(cpu->f[0], cpu->f[10], -(cpu->f[13]));
|
|
/* 02C5890C */ cpu->f[9] = cpu->f[30] + cpu->f[1];
|
|
/* 02C58910 */ cpu->f[8] = cpu->f[6] * cpu->f[12];
|
|
/* 02C58914 */ _t163 = cpu->r[24] + 0x00000024u;
|
|
/* 02C58914 */ rbrew_write_f32(cpu->mem, _t163, cpu->f[18]);
|
|
/* 02C58918 */ cpu->f[10] = cpu->f[9] * cpu->f[12];
|
|
/* 02C5891C */ _t164 = cpu->r[24] + 0x0000002Cu;
|
|
/* 02C5891C */ rbrew_write_f32(cpu->mem, _t164, cpu->f[8]);
|
|
/* 02C58920 */ cpu->f[12] = cpu->f[11] * cpu->f[12];
|
|
/* 02C58924 */ _t165 = cpu->r[24] + 0x00000028u;
|
|
/* 02C58924 */ rbrew_write_f32(cpu->mem, _t165, cpu->f[10]);
|
|
/* 02C58928 */ _t166 = cpu->r[24] + 0x00000020u;
|
|
/* 02C58928 */ rbrew_write_f32(cpu->mem, _t166, cpu->f[12]);
|
|
/* 02C5892C */ /* nop */
|
|
/* 02C58930 */ /* nop */
|
|
/* 02C58934 */ /* nop */
|
|
/* 02C58938 */ /* nop */
|
|
/* 02C5893C */ /* nop */
|
|
/* 02C58940 */ /* nop */
|
|
/* 02C58944 */ _t167 = cpu->r[24] + 0x0000001Cu;
|
|
/* 02C58944 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t167);
|
|
/* 02C58948 */ /* nop */
|
|
/* 02C5894C */ /* nop */
|
|
/* 02C58950 */ /* nop */
|
|
/* 02C58954 */ /* nop */
|
|
/* 02C58958 */ cpu->f[13] = cpu->f[13] + cpu->f[14];
|
|
/* 02C5895C */ _t168 = cpu->r[24] + 0x00000000u;
|
|
/* 02C5895C */ cpu->r[7] = rbrew_read32(cpu->mem, _t168);
|
|
/* 02C58960 */ /* nop */
|
|
/* 02C58964 */ /* nop */
|
|
/* 02C58968 */ _t169 = cpu->r[31] + 0x00000000u;
|
|
/* 02C58968 */ cpu->r[0] = rbrew_read32(cpu->mem, _t169);
|
|
/* 02C5896C */ _t170 = cpu->r[24] + 0x0000001Cu;
|
|
/* 02C5896C */ rbrew_write_f32(cpu->mem, _t170, cpu->f[13]);
|
|
/* 02C58970 */ _t171 = ~cpu->r[0];
|
|
/* 02C58970 */ cpu->r[7] = cpu->r[7] | _t171;
|
|
/* 02C58974 */ _t172 = cpu->r[24] + 0x00000000u;
|
|
/* 02C58974 */ rbrew_write32(cpu->mem, _t172, cpu->r[7]);
|
|
/* 02C58978 */ goto L_02C592BC;
|
|
L_02C5897C: ; // 0x2c5897c
|
|
/* 02C5897C */ _ft173 = sqrt(cpu->f[10]);
|
|
/* 02C5897C */ _ft174 = (double)(int32_t)0x00000001u;
|
|
/* 02C5897C */ cpu->f[13] = _ft174 / _ft173;
|
|
/* 02C58980 */ cpu->f[8] = cpu->f[20] * cpu->f[10];
|
|
/* 02C58984 */ cpu->f[12] = (double)(float)cpu->f[13];
|
|
/* 02C58988 */ cpu->f[9] = cpu->f[8] * cpu->f[12];
|
|
/* 02C5898C */ cpu->f[11] = -fma(cpu->f[9], cpu->f[12], -(cpu->f[21]));
|
|
/* 02C58990 */ cpu->f[12] = cpu->f[12] * cpu->f[11];
|
|
/* 02C58994 */ cpu->f[7] = cpu->f[10] * cpu->f[12];
|
|
/* 02C58998 */ cpu->f[6] = cpu->f[7] * cpu->f[19];
|
|
/* 02C5899C */ _ft175 = (double)(int32_t)0x00000001u;
|
|
/* 02C5899C */ cpu->f[10] = _ft175 / cpu->f[6];
|
|
/* 02C589A0 */ cpu->f[11] = cpu->f[0] + cpu->f[2];
|
|
/* 02C589A4 */ cpu->f[13] = cpu->f[10] + cpu->f[10];
|
|
/* 02C589A8 */ cpu->f[0] = cpu->f[6] * cpu->f[10];
|
|
/* 02C589AC */ cpu->f[6] = cpu->f[3] - cpu->f[4];
|
|
/* 02C589B0 */ cpu->f[12] = -fma(cpu->f[0], cpu->f[10], -(cpu->f[13]));
|
|
/* 02C589B4 */ cpu->f[9] = cpu->f[30] + cpu->f[1];
|
|
/* 02C589B8 */ cpu->f[8] = cpu->f[6] * cpu->f[12];
|
|
/* 02C589BC */ cpu->f[10] = cpu->f[9] * cpu->f[12];
|
|
/* 02C589C0 */ _t176 = cpu->r[24] + 0x00000024u;
|
|
/* 02C589C0 */ rbrew_write_f32(cpu->mem, _t176, cpu->f[7]);
|
|
/* 02C589C4 */ _t177 = cpu->r[24] + 0x0000002Cu;
|
|
/* 02C589C4 */ rbrew_write_f32(cpu->mem, _t177, cpu->f[8]);
|
|
/* 02C589C8 */ cpu->f[12] = cpu->f[11] * cpu->f[12];
|
|
/* 02C589CC */ _t178 = cpu->r[24] + 0x00000028u;
|
|
/* 02C589CC */ rbrew_write_f32(cpu->mem, _t178, cpu->f[10]);
|
|
/* 02C589D0 */ _t179 = cpu->r[24] + 0x00000020u;
|
|
/* 02C589D0 */ rbrew_write_f32(cpu->mem, _t179, cpu->f[12]);
|
|
/* 02C589D4 */ /* nop */
|
|
/* 02C589D8 */ /* nop */
|
|
/* 02C589DC */ /* nop */
|
|
/* 02C589E0 */ /* nop */
|
|
/* 02C589E4 */ /* nop */
|
|
/* 02C589E8 */ /* nop */
|
|
/* 02C589EC */ _t180 = cpu->r[24] + 0x0000001Cu;
|
|
/* 02C589EC */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t180);
|
|
/* 02C589F0 */ /* nop */
|
|
/* 02C589F4 */ /* nop */
|
|
/* 02C589F8 */ /* nop */
|
|
/* 02C589FC */ /* nop */
|
|
/* 02C58A00 */ cpu->f[13] = cpu->f[13] + cpu->f[14];
|
|
/* 02C58A04 */ _t181 = cpu->r[24] + 0x00000000u;
|
|
/* 02C58A04 */ cpu->r[7] = rbrew_read32(cpu->mem, _t181);
|
|
/* 02C58A08 */ /* nop */
|
|
/* 02C58A0C */ /* nop */
|
|
/* 02C58A10 */ _t182 = cpu->r[31] + 0x00000000u;
|
|
/* 02C58A10 */ cpu->r[0] = rbrew_read32(cpu->mem, _t182);
|
|
/* 02C58A14 */ _t183 = cpu->r[24] + 0x0000001Cu;
|
|
/* 02C58A14 */ rbrew_write_f32(cpu->mem, _t183, cpu->f[13]);
|
|
/* 02C58A18 */ _t184 = ~cpu->r[0];
|
|
/* 02C58A18 */ cpu->r[7] = cpu->r[7] | _t184;
|
|
/* 02C58A1C */ _t185 = cpu->r[24] + 0x00000000u;
|
|
/* 02C58A1C */ rbrew_write32(cpu->mem, _t185, cpu->r[7]);
|
|
/* 02C58A20 */ goto L_02C592BC;
|
|
L_02C58A24: ; // 0x2c58a24
|
|
/* 02C58A24 */ cpu->f[13] = cpu->f[11] + cpu->f[11];
|
|
/* 02C58A28 */ cpu->f[13] = cpu->f[13] - cpu->f[12];
|
|
/* 02C58A2C */ cpu->f[10] = fma(cpu->f[13], cpu->f[17], cpu->f[17]);
|
|
/* 02C58A30 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[10], cpu->f[18]);
|
|
/* 02C58A34 */ _t186 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C58A34 */ _t187 = _t186 & 0x00000001u;
|
|
/* 02C58A34 */ if (_t187) goto L_02C58A38; else goto L_02C58AC4;
|
|
L_02C58A38: ; // 0x2c58a38
|
|
/* 02C58A38 */ cpu->f[8] = cpu->f[18] * cpu->f[19];
|
|
/* 02C58A3C */ _ft188 = (double)(int32_t)0x00000001u;
|
|
/* 02C58A3C */ cpu->f[10] = _ft188 / cpu->f[8];
|
|
/* 02C58A40 */ cpu->f[11] = cpu->f[1] + cpu->f[30];
|
|
/* 02C58A44 */ cpu->f[13] = cpu->f[10] + cpu->f[10];
|
|
/* 02C58A48 */ cpu->f[6] = cpu->f[8] * cpu->f[10];
|
|
/* 02C58A4C */ cpu->f[7] = cpu->f[0] - cpu->f[2];
|
|
/* 02C58A50 */ cpu->f[6] = -fma(cpu->f[6], cpu->f[10], -(cpu->f[13]));
|
|
/* 02C58A54 */ cpu->f[9] = cpu->f[4] + cpu->f[3];
|
|
/* 02C58A58 */ cpu->f[8] = cpu->f[7] * cpu->f[6];
|
|
/* 02C58A5C */ _t189 = cpu->r[24] + 0x00000028u;
|
|
/* 02C58A5C */ rbrew_write_f32(cpu->mem, _t189, cpu->f[18]);
|
|
/* 02C58A60 */ cpu->f[10] = cpu->f[9] * cpu->f[6];
|
|
/* 02C58A64 */ _t190 = cpu->r[24] + 0x0000002Cu;
|
|
/* 02C58A64 */ rbrew_write_f32(cpu->mem, _t190, cpu->f[8]);
|
|
/* 02C58A68 */ cpu->f[12] = cpu->f[11] * cpu->f[6];
|
|
/* 02C58A6C */ _t191 = cpu->r[24] + 0x00000020u;
|
|
/* 02C58A6C */ rbrew_write_f32(cpu->mem, _t191, cpu->f[10]);
|
|
/* 02C58A70 */ _t192 = cpu->r[24] + 0x00000024u;
|
|
/* 02C58A70 */ rbrew_write_f32(cpu->mem, _t192, cpu->f[12]);
|
|
/* 02C58A74 */ /* nop */
|
|
/* 02C58A78 */ /* nop */
|
|
/* 02C58A7C */ /* nop */
|
|
/* 02C58A80 */ /* nop */
|
|
/* 02C58A84 */ /* nop */
|
|
/* 02C58A88 */ /* nop */
|
|
/* 02C58A8C */ _t193 = cpu->r[24] + 0x0000001Cu;
|
|
/* 02C58A8C */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t193);
|
|
/* 02C58A90 */ /* nop */
|
|
/* 02C58A94 */ /* nop */
|
|
/* 02C58A98 */ /* nop */
|
|
/* 02C58A9C */ /* nop */
|
|
/* 02C58AA0 */ cpu->f[13] = cpu->f[13] + cpu->f[14];
|
|
/* 02C58AA4 */ _t194 = cpu->r[24] + 0x00000000u;
|
|
/* 02C58AA4 */ cpu->r[7] = rbrew_read32(cpu->mem, _t194);
|
|
/* 02C58AA8 */ /* nop */
|
|
/* 02C58AAC */ /* nop */
|
|
/* 02C58AB0 */ _t195 = cpu->r[31] + 0x00000000u;
|
|
/* 02C58AB0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t195);
|
|
/* 02C58AB4 */ _t196 = cpu->r[24] + 0x0000001Cu;
|
|
/* 02C58AB4 */ rbrew_write_f32(cpu->mem, _t196, cpu->f[13]);
|
|
/* 02C58AB8 */ _t197 = ~cpu->r[0];
|
|
/* 02C58AB8 */ cpu->r[7] = cpu->r[7] | _t197;
|
|
/* 02C58ABC */ _t198 = cpu->r[24] + 0x00000000u;
|
|
/* 02C58ABC */ rbrew_write32(cpu->mem, _t198, cpu->r[7]);
|
|
/* 02C58AC0 */ goto L_02C592BC;
|
|
L_02C58AC4: ; // 0x2c58ac4
|
|
/* 02C58AC4 */ _ft199 = sqrt(cpu->f[10]);
|
|
/* 02C58AC4 */ _ft200 = (double)(int32_t)0x00000001u;
|
|
/* 02C58AC4 */ cpu->f[6] = _ft200 / _ft199;
|
|
/* 02C58AC8 */ cpu->f[9] = cpu->f[20] * cpu->f[10];
|
|
/* 02C58ACC */ cpu->f[8] = (double)(float)cpu->f[6];
|
|
/* 02C58AD0 */ cpu->f[11] = cpu->f[9] * cpu->f[8];
|
|
/* 02C58AD4 */ cpu->f[12] = -fma(cpu->f[11], cpu->f[8], -(cpu->f[21]));
|
|
/* 02C58AD8 */ cpu->f[8] = cpu->f[8] * cpu->f[12];
|
|
/* 02C58ADC */ cpu->f[12] = cpu->f[10] * cpu->f[8];
|
|
/* 02C58AE0 */ cpu->f[8] = cpu->f[12] * cpu->f[19];
|
|
/* 02C58AE4 */ _ft201 = (double)(int32_t)0x00000001u;
|
|
/* 02C58AE4 */ cpu->f[10] = _ft201 / cpu->f[8];
|
|
/* 02C58AE8 */ cpu->f[7] = cpu->f[0] - cpu->f[2];
|
|
/* 02C58AEC */ cpu->f[13] = cpu->f[10] + cpu->f[10];
|
|
/* 02C58AF0 */ cpu->f[6] = cpu->f[8] * cpu->f[10];
|
|
/* 02C58AF4 */ cpu->f[9] = cpu->f[4] + cpu->f[3];
|
|
/* 02C58AF8 */ cpu->f[6] = -fma(cpu->f[6], cpu->f[10], -(cpu->f[13]));
|
|
/* 02C58AFC */ cpu->f[11] = cpu->f[1] + cpu->f[30];
|
|
/* 02C58B00 */ cpu->f[8] = cpu->f[7] * cpu->f[6];
|
|
/* 02C58B04 */ cpu->f[10] = cpu->f[9] * cpu->f[6];
|
|
/* 02C58B08 */ _t202 = cpu->r[24] + 0x00000028u;
|
|
/* 02C58B08 */ rbrew_write_f32(cpu->mem, _t202, cpu->f[12]);
|
|
/* 02C58B0C */ _t203 = cpu->r[24] + 0x0000002Cu;
|
|
/* 02C58B0C */ rbrew_write_f32(cpu->mem, _t203, cpu->f[8]);
|
|
/* 02C58B10 */ cpu->f[12] = cpu->f[11] * cpu->f[6];
|
|
/* 02C58B14 */ _t204 = cpu->r[24] + 0x00000020u;
|
|
/* 02C58B14 */ rbrew_write_f32(cpu->mem, _t204, cpu->f[10]);
|
|
/* 02C58B18 */ _t205 = cpu->r[24] + 0x00000024u;
|
|
/* 02C58B18 */ rbrew_write_f32(cpu->mem, _t205, cpu->f[12]);
|
|
/* 02C58B1C */ /* nop */
|
|
/* 02C58B20 */ /* nop */
|
|
/* 02C58B24 */ /* nop */
|
|
/* 02C58B28 */ /* nop */
|
|
/* 02C58B2C */ /* nop */
|
|
/* 02C58B30 */ /* nop */
|
|
/* 02C58B34 */ _t206 = cpu->r[24] + 0x0000001Cu;
|
|
/* 02C58B34 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t206);
|
|
/* 02C58B38 */ /* nop */
|
|
/* 02C58B3C */ /* nop */
|
|
/* 02C58B40 */ /* nop */
|
|
/* 02C58B44 */ /* nop */
|
|
/* 02C58B48 */ cpu->f[13] = cpu->f[13] + cpu->f[14];
|
|
/* 02C58B4C */ _t207 = cpu->r[24] + 0x00000000u;
|
|
/* 02C58B4C */ cpu->r[7] = rbrew_read32(cpu->mem, _t207);
|
|
/* 02C58B50 */ /* nop */
|
|
/* 02C58B54 */ /* nop */
|
|
/* 02C58B58 */ _t208 = cpu->r[31] + 0x00000000u;
|
|
/* 02C58B58 */ cpu->r[0] = rbrew_read32(cpu->mem, _t208);
|
|
/* 02C58B5C */ _t209 = cpu->r[24] + 0x0000001Cu;
|
|
/* 02C58B5C */ rbrew_write_f32(cpu->mem, _t209, cpu->f[13]);
|
|
/* 02C58B60 */ _t210 = ~cpu->r[0];
|
|
/* 02C58B60 */ cpu->r[7] = cpu->r[7] | _t210;
|
|
/* 02C58B64 */ _t211 = cpu->r[24] + 0x00000000u;
|
|
/* 02C58B64 */ rbrew_write32(cpu->mem, _t211, cpu->r[7]);
|
|
/* 02C58B68 */ goto L_02C592BC;
|
|
L_02C58B6C: ; // 0x2c58b6c
|
|
/* 02C58B6C */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[12], cpu->f[18]);
|
|
/* 02C58B70 */ _t212 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C58B70 */ _t213 = _t212 & 0x00000001u;
|
|
/* 02C58B70 */ if (_t213) goto L_02C58CE4; else goto L_02C58B74;
|
|
L_02C58B74: ; // 0x2c58b74
|
|
/* 02C58B74 */ cpu->f[7] = fma(cpu->f[12], cpu->f[17], cpu->f[17]);
|
|
/* 02C58B78 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[7], cpu->f[18]);
|
|
/* 02C58B7C */ _t214 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C58B7C */ _t215 = _t214 & 0x00000001u;
|
|
/* 02C58B7C */ if (_t215) goto L_02C58B80; else goto L_02C58C38;
|
|
L_02C58B80: ; // 0x2c58b80
|
|
/* 02C58B80 */ cpu->f[13] = cpu->f[18] * cpu->f[19];
|
|
/* 02C58B84 */ _ft216 = (double)(int32_t)0x00000001u;
|
|
/* 02C58B84 */ cpu->f[6] = _ft216 / cpu->f[13];
|
|
/* 02C58B88 */ cpu->f[8] = cpu->f[0] - cpu->f[2];
|
|
/* 02C58B8C */ cpu->f[11] = cpu->f[6] + cpu->f[6];
|
|
/* 02C58B90 */ cpu->f[12] = cpu->f[13] * cpu->f[6];
|
|
/* 02C58B94 */ cpu->f[13] = cpu->f[1] - cpu->f[30];
|
|
/* 02C58B98 */ cpu->f[9] = -fma(cpu->f[12], cpu->f[6], -(cpu->f[11]));
|
|
/* 02C58B9C */ cpu->f[6] = cpu->f[3] - cpu->f[4];
|
|
/* 02C58BA0 */ cpu->f[0] = cpu->f[13] * cpu->f[9];
|
|
/* 02C58BA4 */ _t217 = cpu->r[1] + 0x00000024u;
|
|
/* 02C58BA4 */ rbrew_write_f32(cpu->mem, _t217, cpu->f[18]);
|
|
/* 02C58BA8 */ cpu->f[7] = cpu->f[6] * cpu->f[9];
|
|
/* 02C58BAC */ _t218 = cpu->r[1] + 0x00000018u;
|
|
/* 02C58BAC */ rbrew_write_f32(cpu->mem, _t218, cpu->f[0]);
|
|
/* 02C58BB0 */ cpu->f[9] = cpu->f[8] * cpu->f[9];
|
|
/* 02C58BB4 */ _t219 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C58BB4 */ rbrew_write_f32(cpu->mem, _t219, cpu->f[7]);
|
|
/* 02C58BB8 */ /* nop */
|
|
/* 02C58BBC */ cpu->f[13] = cpu->f[5] + cpu->f[14];
|
|
/* 02C58BC0 */ _ft220 = (double)(int32_t)0x00000001u;
|
|
/* 02C58BC0 */ cpu->f[4] = _ft220 / cpu->f[13];
|
|
/* 02C58BC4 */ _t221 = cpu->r[1] + 0x00000020u;
|
|
/* 02C58BC4 */ rbrew_write_f32(cpu->mem, _t221, cpu->f[9]);
|
|
/* 02C58BC8 */ /* nop */
|
|
/* 02C58BCC */ /* nop */
|
|
/* 02C58BD0 */ cpu->f[6] = cpu->f[13] * cpu->f[4];
|
|
/* 02C58BD4 */ /* nop */
|
|
/* 02C58BD8 */ /* nop */
|
|
/* 02C58BDC */ /* nop */
|
|
/* 02C58BE0 */ /* nop */
|
|
/* 02C58BE4 */ /* nop */
|
|
/* 02C58BE8 */ cpu->f[13] = cpu->f[11];
|
|
/* 02C58BEC */ cpu->f[0] = fabs(cpu->f[11]);
|
|
/* 02C58BF0 */ cpu->f[11] = cpu->f[4] + cpu->f[4];
|
|
/* 02C58BF4 */ /* nop */
|
|
/* 02C58BF8 */ cpu->f[7] = -fma(cpu->f[6], cpu->f[4], -(cpu->f[11]));
|
|
/* 02C58BFC */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[0], cpu->f[27]);
|
|
/* 02C58C00 */ cpu->f[16] = (double)(float)cpu->f[12];
|
|
/* 02C58C04 */ cpu->f[15] = cpu->f[14] * cpu->f[7];
|
|
/* 02C58C08 */ _t222 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C58C08 */ _t223 = _t222 & 0x00000001u;
|
|
/* 02C58C08 */ if (_t223) goto L_02C58C0C; else goto L_02C59090;
|
|
L_02C58C0C: ; // 0x2c58c0c
|
|
/* 02C58C0C */ cpu->f[16] = cpu->f[16] * cpu->f[15];
|
|
/* 02C58C10 */ cpu->f[13] = cpu->f[26] - cpu->f[15];
|
|
/* 02C58C14 */ /* nop */
|
|
/* 02C58C18 */ /* nop */
|
|
/* 02C58C1C */ /* nop */
|
|
/* 02C58C20 */ /* nop */
|
|
/* 02C58C24 */ /* nop */
|
|
/* 02C58C28 */ /* nop */
|
|
/* 02C58C2C */ /* nop */
|
|
/* 02C58C30 */ /* nop */
|
|
/* 02C58C34 */ goto L_02C59270;
|
|
L_02C58C38: ; // 0x2c58c38
|
|
/* 02C58C38 */ _ft224 = sqrt(cpu->f[7]);
|
|
/* 02C58C38 */ _ft225 = (double)(int32_t)0x00000001u;
|
|
/* 02C58C38 */ cpu->f[13] = _ft225 / _ft224;
|
|
/* 02C58C3C */ cpu->f[8] = cpu->f[20] * cpu->f[7];
|
|
/* 02C58C40 */ cpu->f[11] = (double)(float)cpu->f[13];
|
|
/* 02C58C44 */ cpu->f[9] = cpu->f[8] * cpu->f[11];
|
|
/* 02C58C48 */ cpu->f[10] = -fma(cpu->f[9], cpu->f[11], -(cpu->f[21]));
|
|
/* 02C58C4C */ cpu->f[11] = cpu->f[11] * cpu->f[10];
|
|
/* 02C58C50 */ cpu->f[10] = cpu->f[7] * cpu->f[11];
|
|
/* 02C58C54 */ cpu->f[13] = cpu->f[10] * cpu->f[19];
|
|
/* 02C58C58 */ _ft226 = (double)(int32_t)0x00000001u;
|
|
/* 02C58C58 */ cpu->f[6] = _ft226 / cpu->f[13];
|
|
/* 02C58C5C */ cpu->f[8] = cpu->f[0] - cpu->f[2];
|
|
/* 02C58C60 */ cpu->f[11] = cpu->f[6] + cpu->f[6];
|
|
/* 02C58C64 */ cpu->f[12] = cpu->f[13] * cpu->f[6];
|
|
/* 02C58C68 */ cpu->f[13] = cpu->f[1] - cpu->f[30];
|
|
/* 02C58C6C */ cpu->f[9] = -fma(cpu->f[12], cpu->f[6], -(cpu->f[11]));
|
|
/* 02C58C70 */ cpu->f[6] = cpu->f[3] - cpu->f[4];
|
|
/* 02C58C74 */ cpu->f[0] = cpu->f[13] * cpu->f[9];
|
|
/* 02C58C78 */ cpu->f[7] = cpu->f[6] * cpu->f[9];
|
|
/* 02C58C7C */ _t227 = cpu->r[1] + 0x00000018u;
|
|
/* 02C58C7C */ rbrew_write_f32(cpu->mem, _t227, cpu->f[0]);
|
|
/* 02C58C80 */ cpu->f[9] = cpu->f[8] * cpu->f[9];
|
|
/* 02C58C84 */ _t228 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C58C84 */ rbrew_write_f32(cpu->mem, _t228, cpu->f[7]);
|
|
/* 02C58C88 */ /* nop */
|
|
/* 02C58C8C */ cpu->f[13] = cpu->f[5] + cpu->f[14];
|
|
/* 02C58C90 */ _t229 = cpu->r[1] + 0x00000024u;
|
|
/* 02C58C90 */ rbrew_write_f32(cpu->mem, _t229, cpu->f[10]);
|
|
/* 02C58C94 */ _t230 = cpu->r[1] + 0x00000020u;
|
|
/* 02C58C94 */ rbrew_write_f32(cpu->mem, _t230, cpu->f[9]);
|
|
/* 02C58C98 */ /* nop */
|
|
/* 02C58C9C */ _ft231 = (double)(int32_t)0x00000001u;
|
|
/* 02C58C9C */ cpu->f[4] = _ft231 / cpu->f[13];
|
|
/* 02C58CA0 */ /* nop */
|
|
/* 02C58CA4 */ /* nop */
|
|
/* 02C58CA8 */ cpu->f[6] = cpu->f[13] * cpu->f[4];
|
|
/* 02C58CAC */ /* nop */
|
|
/* 02C58CB0 */ /* nop */
|
|
/* 02C58CB4 */ /* nop */
|
|
/* 02C58CB8 */ /* nop */
|
|
/* 02C58CBC */ cpu->f[13] = cpu->f[11];
|
|
/* 02C58CC0 */ cpu->f[0] = fabs(cpu->f[11]);
|
|
/* 02C58CC4 */ cpu->f[11] = cpu->f[4] + cpu->f[4];
|
|
/* 02C58CC8 */ /* nop */
|
|
/* 02C58CCC */ cpu->f[7] = -fma(cpu->f[6], cpu->f[4], -(cpu->f[11]));
|
|
/* 02C58CD0 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[0], cpu->f[27]);
|
|
/* 02C58CD4 */ cpu->f[16] = (double)(float)cpu->f[12];
|
|
/* 02C58CD8 */ cpu->f[15] = cpu->f[14] * cpu->f[7];
|
|
/* 02C58CDC */ _t232 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C58CDC */ _t233 = _t232 & 0x00000001u;
|
|
/* 02C58CDC */ if (_t233) goto L_02C58C0C; else goto L_02C58CE0;
|
|
L_02C58CE0: ; // 0x2c58ce0
|
|
/* 02C58CE0 */ goto L_02C59090;
|
|
L_02C58CE4: ; // 0x2c58ce4
|
|
/* 02C58CE4 */ cpu->f[10] = cpu->f[13] + cpu->f[13];
|
|
/* 02C58CE8 */ cpu->f[10] = cpu->f[10] - cpu->f[12];
|
|
/* 02C58CEC */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[10], cpu->f[18]);
|
|
/* 02C58CF0 */ _t234 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C58CF0 */ _t235 = _t234 & 0x00000001u;
|
|
/* 02C58CF0 */ if (_t235) goto L_02C58E3C; else goto L_02C58CF4;
|
|
L_02C58CF4: ; // 0x2c58cf4
|
|
/* 02C58CF4 */ cpu->f[13] = fma(cpu->f[10], cpu->f[17], cpu->f[17]);
|
|
/* 02C58CF8 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[13], cpu->f[18]);
|
|
/* 02C58CFC */ _t236 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C58CFC */ _t237 = _t236 & 0x00000001u;
|
|
/* 02C58CFC */ if (_t237) goto L_02C58D00; else goto L_02C58D90;
|
|
L_02C58D00: ; // 0x2c58d00
|
|
/* 02C58D00 */ cpu->f[13] = cpu->f[18] * cpu->f[19];
|
|
/* 02C58D04 */ _ft238 = (double)(int32_t)0x00000001u;
|
|
/* 02C58D04 */ cpu->f[8] = _ft238 / cpu->f[13];
|
|
/* 02C58D08 */ cpu->f[12] = cpu->f[1] - cpu->f[30];
|
|
/* 02C58D0C */ cpu->f[10] = cpu->f[8] + cpu->f[8];
|
|
/* 02C58D10 */ cpu->f[11] = cpu->f[13] * cpu->f[8];
|
|
/* 02C58D14 */ cpu->f[0] = cpu->f[2] + cpu->f[0];
|
|
/* 02C58D18 */ cpu->f[11] = -fma(cpu->f[11], cpu->f[8], -(cpu->f[10]));
|
|
/* 02C58D1C */ cpu->f[7] = cpu->f[3] + cpu->f[4];
|
|
/* 02C58D20 */ cpu->f[6] = cpu->f[0] * cpu->f[11];
|
|
/* 02C58D24 */ _t239 = cpu->r[1] + 0x00000018u;
|
|
/* 02C58D24 */ rbrew_write_f32(cpu->mem, _t239, cpu->f[18]);
|
|
/* 02C58D28 */ cpu->f[8] = cpu->f[7] * cpu->f[11];
|
|
/* 02C58D2C */ _t240 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C58D2C */ rbrew_write_f32(cpu->mem, _t240, cpu->f[6]);
|
|
/* 02C58D30 */ /* nop */
|
|
/* 02C58D34 */ cpu->f[13] = cpu->f[12] * cpu->f[11];
|
|
/* 02C58D38 */ _t241 = cpu->r[1] + 0x00000020u;
|
|
/* 02C58D38 */ rbrew_write_f32(cpu->mem, _t241, cpu->f[8]);
|
|
/* 02C58D3C */ _t242 = cpu->r[1] + 0x00000024u;
|
|
/* 02C58D3C */ rbrew_write_f32(cpu->mem, _t242, cpu->f[13]);
|
|
/* 02C58D40 */ cpu->f[13] = cpu->f[5] + cpu->f[14];
|
|
/* 02C58D44 */ /* nop */
|
|
/* 02C58D48 */ /* nop */
|
|
/* 02C58D4C */ _ft243 = (double)(int32_t)0x00000001u;
|
|
/* 02C58D4C */ cpu->f[4] = _ft243 / cpu->f[13];
|
|
/* 02C58D50 */ /* nop */
|
|
/* 02C58D54 */ /* nop */
|
|
/* 02C58D58 */ /* nop */
|
|
/* 02C58D5C */ cpu->f[6] = cpu->f[13] * cpu->f[4];
|
|
/* 02C58D60 */ /* nop */
|
|
/* 02C58D64 */ /* nop */
|
|
/* 02C58D68 */ cpu->f[13] = cpu->f[11];
|
|
/* 02C58D6C */ cpu->f[0] = fabs(cpu->f[11]);
|
|
/* 02C58D70 */ cpu->f[11] = cpu->f[4] + cpu->f[4];
|
|
/* 02C58D74 */ /* nop */
|
|
/* 02C58D78 */ cpu->f[7] = -fma(cpu->f[6], cpu->f[4], -(cpu->f[11]));
|
|
/* 02C58D7C */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[0], cpu->f[27]);
|
|
/* 02C58D80 */ cpu->f[16] = (double)(float)cpu->f[12];
|
|
/* 02C58D84 */ cpu->f[15] = cpu->f[14] * cpu->f[7];
|
|
/* 02C58D88 */ _t244 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C58D88 */ _t245 = _t244 & 0x00000001u;
|
|
/* 02C58D88 */ if (_t245) goto L_02C58C0C; else goto L_02C58D8C;
|
|
L_02C58D8C: ; // 0x2c58d8c
|
|
/* 02C58D8C */ goto L_02C59090;
|
|
L_02C58D90: ; // 0x2c58d90
|
|
/* 02C58D90 */ _ft246 = sqrt(cpu->f[13]);
|
|
/* 02C58D90 */ _ft247 = (double)(int32_t)0x00000001u;
|
|
/* 02C58D90 */ cpu->f[12] = _ft247 / _ft246;
|
|
/* 02C58D94 */ cpu->f[7] = cpu->f[20] * cpu->f[13];
|
|
/* 02C58D98 */ cpu->f[12] = (double)(float)cpu->f[12];
|
|
/* 02C58D9C */ cpu->f[8] = cpu->f[7] * cpu->f[12];
|
|
/* 02C58DA0 */ cpu->f[9] = -fma(cpu->f[8], cpu->f[12], -(cpu->f[21]));
|
|
/* 02C58DA4 */ cpu->f[12] = cpu->f[12] * cpu->f[9];
|
|
/* 02C58DA8 */ cpu->f[9] = cpu->f[13] * cpu->f[12];
|
|
/* 02C58DAC */ cpu->f[13] = cpu->f[9] * cpu->f[19];
|
|
/* 02C58DB0 */ _ft248 = (double)(int32_t)0x00000001u;
|
|
/* 02C58DB0 */ cpu->f[8] = _ft248 / cpu->f[13];
|
|
/* 02C58DB4 */ cpu->f[0] = cpu->f[2] + cpu->f[0];
|
|
/* 02C58DB8 */ cpu->f[10] = cpu->f[8] + cpu->f[8];
|
|
/* 02C58DBC */ cpu->f[11] = cpu->f[13] * cpu->f[8];
|
|
/* 02C58DC0 */ cpu->f[12] = cpu->f[1] - cpu->f[30];
|
|
/* 02C58DC4 */ cpu->f[11] = -fma(cpu->f[11], cpu->f[8], -(cpu->f[10]));
|
|
/* 02C58DC8 */ cpu->f[7] = cpu->f[3] + cpu->f[4];
|
|
/* 02C58DCC */ cpu->f[13] = cpu->f[12] * cpu->f[11];
|
|
/* 02C58DD0 */ cpu->f[8] = cpu->f[7] * cpu->f[11];
|
|
/* 02C58DD4 */ _t249 = cpu->r[1] + 0x00000024u;
|
|
/* 02C58DD4 */ rbrew_write_f32(cpu->mem, _t249, cpu->f[13]);
|
|
/* 02C58DD8 */ cpu->f[6] = cpu->f[0] * cpu->f[11];
|
|
/* 02C58DDC */ _t250 = cpu->r[1] + 0x00000020u;
|
|
/* 02C58DDC */ rbrew_write_f32(cpu->mem, _t250, cpu->f[8]);
|
|
/* 02C58DE0 */ /* nop */
|
|
/* 02C58DE4 */ cpu->f[13] = cpu->f[5] + cpu->f[14];
|
|
/* 02C58DE8 */ _t251 = cpu->r[1] + 0x00000018u;
|
|
/* 02C58DE8 */ rbrew_write_f32(cpu->mem, _t251, cpu->f[9]);
|
|
/* 02C58DEC */ _t252 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C58DEC */ rbrew_write_f32(cpu->mem, _t252, cpu->f[6]);
|
|
/* 02C58DF0 */ /* nop */
|
|
/* 02C58DF4 */ _ft253 = (double)(int32_t)0x00000001u;
|
|
/* 02C58DF4 */ cpu->f[4] = _ft253 / cpu->f[13];
|
|
/* 02C58DF8 */ /* nop */
|
|
/* 02C58DFC */ /* nop */
|
|
/* 02C58E00 */ cpu->f[6] = cpu->f[13] * cpu->f[4];
|
|
/* 02C58E04 */ /* nop */
|
|
/* 02C58E08 */ /* nop */
|
|
/* 02C58E0C */ /* nop */
|
|
/* 02C58E10 */ /* nop */
|
|
/* 02C58E14 */ cpu->f[13] = cpu->f[11];
|
|
/* 02C58E18 */ cpu->f[0] = fabs(cpu->f[11]);
|
|
/* 02C58E1C */ cpu->f[11] = cpu->f[4] + cpu->f[4];
|
|
/* 02C58E20 */ /* nop */
|
|
/* 02C58E24 */ cpu->f[7] = -fma(cpu->f[6], cpu->f[4], -(cpu->f[11]));
|
|
/* 02C58E28 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[0], cpu->f[27]);
|
|
/* 02C58E2C */ cpu->f[16] = (double)(float)cpu->f[12];
|
|
/* 02C58E30 */ cpu->f[15] = cpu->f[14] * cpu->f[7];
|
|
/* 02C58E34 */ _t254 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C58E34 */ _t255 = _t254 & 0x00000001u;
|
|
/* 02C58E34 */ if (_t255) goto L_02C58C0C; else goto L_02C58E38;
|
|
L_02C58E38: ; // 0x2c58e38
|
|
/* 02C58E38 */ goto L_02C59090;
|
|
L_02C58E3C: ; // 0x2c58e3c
|
|
/* 02C58E3C */ cpu->f[9] = cpu->f[9] + cpu->f[9];
|
|
/* 02C58E40 */ cpu->f[10] = cpu->f[9] - cpu->f[12];
|
|
/* 02C58E44 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[10], cpu->f[18]);
|
|
/* 02C58E48 */ _t256 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C58E48 */ _t257 = _t256 & 0x00000001u;
|
|
/* 02C58E48 */ if (_t257) goto L_02C58F94; else goto L_02C58E4C;
|
|
L_02C58E4C: ; // 0x2c58e4c
|
|
/* 02C58E4C */ cpu->f[13] = fma(cpu->f[10], cpu->f[17], cpu->f[17]);
|
|
/* 02C58E50 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[13], cpu->f[18]);
|
|
/* 02C58E54 */ _t258 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C58E54 */ _t259 = _t258 & 0x00000001u;
|
|
/* 02C58E54 */ if (_t259) goto L_02C58E58; else goto L_02C58EE8;
|
|
L_02C58E58: ; // 0x2c58e58
|
|
/* 02C58E58 */ cpu->f[6] = cpu->f[18] * cpu->f[19];
|
|
/* 02C58E5C */ _ft260 = (double)(int32_t)0x00000001u;
|
|
/* 02C58E5C */ cpu->f[9] = _ft260 / cpu->f[6];
|
|
/* 02C58E60 */ cpu->f[12] = cpu->f[3] - cpu->f[4];
|
|
/* 02C58E64 */ cpu->f[10] = cpu->f[9] + cpu->f[9];
|
|
/* 02C58E68 */ cpu->f[11] = cpu->f[6] * cpu->f[9];
|
|
/* 02C58E6C */ cpu->f[13] = cpu->f[0] + cpu->f[2];
|
|
/* 02C58E70 */ cpu->f[6] = -fma(cpu->f[11], cpu->f[9], -(cpu->f[10]));
|
|
/* 02C58E74 */ cpu->f[11] = cpu->f[30] + cpu->f[1];
|
|
/* 02C58E78 */ cpu->f[0] = cpu->f[13] * cpu->f[6];
|
|
/* 02C58E7C */ _t261 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C58E7C */ rbrew_write_f32(cpu->mem, _t261, cpu->f[18]);
|
|
/* 02C58E80 */ _t262 = cpu->r[1] + 0x00000018u;
|
|
/* 02C58E80 */ rbrew_write_f32(cpu->mem, _t262, cpu->f[0]);
|
|
/* 02C58E84 */ cpu->f[10] = cpu->f[12] * cpu->f[6];
|
|
/* 02C58E88 */ /* nop */
|
|
/* 02C58E8C */ cpu->f[12] = cpu->f[11] * cpu->f[6];
|
|
/* 02C58E90 */ _t263 = cpu->r[1] + 0x00000024u;
|
|
/* 02C58E90 */ rbrew_write_f32(cpu->mem, _t263, cpu->f[10]);
|
|
/* 02C58E94 */ cpu->f[13] = cpu->f[5] + cpu->f[14];
|
|
/* 02C58E98 */ _ft264 = (double)(int32_t)0x00000001u;
|
|
/* 02C58E98 */ cpu->f[4] = _ft264 / cpu->f[13];
|
|
/* 02C58E9C */ _t265 = cpu->r[1] + 0x00000020u;
|
|
/* 02C58E9C */ rbrew_write_f32(cpu->mem, _t265, cpu->f[12]);
|
|
/* 02C58EA0 */ /* nop */
|
|
/* 02C58EA4 */ /* nop */
|
|
/* 02C58EA8 */ cpu->f[6] = cpu->f[13] * cpu->f[4];
|
|
/* 02C58EAC */ /* nop */
|
|
/* 02C58EB0 */ /* nop */
|
|
/* 02C58EB4 */ /* nop */
|
|
/* 02C58EB8 */ /* nop */
|
|
/* 02C58EBC */ /* nop */
|
|
/* 02C58EC0 */ cpu->f[13] = cpu->f[11];
|
|
/* 02C58EC4 */ cpu->f[0] = fabs(cpu->f[11]);
|
|
/* 02C58EC8 */ cpu->f[11] = cpu->f[4] + cpu->f[4];
|
|
/* 02C58ECC */ /* nop */
|
|
/* 02C58ED0 */ cpu->f[7] = -fma(cpu->f[6], cpu->f[4], -(cpu->f[11]));
|
|
/* 02C58ED4 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[0], cpu->f[27]);
|
|
/* 02C58ED8 */ cpu->f[16] = (double)(float)cpu->f[12];
|
|
/* 02C58EDC */ cpu->f[15] = cpu->f[14] * cpu->f[7];
|
|
/* 02C58EE0 */ _t266 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C58EE0 */ _t267 = _t266 & 0x00000001u;
|
|
/* 02C58EE0 */ if (_t267) goto L_02C58C0C; else goto L_02C58EE4;
|
|
L_02C58EE4: ; // 0x2c58ee4
|
|
/* 02C58EE4 */ goto L_02C59090;
|
|
L_02C58EE8: ; // 0x2c58ee8
|
|
/* 02C58EE8 */ _ft268 = sqrt(cpu->f[13]);
|
|
/* 02C58EE8 */ _ft269 = (double)(int32_t)0x00000001u;
|
|
/* 02C58EE8 */ cpu->f[11] = _ft269 / _ft268;
|
|
/* 02C58EEC */ cpu->f[12] = cpu->f[20] * cpu->f[13];
|
|
/* 02C58EF0 */ cpu->f[10] = (double)(float)cpu->f[11];
|
|
/* 02C58EF4 */ cpu->f[6] = cpu->f[12] * cpu->f[10];
|
|
/* 02C58EF8 */ cpu->f[9] = -fma(cpu->f[6], cpu->f[10], -(cpu->f[21]));
|
|
/* 02C58EFC */ cpu->f[10] = cpu->f[10] * cpu->f[9];
|
|
/* 02C58F00 */ cpu->f[7] = cpu->f[13] * cpu->f[10];
|
|
/* 02C58F04 */ cpu->f[6] = cpu->f[7] * cpu->f[19];
|
|
/* 02C58F08 */ _ft270 = (double)(int32_t)0x00000001u;
|
|
/* 02C58F08 */ cpu->f[9] = _ft270 / cpu->f[6];
|
|
/* 02C58F0C */ cpu->f[12] = cpu->f[3] - cpu->f[4];
|
|
/* 02C58F10 */ cpu->f[10] = cpu->f[9] + cpu->f[9];
|
|
/* 02C58F14 */ cpu->f[11] = cpu->f[6] * cpu->f[9];
|
|
/* 02C58F18 */ cpu->f[13] = cpu->f[0] + cpu->f[2];
|
|
/* 02C58F1C */ cpu->f[6] = -fma(cpu->f[11], cpu->f[9], -(cpu->f[10]));
|
|
/* 02C58F20 */ cpu->f[11] = cpu->f[30] + cpu->f[1];
|
|
/* 02C58F24 */ cpu->f[10] = cpu->f[12] * cpu->f[6];
|
|
/* 02C58F28 */ cpu->f[0] = cpu->f[13] * cpu->f[6];
|
|
/* 02C58F2C */ _t271 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C58F2C */ rbrew_write_f32(cpu->mem, _t271, cpu->f[7]);
|
|
/* 02C58F30 */ cpu->f[12] = cpu->f[11] * cpu->f[6];
|
|
/* 02C58F34 */ _t272 = cpu->r[1] + 0x00000018u;
|
|
/* 02C58F34 */ rbrew_write_f32(cpu->mem, _t272, cpu->f[0]);
|
|
/* 02C58F38 */ /* nop */
|
|
/* 02C58F3C */ cpu->f[13] = cpu->f[5] + cpu->f[14];
|
|
/* 02C58F40 */ _t273 = cpu->r[1] + 0x00000024u;
|
|
/* 02C58F40 */ rbrew_write_f32(cpu->mem, _t273, cpu->f[10]);
|
|
/* 02C58F44 */ _t274 = cpu->r[1] + 0x00000020u;
|
|
/* 02C58F44 */ rbrew_write_f32(cpu->mem, _t274, cpu->f[12]);
|
|
/* 02C58F48 */ /* nop */
|
|
/* 02C58F4C */ _ft275 = (double)(int32_t)0x00000001u;
|
|
/* 02C58F4C */ cpu->f[4] = _ft275 / cpu->f[13];
|
|
/* 02C58F50 */ /* nop */
|
|
/* 02C58F54 */ /* nop */
|
|
/* 02C58F58 */ cpu->f[6] = cpu->f[13] * cpu->f[4];
|
|
/* 02C58F5C */ /* nop */
|
|
/* 02C58F60 */ /* nop */
|
|
/* 02C58F64 */ /* nop */
|
|
/* 02C58F68 */ /* nop */
|
|
/* 02C58F6C */ cpu->f[13] = cpu->f[11];
|
|
/* 02C58F70 */ cpu->f[0] = fabs(cpu->f[11]);
|
|
/* 02C58F74 */ cpu->f[11] = cpu->f[4] + cpu->f[4];
|
|
/* 02C58F78 */ /* nop */
|
|
/* 02C58F7C */ cpu->f[7] = -fma(cpu->f[6], cpu->f[4], -(cpu->f[11]));
|
|
/* 02C58F80 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[0], cpu->f[27]);
|
|
/* 02C58F84 */ cpu->f[16] = (double)(float)cpu->f[12];
|
|
/* 02C58F88 */ cpu->f[15] = cpu->f[14] * cpu->f[7];
|
|
/* 02C58F8C */ _t276 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C58F8C */ _t277 = _t276 & 0x00000001u;
|
|
/* 02C58F8C */ if (_t277) goto L_02C58C0C; else goto L_02C58F90;
|
|
L_02C58F90: ; // 0x2c58f90
|
|
/* 02C58F90 */ goto L_02C59090;
|
|
L_02C58F94: ; // 0x2c58f94
|
|
/* 02C58F94 */ cpu->f[6] = cpu->f[11] + cpu->f[11];
|
|
/* 02C58F98 */ cpu->f[10] = cpu->f[6] - cpu->f[12];
|
|
/* 02C58F9C */ cpu->f[13] = fma(cpu->f[10], cpu->f[17], cpu->f[17]);
|
|
/* 02C58FA0 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[13], cpu->f[18]);
|
|
/* 02C58FA4 */ _t278 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C58FA4 */ _t279 = _t278 & 0x00000001u;
|
|
/* 02C58FA4 */ if (_t279) goto L_02C58FA8; else goto L_02C58FE8;
|
|
L_02C58FA8: ; // 0x2c58fa8
|
|
/* 02C58FA8 */ cpu->f[13] = cpu->f[18] * cpu->f[19];
|
|
/* 02C58FAC */ _ft280 = (double)(int32_t)0x00000001u;
|
|
/* 02C58FAC */ cpu->f[6] = _ft280 / cpu->f[13];
|
|
/* 02C58FB0 */ cpu->f[9] = cpu->f[1] + cpu->f[30];
|
|
/* 02C58FB4 */ cpu->f[12] = cpu->f[6] + cpu->f[6];
|
|
/* 02C58FB8 */ cpu->f[13] = cpu->f[13] * cpu->f[6];
|
|
/* 02C58FBC */ cpu->f[0] = cpu->f[0] - cpu->f[2];
|
|
/* 02C58FC0 */ cpu->f[10] = -fma(cpu->f[13], cpu->f[6], -(cpu->f[12]));
|
|
/* 02C58FC4 */ cpu->f[7] = cpu->f[4] + cpu->f[3];
|
|
/* 02C58FC8 */ cpu->f[6] = cpu->f[0] * cpu->f[10];
|
|
/* 02C58FCC */ _t281 = cpu->r[1] + 0x00000020u;
|
|
/* 02C58FCC */ rbrew_write_f32(cpu->mem, _t281, cpu->f[18]);
|
|
/* 02C58FD0 */ cpu->f[8] = cpu->f[7] * cpu->f[10];
|
|
/* 02C58FD4 */ _t282 = cpu->r[1] + 0x00000024u;
|
|
/* 02C58FD4 */ rbrew_write_f32(cpu->mem, _t282, cpu->f[6]);
|
|
/* 02C58FD8 */ cpu->f[10] = cpu->f[9] * cpu->f[10];
|
|
/* 02C58FDC */ _t283 = cpu->r[1] + 0x00000018u;
|
|
/* 02C58FDC */ rbrew_write_f32(cpu->mem, _t283, cpu->f[8]);
|
|
/* 02C58FE0 */ _t284 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C58FE0 */ rbrew_write_f32(cpu->mem, _t284, cpu->f[10]);
|
|
/* 02C58FE4 */ goto L_02C59040;
|
|
L_02C58FE8: ; // 0x2c58fe8
|
|
/* 02C58FE8 */ _ft285 = sqrt(cpu->f[13]);
|
|
/* 02C58FE8 */ _ft286 = (double)(int32_t)0x00000001u;
|
|
/* 02C58FE8 */ cpu->f[7] = _ft286 / _ft285;
|
|
/* 02C58FEC */ cpu->f[9] = cpu->f[20] * cpu->f[13];
|
|
/* 02C58FF0 */ cpu->f[8] = (double)(float)cpu->f[7];
|
|
/* 02C58FF4 */ cpu->f[10] = cpu->f[9] * cpu->f[8];
|
|
/* 02C58FF8 */ cpu->f[11] = -fma(cpu->f[10], cpu->f[8], -(cpu->f[21]));
|
|
/* 02C58FFC */ cpu->f[7] = cpu->f[4] + cpu->f[3];
|
|
/* 02C59000 */ cpu->f[8] = cpu->f[8] * cpu->f[11];
|
|
/* 02C59004 */ cpu->f[11] = cpu->f[13] * cpu->f[8];
|
|
/* 02C59008 */ cpu->f[13] = cpu->f[11] * cpu->f[19];
|
|
/* 02C5900C */ _ft287 = (double)(int32_t)0x00000001u;
|
|
/* 02C5900C */ cpu->f[6] = _ft287 / cpu->f[13];
|
|
/* 02C59010 */ cpu->f[0] = cpu->f[0] - cpu->f[2];
|
|
/* 02C59014 */ cpu->f[12] = cpu->f[6] + cpu->f[6];
|
|
/* 02C59018 */ cpu->f[13] = cpu->f[13] * cpu->f[6];
|
|
/* 02C5901C */ cpu->f[10] = -fma(cpu->f[13], cpu->f[6], -(cpu->f[12]));
|
|
/* 02C59020 */ cpu->f[9] = cpu->f[1] + cpu->f[30];
|
|
/* 02C59024 */ cpu->f[8] = cpu->f[7] * cpu->f[10];
|
|
/* 02C59028 */ _t288 = cpu->r[1] + 0x00000020u;
|
|
/* 02C59028 */ rbrew_write_f32(cpu->mem, _t288, cpu->f[11]);
|
|
/* 02C5902C */ cpu->f[6] = cpu->f[0] * cpu->f[10];
|
|
/* 02C59030 */ _t289 = cpu->r[1] + 0x00000018u;
|
|
/* 02C59030 */ rbrew_write_f32(cpu->mem, _t289, cpu->f[8]);
|
|
/* 02C59034 */ cpu->f[10] = cpu->f[9] * cpu->f[10];
|
|
/* 02C59038 */ _t290 = cpu->r[1] + 0x00000024u;
|
|
/* 02C59038 */ rbrew_write_f32(cpu->mem, _t290, cpu->f[6]);
|
|
/* 02C5903C */ _t291 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C5903C */ rbrew_write_f32(cpu->mem, _t291, cpu->f[10]);
|
|
L_02C59040: ; // 0x2c59040
|
|
/* 02C59040 */ /* nop */
|
|
/* 02C59044 */ cpu->f[13] = cpu->f[5] + cpu->f[14];
|
|
/* 02C59048 */ /* nop */
|
|
/* 02C5904C */ /* nop */
|
|
/* 02C59050 */ _ft292 = (double)(int32_t)0x00000001u;
|
|
/* 02C59050 */ cpu->f[4] = _ft292 / cpu->f[13];
|
|
/* 02C59054 */ /* nop */
|
|
/* 02C59058 */ cpu->f[6] = cpu->f[13] * cpu->f[4];
|
|
/* 02C5905C */ /* nop */
|
|
/* 02C59060 */ /* nop */
|
|
/* 02C59064 */ /* nop */
|
|
/* 02C59068 */ /* nop */
|
|
/* 02C5906C */ cpu->f[13] = cpu->f[11];
|
|
/* 02C59070 */ cpu->f[0] = fabs(cpu->f[11]);
|
|
/* 02C59074 */ cpu->f[11] = cpu->f[4] + cpu->f[4];
|
|
/* 02C59078 */ /* nop */
|
|
/* 02C5907C */ cpu->f[7] = -fma(cpu->f[6], cpu->f[4], -(cpu->f[11]));
|
|
/* 02C59080 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[0], cpu->f[27]);
|
|
/* 02C59084 */ cpu->f[16] = (double)(float)cpu->f[12];
|
|
/* 02C59088 */ cpu->f[15] = cpu->f[14] * cpu->f[7];
|
|
/* 02C5908C */ _t293 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C5908C */ _t294 = _t293 & 0x00000001u;
|
|
/* 02C5908C */ if (_t294) goto L_02C58C0C; else goto L_02C59090;
|
|
L_02C59090: ; // 0x2c59090
|
|
/* 02C59090 */ cpu->f[1] = cpu->f[0];
|
|
/* 02C59094 */ Gambit_fn_02C892F8(cpu);
|
|
/* 02C59098 */ cpu->f[6] = fma(cpu->f[1], cpu->f[24], cpu->f[23]);
|
|
/* 02C5909C */ cpu->r[11] = 0x43300000u;
|
|
/* 02C590A0 */ _t295 = cpu->r[1] + 0x00000048u;
|
|
/* 02C590A0 */ rbrew_write_f64(cpu->mem, _t295, cpu->f[6]);
|
|
/* 02C590A4 */ _t296 = cpu->r[1] + 0x0000004Cu;
|
|
/* 02C590A4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t296);
|
|
/* 02C590A8 */ _t297 = cpu->r[1] + 0x00000010u;
|
|
/* 02C590A8 */ rbrew_write32(cpu->mem, _t297, cpu->r[11]);
|
|
/* 02C590AC */ cpu->r[10] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000008u, 0x0000001Fu);
|
|
/* 02C590B0 */ cpu->r[9] = 0x101B0000u;
|
|
/* 02C590B4 */ _t298 = cpu->r[1] + 0x00000014u;
|
|
/* 02C590B4 */ rbrew_write32(cpu->mem, _t298, cpu->r[10]);
|
|
/* 02C590B8 */ _t299 = cpu->r[1] + 0x00000010u;
|
|
/* 02C590B8 */ cpu->f[8] = rbrew_read_f64(cpu->mem, _t299);
|
|
/* 02C590BC */ _t300 = cpu->r[9] + 0xFFFFEE38u;
|
|
/* 02C590BC */ cpu->f[10] = rbrew_read_f64(cpu->mem, _t300);
|
|
/* 02C590C0 */ _t301 = cpu->r[1] + 0x00000014u;
|
|
/* 02C590C0 */ rbrew_write32(cpu->mem, _t301, cpu->r[0]);
|
|
/* 02C590C4 */ _t302 = cpu->r[1] + 0x00000010u;
|
|
/* 02C590C4 */ cpu->f[7] = rbrew_read_f64(cpu->mem, _t302);
|
|
/* 02C590C8 */ cpu->f[9] = cpu->f[8] - cpu->f[10];
|
|
/* 02C590CC */ cpu->f[8] = cpu->f[7] - cpu->f[10];
|
|
/* 02C590D0 */ cpu->r[10] = rbrew_rlwinm(cpu->r[0], 0x0000000Cu, 0x00000014u, 0x0000001Bu);
|
|
/* 02C590D4 */ cpu->f[7] = (double)(float)cpu->f[9];
|
|
/* 02C590D8 */ cpu->r[5] = cpu->r[29] + cpu->r[10];
|
|
/* 02C590DC */ cpu->f[6] = (double)(float)cpu->f[8];
|
|
/* 02C590E0 */ _t303 = cpu->r[29] + cpu->r[10];
|
|
/* 02C590E0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t303);
|
|
/* 02C590E4 */ cpu->f[12] = cpu->f[7] * cpu->f[22];
|
|
/* 02C590E8 */ _t304 = cpu->r[5] + 0x00000008u;
|
|
/* 02C590E8 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t304);
|
|
/* 02C590EC */ cpu->f[12] = fma(cpu->f[10], cpu->f[12], cpu->f[11]);
|
|
/* 02C590F0 */ cpu->f[7] = cpu->f[15] * cpu->f[6];
|
|
/* 02C590F4 */ _ft305 = (double)(int32_t)0x00000001u;
|
|
/* 02C590F4 */ cpu->f[10] = _ft305 / cpu->f[12];
|
|
/* 02C590F8 */ cpu->f[13] = cpu->f[10] + cpu->f[10];
|
|
/* 02C590FC */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[7], cpu->f[25]);
|
|
/* 02C59100 */ cpu->f[0] = cpu->f[12] * cpu->f[10];
|
|
/* 02C59104 */ cpu->f[0] = -fma(cpu->f[0], cpu->f[10], -(cpu->f[13]));
|
|
/* 02C59108 */ _t306 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C59108 */ _t307 = _t306 & 0x00000001u;
|
|
/* 02C59108 */ if (_t307) goto L_02C5910C; else goto L_02C591BC;
|
|
L_02C5910C: ; // 0x2c5910c
|
|
/* 02C5910C */ cpu->f[9] = (uint32_t)(int32_t)cpu->f[7];
|
|
/* 02C59110 */ cpu->r[10] = 0x101B0000u;
|
|
/* 02C59114 */ cpu->r[6] = cpu->r[1] + 0x00000010u;
|
|
/* 02C59118 */ /* nop */
|
|
/* 02C5911C */ _t308 = cpu->r[1] + 0x00000010u;
|
|
/* 02C5911C */ cpu->r[12] = rbrew_read32(cpu->mem, _t308);
|
|
/* 02C59120 */ cpu->r[11] = 0x43300000u;
|
|
/* 02C59124 */ _t309 = cpu->r[10] + 0xFFFFEE38u;
|
|
/* 02C59124 */ cpu->f[13] = rbrew_read_f64(cpu->mem, _t309);
|
|
/* 02C59128 */ cpu->r[9] = cpu->r[0] - cpu->r[12];
|
|
/* 02C5912C */ _t310 = cpu->r[1] + 0x00000010u;
|
|
/* 02C5912C */ rbrew_write32(cpu->mem, _t310, cpu->r[11]);
|
|
/* 02C59130 */ cpu->r[8] = rbrew_rlwinm(cpu->r[9], 0x00000000u, 0x00000008u, 0x0000001Fu);
|
|
/* 02C59134 */ cpu->r[5] = rbrew_rlwinm(cpu->r[12], 0x00000000u, 0x00000008u, 0x0000001Fu);
|
|
/* 02C59138 */ _t311 = cpu->r[1] + 0x00000014u;
|
|
/* 02C59138 */ rbrew_write32(cpu->mem, _t311, cpu->r[8]);
|
|
/* 02C5913C */ _t312 = cpu->r[1] + 0x00000010u;
|
|
/* 02C5913C */ cpu->f[11] = rbrew_read_f64(cpu->mem, _t312);
|
|
/* 02C59140 */ _t313 = cpu->r[1] + 0x00000014u;
|
|
/* 02C59140 */ rbrew_write32(cpu->mem, _t313, cpu->r[5]);
|
|
/* 02C59144 */ _t314 = cpu->r[1] + 0x00000010u;
|
|
/* 02C59144 */ cpu->f[6] = rbrew_read_f64(cpu->mem, _t314);
|
|
/* 02C59148 */ cpu->f[12] = cpu->f[11] - cpu->f[13];
|
|
/* 02C5914C */ cpu->f[7] = cpu->f[6] - cpu->f[13];
|
|
/* 02C59150 */ cpu->r[0] = rbrew_rlwinm(cpu->r[9], 0x0000000Cu, 0x00000014u, 0x0000001Bu);
|
|
/* 02C59154 */ cpu->f[13] = (double)(float)cpu->f[12];
|
|
/* 02C59158 */ _t315 = cpu->r[29] + cpu->r[0];
|
|
/* 02C59158 */ cpu->r[8] = rbrew_read32(cpu->mem, _t315);
|
|
/* 02C5915C */ cpu->r[9] = cpu->r[29] + cpu->r[0];
|
|
/* 02C59160 */ cpu->f[10] = (double)(float)cpu->f[7];
|
|
/* 02C59164 */ cpu->r[0] = rbrew_rlwinm(cpu->r[12], 0x0000000Cu, 0x00000014u, 0x0000001Bu);
|
|
/* 02C59168 */ cpu->f[12] = cpu->f[13] * cpu->f[22];
|
|
/* 02C5916C */ cpu->r[12] = cpu->r[29] + cpu->r[0];
|
|
/* 02C59170 */ _t316 = cpu->r[29] + cpu->r[0];
|
|
/* 02C59170 */ cpu->r[11] = rbrew_read32(cpu->mem, _t316);
|
|
/* 02C59174 */ cpu->f[7] = cpu->f[10] * cpu->f[22];
|
|
/* 02C59178 */ _t317 = cpu->r[12] + 0x00000008u;
|
|
/* 02C59178 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t317);
|
|
/* 02C5917C */ _t318 = cpu->r[9] + 0x00000008u;
|
|
/* 02C5917C */ cpu->f[6] = rbrew_read_f32(cpu->mem, _t318);
|
|
/* 02C59180 */ cpu->f[10] = fma(cpu->f[9], cpu->f[7], cpu->f[11]);
|
|
/* 02C59184 */ cpu->f[8] = fma(cpu->f[6], cpu->f[12], cpu->f[8]);
|
|
/* 02C59188 */ cpu->f[15] = cpu->f[10] * cpu->f[0];
|
|
/* 02C5918C */ cpu->f[13] = cpu->f[8] * cpu->f[0];
|
|
/* 02C59190 */ cpu->f[16] = cpu->f[16] * cpu->f[15];
|
|
/* 02C59194 */ /* nop */
|
|
/* 02C59198 */ /* nop */
|
|
/* 02C5919C */ /* nop */
|
|
/* 02C591A0 */ /* nop */
|
|
/* 02C591A4 */ /* nop */
|
|
/* 02C591A8 */ /* nop */
|
|
/* 02C591AC */ /* nop */
|
|
/* 02C591B0 */ /* nop */
|
|
/* 02C591B4 */ /* nop */
|
|
/* 02C591B8 */ goto L_02C59270;
|
|
L_02C591BC: ; // 0x2c591bc
|
|
/* 02C591BC */ cpu->f[10] = cpu->f[7] - cpu->f[25];
|
|
/* 02C591C0 */ cpu->f[11] = (uint32_t)(int32_t)cpu->f[10];
|
|
/* 02C591C4 */ cpu->r[4] = cpu->r[1] + 0x00000010u;
|
|
/* 02C591C8 */ /* nop */
|
|
/* 02C591CC */ _t319 = cpu->r[1] + 0x00000010u;
|
|
/* 02C591CC */ cpu->r[5] = rbrew_read32(cpu->mem, _t319);
|
|
/* 02C591D0 */ cpu->r[10] = 0x101B0000u;
|
|
/* 02C591D4 */ cpu->r[11] = 0x43300000u;
|
|
/* 02C591D8 */ cpu->r[12] = cpu->r[5] + 0x80000000u;
|
|
/* 02C591DC */ _t320 = cpu->r[10] + 0xFFFFEE38u;
|
|
/* 02C591DC */ cpu->f[13] = rbrew_read_f64(cpu->mem, _t320);
|
|
/* 02C591E0 */ cpu->r[9] = cpu->r[0] - cpu->r[12];
|
|
/* 02C591E4 */ _t321 = cpu->r[1] + 0x00000010u;
|
|
/* 02C591E4 */ rbrew_write32(cpu->mem, _t321, cpu->r[11]);
|
|
/* 02C591E8 */ cpu->r[8] = rbrew_rlwinm(cpu->r[9], 0x00000000u, 0x00000008u, 0x0000001Fu);
|
|
/* 02C591EC */ cpu->r[5] = rbrew_rlwinm(cpu->r[12], 0x00000000u, 0x00000008u, 0x0000001Fu);
|
|
/* 02C591F0 */ _t322 = cpu->r[1] + 0x00000014u;
|
|
/* 02C591F0 */ rbrew_write32(cpu->mem, _t322, cpu->r[8]);
|
|
/* 02C591F4 */ _t323 = cpu->r[1] + 0x00000010u;
|
|
/* 02C591F4 */ cpu->f[11] = rbrew_read_f64(cpu->mem, _t323);
|
|
/* 02C591F8 */ _t324 = cpu->r[1] + 0x00000014u;
|
|
/* 02C591F8 */ rbrew_write32(cpu->mem, _t324, cpu->r[5]);
|
|
/* 02C591FC */ _t325 = cpu->r[1] + 0x00000010u;
|
|
/* 02C591FC */ cpu->f[6] = rbrew_read_f64(cpu->mem, _t325);
|
|
/* 02C59200 */ cpu->f[12] = cpu->f[11] - cpu->f[13];
|
|
/* 02C59204 */ cpu->r[0] = rbrew_rlwinm(cpu->r[9], 0x0000000Cu, 0x00000014u, 0x0000001Bu);
|
|
/* 02C59208 */ cpu->f[7] = cpu->f[6] - cpu->f[13];
|
|
/* 02C5920C */ cpu->r[9] = cpu->r[29] + cpu->r[0];
|
|
/* 02C59210 */ _t326 = cpu->r[29] + cpu->r[0];
|
|
/* 02C59210 */ cpu->r[8] = rbrew_read32(cpu->mem, _t326);
|
|
/* 02C59214 */ cpu->f[13] = (double)(float)cpu->f[12];
|
|
/* 02C59218 */ cpu->r[0] = rbrew_rlwinm(cpu->r[12], 0x0000000Cu, 0x00000014u, 0x0000001Bu);
|
|
/* 02C5921C */ cpu->f[10] = (double)(float)cpu->f[7];
|
|
/* 02C59220 */ _t327 = cpu->r[29] + cpu->r[0];
|
|
/* 02C59220 */ cpu->r[11] = rbrew_read32(cpu->mem, _t327);
|
|
/* 02C59224 */ cpu->r[12] = cpu->r[29] + cpu->r[0];
|
|
/* 02C59228 */ cpu->f[12] = cpu->f[13] * cpu->f[22];
|
|
/* 02C5922C */ _t328 = cpu->r[12] + 0x00000008u;
|
|
/* 02C5922C */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t328);
|
|
/* 02C59230 */ cpu->f[7] = cpu->f[10] * cpu->f[22];
|
|
/* 02C59234 */ _t329 = cpu->r[9] + 0x00000008u;
|
|
/* 02C59234 */ cpu->f[6] = rbrew_read_f32(cpu->mem, _t329);
|
|
/* 02C59238 */ cpu->f[10] = fma(cpu->f[9], cpu->f[7], cpu->f[11]);
|
|
/* 02C5923C */ cpu->f[8] = fma(cpu->f[6], cpu->f[12], cpu->f[8]);
|
|
/* 02C59240 */ cpu->f[15] = cpu->f[10] * cpu->f[0];
|
|
/* 02C59244 */ cpu->f[13] = cpu->f[8] * cpu->f[0];
|
|
/* 02C59248 */ cpu->f[16] = cpu->f[16] * cpu->f[15];
|
|
/* 02C5924C */ /* nop */
|
|
/* 02C59250 */ /* nop */
|
|
/* 02C59254 */ /* nop */
|
|
/* 02C59258 */ /* nop */
|
|
/* 02C5925C */ /* nop */
|
|
/* 02C59260 */ /* nop */
|
|
/* 02C59264 */ /* nop */
|
|
/* 02C59268 */ /* nop */
|
|
/* 02C5926C */ /* nop */
|
|
L_02C59270: ; // 0x2c59270
|
|
/* 02C59270 */ /* nop */
|
|
/* 02C59274 */ /* nop */
|
|
/* 02C59278 */ /* nop */
|
|
/* 02C5927C */ /* nop */
|
|
/* 02C59280 */ /* nop */
|
|
/* 02C59284 */ /* nop */
|
|
/* 02C59288 */ _t330 = cpu->r[24] + 0x0000001Cu;
|
|
/* 02C59288 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t330);
|
|
/* 02C5928C */ /* nop */
|
|
/* 02C59290 */ /* nop */
|
|
/* 02C59294 */ /* nop */
|
|
/* 02C59298 */ /* nop */
|
|
/* 02C5929C */ cpu->f[13] = cpu->f[13] + cpu->f[14];
|
|
/* 02C592A0 */ _t331 = cpu->r[24] + 0x00000000u;
|
|
/* 02C592A0 */ cpu->r[7] = rbrew_read32(cpu->mem, _t331);
|
|
/* 02C592A4 */ /* nop */
|
|
/* 02C592A8 */ /* nop */
|
|
/* 02C592AC */ _t332 = cpu->r[31] + 0x00000000u;
|
|
/* 02C592AC */ cpu->r[0] = rbrew_read32(cpu->mem, _t332);
|
|
/* 02C592B0 */ _t333 = cpu->r[24] + 0x0000001Cu;
|
|
/* 02C592B0 */ rbrew_write_f32(cpu->mem, _t333, cpu->f[13]);
|
|
/* 02C592B4 */ _t334 = ~cpu->r[0];
|
|
/* 02C592B4 */ cpu->r[7] = cpu->r[7] | _t334;
|
|
/* 02C592B8 */ _t335 = cpu->r[24] + 0x00000000u;
|
|
/* 02C592B8 */ rbrew_write32(cpu->mem, _t335, cpu->r[7]);
|
|
L_02C592BC: ; // 0x2c592bc
|
|
/* 02C592BC */ cpu->r[28] = cpu->r[28] + 0xFFFFFFFFu;
|
|
/* 02C592BC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 02C592C0 */ cpu->r[30] = cpu->r[30] + 0x00000004u;
|
|
/* 02C592C4 */ cpu->r[31] = cpu->r[31] + 0x00000030u;
|
|
/* 02C592C8 */ _t336 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C592C8 */ _t337 = _t336 & 0x00000001u;
|
|
/* 02C592C8 */ if (_t337) goto L_02C592CC; else goto L_02C584C0;
|
|
L_02C592CC: ; // 0x2c592cc
|
|
/* 02C592CC */ /* nop */
|
|
/* 02C592D0 */ _t338 = cpu->r[1] + 0x000000B8u;
|
|
/* 02C592D0 */ cpu->f[18] = rbrew_read_f32(cpu->mem, _t338);
|
|
/* 02C592D4 */ _t339 = cpu->r[1] + 0x00000098u;
|
|
/* 02C592D4 */ cpu->f[16] = rbrew_read_f32(cpu->mem, _t339);
|
|
/* 02C592D8 */ _t340 = cpu->r[1] + 0x000000B0u;
|
|
/* 02C592D8 */ cpu->f[18] = rbrew_read_f64(cpu->mem, _t340);
|
|
/* 02C592DC */ _t341 = cpu->r[1] + 0x000000D8u;
|
|
/* 02C592DC */ cpu->f[20] = rbrew_read_f32(cpu->mem, _t341);
|
|
/* 02C592E0 */ _t342 = cpu->r[1] + 0x00000090u;
|
|
/* 02C592E0 */ cpu->f[16] = rbrew_read_f64(cpu->mem, _t342);
|
|
/* 02C592E4 */ _t343 = cpu->r[1] + 0x000000D0u;
|
|
/* 02C592E4 */ cpu->f[20] = rbrew_read_f64(cpu->mem, _t343);
|
|
/* 02C592E8 */ _t344 = cpu->r[1] + 0x000000A8u;
|
|
/* 02C592E8 */ cpu->f[17] = rbrew_read_f32(cpu->mem, _t344);
|
|
/* 02C592EC */ _t345 = cpu->r[1] + 0x000000F8u;
|
|
/* 02C592EC */ cpu->f[22] = rbrew_read_f32(cpu->mem, _t345);
|
|
/* 02C592F0 */ _t346 = cpu->r[1] + 0x000000A0u;
|
|
/* 02C592F0 */ cpu->f[17] = rbrew_read_f64(cpu->mem, _t346);
|
|
/* 02C592F4 */ _t347 = cpu->r[1] + 0x000000F0u;
|
|
/* 02C592F4 */ cpu->f[22] = rbrew_read_f64(cpu->mem, _t347);
|
|
/* 02C592F8 */ _t348 = cpu->r[1] + 0x000000C8u;
|
|
/* 02C592F8 */ cpu->f[19] = rbrew_read_f32(cpu->mem, _t348);
|
|
/* 02C592FC */ _t349 = cpu->r[1] + 0x00000118u;
|
|
/* 02C592FC */ cpu->f[24] = rbrew_read_f32(cpu->mem, _t349);
|
|
/* 02C59300 */ _t350 = cpu->r[1] + 0x000000C0u;
|
|
/* 02C59300 */ cpu->f[19] = rbrew_read_f64(cpu->mem, _t350);
|
|
/* 02C59304 */ _t351 = cpu->r[1] + 0x00000110u;
|
|
/* 02C59304 */ cpu->f[24] = rbrew_read_f64(cpu->mem, _t351);
|
|
/* 02C59308 */ _t352 = cpu->r[1] + 0x000000E8u;
|
|
/* 02C59308 */ cpu->f[21] = rbrew_read_f32(cpu->mem, _t352);
|
|
/* 02C5930C */ _t353 = cpu->r[1] + 0x00000128u;
|
|
/* 02C5930C */ cpu->f[25] = rbrew_read_f32(cpu->mem, _t353);
|
|
/* 02C59310 */ _t354 = cpu->r[1] + 0x00000158u;
|
|
/* 02C59310 */ cpu->f[28] = rbrew_read_f32(cpu->mem, _t354);
|
|
/* 02C59314 */ _t355 = cpu->r[1] + 0x00000120u;
|
|
/* 02C59314 */ cpu->f[25] = rbrew_read_f64(cpu->mem, _t355);
|
|
/* 02C59318 */ _t356 = cpu->r[1] + 0x00000150u;
|
|
/* 02C59318 */ cpu->f[28] = rbrew_read_f64(cpu->mem, _t356);
|
|
/* 02C5931C */ _t357 = cpu->r[1] + 0x00000088u;
|
|
/* 02C5931C */ cpu->f[15] = rbrew_read_f32(cpu->mem, _t357);
|
|
/* 02C59320 */ _t358 = cpu->r[1] + 0x00000148u;
|
|
/* 02C59320 */ cpu->f[27] = rbrew_read_f32(cpu->mem, _t358);
|
|
/* 02C59324 */ _t359 = cpu->r[1] + 0x00000080u;
|
|
/* 02C59324 */ cpu->f[15] = rbrew_read_f64(cpu->mem, _t359);
|
|
/* 02C59328 */ _t360 = cpu->r[1] + 0x00000140u;
|
|
/* 02C59328 */ cpu->f[27] = rbrew_read_f64(cpu->mem, _t360);
|
|
/* 02C5932C */ _t361 = cpu->r[1] + 0x00000078u;
|
|
/* 02C5932C */ cpu->f[14] = rbrew_read_f32(cpu->mem, _t361);
|
|
/* 02C59330 */ _t362 = cpu->r[1] + 0x00000168u;
|
|
/* 02C59330 */ cpu->f[29] = rbrew_read_f32(cpu->mem, _t362);
|
|
/* 02C59334 */ _t363 = cpu->r[1] + 0x00000070u;
|
|
/* 02C59334 */ cpu->f[14] = rbrew_read_f64(cpu->mem, _t363);
|
|
/* 02C59338 */ _t364 = cpu->r[1] + 0x00000160u;
|
|
/* 02C59338 */ cpu->f[29] = rbrew_read_f64(cpu->mem, _t364);
|
|
/* 02C5933C */ _t365 = cpu->r[1] + 0x00000178u;
|
|
/* 02C5933C */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t365);
|
|
/* 02C59340 */ _t366 = cpu->r[1] + 0x00000188u;
|
|
/* 02C59340 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t366);
|
|
/* 02C59344 */ _t367 = cpu->r[1] + 0x00000170u;
|
|
/* 02C59344 */ cpu->f[30] = rbrew_read_f64(cpu->mem, _t367);
|
|
/* 02C59348 */ _t368 = cpu->r[1] + 0x00000180u;
|
|
/* 02C59348 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t368);
|
|
/* 02C5934C */ _t369 = cpu->r[1] + 0x000000E0u;
|
|
/* 02C5934C */ cpu->f[21] = rbrew_read_f64(cpu->mem, _t369);
|
|
/* 02C59350 */ _t370 = cpu->r[1] + 0x00000108u;
|
|
/* 02C59350 */ cpu->f[23] = rbrew_read_f32(cpu->mem, _t370);
|
|
/* 02C59354 */ _t371 = cpu->r[1] + 0x00000138u;
|
|
/* 02C59354 */ cpu->f[26] = rbrew_read_f32(cpu->mem, _t371);
|
|
/* 02C59358 */ _t372 = cpu->r[1] + 0x00000100u;
|
|
/* 02C59358 */ cpu->f[23] = rbrew_read_f64(cpu->mem, _t372);
|
|
/* 02C5935C */ _t373 = cpu->r[1] + 0x00000130u;
|
|
/* 02C5935C */ cpu->f[26] = rbrew_read_f64(cpu->mem, _t373);
|
|
/* 02C59360 */ _t374 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C59360 */ _t375 = _t374 & 0x00000001u;
|
|
/* 02C59360 */ if (_t375) goto L_02C59364; // else: addr-0 trap, fall-through
|
|
L_02C59364: ; // 0x2c59364
|
|
/* 02C59364 */ _t376 = cpu->r[1] + 0x00000194u;
|
|
/* 02C59364 */ cpu->r[0] = rbrew_read32(cpu->mem, _t376);
|
|
/* 02C59368 */ cpu->lr = cpu->r[0];
|
|
/* 02C5936C */ cpu->r[1] = cpu->r[1] + 0x00000190u;
|
|
/* 02C59370 */ return;
|
|
}
|
|
|
|
// fn_02C59374 @ 0x2c59374
|
|
void Gambit_fn_02C59374(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, _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;
|
|
double _ft21;
|
|
|
|
L_02C59374: ; // 0x2c59374
|
|
/* 02C59374 */ _t0 = cpu->r[1] + 0xFFFFFFD0u;
|
|
/* 02C59374 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C59374 */ cpu->r[1] = _t0;
|
|
/* 02C59378 */ _t1 = cpu->r[3] + 0x00000008u;
|
|
/* 02C59378 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02C5937C */ cpu->r[0] = cpu->r[0] | 0x00000008u;
|
|
/* 02C59380 */ _t2 = cpu->r[3] + 0x00000008u;
|
|
/* 02C59380 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02C59384 */ _t3 = cpu->r[4] + 0x00000004u;
|
|
/* 02C59384 */ cpu->r[0] = rbrew_read16(cpu->mem, _t3);
|
|
/* 02C59388 */ _t4 = cpu->r[3] + 0x00000000u;
|
|
/* 02C59388 */ cpu->r[10] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02C5938C */ cpu->r[0] = cpu->r[0] | 0x00000004u;
|
|
/* 02C59390 */ _t5 = cpu->r[4] + 0x00000004u;
|
|
/* 02C59390 */ rbrew_write16(cpu->mem, _t5, (uint16_t)cpu->r[0]);
|
|
/* 02C59394 */ _t6 = cpu->r[3] + 0x00000006u;
|
|
/* 02C59394 */ cpu->r[7] = rbrew_read16(cpu->mem, _t6);
|
|
/* 02C59398 */ cpu->r[12] = 0x00000000u;
|
|
/* 02C5939C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], cpu->r[7]);
|
|
/* 02C593A0 */ _t7 = cpu->r[4] + 0x0000000Cu;
|
|
/* 02C593A0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02C593A4 */ _t8 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C593A4 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02C593A4 */ if (_t9) goto L_02C593A8; else goto L_02C595BC;
|
|
L_02C593A8: ; // 0x2c593a8
|
|
/* 02C593A8 */ cpu->r[6] = 0x101B0000u;
|
|
/* 02C593AC */ cpu->r[5] = 0x101B0000u;
|
|
/* 02C593B0 */ _t10 = cpu->r[6] + 0xFFFFEE1Cu;
|
|
/* 02C593B0 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t10);
|
|
/* 02C593B4 */ cpu->r[8] = 0x101B0000u;
|
|
/* 02C593B8 */ _t11 = cpu->r[5] + 0xFFFFEE14u;
|
|
/* 02C593B8 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t11);
|
|
/* 02C593BC */ cpu->r[5] = 0x101B0000u;
|
|
/* 02C593C0 */ _t12 = cpu->r[8] + 0xFFFFEE18u;
|
|
/* 02C593C0 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t12);
|
|
/* 02C593C4 */ cpu->r[6] = 0x101B0000u;
|
|
/* 02C593C8 */ _t13 = cpu->r[5] + 0xFFFFEE30u;
|
|
/* 02C593C8 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t13);
|
|
/* 02C593CC */ _t14 = cpu->r[6] + 0xFFFFEE50u;
|
|
/* 02C593CC */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t14);
|
|
L_02C593D0: ; // 0x2c593d0
|
|
/* 02C593D0 */ _t15 = cpu->r[10] + 0x0000001Cu;
|
|
/* 02C593D0 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t15);
|
|
/* 02C593D4 */ cpu->f[7] = fabs(cpu->f[8]);
|
|
/* 02C593D8 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[7], cpu->f[11]);
|
|
/* 02C593DC */ _t16 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C593DC */ _t17 = _t16 & 0x00000001u;
|
|
/* 02C593DC */ if (_t17) goto L_02C595A8; else goto L_02C593E0;
|
|
L_02C593E0: ; // 0x2c593e0
|
|
/* 02C593E0 */ cpu->f[9] = cpu->f[8] - cpu->f[0];
|
|
/* 02C593E4 */ cpu->f[7] = fabs(cpu->f[9]);
|
|
/* 02C593E8 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[7], cpu->f[11]);
|
|
/* 02C593EC */ _t18 = cpu->r[10] + 0x00000000u;
|
|
/* 02C593EC */ cpu->r[9] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02C593F0 */ _t19 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C593F0 */ _t20 = _t19 & 0x00000001u;
|
|
/* 02C593F0 */ if (_t20) goto L_02C59428; else goto L_02C593F4;
|
|
L_02C593F4: ; // 0x2c593f4
|
|
/* 02C593F4 */ _ft21 = (double)(int32_t)0x00000001u;
|
|
/* 02C593F4 */ cpu->f[6] = _ft21 / cpu->f[8];
|
|
/* 02C593F8 */ cpu->f[7] = cpu->f[6] + cpu->f[6];
|
|
/* 02C593FC */ cpu->f[8] = cpu->f[8] * cpu->f[6];
|
|
/* 02C59400 */ /* nop */
|
|
/* 02C59404 */ cpu->f[6] = -fma(cpu->f[8], cpu->f[6], -(cpu->f[7]));
|
|
/* 02C59408 */ /* nop */
|
|
/* 02C5940C */ /* nop */
|
|
/* 02C59410 */ /* nop */
|
|
/* 02C59414 */ /* nop */
|
|
/* 02C59418 */ /* nop */
|
|
/* 02C5941C */ /* nop */
|
|
/* 02C59420 */ /* nop */
|
|
/* 02C59424 */ /* nop */
|
|
L_02C59428: ; // 0x2c59428
|
|
/* 02C59428 */ _t22 = cpu->r[11] + 0x00000000u;
|
|
/* 02C59428 */ cpu->r[4] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02C5942C */ _t23 = cpu->r[9] | cpu->r[9];
|
|
/* 02C5942C */ cpu->r[9] = ~_t23;
|
|
/* 02C59430 */ _t24 = rbrew_rlwinm(cpu->r[9], 0x00000000u, 0x00000004u, 0x00000008u);
|
|
/* 02C59430 */ _t25 = cpu->r[4] & 0xF07FFFFFu;
|
|
/* 02C59430 */ cpu->r[4] = _t25 | _t24;
|
|
/* 02C59434 */ _t26 = cpu->r[11] + 0x00000000u;
|
|
/* 02C59434 */ rbrew_write32(cpu->mem, _t26, cpu->r[4]);
|
|
/* 02C59438 */ _t27 = cpu->r[10] + 0x00000004u;
|
|
/* 02C59438 */ cpu->r[5] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02C5943C */ _t28 = cpu->r[11] + 0x00000004u;
|
|
/* 02C5943C */ rbrew_write32(cpu->mem, _t28, cpu->r[5]);
|
|
/* 02C59440 */ _t29 = cpu->r[10] + 0x00000008u;
|
|
/* 02C59440 */ cpu->r[8] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02C59444 */ _t30 = cpu->r[11] + 0x00000008u;
|
|
/* 02C59444 */ rbrew_write32(cpu->mem, _t30, cpu->r[8]);
|
|
/* 02C59448 */ _t31 = cpu->r[10] + 0x0000000Cu;
|
|
/* 02C59448 */ cpu->r[0] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02C5944C */ _t32 = cpu->r[11] + 0x0000000Cu;
|
|
/* 02C5944C */ rbrew_write32(cpu->mem, _t32, cpu->r[0]);
|
|
/* 02C59450 */ _t33 = cpu->r[10] + 0x00000010u;
|
|
/* 02C59450 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t33);
|
|
/* 02C59454 */ _t34 = cpu->r[11] + 0x0000001Cu;
|
|
/* 02C59454 */ rbrew_write_f32(cpu->mem, _t34, cpu->f[9]);
|
|
/* 02C59458 */ _t35 = cpu->r[10] + 0x00000014u;
|
|
/* 02C59458 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t35);
|
|
/* 02C5945C */ _t36 = cpu->r[11] + 0x0000002Cu;
|
|
/* 02C5945C */ rbrew_write_f32(cpu->mem, _t36, cpu->f[8]);
|
|
/* 02C59460 */ _t37 = cpu->r[10] + 0x00000018u;
|
|
/* 02C59460 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t37);
|
|
/* 02C59464 */ _t38 = cpu->r[11] + 0x0000003Cu;
|
|
/* 02C59464 */ rbrew_write_f32(cpu->mem, _t38, cpu->f[9]);
|
|
/* 02C59468 */ _t39 = cpu->r[10] + 0x00000028u;
|
|
/* 02C59468 */ cpu->f[5] = rbrew_read_f32(cpu->mem, _t39);
|
|
/* 02C5946C */ _t40 = cpu->r[10] + 0x00000030u;
|
|
/* 02C5946C */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t40);
|
|
/* 02C59470 */ _t41 = cpu->r[10] + 0x00000024u;
|
|
/* 02C59470 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t41);
|
|
/* 02C59474 */ cpu->f[9] = cpu->f[5] * cpu->f[9];
|
|
/* 02C59478 */ _t42 = cpu->r[10] + 0x00000034u;
|
|
/* 02C59478 */ cpu->f[4] = rbrew_read_f32(cpu->mem, _t42);
|
|
/* 02C5947C */ cpu->f[9] = fma(cpu->f[8], cpu->f[4], -(cpu->f[9]));
|
|
/* 02C59480 */ _t43 = cpu->r[1] + 0x00000008u;
|
|
/* 02C59480 */ rbrew_write_f32(cpu->mem, _t43, cpu->f[9]);
|
|
/* 02C59484 */ _t44 = cpu->r[10] + 0x00000020u;
|
|
/* 02C59484 */ cpu->f[6] = rbrew_read_f32(cpu->mem, _t44);
|
|
/* 02C59488 */ _t45 = cpu->r[10] + 0x0000002Cu;
|
|
/* 02C59488 */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t45);
|
|
/* 02C5948C */ cpu->f[9] = cpu->f[6] * cpu->f[4];
|
|
/* 02C59490 */ cpu->f[9] = fma(cpu->f[5], cpu->f[7], -(cpu->f[9]));
|
|
/* 02C59494 */ _t46 = cpu->r[1] + 0x00000008u;
|
|
/* 02C59494 */ cpu->r[0] = rbrew_read32(cpu->mem, _t46);
|
|
/* 02C59498 */ _t47 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C59498 */ rbrew_write_f32(cpu->mem, _t47, cpu->f[9]);
|
|
/* 02C5949C */ _t48 = cpu->r[10] + 0x00000024u;
|
|
/* 02C5949C */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t48);
|
|
/* 02C594A0 */ _t49 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C594A0 */ cpu->r[6] = rbrew_read32(cpu->mem, _t49);
|
|
/* 02C594A4 */ cpu->f[9] = cpu->f[9] * cpu->f[7];
|
|
/* 02C594A8 */ _t50 = cpu->r[10] + 0x00000030u;
|
|
/* 02C594A8 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t50);
|
|
/* 02C594AC */ _t51 = cpu->r[1] + 0x00000024u;
|
|
/* 02C594AC */ rbrew_write32(cpu->mem, _t51, cpu->r[6]);
|
|
/* 02C594B0 */ cpu->f[9] = fma(cpu->f[6], cpu->f[8], -(cpu->f[9]));
|
|
/* 02C594B4 */ _t52 = cpu->r[1] + 0x00000020u;
|
|
/* 02C594B4 */ rbrew_write32(cpu->mem, _t52, cpu->r[0]);
|
|
/* 02C594B8 */ /* nop */
|
|
/* 02C594BC */ _t53 = cpu->r[1] + 0x00000010u;
|
|
/* 02C594BC */ rbrew_write_f32(cpu->mem, _t53, cpu->f[9]);
|
|
/* 02C594C0 */ _t54 = cpu->r[1] + 0x00000010u;
|
|
/* 02C594C0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t54);
|
|
/* 02C594C4 */ _t55 = cpu->r[1] + 0x00000028u;
|
|
/* 02C594C4 */ rbrew_write32(cpu->mem, _t55, cpu->r[0]);
|
|
/* 02C594C8 */ /* nop */
|
|
/* 02C594CC */ /* nop */
|
|
/* 02C594D0 */ /* nop */
|
|
/* 02C594D4 */ _t56 = cpu->r[10] + 0x00000034u;
|
|
/* 02C594D4 */ cpu->f[4] = rbrew_read_f32(cpu->mem, _t56);
|
|
/* 02C594D8 */ /* nop */
|
|
/* 02C594DC */ _t57 = cpu->r[1] + 0x00000028u;
|
|
/* 02C594DC */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t57);
|
|
/* 02C594E0 */ cpu->f[7] = fma(cpu->f[4], cpu->f[4], cpu->f[7]);
|
|
/* 02C594E4 */ /* nop */
|
|
/* 02C594E8 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[7], cpu->f[10]);
|
|
/* 02C594EC */ cpu->f[9] = fma(cpu->f[8], cpu->f[8], cpu->f[9]);
|
|
/* 02C594F0 */ cpu->r[8] = cpu->r[10] + 0x0000002Cu;
|
|
/* 02C594F4 */ _t58 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C594F4 */ _t59 = _t58 & 0x00000001u;
|
|
/* 02C594F4 */ if (_t59) goto L_02C595A4; else goto L_02C594F8;
|
|
L_02C594F8: ; // 0x2c594f8
|
|
/* 02C594F8 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[9], cpu->f[10]);
|
|
/* 02C594FC */ _t60 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C594FC */ _t61 = _t60 & 0x00000001u;
|
|
/* 02C594FC */ if (_t61) goto L_02C595A4; else goto L_02C59500;
|
|
L_02C59500: ; // 0x2c59500
|
|
/* 02C59500 */ /* nop */
|
|
/* 02C59504 */ /* nop */
|
|
/* 02C59508 */ /* nop */
|
|
/* 02C5950C */ /* nop */
|
|
/* 02C59510 */ /* nop */
|
|
/* 02C59514 */ /* nop */
|
|
/* 02C59518 */ /* nop */
|
|
/* 02C5951C */ /* nop */
|
|
/* 02C59520 */ /* nop */
|
|
/* 02C59524 */ /* nop */
|
|
/* 02C59528 */ _t62 = cpu->r[8] + 0x00000008u;
|
|
/* 02C59528 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t62);
|
|
/* 02C5952C */ cpu->f[6] = cpu->f[8] * cpu->f[5];
|
|
/* 02C59530 */ _t63 = cpu->r[11] + 0x00000028u;
|
|
/* 02C59530 */ rbrew_write_f32(cpu->mem, _t63, cpu->f[6]);
|
|
/* 02C59534 */ /* nop */
|
|
/* 02C59538 */ /* nop */
|
|
/* 02C5953C */ /* nop */
|
|
/* 02C59540 */ /* nop */
|
|
/* 02C59544 */ _t64 = cpu->r[1] + 0x00000028u;
|
|
/* 02C59544 */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t64);
|
|
/* 02C59548 */ _t65 = cpu->r[11] + 0x00000034u;
|
|
/* 02C59548 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t65);
|
|
/* 02C5954C */ cpu->f[7] = cpu->f[7] * cpu->f[9];
|
|
/* 02C59550 */ cpu->f[9] = cpu->f[6] * cpu->f[8];
|
|
/* 02C59554 */ _t66 = cpu->r[11] + 0x00000024u;
|
|
/* 02C59554 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t66);
|
|
/* 02C59558 */ cpu->f[9] = fma(cpu->f[8], cpu->f[7], -(cpu->f[9]));
|
|
/* 02C5955C */ _t67 = cpu->r[11] + 0x00000038u;
|
|
/* 02C5955C */ rbrew_write_f32(cpu->mem, _t67, cpu->f[7]);
|
|
/* 02C59560 */ _t68 = cpu->r[1] + 0x00000014u;
|
|
/* 02C59560 */ rbrew_write_f32(cpu->mem, _t68, cpu->f[9]);
|
|
/* 02C59564 */ _t69 = cpu->r[11] + 0x00000020u;
|
|
/* 02C59564 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t69);
|
|
/* 02C59568 */ _t70 = cpu->r[11] + 0x00000030u;
|
|
/* 02C59568 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t70);
|
|
/* 02C5956C */ cpu->f[7] = cpu->f[8] * cpu->f[7];
|
|
/* 02C59570 */ cpu->f[6] = fma(cpu->f[6], cpu->f[9], -(cpu->f[7]));
|
|
/* 02C59574 */ _t71 = cpu->r[1] + 0x00000018u;
|
|
/* 02C59574 */ rbrew_write_f32(cpu->mem, _t71, cpu->f[6]);
|
|
/* 02C59578 */ _t72 = cpu->r[11] + 0x00000024u;
|
|
/* 02C59578 */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t72);
|
|
/* 02C5957C */ _t73 = cpu->r[11] + 0x00000034u;
|
|
/* 02C5957C */ cpu->f[6] = rbrew_read_f32(cpu->mem, _t73);
|
|
/* 02C59580 */ cpu->f[9] = cpu->f[7] * cpu->f[9];
|
|
/* 02C59584 */ cpu->f[9] = fma(cpu->f[8], cpu->f[6], -(cpu->f[9]));
|
|
/* 02C59588 */ _t74 = cpu->r[1] + 0x00000014u;
|
|
/* 02C59588 */ cpu->r[4] = rbrew_read32(cpu->mem, _t74);
|
|
/* 02C5958C */ _t75 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C5958C */ rbrew_write_f32(cpu->mem, _t75, cpu->f[9]);
|
|
/* 02C59590 */ _t76 = cpu->r[11] + 0x00000010u;
|
|
/* 02C59590 */ rbrew_write32(cpu->mem, _t76, cpu->r[4]);
|
|
/* 02C59594 */ _t77 = cpu->r[1] + 0x00000018u;
|
|
/* 02C59594 */ cpu->r[6] = rbrew_read32(cpu->mem, _t77);
|
|
/* 02C59598 */ _t78 = cpu->r[11] + 0x00000014u;
|
|
/* 02C59598 */ rbrew_write32(cpu->mem, _t78, cpu->r[6]);
|
|
/* 02C5959C */ _t79 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C5959C */ cpu->r[7] = rbrew_read32(cpu->mem, _t79);
|
|
/* 02C595A0 */ _t80 = cpu->r[11] + 0x00000018u;
|
|
/* 02C595A0 */ rbrew_write32(cpu->mem, _t80, cpu->r[7]);
|
|
L_02C595A4: ; // 0x2c595a4
|
|
/* 02C595A4 */ _t81 = cpu->r[3] + 0x00000006u;
|
|
/* 02C595A4 */ cpu->r[7] = rbrew_read16(cpu->mem, _t81);
|
|
L_02C595A8: ; // 0x2c595a8
|
|
/* 02C595A8 */ cpu->r[12] = cpu->r[12] + 0x00000001u;
|
|
/* 02C595AC */ cpu->r[10] = cpu->r[10] + 0x00000038u;
|
|
/* 02C595B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], cpu->r[7]);
|
|
/* 02C595B4 */ cpu->r[11] = cpu->r[11] + 0x00000040u;
|
|
/* 02C595B8 */ _t82 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C595B8 */ _t83 = _t82 & 0x00000001u;
|
|
/* 02C595B8 */ if (_t83) goto L_02C593D0; else goto L_02C595BC;
|
|
L_02C595BC: ; // 0x2c595bc
|
|
/* 02C595BC */ cpu->r[1] = cpu->r[1] + 0x00000030u;
|
|
/* 02C595C0 */ return;
|
|
}
|
|
|
|
// fn_02C595C4 @ 0x2c595c4
|
|
void Gambit_fn_02C595C4(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;
|
|
|
|
L_02C595C4: ; // 0x2c595c4
|
|
/* 02C595C4 */ _t0 = cpu->r[1] + 0xFFFFFFD0u;
|
|
/* 02C595C4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C595C4 */ cpu->r[1] = _t0;
|
|
/* 02C595C8 */ _t1 = cpu->r[3] + 0x00000008u;
|
|
/* 02C595C8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02C595CC */ cpu->r[0] = cpu->r[0] | 0x00000008u;
|
|
/* 02C595D0 */ _t2 = cpu->r[3] + 0x00000008u;
|
|
/* 02C595D0 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02C595D4 */ _t3 = cpu->r[4] + 0x00000004u;
|
|
/* 02C595D4 */ cpu->r[5] = rbrew_read16(cpu->mem, _t3);
|
|
/* 02C595D8 */ _t4 = cpu->r[3] + 0x00000000u;
|
|
/* 02C595D8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02C595DC */ cpu->r[5] = cpu->r[5] | 0x00000004u;
|
|
/* 02C595E0 */ _t5 = cpu->r[4] + 0x00000004u;
|
|
/* 02C595E0 */ rbrew_write16(cpu->mem, _t5, (uint16_t)cpu->r[5]);
|
|
/* 02C595E4 */ _t6 = cpu->r[3] + 0x00000006u;
|
|
/* 02C595E4 */ cpu->r[0] = rbrew_read16(cpu->mem, _t6);
|
|
/* 02C595E8 */ cpu->r[12] = 0x00000000u;
|
|
/* 02C595EC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], cpu->r[0]);
|
|
/* 02C595F0 */ _t7 = cpu->r[4] + 0x0000000Cu;
|
|
/* 02C595F0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02C595F4 */ _t8 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C595F4 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02C595F4 */ if (_t9) goto L_02C595F8; else goto L_02C597C0;
|
|
L_02C595F8: ; // 0x2c595f8
|
|
/* 02C595F8 */ cpu->r[9] = 0x101B0000u;
|
|
/* 02C595FC */ cpu->r[6] = 0x101B0000u;
|
|
/* 02C59600 */ _t10 = cpu->r[9] + 0xFFFFEE1Cu;
|
|
/* 02C59600 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t10);
|
|
/* 02C59604 */ cpu->r[9] = 0x101B0000u;
|
|
/* 02C59608 */ _t11 = cpu->r[6] + 0xFFFFEE14u;
|
|
/* 02C59608 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t11);
|
|
/* 02C5960C */ cpu->r[8] = 0x101B0000u;
|
|
/* 02C59610 */ _t12 = cpu->r[9] + 0xFFFFEE18u;
|
|
/* 02C59610 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t12);
|
|
/* 02C59614 */ _t13 = cpu->r[8] + 0xFFFFEE50u;
|
|
/* 02C59614 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t13);
|
|
L_02C59618: ; // 0x2c59618
|
|
/* 02C59618 */ _t14 = cpu->r[10] + 0x0000001Cu;
|
|
/* 02C59618 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t14);
|
|
/* 02C5961C */ cpu->f[9] = fabs(cpu->f[10]);
|
|
/* 02C59620 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[9], cpu->f[12]);
|
|
/* 02C59624 */ _t15 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C59624 */ _t16 = _t15 & 0x00000001u;
|
|
/* 02C59624 */ if (_t16) goto L_02C597AC; else goto L_02C59628;
|
|
L_02C59628: ; // 0x2c59628
|
|
/* 02C59628 */ _t17 = cpu->r[10] + 0x00000000u;
|
|
/* 02C59628 */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02C5962C */ _t18 = cpu->r[11] + 0x00000000u;
|
|
/* 02C5962C */ cpu->r[5] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02C59630 */ _t19 = cpu->r[0] | cpu->r[0];
|
|
/* 02C59630 */ cpu->r[4] = ~_t19;
|
|
/* 02C59634 */ _t20 = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x00000004u, 0x00000008u);
|
|
/* 02C59634 */ _t21 = cpu->r[5] & 0xF07FFFFFu;
|
|
/* 02C59634 */ cpu->r[5] = _t21 | _t20;
|
|
/* 02C59638 */ _t22 = cpu->r[11] + 0x00000000u;
|
|
/* 02C59638 */ rbrew_write32(cpu->mem, _t22, cpu->r[5]);
|
|
/* 02C5963C */ _t23 = cpu->r[10] + 0x00000004u;
|
|
/* 02C5963C */ cpu->r[4] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02C59640 */ _t24 = cpu->r[11] + 0x00000004u;
|
|
/* 02C59640 */ rbrew_write32(cpu->mem, _t24, cpu->r[4]);
|
|
/* 02C59644 */ _t25 = cpu->r[10] + 0x00000008u;
|
|
/* 02C59644 */ cpu->r[6] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02C59648 */ _t26 = cpu->r[11] + 0x00000008u;
|
|
/* 02C59648 */ rbrew_write32(cpu->mem, _t26, cpu->r[6]);
|
|
/* 02C5964C */ _t27 = cpu->r[10] + 0x0000000Cu;
|
|
/* 02C5964C */ cpu->r[8] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02C59650 */ _t28 = cpu->r[11] + 0x0000000Cu;
|
|
/* 02C59650 */ rbrew_write32(cpu->mem, _t28, cpu->r[8]);
|
|
/* 02C59654 */ _t29 = cpu->r[10] + 0x00000010u;
|
|
/* 02C59654 */ cpu->f[6] = rbrew_read_f32(cpu->mem, _t29);
|
|
/* 02C59658 */ _t30 = cpu->r[11] + 0x0000001Cu;
|
|
/* 02C59658 */ rbrew_write_f32(cpu->mem, _t30, cpu->f[6]);
|
|
/* 02C5965C */ _t31 = cpu->r[10] + 0x00000014u;
|
|
/* 02C5965C */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t31);
|
|
/* 02C59660 */ _t32 = cpu->r[11] + 0x0000002Cu;
|
|
/* 02C59660 */ rbrew_write_f32(cpu->mem, _t32, cpu->f[8]);
|
|
/* 02C59664 */ _t33 = cpu->r[10] + 0x00000018u;
|
|
/* 02C59664 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t33);
|
|
/* 02C59668 */ _t34 = cpu->r[11] + 0x0000003Cu;
|
|
/* 02C59668 */ rbrew_write_f32(cpu->mem, _t34, cpu->f[10]);
|
|
/* 02C5966C */ _t35 = cpu->r[10] + 0x00000028u;
|
|
/* 02C5966C */ cpu->f[6] = rbrew_read_f32(cpu->mem, _t35);
|
|
/* 02C59670 */ _t36 = cpu->r[10] + 0x00000030u;
|
|
/* 02C59670 */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t36);
|
|
/* 02C59674 */ _t37 = cpu->r[10] + 0x00000024u;
|
|
/* 02C59674 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t37);
|
|
/* 02C59678 */ cpu->f[10] = cpu->f[6] * cpu->f[7];
|
|
/* 02C5967C */ _t38 = cpu->r[10] + 0x00000034u;
|
|
/* 02C5967C */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t38);
|
|
/* 02C59680 */ cpu->f[8] = fma(cpu->f[8], cpu->f[9], -(cpu->f[10]));
|
|
/* 02C59684 */ _t39 = cpu->r[1] + 0x00000008u;
|
|
/* 02C59684 */ rbrew_write_f32(cpu->mem, _t39, cpu->f[8]);
|
|
/* 02C59688 */ _t40 = cpu->r[10] + 0x00000020u;
|
|
/* 02C59688 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t40);
|
|
/* 02C5968C */ _t41 = cpu->r[10] + 0x0000002Cu;
|
|
/* 02C5968C */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t41);
|
|
/* 02C59690 */ cpu->f[9] = cpu->f[10] * cpu->f[9];
|
|
/* 02C59694 */ cpu->f[6] = fma(cpu->f[6], cpu->f[7], -(cpu->f[9]));
|
|
/* 02C59698 */ _t42 = cpu->r[1] + 0x00000008u;
|
|
/* 02C59698 */ cpu->r[4] = rbrew_read32(cpu->mem, _t42);
|
|
/* 02C5969C */ _t43 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C5969C */ rbrew_write_f32(cpu->mem, _t43, cpu->f[6]);
|
|
/* 02C596A0 */ _t44 = cpu->r[10] + 0x00000024u;
|
|
/* 02C596A0 */ cpu->f[6] = rbrew_read_f32(cpu->mem, _t44);
|
|
/* 02C596A4 */ _t45 = cpu->r[10] + 0x00000030u;
|
|
/* 02C596A4 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t45);
|
|
/* 02C596A8 */ cpu->f[9] = cpu->f[6] * cpu->f[7];
|
|
/* 02C596AC */ _t46 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C596AC */ cpu->r[6] = rbrew_read32(cpu->mem, _t46);
|
|
/* 02C596B0 */ _t47 = cpu->r[1] + 0x00000020u;
|
|
/* 02C596B0 */ rbrew_write32(cpu->mem, _t47, cpu->r[4]);
|
|
/* 02C596B4 */ cpu->f[7] = fma(cpu->f[10], cpu->f[8], -(cpu->f[9]));
|
|
/* 02C596B8 */ _t48 = cpu->r[1] + 0x00000024u;
|
|
/* 02C596B8 */ rbrew_write32(cpu->mem, _t48, cpu->r[6]);
|
|
/* 02C596BC */ /* nop */
|
|
/* 02C596C0 */ _t49 = cpu->r[1] + 0x00000010u;
|
|
/* 02C596C0 */ rbrew_write_f32(cpu->mem, _t49, cpu->f[7]);
|
|
/* 02C596C4 */ _t50 = cpu->r[1] + 0x00000010u;
|
|
/* 02C596C4 */ cpu->r[7] = rbrew_read32(cpu->mem, _t50);
|
|
/* 02C596C8 */ _t51 = cpu->r[1] + 0x00000028u;
|
|
/* 02C596C8 */ rbrew_write32(cpu->mem, _t51, cpu->r[7]);
|
|
/* 02C596CC */ /* nop */
|
|
/* 02C596D0 */ /* nop */
|
|
/* 02C596D4 */ /* nop */
|
|
/* 02C596D8 */ /* nop */
|
|
/* 02C596DC */ _t52 = cpu->r[10] + 0x00000034u;
|
|
/* 02C596DC */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t52);
|
|
/* 02C596E0 */ /* nop */
|
|
/* 02C596E4 */ cpu->f[7] = fma(cpu->f[9], cpu->f[9], cpu->f[10]);
|
|
/* 02C596E8 */ _t53 = cpu->r[1] + 0x00000028u;
|
|
/* 02C596E8 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t53);
|
|
/* 02C596EC */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[7], cpu->f[11]);
|
|
/* 02C596F0 */ cpu->f[9] = fma(cpu->f[9], cpu->f[9], cpu->f[8]);
|
|
/* 02C596F4 */ cpu->r[7] = cpu->r[10] + 0x0000002Cu;
|
|
/* 02C596F8 */ _t54 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C596F8 */ _t55 = _t54 & 0x00000001u;
|
|
/* 02C596F8 */ if (_t55) goto L_02C597A8; else goto L_02C596FC;
|
|
L_02C596FC: ; // 0x2c596fc
|
|
/* 02C596FC */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[9], cpu->f[11]);
|
|
/* 02C59700 */ _t56 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C59700 */ _t57 = _t56 & 0x00000001u;
|
|
/* 02C59700 */ if (_t57) goto L_02C597A8; else goto L_02C59704;
|
|
L_02C59704: ; // 0x2c59704
|
|
/* 02C59704 */ /* nop */
|
|
/* 02C59708 */ /* nop */
|
|
/* 02C5970C */ /* nop */
|
|
/* 02C59710 */ /* nop */
|
|
/* 02C59714 */ /* nop */
|
|
/* 02C59718 */ /* nop */
|
|
/* 02C5971C */ /* nop */
|
|
/* 02C59720 */ /* nop */
|
|
/* 02C59724 */ /* nop */
|
|
/* 02C59728 */ /* nop */
|
|
/* 02C5972C */ _t58 = cpu->r[7] + 0x00000008u;
|
|
/* 02C5972C */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t58);
|
|
/* 02C59730 */ cpu->f[8] = cpu->f[10] * cpu->f[7];
|
|
/* 02C59734 */ _t59 = cpu->r[11] + 0x00000028u;
|
|
/* 02C59734 */ rbrew_write_f32(cpu->mem, _t59, cpu->f[8]);
|
|
/* 02C59738 */ /* nop */
|
|
/* 02C5973C */ /* nop */
|
|
/* 02C59740 */ /* nop */
|
|
/* 02C59744 */ /* nop */
|
|
/* 02C59748 */ _t60 = cpu->r[1] + 0x00000028u;
|
|
/* 02C59748 */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t60);
|
|
/* 02C5974C */ _t61 = cpu->r[11] + 0x00000034u;
|
|
/* 02C5974C */ cpu->f[6] = rbrew_read_f32(cpu->mem, _t61);
|
|
/* 02C59750 */ cpu->f[7] = cpu->f[7] * cpu->f[9];
|
|
/* 02C59754 */ cpu->f[10] = cpu->f[8] * cpu->f[6];
|
|
/* 02C59758 */ _t62 = cpu->r[11] + 0x00000024u;
|
|
/* 02C59758 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t62);
|
|
/* 02C5975C */ cpu->f[10] = fma(cpu->f[9], cpu->f[7], -(cpu->f[10]));
|
|
/* 02C59760 */ _t63 = cpu->r[11] + 0x00000038u;
|
|
/* 02C59760 */ rbrew_write_f32(cpu->mem, _t63, cpu->f[7]);
|
|
/* 02C59764 */ _t64 = cpu->r[1] + 0x00000014u;
|
|
/* 02C59764 */ rbrew_write_f32(cpu->mem, _t64, cpu->f[10]);
|
|
/* 02C59768 */ _t65 = cpu->r[11] + 0x00000020u;
|
|
/* 02C59768 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t65);
|
|
/* 02C5976C */ _t66 = cpu->r[11] + 0x00000030u;
|
|
/* 02C5976C */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t66);
|
|
/* 02C59770 */ cpu->f[6] = cpu->f[9] * cpu->f[7];
|
|
/* 02C59774 */ cpu->f[7] = fma(cpu->f[8], cpu->f[10], -(cpu->f[6]));
|
|
/* 02C59778 */ _t67 = cpu->r[1] + 0x00000018u;
|
|
/* 02C59778 */ rbrew_write_f32(cpu->mem, _t67, cpu->f[7]);
|
|
/* 02C5977C */ _t68 = cpu->r[11] + 0x00000024u;
|
|
/* 02C5977C */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t68);
|
|
/* 02C59780 */ _t69 = cpu->r[11] + 0x00000034u;
|
|
/* 02C59780 */ cpu->f[6] = rbrew_read_f32(cpu->mem, _t69);
|
|
/* 02C59784 */ cpu->f[7] = cpu->f[8] * cpu->f[10];
|
|
/* 02C59788 */ cpu->f[10] = fma(cpu->f[9], cpu->f[6], -(cpu->f[7]));
|
|
/* 02C5978C */ _t70 = cpu->r[1] + 0x00000014u;
|
|
/* 02C5978C */ cpu->r[9] = rbrew_read32(cpu->mem, _t70);
|
|
/* 02C59790 */ _t71 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C59790 */ rbrew_write_f32(cpu->mem, _t71, cpu->f[10]);
|
|
/* 02C59794 */ _t72 = cpu->r[11] + 0x00000010u;
|
|
/* 02C59794 */ rbrew_write32(cpu->mem, _t72, cpu->r[9]);
|
|
/* 02C59798 */ _t73 = cpu->r[1] + 0x00000018u;
|
|
/* 02C59798 */ cpu->r[0] = rbrew_read32(cpu->mem, _t73);
|
|
/* 02C5979C */ _t74 = cpu->r[11] + 0x00000014u;
|
|
/* 02C5979C */ rbrew_write32(cpu->mem, _t74, cpu->r[0]);
|
|
/* 02C597A0 */ _t75 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C597A0 */ cpu->r[5] = rbrew_read32(cpu->mem, _t75);
|
|
/* 02C597A4 */ _t76 = cpu->r[11] + 0x00000018u;
|
|
/* 02C597A4 */ rbrew_write32(cpu->mem, _t76, cpu->r[5]);
|
|
L_02C597A8: ; // 0x2c597a8
|
|
/* 02C597A8 */ _t77 = cpu->r[3] + 0x00000006u;
|
|
/* 02C597A8 */ cpu->r[0] = rbrew_read16(cpu->mem, _t77);
|
|
L_02C597AC: ; // 0x2c597ac
|
|
/* 02C597AC */ cpu->r[12] = cpu->r[12] + 0x00000001u;
|
|
/* 02C597B0 */ cpu->r[10] = cpu->r[10] + 0x00000038u;
|
|
/* 02C597B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], cpu->r[0]);
|
|
/* 02C597B8 */ cpu->r[11] = cpu->r[11] + 0x00000040u;
|
|
/* 02C597BC */ _t78 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C597BC */ _t79 = _t78 & 0x00000001u;
|
|
/* 02C597BC */ if (_t79) goto L_02C59618; else goto L_02C597C0;
|
|
L_02C597C0: ; // 0x2c597c0
|
|
/* 02C597C0 */ cpu->r[1] = cpu->r[1] + 0x00000030u;
|
|
/* 02C597C4 */ return;
|
|
}
|
|
|
|
// fn_02C597C8 @ 0x2c597c8
|
|
void Gambit_fn_02C597C8(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, _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;
|
|
double _ft24;
|
|
|
|
L_02C597C8: ; // 0x2c597c8
|
|
/* 02C597C8 */ _t0 = cpu->r[1] + 0xFFFFFFC8u;
|
|
/* 02C597C8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C597C8 */ cpu->r[1] = _t0;
|
|
/* 02C597CC */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02C597CC */ rbrew_write_f64(cpu->mem, _t1, cpu->f[29]);
|
|
/* 02C597D0 */ /* nop */
|
|
/* 02C597D4 */ _t2 = cpu->r[1] + 0x00000018u;
|
|
/* 02C597D4 */ rbrew_write_f64(cpu->mem, _t2, cpu->f[30]);
|
|
/* 02C597D8 */ /* nop */
|
|
/* 02C597DC */ _t3 = cpu->r[1] + 0x00000028u;
|
|
/* 02C597DC */ rbrew_write_f64(cpu->mem, _t3, cpu->f[31]);
|
|
/* 02C597E0 */ _t4 = cpu->r[1] + 0x00000010u;
|
|
/* 02C597E0 */ rbrew_write_f32(cpu->mem, _t4, cpu->f[29]);
|
|
/* 02C597E4 */ /* nop */
|
|
/* 02C597E8 */ _t5 = cpu->r[1] + 0x00000020u;
|
|
/* 02C597E8 */ rbrew_write_f32(cpu->mem, _t5, cpu->f[30]);
|
|
/* 02C597EC */ _t6 = cpu->r[1] + 0x00000030u;
|
|
/* 02C597EC */ rbrew_write_f32(cpu->mem, _t6, cpu->f[31]);
|
|
/* 02C597F0 */ _t7 = cpu->r[3] + 0x00000008u;
|
|
/* 02C597F0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02C597F4 */ cpu->r[9] = cpu->r[9] | 0x00000008u;
|
|
/* 02C597F8 */ _t8 = cpu->r[3] + 0x00000008u;
|
|
/* 02C597F8 */ rbrew_write32(cpu->mem, _t8, cpu->r[9]);
|
|
/* 02C597FC */ _t9 = cpu->r[4] + 0x00000004u;
|
|
/* 02C597FC */ cpu->r[10] = rbrew_read16(cpu->mem, _t9);
|
|
/* 02C59800 */ _t10 = cpu->r[3] + 0x00000000u;
|
|
/* 02C59800 */ cpu->r[11] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02C59804 */ cpu->r[10] = cpu->r[10] | 0x00000004u;
|
|
/* 02C59808 */ _t11 = cpu->r[4] + 0x00000004u;
|
|
/* 02C59808 */ rbrew_write16(cpu->mem, _t11, (uint16_t)cpu->r[10]);
|
|
/* 02C5980C */ _t12 = cpu->r[3] + 0x00000006u;
|
|
/* 02C5980C */ cpu->r[5] = rbrew_read16(cpu->mem, _t12);
|
|
/* 02C59810 */ cpu->r[12] = 0x00000000u;
|
|
/* 02C59814 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], cpu->r[5]);
|
|
/* 02C59818 */ _t13 = cpu->r[4] + 0x0000000Cu;
|
|
/* 02C59818 */ cpu->r[10] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02C5981C */ _t14 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C5981C */ _t15 = _t14 & 0x00000001u;
|
|
/* 02C5981C */ if (_t15) goto L_02C59820; else goto L_02C59970;
|
|
L_02C59820: ; // 0x2c59820
|
|
/* 02C59820 */ cpu->r[8] = 0x101B0000u;
|
|
/* 02C59824 */ cpu->r[4] = 0x101B0000u;
|
|
/* 02C59828 */ _t16 = cpu->r[8] + 0xFFFFEE30u;
|
|
/* 02C59828 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t16);
|
|
/* 02C5982C */ _t17 = cpu->r[4] + 0xFFFFEE50u;
|
|
/* 02C5982C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t17);
|
|
L_02C59830: ; // 0x2c59830
|
|
/* 02C59830 */ _t18 = cpu->r[11] + 0x0000001Cu;
|
|
/* 02C59830 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t18);
|
|
/* 02C59834 */ cpu->f[10] = fabs(cpu->f[11]);
|
|
/* 02C59838 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[10], cpu->f[0]);
|
|
/* 02C5983C */ _t19 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C5983C */ _t20 = _t19 & 0x00000001u;
|
|
/* 02C5983C */ if (_t20) goto L_02C5995C; else goto L_02C59840;
|
|
L_02C59840: ; // 0x2c59840
|
|
/* 02C59840 */ cpu->f[12] = cpu->f[11] - cpu->f[13];
|
|
/* 02C59844 */ cpu->f[10] = fabs(cpu->f[12]);
|
|
/* 02C59848 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[10], cpu->f[0]);
|
|
/* 02C5984C */ _t21 = cpu->r[11] + 0x00000000u;
|
|
/* 02C5984C */ cpu->r[7] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02C59850 */ _t22 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C59850 */ _t23 = _t22 & 0x00000001u;
|
|
/* 02C59850 */ if (_t23) goto L_02C59888; else goto L_02C59854;
|
|
L_02C59854: ; // 0x2c59854
|
|
/* 02C59854 */ _ft24 = (double)(int32_t)0x00000001u;
|
|
/* 02C59854 */ cpu->f[9] = _ft24 / cpu->f[11];
|
|
/* 02C59858 */ cpu->f[10] = cpu->f[9] + cpu->f[9];
|
|
/* 02C5985C */ cpu->f[11] = cpu->f[11] * cpu->f[9];
|
|
/* 02C59860 */ /* nop */
|
|
/* 02C59864 */ cpu->f[11] = -fma(cpu->f[11], cpu->f[9], -(cpu->f[10]));
|
|
/* 02C59868 */ /* nop */
|
|
/* 02C5986C */ /* nop */
|
|
/* 02C59870 */ /* nop */
|
|
/* 02C59874 */ /* nop */
|
|
/* 02C59878 */ /* nop */
|
|
/* 02C5987C */ /* nop */
|
|
/* 02C59880 */ /* nop */
|
|
/* 02C59884 */ /* nop */
|
|
L_02C59888: ; // 0x2c59888
|
|
/* 02C59888 */ _t25 = cpu->r[10] + 0x00000000u;
|
|
/* 02C59888 */ cpu->r[8] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02C5988C */ _t26 = cpu->r[7] | cpu->r[7];
|
|
/* 02C5988C */ cpu->r[0] = ~_t26;
|
|
/* 02C59890 */ _t27 = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000004u, 0x00000008u);
|
|
/* 02C59890 */ _t28 = cpu->r[8] & 0xF07FFFFFu;
|
|
/* 02C59890 */ cpu->r[8] = _t28 | _t27;
|
|
/* 02C59894 */ _t29 = cpu->r[10] + 0x00000000u;
|
|
/* 02C59894 */ rbrew_write32(cpu->mem, _t29, cpu->r[8]);
|
|
/* 02C59898 */ _t30 = cpu->r[11] + 0x00000004u;
|
|
/* 02C59898 */ cpu->r[6] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02C5989C */ _t31 = cpu->r[10] + 0x00000004u;
|
|
/* 02C5989C */ rbrew_write32(cpu->mem, _t31, cpu->r[6]);
|
|
/* 02C598A0 */ _t32 = cpu->r[11] + 0x00000008u;
|
|
/* 02C598A0 */ cpu->r[7] = rbrew_read32(cpu->mem, _t32);
|
|
/* 02C598A4 */ _t33 = cpu->r[10] + 0x00000008u;
|
|
/* 02C598A4 */ rbrew_write32(cpu->mem, _t33, cpu->r[7]);
|
|
/* 02C598A8 */ _t34 = cpu->r[11] + 0x0000000Cu;
|
|
/* 02C598A8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t34);
|
|
/* 02C598AC */ _t35 = cpu->r[10] + 0x0000000Cu;
|
|
/* 02C598AC */ rbrew_write32(cpu->mem, _t35, cpu->r[0]);
|
|
/* 02C598B0 */ _t36 = cpu->r[11] + 0x00000010u;
|
|
/* 02C598B0 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t36);
|
|
/* 02C598B4 */ _t37 = cpu->r[10] + 0x0000001Cu;
|
|
/* 02C598B4 */ rbrew_write_f32(cpu->mem, _t37, cpu->f[12]);
|
|
/* 02C598B8 */ _t38 = cpu->r[11] + 0x00000014u;
|
|
/* 02C598B8 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t38);
|
|
/* 02C598BC */ _t39 = cpu->r[10] + 0x0000002Cu;
|
|
/* 02C598BC */ rbrew_write_f32(cpu->mem, _t39, cpu->f[11]);
|
|
/* 02C598C0 */ _t40 = cpu->r[11] + 0x00000018u;
|
|
/* 02C598C0 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t40);
|
|
/* 02C598C4 */ _t41 = cpu->r[10] + 0x0000003Cu;
|
|
/* 02C598C4 */ rbrew_write_f32(cpu->mem, _t41, cpu->f[12]);
|
|
/* 02C598C8 */ _t42 = cpu->r[11] + 0x00000020u;
|
|
/* 02C598C8 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t42);
|
|
/* 02C598CC */ _t43 = cpu->r[11] + 0x00000024u;
|
|
/* 02C598CC */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t43);
|
|
/* 02C598D0 */ cpu->f[12] = cpu->f[10] + cpu->f[10];
|
|
/* 02C598D4 */ _t44 = cpu->r[11] + 0x00000028u;
|
|
/* 02C598D4 */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t44);
|
|
/* 02C598D8 */ cpu->f[11] = cpu->f[8] + cpu->f[8];
|
|
/* 02C598DC */ cpu->f[5] = cpu->f[7] + cpu->f[7];
|
|
/* 02C598E0 */ cpu->f[1] = cpu->f[12] * cpu->f[8];
|
|
/* 02C598E4 */ _t45 = cpu->r[11] + 0x0000002Cu;
|
|
/* 02C598E4 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t45);
|
|
/* 02C598E8 */ cpu->f[30] = cpu->f[5] * cpu->f[7];
|
|
/* 02C598EC */ cpu->f[9] = cpu->f[9] + cpu->f[9];
|
|
/* 02C598F0 */ cpu->f[2] = cpu->f[12] * cpu->f[7];
|
|
/* 02C598F4 */ cpu->f[5] = cpu->f[9] * cpu->f[7];
|
|
/* 02C598F8 */ cpu->f[29] = cpu->f[11] * cpu->f[8];
|
|
/* 02C598FC */ cpu->f[7] = cpu->f[11] * cpu->f[7];
|
|
/* 02C59900 */ cpu->f[4] = cpu->f[1] + cpu->f[5];
|
|
/* 02C59904 */ cpu->f[12] = -fma(cpu->f[12], cpu->f[10], -(cpu->f[13]));
|
|
/* 02C59908 */ cpu->f[6] = cpu->f[13] - cpu->f[29];
|
|
/* 02C5990C */ cpu->f[31] = cpu->f[6] - cpu->f[30];
|
|
/* 02C59910 */ cpu->f[6] = cpu->f[9] * cpu->f[10];
|
|
/* 02C59914 */ _t46 = cpu->r[10] + 0x00000010u;
|
|
/* 02C59914 */ rbrew_write_f32(cpu->mem, _t46, cpu->f[31]);
|
|
/* 02C59918 */ cpu->f[8] = cpu->f[9] * cpu->f[8];
|
|
/* 02C5991C */ cpu->f[11] = cpu->f[12] - cpu->f[30];
|
|
/* 02C59920 */ _t47 = cpu->r[10] + 0x00000020u;
|
|
/* 02C59920 */ rbrew_write_f32(cpu->mem, _t47, cpu->f[4]);
|
|
/* 02C59924 */ cpu->f[9] = cpu->f[1] - cpu->f[5];
|
|
/* 02C59928 */ _t48 = cpu->r[10] + 0x00000024u;
|
|
/* 02C59928 */ rbrew_write_f32(cpu->mem, _t48, cpu->f[11]);
|
|
/* 02C5992C */ cpu->f[3] = cpu->f[2] + cpu->f[8];
|
|
/* 02C59930 */ _t49 = cpu->r[10] + 0x00000014u;
|
|
/* 02C59930 */ rbrew_write_f32(cpu->mem, _t49, cpu->f[9]);
|
|
/* 02C59934 */ cpu->f[9] = cpu->f[7] - cpu->f[6];
|
|
/* 02C59938 */ cpu->f[10] = cpu->f[2] - cpu->f[8];
|
|
/* 02C5993C */ _t50 = cpu->r[10] + 0x00000018u;
|
|
/* 02C5993C */ rbrew_write_f32(cpu->mem, _t50, cpu->f[3]);
|
|
/* 02C59940 */ cpu->f[11] = cpu->f[7] + cpu->f[6];
|
|
/* 02C59944 */ _t51 = cpu->r[10] + 0x00000028u;
|
|
/* 02C59944 */ rbrew_write_f32(cpu->mem, _t51, cpu->f[9]);
|
|
/* 02C59948 */ cpu->f[12] = cpu->f[12] - cpu->f[29];
|
|
/* 02C5994C */ _t52 = cpu->r[10] + 0x00000030u;
|
|
/* 02C5994C */ rbrew_write_f32(cpu->mem, _t52, cpu->f[10]);
|
|
/* 02C59950 */ _t53 = cpu->r[10] + 0x00000034u;
|
|
/* 02C59950 */ rbrew_write_f32(cpu->mem, _t53, cpu->f[11]);
|
|
/* 02C59954 */ _t54 = cpu->r[10] + 0x00000038u;
|
|
/* 02C59954 */ rbrew_write_f32(cpu->mem, _t54, cpu->f[12]);
|
|
/* 02C59958 */ _t55 = cpu->r[3] + 0x00000006u;
|
|
/* 02C59958 */ cpu->r[5] = rbrew_read16(cpu->mem, _t55);
|
|
L_02C5995C: ; // 0x2c5995c
|
|
/* 02C5995C */ cpu->r[12] = cpu->r[12] + 0x00000001u;
|
|
/* 02C59960 */ cpu->r[11] = cpu->r[11] + 0x00000038u;
|
|
/* 02C59964 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], cpu->r[5]);
|
|
/* 02C59968 */ cpu->r[10] = cpu->r[10] + 0x00000040u;
|
|
/* 02C5996C */ _t56 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C5996C */ _t57 = _t56 & 0x00000001u;
|
|
/* 02C5996C */ if (_t57) goto L_02C59830; else goto L_02C59970;
|
|
L_02C59970: ; // 0x2c59970
|
|
/* 02C59970 */ _t58 = cpu->r[1] + 0x00000010u;
|
|
/* 02C59970 */ cpu->f[29] = rbrew_read_f32(cpu->mem, _t58);
|
|
/* 02C59974 */ _t59 = cpu->r[1] + 0x00000020u;
|
|
/* 02C59974 */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t59);
|
|
/* 02C59978 */ _t60 = cpu->r[1] + 0x00000008u;
|
|
/* 02C59978 */ cpu->f[29] = rbrew_read_f64(cpu->mem, _t60);
|
|
/* 02C5997C */ _t61 = cpu->r[1] + 0x00000030u;
|
|
/* 02C5997C */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t61);
|
|
/* 02C59980 */ _t62 = cpu->r[1] + 0x00000018u;
|
|
/* 02C59980 */ cpu->f[30] = rbrew_read_f64(cpu->mem, _t62);
|
|
/* 02C59984 */ _t63 = cpu->r[1] + 0x00000028u;
|
|
/* 02C59984 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t63);
|
|
/* 02C59988 */ _t64 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C59988 */ _t65 = _t64 & 0x00000001u;
|
|
/* 02C59988 */ if (_t65) goto L_02C5998C; // else: addr-0 trap, fall-through
|
|
L_02C5998C: ; // 0x2c5998c
|
|
/* 02C5998C */ cpu->r[1] = cpu->r[1] + 0x00000038u;
|
|
/* 02C59990 */ return;
|
|
}
|
|
|
|
// fn_02C59994 @ 0x2c59994
|
|
void Gambit_fn_02C59994(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;
|
|
|
|
L_02C59994: ; // 0x2c59994
|
|
/* 02C59994 */ _t0 = cpu->r[1] + 0xFFFFFFD8u;
|
|
/* 02C59994 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C59994 */ cpu->r[1] = _t0;
|
|
/* 02C59998 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02C59998 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[30]);
|
|
/* 02C5999C */ /* nop */
|
|
/* 02C599A0 */ _t2 = cpu->r[1] + 0x00000018u;
|
|
/* 02C599A0 */ rbrew_write_f64(cpu->mem, _t2, cpu->f[31]);
|
|
/* 02C599A4 */ /* nop */
|
|
/* 02C599A8 */ _t3 = cpu->r[1] + 0x00000010u;
|
|
/* 02C599A8 */ rbrew_write_f32(cpu->mem, _t3, cpu->f[30]);
|
|
/* 02C599AC */ _t4 = cpu->r[1] + 0x00000020u;
|
|
/* 02C599AC */ rbrew_write_f32(cpu->mem, _t4, cpu->f[31]);
|
|
/* 02C599B0 */ _t5 = cpu->r[3] + 0x00000008u;
|
|
/* 02C599B0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02C599B4 */ cpu->r[0] = cpu->r[0] | 0x00000008u;
|
|
/* 02C599B8 */ _t6 = cpu->r[3] + 0x00000008u;
|
|
/* 02C599B8 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02C599BC */ _t7 = cpu->r[4] + 0x00000004u;
|
|
/* 02C599BC */ cpu->r[5] = rbrew_read16(cpu->mem, _t7);
|
|
/* 02C599C0 */ _t8 = cpu->r[3] + 0x00000000u;
|
|
/* 02C599C0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C599C4 */ cpu->r[5] = cpu->r[5] | 0x00000004u;
|
|
/* 02C599C8 */ _t9 = cpu->r[4] + 0x00000004u;
|
|
/* 02C599C8 */ rbrew_write16(cpu->mem, _t9, (uint16_t)cpu->r[5]);
|
|
/* 02C599CC */ _t10 = cpu->r[3] + 0x00000006u;
|
|
/* 02C599CC */ cpu->r[7] = rbrew_read16(cpu->mem, _t10);
|
|
/* 02C599D0 */ cpu->r[12] = 0x00000000u;
|
|
/* 02C599D4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], cpu->r[7]);
|
|
/* 02C599D8 */ _t11 = cpu->r[4] + 0x0000000Cu;
|
|
/* 02C599D8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02C599DC */ _t12 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C599DC */ _t13 = _t12 & 0x00000001u;
|
|
/* 02C599DC */ if (_t13) goto L_02C599E0; else goto L_02C59AEC;
|
|
L_02C599E0: ; // 0x2c599e0
|
|
/* 02C599E0 */ cpu->r[8] = 0x101B0000u;
|
|
/* 02C599E4 */ cpu->r[5] = 0x101B0000u;
|
|
/* 02C599E8 */ _t14 = cpu->r[8] + 0xFFFFEE30u;
|
|
/* 02C599E8 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t14);
|
|
/* 02C599EC */ _t15 = cpu->r[5] + 0xFFFFEE50u;
|
|
/* 02C599EC */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t15);
|
|
L_02C599F0: ; // 0x2c599f0
|
|
/* 02C599F0 */ _t16 = cpu->r[11] + 0x0000001Cu;
|
|
/* 02C599F0 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t16);
|
|
/* 02C599F4 */ cpu->f[11] = fabs(cpu->f[12]);
|
|
/* 02C599F8 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[11], cpu->f[13]);
|
|
/* 02C599FC */ _t17 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C599FC */ _t18 = _t17 & 0x00000001u;
|
|
/* 02C599FC */ if (_t18) goto L_02C59AD8; else goto L_02C59A00;
|
|
L_02C59A00: ; // 0x2c59a00
|
|
/* 02C59A00 */ _t19 = cpu->r[11] + 0x00000000u;
|
|
/* 02C59A00 */ cpu->r[8] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02C59A04 */ _t20 = cpu->r[10] + 0x00000000u;
|
|
/* 02C59A04 */ cpu->r[0] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02C59A08 */ _t21 = cpu->r[8] | cpu->r[8];
|
|
/* 02C59A08 */ cpu->r[6] = ~_t21;
|
|
/* 02C59A0C */ _t22 = rbrew_rlwinm(cpu->r[6], 0x00000000u, 0x00000004u, 0x00000008u);
|
|
/* 02C59A0C */ _t23 = cpu->r[0] & 0xF07FFFFFu;
|
|
/* 02C59A0C */ cpu->r[0] = _t23 | _t22;
|
|
/* 02C59A10 */ _t24 = cpu->r[10] + 0x00000000u;
|
|
/* 02C59A10 */ rbrew_write32(cpu->mem, _t24, cpu->r[0]);
|
|
/* 02C59A14 */ _t25 = cpu->r[11] + 0x00000004u;
|
|
/* 02C59A14 */ cpu->r[6] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02C59A18 */ _t26 = cpu->r[10] + 0x00000004u;
|
|
/* 02C59A18 */ rbrew_write32(cpu->mem, _t26, cpu->r[6]);
|
|
/* 02C59A1C */ _t27 = cpu->r[11] + 0x00000008u;
|
|
/* 02C59A1C */ cpu->r[7] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02C59A20 */ _t28 = cpu->r[10] + 0x00000008u;
|
|
/* 02C59A20 */ rbrew_write32(cpu->mem, _t28, cpu->r[7]);
|
|
/* 02C59A24 */ _t29 = cpu->r[11] + 0x0000000Cu;
|
|
/* 02C59A24 */ cpu->r[9] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02C59A28 */ _t30 = cpu->r[10] + 0x0000000Cu;
|
|
/* 02C59A28 */ rbrew_write32(cpu->mem, _t30, cpu->r[9]);
|
|
/* 02C59A2C */ _t31 = cpu->r[11] + 0x00000010u;
|
|
/* 02C59A2C */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t31);
|
|
/* 02C59A30 */ _t32 = cpu->r[10] + 0x0000001Cu;
|
|
/* 02C59A30 */ rbrew_write_f32(cpu->mem, _t32, cpu->f[11]);
|
|
/* 02C59A34 */ _t33 = cpu->r[11] + 0x00000014u;
|
|
/* 02C59A34 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t33);
|
|
/* 02C59A38 */ _t34 = cpu->r[10] + 0x0000002Cu;
|
|
/* 02C59A38 */ rbrew_write_f32(cpu->mem, _t34, cpu->f[12]);
|
|
/* 02C59A3C */ _t35 = cpu->r[11] + 0x00000018u;
|
|
/* 02C59A3C */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t35);
|
|
/* 02C59A40 */ _t36 = cpu->r[10] + 0x0000003Cu;
|
|
/* 02C59A40 */ rbrew_write_f32(cpu->mem, _t36, cpu->f[11]);
|
|
/* 02C59A44 */ _t37 = cpu->r[11] + 0x00000024u;
|
|
/* 02C59A44 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t37);
|
|
/* 02C59A48 */ _t38 = cpu->r[11] + 0x00000020u;
|
|
/* 02C59A48 */ cpu->f[3] = rbrew_read_f32(cpu->mem, _t38);
|
|
/* 02C59A4C */ cpu->f[5] = cpu->f[12] + cpu->f[12];
|
|
/* 02C59A50 */ _t39 = cpu->r[11] + 0x0000002Cu;
|
|
/* 02C59A50 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t39);
|
|
/* 02C59A54 */ cpu->f[4] = cpu->f[3] + cpu->f[3];
|
|
/* 02C59A58 */ _t40 = cpu->r[11] + 0x00000028u;
|
|
/* 02C59A58 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t40);
|
|
/* 02C59A5C */ cpu->f[9] = cpu->f[31] + cpu->f[31];
|
|
/* 02C59A60 */ cpu->f[6] = cpu->f[5] * cpu->f[12];
|
|
/* 02C59A64 */ cpu->f[11] = cpu->f[11] + cpu->f[11];
|
|
/* 02C59A68 */ cpu->f[7] = cpu->f[9] * cpu->f[31];
|
|
/* 02C59A6C */ cpu->f[10] = cpu->f[0] - cpu->f[6];
|
|
/* 02C59A70 */ cpu->f[8] = cpu->f[4] * cpu->f[12];
|
|
/* 02C59A74 */ cpu->f[30] = cpu->f[10] - cpu->f[7];
|
|
/* 02C59A78 */ cpu->f[10] = cpu->f[11] * cpu->f[31];
|
|
/* 02C59A7C */ cpu->f[12] = cpu->f[11] * cpu->f[12];
|
|
/* 02C59A80 */ cpu->f[9] = cpu->f[4] * cpu->f[31];
|
|
/* 02C59A84 */ cpu->f[2] = cpu->f[8] + cpu->f[10];
|
|
/* 02C59A88 */ cpu->f[1] = cpu->f[9] + cpu->f[12];
|
|
/* 02C59A8C */ cpu->f[9] = cpu->f[9] - cpu->f[12];
|
|
/* 02C59A90 */ _t41 = cpu->r[10] + 0x00000020u;
|
|
/* 02C59A90 */ rbrew_write_f32(cpu->mem, _t41, cpu->f[2]);
|
|
/* 02C59A94 */ cpu->f[2] = cpu->f[8] - cpu->f[10];
|
|
/* 02C59A98 */ cpu->f[8] = -fma(cpu->f[4], cpu->f[3], -(cpu->f[0]));
|
|
/* 02C59A9C */ _t42 = cpu->r[10] + 0x00000030u;
|
|
/* 02C59A9C */ rbrew_write_f32(cpu->mem, _t42, cpu->f[9]);
|
|
/* 02C59AA0 */ cpu->f[10] = cpu->f[5] * cpu->f[31];
|
|
/* 02C59AA4 */ _t43 = cpu->r[10] + 0x00000018u;
|
|
/* 02C59AA4 */ rbrew_write_f32(cpu->mem, _t43, cpu->f[1]);
|
|
/* 02C59AA8 */ cpu->f[11] = cpu->f[11] * cpu->f[3];
|
|
/* 02C59AAC */ _t44 = cpu->r[10] + 0x00000010u;
|
|
/* 02C59AAC */ rbrew_write_f32(cpu->mem, _t44, cpu->f[30]);
|
|
/* 02C59AB0 */ cpu->f[5] = cpu->f[8] - cpu->f[7];
|
|
/* 02C59AB4 */ _t45 = cpu->r[10] + 0x00000014u;
|
|
/* 02C59AB4 */ rbrew_write_f32(cpu->mem, _t45, cpu->f[2]);
|
|
/* 02C59AB8 */ cpu->f[7] = cpu->f[10] - cpu->f[11];
|
|
/* 02C59ABC */ _t46 = cpu->r[10] + 0x00000024u;
|
|
/* 02C59ABC */ rbrew_write_f32(cpu->mem, _t46, cpu->f[5]);
|
|
/* 02C59AC0 */ cpu->f[11] = cpu->f[10] + cpu->f[11];
|
|
/* 02C59AC4 */ _t47 = cpu->r[10] + 0x00000028u;
|
|
/* 02C59AC4 */ rbrew_write_f32(cpu->mem, _t47, cpu->f[7]);
|
|
/* 02C59AC8 */ cpu->f[12] = cpu->f[8] - cpu->f[6];
|
|
/* 02C59ACC */ _t48 = cpu->r[10] + 0x00000034u;
|
|
/* 02C59ACC */ rbrew_write_f32(cpu->mem, _t48, cpu->f[11]);
|
|
/* 02C59AD0 */ _t49 = cpu->r[10] + 0x00000038u;
|
|
/* 02C59AD0 */ rbrew_write_f32(cpu->mem, _t49, cpu->f[12]);
|
|
/* 02C59AD4 */ _t50 = cpu->r[3] + 0x00000006u;
|
|
/* 02C59AD4 */ cpu->r[7] = rbrew_read16(cpu->mem, _t50);
|
|
L_02C59AD8: ; // 0x2c59ad8
|
|
/* 02C59AD8 */ cpu->r[12] = cpu->r[12] + 0x00000001u;
|
|
/* 02C59ADC */ cpu->r[11] = cpu->r[11] + 0x00000038u;
|
|
/* 02C59AE0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], cpu->r[7]);
|
|
/* 02C59AE4 */ cpu->r[10] = cpu->r[10] + 0x00000040u;
|
|
/* 02C59AE8 */ _t51 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C59AE8 */ _t52 = _t51 & 0x00000001u;
|
|
/* 02C59AE8 */ if (_t52) goto L_02C599F0; else goto L_02C59AEC;
|
|
L_02C59AEC: ; // 0x2c59aec
|
|
/* 02C59AEC */ _t53 = cpu->r[1] + 0x00000010u;
|
|
/* 02C59AEC */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t53);
|
|
/* 02C59AF0 */ _t54 = cpu->r[1] + 0x00000020u;
|
|
/* 02C59AF0 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t54);
|
|
/* 02C59AF4 */ _t55 = cpu->r[1] + 0x00000008u;
|
|
/* 02C59AF4 */ cpu->f[30] = rbrew_read_f64(cpu->mem, _t55);
|
|
/* 02C59AF8 */ _t56 = cpu->r[1] + 0x00000018u;
|
|
/* 02C59AF8 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t56);
|
|
/* 02C59AFC */ _t57 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C59AFC */ _t58 = _t57 & 0x00000001u;
|
|
/* 02C59AFC */ if (_t58) goto L_02C59B00; // else: addr-0 trap, fall-through
|
|
L_02C59B00: ; // 0x2c59b00
|
|
/* 02C59B00 */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 02C59B04 */ return;
|
|
}
|
|
|
|
// fn_02C59B08 @ 0x2c59b08
|
|
void Gambit_fn_02C59B08(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18;
|
|
|
|
L_02C59B08: ; // 0x2c59b08
|
|
/* 02C59B08 */ _t0 = cpu->r[4] + 0x00000000u;
|
|
/* 02C59B08 */ cpu->r[5] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02C59B0C */ _t1 = cpu->r[5] + 0x00000008u;
|
|
/* 02C59B0C */ cpu->r[7] = rbrew_read16(cpu->mem, _t1);
|
|
/* 02C59B10 */ cpu->r[6] = (uint32_t)((int32_t)cpu->r[7] * (int32_t)0x00000030u);
|
|
/* 02C59B14 */ _t2 = cpu->r[5] + 0x00000004u;
|
|
/* 02C59B14 */ cpu->r[10] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02C59B18 */ cpu->r[8] = cpu->r[3] + 0x00000008u;
|
|
/* 02C59B1C */ cpu->r[9] = 0x00000000u;
|
|
/* 02C59B20 */ cpu->r[11] = cpu->r[6] + 0x0000003Fu;
|
|
/* 02C59B24 */ cpu->r[6] = rbrew_rlwinm(cpu->r[7], 0x00000006u, 0x00000000u, 0x00000019u);
|
|
/* 02C59B28 */ cpu->r[12] = rbrew_rlwinm(cpu->r[11], 0x00000000u, 0x00000000u, 0x00000019u);
|
|
/* 02C59B2C */ cpu->r[0] = cpu->r[6] + 0x0000003Fu;
|
|
/* 02C59B30 */ cpu->r[5] = rbrew_rlwinm(cpu->r[10], 0x00000000u, 0x00000016u, 0x00000017u);
|
|
/* 02C59B34 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000000u, 0x00000019u);
|
|
/* 02C59B38 */ _t3 = cpu->r[3] + 0x00000008u;
|
|
/* 02C59B38 */ rbrew_write32(cpu->mem, _t3, cpu->r[12]);
|
|
/* 02C59B3C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000300u);
|
|
/* 02C59B40 */ _t4 = cpu->r[3] + 0x00000010u;
|
|
/* 02C59B40 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02C59B44 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C59B44 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02C59B44 */ if (_t6) goto L_02C59B48; else goto L_02C59B4C;
|
|
L_02C59B48: ; // 0x2c59b48
|
|
/* 02C59B48 */ cpu->r[9] = (uint32_t)((int32_t)cpu->r[7] * (int32_t)0x0000000Cu);
|
|
L_02C59B4C: ; // 0x2c59b4c
|
|
/* 02C59B4C */ cpu->r[6] = 0x00000000u;
|
|
/* 02C59B50 */ _t7 = cpu->r[8] + 0x00000004u;
|
|
/* 02C59B50 */ rbrew_write32(cpu->mem, _t7, cpu->r[6]);
|
|
/* 02C59B54 */ cpu->r[6] = 0x00000002u;
|
|
/* 02C59B58 */ cpu->r[7] = cpu->r[8] + 0xFFFFFFF8u;
|
|
/* 02C59B5C */ cpu->ctr = cpu->r[6];
|
|
/* 02C59B60 */ _t8 = cpu->r[8] + 0x00000010u;
|
|
/* 02C59B60 */ rbrew_write32(cpu->mem, _t8, cpu->r[9]);
|
|
L_02C59B64: ; // 0x2c59b64
|
|
/* 02C59B64 */ _t9 = cpu->r[7] + 0x0000000Cu;
|
|
/* 02C59B64 */ cpu->r[12] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02C59B68 */ _t10 = cpu->r[7] + 0x00000008u;
|
|
/* 02C59B68 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02C59B68 */ cpu->r[7] = _t10;
|
|
/* 02C59B6C */ cpu->r[11] = cpu->r[12] + cpu->r[0];
|
|
/* 02C59B70 */ _t11 = cpu->r[7] + 0x0000000Cu;
|
|
/* 02C59B70 */ rbrew_write32(cpu->mem, _t11, cpu->r[11]);
|
|
/* 02C59B74 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02C59B74 */ _t12 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02C59B74 */ _t13 = _t12 >> (0x00000002u & 31u);
|
|
/* 02C59B74 */ _t14 = _t13 & 0x00000001u;
|
|
/* 02C59B74 */ if (_t14) goto L_02C59B64; else goto L_02C59B78;
|
|
L_02C59B78: ; // 0x2c59b78
|
|
/* 02C59B78 */ cpu->r[9] = rbrew_rlwinm(cpu->r[6], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 02C59B7C */ cpu->r[12] = cpu->r[8] + cpu->r[9];
|
|
/* 02C59B80 */ _t15 = cpu->r[8] + cpu->r[9];
|
|
/* 02C59B80 */ cpu->r[5] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02C59B84 */ _t16 = cpu->r[12] + 0x00000004u;
|
|
/* 02C59B84 */ cpu->r[7] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02C59B88 */ _t17 = cpu->r[3] + 0x00000000u;
|
|
/* 02C59B88 */ rbrew_write32(cpu->mem, _t17, cpu->r[8]);
|
|
/* 02C59B8C */ cpu->r[0] = cpu->r[7] + cpu->r[5];
|
|
/* 02C59B90 */ _t18 = cpu->r[3] + 0x00000004u;
|
|
/* 02C59B90 */ rbrew_write32(cpu->mem, _t18, cpu->r[0]);
|
|
/* 02C59B94 */ return;
|
|
}
|
|
|
|
// fn_02C59B98 @ 0x2c59b98
|
|
void Gambit_fn_02C59B98(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3;
|
|
|
|
L_02C59B98: ; // 0x2c59b98
|
|
/* 02C59B98 */ cpu->r[0] = cpu->lr;
|
|
/* 02C59B9C */ cpu->r[4] = cpu->r[3];
|
|
/* 02C59BA0 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 02C59BA0 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 02C59BA4 */ cpu->r[3] = cpu->r[4] + 0x00000008u;
|
|
/* 02C59BA8 */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02C59BA8 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 02C59BA8 */ cpu->r[1] = _t1;
|
|
/* 02C59BAC */ Gambit_fn_02C59B08(cpu);
|
|
/* 02C59BB0 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C59BB0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02C59BB4 */ _t3 = cpu->r[4] + 0x0000000Cu;
|
|
/* 02C59BB4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02C59BB8 */ cpu->lr = cpu->r[0];
|
|
/* 02C59BBC */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02C59BC0 */ return;
|
|
}
|
|
|
|
// fn_02C59BA8 @ 0x2c59ba8
|
|
void Gambit_fn_02C59BA8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2;
|
|
|
|
L_02C59BA8: ; // 0x2c59ba8
|
|
/* 02C59BA8 */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02C59BA8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C59BA8 */ cpu->r[1] = _t0;
|
|
/* 02C59BAC */ Gambit_fn_02C59B08(cpu);
|
|
/* 02C59BB0 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C59BB0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02C59BB4 */ _t2 = cpu->r[4] + 0x0000000Cu;
|
|
/* 02C59BB4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02C59BB8 */ cpu->lr = cpu->r[0];
|
|
/* 02C59BBC */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02C59BC0 */ return;
|
|
}
|
|
|
|
// fn_02C59BC4 @ 0x2c59bc4
|
|
void Gambit_fn_02C59BC4(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;
|
|
|
|
L_02C59BC4: ; // 0x2c59bc4
|
|
/* 02C59BC4 */ _t0 = cpu->r[1] + 0xFFFFFF98u;
|
|
/* 02C59BC4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C59BC4 */ cpu->r[1] = _t0;
|
|
/* 02C59BC8 */ _t1 = cpu->r[1] + 0x00000028u;
|
|
/* 02C59BC8 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[28]);
|
|
/* 02C59BCC */ /* nop */
|
|
/* 02C59BD0 */ _t2 = cpu->r[1] + 0x00000038u;
|
|
/* 02C59BD0 */ rbrew_write_f64(cpu->mem, _t2, cpu->f[29]);
|
|
/* 02C59BD4 */ /* nop */
|
|
/* 02C59BD8 */ _t3 = cpu->r[1] + 0x00000048u;
|
|
/* 02C59BD8 */ rbrew_write_f64(cpu->mem, _t3, cpu->f[30]);
|
|
/* 02C59BDC */ /* nop */
|
|
/* 02C59BE0 */ _t4 = cpu->r[1] + 0x00000058u;
|
|
/* 02C59BE0 */ rbrew_write_f64(cpu->mem, _t4, cpu->f[31]);
|
|
/* 02C59BE4 */ /* nop */
|
|
/* 02C59BE8 */ _t5 = cpu->r[1] + 0x00000030u;
|
|
/* 02C59BE8 */ rbrew_write_f32(cpu->mem, _t5, cpu->f[28]);
|
|
/* 02C59BEC */ _t6 = cpu->r[1] + 0x00000040u;
|
|
/* 02C59BEC */ rbrew_write_f32(cpu->mem, _t6, cpu->f[29]);
|
|
/* 02C59BF0 */ _t7 = cpu->r[1] + 0x00000050u;
|
|
/* 02C59BF0 */ rbrew_write_f32(cpu->mem, _t7, cpu->f[30]);
|
|
/* 02C59BF4 */ _t8 = cpu->r[1] + 0x00000060u;
|
|
/* 02C59BF4 */ rbrew_write_f32(cpu->mem, _t8, cpu->f[31]);
|
|
/* 02C59BF8 */ _t9 = cpu->r[3] + 0x00000004u;
|
|
/* 02C59BF8 */ cpu->r[11] = rbrew_read16(cpu->mem, _t9);
|
|
/* 02C59BFC */ _t10 = cpu->r[3] + 0x00000000u;
|
|
/* 02C59BFC */ cpu->r[8] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02C59C00 */ cpu->r[11] = cpu->r[11] | 0x00000004u;
|
|
/* 02C59C04 */ _t11 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02C59C04 */ cpu->r[6] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02C59C08 */ cpu->r[12] = rbrew_rlwinm(cpu->r[11], 0x00000000u, 0x00000011u, 0x00000013u);
|
|
/* 02C59C08 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02C59C0C */ _t12 = cpu->r[3] + 0x00000004u;
|
|
/* 02C59C0C */ rbrew_write16(cpu->mem, _t12, (uint16_t)cpu->r[11]);
|
|
/* 02C59C10 */ _t13 = cpu->r[8] + 0x00000008u;
|
|
/* 02C59C10 */ cpu->r[12] = rbrew_read16(cpu->mem, _t13);
|
|
/* 02C59C14 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C59C14 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02C59C14 */ if (_t15) goto L_02C59E04; else goto L_02C59C18;
|
|
L_02C59C18: ; // 0x2c59c18
|
|
/* 02C59C18 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02C59C1C */ _t16 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C59C1C */ _t17 = _t16 & 0x00000001u;
|
|
/* 02C59C1C */ if (_t17) goto L_02C59C20; else goto L_02C59F24;
|
|
L_02C59C20: ; // 0x2c59c20
|
|
/* 02C59C20 */ cpu->r[11] = 0x101B0000u;
|
|
/* 02C59C24 */ _t18 = cpu->r[11] + 0xFFFFEF48u;
|
|
/* 02C59C24 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t18);
|
|
/* 02C59C28 */ cpu->r[11] = 0x101B0000u;
|
|
/* 02C59C2C */ cpu->r[7] = 0x00000000u;
|
|
/* 02C59C30 */ _t19 = cpu->r[11] + 0xFFFFEF50u;
|
|
/* 02C59C30 */ cpu->f[12] = rbrew_read_f64(cpu->mem, _t19);
|
|
/* 02C59C34 */ cpu->r[11] = 0x101B0000u;
|
|
/* 02C59C38 */ cpu->r[9] = 0x101B0000u;
|
|
/* 02C59C3C */ _t20 = cpu->r[11] + 0xFFFFEF58u;
|
|
/* 02C59C3C */ cpu->f[0] = rbrew_read_f64(cpu->mem, _t20);
|
|
/* 02C59C40 */ cpu->r[9] = cpu->r[9] + 0xFFFFF1DCu;
|
|
L_02C59C44: ; // 0x2c59c44
|
|
/* 02C59C44 */ _t21 = cpu->r[8] + 0x00000014u;
|
|
/* 02C59C44 */ cpu->r[10] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02C59C48 */ cpu->r[5] = 0x00000000u;
|
|
/* 02C59C4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02C59C50 */ cpu->r[11] = cpu->r[8] + 0x00000014u;
|
|
/* 02C59C54 */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C59C54 */ _t23 = _t22 & 0x00000001u;
|
|
/* 02C59C54 */ if (_t23) goto L_02C59C5C; else goto L_02C59C58;
|
|
L_02C59C58: ; // 0x2c59c58
|
|
/* 02C59C58 */ cpu->r[5] = cpu->r[11] + cpu->r[10];
|
|
L_02C59C5C: ; // 0x2c59c5c
|
|
/* 02C59C5C */ cpu->r[4] = cpu->r[5] + cpu->r[7];
|
|
/* 02C59C60 */ cpu->r[10] = 0x00000003u;
|
|
/* 02C59C64 */ _t24 = cpu->r[4] + 0x00000010u;
|
|
/* 02C59C64 */ cpu->r[11] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02C59C68 */ cpu->ctr = cpu->r[10];
|
|
/* 02C59C6C */ cpu->r[11] = cpu->r[11] & 0x0F870000u;
|
|
/* 02C59C6C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02C59C70 */ cpu->r[10] = 0x00000000u;
|
|
/* 02C59C74 */ cpu->r[5] = cpu->r[6] + cpu->r[7];
|
|
/* 02C59C78 */ _t25 = cpu->r[6] + cpu->r[7];
|
|
/* 02C59C78 */ rbrew_write32(cpu->mem, _t25, cpu->r[11]);
|
|
L_02C59C7C: ; // 0x2c59c7c
|
|
/* 02C59C7C */ cpu->r[11] = cpu->r[4] + 0x00000014u;
|
|
/* 02C59C80 */ _t26 = cpu->r[11] + cpu->r[10];
|
|
/* 02C59C80 */ cpu->r[11] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02C59C84 */ cpu->r[11] = cpu->r[5] + 0x00000004u;
|
|
/* 02C59C88 */ _t27 = cpu->r[11] + cpu->r[10];
|
|
/* 02C59C88 */ rbrew_write32(cpu->mem, _t27, cpu->r[11]);
|
|
/* 02C59C8C */ cpu->r[10] = cpu->r[10] + 0x00000004u;
|
|
/* 02C59C90 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02C59C90 */ _t28 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02C59C90 */ _t29 = _t28 >> (0x00000002u & 31u);
|
|
/* 02C59C90 */ _t30 = _t29 & 0x00000001u;
|
|
/* 02C59C90 */ if (_t30) goto L_02C59C7C; else goto L_02C59C94;
|
|
L_02C59C94: ; // 0x2c59c94
|
|
/* 02C59C94 */ _t31 = cpu->r[4] + 0x00000020u;
|
|
/* 02C59C94 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t31);
|
|
/* 02C59C98 */ cpu->r[11] = 0x43300000u;
|
|
/* 02C59C9C */ cpu->f[11] = fma(cpu->f[11], cpu->f[0], cpu->f[12]);
|
|
/* 02C59CA0 */ _t32 = cpu->r[1] + 0x00000008u;
|
|
/* 02C59CA0 */ rbrew_write32(cpu->mem, _t32, cpu->r[11]);
|
|
/* 02C59CA4 */ cpu->r[11] = 0x101B0000u;
|
|
/* 02C59CA8 */ _t33 = cpu->r[11] + 0xFFFFEF70u;
|
|
/* 02C59CA8 */ cpu->f[28] = rbrew_read_f64(cpu->mem, _t33);
|
|
/* 02C59CAC */ _t34 = cpu->r[1] + 0x00000010u;
|
|
/* 02C59CAC */ rbrew_write_f64(cpu->mem, _t34, cpu->f[11]);
|
|
/* 02C59CB0 */ _t35 = cpu->r[1] + 0x00000014u;
|
|
/* 02C59CB0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t35);
|
|
/* 02C59CB4 */ _t36 = cpu->r[4] + 0x00000024u;
|
|
/* 02C59CB4 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t36);
|
|
/* 02C59CB8 */ cpu->r[11] = rbrew_rlwinm(cpu->r[10], 0x00000000u, 0x00000008u, 0x0000001Fu);
|
|
/* 02C59CBC */ cpu->r[10] = rbrew_rlwinm(cpu->r[10], 0x0000000Cu, 0x00000014u, 0x0000001Bu);
|
|
/* 02C59CC0 */ _t37 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C59CC0 */ rbrew_write32(cpu->mem, _t37, cpu->r[11]);
|
|
/* 02C59CC4 */ _t38 = cpu->r[1] + 0x00000008u;
|
|
/* 02C59CC4 */ cpu->f[10] = rbrew_read_f64(cpu->mem, _t38);
|
|
/* 02C59CC8 */ cpu->r[10] = cpu->r[9] + cpu->r[10];
|
|
/* 02C59CCC */ cpu->f[9] = cpu->f[10] - cpu->f[28];
|
|
/* 02C59CD0 */ _t39 = cpu->r[10] + 0x00000008u;
|
|
/* 02C59CD0 */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t39);
|
|
/* 02C59CD4 */ cpu->f[10] = fma(cpu->f[11], cpu->f[0], cpu->f[12]);
|
|
/* 02C59CD8 */ _t40 = cpu->r[10] + 0x00000000u;
|
|
/* 02C59CD8 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t40);
|
|
/* 02C59CDC */ cpu->f[11] = (double)(float)cpu->f[9];
|
|
/* 02C59CE0 */ _t41 = cpu->r[1] + 0x00000018u;
|
|
/* 02C59CE0 */ rbrew_write_f64(cpu->mem, _t41, cpu->f[10]);
|
|
/* 02C59CE4 */ _t42 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C59CE4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t42);
|
|
/* 02C59CE8 */ cpu->f[9] = cpu->f[11] * cpu->f[13];
|
|
/* 02C59CEC */ cpu->r[8] = rbrew_rlwinm(cpu->r[11], 0x00000000u, 0x00000008u, 0x0000001Fu);
|
|
/* 02C59CF0 */ _t43 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C59CF0 */ rbrew_write32(cpu->mem, _t43, cpu->r[8]);
|
|
/* 02C59CF4 */ _t44 = cpu->r[1] + 0x00000008u;
|
|
/* 02C59CF4 */ cpu->f[11] = rbrew_read_f64(cpu->mem, _t44);
|
|
/* 02C59CF8 */ cpu->r[11] = rbrew_rlwinm(cpu->r[11], 0x0000000Cu, 0x00000014u, 0x0000001Bu);
|
|
/* 02C59CFC */ _t45 = cpu->r[4] + 0x00000028u;
|
|
/* 02C59CFC */ cpu->f[6] = rbrew_read_f32(cpu->mem, _t45);
|
|
/* 02C59D00 */ cpu->f[11] = cpu->f[11] - cpu->f[28];
|
|
/* 02C59D04 */ _t46 = cpu->r[10] + 0x00000004u;
|
|
/* 02C59D04 */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t46);
|
|
/* 02C59D08 */ cpu->r[11] = cpu->r[9] + cpu->r[11];
|
|
/* 02C59D0C */ cpu->f[1] = fma(cpu->f[7], cpu->f[9], cpu->f[8]);
|
|
/* 02C59D10 */ _t47 = cpu->r[11] + 0x0000000Cu;
|
|
/* 02C59D10 */ cpu->f[3] = rbrew_read_f32(cpu->mem, _t47);
|
|
/* 02C59D14 */ cpu->f[7] = (double)(float)cpu->f[11];
|
|
/* 02C59D18 */ _t48 = cpu->r[11] + 0x00000004u;
|
|
/* 02C59D18 */ cpu->f[4] = rbrew_read_f32(cpu->mem, _t48);
|
|
/* 02C59D1C */ cpu->f[6] = fma(cpu->f[6], cpu->f[0], cpu->f[12]);
|
|
/* 02C59D20 */ _t49 = cpu->r[11] + 0x00000008u;
|
|
/* 02C59D20 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t49);
|
|
/* 02C59D24 */ _t50 = cpu->r[10] + 0x0000000Cu;
|
|
/* 02C59D24 */ cpu->f[29] = rbrew_read_f32(cpu->mem, _t50);
|
|
/* 02C59D28 */ cpu->f[5] = cpu->f[7] * cpu->f[13];
|
|
/* 02C59D2C */ _t51 = cpu->r[11] + 0x00000000u;
|
|
/* 02C59D2C */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t51);
|
|
/* 02C59D30 */ _t52 = cpu->r[1] + 0x00000020u;
|
|
/* 02C59D30 */ rbrew_write_f64(cpu->mem, _t52, cpu->f[6]);
|
|
/* 02C59D34 */ _t53 = cpu->r[1] + 0x00000024u;
|
|
/* 02C59D34 */ cpu->r[11] = rbrew_read32(cpu->mem, _t53);
|
|
/* 02C59D38 */ cpu->f[31] = fma(cpu->f[8], cpu->f[5], cpu->f[10]);
|
|
/* 02C59D3C */ cpu->r[10] = rbrew_rlwinm(cpu->r[11], 0x00000000u, 0x00000008u, 0x0000001Fu);
|
|
/* 02C59D40 */ cpu->f[30] = fma(cpu->f[29], cpu->f[9], cpu->f[30]);
|
|
/* 02C59D44 */ _t54 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C59D44 */ rbrew_write32(cpu->mem, _t54, cpu->r[10]);
|
|
/* 02C59D48 */ _t55 = cpu->r[1] + 0x00000008u;
|
|
/* 02C59D48 */ cpu->f[11] = rbrew_read_f64(cpu->mem, _t55);
|
|
/* 02C59D4C */ cpu->f[4] = fma(cpu->f[3], cpu->f[5], cpu->f[4]);
|
|
/* 02C59D50 */ cpu->f[11] = cpu->f[11] - cpu->f[28];
|
|
/* 02C59D54 */ cpu->r[11] = rbrew_rlwinm(cpu->r[11], 0x0000000Cu, 0x00000014u, 0x0000001Bu);
|
|
/* 02C59D58 */ cpu->f[2] = cpu->f[1] * cpu->f[31];
|
|
/* 02C59D5C */ cpu->r[11] = cpu->r[9] + cpu->r[11];
|
|
/* 02C59D60 */ cpu->f[11] = (double)(float)cpu->f[11];
|
|
/* 02C59D64 */ _t56 = cpu->r[11] + 0x00000008u;
|
|
/* 02C59D64 */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t56);
|
|
/* 02C59D68 */ cpu->f[8] = -cpu->f[31];
|
|
/* 02C59D6C */ _t57 = cpu->r[11] + 0x0000000Cu;
|
|
/* 02C59D6C */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t57);
|
|
/* 02C59D70 */ cpu->f[6] = cpu->f[11] * cpu->f[13];
|
|
/* 02C59D74 */ _t58 = cpu->r[11] + 0x00000000u;
|
|
/* 02C59D74 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t58);
|
|
/* 02C59D78 */ _t59 = cpu->r[11] + 0x00000004u;
|
|
/* 02C59D78 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t59);
|
|
/* 02C59D7C */ cpu->f[3] = fma(cpu->f[7], cpu->f[6], cpu->f[9]);
|
|
/* 02C59D80 */ cpu->f[5] = fma(cpu->f[10], cpu->f[6], cpu->f[11]);
|
|
/* 02C59D84 */ cpu->f[10] = cpu->f[4] * cpu->f[3];
|
|
/* 02C59D88 */ cpu->f[6] = cpu->f[30] * cpu->f[5];
|
|
/* 02C59D8C */ cpu->f[7] = cpu->f[30] * cpu->f[3];
|
|
/* 02C59D90 */ cpu->f[11] = cpu->f[1] * cpu->f[3];
|
|
/* 02C59D94 */ cpu->f[9] = fma(cpu->f[2], cpu->f[5], -(cpu->f[7]));
|
|
/* 02C59D98 */ _t60 = cpu->r[5] + 0x00000020u;
|
|
/* 02C59D98 */ rbrew_write_f32(cpu->mem, _t60, cpu->f[10]);
|
|
/* 02C59D9C */ cpu->f[10] = fma(cpu->f[6], cpu->f[31], cpu->f[11]);
|
|
/* 02C59DA0 */ _t61 = cpu->r[5] + 0x00000030u;
|
|
/* 02C59DA0 */ rbrew_write_f32(cpu->mem, _t61, cpu->f[8]);
|
|
/* 02C59DA4 */ cpu->f[11] = fma(cpu->f[2], cpu->f[3], cpu->f[6]);
|
|
/* 02C59DA8 */ _t62 = cpu->r[5] + 0x00000014u;
|
|
/* 02C59DA8 */ rbrew_write_f32(cpu->mem, _t62, cpu->f[9]);
|
|
/* 02C59DAC */ cpu->f[9] = cpu->f[1] * cpu->f[4];
|
|
/* 02C59DB0 */ _t63 = cpu->r[5] + 0x00000024u;
|
|
/* 02C59DB0 */ rbrew_write_f32(cpu->mem, _t63, cpu->f[11]);
|
|
/* 02C59DB4 */ cpu->f[11] = cpu->f[1] * cpu->f[5];
|
|
/* 02C59DB8 */ _t64 = cpu->r[5] + 0x00000034u;
|
|
/* 02C59DB8 */ rbrew_write_f32(cpu->mem, _t64, cpu->f[9]);
|
|
/* 02C59DBC */ cpu->f[9] = cpu->f[4] * cpu->f[5];
|
|
/* 02C59DC0 */ _t65 = cpu->r[5] + 0x00000018u;
|
|
/* 02C59DC0 */ rbrew_write_f32(cpu->mem, _t65, cpu->f[10]);
|
|
/* 02C59DC4 */ cpu->f[11] = fma(cpu->f[7], cpu->f[31], -(cpu->f[11]));
|
|
/* 02C59DC8 */ _t66 = cpu->r[5] + 0x00000010u;
|
|
/* 02C59DC8 */ rbrew_write_f32(cpu->mem, _t66, cpu->f[9]);
|
|
/* 02C59DCC */ cpu->f[10] = cpu->f[30] * cpu->f[4];
|
|
/* 02C59DD0 */ _t67 = cpu->r[5] + 0x00000028u;
|
|
/* 02C59DD0 */ rbrew_write_f32(cpu->mem, _t67, cpu->f[11]);
|
|
/* 02C59DD4 */ _t68 = cpu->r[5] + 0x00000038u;
|
|
/* 02C59DD4 */ rbrew_write_f32(cpu->mem, _t68, cpu->f[10]);
|
|
/* 02C59DD8 */ _t69 = cpu->r[4] + 0x00000030u;
|
|
/* 02C59DD8 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t69);
|
|
/* 02C59DDC */ _t70 = cpu->r[5] + 0x0000001Cu;
|
|
/* 02C59DDC */ rbrew_write_f32(cpu->mem, _t70, cpu->f[11]);
|
|
/* 02C59DE0 */ _t71 = cpu->r[4] + 0x00000034u;
|
|
/* 02C59DE0 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t71);
|
|
/* 02C59DE4 */ _t72 = cpu->r[5] + 0x0000002Cu;
|
|
/* 02C59DE4 */ rbrew_write_f32(cpu->mem, _t72, cpu->f[10]);
|
|
/* 02C59DE8 */ _t73 = cpu->r[4] + 0x00000038u;
|
|
/* 02C59DE8 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t73);
|
|
/* 02C59DEC */ cpu->r[12] = cpu->r[12] + 0xFFFFFFFFu;
|
|
/* 02C59DEC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02C59DF0 */ cpu->r[7] = cpu->r[7] + 0x00000040u;
|
|
/* 02C59DF4 */ _t74 = cpu->r[5] + 0x0000003Cu;
|
|
/* 02C59DF4 */ rbrew_write_f32(cpu->mem, _t74, cpu->f[11]);
|
|
/* 02C59DF8 */ _t75 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C59DF8 */ _t76 = _t75 & 0x00000001u;
|
|
/* 02C59DF8 */ if (_t76) goto L_02C59F24; else goto L_02C59DFC;
|
|
L_02C59DFC: ; // 0x2c59dfc
|
|
/* 02C59DFC */ _t77 = cpu->r[3] + 0x00000000u;
|
|
/* 02C59DFC */ cpu->r[8] = rbrew_read32(cpu->mem, _t77);
|
|
/* 02C59E00 */ goto L_02C59C44;
|
|
L_02C59E04: ; // 0x2c59e04
|
|
/* 02C59E04 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02C59E08 */ _t78 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C59E08 */ _t79 = _t78 & 0x00000001u;
|
|
/* 02C59E08 */ if (_t79) goto L_02C59E0C; else goto L_02C59F24;
|
|
L_02C59E0C: ; // 0x2c59e0c
|
|
/* 02C59E0C */ cpu->r[11] = 0x101B0000u;
|
|
/* 02C59E10 */ _t80 = cpu->r[11] + 0xFFFFEF7Cu;
|
|
/* 02C59E10 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t80);
|
|
/* 02C59E14 */ cpu->r[7] = 0x00000000u;
|
|
L_02C59E18: ; // 0x2c59e18
|
|
/* 02C59E18 */ _t81 = cpu->r[8] + 0x00000014u;
|
|
/* 02C59E18 */ cpu->r[9] = rbrew_read32(cpu->mem, _t81);
|
|
/* 02C59E1C */ cpu->r[11] = 0x00000000u;
|
|
/* 02C59E20 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 02C59E24 */ cpu->r[10] = cpu->r[8] + 0x00000014u;
|
|
/* 02C59E28 */ _t82 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C59E28 */ _t83 = _t82 & 0x00000001u;
|
|
/* 02C59E28 */ if (_t83) goto L_02C59E30; else goto L_02C59E2C;
|
|
L_02C59E2C: ; // 0x2c59e2c
|
|
/* 02C59E2C */ cpu->r[11] = cpu->r[10] + cpu->r[9];
|
|
L_02C59E30: ; // 0x2c59e30
|
|
/* 02C59E30 */ cpu->r[10] = cpu->r[11] + cpu->r[7];
|
|
/* 02C59E34 */ cpu->r[11] = 0x00000003u;
|
|
/* 02C59E38 */ _t84 = cpu->r[10] + 0x00000010u;
|
|
/* 02C59E38 */ cpu->r[9] = rbrew_read32(cpu->mem, _t84);
|
|
/* 02C59E3C */ cpu->ctr = cpu->r[11];
|
|
/* 02C59E40 */ cpu->r[11] = cpu->r[6] + cpu->r[7];
|
|
/* 02C59E44 */ cpu->r[8] = cpu->r[9] & 0x0F870000u;
|
|
/* 02C59E44 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 02C59E48 */ cpu->r[9] = 0x00000000u;
|
|
/* 02C59E4C */ _t85 = cpu->r[6] + cpu->r[7];
|
|
/* 02C59E4C */ rbrew_write32(cpu->mem, _t85, cpu->r[8]);
|
|
L_02C59E50: ; // 0x2c59e50
|
|
/* 02C59E50 */ cpu->r[8] = cpu->r[10] + 0x00000014u;
|
|
/* 02C59E54 */ _t86 = cpu->r[8] + cpu->r[9];
|
|
/* 02C59E54 */ cpu->r[13] = rbrew_read32(cpu->mem, _t86);
|
|
/* 02C59E58 */ cpu->r[8] = cpu->r[11] + 0x00000004u;
|
|
/* 02C59E5C */ _t87 = cpu->r[8] + cpu->r[9];
|
|
/* 02C59E5C */ rbrew_write32(cpu->mem, _t87, cpu->r[13]);
|
|
/* 02C59E60 */ cpu->r[9] = cpu->r[9] + 0x00000004u;
|
|
/* 02C59E64 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02C59E64 */ _t88 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02C59E64 */ _t89 = _t88 >> (0x00000002u & 31u);
|
|
/* 02C59E64 */ _t90 = _t89 & 0x00000001u;
|
|
/* 02C59E64 */ if (_t90) goto L_02C59E50; else goto L_02C59E68;
|
|
L_02C59E68: ; // 0x2c59e68
|
|
/* 02C59E68 */ _t91 = cpu->r[10] + 0x0000002Cu;
|
|
/* 02C59E68 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t91);
|
|
/* 02C59E6C */ _t92 = cpu->r[10] + 0x00000024u;
|
|
/* 02C59E6C */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t92);
|
|
/* 02C59E70 */ cpu->f[10] = cpu->f[12] + cpu->f[12];
|
|
/* 02C59E74 */ _t93 = cpu->r[10] + 0x00000020u;
|
|
/* 02C59E74 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t93);
|
|
/* 02C59E78 */ cpu->f[13] = cpu->f[9] + cpu->f[9];
|
|
/* 02C59E7C */ cpu->f[12] = cpu->f[11] + cpu->f[11];
|
|
/* 02C59E80 */ cpu->f[4] = cpu->f[10] * cpu->f[9];
|
|
/* 02C59E84 */ cpu->f[30] = cpu->f[13] * cpu->f[9];
|
|
/* 02C59E88 */ _t94 = cpu->r[10] + 0x00000028u;
|
|
/* 02C59E88 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t94);
|
|
/* 02C59E8C */ cpu->f[31] = cpu->f[12] * cpu->f[9];
|
|
/* 02C59E90 */ cpu->f[3] = cpu->f[10] * cpu->f[8];
|
|
/* 02C59E94 */ cpu->f[1] = cpu->f[12] * cpu->f[8];
|
|
/* 02C59E98 */ cpu->f[5] = cpu->f[8] + cpu->f[8];
|
|
/* 02C59E9C */ cpu->f[9] = cpu->f[10] * cpu->f[11];
|
|
/* 02C59EA0 */ cpu->f[10] = cpu->f[0] - cpu->f[30];
|
|
/* 02C59EA4 */ cpu->f[2] = cpu->f[13] * cpu->f[8];
|
|
/* 02C59EA8 */ cpu->f[8] = cpu->f[5] * cpu->f[8];
|
|
/* 02C59EAC */ cpu->f[6] = cpu->f[31] - cpu->f[3];
|
|
/* 02C59EB0 */ cpu->f[13] = -fma(cpu->f[12], cpu->f[11], -(cpu->f[0]));
|
|
/* 02C59EB4 */ cpu->f[7] = cpu->f[1] + cpu->f[4];
|
|
/* 02C59EB8 */ cpu->f[12] = cpu->f[31] + cpu->f[3];
|
|
/* 02C59EBC */ _t95 = cpu->r[11] + 0x00000014u;
|
|
/* 02C59EBC */ rbrew_write_f32(cpu->mem, _t95, cpu->f[6]);
|
|
/* 02C59EC0 */ cpu->f[11] = cpu->f[13] - cpu->f[8];
|
|
/* 02C59EC4 */ _t96 = cpu->r[11] + 0x00000018u;
|
|
/* 02C59EC4 */ rbrew_write_f32(cpu->mem, _t96, cpu->f[7]);
|
|
/* 02C59EC8 */ cpu->f[10] = cpu->f[10] - cpu->f[8];
|
|
/* 02C59ECC */ _t97 = cpu->r[11] + 0x00000020u;
|
|
/* 02C59ECC */ rbrew_write_f32(cpu->mem, _t97, cpu->f[12]);
|
|
/* 02C59ED0 */ cpu->f[12] = cpu->f[2] - cpu->f[9];
|
|
/* 02C59ED4 */ _t98 = cpu->r[11] + 0x00000024u;
|
|
/* 02C59ED4 */ rbrew_write_f32(cpu->mem, _t98, cpu->f[11]);
|
|
/* 02C59ED8 */ _t99 = cpu->r[11] + 0x00000010u;
|
|
/* 02C59ED8 */ rbrew_write_f32(cpu->mem, _t99, cpu->f[10]);
|
|
/* 02C59EDC */ cpu->f[10] = cpu->f[1] - cpu->f[4];
|
|
/* 02C59EE0 */ _t100 = cpu->r[11] + 0x00000028u;
|
|
/* 02C59EE0 */ rbrew_write_f32(cpu->mem, _t100, cpu->f[12]);
|
|
/* 02C59EE4 */ cpu->f[11] = cpu->f[2] + cpu->f[9];
|
|
/* 02C59EE8 */ cpu->f[12] = cpu->f[13] - cpu->f[30];
|
|
/* 02C59EEC */ _t101 = cpu->r[11] + 0x00000030u;
|
|
/* 02C59EEC */ rbrew_write_f32(cpu->mem, _t101, cpu->f[10]);
|
|
/* 02C59EF0 */ _t102 = cpu->r[11] + 0x00000034u;
|
|
/* 02C59EF0 */ rbrew_write_f32(cpu->mem, _t102, cpu->f[11]);
|
|
/* 02C59EF4 */ _t103 = cpu->r[11] + 0x00000038u;
|
|
/* 02C59EF4 */ rbrew_write_f32(cpu->mem, _t103, cpu->f[12]);
|
|
/* 02C59EF8 */ _t104 = cpu->r[10] + 0x00000030u;
|
|
/* 02C59EF8 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t104);
|
|
/* 02C59EFC */ _t105 = cpu->r[11] + 0x0000001Cu;
|
|
/* 02C59EFC */ rbrew_write_f32(cpu->mem, _t105, cpu->f[13]);
|
|
/* 02C59F00 */ _t106 = cpu->r[10] + 0x00000034u;
|
|
/* 02C59F00 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t106);
|
|
/* 02C59F04 */ _t107 = cpu->r[11] + 0x0000002Cu;
|
|
/* 02C59F04 */ rbrew_write_f32(cpu->mem, _t107, cpu->f[12]);
|
|
/* 02C59F08 */ _t108 = cpu->r[10] + 0x00000038u;
|
|
/* 02C59F08 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t108);
|
|
/* 02C59F0C */ cpu->r[7] = cpu->r[7] + 0x00000040u;
|
|
/* 02C59F10 */ cpu->r[12] = cpu->r[12] + 0xFFFFFFFFu;
|
|
/* 02C59F10 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02C59F14 */ _t109 = cpu->r[11] + 0x0000003Cu;
|
|
/* 02C59F14 */ rbrew_write_f32(cpu->mem, _t109, cpu->f[13]);
|
|
/* 02C59F18 */ _t110 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C59F18 */ _t111 = _t110 & 0x00000001u;
|
|
/* 02C59F18 */ if (_t111) goto L_02C59F24; else goto L_02C59F1C;
|
|
L_02C59F1C: ; // 0x2c59f1c
|
|
/* 02C59F1C */ _t112 = cpu->r[3] + 0x00000000u;
|
|
/* 02C59F1C */ cpu->r[8] = rbrew_read32(cpu->mem, _t112);
|
|
/* 02C59F20 */ goto L_02C59E18;
|
|
L_02C59F24: ; // 0x2c59f24
|
|
/* 02C59F24 */ _t113 = cpu->r[1] + 0x00000060u;
|
|
/* 02C59F24 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t113);
|
|
/* 02C59F28 */ _t114 = cpu->r[1] + 0x00000050u;
|
|
/* 02C59F28 */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t114);
|
|
/* 02C59F2C */ _t115 = cpu->r[1] + 0x00000058u;
|
|
/* 02C59F2C */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t115);
|
|
/* 02C59F30 */ _t116 = cpu->r[1] + 0x00000048u;
|
|
/* 02C59F30 */ cpu->f[30] = rbrew_read_f64(cpu->mem, _t116);
|
|
/* 02C59F34 */ _t117 = cpu->r[1] + 0x00000040u;
|
|
/* 02C59F34 */ cpu->f[29] = rbrew_read_f32(cpu->mem, _t117);
|
|
/* 02C59F38 */ _t118 = cpu->r[1] + 0x00000030u;
|
|
/* 02C59F38 */ cpu->f[28] = rbrew_read_f32(cpu->mem, _t118);
|
|
/* 02C59F3C */ _t119 = cpu->r[1] + 0x00000038u;
|
|
/* 02C59F3C */ cpu->f[29] = rbrew_read_f64(cpu->mem, _t119);
|
|
/* 02C59F40 */ _t120 = cpu->r[1] + 0x00000028u;
|
|
/* 02C59F40 */ cpu->f[28] = rbrew_read_f64(cpu->mem, _t120);
|
|
/* 02C59F44 */ _t121 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C59F44 */ _t122 = _t121 & 0x00000001u;
|
|
/* 02C59F44 */ if (_t122) goto L_02C59F48; // else: addr-0 trap, fall-through
|
|
L_02C59F48: ; // 0x2c59f48
|
|
/* 02C59F48 */ cpu->r[1] = cpu->r[1] + 0x00000068u;
|
|
/* 02C59F4C */ return;
|
|
}
|
|
|
|
// fn_02C59F50 @ 0x2c59f50
|
|
void Gambit_fn_02C59F50(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;
|
|
|
|
L_02C59F50: ; // 0x2c59f50
|
|
/* 02C59F50 */ cpu->r[0] = cpu->lr;
|
|
/* 02C59F54 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02C59F54 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C59F54 */ cpu->r[1] = _t0;
|
|
/* 02C59F58 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C59F58 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
|
|
/* 02C59F5C */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 02C59F5C */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02C59F60 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02C59F60 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 02C59F64 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C59F64 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02C59F68 */ cpu->r[29] = cpu->r[3];
|
|
/* 02C59F6C */ _t5 = cpu->r[4] + 0x00000008u;
|
|
/* 02C59F6C */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02C59F70 */ cpu->r[30] = cpu->r[6];
|
|
/* 02C59F74 */ cpu->r[31] = cpu->r[5];
|
|
/* 02C59F78 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C59F7C */ cpu->r[3] = cpu->r[4] + 0x00000008u;
|
|
/* 02C59F80 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C59F80 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02C59F80 */ if (_t7) goto L_02C59F84; else goto L_02C59F88;
|
|
L_02C59F84: ; // 0x2c59f84
|
|
/* 02C59F84 */ Gambit_fn_02C59B08(cpu);
|
|
L_02C59F88: ; // 0x2c59f88
|
|
/* 02C59F88 */ _t8 = cpu->r[3] + 0x00000004u;
|
|
/* 02C59F88 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C59F8C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[30]);
|
|
/* 02C59F90 */ _t9 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C59F90 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02C59F90 */ if (_t10) goto L_02C59F94; else goto L_02C59FB4;
|
|
L_02C59F94: ; // 0x2c59f94
|
|
/* 02C59F94 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C59F94 */ cpu->r[29] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02C59F98 */ _t12 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C59F98 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02C59F9C */ _t13 = cpu->r[1] + 0x00000010u;
|
|
/* 02C59F9C */ cpu->r[30] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02C59FA0 */ cpu->lr = cpu->r[0];
|
|
/* 02C59FA4 */ _t14 = cpu->r[1] + 0x00000014u;
|
|
/* 02C59FA4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02C59FA8 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C59FAC */ cpu->r[3] = 0x00000000u;
|
|
/* 02C59FB0 */ return;
|
|
L_02C59FB4: ; // 0x2c59fb4
|
|
/* 02C59FB4 */ _t15 = cpu->r[4] + 0x00000000u;
|
|
/* 02C59FB4 */ cpu->r[6] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02C59FB8 */ _t16 = cpu->r[29] + 0x00000000u;
|
|
/* 02C59FB8 */ rbrew_write32(cpu->mem, _t16, cpu->r[6]);
|
|
/* 02C59FBC */ _t17 = cpu->r[6] + 0x00000004u;
|
|
/* 02C59FBC */ cpu->r[7] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02C59FC0 */ cpu->r[11] = cpu->r[7] | 0x00000016u;
|
|
/* 02C59FC4 */ _t18 = cpu->r[29] + 0x00000004u;
|
|
/* 02C59FC4 */ rbrew_write16(cpu->mem, _t18, (uint16_t)cpu->r[11]);
|
|
/* 02C59FC8 */ _t19 = cpu->r[4] + 0x00000004u;
|
|
/* 02C59FC8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02C59FCC */ _t20 = cpu->r[29] + 0x00000006u;
|
|
/* 02C59FCC */ rbrew_write8(cpu->mem, _t20, (uint8_t)cpu->r[0]);
|
|
/* 02C59FD0 */ _t21 = cpu->r[6] + 0x00000014u;
|
|
/* 02C59FD0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02C59FD4 */ cpu->r[8] = 0x00000000u;
|
|
/* 02C59FD8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C59FDC */ cpu->r[12] = cpu->r[6] + 0x00000014u;
|
|
/* 02C59FE0 */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C59FE0 */ _t23 = _t22 & 0x00000001u;
|
|
/* 02C59FE0 */ if (_t23) goto L_02C59FE8; else goto L_02C59FE4;
|
|
L_02C59FE4: ; // 0x2c59fe4
|
|
/* 02C59FE4 */ cpu->r[8] = cpu->r[12] + cpu->r[0];
|
|
L_02C59FE8: ; // 0x2c59fe8
|
|
/* 02C59FE8 */ _t24 = cpu->r[29] + 0x00000008u;
|
|
/* 02C59FE8 */ rbrew_write32(cpu->mem, _t24, cpu->r[8]);
|
|
/* 02C59FEC */ _t25 = cpu->r[3] + 0x00000000u;
|
|
/* 02C59FEC */ cpu->r[10] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02C59FF0 */ _t26 = cpu->r[10] + 0x00000008u;
|
|
/* 02C59FF0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02C59FF4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 02C59FF8 */ _t27 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C59FF8 */ _t28 = _t27 & 0x00000001u;
|
|
/* 02C59FF8 */ if (_t28) goto L_02C5A004; else goto L_02C59FFC;
|
|
L_02C59FFC: ; // 0x2c59ffc
|
|
/* 02C59FFC */ _t29 = cpu->r[10] + 0x0000000Cu;
|
|
/* 02C59FFC */ cpu->r[8] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02C5A000 */ cpu->r[9] = cpu->r[31] + cpu->r[8];
|
|
L_02C5A004: ; // 0x2c5a004
|
|
/* 02C5A004 */ _t30 = cpu->r[29] + 0x0000000Cu;
|
|
/* 02C5A004 */ rbrew_write32(cpu->mem, _t30, cpu->r[9]);
|
|
/* 02C5A008 */ _t31 = cpu->r[29] + 0x00000034u;
|
|
/* 02C5A008 */ rbrew_write32(cpu->mem, _t31, cpu->r[9]);
|
|
/* 02C5A00C */ _t32 = cpu->r[3] + 0x00000000u;
|
|
/* 02C5A00C */ cpu->r[10] = rbrew_read32(cpu->mem, _t32);
|
|
/* 02C5A010 */ _t33 = cpu->r[10] + 0x00000000u;
|
|
/* 02C5A010 */ cpu->r[12] = rbrew_read32(cpu->mem, _t33);
|
|
/* 02C5A014 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02C5A018 */ _t34 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C5A018 */ _t35 = _t34 & 0x00000001u;
|
|
/* 02C5A018 */ if (_t35) goto L_02C5A024; else goto L_02C5A01C;
|
|
L_02C5A01C: ; // 0x2c5a01c
|
|
/* 02C5A01C */ _t36 = cpu->r[10] + 0x00000004u;
|
|
/* 02C5A01C */ cpu->r[9] = rbrew_read32(cpu->mem, _t36);
|
|
/* 02C5A020 */ cpu->r[12] = cpu->r[31] + cpu->r[9];
|
|
L_02C5A024: ; // 0x2c5a024
|
|
/* 02C5A024 */ _t37 = cpu->r[29] + 0x00000010u;
|
|
/* 02C5A024 */ rbrew_write32(cpu->mem, _t37, cpu->r[12]);
|
|
/* 02C5A028 */ _t38 = cpu->r[29] + 0x00000038u;
|
|
/* 02C5A028 */ rbrew_write32(cpu->mem, _t38, cpu->r[12]);
|
|
/* 02C5A02C */ _t39 = cpu->r[3] + 0x00000000u;
|
|
/* 02C5A02C */ cpu->r[10] = rbrew_read32(cpu->mem, _t39);
|
|
/* 02C5A030 */ _t40 = cpu->r[10] + 0x00000010u;
|
|
/* 02C5A030 */ cpu->r[7] = rbrew_read32(cpu->mem, _t40);
|
|
/* 02C5A034 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 02C5A038 */ _t41 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C5A038 */ _t42 = _t41 & 0x00000001u;
|
|
/* 02C5A038 */ if (_t42) goto L_02C5A044; else goto L_02C5A03C;
|
|
L_02C5A03C: ; // 0x2c5a03c
|
|
/* 02C5A03C */ _t43 = cpu->r[10] + 0x00000014u;
|
|
/* 02C5A03C */ cpu->r[10] = rbrew_read32(cpu->mem, _t43);
|
|
/* 02C5A040 */ cpu->r[7] = cpu->r[31] + cpu->r[10];
|
|
L_02C5A044: ; // 0x2c5a044
|
|
/* 02C5A044 */ _t44 = cpu->r[29] + 0x00000014u;
|
|
/* 02C5A044 */ rbrew_write32(cpu->mem, _t44, cpu->r[7]);
|
|
/* 02C5A048 */ cpu->r[0] = 0x00000000u;
|
|
/* 02C5A04C */ _t45 = cpu->r[6] + 0x00000008u;
|
|
/* 02C5A04C */ cpu->r[11] = rbrew_read16(cpu->mem, _t45);
|
|
/* 02C5A050 */ cpu->r[12] = 0x00010000u;
|
|
/* 02C5A054 */ _t46 = cpu->r[29] + 0x00000030u;
|
|
/* 02C5A054 */ rbrew_write32(cpu->mem, _t46, cpu->r[0]);
|
|
/* 02C5A058 */ cpu->r[12] = cpu->r[12] + 0xFFFFFFFFu;
|
|
/* 02C5A05C */ _t47 = cpu->r[29] + 0x0000003Cu;
|
|
/* 02C5A05C */ rbrew_write32(cpu->mem, _t47, cpu->r[0]);
|
|
/* 02C5A060 */ cpu->r[3] = cpu->r[29] + 0x00000018u;
|
|
/* 02C5A064 */ _t48 = cpu->r[29] + 0x0000002Eu;
|
|
/* 02C5A064 */ rbrew_write16(cpu->mem, _t48, (uint16_t)cpu->r[12]);
|
|
/* 02C5A068 */ cpu->r[4] = 0x00000005u;
|
|
/* 02C5A06C */ _t49 = cpu->r[29] + 0x00000044u;
|
|
/* 02C5A06C */ rbrew_write32(cpu->mem, _t49, cpu->r[31]);
|
|
/* 02C5A070 */ _t50 = cpu->r[29] + 0x00000040u;
|
|
/* 02C5A070 */ rbrew_write32(cpu->mem, _t50, cpu->r[0]);
|
|
/* 02C5A074 */ _t51 = cpu->r[29] + 0x0000002Cu;
|
|
/* 02C5A074 */ rbrew_write16(cpu->mem, _t51, (uint16_t)cpu->r[11]);
|
|
/* 02C5A078 */ _t52 = cpu->r[29] + 0x00000048u;
|
|
/* 02C5A078 */ rbrew_write32(cpu->mem, _t52, cpu->r[0]);
|
|
/* 02C5A07C */ Gambit_fn_02C89B44(cpu);
|
|
/* 02C5A080 */ cpu->r[3] = cpu->r[29];
|
|
/* 02C5A084 */ Gambit_fn_02C59BC4(cpu);
|
|
/* 02C5A088 */ _t53 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C5A088 */ cpu->r[29] = rbrew_read32(cpu->mem, _t53);
|
|
/* 02C5A08C */ _t54 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C5A08C */ cpu->r[0] = rbrew_read32(cpu->mem, _t54);
|
|
/* 02C5A090 */ _t55 = cpu->r[1] + 0x00000014u;
|
|
/* 02C5A090 */ cpu->r[31] = rbrew_read32(cpu->mem, _t55);
|
|
/* 02C5A094 */ cpu->lr = cpu->r[0];
|
|
/* 02C5A098 */ _t56 = cpu->r[1] + 0x00000010u;
|
|
/* 02C5A098 */ cpu->r[30] = rbrew_read32(cpu->mem, _t56);
|
|
/* 02C5A09C */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C5A0A0 */ cpu->r[3] = 0x00000001u;
|
|
/* 02C5A0A4 */ return;
|
|
}
|
|
|
|
// fn_02C59F54 @ 0x2c59f54
|
|
void Gambit_fn_02C59F54(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;
|
|
|
|
L_02C59F54: ; // 0x2c59f54
|
|
/* 02C59F54 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02C59F54 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C59F54 */ cpu->r[1] = _t0;
|
|
/* 02C59F58 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C59F58 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
|
|
/* 02C59F5C */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 02C59F5C */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02C59F60 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02C59F60 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 02C59F64 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C59F64 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02C59F68 */ cpu->r[29] = cpu->r[3];
|
|
/* 02C59F6C */ _t5 = cpu->r[4] + 0x00000008u;
|
|
/* 02C59F6C */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02C59F70 */ cpu->r[30] = cpu->r[6];
|
|
/* 02C59F74 */ cpu->r[31] = cpu->r[5];
|
|
/* 02C59F78 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C59F7C */ cpu->r[3] = cpu->r[4] + 0x00000008u;
|
|
/* 02C59F80 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C59F80 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02C59F80 */ if (_t7) goto L_02C59F84; else goto L_02C59F88;
|
|
L_02C59F84: ; // 0x2c59f84
|
|
/* 02C59F84 */ Gambit_fn_02C59B08(cpu);
|
|
L_02C59F88: ; // 0x2c59f88
|
|
/* 02C59F88 */ _t8 = cpu->r[3] + 0x00000004u;
|
|
/* 02C59F88 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C59F8C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[30]);
|
|
/* 02C59F90 */ _t9 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C59F90 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02C59F90 */ if (_t10) goto L_02C59F94; else goto L_02C59FB4;
|
|
L_02C59F94: ; // 0x2c59f94
|
|
/* 02C59F94 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C59F94 */ cpu->r[29] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02C59F98 */ _t12 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C59F98 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02C59F9C */ _t13 = cpu->r[1] + 0x00000010u;
|
|
/* 02C59F9C */ cpu->r[30] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02C59FA0 */ cpu->lr = cpu->r[0];
|
|
/* 02C59FA4 */ _t14 = cpu->r[1] + 0x00000014u;
|
|
/* 02C59FA4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02C59FA8 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C59FAC */ cpu->r[3] = 0x00000000u;
|
|
/* 02C59FB0 */ return;
|
|
L_02C59FB4: ; // 0x2c59fb4
|
|
/* 02C59FB4 */ _t15 = cpu->r[4] + 0x00000000u;
|
|
/* 02C59FB4 */ cpu->r[6] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02C59FB8 */ _t16 = cpu->r[29] + 0x00000000u;
|
|
/* 02C59FB8 */ rbrew_write32(cpu->mem, _t16, cpu->r[6]);
|
|
/* 02C59FBC */ _t17 = cpu->r[6] + 0x00000004u;
|
|
/* 02C59FBC */ cpu->r[7] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02C59FC0 */ cpu->r[11] = cpu->r[7] | 0x00000016u;
|
|
/* 02C59FC4 */ _t18 = cpu->r[29] + 0x00000004u;
|
|
/* 02C59FC4 */ rbrew_write16(cpu->mem, _t18, (uint16_t)cpu->r[11]);
|
|
/* 02C59FC8 */ _t19 = cpu->r[4] + 0x00000004u;
|
|
/* 02C59FC8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02C59FCC */ _t20 = cpu->r[29] + 0x00000006u;
|
|
/* 02C59FCC */ rbrew_write8(cpu->mem, _t20, (uint8_t)cpu->r[0]);
|
|
/* 02C59FD0 */ _t21 = cpu->r[6] + 0x00000014u;
|
|
/* 02C59FD0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02C59FD4 */ cpu->r[8] = 0x00000000u;
|
|
/* 02C59FD8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C59FDC */ cpu->r[12] = cpu->r[6] + 0x00000014u;
|
|
/* 02C59FE0 */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C59FE0 */ _t23 = _t22 & 0x00000001u;
|
|
/* 02C59FE0 */ if (_t23) goto L_02C59FE8; else goto L_02C59FE4;
|
|
L_02C59FE4: ; // 0x2c59fe4
|
|
/* 02C59FE4 */ cpu->r[8] = cpu->r[12] + cpu->r[0];
|
|
L_02C59FE8: ; // 0x2c59fe8
|
|
/* 02C59FE8 */ _t24 = cpu->r[29] + 0x00000008u;
|
|
/* 02C59FE8 */ rbrew_write32(cpu->mem, _t24, cpu->r[8]);
|
|
/* 02C59FEC */ _t25 = cpu->r[3] + 0x00000000u;
|
|
/* 02C59FEC */ cpu->r[10] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02C59FF0 */ _t26 = cpu->r[10] + 0x00000008u;
|
|
/* 02C59FF0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02C59FF4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 02C59FF8 */ _t27 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C59FF8 */ _t28 = _t27 & 0x00000001u;
|
|
/* 02C59FF8 */ if (_t28) goto L_02C5A004; else goto L_02C59FFC;
|
|
L_02C59FFC: ; // 0x2c59ffc
|
|
/* 02C59FFC */ _t29 = cpu->r[10] + 0x0000000Cu;
|
|
/* 02C59FFC */ cpu->r[8] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02C5A000 */ cpu->r[9] = cpu->r[31] + cpu->r[8];
|
|
L_02C5A004: ; // 0x2c5a004
|
|
/* 02C5A004 */ _t30 = cpu->r[29] + 0x0000000Cu;
|
|
/* 02C5A004 */ rbrew_write32(cpu->mem, _t30, cpu->r[9]);
|
|
/* 02C5A008 */ _t31 = cpu->r[29] + 0x00000034u;
|
|
/* 02C5A008 */ rbrew_write32(cpu->mem, _t31, cpu->r[9]);
|
|
/* 02C5A00C */ _t32 = cpu->r[3] + 0x00000000u;
|
|
/* 02C5A00C */ cpu->r[10] = rbrew_read32(cpu->mem, _t32);
|
|
/* 02C5A010 */ _t33 = cpu->r[10] + 0x00000000u;
|
|
/* 02C5A010 */ cpu->r[12] = rbrew_read32(cpu->mem, _t33);
|
|
/* 02C5A014 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02C5A018 */ _t34 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C5A018 */ _t35 = _t34 & 0x00000001u;
|
|
/* 02C5A018 */ if (_t35) goto L_02C5A024; else goto L_02C5A01C;
|
|
L_02C5A01C: ; // 0x2c5a01c
|
|
/* 02C5A01C */ _t36 = cpu->r[10] + 0x00000004u;
|
|
/* 02C5A01C */ cpu->r[9] = rbrew_read32(cpu->mem, _t36);
|
|
/* 02C5A020 */ cpu->r[12] = cpu->r[31] + cpu->r[9];
|
|
L_02C5A024: ; // 0x2c5a024
|
|
/* 02C5A024 */ _t37 = cpu->r[29] + 0x00000010u;
|
|
/* 02C5A024 */ rbrew_write32(cpu->mem, _t37, cpu->r[12]);
|
|
/* 02C5A028 */ _t38 = cpu->r[29] + 0x00000038u;
|
|
/* 02C5A028 */ rbrew_write32(cpu->mem, _t38, cpu->r[12]);
|
|
/* 02C5A02C */ _t39 = cpu->r[3] + 0x00000000u;
|
|
/* 02C5A02C */ cpu->r[10] = rbrew_read32(cpu->mem, _t39);
|
|
/* 02C5A030 */ _t40 = cpu->r[10] + 0x00000010u;
|
|
/* 02C5A030 */ cpu->r[7] = rbrew_read32(cpu->mem, _t40);
|
|
/* 02C5A034 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 02C5A038 */ _t41 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C5A038 */ _t42 = _t41 & 0x00000001u;
|
|
/* 02C5A038 */ if (_t42) goto L_02C5A044; else goto L_02C5A03C;
|
|
L_02C5A03C: ; // 0x2c5a03c
|
|
/* 02C5A03C */ _t43 = cpu->r[10] + 0x00000014u;
|
|
/* 02C5A03C */ cpu->r[10] = rbrew_read32(cpu->mem, _t43);
|
|
/* 02C5A040 */ cpu->r[7] = cpu->r[31] + cpu->r[10];
|
|
L_02C5A044: ; // 0x2c5a044
|
|
/* 02C5A044 */ _t44 = cpu->r[29] + 0x00000014u;
|
|
/* 02C5A044 */ rbrew_write32(cpu->mem, _t44, cpu->r[7]);
|
|
/* 02C5A048 */ cpu->r[0] = 0x00000000u;
|
|
/* 02C5A04C */ _t45 = cpu->r[6] + 0x00000008u;
|
|
/* 02C5A04C */ cpu->r[11] = rbrew_read16(cpu->mem, _t45);
|
|
/* 02C5A050 */ cpu->r[12] = 0x00010000u;
|
|
/* 02C5A054 */ _t46 = cpu->r[29] + 0x00000030u;
|
|
/* 02C5A054 */ rbrew_write32(cpu->mem, _t46, cpu->r[0]);
|
|
/* 02C5A058 */ cpu->r[12] = cpu->r[12] + 0xFFFFFFFFu;
|
|
/* 02C5A05C */ _t47 = cpu->r[29] + 0x0000003Cu;
|
|
/* 02C5A05C */ rbrew_write32(cpu->mem, _t47, cpu->r[0]);
|
|
/* 02C5A060 */ cpu->r[3] = cpu->r[29] + 0x00000018u;
|
|
/* 02C5A064 */ _t48 = cpu->r[29] + 0x0000002Eu;
|
|
/* 02C5A064 */ rbrew_write16(cpu->mem, _t48, (uint16_t)cpu->r[12]);
|
|
/* 02C5A068 */ cpu->r[4] = 0x00000005u;
|
|
/* 02C5A06C */ _t49 = cpu->r[29] + 0x00000044u;
|
|
/* 02C5A06C */ rbrew_write32(cpu->mem, _t49, cpu->r[31]);
|
|
/* 02C5A070 */ _t50 = cpu->r[29] + 0x00000040u;
|
|
/* 02C5A070 */ rbrew_write32(cpu->mem, _t50, cpu->r[0]);
|
|
/* 02C5A074 */ _t51 = cpu->r[29] + 0x0000002Cu;
|
|
/* 02C5A074 */ rbrew_write16(cpu->mem, _t51, (uint16_t)cpu->r[11]);
|
|
/* 02C5A078 */ _t52 = cpu->r[29] + 0x00000048u;
|
|
/* 02C5A078 */ rbrew_write32(cpu->mem, _t52, cpu->r[0]);
|
|
/* 02C5A07C */ Gambit_fn_02C89B44(cpu);
|
|
/* 02C5A080 */ cpu->r[3] = cpu->r[29];
|
|
/* 02C5A084 */ Gambit_fn_02C59BC4(cpu);
|
|
/* 02C5A088 */ _t53 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C5A088 */ cpu->r[29] = rbrew_read32(cpu->mem, _t53);
|
|
/* 02C5A08C */ _t54 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C5A08C */ cpu->r[0] = rbrew_read32(cpu->mem, _t54);
|
|
/* 02C5A090 */ _t55 = cpu->r[1] + 0x00000014u;
|
|
/* 02C5A090 */ cpu->r[31] = rbrew_read32(cpu->mem, _t55);
|
|
/* 02C5A094 */ cpu->lr = cpu->r[0];
|
|
/* 02C5A098 */ _t56 = cpu->r[1] + 0x00000010u;
|
|
/* 02C5A098 */ cpu->r[30] = rbrew_read32(cpu->mem, _t56);
|
|
/* 02C5A09C */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C5A0A0 */ cpu->r[3] = 0x00000001u;
|
|
/* 02C5A0A4 */ return;
|
|
}
|
|
|
|
// fn_02C5A0A8 @ 0x2c5a0a8
|
|
void Gambit_fn_02C5A0A8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3;
|
|
|
|
L_02C5A0A8: ; // 0x2c5a0a8
|
|
/* 02C5A0A8 */ _t0 = cpu->r[3] + 0x00000000u;
|
|
/* 02C5A0A8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02C5A0AC */ _t1 = cpu->r[12] + 0x0000000Cu;
|
|
/* 02C5A0AC */ cpu->r[0] = rbrew_read16(cpu->mem, _t1);
|
|
/* 02C5A0B0 */ _t2 = cpu->r[12] + 0x0000000Au;
|
|
/* 02C5A0B0 */ cpu->r[11] = rbrew_read16(cpu->mem, _t2);
|
|
/* 02C5A0B4 */ cpu->r[0] = cpu->r[11] + cpu->r[0];
|
|
/* 02C5A0B8 */ cpu->r[12] = (uint32_t)((int32_t)cpu->r[0] * (int32_t)0x00000030u);
|
|
/* 02C5A0BC */ cpu->r[11] = cpu->r[12] + 0x000000FFu;
|
|
/* 02C5A0C0 */ _t3 = cpu->r[3] + 0x00000006u;
|
|
/* 02C5A0C0 */ cpu->r[0] = rbrew_read8(cpu->mem, _t3);
|
|
/* 02C5A0C4 */ cpu->r[12] = rbrew_rlwinm(cpu->r[11], 0x00000000u, 0x00000000u, 0x00000017u);
|
|
/* 02C5A0C8 */ cpu->r[3] = (uint32_t)((int32_t)cpu->r[12] * (int32_t)cpu->r[0]);
|
|
/* 02C5A0CC */ return;
|
|
}
|
|
|
|
// fn_02C5A0D0 @ 0x2c5a0d0
|
|
void Gambit_fn_02C5A0D0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16;
|
|
|
|
L_02C5A0D0: ; // 0x2c5a0d0
|
|
/* 02C5A0D0 */ cpu->r[0] = cpu->lr;
|
|
/* 02C5A0D4 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C5A0D4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C5A0D4 */ cpu->r[1] = _t0;
|
|
/* 02C5A0D8 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02C5A0D8 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02C5A0DC */ cpu->r[30] = cpu->r[3];
|
|
/* 02C5A0E0 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C5A0E0 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02C5A0E4 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02C5A0E4 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02C5A0E8 */ Gambit_fn_02C5A0A8(cpu);
|
|
/* 02C5A0EC */ cpu->r[31] = cpu->r[3];
|
|
/* 02C5A0F0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[5]);
|
|
/* 02C5A0F4 */ _t4 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C5A0F4 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02C5A0F4 */ if (_t5) goto L_02C5A0F8; else goto L_02C5A114;
|
|
L_02C5A0F8: ; // 0x2c5a0f8
|
|
/* 02C5A0F8 */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 02C5A0F8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02C5A0FC */ _t7 = cpu->r[1] + 0x00000008u;
|
|
/* 02C5A0FC */ cpu->r[30] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02C5A100 */ cpu->lr = cpu->r[0];
|
|
/* 02C5A104 */ _t8 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C5A104 */ cpu->r[31] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C5A108 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C5A10C */ cpu->r[3] = 0x00000000u;
|
|
/* 02C5A110 */ return;
|
|
L_02C5A114: ; // 0x2c5a114
|
|
/* 02C5A114 */ _t9 = cpu->r[30] + 0x00000006u;
|
|
/* 02C5A114 */ cpu->r[6] = rbrew_read8(cpu->mem, _t9);
|
|
/* 02C5A118 */ cpu->r[5] = cpu->r[31] / cpu->r[6];
|
|
/* 02C5A11C */ _t10 = cpu->r[30] + 0x00000048u;
|
|
/* 02C5A11C */ rbrew_write32(cpu->mem, _t10, cpu->r[4]);
|
|
/* 02C5A120 */ cpu->r[3] = cpu->r[30] + 0x00000018u;
|
|
/* 02C5A124 */ Gambit_fn_02C6542C(cpu);
|
|
/* 02C5A128 */ cpu->r[3] = cpu->r[30] + 0x00000018u;
|
|
/* 02C5A12C */ Gambit_fn_02C65AB0(cpu);
|
|
/* 02C5A130 */ _t11 = cpu->r[30] + 0x00000018u;
|
|
/* 02C5A130 */ cpu->r[3] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02C5A134 */ cpu->r[4] = cpu->r[31];
|
|
/* 02C5A138 */ rbrew_dispatch(cpu, 0x02d09330u);
|
|
/* 02C5A13C */ _t12 = cpu->r[30] + 0x00000004u;
|
|
/* 02C5A13C */ cpu->r[0] = rbrew_read16(cpu->mem, _t12);
|
|
/* 02C5A140 */ cpu->r[0] = cpu->r[0] | 0x00000001u;
|
|
/* 02C5A144 */ _t13 = cpu->r[30] + 0x00000004u;
|
|
/* 02C5A144 */ rbrew_write16(cpu->mem, _t13, (uint16_t)cpu->r[0]);
|
|
/* 02C5A148 */ _t14 = cpu->r[1] + 0x00000014u;
|
|
/* 02C5A148 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02C5A14C */ _t15 = cpu->r[1] + 0x00000008u;
|
|
/* 02C5A14C */ cpu->r[30] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02C5A150 */ cpu->lr = cpu->r[0];
|
|
/* 02C5A154 */ _t16 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C5A154 */ cpu->r[31] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02C5A158 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C5A15C */ cpu->r[3] = 0x00000001u;
|
|
/* 02C5A160 */ return;
|
|
}
|
|
|
|
// fn_02C5A0D4 @ 0x2c5a0d4
|
|
void Gambit_fn_02C5A0D4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16;
|
|
|
|
L_02C5A0D4: ; // 0x2c5a0d4
|
|
/* 02C5A0D4 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C5A0D4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C5A0D4 */ cpu->r[1] = _t0;
|
|
/* 02C5A0D8 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02C5A0D8 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02C5A0DC */ cpu->r[30] = cpu->r[3];
|
|
/* 02C5A0E0 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C5A0E0 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02C5A0E4 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02C5A0E4 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02C5A0E8 */ Gambit_fn_02C5A0A8(cpu);
|
|
/* 02C5A0EC */ cpu->r[31] = cpu->r[3];
|
|
/* 02C5A0F0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[5]);
|
|
/* 02C5A0F4 */ _t4 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C5A0F4 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02C5A0F4 */ if (_t5) goto L_02C5A0F8; else goto L_02C5A114;
|
|
L_02C5A0F8: ; // 0x2c5a0f8
|
|
/* 02C5A0F8 */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 02C5A0F8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02C5A0FC */ _t7 = cpu->r[1] + 0x00000008u;
|
|
/* 02C5A0FC */ cpu->r[30] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02C5A100 */ cpu->lr = cpu->r[0];
|
|
/* 02C5A104 */ _t8 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C5A104 */ cpu->r[31] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C5A108 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C5A10C */ cpu->r[3] = 0x00000000u;
|
|
/* 02C5A110 */ return;
|
|
L_02C5A114: ; // 0x2c5a114
|
|
/* 02C5A114 */ _t9 = cpu->r[30] + 0x00000006u;
|
|
/* 02C5A114 */ cpu->r[6] = rbrew_read8(cpu->mem, _t9);
|
|
/* 02C5A118 */ cpu->r[5] = cpu->r[31] / cpu->r[6];
|
|
/* 02C5A11C */ _t10 = cpu->r[30] + 0x00000048u;
|
|
/* 02C5A11C */ rbrew_write32(cpu->mem, _t10, cpu->r[4]);
|
|
/* 02C5A120 */ cpu->r[3] = cpu->r[30] + 0x00000018u;
|
|
/* 02C5A124 */ Gambit_fn_02C6542C(cpu);
|
|
/* 02C5A128 */ cpu->r[3] = cpu->r[30] + 0x00000018u;
|
|
/* 02C5A12C */ Gambit_fn_02C65AB0(cpu);
|
|
/* 02C5A130 */ _t11 = cpu->r[30] + 0x00000018u;
|
|
/* 02C5A130 */ cpu->r[3] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02C5A134 */ cpu->r[4] = cpu->r[31];
|
|
/* 02C5A138 */ rbrew_dispatch(cpu, 0x02d09330u);
|
|
/* 02C5A13C */ _t12 = cpu->r[30] + 0x00000004u;
|
|
/* 02C5A13C */ cpu->r[0] = rbrew_read16(cpu->mem, _t12);
|
|
/* 02C5A140 */ cpu->r[0] = cpu->r[0] | 0x00000001u;
|
|
/* 02C5A144 */ _t13 = cpu->r[30] + 0x00000004u;
|
|
/* 02C5A144 */ rbrew_write16(cpu->mem, _t13, (uint16_t)cpu->r[0]);
|
|
/* 02C5A148 */ _t14 = cpu->r[1] + 0x00000014u;
|
|
/* 02C5A148 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02C5A14C */ _t15 = cpu->r[1] + 0x00000008u;
|
|
/* 02C5A14C */ cpu->r[30] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02C5A150 */ cpu->lr = cpu->r[0];
|
|
/* 02C5A154 */ _t16 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C5A154 */ cpu->r[31] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02C5A158 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C5A15C */ cpu->r[3] = 0x00000001u;
|
|
/* 02C5A160 */ return;
|
|
}
|
|
|
|
// fn_02C5A164 @ 0x2c5a164
|
|
void Gambit_fn_02C5A164(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6;
|
|
|
|
L_02C5A164: ; // 0x2c5a164
|
|
/* 02C5A164 */ cpu->r[0] = cpu->lr;
|
|
/* 02C5A168 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C5A168 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C5A168 */ cpu->r[1] = _t0;
|
|
/* 02C5A16C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C5A16C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02C5A170 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C5A174 */ cpu->r[3] = cpu->r[31] + 0x00000018u;
|
|
/* 02C5A178 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02C5A178 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02C5A17C */ Gambit_fn_02C65AB4(cpu);
|
|
/* 02C5A180 */ _t3 = cpu->r[31] + 0x00000004u;
|
|
/* 02C5A180 */ cpu->r[0] = rbrew_read16(cpu->mem, _t3);
|
|
/* 02C5A184 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000010u, 0x0000001Eu);
|
|
/* 02C5A188 */ _t4 = cpu->r[31] + 0x00000004u;
|
|
/* 02C5A188 */ rbrew_write16(cpu->mem, _t4, (uint16_t)cpu->r[0]);
|
|
/* 02C5A18C */ _t5 = cpu->r[1] + 0x00000014u;
|
|
/* 02C5A18C */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02C5A190 */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C5A190 */ cpu->r[31] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02C5A194 */ cpu->lr = cpu->r[0];
|
|
/* 02C5A198 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C5A19C */ return;
|
|
}
|
|
|
|
// fn_02C5A168 @ 0x2c5a168
|
|
void Gambit_fn_02C5A168(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6;
|
|
|
|
L_02C5A168: ; // 0x2c5a168
|
|
/* 02C5A168 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C5A168 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C5A168 */ cpu->r[1] = _t0;
|
|
/* 02C5A16C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C5A16C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02C5A170 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C5A174 */ cpu->r[3] = cpu->r[31] + 0x00000018u;
|
|
/* 02C5A178 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02C5A178 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02C5A17C */ Gambit_fn_02C65AB4(cpu);
|
|
/* 02C5A180 */ _t3 = cpu->r[31] + 0x00000004u;
|
|
/* 02C5A180 */ cpu->r[0] = rbrew_read16(cpu->mem, _t3);
|
|
/* 02C5A184 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000010u, 0x0000001Eu);
|
|
/* 02C5A188 */ _t4 = cpu->r[31] + 0x00000004u;
|
|
/* 02C5A188 */ rbrew_write16(cpu->mem, _t4, (uint16_t)cpu->r[0]);
|
|
/* 02C5A18C */ _t5 = cpu->r[1] + 0x00000014u;
|
|
/* 02C5A18C */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02C5A190 */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C5A190 */ cpu->r[31] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02C5A194 */ cpu->lr = cpu->r[0];
|
|
/* 02C5A198 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C5A19C */ return;
|
|
}
|
|
|
|
// fn_02C5A1A4 @ 0x2c5a1a4
|
|
void Gambit_fn_02C5A1A4(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;
|
|
|
|
L_02C5A1A4: ; // 0x2c5a1a4
|
|
/* 02C5A1A4 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02C5A1A4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C5A1A4 */ cpu->r[1] = _t0;
|
|
/* 02C5A1A8 */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 02C5A1A8 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02C5A1AC */ cpu->r[30] = cpu->r[3];
|
|
/* 02C5A1B0 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C5A1B0 */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
|
|
/* 02C5A1B4 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02C5A1B4 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 02C5A1B8 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C5A1B8 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02C5A1BC */ _t5 = cpu->r[30] + 0x00000010u;
|
|
/* 02C5A1BC */ cpu->r[3] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02C5A1C0 */ _t6 = cpu->r[30] + 0x00000004u;
|
|
/* 02C5A1C0 */ cpu->r[12] = rbrew_read16(cpu->mem, _t6);
|
|
/* 02C5A1C4 */ cpu->r[31] = cpu->r[4];
|
|
/* 02C5A1C8 */ _t7 = cpu->r[30] + 0x00000038u;
|
|
/* 02C5A1C8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02C5A1CC */ cpu->r[0] = cpu->r[12] | 0x00000014u;
|
|
/* 02C5A1D0 */ cpu->r[29] = rbrew_rlwinm(cpu->r[12], 0x00000018u, 0x0000001Eu, 0x0000001Fu);
|
|
/* 02C5A1D4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], cpu->r[11]);
|
|
/* 02C5A1D8 */ _t8 = cpu->r[30] + 0x00000004u;
|
|
/* 02C5A1D8 */ rbrew_write16(cpu->mem, _t8, (uint16_t)cpu->r[0]);
|
|
/* 02C5A1DC */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C5A1DC */ _t10 = _t9 & 0x00000001u;
|
|
/* 02C5A1DC */ if (_t10) goto L_02C5A1E0; else goto L_02C5A1EC;
|
|
L_02C5A1E0: ; // 0x2c5a1e0
|
|
/* 02C5A1E0 */ _t11 = cpu->r[30] + 0x0000002Cu;
|
|
/* 02C5A1E0 */ cpu->r[0] = rbrew_read16(cpu->mem, _t11);
|
|
/* 02C5A1E4 */ cpu->r[4] = (uint32_t)((int32_t)cpu->r[0] * (int32_t)0x00000030u);
|
|
/* 02C5A1E8 */ rbrew_dispatch(cpu, 0x02d09350u);
|
|
L_02C5A1EC: ; // 0x2c5a1ec
|
|
/* 02C5A1EC */ _t12 = cpu->r[30] + 0x00000030u;
|
|
/* 02C5A1EC */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02C5A1F0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C5A1F4 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C5A1F4 */ _t14 = _t13 & 0x00000001u;
|
|
/* 02C5A1F4 */ if (_t14) goto L_02C5A28C; else goto L_02C5A1F8;
|
|
L_02C5A1F8: ; // 0x2c5a1f8
|
|
/* 02C5A1F8 */ _t15 = cpu->r[30] + 0x0000002Eu;
|
|
/* 02C5A1F8 */ cpu->r[0] = rbrew_read16(cpu->mem, _t15);
|
|
/* 02C5A1FC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x0000FFFFu);
|
|
/* 02C5A200 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C5A200 */ _t17 = _t16 & 0x00000001u;
|
|
/* 02C5A200 */ if (_t17) goto L_02C5A28C; else goto L_02C5A204;
|
|
L_02C5A204: ; // 0x2c5a204
|
|
/* 02C5A204 */ cpu->r[7] = rbrew_rlwinm(cpu->r[29], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 02C5A208 */ cpu->r[8] = cpu->r[7] + 0x101B0000u;
|
|
/* 02C5A20C */ cpu->r[9] = cpu->r[8] + 0xFFFFEFA0u;
|
|
/* 02C5A210 */ _t18 = cpu->r[9] + 0x00000002u;
|
|
/* 02C5A210 */ cpu->r[0] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t18);
|
|
/* 02C5A214 */ _t19 = cpu->r[8] + 0xFFFFEFA0u;
|
|
/* 02C5A214 */ cpu->r[11] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t19);
|
|
/* 02C5A218 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C5A21C */ cpu->r[3] = cpu->r[30] + cpu->r[11];
|
|
/* 02C5A220 */ _t20 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C5A220 */ _t21 = _t20 & 0x00000001u;
|
|
/* 02C5A220 */ if (_t21) goto L_02C5A224; else goto L_02C5A250;
|
|
L_02C5A224: ; // 0x2c5a224
|
|
/* 02C5A224 */ _t22 = cpu->r[9] + 0x00000004u;
|
|
/* 02C5A224 */ cpu->r[6] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02C5A228 */ cpu->ctr = cpu->r[6];
|
|
/* 02C5A22C */ cpu->r[4] = cpu->r[31];
|
|
/* 02C5A230 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02C5A234 */ _t23 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C5A234 */ cpu->r[29] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02C5A238 */ _t24 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C5A238 */ cpu->r[0] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02C5A23C */ _t25 = cpu->r[1] + 0x00000010u;
|
|
/* 02C5A23C */ cpu->r[30] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02C5A240 */ cpu->lr = cpu->r[0];
|
|
/* 02C5A244 */ _t26 = cpu->r[1] + 0x00000014u;
|
|
/* 02C5A244 */ cpu->r[31] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02C5A248 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C5A24C */ return;
|
|
L_02C5A250: ; // 0x2c5a250
|
|
/* 02C5A250 */ _t27 = cpu->r[9] + 0x00000006u;
|
|
/* 02C5A250 */ cpu->r[12] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t27);
|
|
/* 02C5A254 */ _t28 = cpu->r[3] + cpu->r[12];
|
|
/* 02C5A254 */ cpu->r[9] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02C5A258 */ cpu->r[7] = rbrew_rlwinm(cpu->r[0], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 02C5A25C */ cpu->r[10] = cpu->r[9] + cpu->r[7];
|
|
/* 02C5A260 */ _t29 = cpu->r[10] + 0x00000004u;
|
|
/* 02C5A260 */ cpu->r[6] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02C5A264 */ cpu->ctr = cpu->r[6];
|
|
/* 02C5A268 */ cpu->r[4] = cpu->r[31];
|
|
/* 02C5A26C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02C5A270 */ _t30 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C5A270 */ cpu->r[29] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02C5A274 */ _t31 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C5A274 */ cpu->r[0] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02C5A278 */ _t32 = cpu->r[1] + 0x00000010u;
|
|
/* 02C5A278 */ cpu->r[30] = rbrew_read32(cpu->mem, _t32);
|
|
/* 02C5A27C */ cpu->lr = cpu->r[0];
|
|
/* 02C5A280 */ _t33 = cpu->r[1] + 0x00000014u;
|
|
/* 02C5A280 */ cpu->r[31] = rbrew_read32(cpu->mem, _t33);
|
|
/* 02C5A284 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C5A288 */ return;
|
|
L_02C5A28C: ; // 0x2c5a28c
|
|
/* 02C5A28C */ cpu->r[10] = rbrew_rlwinm(cpu->r[29], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 02C5A290 */ cpu->r[11] = cpu->r[10] + 0x101B0000u;
|
|
/* 02C5A294 */ cpu->r[8] = cpu->r[11] + 0xFFFFEF80u;
|
|
/* 02C5A298 */ _t34 = cpu->r[8] + 0x00000002u;
|
|
/* 02C5A298 */ cpu->r[10] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t34);
|
|
/* 02C5A29C */ _t35 = cpu->r[11] + 0xFFFFEF80u;
|
|
/* 02C5A29C */ cpu->r[12] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t35);
|
|
/* 02C5A2A0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02C5A2A4 */ cpu->r[3] = cpu->r[30] + cpu->r[12];
|
|
/* 02C5A2A8 */ _t36 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C5A2A8 */ _t37 = _t36 & 0x00000001u;
|
|
/* 02C5A2A8 */ if (_t37) goto L_02C5A2AC; else goto L_02C5A2C0;
|
|
L_02C5A2AC: ; // 0x2c5a2ac
|
|
/* 02C5A2AC */ _t38 = cpu->r[8] + 0x00000004u;
|
|
/* 02C5A2AC */ cpu->r[8] = rbrew_read32(cpu->mem, _t38);
|
|
/* 02C5A2B0 */ cpu->ctr = cpu->r[8];
|
|
/* 02C5A2B4 */ cpu->r[4] = cpu->r[31];
|
|
/* 02C5A2B8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02C5A2BC */ goto L_02C5A2E0;
|
|
L_02C5A2C0: ; // 0x2c5a2c0
|
|
/* 02C5A2C0 */ _t39 = cpu->r[8] + 0x00000006u;
|
|
/* 02C5A2C0 */ cpu->r[0] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t39);
|
|
/* 02C5A2C4 */ _t40 = cpu->r[3] + cpu->r[0];
|
|
/* 02C5A2C4 */ cpu->r[7] = rbrew_read32(cpu->mem, _t40);
|
|
/* 02C5A2C8 */ cpu->r[6] = rbrew_rlwinm(cpu->r[10], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 02C5A2CC */ cpu->r[12] = cpu->r[7] + cpu->r[6];
|
|
/* 02C5A2D0 */ _t41 = cpu->r[12] + 0x00000004u;
|
|
/* 02C5A2D0 */ cpu->r[8] = rbrew_read32(cpu->mem, _t41);
|
|
/* 02C5A2D4 */ cpu->ctr = cpu->r[8];
|
|
/* 02C5A2D8 */ cpu->r[4] = cpu->r[31];
|
|
/* 02C5A2DC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02C5A2E0: ; // 0x2c5a2e0
|
|
/* 02C5A2E0 */ _t42 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C5A2E0 */ cpu->r[29] = rbrew_read32(cpu->mem, _t42);
|
|
/* 02C5A2E4 */ _t43 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C5A2E4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t43);
|
|
/* 02C5A2E8 */ _t44 = cpu->r[1] + 0x00000010u;
|
|
/* 02C5A2E8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t44);
|
|
/* 02C5A2EC */ cpu->lr = cpu->r[0];
|
|
/* 02C5A2F0 */ _t45 = cpu->r[1] + 0x00000014u;
|
|
/* 02C5A2F0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t45);
|
|
/* 02C5A2F4 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C5A2F8 */ return;
|
|
}
|
|
|
|
// fn_02C5A2FC @ 0x2c5a2fc
|
|
void Gambit_fn_02C5A2FC(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, _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, _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;
|
|
double _ft50, _ft80;
|
|
|
|
L_02C5A2FC: ; // 0x2c5a2fc
|
|
/* 02C5A2FC */ _t0 = cpu->r[1] + 0xFFFFFEF0u;
|
|
/* 02C5A2FC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C5A2FC */ cpu->r[1] = _t0;
|
|
/* 02C5A300 */ _t1 = cpu->r[1] + 0x000000B0u;
|
|
/* 02C5A300 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[26]);
|
|
/* 02C5A304 */ cpu->r[0] = cpu->lr;
|
|
/* 02C5A308 */ _t2 = cpu->r[1] + 0x000000C0u;
|
|
/* 02C5A308 */ rbrew_write_f64(cpu->mem, _t2, cpu->f[27]);
|
|
/* 02C5A30C */ /* nop */
|
|
/* 02C5A310 */ _t3 = cpu->r[1] + 0x000000F0u;
|
|
/* 02C5A310 */ rbrew_write_f64(cpu->mem, _t3, cpu->f[30]);
|
|
/* 02C5A314 */ /* nop */
|
|
/* 02C5A318 */ _t4 = cpu->r[1] + 0x000000C8u;
|
|
/* 02C5A318 */ rbrew_write_f32(cpu->mem, _t4, cpu->f[27]);
|
|
/* 02C5A31C */ /* nop */
|
|
/* 02C5A320 */ _t5 = cpu->r[1] + 0x000000E0u;
|
|
/* 02C5A320 */ rbrew_write_f64(cpu->mem, _t5, cpu->f[29]);
|
|
/* 02C5A324 */ _t6 = cpu->r[1] + 0x00000100u;
|
|
/* 02C5A324 */ rbrew_write_f64(cpu->mem, _t6, cpu->f[31]);
|
|
/* 02C5A328 */ /* nop */
|
|
/* 02C5A32C */ _t7 = cpu->r[1] + 0x000000A0u;
|
|
/* 02C5A32C */ rbrew_write_f64(cpu->mem, _t7, cpu->f[25]);
|
|
/* 02C5A330 */ _t8 = cpu->r[1] + 0x00000114u;
|
|
/* 02C5A330 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
/* 02C5A334 */ /* nop */
|
|
/* 02C5A338 */ _t9 = cpu->r[1] + 0x000000E8u;
|
|
/* 02C5A338 */ rbrew_write_f32(cpu->mem, _t9, cpu->f[29]);
|
|
/* 02C5A33C */ /* nop */
|
|
/* 02C5A340 */ _t10 = cpu->r[1] + 0x000000D0u;
|
|
/* 02C5A340 */ rbrew_write_f64(cpu->mem, _t10, cpu->f[28]);
|
|
/* 02C5A344 */ /* nop */
|
|
/* 02C5A348 */ cpu->r[0] = (uint32_t)((int32_t)cpu->r[6] * (int32_t)0x00000030u);
|
|
/* 02C5A34C */ _t11 = cpu->r[1] + 0x00000090u;
|
|
/* 02C5A34C */ rbrew_write_f64(cpu->mem, _t11, cpu->f[24]);
|
|
/* 02C5A350 */ /* nop */
|
|
/* 02C5A354 */ _t12 = cpu->r[1] + 0x000000F8u;
|
|
/* 02C5A354 */ rbrew_write_f32(cpu->mem, _t12, cpu->f[30]);
|
|
/* 02C5A358 */ _t13 = cpu->r[1] + 0x00000098u;
|
|
/* 02C5A358 */ rbrew_write_f32(cpu->mem, _t13, cpu->f[24]);
|
|
/* 02C5A35C */ _t14 = cpu->r[1] + 0x00000108u;
|
|
/* 02C5A35C */ rbrew_write_f32(cpu->mem, _t14, cpu->f[31]);
|
|
/* 02C5A360 */ _t15 = cpu->r[1] + 0x000000B8u;
|
|
/* 02C5A360 */ rbrew_write_f32(cpu->mem, _t15, cpu->f[26]);
|
|
/* 02C5A364 */ /* nop */
|
|
/* 02C5A368 */ _t16 = cpu->r[1] + 0x00000080u;
|
|
/* 02C5A368 */ rbrew_write_f64(cpu->mem, _t16, cpu->f[23]);
|
|
/* 02C5A36C */ _t17 = cpu->r[1] + 0x000000D8u;
|
|
/* 02C5A36C */ rbrew_write_f32(cpu->mem, _t17, cpu->f[28]);
|
|
/* 02C5A370 */ /* nop */
|
|
/* 02C5A374 */ _t18 = cpu->r[1] + 0x000000A8u;
|
|
/* 02C5A374 */ rbrew_write_f32(cpu->mem, _t18, cpu->f[25]);
|
|
/* 02C5A378 */ cpu->r[27] = cpu->r[3];
|
|
/* 02C5A37C */ _t19 = cpu->r[1] + 0x00000088u;
|
|
/* 02C5A37C */ rbrew_write_f32(cpu->mem, _t19, cpu->f[23]);
|
|
/* 02C5A380 */ cpu->r[29] = cpu->r[5];
|
|
/* 02C5A384 */ _t20 = cpu->r[27] + 0x00000004u;
|
|
/* 02C5A384 */ cpu->r[5] = rbrew_read16(cpu->mem, _t20);
|
|
/* 02C5A388 */ _t21 = cpu->r[27] + 0x00000010u;
|
|
/* 02C5A388 */ cpu->r[11] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02C5A38C */ cpu->r[5] = cpu->r[5] | 0x00000010u;
|
|
/* 02C5A390 */ cpu->r[28] = cpu->r[4];
|
|
/* 02C5A394 */ cpu->r[30] = cpu->r[7];
|
|
/* 02C5A398 */ _t22 = cpu->r[27] + 0x00000008u;
|
|
/* 02C5A398 */ cpu->r[7] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02C5A39C */ cpu->r[26] = cpu->r[11] + cpu->r[0];
|
|
/* 02C5A3A0 */ _t23 = cpu->r[27] + 0x00000004u;
|
|
/* 02C5A3A0 */ rbrew_write16(cpu->mem, _t23, (uint16_t)cpu->r[5]);
|
|
/* 02C5A3A4 */ /* nop */
|
|
/* 02C5A3A8 */ cpu->r[0] = rbrew_rlwinm(cpu->r[6], 0x00000006u, 0x00000000u, 0x00000019u);
|
|
/* 02C5A3AC */ /* nop */
|
|
/* 02C5A3B0 */ cpu->r[6] = cpu->r[7] + cpu->r[0];
|
|
/* 02C5A3B4 */ /* nop */
|
|
/* 02C5A3B8 */ /* nop */
|
|
/* 02C5A3BC */ /* nop */
|
|
/* 02C5A3C0 */ /* nop */
|
|
/* 02C5A3C4 */ /* nop */
|
|
/* 02C5A3C8 */ /* nop */
|
|
/* 02C5A3CC */ /* nop */
|
|
/* 02C5A3D0 */ cpu->r[8] = 0x101B0000u;
|
|
/* 02C5A3D4 */ /* nop */
|
|
/* 02C5A3D8 */ _t24 = cpu->r[6] + 0x00000010u;
|
|
/* 02C5A3D8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02C5A3DC */ cpu->r[8] = cpu->r[8] + 0xFFFFEF60u;
|
|
/* 02C5A3E0 */ /* nop */
|
|
/* 02C5A3E4 */ /* nop */
|
|
/* 02C5A3E8 */ /* nop */
|
|
/* 02C5A3EC */ /* nop */
|
|
/* 02C5A3F0 */ /* nop */
|
|
/* 02C5A3F4 */ cpu->r[4] = cpu->r[1] + 0x00000038u;
|
|
/* 02C5A3F8 */ /* nop */
|
|
/* 02C5A3FC */ /* nop */
|
|
/* 02C5A400 */ /* nop */
|
|
/* 02C5A404 */ /* nop */
|
|
/* 02C5A408 */ /* nop */
|
|
/* 02C5A40C */ /* nop */
|
|
/* 02C5A410 */ /* nop */
|
|
/* 02C5A414 */ /* nop */
|
|
/* 02C5A418 */ /* nop */
|
|
/* 02C5A41C */ /* nop */
|
|
/* 02C5A420 */ /* nop */
|
|
/* 02C5A424 */ /* nop */
|
|
/* 02C5A428 */ /* nop */
|
|
/* 02C5A42C */ /* nop */
|
|
/* 02C5A430 */ /* nop */
|
|
/* 02C5A434 */ /* nop */
|
|
/* 02C5A438 */ /* nop */
|
|
/* 02C5A43C */ /* nop */
|
|
/* 02C5A440 */ /* nop */
|
|
/* 02C5A444 */ /* nop */
|
|
/* 02C5A448 */ /* nop */
|
|
/* 02C5A44C */ /* nop */
|
|
/* 02C5A450 */ /* nop */
|
|
/* 02C5A454 */ /* nop */
|
|
/* 02C5A458 */ /* nop */
|
|
/* 02C5A45C */ _t25 = cpu->r[27] + 0x0000000Cu;
|
|
/* 02C5A45C */ cpu->r[6] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02C5A460 */ cpu->r[3] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000000Du, 0x0000000Fu);
|
|
/* 02C5A464 */ cpu->r[5] = cpu->r[29];
|
|
/* 02C5A468 */ cpu->r[12] = cpu->r[6] + cpu->r[0];
|
|
/* 02C5A46C */ cpu->r[6] = cpu->r[26];
|
|
/* 02C5A470 */ cpu->r[7] = cpu->r[12] + 0x00000010u;
|
|
/* 02C5A474 */ Gambit_fn_02C66DD8(cpu);
|
|
/* 02C5A478 */ cpu->r[0] = 0x00040000u;
|
|
/* 02C5A47C */ cpu->r[11] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000000Du, 0x0000000Eu);
|
|
/* 02C5A480 */ cpu->r[12] = 0x00000010u;
|
|
/* 02C5A484 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[0]);
|
|
/* 02C5A488 */ _t26 = cpu->r[27] + 0x00000004u;
|
|
/* 02C5A488 */ cpu->r[0] = rbrew_read16(cpu->mem, _t26);
|
|
/* 02C5A48C */ _t27 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C5A48C */ _t28 = _t27 & 0x00000001u;
|
|
/* 02C5A48C */ if (_t28) goto L_02C5A490; else goto L_02C5A494;
|
|
L_02C5A490: ; // 0x2c5a490
|
|
/* 02C5A490 */ cpu->r[12] = 0x00000014u;
|
|
L_02C5A494: ; // 0x2c5a494
|
|
/* 02C5A494 */ cpu->r[0] = cpu->r[0] | cpu->r[12];
|
|
/* 02C5A498 */ _t29 = cpu->r[27] + 0x00000004u;
|
|
/* 02C5A498 */ rbrew_write16(cpu->mem, _t29, (uint16_t)cpu->r[0]);
|
|
/* 02C5A49C */ _t30 = cpu->r[29] + 0x00000020u;
|
|
/* 02C5A49C */ cpu->f[2] = rbrew_read_f32(cpu->mem, _t30);
|
|
/* 02C5A4A0 */ _t31 = cpu->r[29] + 0x00000014u;
|
|
/* 02C5A4A0 */ cpu->f[6] = rbrew_read_f32(cpu->mem, _t31);
|
|
/* 02C5A4A4 */ _t32 = cpu->r[29] + 0x00000018u;
|
|
/* 02C5A4A4 */ cpu->f[4] = rbrew_read_f32(cpu->mem, _t32);
|
|
/* 02C5A4A8 */ cpu->f[9] = cpu->f[2] * cpu->f[6];
|
|
/* 02C5A4AC */ _t33 = cpu->r[29] + 0x00000024u;
|
|
/* 02C5A4AC */ cpu->f[5] = rbrew_read_f32(cpu->mem, _t33);
|
|
/* 02C5A4B0 */ _t34 = cpu->r[29] + 0x00000010u;
|
|
/* 02C5A4B0 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t34);
|
|
/* 02C5A4B4 */ cpu->f[7] = cpu->f[4] * cpu->f[2];
|
|
/* 02C5A4B8 */ _t35 = cpu->r[29] + 0x00000028u;
|
|
/* 02C5A4B8 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t35);
|
|
/* 02C5A4BC */ cpu->f[8] = cpu->f[5] * cpu->f[4];
|
|
/* 02C5A4C0 */ cpu->f[12] = cpu->f[1] * cpu->f[11];
|
|
/* 02C5A4C4 */ cpu->f[29] = fma(cpu->f[6], cpu->f[11], -(cpu->f[8]));
|
|
/* 02C5A4C8 */ _t36 = cpu->r[29] + 0x00000008u;
|
|
/* 02C5A4C8 */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t36);
|
|
/* 02C5A4CC */ cpu->f[10] = cpu->f[7] - cpu->f[12];
|
|
/* 02C5A4D0 */ cpu->f[13] = cpu->f[5] * cpu->f[30];
|
|
/* 02C5A4D4 */ cpu->f[12] = cpu->f[12] - cpu->f[7];
|
|
/* 02C5A4D8 */ _t37 = cpu->r[29] + 0x00000004u;
|
|
/* 02C5A4D8 */ cpu->f[3] = rbrew_read_f32(cpu->mem, _t37);
|
|
/* 02C5A4DC */ cpu->f[8] = cpu->f[1] * cpu->f[30];
|
|
/* 02C5A4E0 */ _t38 = cpu->r[29] + 0x00000000u;
|
|
/* 02C5A4E0 */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t38);
|
|
/* 02C5A4E4 */ cpu->f[0] = fma(cpu->f[3], cpu->f[11], -(cpu->f[13]));
|
|
/* 02C5A4E8 */ cpu->f[24] = fma(cpu->f[7], cpu->f[4], -(cpu->f[8]));
|
|
/* 02C5A4EC */ cpu->f[8] = cpu->f[6] * cpu->f[30];
|
|
/* 02C5A4F0 */ cpu->f[13] = cpu->f[2] * cpu->f[30];
|
|
/* 02C5A4F4 */ cpu->f[27] = fma(cpu->f[3], cpu->f[4], -(cpu->f[8]));
|
|
/* 02C5A4F8 */ cpu->f[4] = fma(cpu->f[7], cpu->f[11], -(cpu->f[13]));
|
|
/* 02C5A4FC */ cpu->f[11] = cpu->f[3] * cpu->f[10];
|
|
/* 02C5A500 */ _t39 = cpu->r[29] + 0x0000001Cu;
|
|
/* 02C5A500 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t39);
|
|
/* 02C5A504 */ cpu->f[0] = -cpu->f[0];
|
|
/* 02C5A508 */ cpu->f[28] = -cpu->f[12];
|
|
/* 02C5A50C */ cpu->f[12] = cpu->f[2] * cpu->f[3];
|
|
/* 02C5A510 */ cpu->f[10] = cpu->f[4] * cpu->f[8];
|
|
/* 02C5A514 */ cpu->f[13] = fma(cpu->f[7], cpu->f[5], -(cpu->f[12]));
|
|
/* 02C5A518 */ cpu->f[12] = fma(cpu->f[7], cpu->f[29], cpu->f[11]);
|
|
/* 02C5A51C */ cpu->f[11] = -cpu->f[24];
|
|
/* 02C5A520 */ _t40 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C5A520 */ rbrew_write_f32(cpu->mem, _t40, cpu->f[0]);
|
|
/* 02C5A524 */ cpu->f[13] = -cpu->f[13];
|
|
/* 02C5A528 */ _t41 = cpu->r[29] + 0x0000000Cu;
|
|
/* 02C5A528 */ cpu->f[25] = rbrew_read_f32(cpu->mem, _t41);
|
|
/* 02C5A52C */ cpu->f[0] = cpu->f[0] * cpu->f[8];
|
|
/* 02C5A530 */ cpu->f[2] = fma(cpu->f[28], cpu->f[25], cpu->f[10]);
|
|
/* 02C5A534 */ cpu->f[10] = fma(cpu->f[1], cpu->f[5], -(cpu->f[9]));
|
|
/* 02C5A538 */ cpu->f[8] = cpu->f[13] * cpu->f[8];
|
|
/* 02C5A53C */ cpu->f[26] = fma(cpu->f[29], cpu->f[25], cpu->f[0]);
|
|
/* 02C5A540 */ _t42 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C5A540 */ rbrew_write_f32(cpu->mem, _t42, cpu->f[4]);
|
|
/* 02C5A544 */ cpu->f[9] = cpu->f[1] * cpu->f[3];
|
|
/* 02C5A548 */ _t43 = cpu->r[1] + 0x00000018u;
|
|
/* 02C5A548 */ rbrew_write_f32(cpu->mem, _t43, cpu->f[28]);
|
|
/* 02C5A54C */ cpu->f[8] = fma(cpu->f[10], cpu->f[25], cpu->f[8]);
|
|
/* 02C5A550 */ _t44 = cpu->r[29] + 0x0000002Cu;
|
|
/* 02C5A550 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t44);
|
|
/* 02C5A554 */ cpu->f[9] = fma(cpu->f[7], cpu->f[6], -(cpu->f[9]));
|
|
/* 02C5A558 */ _t45 = cpu->r[1] + 0x00000008u;
|
|
/* 02C5A558 */ rbrew_write_f32(cpu->mem, _t45, cpu->f[29]);
|
|
/* 02C5A55C */ cpu->f[4] = fma(cpu->f[27], cpu->f[0], cpu->f[26]);
|
|
/* 02C5A560 */ cpu->f[8] = fma(cpu->f[9], cpu->f[0], cpu->f[8]);
|
|
/* 02C5A564 */ _t46 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02C5A564 */ rbrew_write_f32(cpu->mem, _t46, cpu->f[13]);
|
|
/* 02C5A568 */ cpu->f[7] = fma(cpu->f[11], cpu->f[0], cpu->f[2]);
|
|
/* 02C5A56C */ _t47 = cpu->r[1] + 0x00000030u;
|
|
/* 02C5A56C */ rbrew_write_f32(cpu->mem, _t47, cpu->f[9]);
|
|
/* 02C5A570 */ cpu->f[0] = fma(cpu->f[30], cpu->f[10], cpu->f[12]);
|
|
/* 02C5A574 */ _t48 = cpu->r[1] + 0x00000028u;
|
|
/* 02C5A574 */ rbrew_write_f32(cpu->mem, _t48, cpu->f[10]);
|
|
/* 02C5A578 */ cpu->f[6] = -cpu->f[8];
|
|
/* 02C5A57C */ _t49 = cpu->r[1] + 0x00000020u;
|
|
/* 02C5A57C */ rbrew_write_f32(cpu->mem, _t49, cpu->f[11]);
|
|
/* 02C5A580 */ cpu->f[13] = -cpu->f[7];
|
|
/* 02C5A584 */ /* nop */
|
|
/* 02C5A588 */ _ft50 = (double)(int32_t)0x00000001u;
|
|
/* 02C5A588 */ cpu->f[9] = _ft50 / cpu->f[0];
|
|
/* 02C5A58C */ _t51 = cpu->r[1] + 0x00000010u;
|
|
/* 02C5A58C */ rbrew_write_f32(cpu->mem, _t51, cpu->f[27]);
|
|
/* 02C5A590 */ cpu->f[5] = -cpu->f[4];
|
|
/* 02C5A594 */ _t52 = cpu->r[1] + 0x00000024u;
|
|
/* 02C5A594 */ rbrew_write_f32(cpu->mem, _t52, cpu->f[13]);
|
|
/* 02C5A598 */ cpu->f[10] = cpu->f[9] + cpu->f[9];
|
|
/* 02C5A59C */ /* nop */
|
|
/* 02C5A5A0 */ cpu->f[0] = cpu->f[0] * cpu->f[9];
|
|
/* 02C5A5A4 */ _t53 = cpu->r[1] + 0x00000014u;
|
|
/* 02C5A5A4 */ rbrew_write_f32(cpu->mem, _t53, cpu->f[5]);
|
|
/* 02C5A5A8 */ /* nop */
|
|
/* 02C5A5AC */ cpu->f[5] = -fma(cpu->f[0], cpu->f[9], -(cpu->f[10]));
|
|
/* 02C5A5B0 */ /* nop */
|
|
/* 02C5A5B4 */ /* nop */
|
|
/* 02C5A5B8 */ /* nop */
|
|
/* 02C5A5BC */ _t54 = cpu->r[1] + 0x00000034u;
|
|
/* 02C5A5BC */ rbrew_write_f32(cpu->mem, _t54, cpu->f[6]);
|
|
/* 02C5A5C0 */ /* nop */
|
|
/* 02C5A5C4 */ /* nop */
|
|
/* 02C5A5C8 */ /* nop */
|
|
/* 02C5A5CC */ /* nop */
|
|
/* 02C5A5D0 */ /* nop */
|
|
/* 02C5A5D4 */ /* nop */
|
|
/* 02C5A5D8 */ /* nop */
|
|
/* 02C5A5DC */ /* nop */
|
|
/* 02C5A5E0 */ /* nop */
|
|
/* 02C5A5E4 */ /* nop */
|
|
/* 02C5A5E8 */ /* nop */
|
|
/* 02C5A5EC */ cpu->r[11] = cpu->r[1] + 0x00000038u;
|
|
/* 02C5A5F0 */ /* nop */
|
|
/* 02C5A5F4 */ /* nop */
|
|
/* 02C5A5F8 */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 02C5A5FC */ /* nop */
|
|
/* 02C5A600 */ /* nop */
|
|
/* 02C5A604 */ /* nop */
|
|
/* 02C5A608 */ /* nop */
|
|
/* 02C5A60C */ /* nop */
|
|
/* 02C5A610 */ /* nop */
|
|
/* 02C5A614 */ /* nop */
|
|
/* 02C5A618 */ /* nop */
|
|
/* 02C5A61C */ /* nop */
|
|
/* 02C5A620 */ /* nop */
|
|
/* 02C5A624 */ /* nop */
|
|
/* 02C5A628 */ /* nop */
|
|
/* 02C5A62C */ /* nop */
|
|
/* 02C5A630 */ /* nop */
|
|
/* 02C5A634 */ /* nop */
|
|
/* 02C5A638 */ /* nop */
|
|
/* 02C5A63C */ /* nop */
|
|
/* 02C5A640 */ /* nop */
|
|
/* 02C5A644 */ /* nop */
|
|
/* 02C5A648 */ /* nop */
|
|
/* 02C5A64C */ /* nop */
|
|
/* 02C5A650 */ /* nop */
|
|
/* 02C5A654 */ /* nop */
|
|
/* 02C5A658 */ /* nop */
|
|
/* 02C5A65C */ /* nop */
|
|
/* 02C5A660 */ /* nop */
|
|
/* 02C5A664 */ /* nop */
|
|
/* 02C5A668 */ /* nop */
|
|
/* 02C5A66C */ /* nop */
|
|
/* 02C5A670 */ /* nop */
|
|
/* 02C5A674 */ /* nop */
|
|
/* 02C5A678 */ /* nop */
|
|
/* 02C5A67C */ /* nop */
|
|
/* 02C5A680 */ /* nop */
|
|
/* 02C5A684 */ /* nop */
|
|
/* 02C5A688 */ /* nop */
|
|
/* 02C5A68C */ /* nop */
|
|
/* 02C5A690 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02C5A694 */ /* nop */
|
|
/* 02C5A698 */ _t55 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C5A698 */ _t56 = _t55 & 0x00000001u;
|
|
/* 02C5A698 */ if (_t56) goto L_02C5A69C; else goto L_02C5A8A8;
|
|
L_02C5A69C: ; // 0x2c5a69c
|
|
/* 02C5A69C */ _t57 = cpu->r[26] + 0x00000024u;
|
|
/* 02C5A69C */ cpu->f[4] = rbrew_read_f32(cpu->mem, _t57);
|
|
/* 02C5A6A0 */ _t58 = cpu->r[26] + 0x00000018u;
|
|
/* 02C5A6A0 */ cpu->f[2] = rbrew_read_f32(cpu->mem, _t58);
|
|
/* 02C5A6A4 */ _t59 = cpu->r[26] + 0x00000028u;
|
|
/* 02C5A6A4 */ cpu->f[3] = rbrew_read_f32(cpu->mem, _t59);
|
|
/* 02C5A6A8 */ cpu->f[12] = cpu->f[4] * cpu->f[2];
|
|
/* 02C5A6AC */ _t60 = cpu->r[26] + 0x00000014u;
|
|
/* 02C5A6AC */ cpu->f[6] = rbrew_read_f32(cpu->mem, _t60);
|
|
/* 02C5A6B0 */ _t61 = cpu->r[26] + 0x00000008u;
|
|
/* 02C5A6B0 */ cpu->f[26] = rbrew_read_f32(cpu->mem, _t61);
|
|
/* 02C5A6B4 */ cpu->f[25] = fma(cpu->f[6], cpu->f[3], -(cpu->f[12]));
|
|
/* 02C5A6B8 */ _t62 = cpu->r[26] + 0x00000020u;
|
|
/* 02C5A6B8 */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t62);
|
|
/* 02C5A6BC */ cpu->f[12] = cpu->f[4] * cpu->f[26];
|
|
/* 02C5A6C0 */ _t63 = cpu->r[26] + 0x00000010u;
|
|
/* 02C5A6C0 */ cpu->f[27] = rbrew_read_f32(cpu->mem, _t63);
|
|
/* 02C5A6C4 */ cpu->f[28] = cpu->f[30] * cpu->f[6];
|
|
/* 02C5A6C8 */ cpu->f[11] = cpu->f[27] * cpu->f[3];
|
|
/* 02C5A6CC */ cpu->f[10] = cpu->f[6] * cpu->f[26];
|
|
/* 02C5A6D0 */ _t64 = cpu->r[26] + 0x00000004u;
|
|
/* 02C5A6D0 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t64);
|
|
/* 02C5A6D4 */ cpu->f[13] = cpu->f[2] * cpu->f[30];
|
|
/* 02C5A6D8 */ cpu->f[23] = fma(cpu->f[1], cpu->f[2], -(cpu->f[10]));
|
|
/* 02C5A6DC */ cpu->f[0] = cpu->f[13] - cpu->f[11];
|
|
/* 02C5A6E0 */ _t65 = cpu->r[26] + 0x00000000u;
|
|
/* 02C5A6E0 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t65);
|
|
/* 02C5A6E4 */ cpu->f[7] = cpu->f[27] * cpu->f[26];
|
|
/* 02C5A6E8 */ _t66 = cpu->r[1] + 0x00000008u;
|
|
/* 02C5A6E8 */ rbrew_write_f32(cpu->mem, _t66, cpu->f[25]);
|
|
/* 02C5A6EC */ cpu->f[5] = cpu->f[1] * cpu->f[0];
|
|
/* 02C5A6F0 */ cpu->f[0] = fma(cpu->f[1], cpu->f[3], -(cpu->f[12]));
|
|
/* 02C5A6F4 */ cpu->f[12] = cpu->f[30] * cpu->f[26];
|
|
/* 02C5A6F8 */ cpu->f[24] = -cpu->f[0];
|
|
/* 02C5A6FC */ cpu->f[0] = cpu->f[11] - cpu->f[13];
|
|
/* 02C5A700 */ cpu->f[9] = fma(cpu->f[8], cpu->f[2], -(cpu->f[7]));
|
|
/* 02C5A704 */ cpu->f[7] = fma(cpu->f[8], cpu->f[25], cpu->f[5]);
|
|
/* 02C5A708 */ cpu->f[5] = fma(cpu->f[27], cpu->f[4], -(cpu->f[28]));
|
|
/* 02C5A70C */ cpu->f[29] = -cpu->f[9];
|
|
/* 02C5A710 */ _t67 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C5A710 */ rbrew_write_f32(cpu->mem, _t67, cpu->f[24]);
|
|
/* 02C5A714 */ cpu->f[10] = cpu->f[30] * cpu->f[1];
|
|
/* 02C5A718 */ cpu->f[3] = fma(cpu->f[8], cpu->f[3], -(cpu->f[12]));
|
|
/* 02C5A71C */ cpu->f[11] = fma(cpu->f[8], cpu->f[4], -(cpu->f[10]));
|
|
/* 02C5A720 */ _t68 = cpu->r[1] + 0x00000020u;
|
|
/* 02C5A720 */ rbrew_write_f32(cpu->mem, _t68, cpu->f[29]);
|
|
/* 02C5A724 */ cpu->f[12] = cpu->f[27] * cpu->f[1];
|
|
/* 02C5A728 */ _t69 = cpu->r[1] + 0x00000028u;
|
|
/* 02C5A728 */ rbrew_write_f32(cpu->mem, _t69, cpu->f[5]);
|
|
/* 02C5A72C */ cpu->f[28] = -cpu->f[0];
|
|
/* 02C5A730 */ _t70 = cpu->r[1] + 0x00000010u;
|
|
/* 02C5A730 */ rbrew_write_f32(cpu->mem, _t70, cpu->f[23]);
|
|
/* 02C5A734 */ cpu->f[4] = -cpu->f[11];
|
|
/* 02C5A738 */ _t71 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C5A738 */ rbrew_write_f32(cpu->mem, _t71, cpu->f[3]);
|
|
/* 02C5A73C */ cpu->f[6] = fma(cpu->f[8], cpu->f[6], -(cpu->f[12]));
|
|
/* 02C5A740 */ _t72 = cpu->r[1] + 0x00000018u;
|
|
/* 02C5A740 */ rbrew_write_f32(cpu->mem, _t72, cpu->f[28]);
|
|
/* 02C5A744 */ _t73 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02C5A744 */ rbrew_write_f32(cpu->mem, _t73, cpu->f[4]);
|
|
/* 02C5A748 */ cpu->f[2] = fma(cpu->f[26], cpu->f[5], cpu->f[7]);
|
|
/* 02C5A74C */ _t74 = cpu->r[1] + 0x00000030u;
|
|
/* 02C5A74C */ rbrew_write_f32(cpu->mem, _t74, cpu->f[6]);
|
|
/* 02C5A750 */ _t75 = cpu->r[26] + 0x0000001Cu;
|
|
/* 02C5A750 */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t75);
|
|
/* 02C5A754 */ cpu->f[0] = cpu->f[24] * cpu->f[7];
|
|
/* 02C5A758 */ _t76 = cpu->r[26] + 0x0000000Cu;
|
|
/* 02C5A758 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t76);
|
|
/* 02C5A75C */ cpu->f[8] = fma(cpu->f[25], cpu->f[13], cpu->f[0]);
|
|
/* 02C5A760 */ _t77 = cpu->r[26] + 0x0000002Cu;
|
|
/* 02C5A760 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t77);
|
|
/* 02C5A764 */ cpu->f[10] = fma(cpu->f[23], cpu->f[9], cpu->f[8]);
|
|
/* 02C5A768 */ cpu->f[11] = -cpu->f[10];
|
|
/* 02C5A76C */ _t78 = cpu->r[1] + 0x00000014u;
|
|
/* 02C5A76C */ rbrew_write_f32(cpu->mem, _t78, cpu->f[11]);
|
|
/* 02C5A770 */ _t79 = cpu->r[26] + 0x0000001Cu;
|
|
/* 02C5A770 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t79);
|
|
/* 02C5A774 */ _ft80 = (double)(int32_t)0x00000001u;
|
|
/* 02C5A774 */ cpu->f[10] = _ft80 / cpu->f[2];
|
|
/* 02C5A778 */ _t81 = cpu->r[26] + 0x0000000Cu;
|
|
/* 02C5A778 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t81);
|
|
/* 02C5A77C */ cpu->f[13] = cpu->f[3] * cpu->f[0];
|
|
/* 02C5A780 */ cpu->f[8] = fma(cpu->f[28], cpu->f[12], cpu->f[13]);
|
|
/* 02C5A784 */ _t82 = cpu->r[26] + 0x0000002Cu;
|
|
/* 02C5A784 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t82);
|
|
/* 02C5A788 */ cpu->f[0] = cpu->f[2] * cpu->f[10];
|
|
/* 02C5A78C */ cpu->f[13] = fma(cpu->f[29], cpu->f[11], cpu->f[8]);
|
|
/* 02C5A790 */ cpu->f[12] = cpu->f[10] + cpu->f[10];
|
|
/* 02C5A794 */ /* nop */
|
|
/* 02C5A798 */ cpu->f[7] = -cpu->f[13];
|
|
/* 02C5A79C */ /* nop */
|
|
/* 02C5A7A0 */ cpu->f[3] = -fma(cpu->f[0], cpu->f[10], -(cpu->f[12]));
|
|
/* 02C5A7A4 */ _t83 = cpu->r[1] + 0x00000024u;
|
|
/* 02C5A7A4 */ rbrew_write_f32(cpu->mem, _t83, cpu->f[7]);
|
|
/* 02C5A7A8 */ _t84 = cpu->r[26] + 0x0000001Cu;
|
|
/* 02C5A7A8 */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t84);
|
|
/* 02C5A7AC */ /* nop */
|
|
/* 02C5A7B0 */ cpu->f[13] = cpu->f[4] * cpu->f[7];
|
|
/* 02C5A7B4 */ _t85 = cpu->r[26] + 0x0000000Cu;
|
|
/* 02C5A7B4 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t85);
|
|
/* 02C5A7B8 */ _t86 = cpu->r[26] + 0x0000002Cu;
|
|
/* 02C5A7B8 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t86);
|
|
/* 02C5A7BC */ cpu->f[9] = fma(cpu->f[5], cpu->f[10], cpu->f[13]);
|
|
/* 02C5A7C0 */ /* nop */
|
|
/* 02C5A7C4 */ /* nop */
|
|
/* 02C5A7C8 */ /* nop */
|
|
/* 02C5A7CC */ /* nop */
|
|
/* 02C5A7D0 */ /* nop */
|
|
/* 02C5A7D4 */ cpu->f[8] = fma(cpu->f[6], cpu->f[0], cpu->f[9]);
|
|
/* 02C5A7D8 */ /* nop */
|
|
/* 02C5A7DC */ /* nop */
|
|
/* 02C5A7E0 */ /* nop */
|
|
/* 02C5A7E4 */ cpu->f[9] = -cpu->f[8];
|
|
/* 02C5A7E8 */ /* nop */
|
|
/* 02C5A7EC */ /* nop */
|
|
/* 02C5A7F0 */ /* nop */
|
|
/* 02C5A7F4 */ _t87 = cpu->r[1] + 0x00000034u;
|
|
/* 02C5A7F4 */ rbrew_write_f32(cpu->mem, _t87, cpu->f[9]);
|
|
/* 02C5A7F8 */ /* nop */
|
|
/* 02C5A7FC */ /* nop */
|
|
/* 02C5A800 */ /* nop */
|
|
/* 02C5A804 */ cpu->r[11] = cpu->r[1] + 0x00000008u;
|
|
/* 02C5A808 */ /* nop */
|
|
/* 02C5A80C */ /* nop */
|
|
/* 02C5A810 */ /* nop */
|
|
/* 02C5A814 */ /* nop */
|
|
/* 02C5A818 */ /* nop */
|
|
/* 02C5A81C */ /* nop */
|
|
/* 02C5A820 */ /* nop */
|
|
/* 02C5A824 */ /* nop */
|
|
/* 02C5A828 */ /* nop */
|
|
/* 02C5A82C */ /* nop */
|
|
/* 02C5A830 */ /* nop */
|
|
/* 02C5A834 */ /* nop */
|
|
/* 02C5A838 */ /* nop */
|
|
/* 02C5A83C */ /* nop */
|
|
/* 02C5A840 */ /* nop */
|
|
/* 02C5A844 */ /* nop */
|
|
/* 02C5A848 */ /* nop */
|
|
/* 02C5A84C */ /* nop */
|
|
/* 02C5A850 */ /* nop */
|
|
/* 02C5A854 */ /* nop */
|
|
/* 02C5A858 */ /* nop */
|
|
/* 02C5A85C */ /* nop */
|
|
/* 02C5A860 */ /* nop */
|
|
/* 02C5A864 */ /* nop */
|
|
/* 02C5A868 */ /* nop */
|
|
/* 02C5A86C */ /* nop */
|
|
/* 02C5A870 */ /* nop */
|
|
/* 02C5A874 */ /* nop */
|
|
/* 02C5A878 */ /* nop */
|
|
/* 02C5A87C */ /* nop */
|
|
/* 02C5A880 */ /* nop */
|
|
/* 02C5A884 */ /* nop */
|
|
/* 02C5A888 */ /* nop */
|
|
/* 02C5A88C */ /* nop */
|
|
/* 02C5A890 */ /* nop */
|
|
/* 02C5A894 */ /* nop */
|
|
/* 02C5A898 */ /* nop */
|
|
/* 02C5A89C */ /* nop */
|
|
/* 02C5A8A0 */ /* nop */
|
|
/* 02C5A8A4 */ /* nop */
|
|
L_02C5A8A8: ; // 0x2c5a8a8
|
|
/* 02C5A8A8 */ /* nop */
|
|
/* 02C5A8AC */ _t88 = cpu->r[1] + 0x000000D8u;
|
|
/* 02C5A8AC */ cpu->f[28] = rbrew_read_f32(cpu->mem, _t88);
|
|
/* 02C5A8B0 */ _t89 = cpu->r[1] + 0x000000B8u;
|
|
/* 02C5A8B0 */ cpu->f[26] = rbrew_read_f32(cpu->mem, _t89);
|
|
/* 02C5A8B4 */ _t90 = cpu->r[1] + 0x000000D0u;
|
|
/* 02C5A8B4 */ cpu->f[28] = rbrew_read_f64(cpu->mem, _t90);
|
|
/* 02C5A8B8 */ _t91 = cpu->r[1] + 0x000000A8u;
|
|
/* 02C5A8B8 */ cpu->f[25] = rbrew_read_f32(cpu->mem, _t91);
|
|
/* 02C5A8BC */ _t92 = cpu->r[1] + 0x000000B0u;
|
|
/* 02C5A8BC */ cpu->f[26] = rbrew_read_f64(cpu->mem, _t92);
|
|
/* 02C5A8C0 */ _t93 = cpu->r[1] + 0x000000A0u;
|
|
/* 02C5A8C0 */ cpu->f[25] = rbrew_read_f64(cpu->mem, _t93);
|
|
/* 02C5A8C4 */ _t94 = cpu->r[1] + 0x000000F8u;
|
|
/* 02C5A8C4 */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t94);
|
|
/* 02C5A8C8 */ _t95 = cpu->r[1] + 0x000000C8u;
|
|
/* 02C5A8C8 */ cpu->f[27] = rbrew_read_f32(cpu->mem, _t95);
|
|
/* 02C5A8CC */ _t96 = cpu->r[1] + 0x000000F0u;
|
|
/* 02C5A8CC */ cpu->f[30] = rbrew_read_f64(cpu->mem, _t96);
|
|
/* 02C5A8D0 */ _t97 = cpu->r[1] + 0x000000C0u;
|
|
/* 02C5A8D0 */ cpu->f[27] = rbrew_read_f64(cpu->mem, _t97);
|
|
/* 02C5A8D4 */ _t98 = cpu->r[1] + 0x00000098u;
|
|
/* 02C5A8D4 */ cpu->f[24] = rbrew_read_f32(cpu->mem, _t98);
|
|
/* 02C5A8D8 */ _t99 = cpu->r[1] + 0x000000E8u;
|
|
/* 02C5A8D8 */ cpu->f[29] = rbrew_read_f32(cpu->mem, _t99);
|
|
/* 02C5A8DC */ _t100 = cpu->r[1] + 0x00000090u;
|
|
/* 02C5A8DC */ cpu->f[24] = rbrew_read_f64(cpu->mem, _t100);
|
|
/* 02C5A8E0 */ _t101 = cpu->r[1] + 0x000000E0u;
|
|
/* 02C5A8E0 */ cpu->f[29] = rbrew_read_f64(cpu->mem, _t101);
|
|
/* 02C5A8E4 */ _t102 = cpu->r[1] + 0x00000088u;
|
|
/* 02C5A8E4 */ cpu->f[23] = rbrew_read_f32(cpu->mem, _t102);
|
|
/* 02C5A8E8 */ _t103 = cpu->r[1] + 0x00000108u;
|
|
/* 02C5A8E8 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t103);
|
|
/* 02C5A8EC */ _t104 = cpu->r[1] + 0x00000080u;
|
|
/* 02C5A8EC */ cpu->f[23] = rbrew_read_f64(cpu->mem, _t104);
|
|
/* 02C5A8F0 */ _t105 = cpu->r[1] + 0x00000100u;
|
|
/* 02C5A8F0 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t105);
|
|
/* 02C5A8F4 */ _t106 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C5A8F4 */ _t107 = _t106 & 0x00000001u;
|
|
/* 02C5A8F4 */ if (_t107) goto L_02C5A8F8; // else: addr-0 trap, fall-through
|
|
L_02C5A8F8: ; // 0x2c5a8f8
|
|
/* 02C5A8F8 */ _t108 = cpu->r[1] + 0x00000114u;
|
|
/* 02C5A8F8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t108);
|
|
/* 02C5A8FC */ cpu->lr = cpu->r[0];
|
|
/* 02C5A900 */ cpu->r[1] = cpu->r[1] + 0x00000110u;
|
|
/* 02C5A904 */ return;
|
|
}
|
|
|
|
// fn_02C5A908 @ 0x2c5a908
|
|
void Gambit_fn_02C5A908(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;
|
|
|
|
L_02C5A908: ; // 0x2c5a908
|
|
/* 02C5A908 */ _t0 = cpu->r[1] + 0xFFFFFF88u;
|
|
/* 02C5A908 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C5A908 */ cpu->r[1] = _t0;
|
|
/* 02C5A90C */ /* nop */
|
|
/* 02C5A910 */ _t1 = cpu->r[1] + 0x00000068u;
|
|
/* 02C5A910 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[31]);
|
|
/* 02C5A914 */ /* nop */
|
|
/* 02C5A918 */ cpu->r[0] = cpu->lr;
|
|
/* 02C5A91C */ _t2 = cpu->r[1] + 0x00000070u;
|
|
/* 02C5A91C */ rbrew_write_f32(cpu->mem, _t2, cpu->f[31]);
|
|
/* 02C5A920 */ _t3 = cpu->r[1] + 0x00000058u;
|
|
/* 02C5A920 */ rbrew_write_f64(cpu->mem, _t3, cpu->f[30]);
|
|
/* 02C5A924 */ _t4 = cpu->r[1] + 0x0000007Cu;
|
|
/* 02C5A924 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02C5A928 */ /* nop */
|
|
/* 02C5A92C */ _t5 = cpu->r[1] + 0x00000060u;
|
|
/* 02C5A92C */ rbrew_write_f32(cpu->mem, _t5, cpu->f[30]);
|
|
/* 02C5A930 */ cpu->r[27] = cpu->r[3];
|
|
/* 02C5A934 */ _t6 = cpu->r[27] + 0x0000001Cu;
|
|
/* 02C5A934 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02C5A938 */ cpu->r[28] = cpu->r[4];
|
|
/* 02C5A93C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C5A940 */ cpu->r[26] = cpu->r[27] + 0x00000018u;
|
|
/* 02C5A944 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C5A944 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02C5A944 */ if (_t8) goto L_02C5AD1C; else goto L_02C5A948;
|
|
L_02C5A948: ; // 0x2c5a948
|
|
/* 02C5A948 */ _t9 = cpu->r[27] + 0x00000004u;
|
|
/* 02C5A948 */ cpu->r[0] = rbrew_read16(cpu->mem, _t9);
|
|
/* 02C5A94C */ _t10 = cpu->r[27] + 0x00000000u;
|
|
/* 02C5A94C */ cpu->r[7] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02C5A950 */ cpu->r[0] = cpu->r[0] | 0x00000010u;
|
|
/* 02C5A954 */ _t11 = cpu->r[27] + 0x00000004u;
|
|
/* 02C5A954 */ rbrew_write16(cpu->mem, _t11, (uint16_t)cpu->r[0]);
|
|
/* 02C5A958 */ _t12 = cpu->r[7] + 0x00000018u;
|
|
/* 02C5A958 */ cpu->r[9] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02C5A95C */ cpu->r[29] = 0x00000000u;
|
|
/* 02C5A960 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 02C5A964 */ cpu->r[6] = cpu->r[7] + 0x00000018u;
|
|
/* 02C5A968 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C5A968 */ _t14 = _t13 & 0x00000001u;
|
|
/* 02C5A968 */ if (_t14) goto L_02C5A970; else goto L_02C5A96C;
|
|
L_02C5A96C: ; // 0x2c5a96c
|
|
/* 02C5A96C */ cpu->r[29] = cpu->r[6] + cpu->r[9];
|
|
L_02C5A970: ; // 0x2c5a970
|
|
/* 02C5A970 */ _t15 = cpu->r[7] + 0x0000001Cu;
|
|
/* 02C5A970 */ cpu->r[11] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02C5A974 */ cpu->r[30] = 0x00000000u;
|
|
/* 02C5A978 */ cpu->r[8] = cpu->r[7] + 0x0000001Cu;
|
|
/* 02C5A97C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02C5A980 */ _t16 = cpu->r[27] + 0x0000003Cu;
|
|
/* 02C5A980 */ cpu->r[31] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02C5A984 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C5A984 */ _t18 = _t17 & 0x00000001u;
|
|
/* 02C5A984 */ if (_t18) goto L_02C5A98C; else goto L_02C5A988;
|
|
L_02C5A988: ; // 0x2c5a988
|
|
/* 02C5A988 */ cpu->r[30] = cpu->r[8] + cpu->r[11];
|
|
L_02C5A98C: ; // 0x2c5a98c
|
|
/* 02C5A98C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02C5A990 */ cpu->r[25] = 0x00000000u;
|
|
/* 02C5A994 */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C5A994 */ _t20 = _t19 & 0x00000001u;
|
|
/* 02C5A994 */ if (_t20) goto L_02C5A998; else goto L_02C5A9F0;
|
|
L_02C5A998: ; // 0x2c5a998
|
|
/* 02C5A998 */ cpu->r[3] = cpu->r[26];
|
|
/* 02C5A99C */ cpu->r[4] = cpu->r[28];
|
|
/* 02C5A9A0 */ Gambit_fn_02C6544C(cpu);
|
|
/* 02C5A9A4 */ _t21 = cpu->r[26] + 0x00000004u;
|
|
/* 02C5A9A4 */ cpu->r[24] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02C5A9A8 */ cpu->r[4] = cpu->r[24];
|
|
/* 02C5A9AC */ cpu->r[31] = cpu->r[3];
|
|
/* 02C5A9B0 */ Gambit_fn_02C650E0(cpu);
|
|
/* 02C5A9B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C5A9B8 */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C5A9B8 */ _t23 = _t22 & 0x00000001u;
|
|
/* 02C5A9B8 */ if (_t23) goto L_02C5A9BC; else goto L_02C5A9DC;
|
|
L_02C5A9BC: ; // 0x2c5a9bc
|
|
/* 02C5A9BC */ _t24 = cpu->r[27] + 0x00000004u;
|
|
/* 02C5A9BC */ cpu->r[0] = rbrew_read16(cpu->mem, _t24);
|
|
/* 02C5A9C0 */ cpu->r[10] = 0x101B0000u;
|
|
/* 02C5A9C4 */ _t25 = cpu->r[27] + 0x00000000u;
|
|
/* 02C5A9C4 */ cpu->r[7] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02C5A9C8 */ cpu->r[8] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x0000001Eu, 0x0000001Eu);
|
|
/* 02C5A9C8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 02C5A9CC */ cpu->r[10] = cpu->r[10] + 0xFFFFEF60u;
|
|
/* 02C5A9D0 */ _t26 = cpu->r[7] + 0x0000000Au;
|
|
/* 02C5A9D0 */ cpu->r[12] = rbrew_read16(cpu->mem, _t26);
|
|
/* 02C5A9D4 */ _t27 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C5A9D4 */ _t28 = _t27 & 0x00000001u;
|
|
/* 02C5A9D4 */ if (_t28) goto L_02C5ABA0; else goto L_02C5A9D8;
|
|
L_02C5A9D8: ; // 0x2c5a9d8
|
|
/* 02C5A9D8 */ goto L_02C5AA04;
|
|
L_02C5A9DC: ; // 0x2c5a9dc
|
|
/* 02C5A9DC */ cpu->r[3] = cpu->r[31];
|
|
/* 02C5A9E0 */ cpu->r[4] = cpu->r[24];
|
|
/* 02C5A9E4 */ rbrew_dispatch(cpu, 0x02d09350u);
|
|
/* 02C5A9E8 */ _t29 = cpu->r[27] + 0x00000004u;
|
|
/* 02C5A9E8 */ cpu->r[0] = rbrew_read16(cpu->mem, _t29);
|
|
/* 02C5A9EC */ _t30 = cpu->r[27] + 0x00000000u;
|
|
/* 02C5A9EC */ cpu->r[7] = rbrew_read32(cpu->mem, _t30);
|
|
L_02C5A9F0: ; // 0x2c5a9f0
|
|
/* 02C5A9F0 */ cpu->r[10] = 0x101B0000u;
|
|
/* 02C5A9F4 */ _t31 = cpu->r[7] + 0x0000000Au;
|
|
/* 02C5A9F4 */ cpu->r[12] = rbrew_read16(cpu->mem, _t31);
|
|
/* 02C5A9F8 */ cpu->r[8] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x0000001Eu, 0x0000001Eu);
|
|
/* 02C5A9F8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 02C5A9FC */ cpu->r[10] = cpu->r[10] + 0xFFFFEF60u;
|
|
/* 02C5AA00 */ _t32 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C5AA00 */ _t33 = _t32 & 0x00000001u;
|
|
/* 02C5AA00 */ if (_t33) goto L_02C5ABA0; else goto L_02C5AA04;
|
|
L_02C5AA04: ; // 0x2c5aa04
|
|
/* 02C5AA04 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02C5AA08 */ _t34 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C5AA08 */ _t35 = _t34 & 0x00000001u;
|
|
/* 02C5AA08 */ if (_t35) goto L_02C5AA0C; else goto L_02C5AB20;
|
|
L_02C5AA0C: ; // 0x2c5aa0c
|
|
/* 02C5AA0C */ cpu->r[6] = (uint32_t)((int32_t)cpu->r[25] * (int32_t)0x00000030u);
|
|
/* 02C5AA10 */ cpu->r[9] = rbrew_rlwinm(cpu->r[25], 0x00000001u, 0x00000000u, 0x0000001Eu);
|
|
/* 02C5AA14 */ cpu->r[25] = cpu->r[25] + cpu->r[12];
|
|
/* 02C5AA18 */ cpu->r[5] = cpu->r[1] + 0x00000038u;
|
|
/* 02C5AA1C */ cpu->r[9] = cpu->r[29] + cpu->r[9];
|
|
/* 02C5AA20 */ /* nop */
|
|
/* 02C5AA24 */ cpu->r[7] = cpu->r[1] + 0x00000008u;
|
|
/* 02C5AA28 */ cpu->r[9] = cpu->r[9] + 0xFFFFFFFEu;
|
|
/* 02C5AA2C */ cpu->r[11] = cpu->r[31] + cpu->r[6];
|
|
L_02C5AA30: ; // 0x2c5aa30
|
|
/* 02C5AA30 */ _t36 = cpu->r[9] + 0x00000002u;
|
|
/* 02C5AA30 */ cpu->r[0] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t36);
|
|
/* 02C5AA30 */ cpu->r[9] = _t36;
|
|
/* 02C5AA34 */ cpu->r[8] = cpu->r[30] + cpu->r[6];
|
|
/* 02C5AA38 */ /* nop */
|
|
/* 02C5AA3C */ cpu->r[10] = (uint32_t)((int32_t)cpu->r[0] * (int32_t)0x00000030u);
|
|
/* 02C5AA40 */ _t37 = cpu->r[27] + 0x00000010u;
|
|
/* 02C5AA40 */ cpu->r[4] = rbrew_read32(cpu->mem, _t37);
|
|
/* 02C5AA44 */ /* nop */
|
|
/* 02C5AA48 */ cpu->r[4] = cpu->r[4] + cpu->r[10];
|
|
/* 02C5AA4C */ /* nop */
|
|
/* 02C5AA50 */ /* nop */
|
|
/* 02C5AA54 */ /* nop */
|
|
/* 02C5AA58 */ /* nop */
|
|
/* 02C5AA5C */ /* nop */
|
|
/* 02C5AA60 */ /* nop */
|
|
/* 02C5AA64 */ /* nop */
|
|
/* 02C5AA68 */ /* nop */
|
|
/* 02C5AA6C */ /* nop */
|
|
/* 02C5AA70 */ /* nop */
|
|
/* 02C5AA74 */ /* nop */
|
|
/* 02C5AA78 */ /* nop */
|
|
/* 02C5AA7C */ /* nop */
|
|
/* 02C5AA80 */ /* nop */
|
|
/* 02C5AA84 */ /* nop */
|
|
/* 02C5AA88 */ /* nop */
|
|
/* 02C5AA8C */ /* nop */
|
|
/* 02C5AA90 */ /* nop */
|
|
/* 02C5AA94 */ /* nop */
|
|
/* 02C5AA98 */ /* nop */
|
|
/* 02C5AA9C */ /* nop */
|
|
/* 02C5AAA0 */ /* nop */
|
|
/* 02C5AAA4 */ /* nop */
|
|
/* 02C5AAA8 */ /* nop */
|
|
/* 02C5AAAC */ /* nop */
|
|
/* 02C5AAB0 */ /* nop */
|
|
/* 02C5AAB4 */ /* nop */
|
|
/* 02C5AAB8 */ /* nop */
|
|
/* 02C5AABC */ /* nop */
|
|
/* 02C5AAC0 */ /* nop */
|
|
/* 02C5AAC4 */ /* nop */
|
|
/* 02C5AAC8 */ /* nop */
|
|
/* 02C5AACC */ cpu->r[24] = cpu->r[11];
|
|
/* 02C5AAD0 */ /* nop */
|
|
/* 02C5AAD4 */ cpu->r[3] = cpu->r[7];
|
|
/* 02C5AAD8 */ /* nop */
|
|
/* 02C5AADC */ /* nop */
|
|
/* 02C5AAE0 */ /* nop */
|
|
/* 02C5AAE4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], cpu->r[5]);
|
|
/* 02C5AAE8 */ /* nop */
|
|
/* 02C5AAEC */ _t38 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C5AAEC */ _t39 = _t38 & 0x00000001u;
|
|
/* 02C5AAEC */ if (_t39) goto L_02C5AB0C; else goto L_02C5AAF0;
|
|
L_02C5AAF0: ; // 0x2c5aaf0
|
|
/* 02C5AAF0 */ cpu->r[4] = cpu->r[7] + 0x00000030u;
|
|
L_02C5AAF4: ; // 0x2c5aaf4
|
|
/* 02C5AAF4 */ _t40 = cpu->r[3] + 0x00000000u;
|
|
/* 02C5AAF4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t40);
|
|
/* 02C5AAF8 */ cpu->r[3] = cpu->r[3] + 0x00000004u;
|
|
/* 02C5AAFC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], cpu->r[4]);
|
|
/* 02C5AB00 */ /* nop */
|
|
/* 02C5AB04 */ cpu->r[24] = cpu->r[24] + 0x00000004u;
|
|
/* 02C5AB08 */ _t41 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C5AB08 */ _t42 = _t41 & 0x00000001u;
|
|
/* 02C5AB08 */ if (_t42) goto L_02C5AB0C; else goto L_02C5AAF4;
|
|
L_02C5AB0C: ; // 0x2c5ab0c
|
|
/* 02C5AB0C */ cpu->r[12] = cpu->r[12] + 0xFFFFFFFFu;
|
|
/* 02C5AB0C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02C5AB10 */ cpu->r[11] = cpu->r[11] + 0x00000030u;
|
|
/* 02C5AB14 */ cpu->r[6] = cpu->r[6] + 0x00000030u;
|
|
/* 02C5AB18 */ _t43 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C5AB18 */ _t44 = _t43 & 0x00000001u;
|
|
/* 02C5AB18 */ if (_t44) goto L_02C5AB1C; else goto L_02C5AA30;
|
|
L_02C5AB1C: ; // 0x2c5ab1c
|
|
/* 02C5AB1C */ _t45 = cpu->r[27] + 0x00000000u;
|
|
/* 02C5AB1C */ cpu->r[7] = rbrew_read32(cpu->mem, _t45);
|
|
L_02C5AB20: ; // 0x2c5ab20
|
|
/* 02C5AB20 */ _t46 = cpu->r[7] + 0x0000000Au;
|
|
/* 02C5AB20 */ cpu->r[4] = rbrew_read16(cpu->mem, _t46);
|
|
/* 02C5AB24 */ _t47 = cpu->r[7] + 0x0000000Cu;
|
|
/* 02C5AB24 */ cpu->r[6] = rbrew_read16(cpu->mem, _t47);
|
|
/* 02C5AB28 */ cpu->r[11] = cpu->r[4] + cpu->r[6];
|
|
/* 02C5AB2C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], cpu->r[11]);
|
|
/* 02C5AB30 */ cpu->r[7] = cpu->r[11] - cpu->r[25];
|
|
/* 02C5AB34 */ _t48 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C5AB34 */ _t49 = _t48 & 0x00000001u;
|
|
/* 02C5AB34 */ if (_t49) goto L_02C5AB38; else goto L_02C5AD04;
|
|
L_02C5AB38: ; // 0x2c5ab38
|
|
/* 02C5AB38 */ cpu->r[8] = (uint32_t)((int32_t)cpu->r[25] * (int32_t)0x00000030u);
|
|
/* 02C5AB3C */ cpu->r[0] = rbrew_rlwinm(cpu->r[25], 0x00000001u, 0x00000000u, 0x0000001Eu);
|
|
/* 02C5AB40 */ cpu->r[11] = cpu->r[29] + cpu->r[0];
|
|
/* 02C5AB44 */ cpu->r[9] = cpu->r[31] + cpu->r[8];
|
|
/* 02C5AB48 */ cpu->r[11] = cpu->r[11] + 0xFFFFFFFEu;
|
|
L_02C5AB4C: ; // 0x2c5ab4c
|
|
/* 02C5AB4C */ _t50 = cpu->r[11] + 0x00000002u;
|
|
/* 02C5AB4C */ cpu->r[0] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t50);
|
|
/* 02C5AB4C */ cpu->r[11] = _t50;
|
|
/* 02C5AB50 */ _t51 = cpu->r[27] + 0x00000010u;
|
|
/* 02C5AB50 */ cpu->r[8] = rbrew_read32(cpu->mem, _t51);
|
|
/* 02C5AB54 */ cpu->r[4] = (uint32_t)((int32_t)cpu->r[0] * (int32_t)0x00000030u);
|
|
/* 02C5AB58 */ cpu->r[5] = cpu->r[8] + cpu->r[4];
|
|
/* 02C5AB5C */ cpu->r[8] = cpu->r[5] + 0x00000030u;
|
|
/* 02C5AB60 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], cpu->r[8]);
|
|
/* 02C5AB64 */ cpu->r[4] = cpu->r[9];
|
|
/* 02C5AB68 */ _t52 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C5AB68 */ _t53 = _t52 & 0x00000001u;
|
|
/* 02C5AB68 */ if (_t53) goto L_02C5AB84; else goto L_02C5AB6C;
|
|
L_02C5AB6C: ; // 0x2c5ab6c
|
|
/* 02C5AB6C */ _t54 = cpu->r[5] + 0x00000000u;
|
|
/* 02C5AB6C */ cpu->r[6] = rbrew_read32(cpu->mem, _t54);
|
|
/* 02C5AB70 */ cpu->r[5] = cpu->r[5] + 0x00000004u;
|
|
/* 02C5AB74 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], cpu->r[8]);
|
|
/* 02C5AB78 */ /* nop */
|
|
/* 02C5AB7C */ cpu->r[4] = cpu->r[4] + 0x00000004u;
|
|
/* 02C5AB80 */ _t55 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C5AB80 */ _t56 = _t55 & 0x00000001u;
|
|
/* 02C5AB80 */ if (_t56) goto L_02C5AB84; else goto L_02C5AB6C;
|
|
L_02C5AB84: ; // 0x2c5ab84
|
|
/* 02C5AB84 */ cpu->r[7] = cpu->r[7] + 0xFFFFFFFFu;
|
|
/* 02C5AB84 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 02C5AB88 */ cpu->r[9] = cpu->r[9] + 0x00000030u;
|
|
/* 02C5AB8C */ _t57 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C5AB8C */ _t58 = _t57 & 0x00000001u;
|
|
/* 02C5AB8C */ if (_t58) goto L_02C5AB90; else goto L_02C5AB4C;
|
|
L_02C5AB90: ; // 0x2c5ab90
|
|
/* 02C5AB90 */ _t59 = cpu->r[27] + 0x0000003Cu;
|
|
/* 02C5AB90 */ cpu->r[0] = rbrew_read32(cpu->mem, _t59);
|
|
/* 02C5AB94 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C5AB98 */ _t60 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C5AB98 */ _t61 = _t60 & 0x00000001u;
|
|
/* 02C5AB98 */ if (_t61) goto L_02C5AB9C; else goto L_02C5AD1C;
|
|
L_02C5AB9C: ; // 0x2c5ab9c
|
|
/* 02C5AB9C */ goto L_02C5AD10;
|
|
L_02C5ABA0: ; // 0x2c5aba0
|
|
/* 02C5ABA0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02C5ABA4 */ _t62 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C5ABA4 */ _t63 = _t62 & 0x00000001u;
|
|
/* 02C5ABA4 */ if (_t63) goto L_02C5ABA8; else goto L_02C5AC84;
|
|
L_02C5ABA8: ; // 0x2c5aba8
|
|
/* 02C5ABA8 */ cpu->r[4] = rbrew_rlwinm(cpu->r[25], 0x00000001u, 0x00000000u, 0x0000001Eu);
|
|
/* 02C5ABAC */ cpu->ctr = cpu->r[12];
|
|
/* 02C5ABB0 */ cpu->r[5] = cpu->r[29] + cpu->r[4];
|
|
/* 02C5ABB4 */ /* nop */
|
|
/* 02C5ABB8 */ cpu->r[11] = (uint32_t)((int32_t)cpu->r[25] * (int32_t)0x00000030u);
|
|
/* 02C5ABBC */ cpu->r[25] = cpu->r[25] + cpu->r[12];
|
|
/* 02C5ABC0 */ cpu->r[5] = cpu->r[5] + 0xFFFFFFFEu;
|
|
L_02C5ABC4: ; // 0x2c5abc4
|
|
/* 02C5ABC4 */ _t64 = cpu->r[5] + 0x00000002u;
|
|
/* 02C5ABC4 */ cpu->r[0] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t64);
|
|
/* 02C5ABC4 */ cpu->r[5] = _t64;
|
|
/* 02C5ABC8 */ cpu->r[6] = cpu->r[30] + cpu->r[11];
|
|
/* 02C5ABCC */ /* nop */
|
|
/* 02C5ABD0 */ cpu->r[0] = (uint32_t)((int32_t)cpu->r[0] * (int32_t)0x00000030u);
|
|
/* 02C5ABD4 */ _t65 = cpu->r[27] + 0x00000010u;
|
|
/* 02C5ABD4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t65);
|
|
/* 02C5ABD8 */ /* nop */
|
|
/* 02C5ABDC */ cpu->r[4] = cpu->r[9] + cpu->r[0];
|
|
/* 02C5ABE0 */ /* nop */
|
|
/* 02C5ABE4 */ /* nop */
|
|
/* 02C5ABE8 */ /* nop */
|
|
/* 02C5ABEC */ /* nop */
|
|
/* 02C5ABF0 */ /* nop */
|
|
/* 02C5ABF4 */ /* nop */
|
|
/* 02C5ABF8 */ /* nop */
|
|
/* 02C5ABFC */ /* nop */
|
|
/* 02C5AC00 */ /* nop */
|
|
/* 02C5AC04 */ /* nop */
|
|
/* 02C5AC08 */ /* nop */
|
|
/* 02C5AC0C */ cpu->r[7] = cpu->r[31] + cpu->r[11];
|
|
/* 02C5AC10 */ /* nop */
|
|
/* 02C5AC14 */ /* nop */
|
|
/* 02C5AC18 */ /* nop */
|
|
/* 02C5AC1C */ /* nop */
|
|
/* 02C5AC20 */ /* nop */
|
|
/* 02C5AC24 */ /* nop */
|
|
/* 02C5AC28 */ /* nop */
|
|
/* 02C5AC2C */ /* nop */
|
|
/* 02C5AC30 */ /* nop */
|
|
/* 02C5AC34 */ /* nop */
|
|
/* 02C5AC38 */ /* nop */
|
|
/* 02C5AC3C */ /* nop */
|
|
/* 02C5AC40 */ /* nop */
|
|
/* 02C5AC44 */ /* nop */
|
|
/* 02C5AC48 */ /* nop */
|
|
/* 02C5AC4C */ /* nop */
|
|
/* 02C5AC50 */ /* nop */
|
|
/* 02C5AC54 */ /* nop */
|
|
/* 02C5AC58 */ /* nop */
|
|
/* 02C5AC5C */ /* nop */
|
|
/* 02C5AC60 */ /* nop */
|
|
/* 02C5AC64 */ /* nop */
|
|
/* 02C5AC68 */ /* nop */
|
|
/* 02C5AC6C */ /* nop */
|
|
/* 02C5AC70 */ /* nop */
|
|
/* 02C5AC74 */ cpu->r[11] = cpu->r[11] + 0x00000030u;
|
|
/* 02C5AC78 */ /* nop */
|
|
/* 02C5AC7C */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02C5AC7C */ _t66 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02C5AC7C */ _t67 = _t66 >> (0x00000002u & 31u);
|
|
/* 02C5AC7C */ _t68 = _t67 & 0x00000001u;
|
|
/* 02C5AC7C */ if (_t68) goto L_02C5ABC4; else goto L_02C5AC80;
|
|
L_02C5AC80: ; // 0x2c5ac80
|
|
/* 02C5AC80 */ _t69 = cpu->r[27] + 0x00000000u;
|
|
/* 02C5AC80 */ cpu->r[7] = rbrew_read32(cpu->mem, _t69);
|
|
L_02C5AC84: ; // 0x2c5ac84
|
|
/* 02C5AC84 */ _t70 = cpu->r[7] + 0x0000000Au;
|
|
/* 02C5AC84 */ cpu->r[9] = rbrew_read16(cpu->mem, _t70);
|
|
/* 02C5AC88 */ _t71 = cpu->r[7] + 0x0000000Cu;
|
|
/* 02C5AC88 */ cpu->r[10] = rbrew_read16(cpu->mem, _t71);
|
|
/* 02C5AC8C */ cpu->r[0] = cpu->r[9] + cpu->r[10];
|
|
/* 02C5AC90 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], cpu->r[0]);
|
|
/* 02C5AC94 */ cpu->r[8] = cpu->r[0] - cpu->r[25];
|
|
/* 02C5AC98 */ _t72 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C5AC98 */ _t73 = _t72 & 0x00000001u;
|
|
/* 02C5AC98 */ if (_t73) goto L_02C5AC9C; else goto L_02C5AD04;
|
|
L_02C5AC9C: ; // 0x2c5ac9c
|
|
/* 02C5AC9C */ cpu->r[12] = (uint32_t)((int32_t)cpu->r[25] * (int32_t)0x00000030u);
|
|
/* 02C5ACA0 */ cpu->r[0] = rbrew_rlwinm(cpu->r[25], 0x00000001u, 0x00000000u, 0x0000001Eu);
|
|
/* 02C5ACA4 */ cpu->r[9] = cpu->r[29] + cpu->r[0];
|
|
/* 02C5ACA8 */ cpu->r[7] = cpu->r[31] + cpu->r[12];
|
|
/* 02C5ACAC */ cpu->r[9] = cpu->r[9] + 0xFFFFFFFEu;
|
|
/* 02C5ACB0 */ cpu->r[7] = cpu->r[7] + 0xFFFFFFD0u;
|
|
L_02C5ACB4: ; // 0x2c5acb4
|
|
/* 02C5ACB4 */ _t74 = cpu->r[9] + 0x00000002u;
|
|
/* 02C5ACB4 */ cpu->r[0] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t74);
|
|
/* 02C5ACB4 */ cpu->r[9] = _t74;
|
|
/* 02C5ACB8 */ cpu->r[11] = 0x00000003u;
|
|
/* 02C5ACBC */ cpu->r[6] = (uint32_t)((int32_t)cpu->r[0] * (int32_t)0x00000030u);
|
|
/* 02C5ACC0 */ _t75 = cpu->r[27] + 0x00000010u;
|
|
/* 02C5ACC0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t75);
|
|
/* 02C5ACC4 */ cpu->ctr = cpu->r[11];
|
|
/* 02C5ACC8 */ cpu->r[7] = cpu->r[7] + 0x00000030u;
|
|
/* 02C5ACCC */ cpu->r[12] = cpu->r[6] + cpu->r[0];
|
|
/* 02C5ACD0 */ cpu->r[10] = cpu->r[7] + 0xFFFFFFFCu;
|
|
/* 02C5ACD4 */ cpu->r[12] = cpu->r[12] + 0xFFFFFFFCu;
|
|
L_02C5ACD8: ; // 0x2c5acd8
|
|
/* 02C5ACD8 */ _t76 = cpu->r[12] + 0x00000004u;
|
|
/* 02C5ACD8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t76);
|
|
/* 02C5ACDC */ _t77 = cpu->r[10] + 0x00000004u;
|
|
/* 02C5ACDC */ rbrew_write32(cpu->mem, _t77, cpu->r[0]);
|
|
/* 02C5ACE0 */ _t78 = cpu->r[12] + 0x00000008u;
|
|
/* 02C5ACE0 */ cpu->r[4] = rbrew_read32(cpu->mem, _t78);
|
|
/* 02C5ACE4 */ _t79 = cpu->r[10] + 0x00000008u;
|
|
/* 02C5ACE4 */ rbrew_write32(cpu->mem, _t79, cpu->r[4]);
|
|
/* 02C5ACE8 */ _t80 = cpu->r[12] + 0x0000000Cu;
|
|
/* 02C5ACE8 */ cpu->r[5] = rbrew_read32(cpu->mem, _t80);
|
|
/* 02C5ACEC */ _t81 = cpu->r[10] + 0x0000000Cu;
|
|
/* 02C5ACEC */ rbrew_write32(cpu->mem, _t81, cpu->r[5]);
|
|
/* 02C5ACF0 */ _t82 = cpu->r[12] + 0x00000010u;
|
|
/* 02C5ACF0 */ cpu->r[6] = rbrew_read32(cpu->mem, _t82);
|
|
/* 02C5ACF0 */ cpu->r[12] = _t82;
|
|
/* 02C5ACF4 */ _t83 = cpu->r[10] + 0x00000010u;
|
|
/* 02C5ACF4 */ rbrew_write32(cpu->mem, _t83, cpu->r[6]);
|
|
/* 02C5ACF4 */ cpu->r[10] = _t83;
|
|
/* 02C5ACF8 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02C5ACF8 */ _t84 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02C5ACF8 */ _t85 = _t84 >> (0x00000002u & 31u);
|
|
/* 02C5ACF8 */ _t86 = _t85 & 0x00000001u;
|
|
/* 02C5ACF8 */ if (_t86) goto L_02C5ACD8; else goto L_02C5ACFC;
|
|
L_02C5ACFC: ; // 0x2c5acfc
|
|
/* 02C5ACFC */ cpu->r[8] = cpu->r[8] + 0xFFFFFFFFu;
|
|
/* 02C5ACFC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 02C5AD00 */ _t87 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C5AD00 */ _t88 = _t87 & 0x00000001u;
|
|
/* 02C5AD00 */ if (_t88) goto L_02C5AD04; else goto L_02C5ACB4;
|
|
L_02C5AD04: ; // 0x2c5ad04
|
|
/* 02C5AD04 */ _t89 = cpu->r[27] + 0x0000003Cu;
|
|
/* 02C5AD04 */ cpu->r[0] = rbrew_read32(cpu->mem, _t89);
|
|
/* 02C5AD08 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C5AD0C */ _t90 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C5AD0C */ _t91 = _t90 & 0x00000001u;
|
|
/* 02C5AD0C */ if (_t91) goto L_02C5AD10; else goto L_02C5AD1C;
|
|
L_02C5AD10: ; // 0x2c5ad10
|
|
/* 02C5AD10 */ cpu->r[3] = cpu->r[26];
|
|
/* 02C5AD14 */ cpu->r[4] = cpu->r[28];
|
|
/* 02C5AD18 */ Gambit_fn_02C6530C(cpu);
|
|
L_02C5AD1C: ; // 0x2c5ad1c
|
|
/* 02C5AD1C */ /* nop */
|
|
/* 02C5AD20 */ _t92 = cpu->r[1] + 0x00000060u;
|
|
/* 02C5AD20 */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t92);
|
|
/* 02C5AD24 */ _t93 = cpu->r[1] + 0x00000070u;
|
|
/* 02C5AD24 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t93);
|
|
/* 02C5AD28 */ _t94 = cpu->r[1] + 0x00000058u;
|
|
/* 02C5AD28 */ cpu->f[30] = rbrew_read_f64(cpu->mem, _t94);
|
|
/* 02C5AD2C */ _t95 = cpu->r[1] + 0x00000068u;
|
|
/* 02C5AD2C */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t95);
|
|
/* 02C5AD30 */ _t96 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C5AD30 */ _t97 = _t96 & 0x00000001u;
|
|
/* 02C5AD30 */ if (_t97) goto L_02C5AD34; // else: addr-0 trap, fall-through
|
|
L_02C5AD34: ; // 0x2c5ad34
|
|
/* 02C5AD34 */ _t98 = cpu->r[1] + 0x0000007Cu;
|
|
/* 02C5AD34 */ cpu->r[0] = rbrew_read32(cpu->mem, _t98);
|
|
/* 02C5AD38 */ cpu->lr = cpu->r[0];
|
|
/* 02C5AD3C */ cpu->r[1] = cpu->r[1] + 0x00000078u;
|
|
/* 02C5AD40 */ return;
|
|
}
|
|
|
|
// fn_02C5AD44 @ 0x2c5ad44
|
|
void Gambit_fn_02C5AD44(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;
|
|
|
|
L_02C5AD44: ; // 0x2c5ad44
|
|
/* 02C5AD44 */ cpu->r[0] = cpu->lr;
|
|
/* 02C5AD48 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02C5AD48 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C5AD48 */ cpu->r[1] = _t0;
|
|
/* 02C5AD4C */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 02C5AD4C */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02C5AD50 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C5AD50 */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
|
|
/* 02C5AD54 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02C5AD54 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 02C5AD58 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C5AD58 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02C5AD5C */ cpu->r[29] = cpu->r[3];
|
|
/* 02C5AD60 */ _t5 = cpu->r[29] + 0x0000002Cu;
|
|
/* 02C5AD60 */ cpu->r[8] = rbrew_read16(cpu->mem, _t5);
|
|
/* 02C5AD64 */ cpu->r[7] = rbrew_rlwinm(cpu->r[8], 0x00000006u, 0x00000000u, 0x00000019u);
|
|
/* 02C5AD68 */ cpu->r[9] = cpu->r[7] + 0x0000003Fu;
|
|
/* 02C5AD6C */ cpu->r[31] = cpu->r[5];
|
|
/* 02C5AD70 */ cpu->r[30] = rbrew_rlwinm(cpu->r[9], 0x00000000u, 0x00000000u, 0x00000019u);
|
|
/* 02C5AD74 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[30]);
|
|
/* 02C5AD78 */ _t6 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C5AD78 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02C5AD78 */ if (_t7) goto L_02C5AD7C; else goto L_02C5AD9C;
|
|
L_02C5AD7C: ; // 0x2c5ad7c
|
|
/* 02C5AD7C */ _t8 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C5AD7C */ cpu->r[29] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C5AD80 */ _t9 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C5AD80 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02C5AD84 */ _t10 = cpu->r[1] + 0x00000010u;
|
|
/* 02C5AD84 */ cpu->r[30] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02C5AD88 */ cpu->lr = cpu->r[0];
|
|
/* 02C5AD8C */ _t11 = cpu->r[1] + 0x00000014u;
|
|
/* 02C5AD8C */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02C5AD90 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C5AD94 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C5AD98 */ return;
|
|
L_02C5AD9C: ; // 0x2c5ad9c
|
|
/* 02C5AD9C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u);
|
|
/* 02C5ADA0 */ _t12 = cpu->r[29] + 0x0000000Cu;
|
|
/* 02C5ADA0 */ rbrew_write32(cpu->mem, _t12, cpu->r[4]);
|
|
/* 02C5ADA4 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C5ADA4 */ _t14 = _t13 & 0x00000001u;
|
|
/* 02C5ADA4 */ if (_t14) goto L_02C5ADEC; else goto L_02C5ADA8;
|
|
L_02C5ADA8: ; // 0x2c5ada8
|
|
/* 02C5ADA8 */ _t15 = cpu->r[29] + 0x00000004u;
|
|
/* 02C5ADA8 */ cpu->r[11] = rbrew_read16(cpu->mem, _t15);
|
|
/* 02C5ADAC */ cpu->r[10] = rbrew_rlwinm(cpu->r[11], 0x00000000u, 0x0000001Cu, 0x0000001Du);
|
|
/* 02C5ADAC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02C5ADB0 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C5ADB0 */ _t17 = _t16 & 0x00000001u;
|
|
/* 02C5ADB0 */ if (_t17) goto L_02C5ADD0; else goto L_02C5ADB4;
|
|
L_02C5ADB4: ; // 0x2c5adb4
|
|
/* 02C5ADB4 */ _t18 = cpu->r[29] + 0x00000034u;
|
|
/* 02C5ADB4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02C5ADB8 */ cpu->r[4] = cpu->r[30];
|
|
/* 02C5ADBC */ rbrew_dispatch(cpu, 0x02d09320u);
|
|
/* 02C5ADC0 */ _t19 = cpu->r[29] + 0x00000004u;
|
|
/* 02C5ADC0 */ cpu->r[12] = rbrew_read16(cpu->mem, _t19);
|
|
/* 02C5ADC4 */ _t20 = cpu->r[29] + 0x0000000Cu;
|
|
/* 02C5ADC4 */ cpu->r[4] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02C5ADC8 */ cpu->r[12] = cpu->r[12] & 0x0000FFF3u;
|
|
/* 02C5ADC8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02C5ADCC */ _t21 = cpu->r[29] + 0x00000004u;
|
|
/* 02C5ADCC */ rbrew_write16(cpu->mem, _t21, (uint16_t)cpu->r[12]);
|
|
L_02C5ADD0: ; // 0x2c5add0
|
|
/* 02C5ADD0 */ cpu->r[3] = cpu->r[4];
|
|
/* 02C5ADD4 */ _t22 = cpu->r[29] + 0x00000034u;
|
|
/* 02C5ADD4 */ cpu->r[4] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02C5ADD8 */ cpu->r[5] = rbrew_rlwinm(cpu->r[30], 0x0000001Bu, 0x00000005u, 0x0000001Fu);
|
|
/* 02C5ADDC */ Gambit_fn_02C6510C(cpu);
|
|
/* 02C5ADE0 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C5ADE4 */ Gambit_fn_02C65224(cpu);
|
|
/* 02C5ADE8 */ goto L_02C5ADFC;
|
|
L_02C5ADEC: ; // 0x2c5adec
|
|
/* 02C5ADEC */ _t23 = cpu->r[29] + 0x00000004u;
|
|
/* 02C5ADEC */ cpu->r[0] = rbrew_read16(cpu->mem, _t23);
|
|
/* 02C5ADF0 */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x00000001u, 0x0000001Cu, 0x0000001Cu);
|
|
/* 02C5ADF4 */ cpu->r[0] = cpu->r[0] | cpu->r[12];
|
|
/* 02C5ADF8 */ _t24 = cpu->r[29] + 0x00000004u;
|
|
/* 02C5ADF8 */ rbrew_write16(cpu->mem, _t24, (uint16_t)cpu->r[0]);
|
|
L_02C5ADFC: ; // 0x2c5adfc
|
|
/* 02C5ADFC */ _t25 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C5ADFC */ cpu->r[29] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02C5AE00 */ _t26 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C5AE00 */ cpu->r[0] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02C5AE04 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C5AE08 */ _t27 = cpu->r[1] + 0x00000010u;
|
|
/* 02C5AE08 */ cpu->r[30] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02C5AE0C */ cpu->lr = cpu->r[0];
|
|
/* 02C5AE10 */ _t28 = cpu->r[1] + 0x00000014u;
|
|
/* 02C5AE10 */ cpu->r[31] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02C5AE14 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C5AE18 */ return;
|
|
}
|
|
|
|
// fn_02C5AD48 @ 0x2c5ad48
|
|
void Gambit_fn_02C5AD48(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;
|
|
|
|
L_02C5AD48: ; // 0x2c5ad48
|
|
/* 02C5AD48 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02C5AD48 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C5AD48 */ cpu->r[1] = _t0;
|
|
/* 02C5AD4C */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 02C5AD4C */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02C5AD50 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C5AD50 */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
|
|
/* 02C5AD54 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02C5AD54 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 02C5AD58 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C5AD58 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02C5AD5C */ cpu->r[29] = cpu->r[3];
|
|
/* 02C5AD60 */ _t5 = cpu->r[29] + 0x0000002Cu;
|
|
/* 02C5AD60 */ cpu->r[8] = rbrew_read16(cpu->mem, _t5);
|
|
/* 02C5AD64 */ cpu->r[7] = rbrew_rlwinm(cpu->r[8], 0x00000006u, 0x00000000u, 0x00000019u);
|
|
/* 02C5AD68 */ cpu->r[9] = cpu->r[7] + 0x0000003Fu;
|
|
/* 02C5AD6C */ cpu->r[31] = cpu->r[5];
|
|
/* 02C5AD70 */ cpu->r[30] = rbrew_rlwinm(cpu->r[9], 0x00000000u, 0x00000000u, 0x00000019u);
|
|
/* 02C5AD74 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[30]);
|
|
/* 02C5AD78 */ _t6 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C5AD78 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02C5AD78 */ if (_t7) goto L_02C5AD7C; else goto L_02C5AD9C;
|
|
L_02C5AD7C: ; // 0x2c5ad7c
|
|
/* 02C5AD7C */ _t8 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C5AD7C */ cpu->r[29] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C5AD80 */ _t9 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C5AD80 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02C5AD84 */ _t10 = cpu->r[1] + 0x00000010u;
|
|
/* 02C5AD84 */ cpu->r[30] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02C5AD88 */ cpu->lr = cpu->r[0];
|
|
/* 02C5AD8C */ _t11 = cpu->r[1] + 0x00000014u;
|
|
/* 02C5AD8C */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02C5AD90 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C5AD94 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C5AD98 */ return;
|
|
L_02C5AD9C: ; // 0x2c5ad9c
|
|
/* 02C5AD9C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u);
|
|
/* 02C5ADA0 */ _t12 = cpu->r[29] + 0x0000000Cu;
|
|
/* 02C5ADA0 */ rbrew_write32(cpu->mem, _t12, cpu->r[4]);
|
|
/* 02C5ADA4 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C5ADA4 */ _t14 = _t13 & 0x00000001u;
|
|
/* 02C5ADA4 */ if (_t14) goto L_02C5ADEC; else goto L_02C5ADA8;
|
|
L_02C5ADA8: ; // 0x2c5ada8
|
|
/* 02C5ADA8 */ _t15 = cpu->r[29] + 0x00000004u;
|
|
/* 02C5ADA8 */ cpu->r[11] = rbrew_read16(cpu->mem, _t15);
|
|
/* 02C5ADAC */ cpu->r[10] = rbrew_rlwinm(cpu->r[11], 0x00000000u, 0x0000001Cu, 0x0000001Du);
|
|
/* 02C5ADAC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02C5ADB0 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C5ADB0 */ _t17 = _t16 & 0x00000001u;
|
|
/* 02C5ADB0 */ if (_t17) goto L_02C5ADD0; else goto L_02C5ADB4;
|
|
L_02C5ADB4: ; // 0x2c5adb4
|
|
/* 02C5ADB4 */ _t18 = cpu->r[29] + 0x00000034u;
|
|
/* 02C5ADB4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02C5ADB8 */ cpu->r[4] = cpu->r[30];
|
|
/* 02C5ADBC */ rbrew_dispatch(cpu, 0x02d09320u);
|
|
/* 02C5ADC0 */ _t19 = cpu->r[29] + 0x00000004u;
|
|
/* 02C5ADC0 */ cpu->r[12] = rbrew_read16(cpu->mem, _t19);
|
|
/* 02C5ADC4 */ _t20 = cpu->r[29] + 0x0000000Cu;
|
|
/* 02C5ADC4 */ cpu->r[4] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02C5ADC8 */ cpu->r[12] = cpu->r[12] & 0x0000FFF3u;
|
|
/* 02C5ADC8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02C5ADCC */ _t21 = cpu->r[29] + 0x00000004u;
|
|
/* 02C5ADCC */ rbrew_write16(cpu->mem, _t21, (uint16_t)cpu->r[12]);
|
|
L_02C5ADD0: ; // 0x2c5add0
|
|
/* 02C5ADD0 */ cpu->r[3] = cpu->r[4];
|
|
/* 02C5ADD4 */ _t22 = cpu->r[29] + 0x00000034u;
|
|
/* 02C5ADD4 */ cpu->r[4] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02C5ADD8 */ cpu->r[5] = rbrew_rlwinm(cpu->r[30], 0x0000001Bu, 0x00000005u, 0x0000001Fu);
|
|
/* 02C5ADDC */ Gambit_fn_02C6510C(cpu);
|
|
/* 02C5ADE0 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C5ADE4 */ Gambit_fn_02C65224(cpu);
|
|
/* 02C5ADE8 */ goto L_02C5ADFC;
|
|
L_02C5ADEC: ; // 0x2c5adec
|
|
/* 02C5ADEC */ _t23 = cpu->r[29] + 0x00000004u;
|
|
/* 02C5ADEC */ cpu->r[0] = rbrew_read16(cpu->mem, _t23);
|
|
/* 02C5ADF0 */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x00000001u, 0x0000001Cu, 0x0000001Cu);
|
|
/* 02C5ADF4 */ cpu->r[0] = cpu->r[0] | cpu->r[12];
|
|
/* 02C5ADF8 */ _t24 = cpu->r[29] + 0x00000004u;
|
|
/* 02C5ADF8 */ rbrew_write16(cpu->mem, _t24, (uint16_t)cpu->r[0]);
|
|
L_02C5ADFC: ; // 0x2c5adfc
|
|
/* 02C5ADFC */ _t25 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C5ADFC */ cpu->r[29] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02C5AE00 */ _t26 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C5AE00 */ cpu->r[0] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02C5AE04 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C5AE08 */ _t27 = cpu->r[1] + 0x00000010u;
|
|
/* 02C5AE08 */ cpu->r[30] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02C5AE0C */ cpu->lr = cpu->r[0];
|
|
/* 02C5AE10 */ _t28 = cpu->r[1] + 0x00000014u;
|
|
/* 02C5AE10 */ cpu->r[31] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02C5AE14 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C5AE18 */ return;
|
|
}
|
|
|
|
// fn_02C5AE1C @ 0x2c5ae1c
|
|
void Gambit_fn_02C5AE1C(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;
|
|
|
|
L_02C5AE1C: ; // 0x2c5ae1c
|
|
/* 02C5AE1C */ cpu->r[0] = cpu->lr;
|
|
/* 02C5AE20 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C5AE20 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C5AE20 */ cpu->r[1] = _t0;
|
|
/* 02C5AE24 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02C5AE24 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02C5AE28 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C5AE28 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02C5AE2C */ cpu->r[30] = cpu->r[3];
|
|
/* 02C5AE30 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02C5AE30 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02C5AE34 */ _t4 = cpu->r[30] + 0x00000034u;
|
|
/* 02C5AE34 */ cpu->r[3] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02C5AE38 */ _t5 = cpu->r[30] + 0x0000000Cu;
|
|
/* 02C5AE38 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02C5AE3C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[3]);
|
|
/* 02C5AE40 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C5AE40 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02C5AE40 */ if (_t7) goto L_02C5AEAC; else goto L_02C5AE44;
|
|
L_02C5AE44: ; // 0x2c5ae44
|
|
/* 02C5AE44 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
|
|
/* 02C5AE48 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C5AE48 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02C5AE48 */ if (_t9) goto L_02C5AE98; else goto L_02C5AE4C;
|
|
L_02C5AE4C: ; // 0x2c5ae4c
|
|
/* 02C5AE4C */ _t10 = cpu->r[30] + 0x0000002Cu;
|
|
/* 02C5AE4C */ cpu->r[10] = rbrew_read16(cpu->mem, _t10);
|
|
/* 02C5AE50 */ _t11 = cpu->r[30] + 0x00000004u;
|
|
/* 02C5AE50 */ cpu->r[9] = rbrew_read16(cpu->mem, _t11);
|
|
/* 02C5AE54 */ cpu->r[12] = rbrew_rlwinm(cpu->r[10], 0x00000006u, 0x00000000u, 0x00000019u);
|
|
/* 02C5AE58 */ cpu->r[11] = cpu->r[12] + 0x0000003Fu;
|
|
/* 02C5AE5C */ cpu->r[12] = rbrew_rlwinm(cpu->r[9], 0x00000000u, 0x0000001Cu, 0x0000001Cu);
|
|
/* 02C5AE5C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02C5AE60 */ cpu->r[31] = rbrew_rlwinm(cpu->r[11], 0x00000000u, 0x00000000u, 0x00000019u);
|
|
/* 02C5AE64 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C5AE64 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02C5AE64 */ if (_t13) goto L_02C5AE84; else goto L_02C5AE68;
|
|
L_02C5AE68: ; // 0x2c5ae68
|
|
/* 02C5AE68 */ cpu->r[4] = cpu->r[31];
|
|
/* 02C5AE6C */ rbrew_dispatch(cpu, 0x02d09330u);
|
|
/* 02C5AE70 */ _t14 = cpu->r[30] + 0x00000004u;
|
|
/* 02C5AE70 */ cpu->r[10] = rbrew_read16(cpu->mem, _t14);
|
|
/* 02C5AE74 */ _t15 = cpu->r[30] + 0x0000000Cu;
|
|
/* 02C5AE74 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02C5AE78 */ cpu->r[10] = cpu->r[10] & 0x0000FFF3u;
|
|
/* 02C5AE78 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02C5AE7C */ _t16 = cpu->r[30] + 0x00000034u;
|
|
/* 02C5AE7C */ cpu->r[3] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02C5AE80 */ _t17 = cpu->r[30] + 0x00000004u;
|
|
/* 02C5AE80 */ rbrew_write16(cpu->mem, _t17, (uint16_t)cpu->r[10]);
|
|
L_02C5AE84: ; // 0x2c5ae84
|
|
/* 02C5AE84 */ cpu->r[5] = rbrew_rlwinm(cpu->r[31], 0x0000001Bu, 0x00000005u, 0x0000001Fu);
|
|
/* 02C5AE88 */ cpu->r[4] = cpu->r[0];
|
|
/* 02C5AE8C */ Gambit_fn_02C65198(cpu);
|
|
/* 02C5AE90 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C5AE94 */ Gambit_fn_02C65224(cpu);
|
|
L_02C5AE98: ; // 0x2c5ae98
|
|
/* 02C5AE98 */ _t18 = cpu->r[30] + 0x00000004u;
|
|
/* 02C5AE98 */ cpu->r[11] = rbrew_read16(cpu->mem, _t18);
|
|
/* 02C5AE9C */ _t19 = cpu->r[30] + 0x00000034u;
|
|
/* 02C5AE9C */ cpu->r[12] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02C5AEA0 */ cpu->r[11] = cpu->r[11] & 0x0000FFFBu;
|
|
/* 02C5AEA0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02C5AEA4 */ _t20 = cpu->r[30] + 0x00000004u;
|
|
/* 02C5AEA4 */ rbrew_write16(cpu->mem, _t20, (uint16_t)cpu->r[11]);
|
|
/* 02C5AEA8 */ _t21 = cpu->r[30] + 0x0000000Cu;
|
|
/* 02C5AEA8 */ rbrew_write32(cpu->mem, _t21, cpu->r[12]);
|
|
L_02C5AEAC: ; // 0x2c5aeac
|
|
/* 02C5AEAC */ _t22 = cpu->r[1] + 0x00000014u;
|
|
/* 02C5AEAC */ cpu->r[0] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02C5AEB0 */ _t23 = cpu->r[1] + 0x00000008u;
|
|
/* 02C5AEB0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02C5AEB4 */ cpu->lr = cpu->r[0];
|
|
/* 02C5AEB8 */ _t24 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C5AEB8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02C5AEBC */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C5AEC0 */ return;
|
|
}
|
|
|
|
// fn_02C5AE20 @ 0x2c5ae20
|
|
void Gambit_fn_02C5AE20(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;
|
|
|
|
L_02C5AE20: ; // 0x2c5ae20
|
|
/* 02C5AE20 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C5AE20 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C5AE20 */ cpu->r[1] = _t0;
|
|
/* 02C5AE24 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02C5AE24 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02C5AE28 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C5AE28 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02C5AE2C */ cpu->r[30] = cpu->r[3];
|
|
/* 02C5AE30 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02C5AE30 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02C5AE34 */ _t4 = cpu->r[30] + 0x00000034u;
|
|
/* 02C5AE34 */ cpu->r[3] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02C5AE38 */ _t5 = cpu->r[30] + 0x0000000Cu;
|
|
/* 02C5AE38 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02C5AE3C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[3]);
|
|
/* 02C5AE40 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C5AE40 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02C5AE40 */ if (_t7) goto L_02C5AEAC; else goto L_02C5AE44;
|
|
L_02C5AE44: ; // 0x2c5ae44
|
|
/* 02C5AE44 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
|
|
/* 02C5AE48 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C5AE48 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02C5AE48 */ if (_t9) goto L_02C5AE98; else goto L_02C5AE4C;
|
|
L_02C5AE4C: ; // 0x2c5ae4c
|
|
/* 02C5AE4C */ _t10 = cpu->r[30] + 0x0000002Cu;
|
|
/* 02C5AE4C */ cpu->r[10] = rbrew_read16(cpu->mem, _t10);
|
|
/* 02C5AE50 */ _t11 = cpu->r[30] + 0x00000004u;
|
|
/* 02C5AE50 */ cpu->r[9] = rbrew_read16(cpu->mem, _t11);
|
|
/* 02C5AE54 */ cpu->r[12] = rbrew_rlwinm(cpu->r[10], 0x00000006u, 0x00000000u, 0x00000019u);
|
|
/* 02C5AE58 */ cpu->r[11] = cpu->r[12] + 0x0000003Fu;
|
|
/* 02C5AE5C */ cpu->r[12] = rbrew_rlwinm(cpu->r[9], 0x00000000u, 0x0000001Cu, 0x0000001Cu);
|
|
/* 02C5AE5C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02C5AE60 */ cpu->r[31] = rbrew_rlwinm(cpu->r[11], 0x00000000u, 0x00000000u, 0x00000019u);
|
|
/* 02C5AE64 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C5AE64 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02C5AE64 */ if (_t13) goto L_02C5AE84; else goto L_02C5AE68;
|
|
L_02C5AE68: ; // 0x2c5ae68
|
|
/* 02C5AE68 */ cpu->r[4] = cpu->r[31];
|
|
/* 02C5AE6C */ rbrew_dispatch(cpu, 0x02d09330u);
|
|
/* 02C5AE70 */ _t14 = cpu->r[30] + 0x00000004u;
|
|
/* 02C5AE70 */ cpu->r[10] = rbrew_read16(cpu->mem, _t14);
|
|
/* 02C5AE74 */ _t15 = cpu->r[30] + 0x0000000Cu;
|
|
/* 02C5AE74 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02C5AE78 */ cpu->r[10] = cpu->r[10] & 0x0000FFF3u;
|
|
/* 02C5AE78 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02C5AE7C */ _t16 = cpu->r[30] + 0x00000034u;
|
|
/* 02C5AE7C */ cpu->r[3] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02C5AE80 */ _t17 = cpu->r[30] + 0x00000004u;
|
|
/* 02C5AE80 */ rbrew_write16(cpu->mem, _t17, (uint16_t)cpu->r[10]);
|
|
L_02C5AE84: ; // 0x2c5ae84
|
|
/* 02C5AE84 */ cpu->r[5] = rbrew_rlwinm(cpu->r[31], 0x0000001Bu, 0x00000005u, 0x0000001Fu);
|
|
/* 02C5AE88 */ cpu->r[4] = cpu->r[0];
|
|
/* 02C5AE8C */ Gambit_fn_02C65198(cpu);
|
|
/* 02C5AE90 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C5AE94 */ Gambit_fn_02C65224(cpu);
|
|
L_02C5AE98: ; // 0x2c5ae98
|
|
/* 02C5AE98 */ _t18 = cpu->r[30] + 0x00000004u;
|
|
/* 02C5AE98 */ cpu->r[11] = rbrew_read16(cpu->mem, _t18);
|
|
/* 02C5AE9C */ _t19 = cpu->r[30] + 0x00000034u;
|
|
/* 02C5AE9C */ cpu->r[12] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02C5AEA0 */ cpu->r[11] = cpu->r[11] & 0x0000FFFBu;
|
|
/* 02C5AEA0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02C5AEA4 */ _t20 = cpu->r[30] + 0x00000004u;
|
|
/* 02C5AEA4 */ rbrew_write16(cpu->mem, _t20, (uint16_t)cpu->r[11]);
|
|
/* 02C5AEA8 */ _t21 = cpu->r[30] + 0x0000000Cu;
|
|
/* 02C5AEA8 */ rbrew_write32(cpu->mem, _t21, cpu->r[12]);
|
|
L_02C5AEAC: ; // 0x2c5aeac
|
|
/* 02C5AEAC */ _t22 = cpu->r[1] + 0x00000014u;
|
|
/* 02C5AEAC */ cpu->r[0] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02C5AEB0 */ _t23 = cpu->r[1] + 0x00000008u;
|
|
/* 02C5AEB0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02C5AEB4 */ cpu->lr = cpu->r[0];
|
|
/* 02C5AEB8 */ _t24 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C5AEB8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02C5AEBC */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C5AEC0 */ return;
|
|
}
|
|
|
|
// fn_02C5AEC4 @ 0x2c5aec4
|
|
void Gambit_fn_02C5AEC4(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;
|
|
|
|
L_02C5AEC4: ; // 0x2c5aec4
|
|
/* 02C5AEC4 */ cpu->r[0] = cpu->lr;
|
|
/* 02C5AEC8 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02C5AEC8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C5AEC8 */ cpu->r[1] = _t0;
|
|
/* 02C5AECC */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 02C5AECC */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02C5AED0 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C5AED0 */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
|
|
/* 02C5AED4 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02C5AED4 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 02C5AED8 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C5AED8 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02C5AEDC */ cpu->r[29] = cpu->r[3];
|
|
/* 02C5AEE0 */ _t5 = cpu->r[29] + 0x0000002Cu;
|
|
/* 02C5AEE0 */ cpu->r[8] = rbrew_read16(cpu->mem, _t5);
|
|
/* 02C5AEE4 */ cpu->r[7] = (uint32_t)((int32_t)cpu->r[8] * (int32_t)0x00000030u);
|
|
/* 02C5AEE8 */ cpu->r[9] = cpu->r[7] + 0x0000003Fu;
|
|
/* 02C5AEEC */ cpu->r[31] = cpu->r[5];
|
|
/* 02C5AEF0 */ cpu->r[30] = rbrew_rlwinm(cpu->r[9], 0x00000000u, 0x00000000u, 0x00000019u);
|
|
/* 02C5AEF4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[30]);
|
|
/* 02C5AEF8 */ _t6 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C5AEF8 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02C5AEF8 */ if (_t7) goto L_02C5AEFC; else goto L_02C5AF1C;
|
|
L_02C5AEFC: ; // 0x2c5aefc
|
|
/* 02C5AEFC */ _t8 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C5AEFC */ cpu->r[29] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C5AF00 */ _t9 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C5AF00 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02C5AF04 */ _t10 = cpu->r[1] + 0x00000010u;
|
|
/* 02C5AF04 */ cpu->r[30] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02C5AF08 */ cpu->lr = cpu->r[0];
|
|
/* 02C5AF0C */ _t11 = cpu->r[1] + 0x00000014u;
|
|
/* 02C5AF0C */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02C5AF10 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C5AF14 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C5AF18 */ return;
|
|
L_02C5AF1C: ; // 0x2c5af1c
|
|
/* 02C5AF1C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u);
|
|
/* 02C5AF20 */ _t12 = cpu->r[29] + 0x00000010u;
|
|
/* 02C5AF20 */ rbrew_write32(cpu->mem, _t12, cpu->r[4]);
|
|
/* 02C5AF24 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C5AF24 */ _t14 = _t13 & 0x00000001u;
|
|
/* 02C5AF24 */ if (_t14) goto L_02C5AF6C; else goto L_02C5AF28;
|
|
L_02C5AF28: ; // 0x2c5af28
|
|
/* 02C5AF28 */ _t15 = cpu->r[29] + 0x00000004u;
|
|
/* 02C5AF28 */ cpu->r[11] = rbrew_read16(cpu->mem, _t15);
|
|
/* 02C5AF2C */ cpu->r[10] = rbrew_rlwinm(cpu->r[11], 0x00000000u, 0x0000001Au, 0x0000001Bu);
|
|
/* 02C5AF2C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02C5AF30 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C5AF30 */ _t17 = _t16 & 0x00000001u;
|
|
/* 02C5AF30 */ if (_t17) goto L_02C5AF50; else goto L_02C5AF34;
|
|
L_02C5AF34: ; // 0x2c5af34
|
|
/* 02C5AF34 */ _t18 = cpu->r[29] + 0x00000038u;
|
|
/* 02C5AF34 */ cpu->r[3] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02C5AF38 */ cpu->r[4] = cpu->r[30];
|
|
/* 02C5AF3C */ rbrew_dispatch(cpu, 0x02d09320u);
|
|
/* 02C5AF40 */ _t19 = cpu->r[29] + 0x00000004u;
|
|
/* 02C5AF40 */ cpu->r[12] = rbrew_read16(cpu->mem, _t19);
|
|
/* 02C5AF44 */ _t20 = cpu->r[29] + 0x00000010u;
|
|
/* 02C5AF44 */ cpu->r[4] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02C5AF48 */ cpu->r[12] = cpu->r[12] & 0x0000FFCFu;
|
|
/* 02C5AF48 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02C5AF4C */ _t21 = cpu->r[29] + 0x00000004u;
|
|
/* 02C5AF4C */ rbrew_write16(cpu->mem, _t21, (uint16_t)cpu->r[12]);
|
|
L_02C5AF50: ; // 0x2c5af50
|
|
/* 02C5AF50 */ cpu->r[3] = cpu->r[4];
|
|
/* 02C5AF54 */ _t22 = cpu->r[29] + 0x00000038u;
|
|
/* 02C5AF54 */ cpu->r[4] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02C5AF58 */ cpu->r[5] = rbrew_rlwinm(cpu->r[30], 0x0000001Bu, 0x00000005u, 0x0000001Fu);
|
|
/* 02C5AF5C */ Gambit_fn_02C6510C(cpu);
|
|
/* 02C5AF60 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C5AF64 */ Gambit_fn_02C65224(cpu);
|
|
/* 02C5AF68 */ goto L_02C5AF7C;
|
|
L_02C5AF6C: ; // 0x2c5af6c
|
|
/* 02C5AF6C */ _t23 = cpu->r[29] + 0x00000004u;
|
|
/* 02C5AF6C */ cpu->r[0] = rbrew_read16(cpu->mem, _t23);
|
|
/* 02C5AF70 */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x00000001u, 0x0000001Au, 0x0000001Au);
|
|
/* 02C5AF74 */ cpu->r[0] = cpu->r[0] | cpu->r[12];
|
|
/* 02C5AF78 */ _t24 = cpu->r[29] + 0x00000004u;
|
|
/* 02C5AF78 */ rbrew_write16(cpu->mem, _t24, (uint16_t)cpu->r[0]);
|
|
L_02C5AF7C: ; // 0x2c5af7c
|
|
/* 02C5AF7C */ _t25 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C5AF7C */ cpu->r[29] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02C5AF80 */ _t26 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C5AF80 */ cpu->r[0] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02C5AF84 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C5AF88 */ _t27 = cpu->r[1] + 0x00000010u;
|
|
/* 02C5AF88 */ cpu->r[30] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02C5AF8C */ cpu->lr = cpu->r[0];
|
|
/* 02C5AF90 */ _t28 = cpu->r[1] + 0x00000014u;
|
|
/* 02C5AF90 */ cpu->r[31] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02C5AF94 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C5AF98 */ return;
|
|
}
|
|
|
|
// fn_02C5AEC8 @ 0x2c5aec8
|
|
void Gambit_fn_02C5AEC8(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;
|
|
|
|
L_02C5AEC8: ; // 0x2c5aec8
|
|
/* 02C5AEC8 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02C5AEC8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C5AEC8 */ cpu->r[1] = _t0;
|
|
/* 02C5AECC */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 02C5AECC */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02C5AED0 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C5AED0 */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
|
|
/* 02C5AED4 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02C5AED4 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 02C5AED8 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C5AED8 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02C5AEDC */ cpu->r[29] = cpu->r[3];
|
|
/* 02C5AEE0 */ _t5 = cpu->r[29] + 0x0000002Cu;
|
|
/* 02C5AEE0 */ cpu->r[8] = rbrew_read16(cpu->mem, _t5);
|
|
/* 02C5AEE4 */ cpu->r[7] = (uint32_t)((int32_t)cpu->r[8] * (int32_t)0x00000030u);
|
|
/* 02C5AEE8 */ cpu->r[9] = cpu->r[7] + 0x0000003Fu;
|
|
/* 02C5AEEC */ cpu->r[31] = cpu->r[5];
|
|
/* 02C5AEF0 */ cpu->r[30] = rbrew_rlwinm(cpu->r[9], 0x00000000u, 0x00000000u, 0x00000019u);
|
|
/* 02C5AEF4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[30]);
|
|
/* 02C5AEF8 */ _t6 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C5AEF8 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02C5AEF8 */ if (_t7) goto L_02C5AEFC; else goto L_02C5AF1C;
|
|
L_02C5AEFC: ; // 0x2c5aefc
|
|
/* 02C5AEFC */ _t8 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C5AEFC */ cpu->r[29] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C5AF00 */ _t9 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C5AF00 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02C5AF04 */ _t10 = cpu->r[1] + 0x00000010u;
|
|
/* 02C5AF04 */ cpu->r[30] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02C5AF08 */ cpu->lr = cpu->r[0];
|
|
/* 02C5AF0C */ _t11 = cpu->r[1] + 0x00000014u;
|
|
/* 02C5AF0C */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02C5AF10 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C5AF14 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C5AF18 */ return;
|
|
L_02C5AF1C: ; // 0x2c5af1c
|
|
/* 02C5AF1C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u);
|
|
/* 02C5AF20 */ _t12 = cpu->r[29] + 0x00000010u;
|
|
/* 02C5AF20 */ rbrew_write32(cpu->mem, _t12, cpu->r[4]);
|
|
/* 02C5AF24 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C5AF24 */ _t14 = _t13 & 0x00000001u;
|
|
/* 02C5AF24 */ if (_t14) goto L_02C5AF6C; else goto L_02C5AF28;
|
|
L_02C5AF28: ; // 0x2c5af28
|
|
/* 02C5AF28 */ _t15 = cpu->r[29] + 0x00000004u;
|
|
/* 02C5AF28 */ cpu->r[11] = rbrew_read16(cpu->mem, _t15);
|
|
/* 02C5AF2C */ cpu->r[10] = rbrew_rlwinm(cpu->r[11], 0x00000000u, 0x0000001Au, 0x0000001Bu);
|
|
/* 02C5AF2C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02C5AF30 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C5AF30 */ _t17 = _t16 & 0x00000001u;
|
|
/* 02C5AF30 */ if (_t17) goto L_02C5AF50; else goto L_02C5AF34;
|
|
L_02C5AF34: ; // 0x2c5af34
|
|
/* 02C5AF34 */ _t18 = cpu->r[29] + 0x00000038u;
|
|
/* 02C5AF34 */ cpu->r[3] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02C5AF38 */ cpu->r[4] = cpu->r[30];
|
|
/* 02C5AF3C */ rbrew_dispatch(cpu, 0x02d09320u);
|
|
/* 02C5AF40 */ _t19 = cpu->r[29] + 0x00000004u;
|
|
/* 02C5AF40 */ cpu->r[12] = rbrew_read16(cpu->mem, _t19);
|
|
/* 02C5AF44 */ _t20 = cpu->r[29] + 0x00000010u;
|
|
/* 02C5AF44 */ cpu->r[4] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02C5AF48 */ cpu->r[12] = cpu->r[12] & 0x0000FFCFu;
|
|
/* 02C5AF48 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02C5AF4C */ _t21 = cpu->r[29] + 0x00000004u;
|
|
/* 02C5AF4C */ rbrew_write16(cpu->mem, _t21, (uint16_t)cpu->r[12]);
|
|
L_02C5AF50: ; // 0x2c5af50
|
|
/* 02C5AF50 */ cpu->r[3] = cpu->r[4];
|
|
/* 02C5AF54 */ _t22 = cpu->r[29] + 0x00000038u;
|
|
/* 02C5AF54 */ cpu->r[4] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02C5AF58 */ cpu->r[5] = rbrew_rlwinm(cpu->r[30], 0x0000001Bu, 0x00000005u, 0x0000001Fu);
|
|
/* 02C5AF5C */ Gambit_fn_02C6510C(cpu);
|
|
/* 02C5AF60 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C5AF64 */ Gambit_fn_02C65224(cpu);
|
|
/* 02C5AF68 */ goto L_02C5AF7C;
|
|
L_02C5AF6C: ; // 0x2c5af6c
|
|
/* 02C5AF6C */ _t23 = cpu->r[29] + 0x00000004u;
|
|
/* 02C5AF6C */ cpu->r[0] = rbrew_read16(cpu->mem, _t23);
|
|
/* 02C5AF70 */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x00000001u, 0x0000001Au, 0x0000001Au);
|
|
/* 02C5AF74 */ cpu->r[0] = cpu->r[0] | cpu->r[12];
|
|
/* 02C5AF78 */ _t24 = cpu->r[29] + 0x00000004u;
|
|
/* 02C5AF78 */ rbrew_write16(cpu->mem, _t24, (uint16_t)cpu->r[0]);
|
|
L_02C5AF7C: ; // 0x2c5af7c
|
|
/* 02C5AF7C */ _t25 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C5AF7C */ cpu->r[29] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02C5AF80 */ _t26 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C5AF80 */ cpu->r[0] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02C5AF84 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C5AF88 */ _t27 = cpu->r[1] + 0x00000010u;
|
|
/* 02C5AF88 */ cpu->r[30] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02C5AF8C */ cpu->lr = cpu->r[0];
|
|
/* 02C5AF90 */ _t28 = cpu->r[1] + 0x00000014u;
|
|
/* 02C5AF90 */ cpu->r[31] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02C5AF94 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C5AF98 */ return;
|
|
}
|
|
|
|
// fn_02C5AF9C @ 0x2c5af9c
|
|
void Gambit_fn_02C5AF9C(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;
|
|
|
|
L_02C5AF9C: ; // 0x2c5af9c
|
|
/* 02C5AF9C */ cpu->r[0] = cpu->lr;
|
|
/* 02C5AFA0 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C5AFA0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C5AFA0 */ cpu->r[1] = _t0;
|
|
/* 02C5AFA4 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02C5AFA4 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02C5AFA8 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C5AFA8 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02C5AFAC */ cpu->r[30] = cpu->r[3];
|
|
/* 02C5AFB0 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02C5AFB0 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02C5AFB4 */ _t4 = cpu->r[30] + 0x00000038u;
|
|
/* 02C5AFB4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02C5AFB8 */ _t5 = cpu->r[30] + 0x00000010u;
|
|
/* 02C5AFB8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02C5AFBC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[3]);
|
|
/* 02C5AFC0 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C5AFC0 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02C5AFC0 */ if (_t7) goto L_02C5B02C; else goto L_02C5AFC4;
|
|
L_02C5AFC4: ; // 0x2c5afc4
|
|
/* 02C5AFC4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
|
|
/* 02C5AFC8 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C5AFC8 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02C5AFC8 */ if (_t9) goto L_02C5B018; else goto L_02C5AFCC;
|
|
L_02C5AFCC: ; // 0x2c5afcc
|
|
/* 02C5AFCC */ _t10 = cpu->r[30] + 0x0000002Cu;
|
|
/* 02C5AFCC */ cpu->r[10] = rbrew_read16(cpu->mem, _t10);
|
|
/* 02C5AFD0 */ cpu->r[12] = (uint32_t)((int32_t)cpu->r[10] * (int32_t)0x00000030u);
|
|
/* 02C5AFD4 */ _t11 = cpu->r[30] + 0x00000004u;
|
|
/* 02C5AFD4 */ cpu->r[9] = rbrew_read16(cpu->mem, _t11);
|
|
/* 02C5AFD8 */ cpu->r[11] = cpu->r[12] + 0x0000003Fu;
|
|
/* 02C5AFDC */ cpu->r[12] = rbrew_rlwinm(cpu->r[9], 0x00000000u, 0x0000001Au, 0x0000001Au);
|
|
/* 02C5AFDC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02C5AFE0 */ cpu->r[31] = rbrew_rlwinm(cpu->r[11], 0x00000000u, 0x00000000u, 0x00000019u);
|
|
/* 02C5AFE4 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C5AFE4 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02C5AFE4 */ if (_t13) goto L_02C5B004; else goto L_02C5AFE8;
|
|
L_02C5AFE8: ; // 0x2c5afe8
|
|
/* 02C5AFE8 */ cpu->r[4] = cpu->r[31];
|
|
/* 02C5AFEC */ rbrew_dispatch(cpu, 0x02d09330u);
|
|
/* 02C5AFF0 */ _t14 = cpu->r[30] + 0x00000004u;
|
|
/* 02C5AFF0 */ cpu->r[10] = rbrew_read16(cpu->mem, _t14);
|
|
/* 02C5AFF4 */ _t15 = cpu->r[30] + 0x00000010u;
|
|
/* 02C5AFF4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02C5AFF8 */ cpu->r[10] = cpu->r[10] & 0x0000FFCFu;
|
|
/* 02C5AFF8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02C5AFFC */ _t16 = cpu->r[30] + 0x00000038u;
|
|
/* 02C5AFFC */ cpu->r[3] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02C5B000 */ _t17 = cpu->r[30] + 0x00000004u;
|
|
/* 02C5B000 */ rbrew_write16(cpu->mem, _t17, (uint16_t)cpu->r[10]);
|
|
L_02C5B004: ; // 0x2c5b004
|
|
/* 02C5B004 */ cpu->r[5] = rbrew_rlwinm(cpu->r[31], 0x0000001Bu, 0x00000005u, 0x0000001Fu);
|
|
/* 02C5B008 */ cpu->r[4] = cpu->r[0];
|
|
/* 02C5B00C */ Gambit_fn_02C65198(cpu);
|
|
/* 02C5B010 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C5B014 */ Gambit_fn_02C65224(cpu);
|
|
L_02C5B018: ; // 0x2c5b018
|
|
/* 02C5B018 */ _t18 = cpu->r[30] + 0x00000004u;
|
|
/* 02C5B018 */ cpu->r[11] = rbrew_read16(cpu->mem, _t18);
|
|
/* 02C5B01C */ _t19 = cpu->r[30] + 0x00000038u;
|
|
/* 02C5B01C */ cpu->r[12] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02C5B020 */ cpu->r[11] = cpu->r[11] & 0x0000FFEFu;
|
|
/* 02C5B020 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02C5B024 */ _t20 = cpu->r[30] + 0x00000004u;
|
|
/* 02C5B024 */ rbrew_write16(cpu->mem, _t20, (uint16_t)cpu->r[11]);
|
|
/* 02C5B028 */ _t21 = cpu->r[30] + 0x00000010u;
|
|
/* 02C5B028 */ rbrew_write32(cpu->mem, _t21, cpu->r[12]);
|
|
L_02C5B02C: ; // 0x2c5b02c
|
|
/* 02C5B02C */ _t22 = cpu->r[1] + 0x00000014u;
|
|
/* 02C5B02C */ cpu->r[0] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02C5B030 */ _t23 = cpu->r[1] + 0x00000008u;
|
|
/* 02C5B030 */ cpu->r[30] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02C5B034 */ cpu->lr = cpu->r[0];
|
|
/* 02C5B038 */ _t24 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C5B038 */ cpu->r[31] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02C5B03C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C5B040 */ return;
|
|
}
|
|
|
|
// fn_02C5AFA0 @ 0x2c5afa0
|
|
void Gambit_fn_02C5AFA0(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;
|
|
|
|
L_02C5AFA0: ; // 0x2c5afa0
|
|
/* 02C5AFA0 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C5AFA0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C5AFA0 */ cpu->r[1] = _t0;
|
|
/* 02C5AFA4 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02C5AFA4 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02C5AFA8 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C5AFA8 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02C5AFAC */ cpu->r[30] = cpu->r[3];
|
|
/* 02C5AFB0 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02C5AFB0 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02C5AFB4 */ _t4 = cpu->r[30] + 0x00000038u;
|
|
/* 02C5AFB4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02C5AFB8 */ _t5 = cpu->r[30] + 0x00000010u;
|
|
/* 02C5AFB8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02C5AFBC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[3]);
|
|
/* 02C5AFC0 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C5AFC0 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02C5AFC0 */ if (_t7) goto L_02C5B02C; else goto L_02C5AFC4;
|
|
L_02C5AFC4: ; // 0x2c5afc4
|
|
/* 02C5AFC4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
|
|
/* 02C5AFC8 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C5AFC8 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02C5AFC8 */ if (_t9) goto L_02C5B018; else goto L_02C5AFCC;
|
|
L_02C5AFCC: ; // 0x2c5afcc
|
|
/* 02C5AFCC */ _t10 = cpu->r[30] + 0x0000002Cu;
|
|
/* 02C5AFCC */ cpu->r[10] = rbrew_read16(cpu->mem, _t10);
|
|
/* 02C5AFD0 */ cpu->r[12] = (uint32_t)((int32_t)cpu->r[10] * (int32_t)0x00000030u);
|
|
/* 02C5AFD4 */ _t11 = cpu->r[30] + 0x00000004u;
|
|
/* 02C5AFD4 */ cpu->r[9] = rbrew_read16(cpu->mem, _t11);
|
|
/* 02C5AFD8 */ cpu->r[11] = cpu->r[12] + 0x0000003Fu;
|
|
/* 02C5AFDC */ cpu->r[12] = rbrew_rlwinm(cpu->r[9], 0x00000000u, 0x0000001Au, 0x0000001Au);
|
|
/* 02C5AFDC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02C5AFE0 */ cpu->r[31] = rbrew_rlwinm(cpu->r[11], 0x00000000u, 0x00000000u, 0x00000019u);
|
|
/* 02C5AFE4 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C5AFE4 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02C5AFE4 */ if (_t13) goto L_02C5B004; else goto L_02C5AFE8;
|
|
L_02C5AFE8: ; // 0x2c5afe8
|
|
/* 02C5AFE8 */ cpu->r[4] = cpu->r[31];
|
|
/* 02C5AFEC */ rbrew_dispatch(cpu, 0x02d09330u);
|
|
/* 02C5AFF0 */ _t14 = cpu->r[30] + 0x00000004u;
|
|
/* 02C5AFF0 */ cpu->r[10] = rbrew_read16(cpu->mem, _t14);
|
|
/* 02C5AFF4 */ _t15 = cpu->r[30] + 0x00000010u;
|
|
/* 02C5AFF4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02C5AFF8 */ cpu->r[10] = cpu->r[10] & 0x0000FFCFu;
|
|
/* 02C5AFF8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02C5AFFC */ _t16 = cpu->r[30] + 0x00000038u;
|
|
/* 02C5AFFC */ cpu->r[3] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02C5B000 */ _t17 = cpu->r[30] + 0x00000004u;
|
|
/* 02C5B000 */ rbrew_write16(cpu->mem, _t17, (uint16_t)cpu->r[10]);
|
|
L_02C5B004: ; // 0x2c5b004
|
|
/* 02C5B004 */ cpu->r[5] = rbrew_rlwinm(cpu->r[31], 0x0000001Bu, 0x00000005u, 0x0000001Fu);
|
|
/* 02C5B008 */ cpu->r[4] = cpu->r[0];
|
|
/* 02C5B00C */ Gambit_fn_02C65198(cpu);
|
|
/* 02C5B010 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C5B014 */ Gambit_fn_02C65224(cpu);
|
|
L_02C5B018: ; // 0x2c5b018
|
|
/* 02C5B018 */ _t18 = cpu->r[30] + 0x00000004u;
|
|
/* 02C5B018 */ cpu->r[11] = rbrew_read16(cpu->mem, _t18);
|
|
/* 02C5B01C */ _t19 = cpu->r[30] + 0x00000038u;
|
|
/* 02C5B01C */ cpu->r[12] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02C5B020 */ cpu->r[11] = cpu->r[11] & 0x0000FFEFu;
|
|
/* 02C5B020 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02C5B024 */ _t20 = cpu->r[30] + 0x00000004u;
|
|
/* 02C5B024 */ rbrew_write16(cpu->mem, _t20, (uint16_t)cpu->r[11]);
|
|
/* 02C5B028 */ _t21 = cpu->r[30] + 0x00000010u;
|
|
/* 02C5B028 */ rbrew_write32(cpu->mem, _t21, cpu->r[12]);
|
|
L_02C5B02C: ; // 0x2c5b02c
|
|
/* 02C5B02C */ _t22 = cpu->r[1] + 0x00000014u;
|
|
/* 02C5B02C */ cpu->r[0] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02C5B030 */ _t23 = cpu->r[1] + 0x00000008u;
|
|
/* 02C5B030 */ cpu->r[30] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02C5B034 */ cpu->lr = cpu->r[0];
|
|
/* 02C5B038 */ _t24 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C5B038 */ cpu->r[31] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02C5B03C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C5B040 */ return;
|
|
}
|
|
|
|
// fn_02C5B044 @ 0x2c5b044
|
|
void Gambit_fn_02C5B044(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;
|
|
|
|
L_02C5B044: ; // 0x2c5b044
|
|
/* 02C5B044 */ cpu->r[0] = cpu->lr;
|
|
/* 02C5B048 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02C5B048 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C5B048 */ cpu->r[1] = _t0;
|
|
/* 02C5B04C */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02C5B04C */ rbrew_write32(cpu->mem, _t1, cpu->r[28]);
|
|
/* 02C5B050 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C5B050 */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
|
|
/* 02C5B054 */ _t3 = cpu->r[1] + 0x00000010u;
|
|
/* 02C5B054 */ rbrew_write32(cpu->mem, _t3, cpu->r[30]);
|
|
/* 02C5B058 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 02C5B058 */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
|
|
/* 02C5B05C */ cpu->r[30] = cpu->r[3];
|
|
/* 02C5B060 */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C5B060 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02C5B064 */ _t6 = cpu->r[30] + 0x00000000u;
|
|
/* 02C5B064 */ cpu->r[8] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02C5B068 */ _t7 = cpu->r[8] + 0x0000000Au;
|
|
/* 02C5B068 */ cpu->r[10] = rbrew_read16(cpu->mem, _t7);
|
|
/* 02C5B06C */ _t8 = cpu->r[8] + 0x0000000Cu;
|
|
/* 02C5B06C */ cpu->r[11] = rbrew_read16(cpu->mem, _t8);
|
|
/* 02C5B070 */ cpu->r[9] = cpu->r[10] + cpu->r[11];
|
|
/* 02C5B074 */ cpu->r[12] = (uint32_t)((int32_t)cpu->r[9] * (int32_t)0x00000030u);
|
|
/* 02C5B078 */ cpu->r[0] = cpu->r[12] + 0x0000003Fu;
|
|
/* 02C5B07C */ cpu->r[31] = cpu->r[5];
|
|
/* 02C5B080 */ cpu->r[29] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000000u, 0x00000019u);
|
|
/* 02C5B080 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 02C5B084 */ cpu->r[28] = cpu->r[4];
|
|
/* 02C5B088 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C5B088 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02C5B088 */ if (_t10) goto L_02C5B094; else goto L_02C5B08C;
|
|
L_02C5B08C: ; // 0x2c5b08c
|
|
/* 02C5B08C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[29]);
|
|
/* 02C5B090 */ _t11 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C5B090 */ _t12 = _t11 & 0x00000001u;
|
|
/* 02C5B090 */ if (_t12) goto L_02C5B094; else goto L_02C5B0B8;
|
|
L_02C5B094: ; // 0x2c5b094
|
|
/* 02C5B094 */ _t13 = cpu->r[1] + 0x00000008u;
|
|
/* 02C5B094 */ cpu->r[28] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02C5B098 */ _t14 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C5B098 */ cpu->r[29] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02C5B09C */ _t15 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C5B09C */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02C5B0A0 */ _t16 = cpu->r[1] + 0x00000010u;
|
|
/* 02C5B0A0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02C5B0A4 */ cpu->lr = cpu->r[0];
|
|
/* 02C5B0A8 */ _t17 = cpu->r[1] + 0x00000014u;
|
|
/* 02C5B0A8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02C5B0AC */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C5B0B0 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C5B0B4 */ return;
|
|
L_02C5B0B8: ; // 0x2c5b0b8
|
|
/* 02C5B0B8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u);
|
|
/* 02C5B0BC */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C5B0BC */ _t19 = _t18 & 0x00000001u;
|
|
/* 02C5B0BC */ if (_t19) goto L_02C5B0E4; else goto L_02C5B0C0;
|
|
L_02C5B0C0: ; // 0x2c5b0c0
|
|
/* 02C5B0C0 */ cpu->r[3] = cpu->r[30] + 0x00000018u;
|
|
/* 02C5B0C4 */ cpu->r[4] = cpu->r[7];
|
|
/* 02C5B0C8 */ Gambit_fn_02C6544C(cpu);
|
|
/* 02C5B0CC */ cpu->r[4] = cpu->r[3];
|
|
/* 02C5B0D0 */ cpu->r[3] = cpu->r[28];
|
|
/* 02C5B0D4 */ cpu->r[5] = rbrew_rlwinm(cpu->r[29], 0x0000001Bu, 0x00000005u, 0x0000001Fu);
|
|
/* 02C5B0D8 */ Gambit_fn_02C6510C(cpu);
|
|
/* 02C5B0DC */ cpu->r[3] = 0x00000000u;
|
|
/* 02C5B0E0 */ Gambit_fn_02C65224(cpu);
|
|
L_02C5B0E4: ; // 0x2c5b0e4
|
|
/* 02C5B0E4 */ _t20 = cpu->r[30] + 0x0000003Cu;
|
|
/* 02C5B0E4 */ rbrew_write32(cpu->mem, _t20, cpu->r[28]);
|
|
/* 02C5B0E8 */ _t21 = cpu->r[1] + 0x00000008u;
|
|
/* 02C5B0E8 */ cpu->r[28] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02C5B0EC */ _t22 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C5B0EC */ cpu->r[29] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02C5B0F0 */ _t23 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C5B0F0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02C5B0F4 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C5B0F8 */ _t24 = cpu->r[1] + 0x00000010u;
|
|
/* 02C5B0F8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02C5B0FC */ cpu->lr = cpu->r[0];
|
|
/* 02C5B100 */ _t25 = cpu->r[1] + 0x00000014u;
|
|
/* 02C5B100 */ cpu->r[31] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02C5B104 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C5B108 */ return;
|
|
}
|
|
|
|
// fn_02C5B048 @ 0x2c5b048
|
|
void Gambit_fn_02C5B048(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;
|
|
|
|
L_02C5B048: ; // 0x2c5b048
|
|
/* 02C5B048 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02C5B048 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C5B048 */ cpu->r[1] = _t0;
|
|
/* 02C5B04C */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02C5B04C */ rbrew_write32(cpu->mem, _t1, cpu->r[28]);
|
|
/* 02C5B050 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C5B050 */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
|
|
/* 02C5B054 */ _t3 = cpu->r[1] + 0x00000010u;
|
|
/* 02C5B054 */ rbrew_write32(cpu->mem, _t3, cpu->r[30]);
|
|
/* 02C5B058 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 02C5B058 */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
|
|
/* 02C5B05C */ cpu->r[30] = cpu->r[3];
|
|
/* 02C5B060 */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C5B060 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02C5B064 */ _t6 = cpu->r[30] + 0x00000000u;
|
|
/* 02C5B064 */ cpu->r[8] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02C5B068 */ _t7 = cpu->r[8] + 0x0000000Au;
|
|
/* 02C5B068 */ cpu->r[10] = rbrew_read16(cpu->mem, _t7);
|
|
/* 02C5B06C */ _t8 = cpu->r[8] + 0x0000000Cu;
|
|
/* 02C5B06C */ cpu->r[11] = rbrew_read16(cpu->mem, _t8);
|
|
/* 02C5B070 */ cpu->r[9] = cpu->r[10] + cpu->r[11];
|
|
/* 02C5B074 */ cpu->r[12] = (uint32_t)((int32_t)cpu->r[9] * (int32_t)0x00000030u);
|
|
/* 02C5B078 */ cpu->r[0] = cpu->r[12] + 0x0000003Fu;
|
|
/* 02C5B07C */ cpu->r[31] = cpu->r[5];
|
|
/* 02C5B080 */ cpu->r[29] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000000u, 0x00000019u);
|
|
/* 02C5B080 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 02C5B084 */ cpu->r[28] = cpu->r[4];
|
|
/* 02C5B088 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C5B088 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02C5B088 */ if (_t10) goto L_02C5B094; else goto L_02C5B08C;
|
|
L_02C5B08C: ; // 0x2c5b08c
|
|
/* 02C5B08C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[29]);
|
|
/* 02C5B090 */ _t11 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C5B090 */ _t12 = _t11 & 0x00000001u;
|
|
/* 02C5B090 */ if (_t12) goto L_02C5B094; else goto L_02C5B0B8;
|
|
L_02C5B094: ; // 0x2c5b094
|
|
/* 02C5B094 */ _t13 = cpu->r[1] + 0x00000008u;
|
|
/* 02C5B094 */ cpu->r[28] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02C5B098 */ _t14 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C5B098 */ cpu->r[29] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02C5B09C */ _t15 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C5B09C */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02C5B0A0 */ _t16 = cpu->r[1] + 0x00000010u;
|
|
/* 02C5B0A0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02C5B0A4 */ cpu->lr = cpu->r[0];
|
|
/* 02C5B0A8 */ _t17 = cpu->r[1] + 0x00000014u;
|
|
/* 02C5B0A8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02C5B0AC */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C5B0B0 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C5B0B4 */ return;
|
|
L_02C5B0B8: ; // 0x2c5b0b8
|
|
/* 02C5B0B8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u);
|
|
/* 02C5B0BC */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C5B0BC */ _t19 = _t18 & 0x00000001u;
|
|
/* 02C5B0BC */ if (_t19) goto L_02C5B0E4; else goto L_02C5B0C0;
|
|
L_02C5B0C0: ; // 0x2c5b0c0
|
|
/* 02C5B0C0 */ cpu->r[3] = cpu->r[30] + 0x00000018u;
|
|
/* 02C5B0C4 */ cpu->r[4] = cpu->r[7];
|
|
/* 02C5B0C8 */ Gambit_fn_02C6544C(cpu);
|
|
/* 02C5B0CC */ cpu->r[4] = cpu->r[3];
|
|
/* 02C5B0D0 */ cpu->r[3] = cpu->r[28];
|
|
/* 02C5B0D4 */ cpu->r[5] = rbrew_rlwinm(cpu->r[29], 0x0000001Bu, 0x00000005u, 0x0000001Fu);
|
|
/* 02C5B0D8 */ Gambit_fn_02C6510C(cpu);
|
|
/* 02C5B0DC */ cpu->r[3] = 0x00000000u;
|
|
/* 02C5B0E0 */ Gambit_fn_02C65224(cpu);
|
|
L_02C5B0E4: ; // 0x2c5b0e4
|
|
/* 02C5B0E4 */ _t20 = cpu->r[30] + 0x0000003Cu;
|
|
/* 02C5B0E4 */ rbrew_write32(cpu->mem, _t20, cpu->r[28]);
|
|
/* 02C5B0E8 */ _t21 = cpu->r[1] + 0x00000008u;
|
|
/* 02C5B0E8 */ cpu->r[28] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02C5B0EC */ _t22 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C5B0EC */ cpu->r[29] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02C5B0F0 */ _t23 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C5B0F0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02C5B0F4 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C5B0F8 */ _t24 = cpu->r[1] + 0x00000010u;
|
|
/* 02C5B0F8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02C5B0FC */ cpu->lr = cpu->r[0];
|
|
/* 02C5B100 */ _t25 = cpu->r[1] + 0x00000014u;
|
|
/* 02C5B100 */ cpu->r[31] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02C5B104 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C5B108 */ return;
|
|
}
|
|
|
|
// fn_02C5B10C @ 0x2c5b10c
|
|
void Gambit_fn_02C5B10C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15;
|
|
|
|
L_02C5B10C: ; // 0x2c5b10c
|
|
/* 02C5B10C */ cpu->r[0] = cpu->lr;
|
|
/* 02C5B110 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C5B110 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C5B110 */ cpu->r[1] = _t0;
|
|
/* 02C5B114 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02C5B114 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02C5B118 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C5B118 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02C5B11C */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02C5B11C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02C5B120 */ _t4 = cpu->r[3] + 0x0000003Cu;
|
|
/* 02C5B120 */ cpu->r[31] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02C5B124 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02C5B128 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C5B128 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02C5B128 */ if (_t6) goto L_02C5B174; else goto L_02C5B12C;
|
|
L_02C5B12C: ; // 0x2c5b12c
|
|
/* 02C5B12C */ cpu->r[12] = 0x00000000u;
|
|
/* 02C5B130 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
|
|
/* 02C5B134 */ _t7 = cpu->r[3] + 0x0000003Cu;
|
|
/* 02C5B134 */ rbrew_write32(cpu->mem, _t7, cpu->r[12]);
|
|
/* 02C5B138 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C5B138 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02C5B138 */ if (_t9) goto L_02C5B174; else goto L_02C5B13C;
|
|
L_02C5B13C: ; // 0x2c5b13c
|
|
/* 02C5B13C */ _t10 = cpu->r[3] + 0x00000000u;
|
|
/* 02C5B13C */ cpu->r[11] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02C5B140 */ _t11 = cpu->r[11] + 0x0000000Au;
|
|
/* 02C5B140 */ cpu->r[8] = rbrew_read16(cpu->mem, _t11);
|
|
/* 02C5B144 */ _t12 = cpu->r[11] + 0x0000000Cu;
|
|
/* 02C5B144 */ cpu->r[0] = rbrew_read16(cpu->mem, _t12);
|
|
/* 02C5B148 */ cpu->r[0] = cpu->r[8] + cpu->r[0];
|
|
/* 02C5B14C */ cpu->r[10] = (uint32_t)((int32_t)cpu->r[0] * (int32_t)0x00000030u);
|
|
/* 02C5B150 */ cpu->r[4] = cpu->r[5];
|
|
/* 02C5B154 */ cpu->r[3] = cpu->r[3] + 0x00000018u;
|
|
/* 02C5B158 */ cpu->r[30] = cpu->r[10] + 0x0000003Fu;
|
|
/* 02C5B15C */ Gambit_fn_02C6544C(cpu);
|
|
/* 02C5B160 */ cpu->r[4] = cpu->r[31];
|
|
/* 02C5B164 */ cpu->r[5] = rbrew_rlwinm(cpu->r[30], 0x0000001Bu, 0x00000005u, 0x0000001Eu);
|
|
/* 02C5B168 */ Gambit_fn_02C65198(cpu);
|
|
/* 02C5B16C */ cpu->r[3] = 0x00000000u;
|
|
/* 02C5B170 */ Gambit_fn_02C65224(cpu);
|
|
L_02C5B174: ; // 0x2c5b174
|
|
/* 02C5B174 */ _t13 = cpu->r[1] + 0x00000014u;
|
|
/* 02C5B174 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02C5B178 */ _t14 = cpu->r[1] + 0x00000008u;
|
|
/* 02C5B178 */ cpu->r[30] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02C5B17C */ cpu->lr = cpu->r[0];
|
|
/* 02C5B180 */ _t15 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C5B180 */ cpu->r[31] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02C5B184 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C5B188 */ return;
|
|
}
|
|
|
|
// fn_02C5B110 @ 0x2c5b110
|
|
void Gambit_fn_02C5B110(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15;
|
|
|
|
L_02C5B110: ; // 0x2c5b110
|
|
/* 02C5B110 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C5B110 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C5B110 */ cpu->r[1] = _t0;
|
|
/* 02C5B114 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02C5B114 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02C5B118 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C5B118 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02C5B11C */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02C5B11C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02C5B120 */ _t4 = cpu->r[3] + 0x0000003Cu;
|
|
/* 02C5B120 */ cpu->r[31] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02C5B124 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02C5B128 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C5B128 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02C5B128 */ if (_t6) goto L_02C5B174; else goto L_02C5B12C;
|
|
L_02C5B12C: ; // 0x2c5b12c
|
|
/* 02C5B12C */ cpu->r[12] = 0x00000000u;
|
|
/* 02C5B130 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
|
|
/* 02C5B134 */ _t7 = cpu->r[3] + 0x0000003Cu;
|
|
/* 02C5B134 */ rbrew_write32(cpu->mem, _t7, cpu->r[12]);
|
|
/* 02C5B138 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C5B138 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02C5B138 */ if (_t9) goto L_02C5B174; else goto L_02C5B13C;
|
|
L_02C5B13C: ; // 0x2c5b13c
|
|
/* 02C5B13C */ _t10 = cpu->r[3] + 0x00000000u;
|
|
/* 02C5B13C */ cpu->r[11] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02C5B140 */ _t11 = cpu->r[11] + 0x0000000Au;
|
|
/* 02C5B140 */ cpu->r[8] = rbrew_read16(cpu->mem, _t11);
|
|
/* 02C5B144 */ _t12 = cpu->r[11] + 0x0000000Cu;
|
|
/* 02C5B144 */ cpu->r[0] = rbrew_read16(cpu->mem, _t12);
|
|
/* 02C5B148 */ cpu->r[0] = cpu->r[8] + cpu->r[0];
|
|
/* 02C5B14C */ cpu->r[10] = (uint32_t)((int32_t)cpu->r[0] * (int32_t)0x00000030u);
|
|
/* 02C5B150 */ cpu->r[4] = cpu->r[5];
|
|
/* 02C5B154 */ cpu->r[3] = cpu->r[3] + 0x00000018u;
|
|
/* 02C5B158 */ cpu->r[30] = cpu->r[10] + 0x0000003Fu;
|
|
/* 02C5B15C */ Gambit_fn_02C6544C(cpu);
|
|
/* 02C5B160 */ cpu->r[4] = cpu->r[31];
|
|
/* 02C5B164 */ cpu->r[5] = rbrew_rlwinm(cpu->r[30], 0x0000001Bu, 0x00000005u, 0x0000001Eu);
|
|
/* 02C5B168 */ Gambit_fn_02C65198(cpu);
|
|
/* 02C5B16C */ cpu->r[3] = 0x00000000u;
|
|
/* 02C5B170 */ Gambit_fn_02C65224(cpu);
|
|
L_02C5B174: ; // 0x2c5b174
|
|
/* 02C5B174 */ _t13 = cpu->r[1] + 0x00000014u;
|
|
/* 02C5B174 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02C5B178 */ _t14 = cpu->r[1] + 0x00000008u;
|
|
/* 02C5B178 */ cpu->r[30] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02C5B17C */ cpu->lr = cpu->r[0];
|
|
/* 02C5B180 */ _t15 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C5B180 */ cpu->r[31] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02C5B184 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C5B188 */ return;
|
|
}
|
|
|
|
// fn_02C5B18C @ 0x2c5b18c
|
|
void Gambit_fn_02C5B18C(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;
|
|
|
|
L_02C5B18C: ; // 0x2c5b18c
|
|
/* 02C5B18C */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02C5B18C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C5B18C */ cpu->r[1] = _t0;
|
|
/* 02C5B190 */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 02C5B190 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02C5B194 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02C5B194 */ rbrew_write32(cpu->mem, _t2, cpu->r[28]);
|
|
/* 02C5B198 */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C5B198 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 02C5B19C */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 02C5B19C */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
|
|
/* 02C5B1A0 */ _t5 = cpu->r[3] + 0x00000004u;
|
|
/* 02C5B1A0 */ cpu->r[10] = rbrew_read16(cpu->mem, _t5);
|
|
/* 02C5B1A4 */ _t6 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02C5B1A4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02C5B1A8 */ cpu->r[10] = cpu->r[10] | 0x00000004u;
|
|
/* 02C5B1AC */ cpu->r[6] = 0x101B0000u;
|
|
/* 02C5B1B0 */ _t7 = cpu->r[3] + 0x00000004u;
|
|
/* 02C5B1B0 */ rbrew_write16(cpu->mem, _t7, (uint16_t)cpu->r[10]);
|
|
/* 02C5B1B4 */ _t8 = cpu->r[12] + 0x00000000u;
|
|
/* 02C5B1B4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C5B1B8 */ cpu->r[10] = 0x0C000000u;
|
|
/* 02C5B1BC */ cpu->r[6] = cpu->r[6] + 0xFFFFEF60u;
|
|
/* 02C5B1C0 */ cpu->r[9] = rbrew_rlwinm(cpu->r[9], 0x00000000u, 0x00000004u, 0x00000005u);
|
|
/* 02C5B1C4 */ _t9 = cpu->r[3] + 0x0000002Cu;
|
|
/* 02C5B1C4 */ cpu->r[30] = rbrew_read16(cpu->mem, _t9);
|
|
/* 02C5B1C8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[10]);
|
|
/* 02C5B1CC */ _t10 = cpu->r[3] + 0x00000010u;
|
|
/* 02C5B1CC */ cpu->r[11] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02C5B1D0 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C5B1D0 */ _t12 = _t11 & 0x00000001u;
|
|
/* 02C5B1D0 */ if (_t12) goto L_02C5B1D4; else goto L_02C5B230;
|
|
L_02C5B1D4: ; // 0x2c5b1d4
|
|
/* 02C5B1D4 */ cpu->r[9] = 0x00000000u;
|
|
/* 02C5B1D8 */ cpu->r[7] = 0x00000003u;
|
|
/* 02C5B1DC */ cpu->r[10] = cpu->r[11];
|
|
L_02C5B1E0: ; // 0x2c5b1e0
|
|
/* 02C5B1E0 */ cpu->r[5] = 0x00000004u;
|
|
/* 02C5B1E4 */ cpu->r[31] = cpu->r[4] + cpu->r[9];
|
|
/* 02C5B1E8 */ cpu->r[8] = 0x00000000u;
|
|
/* 02C5B1EC */ cpu->ctr = cpu->r[5];
|
|
/* 02C5B1F0 */ cpu->r[29] = cpu->r[10] + cpu->r[9];
|
|
L_02C5B1F4: ; // 0x2c5b1f4
|
|
/* 02C5B1F4 */ _t13 = cpu->r[31] + cpu->r[8];
|
|
/* 02C5B1F4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02C5B1F8 */ _t14 = cpu->r[29] + cpu->r[8];
|
|
/* 02C5B1F8 */ rbrew_write32(cpu->mem, _t14, cpu->r[0]);
|
|
/* 02C5B1FC */ cpu->r[8] = cpu->r[8] + 0x00000004u;
|
|
/* 02C5B200 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02C5B200 */ _t15 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02C5B200 */ _t16 = _t15 >> (0x00000002u & 31u);
|
|
/* 02C5B200 */ _t17 = _t16 & 0x00000001u;
|
|
/* 02C5B200 */ if (_t17) goto L_02C5B1F4; else goto L_02C5B204;
|
|
L_02C5B204: ; // 0x2c5b204
|
|
/* 02C5B204 */ cpu->r[7] = cpu->r[7] + 0xFFFFFFFFu;
|
|
/* 02C5B204 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 02C5B208 */ cpu->r[9] = cpu->r[9] + 0x00000010u;
|
|
/* 02C5B20C */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C5B20C */ _t19 = _t18 & 0x00000001u;
|
|
/* 02C5B20C */ if (_t19) goto L_02C5B210; else goto L_02C5B1E0;
|
|
L_02C5B210: ; // 0x2c5b210
|
|
/* 02C5B210 */ _t20 = cpu->r[12] + 0x00000000u;
|
|
/* 02C5B210 */ cpu->r[9] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02C5B214 */ cpu->r[10] = rbrew_rlwinm(cpu->r[9], 0x00000000u, 0x00000004u, 0x0000001Fu);
|
|
/* 02C5B218 */ cpu->r[4] = 0x00000001u;
|
|
/* 02C5B21C */ _t21 = rbrew_rlwinm(cpu->r[9], 0x00000004u, 0x00000002u, 0x00000003u);
|
|
/* 02C5B21C */ _t22 = cpu->r[10] & 0xCFFFFFFFu;
|
|
/* 02C5B21C */ cpu->r[10] = _t22 | _t21;
|
|
/* 02C5B220 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], cpu->r[30]);
|
|
/* 02C5B224 */ _t23 = cpu->r[12] + 0x00000000u;
|
|
/* 02C5B224 */ rbrew_write32(cpu->mem, _t23, cpu->r[10]);
|
|
/* 02C5B228 */ _t24 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C5B228 */ _t25 = _t24 & 0x00000001u;
|
|
/* 02C5B228 */ if (_t25) goto L_02C5B22C; else goto L_02C5B43C;
|
|
L_02C5B22C: ; // 0x2c5b22c
|
|
/* 02C5B22C */ goto L_02C5B2F0;
|
|
L_02C5B230: ; // 0x2c5b230
|
|
/* 02C5B230 */ /* nop */
|
|
/* 02C5B234 */ cpu->r[10] = cpu->r[12] + 0x00000010u;
|
|
/* 02C5B238 */ /* nop */
|
|
/* 02C5B23C */ /* nop */
|
|
/* 02C5B240 */ /* nop */
|
|
/* 02C5B244 */ /* nop */
|
|
/* 02C5B248 */ /* nop */
|
|
/* 02C5B24C */ /* nop */
|
|
/* 02C5B250 */ /* nop */
|
|
/* 02C5B254 */ /* nop */
|
|
/* 02C5B258 */ /* nop */
|
|
/* 02C5B25C */ /* nop */
|
|
/* 02C5B260 */ /* nop */
|
|
/* 02C5B264 */ /* nop */
|
|
/* 02C5B268 */ /* nop */
|
|
/* 02C5B26C */ /* nop */
|
|
/* 02C5B270 */ /* nop */
|
|
/* 02C5B274 */ /* nop */
|
|
/* 02C5B278 */ /* nop */
|
|
/* 02C5B27C */ /* nop */
|
|
/* 02C5B280 */ /* nop */
|
|
/* 02C5B284 */ /* nop */
|
|
/* 02C5B288 */ /* nop */
|
|
/* 02C5B28C */ /* nop */
|
|
/* 02C5B290 */ /* nop */
|
|
/* 02C5B294 */ /* nop */
|
|
/* 02C5B298 */ /* nop */
|
|
/* 02C5B29C */ /* nop */
|
|
/* 02C5B2A0 */ /* nop */
|
|
/* 02C5B2A4 */ /* nop */
|
|
/* 02C5B2A8 */ /* nop */
|
|
/* 02C5B2AC */ /* nop */
|
|
/* 02C5B2B0 */ /* nop */
|
|
/* 02C5B2B4 */ /* nop */
|
|
/* 02C5B2B8 */ /* nop */
|
|
/* 02C5B2BC */ /* nop */
|
|
/* 02C5B2C0 */ /* nop */
|
|
/* 02C5B2C4 */ /* nop */
|
|
/* 02C5B2C8 */ /* nop */
|
|
/* 02C5B2CC */ /* nop */
|
|
/* 02C5B2D0 */ /* nop */
|
|
/* 02C5B2D4 */ _t26 = cpu->r[12] + 0x00000000u;
|
|
/* 02C5B2D4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02C5B2D8 */ cpu->r[10] = rbrew_rlwinm(cpu->r[9], 0x00000000u, 0x00000004u, 0x0000001Fu);
|
|
/* 02C5B2DC */ cpu->r[4] = 0x00000001u;
|
|
/* 02C5B2E0 */ _t27 = rbrew_rlwinm(cpu->r[9], 0x00000004u, 0x00000002u, 0x00000003u);
|
|
/* 02C5B2E0 */ _t28 = cpu->r[10] & 0xCFFFFFFFu;
|
|
/* 02C5B2E0 */ cpu->r[10] = _t28 | _t27;
|
|
/* 02C5B2E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], cpu->r[30]);
|
|
/* 02C5B2E8 */ _t29 = cpu->r[12] + 0x00000000u;
|
|
/* 02C5B2E8 */ rbrew_write32(cpu->mem, _t29, cpu->r[10]);
|
|
/* 02C5B2EC */ _t30 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C5B2EC */ _t31 = _t30 & 0x00000001u;
|
|
/* 02C5B2EC */ if (_t31) goto L_02C5B2F0; else goto L_02C5B43C;
|
|
L_02C5B2F0: ; // 0x2c5b2f0
|
|
/* 02C5B2F0 */ _t32 = cpu->r[3] + 0x00000008u;
|
|
/* 02C5B2F0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t32);
|
|
/* 02C5B2F4 */ cpu->r[8] = rbrew_rlwinm(cpu->r[4], 0x00000006u, 0x00000000u, 0x00000019u);
|
|
/* 02C5B2F8 */ cpu->r[9] = cpu->r[10] + cpu->r[8];
|
|
/* 02C5B2FC */ _t33 = cpu->r[9] + 0x00000004u;
|
|
/* 02C5B2FC */ cpu->r[10] = rbrew_read16(cpu->mem, _t33);
|
|
/* 02C5B300 */ _t34 = cpu->r[9] + 0x00000006u;
|
|
/* 02C5B300 */ cpu->r[8] = rbrew_read16(cpu->mem, _t34);
|
|
/* 02C5B304 */ cpu->r[9] = rbrew_rlwinm(cpu->r[10], 0x00000006u, 0x00000000u, 0x00000019u);
|
|
/* 02C5B308 */ cpu->r[5] = (uint32_t)((int32_t)cpu->r[10] * (int32_t)0x00000030u);
|
|
/* 02C5B30C */ _t35 = cpu->r[9] + cpu->r[12];
|
|
/* 02C5B30C */ cpu->r[31] = rbrew_read32(cpu->mem, _t35);
|
|
/* 02C5B310 */ cpu->r[10] = rbrew_rlwinm(cpu->r[8], 0x00000006u, 0x00000000u, 0x00000019u);
|
|
/* 02C5B314 */ _t36 = cpu->r[10] + cpu->r[12];
|
|
/* 02C5B314 */ cpu->r[10] = rbrew_read32(cpu->mem, _t36);
|
|
/* 02C5B318 */ cpu->r[7] = rbrew_rlwinm(cpu->r[31], 0x00000004u, 0x00000000u, 0x0000001Bu);
|
|
/* 02C5B31C */ cpu->r[29] = (uint32_t)((int32_t)cpu->r[8] * (int32_t)0x00000030u);
|
|
/* 02C5B320 */ cpu->r[8] = cpu->r[10] & cpu->r[7];
|
|
/* 02C5B324 */ cpu->r[7] = cpu->r[11] + cpu->r[5];
|
|
/* 02C5B328 */ _t37 = rbrew_rlwinm(cpu->r[8], 0x00000000u, 0x00000000u, 0x00000003u);
|
|
/* 02C5B328 */ _t38 = cpu->r[31] & 0x0FFFFFFFu;
|
|
/* 02C5B328 */ cpu->r[31] = _t38 | _t37;
|
|
/* 02C5B32C */ cpu->r[10] = 0x0C000000u;
|
|
/* 02C5B330 */ cpu->r[5] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x00000004u, 0x00000005u);
|
|
/* 02C5B334 */ cpu->r[8] = cpu->r[11] + cpu->r[29];
|
|
/* 02C5B338 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], cpu->r[10]);
|
|
/* 02C5B33C */ _t39 = cpu->r[9] + cpu->r[12];
|
|
/* 02C5B33C */ rbrew_write32(cpu->mem, _t39, cpu->r[31]);
|
|
/* 02C5B33C */ cpu->r[9] = _t39;
|
|
/* 02C5B340 */ _t40 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C5B340 */ _t41 = _t40 & 0x00000001u;
|
|
/* 02C5B340 */ if (_t41) goto L_02C5B344; else goto L_02C5B38C;
|
|
L_02C5B344: ; // 0x2c5b344
|
|
/* 02C5B344 */ cpu->r[5] = 0x00000000u;
|
|
/* 02C5B348 */ cpu->r[29] = 0x00000003u;
|
|
L_02C5B34C: ; // 0x2c5b34c
|
|
/* 02C5B34C */ cpu->r[28] = 0x00000004u;
|
|
/* 02C5B350 */ cpu->r[10] = cpu->r[8] + cpu->r[5];
|
|
/* 02C5B354 */ cpu->r[31] = 0x00000000u;
|
|
/* 02C5B358 */ cpu->ctr = cpu->r[28];
|
|
/* 02C5B35C */ cpu->r[9] = cpu->r[7] + cpu->r[5];
|
|
L_02C5B360: ; // 0x2c5b360
|
|
/* 02C5B360 */ _t42 = cpu->r[10] + cpu->r[31];
|
|
/* 02C5B360 */ cpu->r[0] = rbrew_read32(cpu->mem, _t42);
|
|
/* 02C5B364 */ _t43 = cpu->r[9] + cpu->r[31];
|
|
/* 02C5B364 */ rbrew_write32(cpu->mem, _t43, cpu->r[0]);
|
|
/* 02C5B368 */ cpu->r[31] = cpu->r[31] + 0x00000004u;
|
|
/* 02C5B36C */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02C5B36C */ _t44 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02C5B36C */ _t45 = _t44 >> (0x00000002u & 31u);
|
|
/* 02C5B36C */ _t46 = _t45 & 0x00000001u;
|
|
/* 02C5B36C */ if (_t46) goto L_02C5B360; else goto L_02C5B370;
|
|
L_02C5B370: ; // 0x2c5b370
|
|
/* 02C5B370 */ cpu->r[29] = cpu->r[29] + 0xFFFFFFFFu;
|
|
/* 02C5B370 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 02C5B374 */ cpu->r[5] = cpu->r[5] + 0x00000010u;
|
|
/* 02C5B378 */ _t47 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C5B378 */ _t48 = _t47 & 0x00000001u;
|
|
/* 02C5B378 */ if (_t48) goto L_02C5B37C; else goto L_02C5B34C;
|
|
L_02C5B37C: ; // 0x2c5b37c
|
|
/* 02C5B37C */ cpu->r[4] = cpu->r[4] + 0x00000001u;
|
|
/* 02C5B380 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], cpu->r[30]);
|
|
/* 02C5B384 */ _t49 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C5B384 */ _t50 = _t49 & 0x00000001u;
|
|
/* 02C5B384 */ if (_t50) goto L_02C5B2F0; else goto L_02C5B388;
|
|
L_02C5B388: ; // 0x2c5b388
|
|
/* 02C5B388 */ goto L_02C5B43C;
|
|
L_02C5B38C: ; // 0x2c5b38c
|
|
/* 02C5B38C */ /* nop */
|
|
/* 02C5B390 */ cpu->r[10] = cpu->r[9] + 0x00000010u;
|
|
/* 02C5B394 */ /* nop */
|
|
/* 02C5B398 */ /* nop */
|
|
/* 02C5B39C */ /* nop */
|
|
/* 02C5B3A0 */ /* nop */
|
|
/* 02C5B3A4 */ /* nop */
|
|
/* 02C5B3A8 */ /* nop */
|
|
/* 02C5B3AC */ /* nop */
|
|
/* 02C5B3B0 */ /* nop */
|
|
/* 02C5B3B4 */ /* nop */
|
|
/* 02C5B3B8 */ /* nop */
|
|
/* 02C5B3BC */ /* nop */
|
|
/* 02C5B3C0 */ /* nop */
|
|
/* 02C5B3C4 */ /* nop */
|
|
/* 02C5B3C8 */ /* nop */
|
|
/* 02C5B3CC */ /* nop */
|
|
/* 02C5B3D0 */ /* nop */
|
|
/* 02C5B3D4 */ /* nop */
|
|
/* 02C5B3D8 */ /* nop */
|
|
/* 02C5B3DC */ /* nop */
|
|
/* 02C5B3E0 */ /* nop */
|
|
/* 02C5B3E4 */ /* nop */
|
|
/* 02C5B3E8 */ /* nop */
|
|
/* 02C5B3EC */ /* nop */
|
|
/* 02C5B3F0 */ /* nop */
|
|
/* 02C5B3F4 */ /* nop */
|
|
/* 02C5B3F8 */ /* nop */
|
|
/* 02C5B3FC */ /* nop */
|
|
/* 02C5B400 */ /* nop */
|
|
/* 02C5B404 */ /* nop */
|
|
/* 02C5B408 */ /* nop */
|
|
/* 02C5B40C */ /* nop */
|
|
/* 02C5B410 */ /* nop */
|
|
/* 02C5B414 */ /* nop */
|
|
/* 02C5B418 */ /* nop */
|
|
/* 02C5B41C */ /* nop */
|
|
/* 02C5B420 */ cpu->r[4] = cpu->r[4] + 0x00000001u;
|
|
/* 02C5B424 */ /* nop */
|
|
/* 02C5B428 */ /* nop */
|
|
/* 02C5B42C */ /* nop */
|
|
/* 02C5B430 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], cpu->r[30]);
|
|
/* 02C5B434 */ /* nop */
|
|
/* 02C5B438 */ _t51 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C5B438 */ _t52 = _t51 & 0x00000001u;
|
|
/* 02C5B438 */ if (_t52) goto L_02C5B2F0; else goto L_02C5B43C;
|
|
L_02C5B43C: ; // 0x2c5b43c
|
|
/* 02C5B43C */ _t53 = cpu->r[1] + 0x00000008u;
|
|
/* 02C5B43C */ cpu->r[28] = rbrew_read32(cpu->mem, _t53);
|
|
/* 02C5B440 */ _t54 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C5B440 */ cpu->r[29] = rbrew_read32(cpu->mem, _t54);
|
|
/* 02C5B444 */ _t55 = cpu->r[1] + 0x00000014u;
|
|
/* 02C5B444 */ cpu->r[31] = rbrew_read32(cpu->mem, _t55);
|
|
/* 02C5B448 */ _t56 = cpu->r[1] + 0x00000010u;
|
|
/* 02C5B448 */ cpu->r[30] = rbrew_read32(cpu->mem, _t56);
|
|
/* 02C5B44C */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C5B450 */ return;
|
|
}
|
|
|
|
// fn_02C5B454 @ 0x2c5b454
|
|
void Gambit_fn_02C5B454(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;
|
|
|
|
L_02C5B454: ; // 0x2c5b454
|
|
/* 02C5B454 */ _t0 = cpu->r[1] + 0xFFFFFFD0u;
|
|
/* 02C5B454 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C5B454 */ cpu->r[1] = _t0;
|
|
/* 02C5B458 */ /* nop */
|
|
/* 02C5B45C */ _t1 = cpu->r[1] + 0x00000020u;
|
|
/* 02C5B45C */ rbrew_write_f64(cpu->mem, _t1, cpu->f[31]);
|
|
/* 02C5B460 */ /* nop */
|
|
/* 02C5B464 */ _t2 = cpu->r[1] + 0x00000028u;
|
|
/* 02C5B464 */ rbrew_write_f32(cpu->mem, _t2, cpu->f[31]);
|
|
/* 02C5B468 */ _t3 = cpu->r[3] + 0x00000004u;
|
|
/* 02C5B468 */ cpu->r[12] = rbrew_read16(cpu->mem, _t3);
|
|
/* 02C5B46C */ _t4 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02C5B46C */ cpu->r[11] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02C5B470 */ cpu->r[12] = cpu->r[12] | 0x00000004u;
|
|
/* 02C5B474 */ _t5 = cpu->r[3] + 0x00000004u;
|
|
/* 02C5B474 */ rbrew_write16(cpu->mem, _t5, (uint16_t)cpu->r[12]);
|
|
/* 02C5B478 */ _t6 = cpu->r[11] + 0x00000000u;
|
|
/* 02C5B478 */ cpu->r[12] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02C5B47C */ cpu->r[7] = 0x101B0000u;
|
|
/* 02C5B480 */ cpu->r[8] = 0x0C000000u;
|
|
/* 02C5B484 */ _t7 = cpu->r[3] + 0x00000010u;
|
|
/* 02C5B484 */ cpu->r[10] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02C5B488 */ cpu->r[12] = rbrew_rlwinm(cpu->r[12], 0x00000000u, 0x00000004u, 0x00000005u);
|
|
/* 02C5B48C */ cpu->r[7] = cpu->r[7] + 0xFFFFEF60u;
|
|
/* 02C5B490 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[8]);
|
|
/* 02C5B494 */ _t8 = cpu->r[3] + 0x0000002Cu;
|
|
/* 02C5B494 */ cpu->r[12] = rbrew_read16(cpu->mem, _t8);
|
|
/* 02C5B498 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C5B498 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02C5B498 */ if (_t10) goto L_02C5B49C; else goto L_02C5B500;
|
|
L_02C5B49C: ; // 0x2c5b49c
|
|
/* 02C5B49C */ cpu->r[6] = 0x00000000u;
|
|
/* 02C5B4A0 */ cpu->r[31] = 0x00000003u;
|
|
/* 02C5B4A4 */ cpu->r[9] = cpu->r[10];
|
|
L_02C5B4A8: ; // 0x2c5b4a8
|
|
/* 02C5B4A8 */ cpu->r[30] = 0x00000004u;
|
|
/* 02C5B4AC */ cpu->r[29] = cpu->r[4] + cpu->r[6];
|
|
/* 02C5B4B0 */ cpu->r[5] = 0x00000000u;
|
|
/* 02C5B4B4 */ cpu->ctr = cpu->r[30];
|
|
/* 02C5B4B8 */ cpu->r[28] = cpu->r[9] + cpu->r[6];
|
|
L_02C5B4BC: ; // 0x2c5b4bc
|
|
/* 02C5B4BC */ _t11 = cpu->r[29] + cpu->r[5];
|
|
/* 02C5B4BC */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02C5B4C0 */ _t12 = cpu->r[28] + cpu->r[5];
|
|
/* 02C5B4C0 */ rbrew_write32(cpu->mem, _t12, cpu->r[0]);
|
|
/* 02C5B4C4 */ cpu->r[5] = cpu->r[5] + 0x00000004u;
|
|
/* 02C5B4C8 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02C5B4C8 */ _t13 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02C5B4C8 */ _t14 = _t13 >> (0x00000002u & 31u);
|
|
/* 02C5B4C8 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02C5B4C8 */ if (_t15) goto L_02C5B4BC; else goto L_02C5B4CC;
|
|
L_02C5B4CC: ; // 0x2c5b4cc
|
|
/* 02C5B4CC */ cpu->r[31] = cpu->r[31] + 0xFFFFFFFFu;
|
|
/* 02C5B4CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02C5B4D0 */ cpu->r[6] = cpu->r[6] + 0x00000010u;
|
|
/* 02C5B4D4 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C5B4D4 */ _t17 = _t16 & 0x00000001u;
|
|
/* 02C5B4D4 */ if (_t17) goto L_02C5B4D8; else goto L_02C5B4A8;
|
|
L_02C5B4D8: ; // 0x2c5b4d8
|
|
/* 02C5B4D8 */ _t18 = cpu->r[11] + 0x00000000u;
|
|
/* 02C5B4D8 */ cpu->r[6] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02C5B4DC */ cpu->r[9] = rbrew_rlwinm(cpu->r[6], 0x00000000u, 0x00000004u, 0x0000001Fu);
|
|
/* 02C5B4E0 */ _t19 = rbrew_rlwinm(cpu->r[6], 0x00000004u, 0x00000002u, 0x00000003u);
|
|
/* 02C5B4E0 */ _t20 = cpu->r[9] & 0xCFFFFFFFu;
|
|
/* 02C5B4E0 */ cpu->r[9] = _t20 | _t19;
|
|
/* 02C5B4E4 */ cpu->r[31] = 0x00000001u;
|
|
/* 02C5B4E8 */ _t21 = cpu->r[11] + 0x00000000u;
|
|
/* 02C5B4E8 */ rbrew_write32(cpu->mem, _t21, cpu->r[9]);
|
|
/* 02C5B4EC */ cpu->r[9] = 0x101B0000u;
|
|
/* 02C5B4F0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[12]);
|
|
/* 02C5B4F4 */ cpu->r[9] = cpu->r[9] + 0xFFFFEF68u;
|
|
/* 02C5B4F8 */ _t22 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C5B4F8 */ _t23 = _t22 & 0x00000001u;
|
|
/* 02C5B4F8 */ if (_t23) goto L_02C5B4FC; else goto L_02C5B868;
|
|
L_02C5B4FC: ; // 0x2c5b4fc
|
|
/* 02C5B4FC */ goto L_02C5B5C8;
|
|
L_02C5B500: ; // 0x2c5b500
|
|
/* 02C5B500 */ /* nop */
|
|
/* 02C5B504 */ cpu->r[9] = cpu->r[11] + 0x00000010u;
|
|
/* 02C5B508 */ /* nop */
|
|
/* 02C5B50C */ /* nop */
|
|
/* 02C5B510 */ /* nop */
|
|
/* 02C5B514 */ /* nop */
|
|
/* 02C5B518 */ /* nop */
|
|
/* 02C5B51C */ /* nop */
|
|
/* 02C5B520 */ /* nop */
|
|
/* 02C5B524 */ /* nop */
|
|
/* 02C5B528 */ /* nop */
|
|
/* 02C5B52C */ /* nop */
|
|
/* 02C5B530 */ /* nop */
|
|
/* 02C5B534 */ /* nop */
|
|
/* 02C5B538 */ /* nop */
|
|
/* 02C5B53C */ /* nop */
|
|
/* 02C5B540 */ /* nop */
|
|
/* 02C5B544 */ /* nop */
|
|
/* 02C5B548 */ /* nop */
|
|
/* 02C5B54C */ /* nop */
|
|
/* 02C5B550 */ /* nop */
|
|
/* 02C5B554 */ /* nop */
|
|
/* 02C5B558 */ /* nop */
|
|
/* 02C5B55C */ /* nop */
|
|
/* 02C5B560 */ /* nop */
|
|
/* 02C5B564 */ /* nop */
|
|
/* 02C5B568 */ /* nop */
|
|
/* 02C5B56C */ /* nop */
|
|
/* 02C5B570 */ /* nop */
|
|
/* 02C5B574 */ /* nop */
|
|
/* 02C5B578 */ /* nop */
|
|
/* 02C5B57C */ /* nop */
|
|
/* 02C5B580 */ /* nop */
|
|
/* 02C5B584 */ /* nop */
|
|
/* 02C5B588 */ /* nop */
|
|
/* 02C5B58C */ /* nop */
|
|
/* 02C5B590 */ /* nop */
|
|
/* 02C5B594 */ /* nop */
|
|
/* 02C5B598 */ /* nop */
|
|
/* 02C5B59C */ /* nop */
|
|
/* 02C5B5A0 */ /* nop */
|
|
/* 02C5B5A4 */ _t24 = cpu->r[11] + 0x00000000u;
|
|
/* 02C5B5A4 */ cpu->r[6] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02C5B5A8 */ cpu->r[9] = rbrew_rlwinm(cpu->r[6], 0x00000000u, 0x00000004u, 0x0000001Fu);
|
|
/* 02C5B5AC */ _t25 = rbrew_rlwinm(cpu->r[6], 0x00000004u, 0x00000002u, 0x00000003u);
|
|
/* 02C5B5AC */ _t26 = cpu->r[9] & 0xCFFFFFFFu;
|
|
/* 02C5B5AC */ cpu->r[9] = _t26 | _t25;
|
|
/* 02C5B5B0 */ cpu->r[31] = 0x00000001u;
|
|
/* 02C5B5B4 */ _t27 = cpu->r[11] + 0x00000000u;
|
|
/* 02C5B5B4 */ rbrew_write32(cpu->mem, _t27, cpu->r[9]);
|
|
/* 02C5B5B8 */ cpu->r[9] = 0x101B0000u;
|
|
/* 02C5B5BC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[12]);
|
|
/* 02C5B5C0 */ cpu->r[9] = cpu->r[9] + 0xFFFFEF68u;
|
|
/* 02C5B5C4 */ _t28 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C5B5C4 */ _t29 = _t28 & 0x00000001u;
|
|
/* 02C5B5C4 */ if (_t29) goto L_02C5B5C8; else goto L_02C5B868;
|
|
L_02C5B5C8: ; // 0x2c5b5c8
|
|
/* 02C5B5C8 */ _t30 = cpu->r[3] + 0x00000008u;
|
|
/* 02C5B5C8 */ cpu->r[6] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02C5B5CC */ cpu->r[5] = rbrew_rlwinm(cpu->r[31], 0x00000006u, 0x00000000u, 0x00000019u);
|
|
/* 02C5B5D0 */ cpu->r[6] = cpu->r[6] + cpu->r[5];
|
|
/* 02C5B5D4 */ _t31 = cpu->r[6] + 0x00000004u;
|
|
/* 02C5B5D4 */ cpu->r[29] = rbrew_read16(cpu->mem, _t31);
|
|
/* 02C5B5D8 */ _t32 = cpu->r[6] + 0x00000006u;
|
|
/* 02C5B5D8 */ cpu->r[30] = rbrew_read16(cpu->mem, _t32);
|
|
/* 02C5B5DC */ cpu->r[5] = rbrew_rlwinm(cpu->r[29], 0x00000006u, 0x00000000u, 0x00000019u);
|
|
/* 02C5B5E0 */ _t33 = cpu->r[11] + cpu->r[5];
|
|
/* 02C5B5E0 */ cpu->r[4] = rbrew_read32(cpu->mem, _t33);
|
|
/* 02C5B5E4 */ cpu->r[6] = rbrew_rlwinm(cpu->r[30], 0x00000006u, 0x00000000u, 0x00000019u);
|
|
/* 02C5B5E8 */ cpu->r[27] = cpu->r[11] + cpu->r[5];
|
|
/* 02C5B5EC */ cpu->r[28] = cpu->r[11] + cpu->r[6];
|
|
/* 02C5B5F0 */ cpu->r[5] = rbrew_rlwinm(cpu->r[4], 0x00000004u, 0x00000000u, 0x0000001Bu);
|
|
/* 02C5B5F4 */ _t34 = cpu->r[28] + 0x00000000u;
|
|
/* 02C5B5F4 */ cpu->r[6] = rbrew_read32(cpu->mem, _t34);
|
|
/* 02C5B5F8 */ cpu->r[29] = (uint32_t)((int32_t)cpu->r[29] * (int32_t)0x00000030u);
|
|
/* 02C5B5FC */ cpu->r[6] = cpu->r[6] & cpu->r[5];
|
|
/* 02C5B600 */ _t35 = rbrew_rlwinm(cpu->r[6], 0x00000000u, 0x00000000u, 0x00000003u);
|
|
/* 02C5B600 */ _t36 = cpu->r[4] & 0x0FFFFFFFu;
|
|
/* 02C5B600 */ cpu->r[4] = _t36 | _t35;
|
|
/* 02C5B604 */ cpu->r[6] = 0x03000000u;
|
|
/* 02C5B608 */ _t37 = cpu->r[27] + 0x00000000u;
|
|
/* 02C5B608 */ rbrew_write32(cpu->mem, _t37, cpu->r[4]);
|
|
/* 02C5B60C */ _t38 = cpu->r[28] + 0x00000000u;
|
|
/* 02C5B60C */ cpu->r[5] = rbrew_read32(cpu->mem, _t38);
|
|
/* 02C5B610 */ cpu->r[30] = (uint32_t)((int32_t)cpu->r[30] * (int32_t)0x00000030u);
|
|
/* 02C5B614 */ cpu->r[5] = rbrew_rlwinm(cpu->r[5], 0x00000000u, 0x00000006u, 0x00000007u);
|
|
/* 02C5B618 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], cpu->r[6]);
|
|
/* 02C5B61C */ cpu->r[29] = cpu->r[10] + cpu->r[29];
|
|
/* 02C5B620 */ cpu->r[5] = cpu->r[10] + cpu->r[30];
|
|
/* 02C5B624 */ _t39 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C5B624 */ _t40 = _t39 & 0x00000001u;
|
|
/* 02C5B624 */ if (_t40) goto L_02C5B628; else goto L_02C5B740;
|
|
L_02C5B628: ; // 0x2c5b628
|
|
/* 02C5B628 */ cpu->r[9] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x00000004u, 0x00000005u);
|
|
/* 02C5B62C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[8]);
|
|
/* 02C5B630 */ _t41 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C5B630 */ _t42 = _t41 & 0x00000001u;
|
|
/* 02C5B630 */ if (_t42) goto L_02C5B634; else goto L_02C5B684;
|
|
L_02C5B634: ; // 0x2c5b634
|
|
/* 02C5B634 */ cpu->r[4] = 0x00000000u;
|
|
/* 02C5B638 */ cpu->r[28] = 0x00000003u;
|
|
L_02C5B63C: ; // 0x2c5b63c
|
|
/* 02C5B63C */ cpu->r[27] = 0x00000004u;
|
|
/* 02C5B640 */ cpu->r[9] = cpu->r[5] + cpu->r[4];
|
|
/* 02C5B644 */ cpu->r[30] = 0x00000000u;
|
|
/* 02C5B648 */ cpu->ctr = cpu->r[27];
|
|
/* 02C5B64C */ cpu->r[6] = cpu->r[29] + cpu->r[4];
|
|
L_02C5B650: ; // 0x2c5b650
|
|
/* 02C5B650 */ _t43 = cpu->r[9] + cpu->r[30];
|
|
/* 02C5B650 */ cpu->r[0] = rbrew_read32(cpu->mem, _t43);
|
|
/* 02C5B654 */ _t44 = cpu->r[6] + cpu->r[30];
|
|
/* 02C5B654 */ rbrew_write32(cpu->mem, _t44, cpu->r[0]);
|
|
/* 02C5B658 */ cpu->r[30] = cpu->r[30] + 0x00000004u;
|
|
/* 02C5B65C */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02C5B65C */ _t45 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02C5B65C */ _t46 = _t45 >> (0x00000002u & 31u);
|
|
/* 02C5B65C */ _t47 = _t46 & 0x00000001u;
|
|
/* 02C5B65C */ if (_t47) goto L_02C5B650; else goto L_02C5B660;
|
|
L_02C5B660: ; // 0x2c5b660
|
|
/* 02C5B660 */ cpu->r[28] = cpu->r[28] + 0xFFFFFFFFu;
|
|
/* 02C5B660 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 02C5B664 */ cpu->r[4] = cpu->r[4] + 0x00000010u;
|
|
/* 02C5B668 */ _t48 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C5B668 */ _t49 = _t48 & 0x00000001u;
|
|
/* 02C5B668 */ if (_t49) goto L_02C5B66C; else goto L_02C5B63C;
|
|
L_02C5B66C: ; // 0x2c5b66c
|
|
/* 02C5B66C */ cpu->r[31] = cpu->r[31] + 0x00000001u;
|
|
/* 02C5B670 */ cpu->r[9] = 0x101B0000u;
|
|
/* 02C5B674 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[12]);
|
|
/* 02C5B678 */ cpu->r[9] = cpu->r[9] + 0xFFFFEF68u;
|
|
/* 02C5B67C */ _t50 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C5B67C */ _t51 = _t50 & 0x00000001u;
|
|
/* 02C5B67C */ if (_t51) goto L_02C5B5C8; else goto L_02C5B680;
|
|
L_02C5B680: ; // 0x2c5b680
|
|
/* 02C5B680 */ goto L_02C5B868;
|
|
L_02C5B684: ; // 0x2c5b684
|
|
/* 02C5B684 */ /* nop */
|
|
/* 02C5B688 */ cpu->r[9] = cpu->r[27] + 0x00000010u;
|
|
/* 02C5B68C */ /* nop */
|
|
/* 02C5B690 */ /* nop */
|
|
/* 02C5B694 */ /* nop */
|
|
/* 02C5B698 */ /* nop */
|
|
/* 02C5B69C */ /* nop */
|
|
/* 02C5B6A0 */ /* nop */
|
|
/* 02C5B6A4 */ /* nop */
|
|
/* 02C5B6A8 */ /* nop */
|
|
/* 02C5B6AC */ /* nop */
|
|
/* 02C5B6B0 */ /* nop */
|
|
/* 02C5B6B4 */ /* nop */
|
|
/* 02C5B6B8 */ /* nop */
|
|
/* 02C5B6BC */ /* nop */
|
|
/* 02C5B6C0 */ /* nop */
|
|
/* 02C5B6C4 */ /* nop */
|
|
/* 02C5B6C8 */ /* nop */
|
|
/* 02C5B6CC */ /* nop */
|
|
/* 02C5B6D0 */ /* nop */
|
|
/* 02C5B6D4 */ /* nop */
|
|
/* 02C5B6D8 */ /* nop */
|
|
/* 02C5B6DC */ /* nop */
|
|
/* 02C5B6E0 */ /* nop */
|
|
/* 02C5B6E4 */ /* nop */
|
|
/* 02C5B6E8 */ /* nop */
|
|
/* 02C5B6EC */ /* nop */
|
|
/* 02C5B6F0 */ /* nop */
|
|
/* 02C5B6F4 */ /* nop */
|
|
/* 02C5B6F8 */ /* nop */
|
|
/* 02C5B6FC */ /* nop */
|
|
/* 02C5B700 */ /* nop */
|
|
/* 02C5B704 */ /* nop */
|
|
/* 02C5B708 */ /* nop */
|
|
/* 02C5B70C */ /* nop */
|
|
/* 02C5B710 */ /* nop */
|
|
/* 02C5B714 */ /* nop */
|
|
/* 02C5B718 */ cpu->r[31] = cpu->r[31] + 0x00000001u;
|
|
/* 02C5B71C */ /* nop */
|
|
/* 02C5B720 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[12]);
|
|
/* 02C5B724 */ cpu->r[9] = 0x101B0000u;
|
|
/* 02C5B728 */ /* nop */
|
|
/* 02C5B72C */ /* nop */
|
|
/* 02C5B730 */ cpu->r[9] = cpu->r[9] + 0xFFFFEF68u;
|
|
/* 02C5B734 */ /* nop */
|
|
/* 02C5B738 */ _t52 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C5B738 */ _t53 = _t52 & 0x00000001u;
|
|
/* 02C5B738 */ if (_t53) goto L_02C5B5C8; else goto L_02C5B73C;
|
|
L_02C5B73C: ; // 0x2c5b73c
|
|
/* 02C5B73C */ goto L_02C5B868;
|
|
L_02C5B740: ; // 0x2c5b740
|
|
/* 02C5B740 */ /* nop */
|
|
/* 02C5B744 */ /* nop */
|
|
/* 02C5B748 */ /* nop */
|
|
/* 02C5B74C */ /* nop */
|
|
/* 02C5B750 */ _t54 = cpu->r[28] + 0x0000000Cu;
|
|
/* 02C5B750 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t54);
|
|
/* 02C5B754 */ /* nop */
|
|
/* 02C5B758 */ /* nop */
|
|
/* 02C5B75C */ /* nop */
|
|
/* 02C5B760 */ /* nop */
|
|
/* 02C5B764 */ /* nop */
|
|
/* 02C5B768 */ /* nop */
|
|
/* 02C5B76C */ /* nop */
|
|
/* 02C5B770 */ /* nop */
|
|
/* 02C5B774 */ /* nop */
|
|
/* 02C5B778 */ /* nop */
|
|
/* 02C5B77C */ /* nop */
|
|
/* 02C5B780 */ /* nop */
|
|
/* 02C5B784 */ /* nop */
|
|
/* 02C5B788 */ /* nop */
|
|
/* 02C5B78C */ /* nop */
|
|
/* 02C5B790 */ /* nop */
|
|
/* 02C5B794 */ /* nop */
|
|
/* 02C5B798 */ /* nop */
|
|
/* 02C5B79C */ /* nop */
|
|
/* 02C5B7A0 */ _t55 = cpu->r[27] + 0x00000000u;
|
|
/* 02C5B7A0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t55);
|
|
/* 02C5B7A4 */ cpu->r[6] = rbrew_rlwinm(cpu->r[9], 0x00000000u, 0x00000004u, 0x00000005u);
|
|
/* 02C5B7A8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[8]);
|
|
/* 02C5B7AC */ _t56 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C5B7AC */ _t57 = _t56 & 0x00000001u;
|
|
/* 02C5B7AC */ if (_t57) goto L_02C5B854; else goto L_02C5B7B0;
|
|
L_02C5B7B0: ; // 0x2c5b7b0
|
|
/* 02C5B7B0 */ /* nop */
|
|
/* 02C5B7B4 */ cpu->r[9] = cpu->r[27] + 0x00000010u;
|
|
/* 02C5B7B8 */ /* nop */
|
|
/* 02C5B7BC */ /* nop */
|
|
/* 02C5B7C0 */ /* nop */
|
|
/* 02C5B7C4 */ /* nop */
|
|
/* 02C5B7C8 */ /* nop */
|
|
/* 02C5B7CC */ /* nop */
|
|
/* 02C5B7D0 */ /* nop */
|
|
/* 02C5B7D4 */ /* nop */
|
|
/* 02C5B7D8 */ /* nop */
|
|
/* 02C5B7DC */ /* nop */
|
|
/* 02C5B7E0 */ /* nop */
|
|
/* 02C5B7E4 */ /* nop */
|
|
/* 02C5B7E8 */ /* nop */
|
|
/* 02C5B7EC */ /* nop */
|
|
/* 02C5B7F0 */ /* nop */
|
|
/* 02C5B7F4 */ /* nop */
|
|
/* 02C5B7F8 */ /* nop */
|
|
/* 02C5B7FC */ /* nop */
|
|
/* 02C5B800 */ /* nop */
|
|
/* 02C5B804 */ /* nop */
|
|
/* 02C5B808 */ /* nop */
|
|
/* 02C5B80C */ /* nop */
|
|
/* 02C5B810 */ /* nop */
|
|
/* 02C5B814 */ /* nop */
|
|
/* 02C5B818 */ /* nop */
|
|
/* 02C5B81C */ /* nop */
|
|
/* 02C5B820 */ /* nop */
|
|
/* 02C5B824 */ /* nop */
|
|
/* 02C5B828 */ /* nop */
|
|
/* 02C5B82C */ /* nop */
|
|
/* 02C5B830 */ /* nop */
|
|
/* 02C5B834 */ /* nop */
|
|
/* 02C5B838 */ /* nop */
|
|
/* 02C5B83C */ /* nop */
|
|
/* 02C5B840 */ /* nop */
|
|
/* 02C5B844 */ /* nop */
|
|
/* 02C5B848 */ /* nop */
|
|
/* 02C5B84C */ /* nop */
|
|
/* 02C5B850 */ /* nop */
|
|
L_02C5B854: ; // 0x2c5b854
|
|
/* 02C5B854 */ cpu->r[31] = cpu->r[31] + 0x00000001u;
|
|
/* 02C5B858 */ cpu->r[9] = 0x101B0000u;
|
|
/* 02C5B85C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[12]);
|
|
/* 02C5B860 */ cpu->r[9] = cpu->r[9] + 0xFFFFEF68u;
|
|
/* 02C5B864 */ _t58 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C5B864 */ _t59 = _t58 & 0x00000001u;
|
|
/* 02C5B864 */ if (_t59) goto L_02C5B5C8; else goto L_02C5B868;
|
|
L_02C5B868: ; // 0x2c5b868
|
|
/* 02C5B868 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02C5B86C */ _t60 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C5B86C */ _t61 = _t60 & 0x00000001u;
|
|
/* 02C5B86C */ if (_t61) goto L_02C5B870; else goto L_02C5B904;
|
|
L_02C5B870: ; // 0x2c5b870
|
|
/* 02C5B870 */ cpu->r[7] = 0x00000000u;
|
|
/* 02C5B874 */ cpu->ctr = cpu->r[12];
|
|
/* 02C5B878 */ cpu->r[12] = cpu->r[7];
|
|
/* 02C5B87C */ cpu->r[8] = 0x03000000u;
|
|
L_02C5B880: ; // 0x2c5b880
|
|
/* 02C5B880 */ _t62 = cpu->r[11] + cpu->r[12];
|
|
/* 02C5B880 */ cpu->r[6] = rbrew_read32(cpu->mem, _t62);
|
|
/* 02C5B884 */ cpu->r[4] = rbrew_rlwinm(cpu->r[6], 0x00000000u, 0x00000006u, 0x00000007u);
|
|
/* 02C5B888 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[8]);
|
|
/* 02C5B88C */ cpu->r[5] = cpu->r[11] + cpu->r[12];
|
|
/* 02C5B890 */ _t63 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C5B890 */ _t64 = _t63 & 0x00000001u;
|
|
/* 02C5B890 */ if (_t64) goto L_02C5B8F8; else goto L_02C5B894;
|
|
L_02C5B894: ; // 0x2c5b894
|
|
/* 02C5B894 */ _t65 = cpu->r[5] + 0x0000000Cu;
|
|
/* 02C5B894 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t65);
|
|
/* 02C5B898 */ cpu->r[6] = cpu->r[10] + cpu->r[7];
|
|
/* 02C5B89C */ /* nop */
|
|
/* 02C5B8A0 */ /* nop */
|
|
/* 02C5B8A4 */ /* nop */
|
|
/* 02C5B8A8 */ /* nop */
|
|
/* 02C5B8AC */ /* nop */
|
|
/* 02C5B8B0 */ /* nop */
|
|
/* 02C5B8B4 */ /* nop */
|
|
/* 02C5B8B8 */ /* nop */
|
|
/* 02C5B8BC */ /* nop */
|
|
/* 02C5B8C0 */ /* nop */
|
|
/* 02C5B8C4 */ /* nop */
|
|
/* 02C5B8C8 */ /* nop */
|
|
/* 02C5B8CC */ /* nop */
|
|
/* 02C5B8D0 */ /* nop */
|
|
/* 02C5B8D4 */ /* nop */
|
|
/* 02C5B8D8 */ /* nop */
|
|
/* 02C5B8DC */ /* nop */
|
|
/* 02C5B8E0 */ /* nop */
|
|
/* 02C5B8E4 */ /* nop */
|
|
/* 02C5B8E8 */ /* nop */
|
|
/* 02C5B8EC */ /* nop */
|
|
/* 02C5B8F0 */ /* nop */
|
|
/* 02C5B8F4 */ /* nop */
|
|
L_02C5B8F8: ; // 0x2c5b8f8
|
|
/* 02C5B8F8 */ cpu->r[7] = cpu->r[7] + 0x00000030u;
|
|
/* 02C5B8FC */ cpu->r[12] = cpu->r[12] + 0x00000040u;
|
|
/* 02C5B900 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02C5B900 */ _t66 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02C5B900 */ _t67 = _t66 >> (0x00000002u & 31u);
|
|
/* 02C5B900 */ _t68 = _t67 & 0x00000001u;
|
|
/* 02C5B900 */ if (_t68) goto L_02C5B880; else goto L_02C5B904;
|
|
L_02C5B904: ; // 0x2c5b904
|
|
/* 02C5B904 */ /* nop */
|
|
/* 02C5B908 */ _t69 = cpu->r[1] + 0x00000028u;
|
|
/* 02C5B908 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t69);
|
|
/* 02C5B90C */ _t70 = cpu->r[1] + 0x00000020u;
|
|
/* 02C5B90C */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t70);
|
|
/* 02C5B910 */ _t71 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C5B910 */ _t72 = _t71 & 0x00000001u;
|
|
/* 02C5B910 */ if (_t72) goto L_02C5B914; // else: addr-0 trap, fall-through
|
|
L_02C5B914: ; // 0x2c5b914
|
|
/* 02C5B914 */ cpu->r[1] = cpu->r[1] + 0x00000030u;
|
|
/* 02C5B918 */ return;
|
|
}
|
|
|
|
// fn_02C5B91C @ 0x2c5b91c
|
|
void Gambit_fn_02C5B91C(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;
|
|
|
|
L_02C5B91C: ; // 0x2c5b91c
|
|
/* 02C5B91C */ _t0 = cpu->r[1] + 0xFFFFFFB0u;
|
|
/* 02C5B91C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C5B91C */ cpu->r[1] = _t0;
|
|
/* 02C5B920 */ /* nop */
|
|
/* 02C5B924 */ _t1 = cpu->r[1] + 0x00000030u;
|
|
/* 02C5B924 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[30]);
|
|
/* 02C5B928 */ /* nop */
|
|
/* 02C5B92C */ _t2 = cpu->r[1] + 0x00000040u;
|
|
/* 02C5B92C */ rbrew_write_f64(cpu->mem, _t2, cpu->f[31]);
|
|
/* 02C5B930 */ /* nop */
|
|
/* 02C5B934 */ _t3 = cpu->r[1] + 0x00000048u;
|
|
/* 02C5B934 */ rbrew_write_f32(cpu->mem, _t3, cpu->f[31]);
|
|
/* 02C5B938 */ _t4 = cpu->r[1] + 0x00000020u;
|
|
/* 02C5B938 */ rbrew_write_f64(cpu->mem, _t4, cpu->f[29]);
|
|
/* 02C5B93C */ _t5 = cpu->r[1] + 0x00000038u;
|
|
/* 02C5B93C */ rbrew_write_f32(cpu->mem, _t5, cpu->f[30]);
|
|
/* 02C5B940 */ /* nop */
|
|
/* 02C5B944 */ _t6 = cpu->r[1] + 0x00000028u;
|
|
/* 02C5B944 */ rbrew_write_f32(cpu->mem, _t6, cpu->f[29]);
|
|
/* 02C5B948 */ _t7 = cpu->r[3] + 0x00000004u;
|
|
/* 02C5B948 */ cpu->r[11] = rbrew_read16(cpu->mem, _t7);
|
|
/* 02C5B94C */ _t8 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02C5B94C */ cpu->r[12] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C5B950 */ cpu->r[11] = cpu->r[11] | 0x00000004u;
|
|
/* 02C5B954 */ _t9 = cpu->r[3] + 0x00000004u;
|
|
/* 02C5B954 */ rbrew_write16(cpu->mem, _t9, (uint16_t)cpu->r[11]);
|
|
/* 02C5B958 */ _t10 = cpu->r[12] + 0x00000000u;
|
|
/* 02C5B958 */ cpu->r[10] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02C5B95C */ cpu->r[11] = 0x0C000000u;
|
|
/* 02C5B960 */ cpu->r[31] = 0x101B0000u;
|
|
/* 02C5B964 */ _t11 = cpu->r[3] + 0x00000010u;
|
|
/* 02C5B964 */ cpu->r[9] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02C5B968 */ cpu->r[10] = rbrew_rlwinm(cpu->r[10], 0x00000000u, 0x00000004u, 0x00000005u);
|
|
/* 02C5B96C */ cpu->r[31] = cpu->r[31] + 0xFFFFEF60u;
|
|
/* 02C5B970 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[11]);
|
|
/* 02C5B974 */ _t12 = cpu->r[3] + 0x0000002Cu;
|
|
/* 02C5B974 */ cpu->r[11] = rbrew_read16(cpu->mem, _t12);
|
|
/* 02C5B978 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C5B978 */ _t14 = _t13 & 0x00000001u;
|
|
/* 02C5B978 */ if (_t14) goto L_02C5B97C; else goto L_02C5B9E0;
|
|
L_02C5B97C: ; // 0x2c5b97c
|
|
/* 02C5B97C */ cpu->r[30] = 0x00000000u;
|
|
/* 02C5B980 */ cpu->r[8] = 0x00000003u;
|
|
/* 02C5B984 */ cpu->r[10] = cpu->r[9];
|
|
L_02C5B988: ; // 0x2c5b988
|
|
/* 02C5B988 */ cpu->r[7] = 0x00000004u;
|
|
/* 02C5B98C */ cpu->r[6] = cpu->r[4] + cpu->r[30];
|
|
/* 02C5B990 */ cpu->r[29] = 0x00000000u;
|
|
/* 02C5B994 */ cpu->ctr = cpu->r[7];
|
|
/* 02C5B998 */ cpu->r[5] = cpu->r[10] + cpu->r[30];
|
|
L_02C5B99C: ; // 0x2c5b99c
|
|
/* 02C5B99C */ _t15 = cpu->r[6] + cpu->r[29];
|
|
/* 02C5B99C */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02C5B9A0 */ _t16 = cpu->r[5] + cpu->r[29];
|
|
/* 02C5B9A0 */ rbrew_write32(cpu->mem, _t16, cpu->r[0]);
|
|
/* 02C5B9A4 */ cpu->r[29] = cpu->r[29] + 0x00000004u;
|
|
/* 02C5B9A8 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02C5B9A8 */ _t17 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02C5B9A8 */ _t18 = _t17 >> (0x00000002u & 31u);
|
|
/* 02C5B9A8 */ _t19 = _t18 & 0x00000001u;
|
|
/* 02C5B9A8 */ if (_t19) goto L_02C5B99C; else goto L_02C5B9AC;
|
|
L_02C5B9AC: ; // 0x2c5b9ac
|
|
/* 02C5B9AC */ cpu->r[8] = cpu->r[8] + 0xFFFFFFFFu;
|
|
/* 02C5B9AC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 02C5B9B0 */ cpu->r[30] = cpu->r[30] + 0x00000010u;
|
|
/* 02C5B9B4 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C5B9B4 */ _t21 = _t20 & 0x00000001u;
|
|
/* 02C5B9B4 */ if (_t21) goto L_02C5B9B8; else goto L_02C5B988;
|
|
L_02C5B9B8: ; // 0x2c5b9b8
|
|
/* 02C5B9B8 */ _t22 = cpu->r[12] + 0x00000000u;
|
|
/* 02C5B9B8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02C5B9BC */ cpu->r[8] = rbrew_rlwinm(cpu->r[10], 0x00000000u, 0x00000004u, 0x0000001Fu);
|
|
/* 02C5B9C0 */ _t23 = rbrew_rlwinm(cpu->r[10], 0x00000004u, 0x00000002u, 0x00000003u);
|
|
/* 02C5B9C0 */ _t24 = cpu->r[8] & 0xCFFFFFFFu;
|
|
/* 02C5B9C0 */ cpu->r[8] = _t24 | _t23;
|
|
/* 02C5B9C4 */ _t25 = cpu->r[12] + 0x00000000u;
|
|
/* 02C5B9C4 */ rbrew_write32(cpu->mem, _t25, cpu->r[8]);
|
|
/* 02C5B9C8 */ cpu->r[29] = 0x00000001u;
|
|
/* 02C5B9CC */ cpu->r[30] = 0x101B0000u;
|
|
/* 02C5B9D0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[11]);
|
|
/* 02C5B9D4 */ cpu->r[30] = cpu->r[30] + 0xFFFFEF68u;
|
|
/* 02C5B9D8 */ _t26 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C5B9D8 */ _t27 = _t26 & 0x00000001u;
|
|
/* 02C5B9D8 */ if (_t27) goto L_02C5B9DC; else goto L_02C5BEF4;
|
|
L_02C5B9DC: ; // 0x2c5b9dc
|
|
/* 02C5B9DC */ goto L_02C5BAA8;
|
|
L_02C5B9E0: ; // 0x2c5b9e0
|
|
/* 02C5B9E0 */ /* nop */
|
|
/* 02C5B9E4 */ cpu->r[10] = cpu->r[12] + 0x00000010u;
|
|
/* 02C5B9E8 */ /* nop */
|
|
/* 02C5B9EC */ /* nop */
|
|
/* 02C5B9F0 */ /* nop */
|
|
/* 02C5B9F4 */ /* nop */
|
|
/* 02C5B9F8 */ /* nop */
|
|
/* 02C5B9FC */ /* nop */
|
|
/* 02C5BA00 */ /* nop */
|
|
/* 02C5BA04 */ /* nop */
|
|
/* 02C5BA08 */ /* nop */
|
|
/* 02C5BA0C */ /* nop */
|
|
/* 02C5BA10 */ /* nop */
|
|
/* 02C5BA14 */ /* nop */
|
|
/* 02C5BA18 */ /* nop */
|
|
/* 02C5BA1C */ /* nop */
|
|
/* 02C5BA20 */ /* nop */
|
|
/* 02C5BA24 */ /* nop */
|
|
/* 02C5BA28 */ /* nop */
|
|
/* 02C5BA2C */ /* nop */
|
|
/* 02C5BA30 */ /* nop */
|
|
/* 02C5BA34 */ /* nop */
|
|
/* 02C5BA38 */ /* nop */
|
|
/* 02C5BA3C */ /* nop */
|
|
/* 02C5BA40 */ /* nop */
|
|
/* 02C5BA44 */ /* nop */
|
|
/* 02C5BA48 */ /* nop */
|
|
/* 02C5BA4C */ /* nop */
|
|
/* 02C5BA50 */ /* nop */
|
|
/* 02C5BA54 */ /* nop */
|
|
/* 02C5BA58 */ /* nop */
|
|
/* 02C5BA5C */ /* nop */
|
|
/* 02C5BA60 */ /* nop */
|
|
/* 02C5BA64 */ /* nop */
|
|
/* 02C5BA68 */ /* nop */
|
|
/* 02C5BA6C */ /* nop */
|
|
/* 02C5BA70 */ /* nop */
|
|
/* 02C5BA74 */ /* nop */
|
|
/* 02C5BA78 */ /* nop */
|
|
/* 02C5BA7C */ /* nop */
|
|
/* 02C5BA80 */ /* nop */
|
|
/* 02C5BA84 */ _t28 = cpu->r[12] + 0x00000000u;
|
|
/* 02C5BA84 */ cpu->r[10] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02C5BA88 */ cpu->r[8] = rbrew_rlwinm(cpu->r[10], 0x00000000u, 0x00000004u, 0x0000001Fu);
|
|
/* 02C5BA8C */ _t29 = rbrew_rlwinm(cpu->r[10], 0x00000004u, 0x00000002u, 0x00000003u);
|
|
/* 02C5BA8C */ _t30 = cpu->r[8] & 0xCFFFFFFFu;
|
|
/* 02C5BA8C */ cpu->r[8] = _t30 | _t29;
|
|
/* 02C5BA90 */ _t31 = cpu->r[12] + 0x00000000u;
|
|
/* 02C5BA90 */ rbrew_write32(cpu->mem, _t31, cpu->r[8]);
|
|
/* 02C5BA94 */ cpu->r[29] = 0x00000001u;
|
|
/* 02C5BA98 */ cpu->r[30] = 0x101B0000u;
|
|
/* 02C5BA9C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[11]);
|
|
/* 02C5BAA0 */ cpu->r[30] = cpu->r[30] + 0xFFFFEF68u;
|
|
/* 02C5BAA4 */ _t32 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C5BAA4 */ _t33 = _t32 & 0x00000001u;
|
|
/* 02C5BAA4 */ if (_t33) goto L_02C5BAA8; else goto L_02C5BEF4;
|
|
L_02C5BAA8: ; // 0x2c5baa8
|
|
/* 02C5BAA8 */ _t34 = cpu->r[3] + 0x00000008u;
|
|
/* 02C5BAA8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t34);
|
|
/* 02C5BAAC */ cpu->r[8] = rbrew_rlwinm(cpu->r[29], 0x00000006u, 0x00000000u, 0x00000019u);
|
|
/* 02C5BAB0 */ cpu->r[8] = cpu->r[10] + cpu->r[8];
|
|
/* 02C5BAB4 */ _t35 = cpu->r[8] + 0x00000004u;
|
|
/* 02C5BAB4 */ cpu->r[10] = rbrew_read16(cpu->mem, _t35);
|
|
/* 02C5BAB8 */ _t36 = cpu->r[8] + 0x00000006u;
|
|
/* 02C5BAB8 */ cpu->r[8] = rbrew_read16(cpu->mem, _t36);
|
|
/* 02C5BABC */ cpu->r[6] = rbrew_rlwinm(cpu->r[10], 0x00000006u, 0x00000000u, 0x00000019u);
|
|
/* 02C5BAC0 */ cpu->r[4] = (uint32_t)((int32_t)cpu->r[10] * (int32_t)0x00000030u);
|
|
/* 02C5BAC4 */ cpu->r[7] = rbrew_rlwinm(cpu->r[8], 0x00000006u, 0x00000000u, 0x00000019u);
|
|
/* 02C5BAC8 */ cpu->r[10] = cpu->r[12] + cpu->r[6];
|
|
/* 02C5BACC */ cpu->r[6] = cpu->r[12] + cpu->r[7];
|
|
/* 02C5BAD0 */ _t37 = cpu->r[10] + 0x00000000u;
|
|
/* 02C5BAD0 */ cpu->r[27] = rbrew_read32(cpu->mem, _t37);
|
|
/* 02C5BAD4 */ _t38 = cpu->r[6] + 0x00000000u;
|
|
/* 02C5BAD4 */ cpu->r[7] = rbrew_read32(cpu->mem, _t38);
|
|
/* 02C5BAD8 */ cpu->r[5] = rbrew_rlwinm(cpu->r[27], 0x00000004u, 0x00000000u, 0x0000001Bu);
|
|
/* 02C5BADC */ cpu->r[28] = (uint32_t)((int32_t)cpu->r[8] * (int32_t)0x00000030u);
|
|
/* 02C5BAE0 */ cpu->r[7] = cpu->r[7] & cpu->r[5];
|
|
/* 02C5BAE4 */ cpu->r[8] = 0x0C000000u;
|
|
/* 02C5BAE8 */ _t39 = rbrew_rlwinm(cpu->r[7], 0x00000000u, 0x00000000u, 0x00000003u);
|
|
/* 02C5BAE8 */ _t40 = cpu->r[27] & 0x0FFFFFFFu;
|
|
/* 02C5BAE8 */ cpu->r[27] = _t40 | _t39;
|
|
/* 02C5BAEC */ cpu->r[4] = cpu->r[9] + cpu->r[4];
|
|
/* 02C5BAF0 */ cpu->r[7] = rbrew_rlwinm(cpu->r[27], 0x00000000u, 0x00000004u, 0x00000005u);
|
|
/* 02C5BAF4 */ cpu->r[5] = cpu->r[9] + cpu->r[28];
|
|
/* 02C5BAF8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[8]);
|
|
/* 02C5BAFC */ _t41 = cpu->r[10] + 0x00000000u;
|
|
/* 02C5BAFC */ rbrew_write32(cpu->mem, _t41, cpu->r[27]);
|
|
/* 02C5BB00 */ _t42 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C5BB00 */ _t43 = _t42 & 0x00000001u;
|
|
/* 02C5BB00 */ if (_t43) goto L_02C5BB04; else goto L_02C5BBE8;
|
|
L_02C5BB04: ; // 0x2c5bb04
|
|
/* 02C5BB04 */ cpu->r[10] = rbrew_rlwinm(cpu->r[27], 0x00000000u, 0x00000008u, 0x00000008u);
|
|
/* 02C5BB04 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02C5BB08 */ _t44 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C5BB08 */ _t45 = _t44 & 0x00000001u;
|
|
/* 02C5BB08 */ if (_t45) goto L_02C5BB0C; else goto L_02C5BB20;
|
|
L_02C5BB0C: ; // 0x2c5bb0c
|
|
/* 02C5BB0C */ _t46 = cpu->r[6] + 0x00000000u;
|
|
/* 02C5BB0C */ cpu->r[8] = rbrew_read32(cpu->mem, _t46);
|
|
/* 02C5BB10 */ cpu->r[10] = 0x03000000u;
|
|
/* 02C5BB14 */ cpu->r[8] = rbrew_rlwinm(cpu->r[8], 0x00000000u, 0x00000006u, 0x00000007u);
|
|
/* 02C5BB18 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[10]);
|
|
/* 02C5BB1C */ _t47 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C5BB1C */ _t48 = _t47 & 0x00000001u;
|
|
/* 02C5BB1C */ if (_t48) goto L_02C5BB20; else goto L_02C5BB70;
|
|
L_02C5BB20: ; // 0x2c5bb20
|
|
/* 02C5BB20 */ cpu->r[30] = 0x00000000u;
|
|
/* 02C5BB24 */ cpu->r[10] = 0x00000003u;
|
|
L_02C5BB28: ; // 0x2c5bb28
|
|
/* 02C5BB28 */ cpu->r[8] = 0x00000004u;
|
|
/* 02C5BB2C */ cpu->r[7] = cpu->r[5] + cpu->r[30];
|
|
/* 02C5BB30 */ cpu->r[28] = 0x00000000u;
|
|
/* 02C5BB34 */ cpu->ctr = cpu->r[8];
|
|
/* 02C5BB38 */ cpu->r[6] = cpu->r[4] + cpu->r[30];
|
|
L_02C5BB3C: ; // 0x2c5bb3c
|
|
/* 02C5BB3C */ _t49 = cpu->r[7] + cpu->r[28];
|
|
/* 02C5BB3C */ cpu->r[0] = rbrew_read32(cpu->mem, _t49);
|
|
/* 02C5BB40 */ _t50 = cpu->r[6] + cpu->r[28];
|
|
/* 02C5BB40 */ rbrew_write32(cpu->mem, _t50, cpu->r[0]);
|
|
/* 02C5BB44 */ cpu->r[28] = cpu->r[28] + 0x00000004u;
|
|
/* 02C5BB48 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02C5BB48 */ _t51 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02C5BB48 */ _t52 = _t51 >> (0x00000002u & 31u);
|
|
/* 02C5BB48 */ _t53 = _t52 & 0x00000001u;
|
|
/* 02C5BB48 */ if (_t53) goto L_02C5BB3C; else goto L_02C5BB4C;
|
|
L_02C5BB4C: ; // 0x2c5bb4c
|
|
/* 02C5BB4C */ cpu->r[10] = cpu->r[10] + 0xFFFFFFFFu;
|
|
/* 02C5BB4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02C5BB50 */ cpu->r[30] = cpu->r[30] + 0x00000010u;
|
|
/* 02C5BB54 */ _t54 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C5BB54 */ _t55 = _t54 & 0x00000001u;
|
|
/* 02C5BB54 */ if (_t55) goto L_02C5BB58; else goto L_02C5BB28;
|
|
L_02C5BB58: ; // 0x2c5bb58
|
|
/* 02C5BB58 */ cpu->r[29] = cpu->r[29] + 0x00000001u;
|
|
/* 02C5BB5C */ cpu->r[30] = 0x101B0000u;
|
|
/* 02C5BB60 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[11]);
|
|
/* 02C5BB64 */ cpu->r[30] = cpu->r[30] + 0xFFFFEF68u;
|
|
/* 02C5BB68 */ _t56 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C5BB68 */ _t57 = _t56 & 0x00000001u;
|
|
/* 02C5BB68 */ if (_t57) goto L_02C5BAA8; else goto L_02C5BB6C;
|
|
L_02C5BB6C: ; // 0x2c5bb6c
|
|
/* 02C5BB6C */ goto L_02C5BEF4;
|
|
L_02C5BB70: ; // 0x2c5bb70
|
|
/* 02C5BB70 */ /* nop */
|
|
/* 02C5BB74 */ /* nop */
|
|
/* 02C5BB78 */ /* nop */
|
|
/* 02C5BB7C */ /* nop */
|
|
/* 02C5BB80 */ _t58 = cpu->r[6] + 0x0000000Cu;
|
|
/* 02C5BB80 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t58);
|
|
/* 02C5BB84 */ /* nop */
|
|
/* 02C5BB88 */ /* nop */
|
|
/* 02C5BB8C */ /* nop */
|
|
/* 02C5BB90 */ /* nop */
|
|
/* 02C5BB94 */ /* nop */
|
|
/* 02C5BB98 */ /* nop */
|
|
/* 02C5BB9C */ /* nop */
|
|
/* 02C5BBA0 */ /* nop */
|
|
/* 02C5BBA4 */ /* nop */
|
|
/* 02C5BBA8 */ /* nop */
|
|
/* 02C5BBAC */ /* nop */
|
|
/* 02C5BBB0 */ /* nop */
|
|
/* 02C5BBB4 */ /* nop */
|
|
/* 02C5BBB8 */ /* nop */
|
|
/* 02C5BBBC */ /* nop */
|
|
/* 02C5BBC0 */ /* nop */
|
|
/* 02C5BBC4 */ /* nop */
|
|
/* 02C5BBC8 */ /* nop */
|
|
/* 02C5BBCC */ /* nop */
|
|
/* 02C5BBD0 */ cpu->r[29] = cpu->r[29] + 0x00000001u;
|
|
/* 02C5BBD4 */ cpu->r[30] = 0x101B0000u;
|
|
/* 02C5BBD8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[11]);
|
|
/* 02C5BBDC */ cpu->r[30] = cpu->r[30] + 0xFFFFEF68u;
|
|
/* 02C5BBE0 */ _t59 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C5BBE0 */ _t60 = _t59 & 0x00000001u;
|
|
/* 02C5BBE0 */ if (_t60) goto L_02C5BAA8; else goto L_02C5BBE4;
|
|
L_02C5BBE4: ; // 0x2c5bbe4
|
|
/* 02C5BBE4 */ goto L_02C5BEF4;
|
|
L_02C5BBE8: ; // 0x2c5bbe8
|
|
/* 02C5BBE8 */ _t61 = cpu->r[6] + 0x00000000u;
|
|
/* 02C5BBE8 */ cpu->r[7] = rbrew_read32(cpu->mem, _t61);
|
|
/* 02C5BBEC */ cpu->r[8] = 0x03000000u;
|
|
/* 02C5BBF0 */ cpu->r[7] = rbrew_rlwinm(cpu->r[7], 0x00000000u, 0x00000006u, 0x00000007u);
|
|
/* 02C5BBF4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[8]);
|
|
/* 02C5BBF8 */ cpu->r[28] = cpu->r[10] + 0x00000010u;
|
|
/* 02C5BBFC */ _t62 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C5BBFC */ _t63 = _t62 & 0x00000001u;
|
|
/* 02C5BBFC */ if (_t63) goto L_02C5BC00; else goto L_02C5BCB8;
|
|
L_02C5BC00: ; // 0x2c5bc00
|
|
/* 02C5BC00 */ /* nop */
|
|
/* 02C5BC04 */ /* nop */
|
|
/* 02C5BC08 */ /* nop */
|
|
/* 02C5BC0C */ /* nop */
|
|
/* 02C5BC10 */ /* nop */
|
|
/* 02C5BC14 */ /* nop */
|
|
/* 02C5BC18 */ /* nop */
|
|
/* 02C5BC1C */ /* nop */
|
|
/* 02C5BC20 */ /* nop */
|
|
/* 02C5BC24 */ /* nop */
|
|
/* 02C5BC28 */ /* nop */
|
|
/* 02C5BC2C */ /* nop */
|
|
/* 02C5BC30 */ /* nop */
|
|
/* 02C5BC34 */ /* nop */
|
|
/* 02C5BC38 */ /* nop */
|
|
/* 02C5BC3C */ /* nop */
|
|
/* 02C5BC40 */ /* nop */
|
|
/* 02C5BC44 */ /* nop */
|
|
/* 02C5BC48 */ /* nop */
|
|
/* 02C5BC4C */ /* nop */
|
|
/* 02C5BC50 */ /* nop */
|
|
/* 02C5BC54 */ /* nop */
|
|
/* 02C5BC58 */ /* nop */
|
|
/* 02C5BC5C */ /* nop */
|
|
/* 02C5BC60 */ /* nop */
|
|
/* 02C5BC64 */ /* nop */
|
|
/* 02C5BC68 */ /* nop */
|
|
/* 02C5BC6C */ /* nop */
|
|
/* 02C5BC70 */ /* nop */
|
|
/* 02C5BC74 */ /* nop */
|
|
/* 02C5BC78 */ /* nop */
|
|
/* 02C5BC7C */ /* nop */
|
|
/* 02C5BC80 */ /* nop */
|
|
/* 02C5BC84 */ /* nop */
|
|
/* 02C5BC88 */ /* nop */
|
|
/* 02C5BC8C */ /* nop */
|
|
/* 02C5BC90 */ /* nop */
|
|
/* 02C5BC94 */ /* nop */
|
|
/* 02C5BC98 */ /* nop */
|
|
/* 02C5BC9C */ /* nop */
|
|
/* 02C5BCA0 */ cpu->r[29] = cpu->r[29] + 0x00000001u;
|
|
/* 02C5BCA4 */ cpu->r[30] = 0x101B0000u;
|
|
/* 02C5BCA8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[11]);
|
|
/* 02C5BCAC */ cpu->r[30] = cpu->r[30] + 0xFFFFEF68u;
|
|
/* 02C5BCB0 */ _t64 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C5BCB0 */ _t65 = _t64 & 0x00000001u;
|
|
/* 02C5BCB0 */ if (_t65) goto L_02C5BAA8; else goto L_02C5BCB4;
|
|
L_02C5BCB4: ; // 0x2c5bcb4
|
|
/* 02C5BCB4 */ goto L_02C5BEF4;
|
|
L_02C5BCB8: ; // 0x2c5bcb8
|
|
/* 02C5BCB8 */ cpu->r[10] = rbrew_rlwinm(cpu->r[27], 0x00000000u, 0x00000008u, 0x00000008u);
|
|
/* 02C5BCB8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02C5BCBC */ _t66 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C5BCBC */ _t67 = _t66 & 0x00000001u;
|
|
/* 02C5BCBC */ if (_t67) goto L_02C5BDE0; else goto L_02C5BCC0;
|
|
L_02C5BCC0: ; // 0x2c5bcc0
|
|
/* 02C5BCC0 */ cpu->r[26] = 0x00000000u;
|
|
/* 02C5BCC4 */ cpu->r[8] = 0x00000003u;
|
|
L_02C5BCC8: ; // 0x2c5bcc8
|
|
/* 02C5BCC8 */ cpu->r[7] = 0x00000004u;
|
|
/* 02C5BCCC */ cpu->r[30] = cpu->r[28] + cpu->r[26];
|
|
/* 02C5BCD0 */ cpu->r[10] = 0x00000000u;
|
|
/* 02C5BCD4 */ cpu->ctr = cpu->r[7];
|
|
/* 02C5BCD8 */ cpu->r[27] = cpu->r[4] + cpu->r[26];
|
|
L_02C5BCDC: ; // 0x2c5bcdc
|
|
/* 02C5BCDC */ _t68 = cpu->r[30] + cpu->r[10];
|
|
/* 02C5BCDC */ cpu->r[0] = rbrew_read32(cpu->mem, _t68);
|
|
/* 02C5BCE0 */ _t69 = cpu->r[27] + cpu->r[10];
|
|
/* 02C5BCE0 */ rbrew_write32(cpu->mem, _t69, cpu->r[0]);
|
|
/* 02C5BCE4 */ cpu->r[10] = cpu->r[10] + 0x00000004u;
|
|
/* 02C5BCE8 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02C5BCE8 */ _t70 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02C5BCE8 */ _t71 = _t70 >> (0x00000002u & 31u);
|
|
/* 02C5BCE8 */ _t72 = _t71 & 0x00000001u;
|
|
/* 02C5BCE8 */ if (_t72) goto L_02C5BCDC; else goto L_02C5BCEC;
|
|
L_02C5BCEC: ; // 0x2c5bcec
|
|
/* 02C5BCEC */ cpu->r[8] = cpu->r[8] + 0xFFFFFFFFu;
|
|
/* 02C5BCEC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 02C5BCF0 */ cpu->r[26] = cpu->r[26] + 0x00000010u;
|
|
/* 02C5BCF4 */ _t73 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C5BCF4 */ _t74 = _t73 & 0x00000001u;
|
|
/* 02C5BCF4 */ if (_t74) goto L_02C5BCF8; else goto L_02C5BCC8;
|
|
L_02C5BCF8: ; // 0x2c5bcf8
|
|
/* 02C5BCF8 */ _t75 = cpu->r[6] + 0x00000004u;
|
|
/* 02C5BCF8 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t75);
|
|
/* 02C5BCFC */ _t76 = cpu->r[4] + 0x0000000Cu;
|
|
/* 02C5BCFC */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t76);
|
|
/* 02C5BD00 */ _t77 = cpu->r[4] + 0x0000001Cu;
|
|
/* 02C5BD00 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t77);
|
|
/* 02C5BD04 */ cpu->f[12] = cpu->f[12] * cpu->f[0];
|
|
/* 02C5BD08 */ _t78 = cpu->r[4] + 0x0000000Cu;
|
|
/* 02C5BD08 */ rbrew_write_f32(cpu->mem, _t78, cpu->f[12]);
|
|
/* 02C5BD0C */ _t79 = cpu->r[6] + 0x00000008u;
|
|
/* 02C5BD0C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t79);
|
|
/* 02C5BD10 */ cpu->f[13] = cpu->f[13] * cpu->f[0];
|
|
/* 02C5BD14 */ _t80 = cpu->r[4] + 0x0000001Cu;
|
|
/* 02C5BD14 */ rbrew_write_f32(cpu->mem, _t80, cpu->f[13]);
|
|
/* 02C5BD18 */ _t81 = cpu->r[6] + 0x0000000Cu;
|
|
/* 02C5BD18 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t81);
|
|
/* 02C5BD1C */ _t82 = cpu->r[4] + 0x0000002Cu;
|
|
/* 02C5BD1C */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t82);
|
|
/* 02C5BD20 */ /* nop */
|
|
/* 02C5BD24 */ cpu->f[13] = cpu->f[13] * cpu->f[0];
|
|
/* 02C5BD28 */ /* nop */
|
|
/* 02C5BD2C */ _t83 = cpu->r[4] + 0x0000002Cu;
|
|
/* 02C5BD2C */ rbrew_write_f32(cpu->mem, _t83, cpu->f[13]);
|
|
/* 02C5BD30 */ /* nop */
|
|
/* 02C5BD34 */ /* nop */
|
|
/* 02C5BD38 */ /* nop */
|
|
/* 02C5BD3C */ /* nop */
|
|
/* 02C5BD40 */ /* nop */
|
|
/* 02C5BD44 */ /* nop */
|
|
/* 02C5BD48 */ /* nop */
|
|
/* 02C5BD4C */ /* nop */
|
|
/* 02C5BD50 */ /* nop */
|
|
/* 02C5BD54 */ /* nop */
|
|
/* 02C5BD58 */ /* nop */
|
|
/* 02C5BD5C */ /* nop */
|
|
/* 02C5BD60 */ /* nop */
|
|
/* 02C5BD64 */ /* nop */
|
|
/* 02C5BD68 */ /* nop */
|
|
/* 02C5BD6C */ /* nop */
|
|
/* 02C5BD70 */ /* nop */
|
|
/* 02C5BD74 */ /* nop */
|
|
/* 02C5BD78 */ /* nop */
|
|
/* 02C5BD7C */ /* nop */
|
|
/* 02C5BD80 */ /* nop */
|
|
/* 02C5BD84 */ /* nop */
|
|
/* 02C5BD88 */ /* nop */
|
|
/* 02C5BD8C */ /* nop */
|
|
/* 02C5BD90 */ /* nop */
|
|
/* 02C5BD94 */ /* nop */
|
|
/* 02C5BD98 */ /* nop */
|
|
/* 02C5BD9C */ /* nop */
|
|
/* 02C5BDA0 */ /* nop */
|
|
/* 02C5BDA4 */ /* nop */
|
|
/* 02C5BDA8 */ /* nop */
|
|
/* 02C5BDAC */ /* nop */
|
|
/* 02C5BDB0 */ /* nop */
|
|
/* 02C5BDB4 */ /* nop */
|
|
/* 02C5BDB8 */ /* nop */
|
|
/* 02C5BDBC */ /* nop */
|
|
/* 02C5BDC0 */ /* nop */
|
|
/* 02C5BDC4 */ /* nop */
|
|
/* 02C5BDC8 */ cpu->r[29] = cpu->r[29] + 0x00000001u;
|
|
/* 02C5BDCC */ cpu->r[30] = 0x101B0000u;
|
|
/* 02C5BDD0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[11]);
|
|
/* 02C5BDD4 */ cpu->r[30] = cpu->r[30] + 0xFFFFEF68u;
|
|
/* 02C5BDD8 */ _t84 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C5BDD8 */ _t85 = _t84 & 0x00000001u;
|
|
/* 02C5BDD8 */ if (_t85) goto L_02C5BAA8; else goto L_02C5BDDC;
|
|
L_02C5BDDC: ; // 0x2c5bddc
|
|
/* 02C5BDDC */ goto L_02C5BEF4;
|
|
L_02C5BDE0: ; // 0x2c5bde0
|
|
/* 02C5BDE0 */ /* nop */
|
|
/* 02C5BDE4 */ /* nop */
|
|
/* 02C5BDE8 */ /* nop */
|
|
/* 02C5BDEC */ /* nop */
|
|
/* 02C5BDF0 */ _t86 = cpu->r[6] + 0x0000000Cu;
|
|
/* 02C5BDF0 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t86);
|
|
/* 02C5BDF4 */ /* nop */
|
|
/* 02C5BDF8 */ /* nop */
|
|
/* 02C5BDFC */ /* nop */
|
|
/* 02C5BE00 */ /* nop */
|
|
/* 02C5BE04 */ /* nop */
|
|
/* 02C5BE08 */ /* nop */
|
|
/* 02C5BE0C */ /* nop */
|
|
/* 02C5BE10 */ /* nop */
|
|
/* 02C5BE14 */ /* nop */
|
|
/* 02C5BE18 */ /* nop */
|
|
/* 02C5BE1C */ /* nop */
|
|
/* 02C5BE20 */ /* nop */
|
|
/* 02C5BE24 */ /* nop */
|
|
/* 02C5BE28 */ /* nop */
|
|
/* 02C5BE2C */ /* nop */
|
|
/* 02C5BE30 */ /* nop */
|
|
/* 02C5BE34 */ /* nop */
|
|
/* 02C5BE38 */ /* nop */
|
|
/* 02C5BE3C */ /* nop */
|
|
/* 02C5BE40 */ /* nop */
|
|
/* 02C5BE44 */ /* nop */
|
|
/* 02C5BE48 */ /* nop */
|
|
/* 02C5BE4C */ /* nop */
|
|
/* 02C5BE50 */ /* nop */
|
|
/* 02C5BE54 */ /* nop */
|
|
/* 02C5BE58 */ /* nop */
|
|
/* 02C5BE5C */ /* nop */
|
|
/* 02C5BE60 */ /* nop */
|
|
/* 02C5BE64 */ /* nop */
|
|
/* 02C5BE68 */ /* nop */
|
|
/* 02C5BE6C */ /* nop */
|
|
/* 02C5BE70 */ /* nop */
|
|
/* 02C5BE74 */ /* nop */
|
|
/* 02C5BE78 */ /* nop */
|
|
/* 02C5BE7C */ /* nop */
|
|
/* 02C5BE80 */ /* nop */
|
|
/* 02C5BE84 */ /* nop */
|
|
/* 02C5BE88 */ /* nop */
|
|
/* 02C5BE8C */ /* nop */
|
|
/* 02C5BE90 */ /* nop */
|
|
/* 02C5BE94 */ /* nop */
|
|
/* 02C5BE98 */ /* nop */
|
|
/* 02C5BE9C */ /* nop */
|
|
/* 02C5BEA0 */ /* nop */
|
|
/* 02C5BEA4 */ /* nop */
|
|
/* 02C5BEA8 */ /* nop */
|
|
/* 02C5BEAC */ /* nop */
|
|
/* 02C5BEB0 */ /* nop */
|
|
/* 02C5BEB4 */ /* nop */
|
|
/* 02C5BEB8 */ /* nop */
|
|
/* 02C5BEBC */ /* nop */
|
|
/* 02C5BEC0 */ /* nop */
|
|
/* 02C5BEC4 */ /* nop */
|
|
/* 02C5BEC8 */ /* nop */
|
|
/* 02C5BECC */ /* nop */
|
|
/* 02C5BED0 */ /* nop */
|
|
/* 02C5BED4 */ /* nop */
|
|
/* 02C5BED8 */ /* nop */
|
|
/* 02C5BEDC */ /* nop */
|
|
/* 02C5BEE0 */ cpu->r[29] = cpu->r[29] + 0x00000001u;
|
|
/* 02C5BEE4 */ cpu->r[30] = 0x101B0000u;
|
|
/* 02C5BEE8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[11]);
|
|
/* 02C5BEEC */ cpu->r[30] = cpu->r[30] + 0xFFFFEF68u;
|
|
/* 02C5BEF0 */ _t87 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C5BEF0 */ _t88 = _t87 & 0x00000001u;
|
|
/* 02C5BEF0 */ if (_t88) goto L_02C5BAA8; else goto L_02C5BEF4;
|
|
L_02C5BEF4: ; // 0x2c5bef4
|
|
/* 02C5BEF4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02C5BEF8 */ _t89 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C5BEF8 */ _t90 = _t89 & 0x00000001u;
|
|
/* 02C5BEF8 */ if (_t90) goto L_02C5BEFC; else goto L_02C5BF90;
|
|
L_02C5BEFC: ; // 0x2c5befc
|
|
/* 02C5BEFC */ cpu->r[5] = 0x00000000u;
|
|
/* 02C5BF00 */ cpu->ctr = cpu->r[11];
|
|
/* 02C5BF04 */ cpu->r[7] = 0x03000000u;
|
|
/* 02C5BF08 */ cpu->r[6] = cpu->r[5];
|
|
L_02C5BF0C: ; // 0x2c5bf0c
|
|
/* 02C5BF0C */ _t91 = cpu->r[12] + cpu->r[6];
|
|
/* 02C5BF0C */ cpu->r[11] = rbrew_read32(cpu->mem, _t91);
|
|
/* 02C5BF10 */ cpu->r[8] = rbrew_rlwinm(cpu->r[11], 0x00000000u, 0x00000006u, 0x00000007u);
|
|
/* 02C5BF14 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[7]);
|
|
/* 02C5BF18 */ cpu->r[10] = cpu->r[12] + cpu->r[6];
|
|
/* 02C5BF1C */ _t92 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C5BF1C */ _t93 = _t92 & 0x00000001u;
|
|
/* 02C5BF1C */ if (_t93) goto L_02C5BF84; else goto L_02C5BF20;
|
|
L_02C5BF20: ; // 0x2c5bf20
|
|
/* 02C5BF20 */ _t94 = cpu->r[10] + 0x0000000Cu;
|
|
/* 02C5BF20 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t94);
|
|
/* 02C5BF24 */ cpu->r[11] = cpu->r[9] + cpu->r[5];
|
|
/* 02C5BF28 */ /* nop */
|
|
/* 02C5BF2C */ /* nop */
|
|
/* 02C5BF30 */ /* nop */
|
|
/* 02C5BF34 */ /* nop */
|
|
/* 02C5BF38 */ /* nop */
|
|
/* 02C5BF3C */ /* nop */
|
|
/* 02C5BF40 */ /* nop */
|
|
/* 02C5BF44 */ /* nop */
|
|
/* 02C5BF48 */ /* nop */
|
|
/* 02C5BF4C */ /* nop */
|
|
/* 02C5BF50 */ /* nop */
|
|
/* 02C5BF54 */ /* nop */
|
|
/* 02C5BF58 */ /* nop */
|
|
/* 02C5BF5C */ /* nop */
|
|
/* 02C5BF60 */ /* nop */
|
|
/* 02C5BF64 */ /* nop */
|
|
/* 02C5BF68 */ /* nop */
|
|
/* 02C5BF6C */ /* nop */
|
|
/* 02C5BF70 */ /* nop */
|
|
/* 02C5BF74 */ /* nop */
|
|
/* 02C5BF78 */ /* nop */
|
|
/* 02C5BF7C */ /* nop */
|
|
/* 02C5BF80 */ /* nop */
|
|
L_02C5BF84: ; // 0x2c5bf84
|
|
/* 02C5BF84 */ cpu->r[5] = cpu->r[5] + 0x00000030u;
|
|
/* 02C5BF88 */ cpu->r[6] = cpu->r[6] + 0x00000040u;
|
|
/* 02C5BF8C */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02C5BF8C */ _t95 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02C5BF8C */ _t96 = _t95 >> (0x00000002u & 31u);
|
|
/* 02C5BF8C */ _t97 = _t96 & 0x00000001u;
|
|
/* 02C5BF8C */ if (_t97) goto L_02C5BF0C; else goto L_02C5BF90;
|
|
L_02C5BF90: ; // 0x2c5bf90
|
|
/* 02C5BF90 */ /* nop */
|
|
/* 02C5BF94 */ _t98 = cpu->r[1] + 0x00000028u;
|
|
/* 02C5BF94 */ cpu->f[29] = rbrew_read_f32(cpu->mem, _t98);
|
|
/* 02C5BF98 */ _t99 = cpu->r[1] + 0x00000038u;
|
|
/* 02C5BF98 */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t99);
|
|
/* 02C5BF9C */ _t100 = cpu->r[1] + 0x00000020u;
|
|
/* 02C5BF9C */ cpu->f[29] = rbrew_read_f64(cpu->mem, _t100);
|
|
/* 02C5BFA0 */ _t101 = cpu->r[1] + 0x00000048u;
|
|
/* 02C5BFA0 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t101);
|
|
/* 02C5BFA4 */ _t102 = cpu->r[1] + 0x00000030u;
|
|
/* 02C5BFA4 */ cpu->f[30] = rbrew_read_f64(cpu->mem, _t102);
|
|
/* 02C5BFA8 */ _t103 = cpu->r[1] + 0x00000040u;
|
|
/* 02C5BFA8 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t103);
|
|
/* 02C5BFAC */ _t104 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C5BFAC */ _t105 = _t104 & 0x00000001u;
|
|
/* 02C5BFAC */ if (_t105) goto L_02C5BFB0; // else: addr-0 trap, fall-through
|
|
L_02C5BFB0: ; // 0x2c5bfb0
|
|
/* 02C5BFB0 */ cpu->r[1] = cpu->r[1] + 0x00000050u;
|
|
/* 02C5BFB4 */ return;
|
|
}
|
|
|
|
// fn_02C5BFB8 @ 0x2c5bfb8
|
|
void Gambit_fn_02C5BFB8(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;
|
|
|
|
L_02C5BFB8: ; // 0x2c5bfb8
|
|
/* 02C5BFB8 */ _t0 = cpu->r[1] + 0xFFFFFFD0u;
|
|
/* 02C5BFB8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C5BFB8 */ cpu->r[1] = _t0;
|
|
/* 02C5BFBC */ /* nop */
|
|
/* 02C5BFC0 */ _t1 = cpu->r[3] + 0x00000004u;
|
|
/* 02C5BFC0 */ cpu->r[10] = rbrew_read16(cpu->mem, _t1);
|
|
/* 02C5BFC4 */ cpu->r[31] = 0x101B0000u;
|
|
/* 02C5BFC8 */ _t2 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02C5BFC8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02C5BFCC */ cpu->r[10] = cpu->r[10] | 0x00000004u;
|
|
/* 02C5BFD0 */ _t3 = cpu->r[3] + 0x00000010u;
|
|
/* 02C5BFD0 */ cpu->r[7] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02C5BFD4 */ cpu->r[12] = cpu->r[11];
|
|
/* 02C5BFD8 */ _t4 = cpu->r[3] + 0x00000004u;
|
|
/* 02C5BFD8 */ rbrew_write16(cpu->mem, _t4, (uint16_t)cpu->r[10]);
|
|
/* 02C5BFDC */ _t5 = cpu->r[12] + 0x00000000u;
|
|
/* 02C5BFDC */ cpu->r[10] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02C5BFE0 */ cpu->r[8] = cpu->r[7];
|
|
/* 02C5BFE4 */ cpu->r[31] = cpu->r[31] + 0xFFFFEF60u;
|
|
/* 02C5BFE8 */ cpu->r[9] = 0x0C000000u;
|
|
/* 02C5BFEC */ cpu->r[6] = rbrew_rlwinm(cpu->r[10], 0x00000000u, 0x00000004u, 0x00000005u);
|
|
/* 02C5BFF0 */ _t6 = cpu->r[3] + 0x0000002Cu;
|
|
/* 02C5BFF0 */ cpu->r[10] = rbrew_read16(cpu->mem, _t6);
|
|
/* 02C5BFF4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[9]);
|
|
/* 02C5BFF8 */ _t7 = cpu->r[3] + 0x00000014u;
|
|
/* 02C5BFF8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02C5BFFC */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C5BFFC */ _t9 = _t8 & 0x00000001u;
|
|
/* 02C5BFFC */ if (_t9) goto L_02C5C000; else goto L_02C5C064;
|
|
L_02C5C000: ; // 0x2c5c000
|
|
/* 02C5C000 */ cpu->r[28] = 0x00000000u;
|
|
/* 02C5C004 */ cpu->r[6] = 0x00000003u;
|
|
L_02C5C008: ; // 0x2c5c008
|
|
/* 02C5C008 */ cpu->r[5] = 0x00000004u;
|
|
/* 02C5C00C */ cpu->r[30] = cpu->r[4] + cpu->r[28];
|
|
/* 02C5C010 */ cpu->r[27] = 0x00000000u;
|
|
/* 02C5C014 */ cpu->ctr = cpu->r[5];
|
|
/* 02C5C018 */ cpu->r[29] = cpu->r[8] + cpu->r[28];
|
|
L_02C5C01C: ; // 0x2c5c01c
|
|
/* 02C5C01C */ _t10 = cpu->r[30] + cpu->r[27];
|
|
/* 02C5C01C */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02C5C020 */ _t11 = cpu->r[29] + cpu->r[27];
|
|
/* 02C5C020 */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
|
|
/* 02C5C024 */ cpu->r[27] = cpu->r[27] + 0x00000004u;
|
|
/* 02C5C028 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02C5C028 */ _t12 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02C5C028 */ _t13 = _t12 >> (0x00000002u & 31u);
|
|
/* 02C5C028 */ _t14 = _t13 & 0x00000001u;
|
|
/* 02C5C028 */ if (_t14) goto L_02C5C01C; else goto L_02C5C02C;
|
|
L_02C5C02C: ; // 0x2c5c02c
|
|
/* 02C5C02C */ cpu->r[6] = cpu->r[6] + 0xFFFFFFFFu;
|
|
/* 02C5C02C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u);
|
|
/* 02C5C030 */ cpu->r[28] = cpu->r[28] + 0x00000010u;
|
|
/* 02C5C034 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C5C034 */ _t16 = _t15 & 0x00000001u;
|
|
/* 02C5C034 */ if (_t16) goto L_02C5C038; else goto L_02C5C008;
|
|
L_02C5C038: ; // 0x2c5c038
|
|
/* 02C5C038 */ _t17 = cpu->r[12] + 0x00000000u;
|
|
/* 02C5C038 */ cpu->r[6] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02C5C03C */ cpu->r[8] = rbrew_rlwinm(cpu->r[6], 0x00000000u, 0x00000004u, 0x0000001Fu);
|
|
/* 02C5C040 */ _t18 = rbrew_rlwinm(cpu->r[6], 0x00000004u, 0x00000002u, 0x00000003u);
|
|
/* 02C5C040 */ _t19 = cpu->r[8] & 0xCFFFFFFFu;
|
|
/* 02C5C040 */ cpu->r[8] = _t19 | _t18;
|
|
/* 02C5C044 */ _t20 = cpu->r[12] + 0x00000000u;
|
|
/* 02C5C044 */ rbrew_write32(cpu->mem, _t20, cpu->r[8]);
|
|
/* 02C5C048 */ _t21 = cpu->r[11] + 0x00000000u;
|
|
/* 02C5C048 */ cpu->r[8] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02C5C04C */ cpu->r[12] = 0x03000000u;
|
|
/* 02C5C050 */ cpu->r[8] = rbrew_rlwinm(cpu->r[8], 0x00000000u, 0x00000006u, 0x00000007u);
|
|
/* 02C5C054 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[12]);
|
|
/* 02C5C058 */ cpu->r[12] = cpu->r[9];
|
|
/* 02C5C05C */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C5C05C */ _t23 = _t22 & 0x00000001u;
|
|
/* 02C5C05C */ if (_t23) goto L_02C5C130; else goto L_02C5C060;
|
|
L_02C5C060: ; // 0x2c5c060
|
|
/* 02C5C060 */ goto L_02C5C154;
|
|
L_02C5C064: ; // 0x2c5c064
|
|
/* 02C5C064 */ /* nop */
|
|
/* 02C5C068 */ cpu->r[6] = cpu->r[12] + 0x00000010u;
|
|
/* 02C5C06C */ /* nop */
|
|
/* 02C5C070 */ /* nop */
|
|
/* 02C5C074 */ /* nop */
|
|
/* 02C5C078 */ /* nop */
|
|
/* 02C5C07C */ /* nop */
|
|
/* 02C5C080 */ /* nop */
|
|
/* 02C5C084 */ /* nop */
|
|
/* 02C5C088 */ /* nop */
|
|
/* 02C5C08C */ /* nop */
|
|
/* 02C5C090 */ /* nop */
|
|
/* 02C5C094 */ /* nop */
|
|
/* 02C5C098 */ /* nop */
|
|
/* 02C5C09C */ /* nop */
|
|
/* 02C5C0A0 */ /* nop */
|
|
/* 02C5C0A4 */ /* nop */
|
|
/* 02C5C0A8 */ /* nop */
|
|
/* 02C5C0AC */ /* nop */
|
|
/* 02C5C0B0 */ /* nop */
|
|
/* 02C5C0B4 */ /* nop */
|
|
/* 02C5C0B8 */ /* nop */
|
|
/* 02C5C0BC */ /* nop */
|
|
/* 02C5C0C0 */ /* nop */
|
|
/* 02C5C0C4 */ /* nop */
|
|
/* 02C5C0C8 */ /* nop */
|
|
/* 02C5C0CC */ /* nop */
|
|
/* 02C5C0D0 */ /* nop */
|
|
/* 02C5C0D4 */ /* nop */
|
|
/* 02C5C0D8 */ /* nop */
|
|
/* 02C5C0DC */ /* nop */
|
|
/* 02C5C0E0 */ /* nop */
|
|
/* 02C5C0E4 */ /* nop */
|
|
/* 02C5C0E8 */ /* nop */
|
|
/* 02C5C0EC */ /* nop */
|
|
/* 02C5C0F0 */ /* nop */
|
|
/* 02C5C0F4 */ /* nop */
|
|
/* 02C5C0F8 */ /* nop */
|
|
/* 02C5C0FC */ /* nop */
|
|
/* 02C5C100 */ /* nop */
|
|
/* 02C5C104 */ /* nop */
|
|
/* 02C5C108 */ _t24 = cpu->r[12] + 0x00000000u;
|
|
/* 02C5C108 */ cpu->r[6] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02C5C10C */ cpu->r[8] = rbrew_rlwinm(cpu->r[6], 0x00000000u, 0x00000004u, 0x0000001Fu);
|
|
/* 02C5C110 */ _t25 = rbrew_rlwinm(cpu->r[6], 0x00000004u, 0x00000002u, 0x00000003u);
|
|
/* 02C5C110 */ _t26 = cpu->r[8] & 0xCFFFFFFFu;
|
|
/* 02C5C110 */ cpu->r[8] = _t26 | _t25;
|
|
/* 02C5C114 */ _t27 = cpu->r[12] + 0x00000000u;
|
|
/* 02C5C114 */ rbrew_write32(cpu->mem, _t27, cpu->r[8]);
|
|
/* 02C5C118 */ _t28 = cpu->r[11] + 0x00000000u;
|
|
/* 02C5C118 */ cpu->r[8] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02C5C11C */ cpu->r[12] = 0x03000000u;
|
|
/* 02C5C120 */ cpu->r[8] = rbrew_rlwinm(cpu->r[8], 0x00000000u, 0x00000006u, 0x00000007u);
|
|
/* 02C5C124 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[12]);
|
|
/* 02C5C128 */ cpu->r[12] = cpu->r[9];
|
|
/* 02C5C12C */ _t29 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C5C12C */ _t30 = _t29 & 0x00000001u;
|
|
/* 02C5C12C */ if (_t30) goto L_02C5C130; else goto L_02C5C154;
|
|
L_02C5C130: ; // 0x2c5c130
|
|
/* 02C5C130 */ cpu->r[8] = 0x101B0000u;
|
|
/* 02C5C134 */ _t31 = cpu->r[8] + 0xFFFFEF7Cu;
|
|
/* 02C5C134 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t31);
|
|
/* 02C5C138 */ _t32 = cpu->r[12] + 0x00000000u;
|
|
/* 02C5C138 */ rbrew_write_f32(cpu->mem, _t32, cpu->f[0]);
|
|
/* 02C5C13C */ _t33 = cpu->r[12] + 0x00000004u;
|
|
/* 02C5C13C */ rbrew_write_f32(cpu->mem, _t33, cpu->f[0]);
|
|
/* 02C5C140 */ _t34 = cpu->r[12] + 0x00000008u;
|
|
/* 02C5C140 */ rbrew_write_f32(cpu->mem, _t34, cpu->f[0]);
|
|
/* 02C5C144 */ cpu->r[29] = 0x00000001u;
|
|
/* 02C5C148 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[10]);
|
|
/* 02C5C14C */ _t35 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C5C14C */ _t36 = _t35 & 0x00000001u;
|
|
/* 02C5C14C */ if (_t36) goto L_02C5C150; else goto L_02C5C46C;
|
|
L_02C5C150: ; // 0x2c5c150
|
|
/* 02C5C150 */ goto L_02C5C180;
|
|
L_02C5C154: ; // 0x2c5c154
|
|
/* 02C5C154 */ cpu->r[8] = 0x00000003u;
|
|
/* 02C5C158 */ cpu->ctr = cpu->r[8];
|
|
/* 02C5C15C */ cpu->r[6] = 0x00000000u;
|
|
L_02C5C160: ; // 0x2c5c160
|
|
/* 02C5C160 */ cpu->r[8] = cpu->r[11] + 0x00000004u;
|
|
/* 02C5C164 */ _t37 = cpu->r[8] + cpu->r[6];
|
|
/* 02C5C164 */ cpu->r[0] = rbrew_read32(cpu->mem, _t37);
|
|
/* 02C5C168 */ _t38 = cpu->r[12] + cpu->r[6];
|
|
/* 02C5C168 */ rbrew_write32(cpu->mem, _t38, cpu->r[0]);
|
|
/* 02C5C16C */ cpu->r[6] = cpu->r[6] + 0x00000004u;
|
|
/* 02C5C170 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02C5C170 */ _t39 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02C5C170 */ _t40 = _t39 >> (0x00000002u & 31u);
|
|
/* 02C5C170 */ _t41 = _t40 & 0x00000001u;
|
|
/* 02C5C170 */ if (_t41) goto L_02C5C160; else goto L_02C5C174;
|
|
L_02C5C174: ; // 0x2c5c174
|
|
/* 02C5C174 */ cpu->r[29] = 0x00000001u;
|
|
/* 02C5C178 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[10]);
|
|
/* 02C5C17C */ _t42 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C5C17C */ _t43 = _t42 & 0x00000001u;
|
|
/* 02C5C17C */ if (_t43) goto L_02C5C180; else goto L_02C5C46C;
|
|
L_02C5C180: ; // 0x2c5c180
|
|
/* 02C5C180 */ _t44 = cpu->r[3] + 0x00000008u;
|
|
/* 02C5C180 */ cpu->r[12] = rbrew_read32(cpu->mem, _t44);
|
|
/* 02C5C184 */ cpu->r[8] = rbrew_rlwinm(cpu->r[29], 0x00000006u, 0x00000000u, 0x00000019u);
|
|
/* 02C5C188 */ cpu->r[12] = cpu->r[12] + cpu->r[8];
|
|
/* 02C5C18C */ _t45 = cpu->r[12] + 0x00000006u;
|
|
/* 02C5C18C */ cpu->r[25] = rbrew_read16(cpu->mem, _t45);
|
|
/* 02C5C190 */ _t46 = cpu->r[12] + 0x00000004u;
|
|
/* 02C5C190 */ cpu->r[8] = rbrew_read16(cpu->mem, _t46);
|
|
/* 02C5C194 */ cpu->r[4] = (uint32_t)((int32_t)cpu->r[25] * (int32_t)0x0000000Cu);
|
|
/* 02C5C198 */ cpu->r[12] = rbrew_rlwinm(cpu->r[8], 0x00000006u, 0x00000000u, 0x00000019u);
|
|
/* 02C5C19C */ cpu->r[28] = cpu->r[11] + cpu->r[12];
|
|
/* 02C5C1A0 */ cpu->r[12] = rbrew_rlwinm(cpu->r[25], 0x00000006u, 0x00000000u, 0x00000019u);
|
|
/* 02C5C1A4 */ cpu->r[30] = (uint32_t)((int32_t)cpu->r[8] * (int32_t)0x00000030u);
|
|
/* 02C5C1A8 */ _t47 = cpu->r[28] + 0x00000000u;
|
|
/* 02C5C1A8 */ cpu->r[6] = rbrew_read32(cpu->mem, _t47);
|
|
/* 02C5C1AC */ cpu->r[26] = cpu->r[11] + cpu->r[12];
|
|
/* 02C5C1B0 */ _t48 = cpu->r[26] + 0x00000000u;
|
|
/* 02C5C1B0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t48);
|
|
/* 02C5C1B4 */ cpu->r[5] = (uint32_t)((int32_t)cpu->r[8] * (int32_t)0x0000000Cu);
|
|
/* 02C5C1B8 */ cpu->r[8] = rbrew_rlwinm(cpu->r[6], 0x00000004u, 0x00000000u, 0x0000001Bu);
|
|
/* 02C5C1BC */ cpu->r[12] = cpu->r[12] & cpu->r[8];
|
|
/* 02C5C1C0 */ cpu->r[4] = cpu->r[9] + cpu->r[4];
|
|
/* 02C5C1C4 */ cpu->r[27] = cpu->r[9] + cpu->r[5];
|
|
/* 02C5C1C8 */ _t49 = rbrew_rlwinm(cpu->r[12], 0x00000000u, 0x00000000u, 0x00000003u);
|
|
/* 02C5C1C8 */ _t50 = cpu->r[6] & 0x0FFFFFFFu;
|
|
/* 02C5C1C8 */ cpu->r[6] = _t50 | _t49;
|
|
/* 02C5C1CC */ cpu->r[12] = 0x0C000000u;
|
|
/* 02C5C1D0 */ cpu->r[5] = (uint32_t)((int32_t)cpu->r[25] * (int32_t)0x00000030u);
|
|
/* 02C5C1D4 */ cpu->r[8] = rbrew_rlwinm(cpu->r[6], 0x00000000u, 0x00000004u, 0x00000005u);
|
|
/* 02C5C1D8 */ cpu->r[25] = cpu->r[7] + cpu->r[30];
|
|
/* 02C5C1DC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[12]);
|
|
/* 02C5C1E0 */ _t51 = cpu->r[28] + 0x00000000u;
|
|
/* 02C5C1E0 */ rbrew_write32(cpu->mem, _t51, cpu->r[6]);
|
|
/* 02C5C1E4 */ cpu->r[30] = cpu->r[7] + cpu->r[5];
|
|
/* 02C5C1E8 */ _t52 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C5C1E8 */ _t53 = _t52 & 0x00000001u;
|
|
/* 02C5C1E8 */ if (_t53) goto L_02C5C1EC; else goto L_02C5C23C;
|
|
L_02C5C1EC: ; // 0x2c5c1ec
|
|
/* 02C5C1EC */ cpu->r[26] = 0x00000000u;
|
|
/* 02C5C1F0 */ cpu->r[12] = 0x00000003u;
|
|
L_02C5C1F4: ; // 0x2c5c1f4
|
|
/* 02C5C1F4 */ cpu->r[8] = 0x00000004u;
|
|
/* 02C5C1F8 */ cpu->r[6] = cpu->r[30] + cpu->r[26];
|
|
/* 02C5C1FC */ cpu->r[24] = 0x00000000u;
|
|
/* 02C5C200 */ cpu->ctr = cpu->r[8];
|
|
/* 02C5C204 */ cpu->r[5] = cpu->r[25] + cpu->r[26];
|
|
L_02C5C208: ; // 0x2c5c208
|
|
/* 02C5C208 */ _t54 = cpu->r[6] + cpu->r[24];
|
|
/* 02C5C208 */ cpu->r[0] = rbrew_read32(cpu->mem, _t54);
|
|
/* 02C5C20C */ _t55 = cpu->r[5] + cpu->r[24];
|
|
/* 02C5C20C */ rbrew_write32(cpu->mem, _t55, cpu->r[0]);
|
|
/* 02C5C210 */ cpu->r[24] = cpu->r[24] + 0x00000004u;
|
|
/* 02C5C214 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02C5C214 */ _t56 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02C5C214 */ _t57 = _t56 >> (0x00000002u & 31u);
|
|
/* 02C5C214 */ _t58 = _t57 & 0x00000001u;
|
|
/* 02C5C214 */ if (_t58) goto L_02C5C208; else goto L_02C5C218;
|
|
L_02C5C218: ; // 0x2c5c218
|
|
/* 02C5C218 */ cpu->r[12] = cpu->r[12] + 0xFFFFFFFFu;
|
|
/* 02C5C218 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02C5C21C */ cpu->r[26] = cpu->r[26] + 0x00000010u;
|
|
/* 02C5C220 */ _t59 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C5C220 */ _t60 = _t59 & 0x00000001u;
|
|
/* 02C5C220 */ if (_t60) goto L_02C5C224; else goto L_02C5C1F4;
|
|
L_02C5C224: ; // 0x2c5c224
|
|
/* 02C5C224 */ _t61 = cpu->r[28] + 0x00000000u;
|
|
/* 02C5C224 */ cpu->r[8] = rbrew_read32(cpu->mem, _t61);
|
|
/* 02C5C228 */ cpu->r[12] = 0x03000000u;
|
|
/* 02C5C22C */ cpu->r[8] = rbrew_rlwinm(cpu->r[8], 0x00000000u, 0x00000006u, 0x00000007u);
|
|
/* 02C5C230 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[12]);
|
|
/* 02C5C234 */ _t62 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C5C234 */ _t63 = _t62 & 0x00000001u;
|
|
/* 02C5C234 */ if (_t63) goto L_02C5C414; else goto L_02C5C238;
|
|
L_02C5C238: ; // 0x2c5c238
|
|
/* 02C5C238 */ goto L_02C5C440;
|
|
L_02C5C23C: ; // 0x2c5c23c
|
|
/* 02C5C23C */ _t64 = cpu->r[26] + 0x00000000u;
|
|
/* 02C5C23C */ cpu->r[8] = rbrew_read32(cpu->mem, _t64);
|
|
/* 02C5C240 */ cpu->r[12] = 0x30000000u;
|
|
/* 02C5C244 */ cpu->r[8] = rbrew_rlwinm(cpu->r[8], 0x00000000u, 0x00000002u, 0x00000003u);
|
|
/* 02C5C248 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[12]);
|
|
/* 02C5C24C */ cpu->r[26] = cpu->r[28] + 0x00000010u;
|
|
/* 02C5C250 */ _t65 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C5C250 */ _t66 = _t65 & 0x00000001u;
|
|
/* 02C5C250 */ if (_t66) goto L_02C5C254; else goto L_02C5C2F8;
|
|
L_02C5C254: ; // 0x2c5c254
|
|
/* 02C5C254 */ /* nop */
|
|
/* 02C5C258 */ /* nop */
|
|
/* 02C5C25C */ /* nop */
|
|
/* 02C5C260 */ /* nop */
|
|
/* 02C5C264 */ /* nop */
|
|
/* 02C5C268 */ /* nop */
|
|
/* 02C5C26C */ /* nop */
|
|
/* 02C5C270 */ /* nop */
|
|
/* 02C5C274 */ /* nop */
|
|
/* 02C5C278 */ /* nop */
|
|
/* 02C5C27C */ /* nop */
|
|
/* 02C5C280 */ /* nop */
|
|
/* 02C5C284 */ /* nop */
|
|
/* 02C5C288 */ /* nop */
|
|
/* 02C5C28C */ /* nop */
|
|
/* 02C5C290 */ /* nop */
|
|
/* 02C5C294 */ /* nop */
|
|
/* 02C5C298 */ /* nop */
|
|
/* 02C5C29C */ /* nop */
|
|
/* 02C5C2A0 */ /* nop */
|
|
/* 02C5C2A4 */ /* nop */
|
|
/* 02C5C2A8 */ /* nop */
|
|
/* 02C5C2AC */ /* nop */
|
|
/* 02C5C2B0 */ /* nop */
|
|
/* 02C5C2B4 */ /* nop */
|
|
/* 02C5C2B8 */ /* nop */
|
|
/* 02C5C2BC */ /* nop */
|
|
/* 02C5C2C0 */ /* nop */
|
|
/* 02C5C2C4 */ /* nop */
|
|
/* 02C5C2C8 */ /* nop */
|
|
/* 02C5C2CC */ /* nop */
|
|
/* 02C5C2D0 */ /* nop */
|
|
/* 02C5C2D4 */ /* nop */
|
|
/* 02C5C2D8 */ /* nop */
|
|
/* 02C5C2DC */ /* nop */
|
|
/* 02C5C2E0 */ /* nop */
|
|
/* 02C5C2E4 */ /* nop */
|
|
/* 02C5C2E8 */ /* nop */
|
|
/* 02C5C2EC */ /* nop */
|
|
/* 02C5C2F0 */ /* nop */
|
|
/* 02C5C2F4 */ goto L_02C5C400;
|
|
L_02C5C2F8: ; // 0x2c5c2f8
|
|
/* 02C5C2F8 */ cpu->r[24] = 0x00000000u;
|
|
/* 02C5C2FC */ cpu->r[12] = 0x00000003u;
|
|
L_02C5C300: ; // 0x2c5c300
|
|
/* 02C5C300 */ cpu->r[8] = 0x00000004u;
|
|
/* 02C5C304 */ cpu->r[6] = cpu->r[26] + cpu->r[24];
|
|
/* 02C5C308 */ cpu->r[23] = 0x00000000u;
|
|
/* 02C5C30C */ cpu->ctr = cpu->r[8];
|
|
/* 02C5C310 */ cpu->r[5] = cpu->r[25] + cpu->r[24];
|
|
L_02C5C314: ; // 0x2c5c314
|
|
/* 02C5C314 */ _t67 = cpu->r[6] + cpu->r[23];
|
|
/* 02C5C314 */ cpu->r[0] = rbrew_read32(cpu->mem, _t67);
|
|
/* 02C5C318 */ _t68 = cpu->r[5] + cpu->r[23];
|
|
/* 02C5C318 */ rbrew_write32(cpu->mem, _t68, cpu->r[0]);
|
|
/* 02C5C31C */ cpu->r[23] = cpu->r[23] + 0x00000004u;
|
|
/* 02C5C320 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02C5C320 */ _t69 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02C5C320 */ _t70 = _t69 >> (0x00000002u & 31u);
|
|
/* 02C5C320 */ _t71 = _t70 & 0x00000001u;
|
|
/* 02C5C320 */ if (_t71) goto L_02C5C314; else goto L_02C5C324;
|
|
L_02C5C324: ; // 0x2c5c324
|
|
/* 02C5C324 */ cpu->r[12] = cpu->r[12] + 0xFFFFFFFFu;
|
|
/* 02C5C324 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02C5C328 */ cpu->r[24] = cpu->r[24] + 0x00000010u;
|
|
/* 02C5C32C */ _t72 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C5C32C */ _t73 = _t72 & 0x00000001u;
|
|
/* 02C5C32C */ if (_t73) goto L_02C5C330; else goto L_02C5C300;
|
|
L_02C5C330: ; // 0x2c5c330
|
|
/* 02C5C330 */ _t74 = cpu->r[4] + 0x00000000u;
|
|
/* 02C5C330 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t74);
|
|
/* 02C5C334 */ _t75 = cpu->r[25] + 0x0000000Cu;
|
|
/* 02C5C334 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t75);
|
|
/* 02C5C338 */ cpu->f[12] = cpu->f[12] * cpu->f[0];
|
|
/* 02C5C33C */ _t76 = cpu->r[25] + 0x0000001Cu;
|
|
/* 02C5C33C */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t76);
|
|
/* 02C5C340 */ _t77 = cpu->r[25] + 0x0000000Cu;
|
|
/* 02C5C340 */ rbrew_write_f32(cpu->mem, _t77, cpu->f[12]);
|
|
/* 02C5C344 */ _t78 = cpu->r[4] + 0x00000004u;
|
|
/* 02C5C344 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t78);
|
|
/* 02C5C348 */ cpu->f[13] = cpu->f[13] * cpu->f[0];
|
|
/* 02C5C34C */ /* nop */
|
|
/* 02C5C350 */ _t79 = cpu->r[25] + 0x0000001Cu;
|
|
/* 02C5C350 */ rbrew_write_f32(cpu->mem, _t79, cpu->f[13]);
|
|
/* 02C5C354 */ _t80 = cpu->r[4] + 0x00000008u;
|
|
/* 02C5C354 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t80);
|
|
/* 02C5C358 */ _t81 = cpu->r[25] + 0x0000002Cu;
|
|
/* 02C5C358 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t81);
|
|
/* 02C5C35C */ /* nop */
|
|
/* 02C5C360 */ cpu->f[13] = cpu->f[13] * cpu->f[0];
|
|
/* 02C5C364 */ /* nop */
|
|
/* 02C5C368 */ _t82 = cpu->r[25] + 0x0000002Cu;
|
|
/* 02C5C368 */ rbrew_write_f32(cpu->mem, _t82, cpu->f[13]);
|
|
/* 02C5C36C */ /* nop */
|
|
/* 02C5C370 */ /* nop */
|
|
/* 02C5C374 */ /* nop */
|
|
/* 02C5C378 */ /* nop */
|
|
/* 02C5C37C */ /* nop */
|
|
/* 02C5C380 */ /* nop */
|
|
/* 02C5C384 */ /* nop */
|
|
/* 02C5C388 */ /* nop */
|
|
/* 02C5C38C */ /* nop */
|
|
/* 02C5C390 */ /* nop */
|
|
/* 02C5C394 */ /* nop */
|
|
/* 02C5C398 */ /* nop */
|
|
/* 02C5C39C */ /* nop */
|
|
/* 02C5C3A0 */ /* nop */
|
|
/* 02C5C3A4 */ /* nop */
|
|
/* 02C5C3A8 */ /* nop */
|
|
/* 02C5C3AC */ /* nop */
|
|
/* 02C5C3B0 */ /* nop */
|
|
/* 02C5C3B4 */ /* nop */
|
|
/* 02C5C3B8 */ /* nop */
|
|
/* 02C5C3BC */ /* nop */
|
|
/* 02C5C3C0 */ /* nop */
|
|
/* 02C5C3C4 */ /* nop */
|
|
/* 02C5C3C8 */ /* nop */
|
|
/* 02C5C3CC */ /* nop */
|
|
/* 02C5C3D0 */ /* nop */
|
|
/* 02C5C3D4 */ /* nop */
|
|
/* 02C5C3D8 */ /* nop */
|
|
/* 02C5C3DC */ /* nop */
|
|
/* 02C5C3E0 */ /* nop */
|
|
/* 02C5C3E4 */ /* nop */
|
|
/* 02C5C3E8 */ /* nop */
|
|
/* 02C5C3EC */ /* nop */
|
|
/* 02C5C3F0 */ /* nop */
|
|
/* 02C5C3F4 */ /* nop */
|
|
/* 02C5C3F8 */ /* nop */
|
|
/* 02C5C3FC */ /* nop */
|
|
L_02C5C400: ; // 0x2c5c400
|
|
/* 02C5C400 */ _t83 = cpu->r[28] + 0x00000000u;
|
|
/* 02C5C400 */ cpu->r[8] = rbrew_read32(cpu->mem, _t83);
|
|
/* 02C5C404 */ cpu->r[12] = 0x03000000u;
|
|
/* 02C5C408 */ cpu->r[8] = rbrew_rlwinm(cpu->r[8], 0x00000000u, 0x00000006u, 0x00000007u);
|
|
/* 02C5C40C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[12]);
|
|
/* 02C5C410 */ _t84 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C5C410 */ _t85 = _t84 & 0x00000001u;
|
|
/* 02C5C410 */ if (_t85) goto L_02C5C414; else goto L_02C5C440;
|
|
L_02C5C414: ; // 0x2c5c414
|
|
/* 02C5C414 */ cpu->r[8] = 0x00000003u;
|
|
/* 02C5C418 */ cpu->ctr = cpu->r[8];
|
|
/* 02C5C41C */ cpu->r[12] = 0x00000000u;
|
|
L_02C5C420: ; // 0x2c5c420
|
|
/* 02C5C420 */ _t86 = cpu->r[4] + cpu->r[12];
|
|
/* 02C5C420 */ cpu->r[0] = rbrew_read32(cpu->mem, _t86);
|
|
/* 02C5C424 */ _t87 = cpu->r[27] + cpu->r[12];
|
|
/* 02C5C424 */ rbrew_write32(cpu->mem, _t87, cpu->r[0]);
|
|
/* 02C5C428 */ cpu->r[12] = cpu->r[12] + 0x00000004u;
|
|
/* 02C5C42C */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02C5C42C */ _t88 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02C5C42C */ _t89 = _t88 >> (0x00000002u & 31u);
|
|
/* 02C5C42C */ _t90 = _t89 & 0x00000001u;
|
|
/* 02C5C42C */ if (_t90) goto L_02C5C420; else goto L_02C5C430;
|
|
L_02C5C430: ; // 0x2c5c430
|
|
/* 02C5C430 */ cpu->r[29] = cpu->r[29] + 0x00000001u;
|
|
/* 02C5C434 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[10]);
|
|
/* 02C5C438 */ _t91 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C5C438 */ _t92 = _t91 & 0x00000001u;
|
|
/* 02C5C438 */ if (_t92) goto L_02C5C180; else goto L_02C5C43C;
|
|
L_02C5C43C: ; // 0x2c5c43c
|
|
/* 02C5C43C */ goto L_02C5C46C;
|
|
L_02C5C440: ; // 0x2c5c440
|
|
/* 02C5C440 */ /* nop */
|
|
/* 02C5C444 */ /* nop */
|
|
/* 02C5C448 */ /* nop */
|
|
/* 02C5C44C */ /* nop */
|
|
/* 02C5C450 */ _t93 = cpu->r[4] + 0x00000008u;
|
|
/* 02C5C450 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t93);
|
|
/* 02C5C454 */ _t94 = cpu->r[28] + 0x0000000Cu;
|
|
/* 02C5C454 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t94);
|
|
/* 02C5C458 */ cpu->f[13] = cpu->f[13] * cpu->f[0];
|
|
/* 02C5C45C */ _t95 = cpu->r[27] + 0x00000008u;
|
|
/* 02C5C45C */ rbrew_write_f32(cpu->mem, _t95, cpu->f[13]);
|
|
/* 02C5C460 */ cpu->r[29] = cpu->r[29] + 0x00000001u;
|
|
/* 02C5C464 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[10]);
|
|
/* 02C5C468 */ _t96 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C5C468 */ _t97 = _t96 & 0x00000001u;
|
|
/* 02C5C468 */ if (_t97) goto L_02C5C180; else goto L_02C5C46C;
|
|
L_02C5C46C: ; // 0x2c5c46c
|
|
/* 02C5C46C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02C5C470 */ _t98 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C5C470 */ _t99 = _t98 & 0x00000001u;
|
|
/* 02C5C470 */ if (_t99) goto L_02C5C474; else goto L_02C5C518;
|
|
L_02C5C474: ; // 0x2c5c474
|
|
/* 02C5C474 */ cpu->r[4] = 0x00000000u;
|
|
/* 02C5C478 */ cpu->ctr = cpu->r[10];
|
|
/* 02C5C47C */ cpu->r[5] = cpu->r[4];
|
|
/* 02C5C480 */ cpu->r[8] = 0x30000000u;
|
|
/* 02C5C484 */ cpu->r[6] = cpu->r[5];
|
|
L_02C5C488: ; // 0x2c5c488
|
|
/* 02C5C488 */ _t100 = cpu->r[11] + cpu->r[6];
|
|
/* 02C5C488 */ cpu->r[10] = rbrew_read32(cpu->mem, _t100);
|
|
/* 02C5C48C */ cpu->r[12] = rbrew_rlwinm(cpu->r[10], 0x00000000u, 0x00000002u, 0x00000003u);
|
|
/* 02C5C490 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[8]);
|
|
/* 02C5C494 */ _t101 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C5C494 */ _t102 = _t101 & 0x00000001u;
|
|
/* 02C5C494 */ if (_t102) goto L_02C5C508; else goto L_02C5C498;
|
|
L_02C5C498: ; // 0x2c5c498
|
|
/* 02C5C498 */ cpu->r[10] = 0x101B0000u;
|
|
/* 02C5C49C */ cpu->r[12] = cpu->r[9] + cpu->r[4];
|
|
/* 02C5C4A0 */ cpu->r[10] = cpu->r[10] + 0xFFFFEF68u;
|
|
/* 02C5C4A4 */ _t103 = cpu->r[12] + 0x00000008u;
|
|
/* 02C5C4A4 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t103);
|
|
/* 02C5C4A8 */ /* nop */
|
|
/* 02C5C4AC */ cpu->r[10] = cpu->r[7] + cpu->r[5];
|
|
/* 02C5C4B0 */ /* nop */
|
|
/* 02C5C4B4 */ /* nop */
|
|
/* 02C5C4B8 */ /* nop */
|
|
/* 02C5C4BC */ /* nop */
|
|
/* 02C5C4C0 */ /* nop */
|
|
/* 02C5C4C4 */ /* nop */
|
|
/* 02C5C4C8 */ /* nop */
|
|
/* 02C5C4CC */ /* nop */
|
|
/* 02C5C4D0 */ /* nop */
|
|
/* 02C5C4D4 */ /* nop */
|
|
/* 02C5C4D8 */ /* nop */
|
|
/* 02C5C4DC */ /* nop */
|
|
/* 02C5C4E0 */ /* nop */
|
|
/* 02C5C4E4 */ /* nop */
|
|
/* 02C5C4E8 */ /* nop */
|
|
/* 02C5C4EC */ /* nop */
|
|
/* 02C5C4F0 */ /* nop */
|
|
/* 02C5C4F4 */ /* nop */
|
|
/* 02C5C4F8 */ /* nop */
|
|
/* 02C5C4FC */ /* nop */
|
|
/* 02C5C500 */ /* nop */
|
|
/* 02C5C504 */ /* nop */
|
|
L_02C5C508: ; // 0x2c5c508
|
|
/* 02C5C508 */ cpu->r[4] = cpu->r[4] + 0x0000000Cu;
|
|
/* 02C5C50C */ cpu->r[5] = cpu->r[5] + 0x00000030u;
|
|
/* 02C5C510 */ cpu->r[6] = cpu->r[6] + 0x00000040u;
|
|
/* 02C5C514 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02C5C514 */ _t104 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02C5C514 */ _t105 = _t104 >> (0x00000002u & 31u);
|
|
/* 02C5C514 */ _t106 = _t105 & 0x00000001u;
|
|
/* 02C5C514 */ if (_t106) goto L_02C5C488; else goto L_02C5C518;
|
|
L_02C5C518: ; // 0x2c5c518
|
|
/* 02C5C518 */ /* nop */
|
|
/* 02C5C51C */ cpu->r[1] = cpu->r[1] + 0x00000030u;
|
|
/* 02C5C520 */ return;
|
|
}
|
|
|
|
// fn_02C5C524 @ 0x2c5c524
|
|
void Gambit_fn_02C5C524(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;
|
|
|
|
L_02C5C524: ; // 0x2c5c524
|
|
/* 02C5C524 */ _t0 = cpu->r[1] + 0xFFFFFFB8u;
|
|
/* 02C5C524 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C5C524 */ cpu->r[1] = _t0;
|
|
/* 02C5C528 */ /* nop */
|
|
/* 02C5C52C */ cpu->r[0] = cpu->lr;
|
|
/* 02C5C530 */ _t1 = cpu->r[1] + 0x0000004Cu;
|
|
/* 02C5C530 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02C5C534 */ cpu->r[29] = cpu->r[3];
|
|
/* 02C5C538 */ _t2 = cpu->r[29] + 0x00000004u;
|
|
/* 02C5C538 */ cpu->r[0] = rbrew_read16(cpu->mem, _t2);
|
|
/* 02C5C53C */ _t3 = cpu->r[29] + 0x0000000Cu;
|
|
/* 02C5C53C */ cpu->r[30] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02C5C540 */ cpu->r[0] = cpu->r[0] | 0x00000004u;
|
|
/* 02C5C544 */ cpu->r[28] = 0x101B0000u;
|
|
/* 02C5C548 */ _t4 = cpu->r[29] + 0x00000004u;
|
|
/* 02C5C548 */ rbrew_write16(cpu->mem, _t4, (uint16_t)cpu->r[0]);
|
|
/* 02C5C54C */ _t5 = cpu->r[30] + 0x00000000u;
|
|
/* 02C5C54C */ cpu->r[7] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02C5C550 */ cpu->r[0] = 0x0C000000u;
|
|
/* 02C5C554 */ cpu->r[28] = cpu->r[28] + 0xFFFFEF60u;
|
|
/* 02C5C558 */ _t6 = cpu->r[29] + 0x00000010u;
|
|
/* 02C5C558 */ cpu->r[31] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02C5C55C */ cpu->r[6] = rbrew_rlwinm(cpu->r[7], 0x00000000u, 0x00000004u, 0x00000005u);
|
|
/* 02C5C560 */ _t7 = cpu->r[29] + 0x0000002Cu;
|
|
/* 02C5C560 */ cpu->r[27] = rbrew_read16(cpu->mem, _t7);
|
|
/* 02C5C564 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[0]);
|
|
/* 02C5C568 */ cpu->r[12] = cpu->r[31];
|
|
/* 02C5C56C */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C5C56C */ _t9 = _t8 & 0x00000001u;
|
|
/* 02C5C56C */ if (_t9) goto L_02C5C570; else goto L_02C5C5D8;
|
|
L_02C5C570: ; // 0x2c5c570
|
|
/* 02C5C570 */ cpu->r[7] = 0x00000000u;
|
|
/* 02C5C574 */ cpu->r[10] = 0x00000003u;
|
|
L_02C5C578: ; // 0x2c5c578
|
|
/* 02C5C578 */ cpu->r[8] = 0x00000004u;
|
|
/* 02C5C57C */ cpu->r[9] = cpu->r[4] + cpu->r[7];
|
|
/* 02C5C580 */ cpu->r[11] = 0x00000000u;
|
|
/* 02C5C584 */ cpu->ctr = cpu->r[8];
|
|
/* 02C5C588 */ cpu->r[6] = cpu->r[12] + cpu->r[7];
|
|
L_02C5C58C: ; // 0x2c5c58c
|
|
/* 02C5C58C */ _t10 = cpu->r[9] + cpu->r[11];
|
|
/* 02C5C58C */ cpu->r[9] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02C5C590 */ _t11 = cpu->r[6] + cpu->r[11];
|
|
/* 02C5C590 */ rbrew_write32(cpu->mem, _t11, cpu->r[9]);
|
|
/* 02C5C594 */ cpu->r[11] = cpu->r[11] + 0x00000004u;
|
|
/* 02C5C598 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02C5C598 */ _t12 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02C5C598 */ _t13 = _t12 >> (0x00000002u & 31u);
|
|
/* 02C5C598 */ _t14 = _t13 & 0x00000001u;
|
|
/* 02C5C598 */ if (_t14) goto L_02C5C58C; else goto L_02C5C59C;
|
|
L_02C5C59C: ; // 0x2c5c59c
|
|
/* 02C5C59C */ cpu->r[10] = cpu->r[10] + 0xFFFFFFFFu;
|
|
/* 02C5C59C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02C5C5A0 */ cpu->r[7] = cpu->r[7] + 0x00000010u;
|
|
/* 02C5C5A4 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C5C5A4 */ _t16 = _t15 & 0x00000001u;
|
|
/* 02C5C5A4 */ if (_t16) goto L_02C5C5A8; else goto L_02C5C578;
|
|
L_02C5C5A8: ; // 0x2c5c5a8
|
|
/* 02C5C5A8 */ _t17 = cpu->r[30] + 0x00000000u;
|
|
/* 02C5C5A8 */ cpu->r[6] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02C5C5AC */ cpu->r[0] = rbrew_rlwinm(cpu->r[6], 0x00000000u, 0x00000004u, 0x0000001Fu);
|
|
/* 02C5C5B0 */ _t18 = rbrew_rlwinm(cpu->r[6], 0x00000004u, 0x00000002u, 0x00000003u);
|
|
/* 02C5C5B0 */ _t19 = cpu->r[0] & 0xCFFFFFFFu;
|
|
/* 02C5C5B0 */ cpu->r[0] = _t19 | _t18;
|
|
/* 02C5C5B4 */ cpu->r[10] = cpu->r[1] + 0x00000008u;
|
|
/* 02C5C5B8 */ _t20 = cpu->r[30] + 0x00000000u;
|
|
/* 02C5C5B8 */ rbrew_write32(cpu->mem, _t20, cpu->r[0]);
|
|
/* 02C5C5BC */ _t21 = cpu->r[29] + 0x0000002Eu;
|
|
/* 02C5C5BC */ cpu->r[0] = rbrew_read16(cpu->mem, _t21);
|
|
/* 02C5C5C0 */ cpu->r[11] = 0x00000000u;
|
|
/* 02C5C5C4 */ _t22 = cpu->r[1] + 0x00000018u;
|
|
/* 02C5C5C4 */ rbrew_write32(cpu->mem, _t22, cpu->r[10]);
|
|
/* 02C5C5C8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C5C5CC */ _t23 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C5C5CC */ rbrew_write32(cpu->mem, _t23, cpu->r[0]);
|
|
/* 02C5C5D0 */ _t24 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C5C5D0 */ _t25 = _t24 & 0x00000001u;
|
|
/* 02C5C5D0 */ if (_t25) goto L_02C5C5D4; else goto L_02C5C6E4;
|
|
L_02C5C5D4: ; // 0x2c5c5d4
|
|
/* 02C5C5D4 */ goto L_02C5C6A8;
|
|
L_02C5C5D8: ; // 0x2c5c5d8
|
|
/* 02C5C5D8 */ cpu->r[11] = cpu->r[30] + 0x00000010u;
|
|
/* 02C5C5DC */ /* nop */
|
|
/* 02C5C5E0 */ /* nop */
|
|
/* 02C5C5E4 */ /* nop */
|
|
/* 02C5C5E8 */ /* nop */
|
|
/* 02C5C5EC */ /* nop */
|
|
/* 02C5C5F0 */ /* nop */
|
|
/* 02C5C5F4 */ /* nop */
|
|
/* 02C5C5F8 */ /* nop */
|
|
/* 02C5C5FC */ /* nop */
|
|
/* 02C5C600 */ /* nop */
|
|
/* 02C5C604 */ /* nop */
|
|
/* 02C5C608 */ /* nop */
|
|
/* 02C5C60C */ /* nop */
|
|
/* 02C5C610 */ /* nop */
|
|
/* 02C5C614 */ /* nop */
|
|
/* 02C5C618 */ /* nop */
|
|
/* 02C5C61C */ /* nop */
|
|
/* 02C5C620 */ /* nop */
|
|
/* 02C5C624 */ /* nop */
|
|
/* 02C5C628 */ /* nop */
|
|
/* 02C5C62C */ /* nop */
|
|
/* 02C5C630 */ /* nop */
|
|
/* 02C5C634 */ /* nop */
|
|
/* 02C5C638 */ /* nop */
|
|
/* 02C5C63C */ /* nop */
|
|
/* 02C5C640 */ /* nop */
|
|
/* 02C5C644 */ /* nop */
|
|
/* 02C5C648 */ /* nop */
|
|
/* 02C5C64C */ /* nop */
|
|
/* 02C5C650 */ /* nop */
|
|
/* 02C5C654 */ /* nop */
|
|
/* 02C5C658 */ /* nop */
|
|
/* 02C5C65C */ /* nop */
|
|
/* 02C5C660 */ /* nop */
|
|
/* 02C5C664 */ /* nop */
|
|
/* 02C5C668 */ /* nop */
|
|
/* 02C5C66C */ /* nop */
|
|
/* 02C5C670 */ /* nop */
|
|
/* 02C5C674 */ /* nop */
|
|
/* 02C5C678 */ /* nop */
|
|
/* 02C5C67C */ _t26 = cpu->r[30] + 0x00000000u;
|
|
/* 02C5C67C */ cpu->r[6] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02C5C680 */ cpu->r[0] = rbrew_rlwinm(cpu->r[6], 0x00000000u, 0x00000004u, 0x0000001Fu);
|
|
/* 02C5C684 */ _t27 = rbrew_rlwinm(cpu->r[6], 0x00000004u, 0x00000002u, 0x00000003u);
|
|
/* 02C5C684 */ _t28 = cpu->r[0] & 0xCFFFFFFFu;
|
|
/* 02C5C684 */ cpu->r[0] = _t28 | _t27;
|
|
/* 02C5C688 */ cpu->r[10] = cpu->r[1] + 0x00000008u;
|
|
/* 02C5C68C */ _t29 = cpu->r[30] + 0x00000000u;
|
|
/* 02C5C68C */ rbrew_write32(cpu->mem, _t29, cpu->r[0]);
|
|
/* 02C5C690 */ _t30 = cpu->r[29] + 0x0000002Eu;
|
|
/* 02C5C690 */ cpu->r[0] = rbrew_read16(cpu->mem, _t30);
|
|
/* 02C5C694 */ cpu->r[11] = 0x00000000u;
|
|
/* 02C5C698 */ _t31 = cpu->r[1] + 0x00000018u;
|
|
/* 02C5C698 */ rbrew_write32(cpu->mem, _t31, cpu->r[10]);
|
|
/* 02C5C69C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C5C6A0 */ _t32 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C5C6A0 */ rbrew_write32(cpu->mem, _t32, cpu->r[0]);
|
|
/* 02C5C6A4 */ _t33 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C5C6A4 */ _t34 = _t33 & 0x00000001u;
|
|
/* 02C5C6A4 */ if (_t34) goto L_02C5C6A8; else goto L_02C5C6E4;
|
|
L_02C5C6A8: ; // 0x2c5c6a8
|
|
/* 02C5C6A8 */ _t35 = cpu->r[29] + 0x00000010u;
|
|
/* 02C5C6A8 */ cpu->r[6] = rbrew_read32(cpu->mem, _t35);
|
|
/* 02C5C6AC */ cpu->r[5] = 0x00000000u;
|
|
/* 02C5C6B0 */ _t36 = cpu->r[29] + 0x0000000Cu;
|
|
/* 02C5C6B0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t36);
|
|
/* 02C5C6B4 */ _t37 = cpu->r[1] + 0x00000020u;
|
|
/* 02C5C6B4 */ rbrew_write32(cpu->mem, _t37, cpu->r[6]);
|
|
/* 02C5C6B8 */ _t38 = cpu->r[29] + 0x00000030u;
|
|
/* 02C5C6B8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t38);
|
|
/* 02C5C6BC */ _t39 = cpu->r[1] + 0x00000028u;
|
|
/* 02C5C6BC */ rbrew_write32(cpu->mem, _t39, cpu->r[0]);
|
|
/* 02C5C6C0 */ _t40 = cpu->r[1] + 0x00000024u;
|
|
/* 02C5C6C0 */ rbrew_write32(cpu->mem, _t40, cpu->r[5]);
|
|
/* 02C5C6C4 */ _t41 = cpu->r[1] + 0x00000008u;
|
|
/* 02C5C6C4 */ rbrew_write32(cpu->mem, _t41, cpu->r[11]);
|
|
/* 02C5C6C8 */ _t42 = cpu->r[3] + 0x00000000u;
|
|
/* 02C5C6C8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t42);
|
|
/* 02C5C6CC */ _t43 = cpu->r[8] + 0x00000014u;
|
|
/* 02C5C6CC */ cpu->r[9] = rbrew_read32(cpu->mem, _t43);
|
|
/* 02C5C6D0 */ cpu->ctr = cpu->r[9];
|
|
/* 02C5C6D4 */ cpu->r[5] = cpu->r[1] + 0x00000020u;
|
|
/* 02C5C6D8 */ cpu->r[4] = cpu->r[1] + 0x00000018u;
|
|
/* 02C5C6DC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02C5C6E0 */ _t44 = cpu->r[1] + 0x00000008u;
|
|
/* 02C5C6E0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t44);
|
|
L_02C5C6E4: ; // 0x2c5c6e4
|
|
/* 02C5C6E4 */ cpu->r[11] = cpu->r[11] + 0x00000001u;
|
|
/* 02C5C6E8 */ cpu->r[26] = 0x00000000u;
|
|
/* 02C5C6EC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], cpu->r[27]);
|
|
/* 02C5C6F0 */ _t45 = cpu->r[1] + 0x00000008u;
|
|
/* 02C5C6F0 */ rbrew_write32(cpu->mem, _t45, cpu->r[11]);
|
|
/* 02C5C6F4 */ cpu->r[25] = 0x0C000000u;
|
|
/* 02C5C6F8 */ _t46 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C5C6F8 */ _t47 = _t46 & 0x00000001u;
|
|
/* 02C5C6F8 */ if (_t47) goto L_02C5C6FC; else goto L_02C5C8A4;
|
|
L_02C5C6FC: ; // 0x2c5c6fc
|
|
/* 02C5C6FC */ _t48 = cpu->r[29] + 0x00000008u;
|
|
/* 02C5C6FC */ cpu->r[4] = rbrew_read32(cpu->mem, _t48);
|
|
/* 02C5C700 */ cpu->r[0] = rbrew_rlwinm(cpu->r[11], 0x00000006u, 0x00000000u, 0x00000019u);
|
|
/* 02C5C704 */ cpu->r[9] = cpu->r[4] + cpu->r[0];
|
|
/* 02C5C708 */ _t49 = cpu->r[9] + 0x00000006u;
|
|
/* 02C5C708 */ cpu->r[0] = rbrew_read16(cpu->mem, _t49);
|
|
/* 02C5C70C */ _t50 = cpu->r[9] + 0x00000004u;
|
|
/* 02C5C70C */ cpu->r[5] = rbrew_read16(cpu->mem, _t50);
|
|
/* 02C5C710 */ cpu->r[6] = rbrew_rlwinm(cpu->r[0], 0x00000006u, 0x00000000u, 0x00000019u);
|
|
/* 02C5C714 */ _t51 = cpu->r[30] + cpu->r[6];
|
|
/* 02C5C714 */ cpu->r[11] = rbrew_read32(cpu->mem, _t51);
|
|
/* 02C5C718 */ cpu->r[8] = rbrew_rlwinm(cpu->r[5], 0x00000006u, 0x00000000u, 0x00000019u);
|
|
/* 02C5C71C */ _t52 = cpu->r[30] + cpu->r[8];
|
|
/* 02C5C71C */ cpu->r[7] = rbrew_read32(cpu->mem, _t52);
|
|
/* 02C5C720 */ cpu->r[9] = (uint32_t)((int32_t)cpu->r[0] * (int32_t)0x00000030u);
|
|
/* 02C5C724 */ cpu->r[10] = rbrew_rlwinm(cpu->r[7], 0x00000004u, 0x00000000u, 0x0000001Bu);
|
|
/* 02C5C728 */ cpu->r[4] = cpu->r[11] & cpu->r[10];
|
|
/* 02C5C72C */ cpu->r[12] = cpu->r[30] + cpu->r[8];
|
|
/* 02C5C730 */ _t53 = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x00000000u, 0x00000003u);
|
|
/* 02C5C730 */ _t54 = cpu->r[7] & 0x0FFFFFFFu;
|
|
/* 02C5C730 */ cpu->r[7] = _t54 | _t53;
|
|
/* 02C5C734 */ cpu->r[3] = (uint32_t)((int32_t)cpu->r[5] * (int32_t)0x00000030u);
|
|
/* 02C5C738 */ cpu->r[0] = rbrew_rlwinm(cpu->r[7], 0x00000000u, 0x00000004u, 0x00000005u);
|
|
/* 02C5C73C */ cpu->r[4] = cpu->r[31] + cpu->r[9];
|
|
/* 02C5C740 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[25]);
|
|
/* 02C5C744 */ _t55 = cpu->r[12] + 0x00000000u;
|
|
/* 02C5C744 */ rbrew_write32(cpu->mem, _t55, cpu->r[7]);
|
|
/* 02C5C748 */ cpu->r[8] = cpu->r[31] + cpu->r[3];
|
|
/* 02C5C74C */ _t56 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C5C74C */ _t57 = _t56 & 0x00000001u;
|
|
/* 02C5C74C */ if (_t57) goto L_02C5C750; else goto L_02C5C79C;
|
|
L_02C5C750: ; // 0x2c5c750
|
|
/* 02C5C750 */ cpu->r[7] = 0x00000000u;
|
|
/* 02C5C754 */ cpu->r[6] = 0x00000003u;
|
|
L_02C5C758: ; // 0x2c5c758
|
|
/* 02C5C758 */ cpu->r[0] = 0x00000004u;
|
|
/* 02C5C75C */ cpu->r[10] = cpu->r[4] + cpu->r[7];
|
|
/* 02C5C760 */ cpu->r[5] = 0x00000000u;
|
|
/* 02C5C764 */ cpu->ctr = cpu->r[0];
|
|
/* 02C5C768 */ cpu->r[9] = cpu->r[8] + cpu->r[7];
|
|
L_02C5C76C: ; // 0x2c5c76c
|
|
/* 02C5C76C */ _t58 = cpu->r[10] + cpu->r[5];
|
|
/* 02C5C76C */ cpu->r[7] = rbrew_read32(cpu->mem, _t58);
|
|
/* 02C5C770 */ _t59 = cpu->r[9] + cpu->r[5];
|
|
/* 02C5C770 */ rbrew_write32(cpu->mem, _t59, cpu->r[7]);
|
|
/* 02C5C774 */ cpu->r[5] = cpu->r[5] + 0x00000004u;
|
|
/* 02C5C778 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02C5C778 */ _t60 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02C5C778 */ _t61 = _t60 >> (0x00000002u & 31u);
|
|
/* 02C5C778 */ _t62 = _t61 & 0x00000001u;
|
|
/* 02C5C778 */ if (_t62) goto L_02C5C76C; else goto L_02C5C77C;
|
|
L_02C5C77C: ; // 0x2c5c77c
|
|
/* 02C5C77C */ cpu->r[6] = cpu->r[6] + 0xFFFFFFFFu;
|
|
/* 02C5C77C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u);
|
|
/* 02C5C780 */ cpu->r[7] = cpu->r[7] + 0x00000010u;
|
|
/* 02C5C784 */ _t63 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C5C784 */ _t64 = _t63 & 0x00000001u;
|
|
/* 02C5C784 */ if (_t64) goto L_02C5C788; else goto L_02C5C758;
|
|
L_02C5C788: ; // 0x2c5c788
|
|
/* 02C5C788 */ _t65 = cpu->r[1] + 0x00000008u;
|
|
/* 02C5C788 */ cpu->r[11] = rbrew_read32(cpu->mem, _t65);
|
|
/* 02C5C78C */ _t66 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C5C78C */ cpu->r[5] = rbrew_read32(cpu->mem, _t66);
|
|
/* 02C5C790 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], cpu->r[11]);
|
|
/* 02C5C794 */ _t67 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C5C794 */ _t68 = _t67 & 0x00000001u;
|
|
/* 02C5C794 */ if (_t68) goto L_02C5C798; else goto L_02C5C894;
|
|
L_02C5C798: ; // 0x2c5c798
|
|
/* 02C5C798 */ goto L_02C5C850;
|
|
L_02C5C79C: ; // 0x2c5c79c
|
|
/* 02C5C79C */ cpu->r[5] = cpu->r[12] + 0x00000010u;
|
|
/* 02C5C7A0 */ /* nop */
|
|
/* 02C5C7A4 */ /* nop */
|
|
/* 02C5C7A8 */ /* nop */
|
|
/* 02C5C7AC */ /* nop */
|
|
/* 02C5C7B0 */ /* nop */
|
|
/* 02C5C7B4 */ /* nop */
|
|
/* 02C5C7B8 */ /* nop */
|
|
/* 02C5C7BC */ /* nop */
|
|
/* 02C5C7C0 */ /* nop */
|
|
/* 02C5C7C4 */ /* nop */
|
|
/* 02C5C7C8 */ /* nop */
|
|
/* 02C5C7CC */ /* nop */
|
|
/* 02C5C7D0 */ /* nop */
|
|
/* 02C5C7D4 */ /* nop */
|
|
/* 02C5C7D8 */ /* nop */
|
|
/* 02C5C7DC */ /* nop */
|
|
/* 02C5C7E0 */ /* nop */
|
|
/* 02C5C7E4 */ /* nop */
|
|
/* 02C5C7E8 */ /* nop */
|
|
/* 02C5C7EC */ /* nop */
|
|
/* 02C5C7F0 */ /* nop */
|
|
/* 02C5C7F4 */ /* nop */
|
|
/* 02C5C7F8 */ /* nop */
|
|
/* 02C5C7FC */ /* nop */
|
|
/* 02C5C800 */ /* nop */
|
|
/* 02C5C804 */ /* nop */
|
|
/* 02C5C808 */ /* nop */
|
|
/* 02C5C80C */ /* nop */
|
|
/* 02C5C810 */ /* nop */
|
|
/* 02C5C814 */ /* nop */
|
|
/* 02C5C818 */ /* nop */
|
|
/* 02C5C81C */ /* nop */
|
|
/* 02C5C820 */ /* nop */
|
|
/* 02C5C824 */ /* nop */
|
|
/* 02C5C828 */ /* nop */
|
|
/* 02C5C82C */ /* nop */
|
|
/* 02C5C830 */ /* nop */
|
|
/* 02C5C834 */ /* nop */
|
|
/* 02C5C838 */ /* nop */
|
|
/* 02C5C83C */ /* nop */
|
|
/* 02C5C840 */ _t69 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C5C840 */ cpu->r[5] = rbrew_read32(cpu->mem, _t69);
|
|
/* 02C5C844 */ _t70 = cpu->r[1] + 0x00000008u;
|
|
/* 02C5C844 */ cpu->r[11] = rbrew_read32(cpu->mem, _t70);
|
|
/* 02C5C848 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], cpu->r[11]);
|
|
/* 02C5C84C */ _t71 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C5C84C */ _t72 = _t71 & 0x00000001u;
|
|
/* 02C5C84C */ if (_t72) goto L_02C5C850; else goto L_02C5C894;
|
|
L_02C5C850: ; // 0x2c5c850
|
|
/* 02C5C850 */ cpu->r[8] = (uint32_t)((int32_t)cpu->r[11] * (int32_t)0x00000030u);
|
|
/* 02C5C854 */ _t73 = cpu->r[29] + 0x00000010u;
|
|
/* 02C5C854 */ cpu->r[10] = rbrew_read32(cpu->mem, _t73);
|
|
/* 02C5C858 */ _t74 = cpu->r[29] + 0x00000030u;
|
|
/* 02C5C858 */ cpu->r[3] = rbrew_read32(cpu->mem, _t74);
|
|
/* 02C5C85C */ cpu->r[0] = cpu->r[10] + cpu->r[8];
|
|
/* 02C5C860 */ _t75 = cpu->r[29] + 0x0000000Cu;
|
|
/* 02C5C860 */ cpu->r[5] = rbrew_read32(cpu->mem, _t75);
|
|
/* 02C5C864 */ cpu->r[12] = rbrew_rlwinm(cpu->r[11], 0x00000006u, 0x00000000u, 0x00000019u);
|
|
/* 02C5C868 */ _t76 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C5C868 */ rbrew_write32(cpu->mem, _t76, cpu->r[0]);
|
|
/* 02C5C86C */ cpu->r[4] = cpu->r[5] + cpu->r[12];
|
|
/* 02C5C870 */ _t77 = cpu->r[1] + 0x00000010u;
|
|
/* 02C5C870 */ rbrew_write32(cpu->mem, _t77, cpu->r[26]);
|
|
/* 02C5C874 */ _t78 = cpu->r[1] + 0x00000014u;
|
|
/* 02C5C874 */ rbrew_write32(cpu->mem, _t78, cpu->r[4]);
|
|
/* 02C5C878 */ _t79 = cpu->r[3] + 0x00000000u;
|
|
/* 02C5C878 */ cpu->r[7] = rbrew_read32(cpu->mem, _t79);
|
|
/* 02C5C87C */ _t80 = cpu->r[7] + 0x00000014u;
|
|
/* 02C5C87C */ cpu->r[0] = rbrew_read32(cpu->mem, _t80);
|
|
/* 02C5C880 */ cpu->ctr = cpu->r[0];
|
|
/* 02C5C884 */ cpu->r[4] = cpu->r[1] + 0x00000018u;
|
|
/* 02C5C888 */ cpu->r[5] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C5C88C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02C5C890 */ _t81 = cpu->r[1] + 0x00000008u;
|
|
/* 02C5C890 */ cpu->r[11] = rbrew_read32(cpu->mem, _t81);
|
|
L_02C5C894: ; // 0x2c5c894
|
|
/* 02C5C894 */ cpu->r[11] = cpu->r[11] + 0x00000001u;
|
|
/* 02C5C898 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], cpu->r[27]);
|
|
/* 02C5C89C */ _t82 = cpu->r[1] + 0x00000008u;
|
|
/* 02C5C89C */ rbrew_write32(cpu->mem, _t82, cpu->r[11]);
|
|
/* 02C5C8A0 */ _t83 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C5C8A0 */ _t84 = _t83 & 0x00000001u;
|
|
/* 02C5C8A0 */ if (_t84) goto L_02C5C6FC; else goto L_02C5C8A4;
|
|
L_02C5C8A4: ; // 0x2c5c8a4
|
|
/* 02C5C8A4 */ /* nop */
|
|
/* 02C5C8A8 */ _t85 = cpu->r[1] + 0x0000004Cu;
|
|
/* 02C5C8A8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t85);
|
|
/* 02C5C8AC */ cpu->lr = cpu->r[0];
|
|
/* 02C5C8B0 */ cpu->r[1] = cpu->r[1] + 0x00000048u;
|
|
/* 02C5C8B4 */ return;
|
|
}
|
|
|
|
// fn_02C5C8B8 @ 0x2c5c8b8
|
|
void Gambit_fn_02C5C8B8(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;
|
|
|
|
L_02C5C8B8: ; // 0x2c5c8b8
|
|
/* 02C5C8B8 */ _t0 = cpu->r[1] + 0xFFFFFF70u;
|
|
/* 02C5C8B8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C5C8B8 */ cpu->r[1] = _t0;
|
|
/* 02C5C8BC */ /* nop */
|
|
/* 02C5C8C0 */ cpu->r[0] = cpu->lr;
|
|
/* 02C5C8C4 */ _t1 = cpu->r[1] + 0x00000060u;
|
|
/* 02C5C8C4 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[29]);
|
|
/* 02C5C8C8 */ /* nop */
|
|
/* 02C5C8CC */ _t2 = cpu->r[1] + 0x00000070u;
|
|
/* 02C5C8CC */ rbrew_write_f64(cpu->mem, _t2, cpu->f[30]);
|
|
/* 02C5C8D0 */ _t3 = cpu->r[1] + 0x00000068u;
|
|
/* 02C5C8D0 */ rbrew_write_f32(cpu->mem, _t3, cpu->f[29]);
|
|
/* 02C5C8D4 */ /* nop */
|
|
/* 02C5C8D8 */ _t4 = cpu->r[1] + 0x00000078u;
|
|
/* 02C5C8D8 */ rbrew_write_f32(cpu->mem, _t4, cpu->f[30]);
|
|
/* 02C5C8DC */ _t5 = cpu->r[1] + 0x00000080u;
|
|
/* 02C5C8DC */ rbrew_write_f64(cpu->mem, _t5, cpu->f[31]);
|
|
/* 02C5C8E0 */ _t6 = cpu->r[1] + 0x00000050u;
|
|
/* 02C5C8E0 */ rbrew_write_f64(cpu->mem, _t6, cpu->f[28]);
|
|
/* 02C5C8E4 */ /* nop */
|
|
/* 02C5C8E8 */ _t7 = cpu->r[1] + 0x00000088u;
|
|
/* 02C5C8E8 */ rbrew_write_f32(cpu->mem, _t7, cpu->f[31]);
|
|
/* 02C5C8EC */ /* nop */
|
|
/* 02C5C8F0 */ _t8 = cpu->r[1] + 0x00000058u;
|
|
/* 02C5C8F0 */ rbrew_write_f32(cpu->mem, _t8, cpu->f[28]);
|
|
/* 02C5C8F4 */ _t9 = cpu->r[1] + 0x00000094u;
|
|
/* 02C5C8F4 */ rbrew_write32(cpu->mem, _t9, cpu->r[0]);
|
|
/* 02C5C8F8 */ cpu->r[28] = cpu->r[3];
|
|
/* 02C5C8FC */ _t10 = cpu->r[28] + 0x00000004u;
|
|
/* 02C5C8FC */ cpu->r[11] = rbrew_read16(cpu->mem, _t10);
|
|
/* 02C5C900 */ _t11 = cpu->r[28] + 0x0000000Cu;
|
|
/* 02C5C900 */ cpu->r[30] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02C5C904 */ cpu->r[11] = cpu->r[11] | 0x00000004u;
|
|
/* 02C5C908 */ _t12 = cpu->r[28] + 0x00000004u;
|
|
/* 02C5C908 */ rbrew_write16(cpu->mem, _t12, (uint16_t)cpu->r[11]);
|
|
/* 02C5C90C */ _t13 = cpu->r[30] + 0x00000000u;
|
|
/* 02C5C90C */ cpu->r[5] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02C5C910 */ cpu->r[27] = 0x101B0000u;
|
|
/* 02C5C914 */ cpu->r[6] = 0x0C000000u;
|
|
/* 02C5C918 */ _t14 = cpu->r[28] + 0x00000010u;
|
|
/* 02C5C918 */ cpu->r[31] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02C5C91C */ cpu->r[0] = rbrew_rlwinm(cpu->r[5], 0x00000000u, 0x00000004u, 0x00000005u);
|
|
/* 02C5C920 */ cpu->r[27] = cpu->r[27] + 0xFFFFEF60u;
|
|
/* 02C5C924 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[6]);
|
|
/* 02C5C928 */ _t15 = cpu->r[28] + 0x0000002Cu;
|
|
/* 02C5C928 */ cpu->r[29] = rbrew_read16(cpu->mem, _t15);
|
|
/* 02C5C92C */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C5C92C */ _t17 = _t16 & 0x00000001u;
|
|
/* 02C5C92C */ if (_t17) goto L_02C5C930; else goto L_02C5C99C;
|
|
L_02C5C930: ; // 0x2c5c930
|
|
/* 02C5C930 */ cpu->r[11] = 0x00000000u;
|
|
/* 02C5C934 */ cpu->r[9] = 0x00000003u;
|
|
/* 02C5C938 */ cpu->r[12] = cpu->r[31];
|
|
L_02C5C93C: ; // 0x2c5c93c
|
|
/* 02C5C93C */ cpu->r[0] = 0x00000004u;
|
|
/* 02C5C940 */ cpu->r[8] = cpu->r[4] + cpu->r[11];
|
|
/* 02C5C944 */ cpu->r[10] = 0x00000000u;
|
|
/* 02C5C948 */ cpu->ctr = cpu->r[0];
|
|
/* 02C5C94C */ cpu->r[7] = cpu->r[12] + cpu->r[11];
|
|
L_02C5C950: ; // 0x2c5c950
|
|
/* 02C5C950 */ _t18 = cpu->r[8] + cpu->r[10];
|
|
/* 02C5C950 */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02C5C954 */ _t19 = cpu->r[7] + cpu->r[10];
|
|
/* 02C5C954 */ rbrew_write32(cpu->mem, _t19, cpu->r[0]);
|
|
/* 02C5C958 */ cpu->r[10] = cpu->r[10] + 0x00000004u;
|
|
/* 02C5C95C */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02C5C95C */ _t20 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02C5C95C */ _t21 = _t20 >> (0x00000002u & 31u);
|
|
/* 02C5C95C */ _t22 = _t21 & 0x00000001u;
|
|
/* 02C5C95C */ if (_t22) goto L_02C5C950; else goto L_02C5C960;
|
|
L_02C5C960: ; // 0x2c5c960
|
|
/* 02C5C960 */ cpu->r[9] = cpu->r[9] + 0xFFFFFFFFu;
|
|
/* 02C5C960 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 02C5C964 */ cpu->r[11] = cpu->r[11] + 0x00000010u;
|
|
/* 02C5C968 */ _t23 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C5C968 */ _t24 = _t23 & 0x00000001u;
|
|
/* 02C5C968 */ if (_t24) goto L_02C5C96C; else goto L_02C5C93C;
|
|
L_02C5C96C: ; // 0x2c5c96c
|
|
/* 02C5C96C */ _t25 = cpu->r[30] + 0x00000000u;
|
|
/* 02C5C96C */ cpu->r[0] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02C5C970 */ cpu->r[9] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000004u, 0x0000001Fu);
|
|
/* 02C5C974 */ _t26 = rbrew_rlwinm(cpu->r[0], 0x00000004u, 0x00000002u, 0x00000003u);
|
|
/* 02C5C974 */ _t27 = cpu->r[9] & 0xCFFFFFFFu;
|
|
/* 02C5C974 */ cpu->r[9] = _t27 | _t26;
|
|
/* 02C5C978 */ cpu->r[10] = cpu->r[1] + 0x00000008u;
|
|
/* 02C5C97C */ _t28 = cpu->r[30] + 0x00000000u;
|
|
/* 02C5C97C */ rbrew_write32(cpu->mem, _t28, cpu->r[9]);
|
|
/* 02C5C980 */ _t29 = cpu->r[28] + 0x0000002Eu;
|
|
/* 02C5C980 */ cpu->r[9] = rbrew_read16(cpu->mem, _t29);
|
|
/* 02C5C984 */ cpu->r[11] = 0x00000000u;
|
|
/* 02C5C988 */ _t30 = cpu->r[1] + 0x00000018u;
|
|
/* 02C5C988 */ rbrew_write32(cpu->mem, _t30, cpu->r[10]);
|
|
/* 02C5C98C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 02C5C990 */ _t31 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C5C990 */ rbrew_write32(cpu->mem, _t31, cpu->r[9]);
|
|
/* 02C5C994 */ _t32 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C5C994 */ _t33 = _t32 & 0x00000001u;
|
|
/* 02C5C994 */ if (_t33) goto L_02C5C998; else goto L_02C5CAA8;
|
|
L_02C5C998: ; // 0x2c5c998
|
|
/* 02C5C998 */ goto L_02C5CA6C;
|
|
L_02C5C99C: ; // 0x2c5c99c
|
|
/* 02C5C99C */ /* nop */
|
|
/* 02C5C9A0 */ cpu->r[7] = cpu->r[30] + 0x00000010u;
|
|
/* 02C5C9A4 */ /* nop */
|
|
/* 02C5C9A8 */ /* nop */
|
|
/* 02C5C9AC */ /* nop */
|
|
/* 02C5C9B0 */ /* nop */
|
|
/* 02C5C9B4 */ /* nop */
|
|
/* 02C5C9B8 */ /* nop */
|
|
/* 02C5C9BC */ /* nop */
|
|
/* 02C5C9C0 */ /* nop */
|
|
/* 02C5C9C4 */ /* nop */
|
|
/* 02C5C9C8 */ /* nop */
|
|
/* 02C5C9CC */ /* nop */
|
|
/* 02C5C9D0 */ /* nop */
|
|
/* 02C5C9D4 */ /* nop */
|
|
/* 02C5C9D8 */ /* nop */
|
|
/* 02C5C9DC */ /* nop */
|
|
/* 02C5C9E0 */ /* nop */
|
|
/* 02C5C9E4 */ /* nop */
|
|
/* 02C5C9E8 */ /* nop */
|
|
/* 02C5C9EC */ /* nop */
|
|
/* 02C5C9F0 */ /* nop */
|
|
/* 02C5C9F4 */ /* nop */
|
|
/* 02C5C9F8 */ /* nop */
|
|
/* 02C5C9FC */ /* nop */
|
|
/* 02C5CA00 */ /* nop */
|
|
/* 02C5CA04 */ /* nop */
|
|
/* 02C5CA08 */ /* nop */
|
|
/* 02C5CA0C */ /* nop */
|
|
/* 02C5CA10 */ /* nop */
|
|
/* 02C5CA14 */ /* nop */
|
|
/* 02C5CA18 */ /* nop */
|
|
/* 02C5CA1C */ /* nop */
|
|
/* 02C5CA20 */ /* nop */
|
|
/* 02C5CA24 */ /* nop */
|
|
/* 02C5CA28 */ /* nop */
|
|
/* 02C5CA2C */ /* nop */
|
|
/* 02C5CA30 */ /* nop */
|
|
/* 02C5CA34 */ /* nop */
|
|
/* 02C5CA38 */ /* nop */
|
|
/* 02C5CA3C */ /* nop */
|
|
/* 02C5CA40 */ _t34 = cpu->r[30] + 0x00000000u;
|
|
/* 02C5CA40 */ cpu->r[0] = rbrew_read32(cpu->mem, _t34);
|
|
/* 02C5CA44 */ cpu->r[9] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000004u, 0x0000001Fu);
|
|
/* 02C5CA48 */ _t35 = rbrew_rlwinm(cpu->r[0], 0x00000004u, 0x00000002u, 0x00000003u);
|
|
/* 02C5CA48 */ _t36 = cpu->r[9] & 0xCFFFFFFFu;
|
|
/* 02C5CA48 */ cpu->r[9] = _t36 | _t35;
|
|
/* 02C5CA4C */ cpu->r[10] = cpu->r[1] + 0x00000008u;
|
|
/* 02C5CA50 */ _t37 = cpu->r[30] + 0x00000000u;
|
|
/* 02C5CA50 */ rbrew_write32(cpu->mem, _t37, cpu->r[9]);
|
|
/* 02C5CA54 */ _t38 = cpu->r[28] + 0x0000002Eu;
|
|
/* 02C5CA54 */ cpu->r[9] = rbrew_read16(cpu->mem, _t38);
|
|
/* 02C5CA58 */ cpu->r[11] = 0x00000000u;
|
|
/* 02C5CA5C */ _t39 = cpu->r[1] + 0x00000018u;
|
|
/* 02C5CA5C */ rbrew_write32(cpu->mem, _t39, cpu->r[10]);
|
|
/* 02C5CA60 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 02C5CA64 */ _t40 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C5CA64 */ rbrew_write32(cpu->mem, _t40, cpu->r[9]);
|
|
/* 02C5CA68 */ _t41 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C5CA68 */ _t42 = _t41 & 0x00000001u;
|
|
/* 02C5CA68 */ if (_t42) goto L_02C5CA6C; else goto L_02C5CAA8;
|
|
L_02C5CA6C: ; // 0x2c5ca6c
|
|
/* 02C5CA6C */ _t43 = cpu->r[28] + 0x00000010u;
|
|
/* 02C5CA6C */ cpu->r[12] = rbrew_read32(cpu->mem, _t43);
|
|
/* 02C5CA70 */ cpu->r[0] = cpu->r[30] + 0x00000004u;
|
|
/* 02C5CA74 */ _t44 = cpu->r[28] + 0x0000000Cu;
|
|
/* 02C5CA74 */ cpu->r[4] = rbrew_read32(cpu->mem, _t44);
|
|
/* 02C5CA78 */ _t45 = cpu->r[1] + 0x00000020u;
|
|
/* 02C5CA78 */ rbrew_write32(cpu->mem, _t45, cpu->r[12]);
|
|
/* 02C5CA7C */ _t46 = cpu->r[28] + 0x00000030u;
|
|
/* 02C5CA7C */ cpu->r[3] = rbrew_read32(cpu->mem, _t46);
|
|
/* 02C5CA80 */ _t47 = cpu->r[1] + 0x00000028u;
|
|
/* 02C5CA80 */ rbrew_write32(cpu->mem, _t47, cpu->r[4]);
|
|
/* 02C5CA84 */ _t48 = cpu->r[1] + 0x00000024u;
|
|
/* 02C5CA84 */ rbrew_write32(cpu->mem, _t48, cpu->r[0]);
|
|
/* 02C5CA88 */ _t49 = cpu->r[1] + 0x00000008u;
|
|
/* 02C5CA88 */ rbrew_write32(cpu->mem, _t49, cpu->r[11]);
|
|
/* 02C5CA8C */ _t50 = cpu->r[3] + 0x00000000u;
|
|
/* 02C5CA8C */ cpu->r[12] = rbrew_read32(cpu->mem, _t50);
|
|
/* 02C5CA90 */ _t51 = cpu->r[12] + 0x00000014u;
|
|
/* 02C5CA90 */ cpu->r[0] = rbrew_read32(cpu->mem, _t51);
|
|
/* 02C5CA94 */ cpu->ctr = cpu->r[0];
|
|
/* 02C5CA98 */ cpu->r[4] = cpu->r[1] + 0x00000018u;
|
|
/* 02C5CA9C */ cpu->r[5] = cpu->r[1] + 0x00000020u;
|
|
/* 02C5CAA0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02C5CAA4 */ _t52 = cpu->r[1] + 0x00000008u;
|
|
/* 02C5CAA4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t52);
|
|
L_02C5CAA8: ; // 0x2c5caa8
|
|
/* 02C5CAA8 */ cpu->r[25] = 0x101B0000u;
|
|
/* 02C5CAAC */ cpu->r[11] = cpu->r[11] + 0x00000001u;
|
|
/* 02C5CAB0 */ cpu->r[24] = 0x0C000000u;
|
|
/* 02C5CAB4 */ cpu->r[25] = cpu->r[25] + 0xFFFFEF68u;
|
|
/* 02C5CAB8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], cpu->r[29]);
|
|
/* 02C5CABC */ _t53 = cpu->r[1] + 0x00000008u;
|
|
/* 02C5CABC */ rbrew_write32(cpu->mem, _t53, cpu->r[11]);
|
|
/* 02C5CAC0 */ cpu->r[26] = 0x03000000u;
|
|
/* 02C5CAC4 */ _t54 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C5CAC4 */ _t55 = _t54 & 0x00000001u;
|
|
/* 02C5CAC4 */ if (_t55) goto L_02C5CAC8; else goto L_02C5CDA0;
|
|
L_02C5CAC8: ; // 0x2c5cac8
|
|
/* 02C5CAC8 */ _t56 = cpu->r[28] + 0x00000008u;
|
|
/* 02C5CAC8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t56);
|
|
/* 02C5CACC */ cpu->r[6] = rbrew_rlwinm(cpu->r[11], 0x00000006u, 0x00000000u, 0x00000019u);
|
|
/* 02C5CAD0 */ cpu->r[5] = cpu->r[8] + cpu->r[6];
|
|
/* 02C5CAD4 */ _t57 = cpu->r[5] + 0x00000004u;
|
|
/* 02C5CAD4 */ cpu->r[9] = rbrew_read16(cpu->mem, _t57);
|
|
/* 02C5CAD8 */ _t58 = cpu->r[5] + 0x00000006u;
|
|
/* 02C5CAD8 */ cpu->r[0] = rbrew_read16(cpu->mem, _t58);
|
|
/* 02C5CADC */ cpu->r[8] = rbrew_rlwinm(cpu->r[9], 0x00000006u, 0x00000000u, 0x00000019u);
|
|
/* 02C5CAE0 */ cpu->r[9] = (uint32_t)((int32_t)cpu->r[9] * (int32_t)0x00000030u);
|
|
/* 02C5CAE4 */ _t59 = cpu->r[8] + cpu->r[30];
|
|
/* 02C5CAE4 */ cpu->r[5] = rbrew_read32(cpu->mem, _t59);
|
|
/* 02C5CAE8 */ cpu->r[11] = rbrew_rlwinm(cpu->r[0], 0x00000006u, 0x00000000u, 0x00000019u);
|
|
/* 02C5CAEC */ _t60 = cpu->r[30] + cpu->r[11];
|
|
/* 02C5CAEC */ cpu->r[7] = rbrew_read32(cpu->mem, _t60);
|
|
/* 02C5CAF0 */ cpu->r[12] = rbrew_rlwinm(cpu->r[5], 0x00000004u, 0x00000000u, 0x0000001Bu);
|
|
/* 02C5CAF4 */ cpu->r[0] = (uint32_t)((int32_t)cpu->r[0] * (int32_t)0x00000030u);
|
|
/* 02C5CAF8 */ cpu->r[4] = cpu->r[7] & cpu->r[12];
|
|
/* 02C5CAFC */ _t61 = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x00000000u, 0x00000003u);
|
|
/* 02C5CAFC */ _t62 = cpu->r[5] & 0x0FFFFFFFu;
|
|
/* 02C5CAFC */ cpu->r[5] = _t62 | _t61;
|
|
/* 02C5CB00 */ _t63 = cpu->r[8] + cpu->r[30];
|
|
/* 02C5CB00 */ rbrew_write32(cpu->mem, _t63, cpu->r[5]);
|
|
/* 02C5CB00 */ cpu->r[8] = _t63;
|
|
/* 02C5CB04 */ _t64 = cpu->r[30] + cpu->r[11];
|
|
/* 02C5CB04 */ cpu->r[7] = rbrew_read32(cpu->mem, _t64);
|
|
/* 02C5CB08 */ cpu->r[10] = cpu->r[30] + cpu->r[11];
|
|
/* 02C5CB0C */ cpu->r[6] = rbrew_rlwinm(cpu->r[7], 0x00000000u, 0x00000006u, 0x00000007u);
|
|
/* 02C5CB10 */ cpu->r[11] = cpu->r[31] + cpu->r[9];
|
|
/* 02C5CB14 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[26]);
|
|
/* 02C5CB18 */ cpu->r[9] = cpu->r[31] + cpu->r[0];
|
|
/* 02C5CB1C */ _t65 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C5CB1C */ _t66 = _t65 & 0x00000001u;
|
|
/* 02C5CB1C */ if (_t66) goto L_02C5CB20; else goto L_02C5CC20;
|
|
L_02C5CB20: ; // 0x2c5cb20
|
|
/* 02C5CB20 */ cpu->r[12] = rbrew_rlwinm(cpu->r[5], 0x00000000u, 0x00000004u, 0x00000005u);
|
|
/* 02C5CB24 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[24]);
|
|
/* 02C5CB28 */ _t67 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C5CB28 */ _t68 = _t67 & 0x00000001u;
|
|
/* 02C5CB28 */ if (_t68) goto L_02C5CB2C; else goto L_02C5CB78;
|
|
L_02C5CB2C: ; // 0x2c5cb2c
|
|
/* 02C5CB2C */ cpu->r[6] = 0x00000000u;
|
|
/* 02C5CB30 */ cpu->r[7] = 0x00000003u;
|
|
L_02C5CB34: ; // 0x2c5cb34
|
|
/* 02C5CB34 */ cpu->r[4] = 0x00000004u;
|
|
/* 02C5CB38 */ cpu->r[8] = cpu->r[9] + cpu->r[6];
|
|
/* 02C5CB3C */ cpu->r[5] = 0x00000000u;
|
|
/* 02C5CB40 */ cpu->ctr = cpu->r[4];
|
|
/* 02C5CB44 */ cpu->r[12] = cpu->r[11] + cpu->r[6];
|
|
L_02C5CB48: ; // 0x2c5cb48
|
|
/* 02C5CB48 */ _t69 = cpu->r[8] + cpu->r[5];
|
|
/* 02C5CB48 */ cpu->r[0] = rbrew_read32(cpu->mem, _t69);
|
|
/* 02C5CB4C */ _t70 = cpu->r[12] + cpu->r[5];
|
|
/* 02C5CB4C */ rbrew_write32(cpu->mem, _t70, cpu->r[0]);
|
|
/* 02C5CB50 */ cpu->r[5] = cpu->r[5] + 0x00000004u;
|
|
/* 02C5CB54 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02C5CB54 */ _t71 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02C5CB54 */ _t72 = _t71 >> (0x00000002u & 31u);
|
|
/* 02C5CB54 */ _t73 = _t72 & 0x00000001u;
|
|
/* 02C5CB54 */ if (_t73) goto L_02C5CB48; else goto L_02C5CB58;
|
|
L_02C5CB58: ; // 0x2c5cb58
|
|
/* 02C5CB58 */ cpu->r[7] = cpu->r[7] + 0xFFFFFFFFu;
|
|
/* 02C5CB58 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 02C5CB5C */ cpu->r[6] = cpu->r[6] + 0x00000010u;
|
|
/* 02C5CB60 */ _t74 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C5CB60 */ _t75 = _t74 & 0x00000001u;
|
|
/* 02C5CB60 */ if (_t75) goto L_02C5CB64; else goto L_02C5CB34;
|
|
L_02C5CB64: ; // 0x2c5cb64
|
|
/* 02C5CB64 */ _t76 = cpu->r[1] + 0x00000008u;
|
|
/* 02C5CB64 */ cpu->r[11] = rbrew_read32(cpu->mem, _t76);
|
|
/* 02C5CB68 */ _t77 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C5CB68 */ cpu->r[4] = rbrew_read32(cpu->mem, _t77);
|
|
/* 02C5CB6C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[11]);
|
|
/* 02C5CB70 */ _t78 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C5CB70 */ _t79 = _t78 & 0x00000001u;
|
|
/* 02C5CB70 */ if (_t79) goto L_02C5CB74; else goto L_02C5CD90;
|
|
L_02C5CB74: ; // 0x2c5cb74
|
|
/* 02C5CB74 */ goto L_02C5CD44;
|
|
L_02C5CB78: ; // 0x2c5cb78
|
|
/* 02C5CB78 */ /* nop */
|
|
/* 02C5CB7C */ cpu->r[4] = cpu->r[8] + 0x00000010u;
|
|
/* 02C5CB80 */ /* nop */
|
|
/* 02C5CB84 */ /* nop */
|
|
/* 02C5CB88 */ /* nop */
|
|
/* 02C5CB8C */ /* nop */
|
|
/* 02C5CB90 */ /* nop */
|
|
/* 02C5CB94 */ /* nop */
|
|
/* 02C5CB98 */ /* nop */
|
|
/* 02C5CB9C */ /* nop */
|
|
/* 02C5CBA0 */ /* nop */
|
|
/* 02C5CBA4 */ /* nop */
|
|
/* 02C5CBA8 */ /* nop */
|
|
/* 02C5CBAC */ /* nop */
|
|
/* 02C5CBB0 */ /* nop */
|
|
/* 02C5CBB4 */ /* nop */
|
|
/* 02C5CBB8 */ /* nop */
|
|
/* 02C5CBBC */ /* nop */
|
|
/* 02C5CBC0 */ /* nop */
|
|
/* 02C5CBC4 */ /* nop */
|
|
/* 02C5CBC8 */ /* nop */
|
|
/* 02C5CBCC */ /* nop */
|
|
/* 02C5CBD0 */ /* nop */
|
|
/* 02C5CBD4 */ /* nop */
|
|
/* 02C5CBD8 */ /* nop */
|
|
/* 02C5CBDC */ /* nop */
|
|
/* 02C5CBE0 */ /* nop */
|
|
/* 02C5CBE4 */ /* nop */
|
|
/* 02C5CBE8 */ /* nop */
|
|
/* 02C5CBEC */ /* nop */
|
|
/* 02C5CBF0 */ /* nop */
|
|
/* 02C5CBF4 */ /* nop */
|
|
/* 02C5CBF8 */ /* nop */
|
|
/* 02C5CBFC */ /* nop */
|
|
/* 02C5CC00 */ /* nop */
|
|
/* 02C5CC04 */ /* nop */
|
|
/* 02C5CC08 */ /* nop */
|
|
/* 02C5CC0C */ /* nop */
|
|
/* 02C5CC10 */ /* nop */
|
|
/* 02C5CC14 */ /* nop */
|
|
/* 02C5CC18 */ /* nop */
|
|
/* 02C5CC1C */ goto L_02C5CD34;
|
|
L_02C5CC20: ; // 0x2c5cc20
|
|
/* 02C5CC20 */ /* nop */
|
|
/* 02C5CC24 */ /* nop */
|
|
/* 02C5CC28 */ /* nop */
|
|
/* 02C5CC2C */ /* nop */
|
|
/* 02C5CC30 */ _t80 = cpu->r[10] + 0x0000000Cu;
|
|
/* 02C5CC30 */ cpu->f[6] = rbrew_read_f32(cpu->mem, _t80);
|
|
/* 02C5CC34 */ /* nop */
|
|
/* 02C5CC38 */ /* nop */
|
|
/* 02C5CC3C */ /* nop */
|
|
/* 02C5CC40 */ /* nop */
|
|
/* 02C5CC44 */ /* nop */
|
|
/* 02C5CC48 */ /* nop */
|
|
/* 02C5CC4C */ /* nop */
|
|
/* 02C5CC50 */ /* nop */
|
|
/* 02C5CC54 */ /* nop */
|
|
/* 02C5CC58 */ /* nop */
|
|
/* 02C5CC5C */ /* nop */
|
|
/* 02C5CC60 */ /* nop */
|
|
/* 02C5CC64 */ /* nop */
|
|
/* 02C5CC68 */ /* nop */
|
|
/* 02C5CC6C */ /* nop */
|
|
/* 02C5CC70 */ /* nop */
|
|
/* 02C5CC74 */ /* nop */
|
|
/* 02C5CC78 */ /* nop */
|
|
/* 02C5CC7C */ /* nop */
|
|
/* 02C5CC80 */ _t81 = cpu->r[8] + 0x00000000u;
|
|
/* 02C5CC80 */ cpu->r[5] = rbrew_read32(cpu->mem, _t81);
|
|
/* 02C5CC84 */ cpu->r[4] = rbrew_rlwinm(cpu->r[5], 0x00000000u, 0x00000004u, 0x00000005u);
|
|
/* 02C5CC88 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[24]);
|
|
/* 02C5CC8C */ _t82 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C5CC8C */ _t83 = _t82 & 0x00000001u;
|
|
/* 02C5CC8C */ if (_t83) goto L_02C5CD34; else goto L_02C5CC90;
|
|
L_02C5CC90: ; // 0x2c5cc90
|
|
/* 02C5CC90 */ /* nop */
|
|
/* 02C5CC94 */ cpu->r[4] = cpu->r[8] + 0x00000010u;
|
|
/* 02C5CC98 */ /* nop */
|
|
/* 02C5CC9C */ /* nop */
|
|
/* 02C5CCA0 */ /* nop */
|
|
/* 02C5CCA4 */ /* nop */
|
|
/* 02C5CCA8 */ /* nop */
|
|
/* 02C5CCAC */ /* nop */
|
|
/* 02C5CCB0 */ /* nop */
|
|
/* 02C5CCB4 */ /* nop */
|
|
/* 02C5CCB8 */ /* nop */
|
|
/* 02C5CCBC */ /* nop */
|
|
/* 02C5CCC0 */ /* nop */
|
|
/* 02C5CCC4 */ /* nop */
|
|
/* 02C5CCC8 */ /* nop */
|
|
/* 02C5CCCC */ /* nop */
|
|
/* 02C5CCD0 */ /* nop */
|
|
/* 02C5CCD4 */ /* nop */
|
|
/* 02C5CCD8 */ /* nop */
|
|
/* 02C5CCDC */ /* nop */
|
|
/* 02C5CCE0 */ /* nop */
|
|
/* 02C5CCE4 */ /* nop */
|
|
/* 02C5CCE8 */ /* nop */
|
|
/* 02C5CCEC */ /* nop */
|
|
/* 02C5CCF0 */ /* nop */
|
|
/* 02C5CCF4 */ /* nop */
|
|
/* 02C5CCF8 */ /* nop */
|
|
/* 02C5CCFC */ /* nop */
|
|
/* 02C5CD00 */ /* nop */
|
|
/* 02C5CD04 */ /* nop */
|
|
/* 02C5CD08 */ /* nop */
|
|
/* 02C5CD0C */ /* nop */
|
|
/* 02C5CD10 */ /* nop */
|
|
/* 02C5CD14 */ /* nop */
|
|
/* 02C5CD18 */ /* nop */
|
|
/* 02C5CD1C */ /* nop */
|
|
/* 02C5CD20 */ /* nop */
|
|
/* 02C5CD24 */ /* nop */
|
|
/* 02C5CD28 */ /* nop */
|
|
/* 02C5CD2C */ /* nop */
|
|
/* 02C5CD30 */ /* nop */
|
|
L_02C5CD34: ; // 0x2c5cd34
|
|
/* 02C5CD34 */ _t84 = cpu->r[1] + 0x00000008u;
|
|
/* 02C5CD34 */ cpu->r[11] = rbrew_read32(cpu->mem, _t84);
|
|
/* 02C5CD38 */ _t85 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C5CD38 */ cpu->r[4] = rbrew_read32(cpu->mem, _t85);
|
|
/* 02C5CD3C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[11]);
|
|
/* 02C5CD40 */ _t86 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C5CD40 */ _t87 = _t86 & 0x00000001u;
|
|
/* 02C5CD40 */ if (_t87) goto L_02C5CD44; else goto L_02C5CD90;
|
|
L_02C5CD44: ; // 0x2c5cd44
|
|
/* 02C5CD44 */ cpu->r[5] = (uint32_t)((int32_t)cpu->r[11] * (int32_t)0x00000030u);
|
|
/* 02C5CD48 */ _t88 = cpu->r[28] + 0x00000010u;
|
|
/* 02C5CD48 */ cpu->r[6] = rbrew_read32(cpu->mem, _t88);
|
|
/* 02C5CD4C */ cpu->r[0] = rbrew_rlwinm(cpu->r[11], 0x00000006u, 0x00000000u, 0x00000019u);
|
|
/* 02C5CD50 */ _t89 = cpu->r[28] + 0x0000000Cu;
|
|
/* 02C5CD50 */ cpu->r[8] = rbrew_read32(cpu->mem, _t89);
|
|
/* 02C5CD54 */ cpu->r[7] = cpu->r[30] + cpu->r[0];
|
|
/* 02C5CD58 */ cpu->r[6] = cpu->r[6] + cpu->r[5];
|
|
/* 02C5CD5C */ _t90 = cpu->r[28] + 0x00000030u;
|
|
/* 02C5CD5C */ cpu->r[3] = rbrew_read32(cpu->mem, _t90);
|
|
/* 02C5CD60 */ cpu->r[7] = cpu->r[7] + 0x00000004u;
|
|
/* 02C5CD64 */ _t91 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C5CD64 */ rbrew_write32(cpu->mem, _t91, cpu->r[6]);
|
|
/* 02C5CD68 */ cpu->r[0] = cpu->r[8] + cpu->r[0];
|
|
/* 02C5CD6C */ _t92 = cpu->r[1] + 0x00000010u;
|
|
/* 02C5CD6C */ rbrew_write32(cpu->mem, _t92, cpu->r[7]);
|
|
/* 02C5CD70 */ _t93 = cpu->r[1] + 0x00000014u;
|
|
/* 02C5CD70 */ rbrew_write32(cpu->mem, _t93, cpu->r[0]);
|
|
/* 02C5CD74 */ _t94 = cpu->r[3] + 0x00000000u;
|
|
/* 02C5CD74 */ cpu->r[9] = rbrew_read32(cpu->mem, _t94);
|
|
/* 02C5CD78 */ _t95 = cpu->r[9] + 0x00000014u;
|
|
/* 02C5CD78 */ cpu->r[0] = rbrew_read32(cpu->mem, _t95);
|
|
/* 02C5CD7C */ cpu->ctr = cpu->r[0];
|
|
/* 02C5CD80 */ cpu->r[4] = cpu->r[1] + 0x00000018u;
|
|
/* 02C5CD84 */ cpu->r[5] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C5CD88 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02C5CD8C */ _t96 = cpu->r[1] + 0x00000008u;
|
|
/* 02C5CD8C */ cpu->r[11] = rbrew_read32(cpu->mem, _t96);
|
|
L_02C5CD90: ; // 0x2c5cd90
|
|
/* 02C5CD90 */ cpu->r[11] = cpu->r[11] + 0x00000001u;
|
|
/* 02C5CD94 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], cpu->r[29]);
|
|
/* 02C5CD98 */ _t97 = cpu->r[1] + 0x00000008u;
|
|
/* 02C5CD98 */ rbrew_write32(cpu->mem, _t97, cpu->r[11]);
|
|
/* 02C5CD9C */ _t98 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C5CD9C */ _t99 = _t98 & 0x00000001u;
|
|
/* 02C5CD9C */ if (_t99) goto L_02C5CAC8; else goto L_02C5CDA0;
|
|
L_02C5CDA0: ; // 0x2c5cda0
|
|
/* 02C5CDA0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 02C5CDA4 */ _t100 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C5CDA4 */ _t101 = _t100 & 0x00000001u;
|
|
/* 02C5CDA4 */ if (_t101) goto L_02C5CDA8; else goto L_02C5CE3C;
|
|
L_02C5CDA8: ; // 0x2c5cda8
|
|
/* 02C5CDA8 */ cpu->r[7] = 0x00000000u;
|
|
/* 02C5CDAC */ cpu->ctr = cpu->r[29];
|
|
/* 02C5CDB0 */ cpu->r[0] = 0x03000000u;
|
|
/* 02C5CDB4 */ cpu->r[8] = cpu->r[7];
|
|
L_02C5CDB8: ; // 0x2c5cdb8
|
|
/* 02C5CDB8 */ _t102 = cpu->r[30] + cpu->r[8];
|
|
/* 02C5CDB8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t102);
|
|
/* 02C5CDBC */ cpu->r[11] = rbrew_rlwinm(cpu->r[12], 0x00000000u, 0x00000006u, 0x00000007u);
|
|
/* 02C5CDC0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[0]);
|
|
/* 02C5CDC4 */ cpu->r[10] = cpu->r[30] + cpu->r[8];
|
|
/* 02C5CDC8 */ _t103 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C5CDC8 */ _t104 = _t103 & 0x00000001u;
|
|
/* 02C5CDC8 */ if (_t104) goto L_02C5CE30; else goto L_02C5CDCC;
|
|
L_02C5CDCC: ; // 0x2c5cdcc
|
|
/* 02C5CDCC */ _t105 = cpu->r[10] + 0x0000000Cu;
|
|
/* 02C5CDCC */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t105);
|
|
/* 02C5CDD0 */ cpu->r[12] = cpu->r[31] + cpu->r[7];
|
|
/* 02C5CDD4 */ /* nop */
|
|
/* 02C5CDD8 */ /* nop */
|
|
/* 02C5CDDC */ /* nop */
|
|
/* 02C5CDE0 */ /* nop */
|
|
/* 02C5CDE4 */ /* nop */
|
|
/* 02C5CDE8 */ /* nop */
|
|
/* 02C5CDEC */ /* nop */
|
|
/* 02C5CDF0 */ /* nop */
|
|
/* 02C5CDF4 */ /* nop */
|
|
/* 02C5CDF8 */ /* nop */
|
|
/* 02C5CDFC */ /* nop */
|
|
/* 02C5CE00 */ /* nop */
|
|
/* 02C5CE04 */ /* nop */
|
|
/* 02C5CE08 */ /* nop */
|
|
/* 02C5CE0C */ /* nop */
|
|
/* 02C5CE10 */ /* nop */
|
|
/* 02C5CE14 */ /* nop */
|
|
/* 02C5CE18 */ /* nop */
|
|
/* 02C5CE1C */ /* nop */
|
|
/* 02C5CE20 */ /* nop */
|
|
/* 02C5CE24 */ /* nop */
|
|
/* 02C5CE28 */ /* nop */
|
|
/* 02C5CE2C */ /* nop */
|
|
L_02C5CE30: ; // 0x2c5ce30
|
|
/* 02C5CE30 */ cpu->r[7] = cpu->r[7] + 0x00000030u;
|
|
/* 02C5CE34 */ cpu->r[8] = cpu->r[8] + 0x00000040u;
|
|
/* 02C5CE38 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02C5CE38 */ _t106 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02C5CE38 */ _t107 = _t106 >> (0x00000002u & 31u);
|
|
/* 02C5CE38 */ _t108 = _t107 & 0x00000001u;
|
|
/* 02C5CE38 */ if (_t108) goto L_02C5CDB8; else goto L_02C5CE3C;
|
|
L_02C5CE3C: ; // 0x2c5ce3c
|
|
/* 02C5CE3C */ /* nop */
|
|
/* 02C5CE40 */ _t109 = cpu->r[1] + 0x00000068u;
|
|
/* 02C5CE40 */ cpu->f[29] = rbrew_read_f32(cpu->mem, _t109);
|
|
/* 02C5CE44 */ _t110 = cpu->r[1] + 0x00000078u;
|
|
/* 02C5CE44 */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t110);
|
|
/* 02C5CE48 */ _t111 = cpu->r[1] + 0x00000060u;
|
|
/* 02C5CE48 */ cpu->f[29] = rbrew_read_f64(cpu->mem, _t111);
|
|
/* 02C5CE4C */ _t112 = cpu->r[1] + 0x00000070u;
|
|
/* 02C5CE4C */ cpu->f[30] = rbrew_read_f64(cpu->mem, _t112);
|
|
/* 02C5CE50 */ _t113 = cpu->r[1] + 0x00000058u;
|
|
/* 02C5CE50 */ cpu->f[28] = rbrew_read_f32(cpu->mem, _t113);
|
|
/* 02C5CE54 */ _t114 = cpu->r[1] + 0x00000088u;
|
|
/* 02C5CE54 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t114);
|
|
/* 02C5CE58 */ _t115 = cpu->r[1] + 0x00000050u;
|
|
/* 02C5CE58 */ cpu->f[28] = rbrew_read_f64(cpu->mem, _t115);
|
|
/* 02C5CE5C */ _t116 = cpu->r[1] + 0x00000080u;
|
|
/* 02C5CE5C */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t116);
|
|
/* 02C5CE60 */ _t117 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C5CE60 */ _t118 = _t117 & 0x00000001u;
|
|
/* 02C5CE60 */ if (_t118) goto L_02C5CE64; // else: addr-0 trap, fall-through
|
|
L_02C5CE64: ; // 0x2c5ce64
|
|
/* 02C5CE64 */ _t119 = cpu->r[1] + 0x00000094u;
|
|
/* 02C5CE64 */ cpu->r[0] = rbrew_read32(cpu->mem, _t119);
|
|
/* 02C5CE68 */ cpu->lr = cpu->r[0];
|
|
/* 02C5CE6C */ cpu->r[1] = cpu->r[1] + 0x00000090u;
|
|
/* 02C5CE70 */ return;
|
|
}
|
|
|
|
// fn_02C5CE74 @ 0x2c5ce74
|
|
void Gambit_fn_02C5CE74(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_02C5CE74: ; // 0x2c5ce74
|
|
/* 02C5CE74 */ _t0 = cpu->r[1] + 0xFFFFFF70u;
|
|
/* 02C5CE74 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C5CE74 */ cpu->r[1] = _t0;
|
|
/* 02C5CE78 */ /* nop */
|
|
/* 02C5CE7C */ _t1 = cpu->r[1] + 0x00000050u;
|
|
/* 02C5CE7C */ rbrew_write_f64(cpu->mem, _t1, cpu->f[28]);
|
|
/* 02C5CE80 */ /* nop */
|
|
/* 02C5CE84 */ _t2 = cpu->r[1] + 0x00000070u;
|
|
/* 02C5CE84 */ rbrew_write_f64(cpu->mem, _t2, cpu->f[30]);
|
|
/* 02C5CE88 */ _t3 = cpu->r[1] + 0x00000058u;
|
|
/* 02C5CE88 */ rbrew_write_f32(cpu->mem, _t3, cpu->f[28]);
|
|
/* 02C5CE8C */ /* nop */
|
|
/* 02C5CE90 */ _t4 = cpu->r[1] + 0x00000078u;
|
|
/* 02C5CE90 */ rbrew_write_f32(cpu->mem, _t4, cpu->f[30]);
|
|
/* 02C5CE94 */ cpu->r[0] = cpu->lr;
|
|
/* 02C5CE98 */ _t5 = cpu->r[1] + 0x00000060u;
|
|
/* 02C5CE98 */ rbrew_write_f64(cpu->mem, _t5, cpu->f[29]);
|
|
/* 02C5CE9C */ _t6 = cpu->r[1] + 0x00000080u;
|
|
/* 02C5CE9C */ rbrew_write_f64(cpu->mem, _t6, cpu->f[31]);
|
|
/* 02C5CEA0 */ /* nop */
|
|
/* 02C5CEA4 */ _t7 = cpu->r[1] + 0x00000068u;
|
|
/* 02C5CEA4 */ rbrew_write_f32(cpu->mem, _t7, cpu->f[29]);
|
|
/* 02C5CEA8 */ /* nop */
|
|
/* 02C5CEAC */ _t8 = cpu->r[1] + 0x00000088u;
|
|
/* 02C5CEAC */ rbrew_write_f32(cpu->mem, _t8, cpu->f[31]);
|
|
/* 02C5CEB0 */ _t9 = cpu->r[1] + 0x00000094u;
|
|
/* 02C5CEB0 */ rbrew_write32(cpu->mem, _t9, cpu->r[0]);
|
|
/* 02C5CEB4 */ cpu->r[28] = cpu->r[3];
|
|
/* 02C5CEB8 */ _t10 = cpu->r[28] + 0x00000004u;
|
|
/* 02C5CEB8 */ cpu->r[7] = rbrew_read16(cpu->mem, _t10);
|
|
/* 02C5CEBC */ _t11 = cpu->r[28] + 0x0000000Cu;
|
|
/* 02C5CEBC */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02C5CEC0 */ cpu->r[7] = cpu->r[7] | 0x00000004u;
|
|
/* 02C5CEC4 */ _t12 = cpu->r[28] + 0x00000010u;
|
|
/* 02C5CEC4 */ cpu->r[29] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02C5CEC8 */ _t13 = cpu->r[28] + 0x00000004u;
|
|
/* 02C5CEC8 */ rbrew_write16(cpu->mem, _t13, (uint16_t)cpu->r[7]);
|
|
/* 02C5CECC */ _t14 = cpu->r[31] + 0x00000000u;
|
|
/* 02C5CECC */ cpu->r[11] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02C5CED0 */ cpu->r[12] = 0x0C000000u;
|
|
/* 02C5CED4 */ cpu->r[27] = 0x101B0000u;
|
|
/* 02C5CED8 */ cpu->r[10] = rbrew_rlwinm(cpu->r[11], 0x00000000u, 0x00000004u, 0x00000005u);
|
|
/* 02C5CEDC */ cpu->r[27] = cpu->r[27] + 0xFFFFEF60u;
|
|
/* 02C5CEE0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[12]);
|
|
/* 02C5CEE4 */ _t15 = cpu->r[28] + 0x0000002Cu;
|
|
/* 02C5CEE4 */ cpu->r[30] = rbrew_read16(cpu->mem, _t15);
|
|
/* 02C5CEE8 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C5CEE8 */ _t17 = _t16 & 0x00000001u;
|
|
/* 02C5CEE8 */ if (_t17) goto L_02C5CEEC; else goto L_02C5CF58;
|
|
L_02C5CEEC: ; // 0x2c5ceec
|
|
/* 02C5CEEC */ cpu->r[10] = 0x00000000u;
|
|
/* 02C5CEF0 */ cpu->r[9] = 0x00000003u;
|
|
/* 02C5CEF4 */ cpu->r[12] = cpu->r[29];
|
|
L_02C5CEF8: ; // 0x2c5cef8
|
|
/* 02C5CEF8 */ cpu->r[0] = 0x00000004u;
|
|
/* 02C5CEFC */ cpu->r[11] = cpu->r[4] + cpu->r[10];
|
|
/* 02C5CF00 */ cpu->r[7] = 0x00000000u;
|
|
/* 02C5CF04 */ cpu->ctr = cpu->r[0];
|
|
/* 02C5CF08 */ cpu->r[8] = cpu->r[12] + cpu->r[10];
|
|
L_02C5CF0C: ; // 0x2c5cf0c
|
|
/* 02C5CF0C */ _t18 = cpu->r[11] + cpu->r[7];
|
|
/* 02C5CF0C */ cpu->r[7] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02C5CF10 */ _t19 = cpu->r[8] + cpu->r[7];
|
|
/* 02C5CF10 */ rbrew_write32(cpu->mem, _t19, cpu->r[7]);
|
|
/* 02C5CF14 */ cpu->r[7] = cpu->r[7] + 0x00000004u;
|
|
/* 02C5CF18 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02C5CF18 */ _t20 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02C5CF18 */ _t21 = _t20 >> (0x00000002u & 31u);
|
|
/* 02C5CF18 */ _t22 = _t21 & 0x00000001u;
|
|
/* 02C5CF18 */ if (_t22) goto L_02C5CF0C; else goto L_02C5CF1C;
|
|
L_02C5CF1C: ; // 0x2c5cf1c
|
|
/* 02C5CF1C */ cpu->r[9] = cpu->r[9] + 0xFFFFFFFFu;
|
|
/* 02C5CF1C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 02C5CF20 */ cpu->r[10] = cpu->r[10] + 0x00000010u;
|
|
/* 02C5CF24 */ _t23 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C5CF24 */ _t24 = _t23 & 0x00000001u;
|
|
/* 02C5CF24 */ if (_t24) goto L_02C5CF28; else goto L_02C5CEF8;
|
|
L_02C5CF28: ; // 0x2c5cf28
|
|
/* 02C5CF28 */ _t25 = cpu->r[31] + 0x00000000u;
|
|
/* 02C5CF28 */ cpu->r[10] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02C5CF2C */ cpu->r[0] = rbrew_rlwinm(cpu->r[10], 0x00000000u, 0x00000004u, 0x0000001Fu);
|
|
/* 02C5CF30 */ _t26 = rbrew_rlwinm(cpu->r[10], 0x00000004u, 0x00000002u, 0x00000003u);
|
|
/* 02C5CF30 */ _t27 = cpu->r[0] & 0xCFFFFFFFu;
|
|
/* 02C5CF30 */ cpu->r[0] = _t27 | _t26;
|
|
/* 02C5CF34 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02C5CF38 */ _t28 = cpu->r[31] + 0x00000000u;
|
|
/* 02C5CF38 */ rbrew_write32(cpu->mem, _t28, cpu->r[0]);
|
|
/* 02C5CF3C */ _t29 = cpu->r[28] + 0x0000002Eu;
|
|
/* 02C5CF3C */ cpu->r[10] = rbrew_read16(cpu->mem, _t29);
|
|
/* 02C5CF40 */ cpu->r[11] = 0x00000000u;
|
|
/* 02C5CF44 */ _t30 = cpu->r[1] + 0x00000018u;
|
|
/* 02C5CF44 */ rbrew_write32(cpu->mem, _t30, cpu->r[4]);
|
|
/* 02C5CF48 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02C5CF4C */ _t31 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C5CF4C */ rbrew_write32(cpu->mem, _t31, cpu->r[10]);
|
|
/* 02C5CF50 */ _t32 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C5CF50 */ _t33 = _t32 & 0x00000001u;
|
|
/* 02C5CF50 */ if (_t33) goto L_02C5CF54; else goto L_02C5D064;
|
|
L_02C5CF54: ; // 0x2c5cf54
|
|
/* 02C5CF54 */ goto L_02C5D028;
|
|
L_02C5CF58: ; // 0x2c5cf58
|
|
/* 02C5CF58 */ /* nop */
|
|
/* 02C5CF5C */ cpu->r[7] = cpu->r[31] + 0x00000010u;
|
|
/* 02C5CF60 */ /* nop */
|
|
/* 02C5CF64 */ /* nop */
|
|
/* 02C5CF68 */ /* nop */
|
|
/* 02C5CF6C */ /* nop */
|
|
/* 02C5CF70 */ /* nop */
|
|
/* 02C5CF74 */ /* nop */
|
|
/* 02C5CF78 */ /* nop */
|
|
/* 02C5CF7C */ /* nop */
|
|
/* 02C5CF80 */ /* nop */
|
|
/* 02C5CF84 */ /* nop */
|
|
/* 02C5CF88 */ /* nop */
|
|
/* 02C5CF8C */ /* nop */
|
|
/* 02C5CF90 */ /* nop */
|
|
/* 02C5CF94 */ /* nop */
|
|
/* 02C5CF98 */ /* nop */
|
|
/* 02C5CF9C */ /* nop */
|
|
/* 02C5CFA0 */ /* nop */
|
|
/* 02C5CFA4 */ /* nop */
|
|
/* 02C5CFA8 */ /* nop */
|
|
/* 02C5CFAC */ /* nop */
|
|
/* 02C5CFB0 */ /* nop */
|
|
/* 02C5CFB4 */ /* nop */
|
|
/* 02C5CFB8 */ /* nop */
|
|
/* 02C5CFBC */ /* nop */
|
|
/* 02C5CFC0 */ /* nop */
|
|
/* 02C5CFC4 */ /* nop */
|
|
/* 02C5CFC8 */ /* nop */
|
|
/* 02C5CFCC */ /* nop */
|
|
/* 02C5CFD0 */ /* nop */
|
|
/* 02C5CFD4 */ /* nop */
|
|
/* 02C5CFD8 */ /* nop */
|
|
/* 02C5CFDC */ /* nop */
|
|
/* 02C5CFE0 */ /* nop */
|
|
/* 02C5CFE4 */ /* nop */
|
|
/* 02C5CFE8 */ /* nop */
|
|
/* 02C5CFEC */ /* nop */
|
|
/* 02C5CFF0 */ /* nop */
|
|
/* 02C5CFF4 */ /* nop */
|
|
/* 02C5CFF8 */ /* nop */
|
|
/* 02C5CFFC */ _t34 = cpu->r[31] + 0x00000000u;
|
|
/* 02C5CFFC */ cpu->r[10] = rbrew_read32(cpu->mem, _t34);
|
|
/* 02C5D000 */ cpu->r[0] = rbrew_rlwinm(cpu->r[10], 0x00000000u, 0x00000004u, 0x0000001Fu);
|
|
/* 02C5D004 */ _t35 = rbrew_rlwinm(cpu->r[10], 0x00000004u, 0x00000002u, 0x00000003u);
|
|
/* 02C5D004 */ _t36 = cpu->r[0] & 0xCFFFFFFFu;
|
|
/* 02C5D004 */ cpu->r[0] = _t36 | _t35;
|
|
/* 02C5D008 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02C5D00C */ _t37 = cpu->r[31] + 0x00000000u;
|
|
/* 02C5D00C */ rbrew_write32(cpu->mem, _t37, cpu->r[0]);
|
|
/* 02C5D010 */ _t38 = cpu->r[28] + 0x0000002Eu;
|
|
/* 02C5D010 */ cpu->r[10] = rbrew_read16(cpu->mem, _t38);
|
|
/* 02C5D014 */ cpu->r[11] = 0x00000000u;
|
|
/* 02C5D018 */ _t39 = cpu->r[1] + 0x00000018u;
|
|
/* 02C5D018 */ rbrew_write32(cpu->mem, _t39, cpu->r[4]);
|
|
/* 02C5D01C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02C5D020 */ _t40 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C5D020 */ rbrew_write32(cpu->mem, _t40, cpu->r[10]);
|
|
/* 02C5D024 */ _t41 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C5D024 */ _t42 = _t41 & 0x00000001u;
|
|
/* 02C5D024 */ if (_t42) goto L_02C5D028; else goto L_02C5D064;
|
|
L_02C5D028: ; // 0x2c5d028
|
|
/* 02C5D028 */ _t43 = cpu->r[28] + 0x00000030u;
|
|
/* 02C5D028 */ cpu->r[3] = rbrew_read32(cpu->mem, _t43);
|
|
/* 02C5D02C */ _t44 = cpu->r[28] + 0x00000010u;
|
|
/* 02C5D02C */ cpu->r[0] = rbrew_read32(cpu->mem, _t44);
|
|
/* 02C5D030 */ _t45 = cpu->r[28] + 0x0000000Cu;
|
|
/* 02C5D030 */ cpu->r[5] = rbrew_read32(cpu->mem, _t45);
|
|
/* 02C5D034 */ _t46 = cpu->r[1] + 0x00000020u;
|
|
/* 02C5D034 */ rbrew_write32(cpu->mem, _t46, cpu->r[0]);
|
|
/* 02C5D038 */ cpu->r[4] = cpu->r[31] + 0x00000004u;
|
|
/* 02C5D03C */ _t47 = cpu->r[1] + 0x00000028u;
|
|
/* 02C5D03C */ rbrew_write32(cpu->mem, _t47, cpu->r[5]);
|
|
/* 02C5D040 */ _t48 = cpu->r[1] + 0x00000024u;
|
|
/* 02C5D040 */ rbrew_write32(cpu->mem, _t48, cpu->r[4]);
|
|
/* 02C5D044 */ _t49 = cpu->r[1] + 0x00000008u;
|
|
/* 02C5D044 */ rbrew_write32(cpu->mem, _t49, cpu->r[11]);
|
|
/* 02C5D048 */ _t50 = cpu->r[3] + 0x00000000u;
|
|
/* 02C5D048 */ cpu->r[5] = rbrew_read32(cpu->mem, _t50);
|
|
/* 02C5D04C */ _t51 = cpu->r[5] + 0x00000014u;
|
|
/* 02C5D04C */ cpu->r[6] = rbrew_read32(cpu->mem, _t51);
|
|
/* 02C5D050 */ cpu->ctr = cpu->r[6];
|
|
/* 02C5D054 */ cpu->r[5] = cpu->r[1] + 0x00000020u;
|
|
/* 02C5D058 */ cpu->r[4] = cpu->r[1] + 0x00000018u;
|
|
/* 02C5D05C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02C5D060 */ _t52 = cpu->r[1] + 0x00000008u;
|
|
/* 02C5D060 */ cpu->r[11] = rbrew_read32(cpu->mem, _t52);
|
|
L_02C5D064: ; // 0x2c5d064
|
|
/* 02C5D064 */ cpu->r[26] = 0x101B0000u;
|
|
/* 02C5D068 */ cpu->r[11] = cpu->r[11] + 0x00000001u;
|
|
/* 02C5D06C */ cpu->r[24] = 0x03000000u;
|
|
/* 02C5D070 */ cpu->r[26] = cpu->r[26] + 0xFFFFEF68u;
|
|
/* 02C5D074 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], cpu->r[30]);
|
|
/* 02C5D078 */ _t53 = cpu->r[1] + 0x00000008u;
|
|
/* 02C5D078 */ rbrew_write32(cpu->mem, _t53, cpu->r[11]);
|
|
/* 02C5D07C */ cpu->r[25] = 0x0C000000u;
|
|
/* 02C5D080 */ _t54 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C5D080 */ _t55 = _t54 & 0x00000001u;
|
|
/* 02C5D080 */ if (_t55) goto L_02C5D084; else goto L_02C5D508;
|
|
L_02C5D084: ; // 0x2c5d084
|
|
/* 02C5D084 */ _t56 = cpu->r[28] + 0x00000008u;
|
|
/* 02C5D084 */ cpu->r[10] = rbrew_read32(cpu->mem, _t56);
|
|
/* 02C5D088 */ cpu->r[0] = rbrew_rlwinm(cpu->r[11], 0x00000006u, 0x00000000u, 0x00000019u);
|
|
/* 02C5D08C */ cpu->r[6] = cpu->r[10] + cpu->r[0];
|
|
/* 02C5D090 */ _t57 = cpu->r[6] + 0x00000004u;
|
|
/* 02C5D090 */ cpu->r[8] = rbrew_read16(cpu->mem, _t57);
|
|
/* 02C5D094 */ _t58 = cpu->r[6] + 0x00000006u;
|
|
/* 02C5D094 */ cpu->r[0] = rbrew_read16(cpu->mem, _t58);
|
|
/* 02C5D098 */ cpu->r[7] = rbrew_rlwinm(cpu->r[8], 0x00000006u, 0x00000000u, 0x00000019u);
|
|
/* 02C5D09C */ cpu->r[5] = (uint32_t)((int32_t)cpu->r[8] * (int32_t)0x00000030u);
|
|
/* 02C5D0A0 */ cpu->r[9] = rbrew_rlwinm(cpu->r[0], 0x00000006u, 0x00000000u, 0x00000019u);
|
|
/* 02C5D0A4 */ _t59 = cpu->r[31] + cpu->r[7];
|
|
/* 02C5D0A4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t59);
|
|
/* 02C5D0A8 */ cpu->r[6] = cpu->r[31] + cpu->r[7];
|
|
/* 02C5D0AC */ _t60 = cpu->r[9] + cpu->r[31];
|
|
/* 02C5D0AC */ cpu->r[7] = rbrew_read32(cpu->mem, _t60);
|
|
/* 02C5D0AC */ cpu->r[9] = _t60;
|
|
/* 02C5D0B0 */ cpu->r[12] = rbrew_rlwinm(cpu->r[11], 0x00000004u, 0x00000000u, 0x0000001Bu);
|
|
/* 02C5D0B4 */ cpu->r[8] = (uint32_t)((int32_t)cpu->r[0] * (int32_t)0x00000030u);
|
|
/* 02C5D0B8 */ cpu->r[0] = cpu->r[7] & cpu->r[12];
|
|
/* 02C5D0BC */ _t61 = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000000u, 0x00000003u);
|
|
/* 02C5D0BC */ _t62 = cpu->r[11] & 0x0FFFFFFFu;
|
|
/* 02C5D0BC */ cpu->r[11] = _t62 | _t61;
|
|
/* 02C5D0C0 */ cpu->r[23] = cpu->r[29] + cpu->r[5];
|
|
/* 02C5D0C4 */ cpu->r[4] = rbrew_rlwinm(cpu->r[11], 0x00000000u, 0x00000004u, 0x00000005u);
|
|
/* 02C5D0C8 */ cpu->r[3] = cpu->r[29] + cpu->r[8];
|
|
/* 02C5D0CC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[25]);
|
|
/* 02C5D0D0 */ _t63 = cpu->r[6] + 0x00000000u;
|
|
/* 02C5D0D0 */ rbrew_write32(cpu->mem, _t63, cpu->r[11]);
|
|
/* 02C5D0D4 */ _t64 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C5D0D4 */ _t65 = _t64 & 0x00000001u;
|
|
/* 02C5D0D4 */ if (_t65) goto L_02C5D0D8; else goto L_02C5D1B0;
|
|
L_02C5D0D8: ; // 0x2c5d0d8
|
|
/* 02C5D0D8 */ cpu->r[5] = rbrew_rlwinm(cpu->r[11], 0x00000000u, 0x00000008u, 0x00000008u);
|
|
/* 02C5D0D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u);
|
|
/* 02C5D0DC */ _t66 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C5D0DC */ _t67 = _t66 & 0x00000001u;
|
|
/* 02C5D0DC */ if (_t67) goto L_02C5D0E0; else goto L_02C5D0F0;
|
|
L_02C5D0E0: ; // 0x2c5d0e0
|
|
/* 02C5D0E0 */ _t68 = cpu->r[9] + 0x00000000u;
|
|
/* 02C5D0E0 */ cpu->r[8] = rbrew_read32(cpu->mem, _t68);
|
|
/* 02C5D0E4 */ cpu->r[6] = rbrew_rlwinm(cpu->r[8], 0x00000000u, 0x00000006u, 0x00000007u);
|
|
/* 02C5D0E8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[24]);
|
|
/* 02C5D0EC */ _t69 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C5D0EC */ _t70 = _t69 & 0x00000001u;
|
|
/* 02C5D0EC */ if (_t70) goto L_02C5D0F0; else goto L_02C5D13C;
|
|
L_02C5D0F0: ; // 0x2c5d0f0
|
|
/* 02C5D0F0 */ cpu->r[6] = 0x00000000u;
|
|
/* 02C5D0F4 */ cpu->r[7] = 0x00000003u;
|
|
L_02C5D0F8: ; // 0x2c5d0f8
|
|
/* 02C5D0F8 */ cpu->r[5] = 0x00000004u;
|
|
/* 02C5D0FC */ cpu->r[9] = cpu->r[3] + cpu->r[6];
|
|
/* 02C5D100 */ cpu->r[4] = 0x00000000u;
|
|
/* 02C5D104 */ cpu->ctr = cpu->r[5];
|
|
/* 02C5D108 */ cpu->r[8] = cpu->r[23] + cpu->r[6];
|
|
L_02C5D10C: ; // 0x2c5d10c
|
|
/* 02C5D10C */ _t71 = cpu->r[9] + cpu->r[4];
|
|
/* 02C5D10C */ cpu->r[6] = rbrew_read32(cpu->mem, _t71);
|
|
/* 02C5D110 */ _t72 = cpu->r[8] + cpu->r[4];
|
|
/* 02C5D110 */ rbrew_write32(cpu->mem, _t72, cpu->r[6]);
|
|
/* 02C5D114 */ cpu->r[4] = cpu->r[4] + 0x00000004u;
|
|
/* 02C5D118 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02C5D118 */ _t73 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02C5D118 */ _t74 = _t73 >> (0x00000002u & 31u);
|
|
/* 02C5D118 */ _t75 = _t74 & 0x00000001u;
|
|
/* 02C5D118 */ if (_t75) goto L_02C5D10C; else goto L_02C5D11C;
|
|
L_02C5D11C: ; // 0x2c5d11c
|
|
/* 02C5D11C */ cpu->r[7] = cpu->r[7] + 0xFFFFFFFFu;
|
|
/* 02C5D11C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 02C5D120 */ cpu->r[6] = cpu->r[6] + 0x00000010u;
|
|
/* 02C5D124 */ _t76 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C5D124 */ _t77 = _t76 & 0x00000001u;
|
|
/* 02C5D124 */ if (_t77) goto L_02C5D128; else goto L_02C5D0F8;
|
|
L_02C5D128: ; // 0x2c5d128
|
|
/* 02C5D128 */ _t78 = cpu->r[1] + 0x00000008u;
|
|
/* 02C5D128 */ cpu->r[11] = rbrew_read32(cpu->mem, _t78);
|
|
/* 02C5D12C */ _t79 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C5D12C */ cpu->r[9] = rbrew_read32(cpu->mem, _t79);
|
|
/* 02C5D130 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[11]);
|
|
/* 02C5D134 */ _t80 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C5D134 */ _t81 = _t80 & 0x00000001u;
|
|
/* 02C5D134 */ if (_t81) goto L_02C5D138; else goto L_02C5D4F8;
|
|
L_02C5D138: ; // 0x2c5d138
|
|
/* 02C5D138 */ goto L_02C5D4AC;
|
|
L_02C5D13C: ; // 0x2c5d13c
|
|
/* 02C5D13C */ /* nop */
|
|
/* 02C5D140 */ /* nop */
|
|
/* 02C5D144 */ /* nop */
|
|
/* 02C5D148 */ /* nop */
|
|
/* 02C5D14C */ _t82 = cpu->r[9] + 0x0000000Cu;
|
|
/* 02C5D14C */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t82);
|
|
/* 02C5D150 */ /* nop */
|
|
/* 02C5D154 */ /* nop */
|
|
/* 02C5D158 */ /* nop */
|
|
/* 02C5D15C */ /* nop */
|
|
/* 02C5D160 */ /* nop */
|
|
/* 02C5D164 */ /* nop */
|
|
/* 02C5D168 */ /* nop */
|
|
/* 02C5D16C */ /* nop */
|
|
/* 02C5D170 */ /* nop */
|
|
/* 02C5D174 */ /* nop */
|
|
/* 02C5D178 */ /* nop */
|
|
/* 02C5D17C */ /* nop */
|
|
/* 02C5D180 */ /* nop */
|
|
/* 02C5D184 */ /* nop */
|
|
/* 02C5D188 */ /* nop */
|
|
/* 02C5D18C */ /* nop */
|
|
/* 02C5D190 */ /* nop */
|
|
/* 02C5D194 */ /* nop */
|
|
/* 02C5D198 */ /* nop */
|
|
/* 02C5D19C */ _t83 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C5D19C */ cpu->r[9] = rbrew_read32(cpu->mem, _t83);
|
|
/* 02C5D1A0 */ _t84 = cpu->r[1] + 0x00000008u;
|
|
/* 02C5D1A0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t84);
|
|
/* 02C5D1A4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[11]);
|
|
/* 02C5D1A8 */ _t85 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C5D1A8 */ _t86 = _t85 & 0x00000001u;
|
|
/* 02C5D1A8 */ if (_t86) goto L_02C5D1AC; else goto L_02C5D4F8;
|
|
L_02C5D1AC: ; // 0x2c5d1ac
|
|
/* 02C5D1AC */ goto L_02C5D4AC;
|
|
L_02C5D1B0: ; // 0x2c5d1b0
|
|
/* 02C5D1B0 */ _t87 = cpu->r[9] + 0x00000000u;
|
|
/* 02C5D1B0 */ cpu->r[8] = rbrew_read32(cpu->mem, _t87);
|
|
/* 02C5D1B4 */ cpu->r[0] = rbrew_rlwinm(cpu->r[8], 0x00000000u, 0x00000006u, 0x00000007u);
|
|
/* 02C5D1B8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[24]);
|
|
/* 02C5D1BC */ cpu->r[5] = cpu->r[6] + 0x00000010u;
|
|
/* 02C5D1C0 */ _t88 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C5D1C0 */ _t89 = _t88 & 0x00000001u;
|
|
/* 02C5D1C0 */ if (_t89) goto L_02C5D1C4; else goto L_02C5D278;
|
|
L_02C5D1C4: ; // 0x2c5d1c4
|
|
/* 02C5D1C4 */ /* nop */
|
|
/* 02C5D1C8 */ /* nop */
|
|
/* 02C5D1CC */ /* nop */
|
|
/* 02C5D1D0 */ /* nop */
|
|
/* 02C5D1D4 */ /* nop */
|
|
/* 02C5D1D8 */ /* nop */
|
|
/* 02C5D1DC */ /* nop */
|
|
/* 02C5D1E0 */ /* nop */
|
|
/* 02C5D1E4 */ /* nop */
|
|
/* 02C5D1E8 */ /* nop */
|
|
/* 02C5D1EC */ /* nop */
|
|
/* 02C5D1F0 */ /* nop */
|
|
/* 02C5D1F4 */ /* nop */
|
|
/* 02C5D1F8 */ /* nop */
|
|
/* 02C5D1FC */ /* nop */
|
|
/* 02C5D200 */ /* nop */
|
|
/* 02C5D204 */ /* nop */
|
|
/* 02C5D208 */ /* nop */
|
|
/* 02C5D20C */ /* nop */
|
|
/* 02C5D210 */ /* nop */
|
|
/* 02C5D214 */ /* nop */
|
|
/* 02C5D218 */ /* nop */
|
|
/* 02C5D21C */ /* nop */
|
|
/* 02C5D220 */ /* nop */
|
|
/* 02C5D224 */ /* nop */
|
|
/* 02C5D228 */ /* nop */
|
|
/* 02C5D22C */ /* nop */
|
|
/* 02C5D230 */ /* nop */
|
|
/* 02C5D234 */ /* nop */
|
|
/* 02C5D238 */ /* nop */
|
|
/* 02C5D23C */ /* nop */
|
|
/* 02C5D240 */ /* nop */
|
|
/* 02C5D244 */ /* nop */
|
|
/* 02C5D248 */ /* nop */
|
|
/* 02C5D24C */ /* nop */
|
|
/* 02C5D250 */ /* nop */
|
|
/* 02C5D254 */ /* nop */
|
|
/* 02C5D258 */ /* nop */
|
|
/* 02C5D25C */ /* nop */
|
|
/* 02C5D260 */ /* nop */
|
|
/* 02C5D264 */ _t90 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C5D264 */ cpu->r[9] = rbrew_read32(cpu->mem, _t90);
|
|
/* 02C5D268 */ _t91 = cpu->r[1] + 0x00000008u;
|
|
/* 02C5D268 */ cpu->r[11] = rbrew_read32(cpu->mem, _t91);
|
|
/* 02C5D26C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[11]);
|
|
/* 02C5D270 */ _t92 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C5D270 */ _t93 = _t92 & 0x00000001u;
|
|
/* 02C5D270 */ if (_t93) goto L_02C5D274; else goto L_02C5D4F8;
|
|
L_02C5D274: ; // 0x2c5d274
|
|
/* 02C5D274 */ goto L_02C5D4AC;
|
|
L_02C5D278: ; // 0x2c5d278
|
|
/* 02C5D278 */ cpu->r[0] = rbrew_rlwinm(cpu->r[11], 0x00000000u, 0x00000008u, 0x00000008u);
|
|
/* 02C5D278 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C5D27C */ _t94 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C5D27C */ _t95 = _t94 & 0x00000001u;
|
|
/* 02C5D27C */ if (_t95) goto L_02C5D39C; else goto L_02C5D280;
|
|
L_02C5D280: ; // 0x2c5d280
|
|
/* 02C5D280 */ cpu->r[8] = 0x00000000u;
|
|
/* 02C5D284 */ cpu->r[6] = 0x00000003u;
|
|
L_02C5D288: ; // 0x2c5d288
|
|
/* 02C5D288 */ cpu->r[4] = 0x00000004u;
|
|
/* 02C5D28C */ cpu->r[12] = cpu->r[5] + cpu->r[8];
|
|
/* 02C5D290 */ cpu->r[10] = 0x00000000u;
|
|
/* 02C5D294 */ cpu->ctr = cpu->r[4];
|
|
/* 02C5D298 */ cpu->r[11] = cpu->r[23] + cpu->r[8];
|
|
L_02C5D29C: ; // 0x2c5d29c
|
|
/* 02C5D29C */ _t96 = cpu->r[12] + cpu->r[10];
|
|
/* 02C5D29C */ cpu->r[8] = rbrew_read32(cpu->mem, _t96);
|
|
/* 02C5D2A0 */ _t97 = cpu->r[11] + cpu->r[10];
|
|
/* 02C5D2A0 */ rbrew_write32(cpu->mem, _t97, cpu->r[8]);
|
|
/* 02C5D2A4 */ cpu->r[10] = cpu->r[10] + 0x00000004u;
|
|
/* 02C5D2A8 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02C5D2A8 */ _t98 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02C5D2A8 */ _t99 = _t98 >> (0x00000002u & 31u);
|
|
/* 02C5D2A8 */ _t100 = _t99 & 0x00000001u;
|
|
/* 02C5D2A8 */ if (_t100) goto L_02C5D29C; else goto L_02C5D2AC;
|
|
L_02C5D2AC: ; // 0x2c5d2ac
|
|
/* 02C5D2AC */ cpu->r[6] = cpu->r[6] + 0xFFFFFFFFu;
|
|
/* 02C5D2AC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u);
|
|
/* 02C5D2B0 */ cpu->r[8] = cpu->r[8] + 0x00000010u;
|
|
/* 02C5D2B4 */ _t101 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C5D2B4 */ _t102 = _t101 & 0x00000001u;
|
|
/* 02C5D2B4 */ if (_t102) goto L_02C5D2B8; else goto L_02C5D288;
|
|
L_02C5D2B8: ; // 0x2c5d2b8
|
|
/* 02C5D2B8 */ _t103 = cpu->r[9] + 0x00000004u;
|
|
/* 02C5D2B8 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t103);
|
|
/* 02C5D2BC */ _t104 = cpu->r[23] + 0x0000000Cu;
|
|
/* 02C5D2BC */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t104);
|
|
/* 02C5D2C0 */ cpu->f[9] = cpu->f[9] * cpu->f[10];
|
|
/* 02C5D2C4 */ _t105 = cpu->r[23] + 0x0000001Cu;
|
|
/* 02C5D2C4 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t105);
|
|
/* 02C5D2C8 */ _t106 = cpu->r[23] + 0x0000000Cu;
|
|
/* 02C5D2C8 */ rbrew_write_f32(cpu->mem, _t106, cpu->f[9]);
|
|
/* 02C5D2CC */ _t107 = cpu->r[9] + 0x00000008u;
|
|
/* 02C5D2CC */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t107);
|
|
/* 02C5D2D0 */ cpu->f[11] = cpu->f[11] * cpu->f[12];
|
|
/* 02C5D2D4 */ _t108 = cpu->r[23] + 0x0000002Cu;
|
|
/* 02C5D2D4 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t108);
|
|
/* 02C5D2D8 */ _t109 = cpu->r[23] + 0x0000001Cu;
|
|
/* 02C5D2D8 */ rbrew_write_f32(cpu->mem, _t109, cpu->f[11]);
|
|
/* 02C5D2DC */ _t110 = cpu->r[9] + 0x0000000Cu;
|
|
/* 02C5D2DC */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t110);
|
|
/* 02C5D2E0 */ /* nop */
|
|
/* 02C5D2E4 */ cpu->f[13] = cpu->f[13] * cpu->f[0];
|
|
/* 02C5D2E8 */ /* nop */
|
|
/* 02C5D2EC */ _t111 = cpu->r[23] + 0x0000002Cu;
|
|
/* 02C5D2EC */ rbrew_write_f32(cpu->mem, _t111, cpu->f[13]);
|
|
/* 02C5D2F0 */ /* nop */
|
|
/* 02C5D2F4 */ /* nop */
|
|
/* 02C5D2F8 */ /* nop */
|
|
/* 02C5D2FC */ /* nop */
|
|
/* 02C5D300 */ /* nop */
|
|
/* 02C5D304 */ /* nop */
|
|
/* 02C5D308 */ /* nop */
|
|
/* 02C5D30C */ /* nop */
|
|
/* 02C5D310 */ /* nop */
|
|
/* 02C5D314 */ /* nop */
|
|
/* 02C5D318 */ /* nop */
|
|
/* 02C5D31C */ /* nop */
|
|
/* 02C5D320 */ /* nop */
|
|
/* 02C5D324 */ /* nop */
|
|
/* 02C5D328 */ /* nop */
|
|
/* 02C5D32C */ /* nop */
|
|
/* 02C5D330 */ /* nop */
|
|
/* 02C5D334 */ /* nop */
|
|
/* 02C5D338 */ /* nop */
|
|
/* 02C5D33C */ /* nop */
|
|
/* 02C5D340 */ /* nop */
|
|
/* 02C5D344 */ /* nop */
|
|
/* 02C5D348 */ /* nop */
|
|
/* 02C5D34C */ /* nop */
|
|
/* 02C5D350 */ /* nop */
|
|
/* 02C5D354 */ /* nop */
|
|
/* 02C5D358 */ /* nop */
|
|
/* 02C5D35C */ /* nop */
|
|
/* 02C5D360 */ /* nop */
|
|
/* 02C5D364 */ /* nop */
|
|
/* 02C5D368 */ /* nop */
|
|
/* 02C5D36C */ /* nop */
|
|
/* 02C5D370 */ /* nop */
|
|
/* 02C5D374 */ /* nop */
|
|
/* 02C5D378 */ /* nop */
|
|
/* 02C5D37C */ /* nop */
|
|
/* 02C5D380 */ /* nop */
|
|
/* 02C5D384 */ /* nop */
|
|
/* 02C5D388 */ _t112 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C5D388 */ cpu->r[9] = rbrew_read32(cpu->mem, _t112);
|
|
/* 02C5D38C */ _t113 = cpu->r[1] + 0x00000008u;
|
|
/* 02C5D38C */ cpu->r[11] = rbrew_read32(cpu->mem, _t113);
|
|
/* 02C5D390 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[11]);
|
|
/* 02C5D394 */ _t114 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C5D394 */ _t115 = _t114 & 0x00000001u;
|
|
/* 02C5D394 */ if (_t115) goto L_02C5D398; else goto L_02C5D4F8;
|
|
L_02C5D398: ; // 0x2c5d398
|
|
/* 02C5D398 */ goto L_02C5D4AC;
|
|
L_02C5D39C: ; // 0x2c5d39c
|
|
/* 02C5D39C */ /* nop */
|
|
/* 02C5D3A0 */ /* nop */
|
|
/* 02C5D3A4 */ /* nop */
|
|
/* 02C5D3A8 */ /* nop */
|
|
/* 02C5D3AC */ _t116 = cpu->r[9] + 0x0000000Cu;
|
|
/* 02C5D3AC */ cpu->f[6] = rbrew_read_f32(cpu->mem, _t116);
|
|
/* 02C5D3B0 */ /* nop */
|
|
/* 02C5D3B4 */ /* nop */
|
|
/* 02C5D3B8 */ /* nop */
|
|
/* 02C5D3BC */ /* nop */
|
|
/* 02C5D3C0 */ /* nop */
|
|
/* 02C5D3C4 */ /* nop */
|
|
/* 02C5D3C8 */ /* nop */
|
|
/* 02C5D3CC */ /* nop */
|
|
/* 02C5D3D0 */ /* nop */
|
|
/* 02C5D3D4 */ /* nop */
|
|
/* 02C5D3D8 */ /* nop */
|
|
/* 02C5D3DC */ /* nop */
|
|
/* 02C5D3E0 */ /* nop */
|
|
/* 02C5D3E4 */ /* nop */
|
|
/* 02C5D3E8 */ /* nop */
|
|
/* 02C5D3EC */ /* nop */
|
|
/* 02C5D3F0 */ /* nop */
|
|
/* 02C5D3F4 */ /* nop */
|
|
/* 02C5D3F8 */ /* nop */
|
|
/* 02C5D3FC */ /* nop */
|
|
/* 02C5D400 */ /* nop */
|
|
/* 02C5D404 */ /* nop */
|
|
/* 02C5D408 */ /* nop */
|
|
/* 02C5D40C */ /* nop */
|
|
/* 02C5D410 */ /* nop */
|
|
/* 02C5D414 */ /* nop */
|
|
/* 02C5D418 */ /* nop */
|
|
/* 02C5D41C */ /* nop */
|
|
/* 02C5D420 */ /* nop */
|
|
/* 02C5D424 */ /* nop */
|
|
/* 02C5D428 */ /* nop */
|
|
/* 02C5D42C */ /* nop */
|
|
/* 02C5D430 */ /* nop */
|
|
/* 02C5D434 */ /* nop */
|
|
/* 02C5D438 */ /* nop */
|
|
/* 02C5D43C */ /* nop */
|
|
/* 02C5D440 */ /* nop */
|
|
/* 02C5D444 */ /* nop */
|
|
/* 02C5D448 */ /* nop */
|
|
/* 02C5D44C */ /* nop */
|
|
/* 02C5D450 */ /* nop */
|
|
/* 02C5D454 */ /* nop */
|
|
/* 02C5D458 */ /* nop */
|
|
/* 02C5D45C */ /* nop */
|
|
/* 02C5D460 */ /* nop */
|
|
/* 02C5D464 */ /* nop */
|
|
/* 02C5D468 */ /* nop */
|
|
/* 02C5D46C */ /* nop */
|
|
/* 02C5D470 */ /* nop */
|
|
/* 02C5D474 */ /* nop */
|
|
/* 02C5D478 */ /* nop */
|
|
/* 02C5D47C */ /* nop */
|
|
/* 02C5D480 */ /* nop */
|
|
/* 02C5D484 */ /* nop */
|
|
/* 02C5D488 */ /* nop */
|
|
/* 02C5D48C */ /* nop */
|
|
/* 02C5D490 */ /* nop */
|
|
/* 02C5D494 */ /* nop */
|
|
/* 02C5D498 */ /* nop */
|
|
/* 02C5D49C */ _t117 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C5D49C */ cpu->r[9] = rbrew_read32(cpu->mem, _t117);
|
|
/* 02C5D4A0 */ _t118 = cpu->r[1] + 0x00000008u;
|
|
/* 02C5D4A0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t118);
|
|
/* 02C5D4A4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[11]);
|
|
/* 02C5D4A8 */ _t119 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C5D4A8 */ _t120 = _t119 & 0x00000001u;
|
|
/* 02C5D4A8 */ if (_t120) goto L_02C5D4AC; else goto L_02C5D4F8;
|
|
L_02C5D4AC: ; // 0x2c5d4ac
|
|
/* 02C5D4AC */ cpu->r[10] = (uint32_t)((int32_t)cpu->r[11] * (int32_t)0x00000030u);
|
|
/* 02C5D4B0 */ _t121 = cpu->r[28] + 0x00000010u;
|
|
/* 02C5D4B0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t121);
|
|
/* 02C5D4B4 */ cpu->r[6] = rbrew_rlwinm(cpu->r[11], 0x00000006u, 0x00000000u, 0x00000019u);
|
|
/* 02C5D4B8 */ _t122 = cpu->r[28] + 0x0000000Cu;
|
|
/* 02C5D4B8 */ cpu->r[7] = rbrew_read32(cpu->mem, _t122);
|
|
/* 02C5D4BC */ cpu->r[4] = cpu->r[31] + cpu->r[6];
|
|
/* 02C5D4C0 */ cpu->r[8] = cpu->r[12] + cpu->r[10];
|
|
/* 02C5D4C4 */ _t123 = cpu->r[28] + 0x00000030u;
|
|
/* 02C5D4C4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t123);
|
|
/* 02C5D4C8 */ cpu->r[9] = cpu->r[4] + 0x00000004u;
|
|
/* 02C5D4CC */ _t124 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C5D4CC */ rbrew_write32(cpu->mem, _t124, cpu->r[8]);
|
|
/* 02C5D4D0 */ cpu->r[0] = cpu->r[7] + cpu->r[6];
|
|
/* 02C5D4D4 */ _t125 = cpu->r[1] + 0x00000010u;
|
|
/* 02C5D4D4 */ rbrew_write32(cpu->mem, _t125, cpu->r[9]);
|
|
/* 02C5D4D8 */ _t126 = cpu->r[1] + 0x00000014u;
|
|
/* 02C5D4D8 */ rbrew_write32(cpu->mem, _t126, cpu->r[0]);
|
|
/* 02C5D4DC */ _t127 = cpu->r[3] + 0x00000000u;
|
|
/* 02C5D4DC */ cpu->r[12] = rbrew_read32(cpu->mem, _t127);
|
|
/* 02C5D4E0 */ _t128 = cpu->r[12] + 0x00000014u;
|
|
/* 02C5D4E0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t128);
|
|
/* 02C5D4E4 */ cpu->ctr = cpu->r[0];
|
|
/* 02C5D4E8 */ cpu->r[4] = cpu->r[1] + 0x00000018u;
|
|
/* 02C5D4EC */ cpu->r[5] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C5D4F0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02C5D4F4 */ _t129 = cpu->r[1] + 0x00000008u;
|
|
/* 02C5D4F4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t129);
|
|
L_02C5D4F8: ; // 0x2c5d4f8
|
|
/* 02C5D4F8 */ cpu->r[11] = cpu->r[11] + 0x00000001u;
|
|
/* 02C5D4FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], cpu->r[30]);
|
|
/* 02C5D500 */ _t130 = cpu->r[1] + 0x00000008u;
|
|
/* 02C5D500 */ rbrew_write32(cpu->mem, _t130, cpu->r[11]);
|
|
/* 02C5D504 */ _t131 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C5D504 */ _t132 = _t131 & 0x00000001u;
|
|
/* 02C5D504 */ if (_t132) goto L_02C5D084; else goto L_02C5D508;
|
|
L_02C5D508: ; // 0x2c5d508
|
|
/* 02C5D508 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02C5D50C */ _t133 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C5D50C */ _t134 = _t133 & 0x00000001u;
|
|
/* 02C5D50C */ if (_t134) goto L_02C5D510; else goto L_02C5D5A4;
|
|
L_02C5D510: ; // 0x2c5d510
|
|
/* 02C5D510 */ cpu->r[10] = 0x00000000u;
|
|
/* 02C5D514 */ cpu->ctr = cpu->r[30];
|
|
/* 02C5D518 */ cpu->r[5] = 0x03000000u;
|
|
/* 02C5D51C */ cpu->r[4] = cpu->r[10];
|
|
L_02C5D520: ; // 0x2c5d520
|
|
/* 02C5D520 */ _t135 = cpu->r[31] + cpu->r[4];
|
|
/* 02C5D520 */ cpu->r[0] = rbrew_read32(cpu->mem, _t135);
|
|
/* 02C5D524 */ cpu->r[6] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000006u, 0x00000007u);
|
|
/* 02C5D528 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[5]);
|
|
/* 02C5D52C */ cpu->r[11] = cpu->r[31] + cpu->r[4];
|
|
/* 02C5D530 */ _t136 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C5D530 */ _t137 = _t136 & 0x00000001u;
|
|
/* 02C5D530 */ if (_t137) goto L_02C5D598; else goto L_02C5D534;
|
|
L_02C5D534: ; // 0x2c5d534
|
|
/* 02C5D534 */ _t138 = cpu->r[11] + 0x0000000Cu;
|
|
/* 02C5D534 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t138);
|
|
/* 02C5D538 */ cpu->r[12] = cpu->r[29] + cpu->r[10];
|
|
/* 02C5D53C */ /* nop */
|
|
/* 02C5D540 */ /* nop */
|
|
/* 02C5D544 */ /* nop */
|
|
/* 02C5D548 */ /* nop */
|
|
/* 02C5D54C */ /* nop */
|
|
/* 02C5D550 */ /* nop */
|
|
/* 02C5D554 */ /* nop */
|
|
/* 02C5D558 */ /* nop */
|
|
/* 02C5D55C */ /* nop */
|
|
/* 02C5D560 */ /* nop */
|
|
/* 02C5D564 */ /* nop */
|
|
/* 02C5D568 */ /* nop */
|
|
/* 02C5D56C */ /* nop */
|
|
/* 02C5D570 */ /* nop */
|
|
/* 02C5D574 */ /* nop */
|
|
/* 02C5D578 */ /* nop */
|
|
/* 02C5D57C */ /* nop */
|
|
/* 02C5D580 */ /* nop */
|
|
/* 02C5D584 */ /* nop */
|
|
/* 02C5D588 */ /* nop */
|
|
/* 02C5D58C */ /* nop */
|
|
/* 02C5D590 */ /* nop */
|
|
/* 02C5D594 */ /* nop */
|
|
L_02C5D598: ; // 0x2c5d598
|
|
/* 02C5D598 */ cpu->r[10] = cpu->r[10] + 0x00000030u;
|
|
/* 02C5D59C */ cpu->r[4] = cpu->r[4] + 0x00000040u;
|
|
/* 02C5D5A0 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02C5D5A0 */ _t139 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02C5D5A0 */ _t140 = _t139 >> (0x00000002u & 31u);
|
|
/* 02C5D5A0 */ _t141 = _t140 & 0x00000001u;
|
|
/* 02C5D5A0 */ if (_t141) goto L_02C5D520; else goto L_02C5D5A4;
|
|
L_02C5D5A4: ; // 0x2c5d5a4
|
|
/* 02C5D5A4 */ /* nop */
|
|
/* 02C5D5A8 */ _t142 = cpu->r[1] + 0x00000068u;
|
|
/* 02C5D5A8 */ cpu->f[29] = rbrew_read_f32(cpu->mem, _t142);
|
|
/* 02C5D5AC */ _t143 = cpu->r[1] + 0x00000078u;
|
|
/* 02C5D5AC */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t143);
|
|
/* 02C5D5B0 */ _t144 = cpu->r[1] + 0x00000060u;
|
|
/* 02C5D5B0 */ cpu->f[29] = rbrew_read_f64(cpu->mem, _t144);
|
|
/* 02C5D5B4 */ _t145 = cpu->r[1] + 0x00000070u;
|
|
/* 02C5D5B4 */ cpu->f[30] = rbrew_read_f64(cpu->mem, _t145);
|
|
/* 02C5D5B8 */ _t146 = cpu->r[1] + 0x00000058u;
|
|
/* 02C5D5B8 */ cpu->f[28] = rbrew_read_f32(cpu->mem, _t146);
|
|
/* 02C5D5BC */ _t147 = cpu->r[1] + 0x00000088u;
|
|
/* 02C5D5BC */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t147);
|
|
/* 02C5D5C0 */ _t148 = cpu->r[1] + 0x00000050u;
|
|
/* 02C5D5C0 */ cpu->f[28] = rbrew_read_f64(cpu->mem, _t148);
|
|
/* 02C5D5C4 */ _t149 = cpu->r[1] + 0x00000080u;
|
|
/* 02C5D5C4 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t149);
|
|
/* 02C5D5C8 */ _t150 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C5D5C8 */ _t151 = _t150 & 0x00000001u;
|
|
/* 02C5D5C8 */ if (_t151) goto L_02C5D5CC; // else: addr-0 trap, fall-through
|
|
L_02C5D5CC: ; // 0x2c5d5cc
|
|
/* 02C5D5CC */ _t152 = cpu->r[1] + 0x00000094u;
|
|
/* 02C5D5CC */ cpu->r[0] = rbrew_read32(cpu->mem, _t152);
|
|
/* 02C5D5D0 */ cpu->lr = cpu->r[0];
|
|
/* 02C5D5D4 */ cpu->r[1] = cpu->r[1] + 0x00000090u;
|
|
/* 02C5D5D8 */ return;
|
|
}
|
|
|
|
// fn_02C5D5DC @ 0x2c5d5dc
|
|
void Gambit_fn_02C5D5DC(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, _t153;
|
|
|
|
L_02C5D5DC: ; // 0x2c5d5dc
|
|
/* 02C5D5DC */ _t0 = cpu->r[1] + 0xFFFFFF88u;
|
|
/* 02C5D5DC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C5D5DC */ cpu->r[1] = _t0;
|
|
/* 02C5D5E0 */ /* nop */
|
|
/* 02C5D5E4 */ _t1 = cpu->r[1] + 0x00000068u;
|
|
/* 02C5D5E4 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[31]);
|
|
/* 02C5D5E8 */ /* nop */
|
|
/* 02C5D5EC */ _t2 = cpu->r[1] + 0x00000070u;
|
|
/* 02C5D5EC */ rbrew_write_f32(cpu->mem, _t2, cpu->f[31]);
|
|
/* 02C5D5F0 */ _t3 = cpu->r[1] + 0x00000058u;
|
|
/* 02C5D5F0 */ rbrew_write_f64(cpu->mem, _t3, cpu->f[30]);
|
|
/* 02C5D5F4 */ cpu->r[0] = cpu->lr;
|
|
/* 02C5D5F8 */ _t4 = cpu->r[1] + 0x0000007Cu;
|
|
/* 02C5D5F8 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02C5D5FC */ /* nop */
|
|
/* 02C5D600 */ _t5 = cpu->r[1] + 0x00000060u;
|
|
/* 02C5D600 */ rbrew_write_f32(cpu->mem, _t5, cpu->f[30]);
|
|
/* 02C5D604 */ cpu->r[27] = cpu->r[3];
|
|
/* 02C5D608 */ _t6 = cpu->r[27] + 0x00000004u;
|
|
/* 02C5D608 */ cpu->r[7] = rbrew_read16(cpu->mem, _t6);
|
|
/* 02C5D60C */ _t7 = cpu->r[27] + 0x0000000Cu;
|
|
/* 02C5D60C */ cpu->r[29] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02C5D610 */ cpu->r[7] = cpu->r[7] | 0x00000004u;
|
|
/* 02C5D614 */ cpu->r[26] = 0x101B0000u;
|
|
/* 02C5D618 */ cpu->r[10] = cpu->r[29];
|
|
/* 02C5D61C */ _t8 = cpu->r[27] + 0x00000004u;
|
|
/* 02C5D61C */ rbrew_write16(cpu->mem, _t8, (uint16_t)cpu->r[7]);
|
|
/* 02C5D620 */ _t9 = cpu->r[10] + 0x00000000u;
|
|
/* 02C5D620 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02C5D624 */ cpu->r[26] = cpu->r[26] + 0xFFFFEF60u;
|
|
/* 02C5D628 */ _t10 = cpu->r[27] + 0x00000010u;
|
|
/* 02C5D628 */ cpu->r[28] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02C5D62C */ cpu->r[7] = 0x0C000000u;
|
|
/* 02C5D630 */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000004u, 0x00000005u);
|
|
/* 02C5D634 */ _t11 = cpu->r[27] + 0x0000002Cu;
|
|
/* 02C5D634 */ cpu->r[31] = rbrew_read16(cpu->mem, _t11);
|
|
/* 02C5D638 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[7]);
|
|
/* 02C5D63C */ _t12 = cpu->r[27] + 0x00000014u;
|
|
/* 02C5D63C */ cpu->r[30] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02C5D640 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C5D640 */ _t14 = _t13 & 0x00000001u;
|
|
/* 02C5D640 */ if (_t14) goto L_02C5D644; else goto L_02C5D6AC;
|
|
L_02C5D644: ; // 0x2c5d644
|
|
/* 02C5D644 */ cpu->r[11] = 0x00000000u;
|
|
/* 02C5D648 */ cpu->r[6] = 0x00000003u;
|
|
/* 02C5D64C */ cpu->r[9] = cpu->r[28];
|
|
L_02C5D650: ; // 0x2c5d650
|
|
/* 02C5D650 */ cpu->r[8] = 0x00000004u;
|
|
/* 02C5D654 */ cpu->r[5] = cpu->r[4] + cpu->r[11];
|
|
/* 02C5D658 */ cpu->r[7] = 0x00000000u;
|
|
/* 02C5D65C */ cpu->ctr = cpu->r[8];
|
|
/* 02C5D660 */ cpu->r[12] = cpu->r[9] + cpu->r[11];
|
|
L_02C5D664: ; // 0x2c5d664
|
|
/* 02C5D664 */ _t15 = cpu->r[5] + cpu->r[7];
|
|
/* 02C5D664 */ cpu->r[11] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02C5D668 */ _t16 = cpu->r[12] + cpu->r[7];
|
|
/* 02C5D668 */ rbrew_write32(cpu->mem, _t16, cpu->r[11]);
|
|
/* 02C5D66C */ cpu->r[7] = cpu->r[7] + 0x00000004u;
|
|
/* 02C5D670 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02C5D670 */ _t17 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02C5D670 */ _t18 = _t17 >> (0x00000002u & 31u);
|
|
/* 02C5D670 */ _t19 = _t18 & 0x00000001u;
|
|
/* 02C5D670 */ if (_t19) goto L_02C5D664; else goto L_02C5D674;
|
|
L_02C5D674: ; // 0x2c5d674
|
|
/* 02C5D674 */ cpu->r[6] = cpu->r[6] + 0xFFFFFFFFu;
|
|
/* 02C5D674 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u);
|
|
/* 02C5D678 */ cpu->r[11] = cpu->r[11] + 0x00000010u;
|
|
/* 02C5D67C */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C5D67C */ _t21 = _t20 & 0x00000001u;
|
|
/* 02C5D67C */ if (_t21) goto L_02C5D680; else goto L_02C5D650;
|
|
L_02C5D680: ; // 0x2c5d680
|
|
/* 02C5D680 */ _t22 = cpu->r[10] + 0x00000000u;
|
|
/* 02C5D680 */ cpu->r[0] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02C5D684 */ cpu->r[5] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000004u, 0x0000001Fu);
|
|
/* 02C5D688 */ _t23 = rbrew_rlwinm(cpu->r[0], 0x00000004u, 0x00000002u, 0x00000003u);
|
|
/* 02C5D688 */ _t24 = cpu->r[5] & 0xCFFFFFFFu;
|
|
/* 02C5D688 */ cpu->r[5] = _t24 | _t23;
|
|
/* 02C5D68C */ _t25 = cpu->r[10] + 0x00000000u;
|
|
/* 02C5D68C */ rbrew_write32(cpu->mem, _t25, cpu->r[5]);
|
|
/* 02C5D690 */ _t26 = cpu->r[29] + 0x00000000u;
|
|
/* 02C5D690 */ cpu->r[7] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02C5D694 */ cpu->r[8] = 0x03000000u;
|
|
/* 02C5D698 */ cpu->r[6] = rbrew_rlwinm(cpu->r[7], 0x00000000u, 0x00000006u, 0x00000007u);
|
|
/* 02C5D69C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[8]);
|
|
/* 02C5D6A0 */ cpu->r[12] = cpu->r[30];
|
|
/* 02C5D6A4 */ _t27 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C5D6A4 */ _t28 = _t27 & 0x00000001u;
|
|
/* 02C5D6A4 */ if (_t28) goto L_02C5D778; else goto L_02C5D6A8;
|
|
L_02C5D6A8: ; // 0x2c5d6a8
|
|
/* 02C5D6A8 */ goto L_02C5D7AC;
|
|
L_02C5D6AC: ; // 0x2c5d6ac
|
|
/* 02C5D6AC */ /* nop */
|
|
/* 02C5D6B0 */ cpu->r[7] = cpu->r[10] + 0x00000010u;
|
|
/* 02C5D6B4 */ /* nop */
|
|
/* 02C5D6B8 */ /* nop */
|
|
/* 02C5D6BC */ /* nop */
|
|
/* 02C5D6C0 */ /* nop */
|
|
/* 02C5D6C4 */ /* nop */
|
|
/* 02C5D6C8 */ /* nop */
|
|
/* 02C5D6CC */ /* nop */
|
|
/* 02C5D6D0 */ /* nop */
|
|
/* 02C5D6D4 */ /* nop */
|
|
/* 02C5D6D8 */ /* nop */
|
|
/* 02C5D6DC */ /* nop */
|
|
/* 02C5D6E0 */ /* nop */
|
|
/* 02C5D6E4 */ /* nop */
|
|
/* 02C5D6E8 */ /* nop */
|
|
/* 02C5D6EC */ /* nop */
|
|
/* 02C5D6F0 */ /* nop */
|
|
/* 02C5D6F4 */ /* nop */
|
|
/* 02C5D6F8 */ /* nop */
|
|
/* 02C5D6FC */ /* nop */
|
|
/* 02C5D700 */ /* nop */
|
|
/* 02C5D704 */ /* nop */
|
|
/* 02C5D708 */ /* nop */
|
|
/* 02C5D70C */ /* nop */
|
|
/* 02C5D710 */ /* nop */
|
|
/* 02C5D714 */ /* nop */
|
|
/* 02C5D718 */ /* nop */
|
|
/* 02C5D71C */ /* nop */
|
|
/* 02C5D720 */ /* nop */
|
|
/* 02C5D724 */ /* nop */
|
|
/* 02C5D728 */ /* nop */
|
|
/* 02C5D72C */ /* nop */
|
|
/* 02C5D730 */ /* nop */
|
|
/* 02C5D734 */ /* nop */
|
|
/* 02C5D738 */ /* nop */
|
|
/* 02C5D73C */ /* nop */
|
|
/* 02C5D740 */ /* nop */
|
|
/* 02C5D744 */ /* nop */
|
|
/* 02C5D748 */ /* nop */
|
|
/* 02C5D74C */ /* nop */
|
|
/* 02C5D750 */ _t29 = cpu->r[10] + 0x00000000u;
|
|
/* 02C5D750 */ cpu->r[0] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02C5D754 */ cpu->r[5] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000004u, 0x0000001Fu);
|
|
/* 02C5D758 */ _t30 = rbrew_rlwinm(cpu->r[0], 0x00000004u, 0x00000002u, 0x00000003u);
|
|
/* 02C5D758 */ _t31 = cpu->r[5] & 0xCFFFFFFFu;
|
|
/* 02C5D758 */ cpu->r[5] = _t31 | _t30;
|
|
/* 02C5D75C */ _t32 = cpu->r[10] + 0x00000000u;
|
|
/* 02C5D75C */ rbrew_write32(cpu->mem, _t32, cpu->r[5]);
|
|
/* 02C5D760 */ _t33 = cpu->r[29] + 0x00000000u;
|
|
/* 02C5D760 */ cpu->r[7] = rbrew_read32(cpu->mem, _t33);
|
|
/* 02C5D764 */ cpu->r[8] = 0x03000000u;
|
|
/* 02C5D768 */ cpu->r[6] = rbrew_rlwinm(cpu->r[7], 0x00000000u, 0x00000006u, 0x00000007u);
|
|
/* 02C5D76C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[8]);
|
|
/* 02C5D770 */ cpu->r[12] = cpu->r[30];
|
|
/* 02C5D774 */ _t34 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C5D774 */ _t35 = _t34 & 0x00000001u;
|
|
/* 02C5D774 */ if (_t35) goto L_02C5D778; else goto L_02C5D7AC;
|
|
L_02C5D778: ; // 0x2c5d778
|
|
/* 02C5D778 */ cpu->r[9] = 0x101B0000u;
|
|
/* 02C5D77C */ _t36 = cpu->r[9] + 0xFFFFEF7Cu;
|
|
/* 02C5D77C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t36);
|
|
/* 02C5D780 */ _t37 = cpu->r[12] + 0x00000000u;
|
|
/* 02C5D780 */ rbrew_write_f32(cpu->mem, _t37, cpu->f[0]);
|
|
/* 02C5D784 */ _t38 = cpu->r[12] + 0x00000008u;
|
|
/* 02C5D784 */ rbrew_write_f32(cpu->mem, _t38, cpu->f[0]);
|
|
/* 02C5D788 */ cpu->r[10] = cpu->r[1] + 0x00000008u;
|
|
/* 02C5D78C */ _t39 = cpu->r[12] + 0x00000004u;
|
|
/* 02C5D78C */ rbrew_write_f32(cpu->mem, _t39, cpu->f[0]);
|
|
/* 02C5D790 */ _t40 = cpu->r[27] + 0x0000002Eu;
|
|
/* 02C5D790 */ cpu->r[0] = rbrew_read16(cpu->mem, _t40);
|
|
/* 02C5D794 */ cpu->r[11] = 0x00000000u;
|
|
/* 02C5D798 */ _t41 = cpu->r[1] + 0x00000018u;
|
|
/* 02C5D798 */ rbrew_write32(cpu->mem, _t41, cpu->r[10]);
|
|
/* 02C5D79C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C5D7A0 */ _t42 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C5D7A0 */ rbrew_write32(cpu->mem, _t42, cpu->r[0]);
|
|
/* 02C5D7A4 */ _t43 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C5D7A4 */ _t44 = _t43 & 0x00000001u;
|
|
/* 02C5D7A4 */ if (_t44) goto L_02C5D7A8; else goto L_02C5D820;
|
|
L_02C5D7A8: ; // 0x2c5d7a8
|
|
/* 02C5D7A8 */ goto L_02C5D7E8;
|
|
L_02C5D7AC: ; // 0x2c5d7ac
|
|
/* 02C5D7AC */ cpu->r[0] = 0x00000003u;
|
|
/* 02C5D7B0 */ cpu->ctr = cpu->r[0];
|
|
/* 02C5D7B4 */ cpu->r[6] = 0x00000000u;
|
|
L_02C5D7B8: ; // 0x2c5d7b8
|
|
/* 02C5D7B8 */ cpu->r[9] = cpu->r[29] + 0x00000004u;
|
|
/* 02C5D7BC */ _t45 = cpu->r[9] + cpu->r[6];
|
|
/* 02C5D7BC */ cpu->r[12] = rbrew_read32(cpu->mem, _t45);
|
|
/* 02C5D7C0 */ _t46 = cpu->r[12] + cpu->r[6];
|
|
/* 02C5D7C0 */ rbrew_write32(cpu->mem, _t46, cpu->r[12]);
|
|
/* 02C5D7C4 */ cpu->r[6] = cpu->r[6] + 0x00000004u;
|
|
/* 02C5D7C8 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02C5D7C8 */ _t47 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02C5D7C8 */ _t48 = _t47 >> (0x00000002u & 31u);
|
|
/* 02C5D7C8 */ _t49 = _t48 & 0x00000001u;
|
|
/* 02C5D7C8 */ if (_t49) goto L_02C5D7B8; else goto L_02C5D7CC;
|
|
L_02C5D7CC: ; // 0x2c5d7cc
|
|
/* 02C5D7CC */ _t50 = cpu->r[27] + 0x0000002Eu;
|
|
/* 02C5D7CC */ cpu->r[0] = rbrew_read16(cpu->mem, _t50);
|
|
/* 02C5D7D0 */ cpu->r[10] = cpu->r[1] + 0x00000008u;
|
|
/* 02C5D7D4 */ cpu->r[11] = 0x00000000u;
|
|
/* 02C5D7D8 */ _t51 = cpu->r[1] + 0x00000018u;
|
|
/* 02C5D7D8 */ rbrew_write32(cpu->mem, _t51, cpu->r[10]);
|
|
/* 02C5D7DC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C5D7E0 */ _t52 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C5D7E0 */ rbrew_write32(cpu->mem, _t52, cpu->r[0]);
|
|
/* 02C5D7E4 */ _t53 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C5D7E4 */ _t54 = _t53 & 0x00000001u;
|
|
/* 02C5D7E4 */ if (_t54) goto L_02C5D7E8; else goto L_02C5D820;
|
|
L_02C5D7E8: ; // 0x2c5d7e8
|
|
/* 02C5D7E8 */ _t55 = cpu->r[27] + 0x00000010u;
|
|
/* 02C5D7E8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t55);
|
|
/* 02C5D7EC */ _t56 = cpu->r[27] + 0x0000000Cu;
|
|
/* 02C5D7EC */ cpu->r[0] = rbrew_read32(cpu->mem, _t56);
|
|
/* 02C5D7F0 */ _t57 = cpu->r[1] + 0x00000020u;
|
|
/* 02C5D7F0 */ rbrew_write32(cpu->mem, _t57, cpu->r[12]);
|
|
/* 02C5D7F4 */ _t58 = cpu->r[1] + 0x00000028u;
|
|
/* 02C5D7F4 */ rbrew_write32(cpu->mem, _t58, cpu->r[0]);
|
|
/* 02C5D7F8 */ _t59 = cpu->r[27] + 0x00000030u;
|
|
/* 02C5D7F8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t59);
|
|
/* 02C5D7FC */ _t60 = cpu->r[1] + 0x00000024u;
|
|
/* 02C5D7FC */ rbrew_write32(cpu->mem, _t60, cpu->r[30]);
|
|
/* 02C5D800 */ _t61 = cpu->r[1] + 0x00000008u;
|
|
/* 02C5D800 */ rbrew_write32(cpu->mem, _t61, cpu->r[11]);
|
|
/* 02C5D804 */ _t62 = cpu->r[3] + 0x00000000u;
|
|
/* 02C5D804 */ cpu->r[12] = rbrew_read32(cpu->mem, _t62);
|
|
/* 02C5D808 */ _t63 = cpu->r[12] + 0x00000014u;
|
|
/* 02C5D808 */ cpu->r[0] = rbrew_read32(cpu->mem, _t63);
|
|
/* 02C5D80C */ cpu->ctr = cpu->r[0];
|
|
/* 02C5D810 */ cpu->r[4] = cpu->r[1] + 0x00000018u;
|
|
/* 02C5D814 */ cpu->r[5] = cpu->r[1] + 0x00000020u;
|
|
/* 02C5D818 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02C5D81C */ _t64 = cpu->r[1] + 0x00000008u;
|
|
/* 02C5D81C */ cpu->r[11] = rbrew_read32(cpu->mem, _t64);
|
|
L_02C5D820: ; // 0x2c5d820
|
|
/* 02C5D820 */ cpu->r[11] = cpu->r[11] + 0x00000001u;
|
|
/* 02C5D824 */ cpu->r[25] = 0x30000000u;
|
|
/* 02C5D828 */ cpu->r[23] = 0x03000000u;
|
|
/* 02C5D82C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], cpu->r[31]);
|
|
/* 02C5D830 */ _t65 = cpu->r[1] + 0x00000008u;
|
|
/* 02C5D830 */ rbrew_write32(cpu->mem, _t65, cpu->r[11]);
|
|
/* 02C5D834 */ cpu->r[24] = 0x0C000000u;
|
|
/* 02C5D838 */ _t66 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C5D838 */ _t67 = _t66 & 0x00000001u;
|
|
/* 02C5D838 */ if (_t67) goto L_02C5D83C; else goto L_02C5DB78;
|
|
L_02C5D83C: ; // 0x2c5d83c
|
|
/* 02C5D83C */ _t68 = cpu->r[27] + 0x00000008u;
|
|
/* 02C5D83C */ cpu->r[12] = rbrew_read32(cpu->mem, _t68);
|
|
/* 02C5D840 */ cpu->r[10] = rbrew_rlwinm(cpu->r[11], 0x00000006u, 0x00000000u, 0x00000019u);
|
|
/* 02C5D844 */ cpu->r[4] = cpu->r[12] + cpu->r[10];
|
|
/* 02C5D848 */ _t69 = cpu->r[4] + 0x00000004u;
|
|
/* 02C5D848 */ cpu->r[7] = rbrew_read16(cpu->mem, _t69);
|
|
/* 02C5D84C */ _t70 = cpu->r[4] + 0x00000006u;
|
|
/* 02C5D84C */ cpu->r[0] = rbrew_read16(cpu->mem, _t70);
|
|
/* 02C5D850 */ cpu->r[4] = (uint32_t)((int32_t)cpu->r[7] * (int32_t)0x0000000Cu);
|
|
/* 02C5D854 */ cpu->r[11] = rbrew_rlwinm(cpu->r[7], 0x00000006u, 0x00000000u, 0x00000019u);
|
|
/* 02C5D858 */ _t71 = cpu->r[29] + cpu->r[11];
|
|
/* 02C5D858 */ cpu->r[8] = rbrew_read32(cpu->mem, _t71);
|
|
/* 02C5D85C */ cpu->r[6] = rbrew_rlwinm(cpu->r[0], 0x00000006u, 0x00000000u, 0x00000019u);
|
|
/* 02C5D860 */ cpu->r[7] = (uint32_t)((int32_t)cpu->r[7] * (int32_t)0x00000030u);
|
|
/* 02C5D864 */ cpu->r[10] = rbrew_rlwinm(cpu->r[8], 0x00000004u, 0x00000000u, 0x0000001Bu);
|
|
/* 02C5D868 */ _t72 = cpu->r[6] + cpu->r[29];
|
|
/* 02C5D868 */ cpu->r[5] = rbrew_read32(cpu->mem, _t72);
|
|
/* 02C5D868 */ cpu->r[6] = _t72;
|
|
/* 02C5D86C */ cpu->r[3] = cpu->r[29] + cpu->r[11];
|
|
/* 02C5D870 */ cpu->r[12] = (uint32_t)((int32_t)cpu->r[0] * (int32_t)0x0000000Cu);
|
|
/* 02C5D874 */ cpu->r[11] = cpu->r[5] & cpu->r[10];
|
|
/* 02C5D878 */ cpu->r[21] = cpu->r[30] + cpu->r[4];
|
|
/* 02C5D87C */ _t73 = rbrew_rlwinm(cpu->r[11], 0x00000000u, 0x00000000u, 0x00000003u);
|
|
/* 02C5D87C */ _t74 = cpu->r[8] & 0x0FFFFFFFu;
|
|
/* 02C5D87C */ cpu->r[8] = _t74 | _t73;
|
|
/* 02C5D880 */ cpu->r[22] = cpu->r[28] + cpu->r[7];
|
|
/* 02C5D884 */ cpu->r[4] = (uint32_t)((int32_t)cpu->r[0] * (int32_t)0x00000030u);
|
|
/* 02C5D888 */ cpu->r[5] = rbrew_rlwinm(cpu->r[8], 0x00000000u, 0x00000004u, 0x00000005u);
|
|
/* 02C5D88C */ cpu->r[9] = cpu->r[30] + cpu->r[12];
|
|
/* 02C5D890 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], cpu->r[24]);
|
|
/* 02C5D894 */ _t75 = cpu->r[3] + 0x00000000u;
|
|
/* 02C5D894 */ rbrew_write32(cpu->mem, _t75, cpu->r[8]);
|
|
/* 02C5D898 */ cpu->r[10] = cpu->r[28] + cpu->r[4];
|
|
/* 02C5D89C */ _t76 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C5D89C */ _t77 = _t76 & 0x00000001u;
|
|
/* 02C5D89C */ if (_t77) goto L_02C5D8A0; else goto L_02C5D8EC;
|
|
L_02C5D8A0: ; // 0x2c5d8a0
|
|
/* 02C5D8A0 */ cpu->r[5] = 0x00000000u;
|
|
/* 02C5D8A4 */ cpu->r[6] = 0x00000003u;
|
|
L_02C5D8A8: ; // 0x2c5d8a8
|
|
/* 02C5D8A8 */ cpu->r[0] = 0x00000004u;
|
|
/* 02C5D8AC */ cpu->r[8] = cpu->r[10] + cpu->r[5];
|
|
/* 02C5D8B0 */ cpu->r[4] = 0x00000000u;
|
|
/* 02C5D8B4 */ cpu->ctr = cpu->r[0];
|
|
/* 02C5D8B8 */ cpu->r[7] = cpu->r[22] + cpu->r[5];
|
|
L_02C5D8BC: ; // 0x2c5d8bc
|
|
/* 02C5D8BC */ _t78 = cpu->r[8] + cpu->r[4];
|
|
/* 02C5D8BC */ cpu->r[8] = rbrew_read32(cpu->mem, _t78);
|
|
/* 02C5D8C0 */ _t79 = cpu->r[7] + cpu->r[4];
|
|
/* 02C5D8C0 */ rbrew_write32(cpu->mem, _t79, cpu->r[8]);
|
|
/* 02C5D8C4 */ cpu->r[4] = cpu->r[4] + 0x00000004u;
|
|
/* 02C5D8C8 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02C5D8C8 */ _t80 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02C5D8C8 */ _t81 = _t80 >> (0x00000002u & 31u);
|
|
/* 02C5D8C8 */ _t82 = _t81 & 0x00000001u;
|
|
/* 02C5D8C8 */ if (_t82) goto L_02C5D8BC; else goto L_02C5D8CC;
|
|
L_02C5D8CC: ; // 0x2c5d8cc
|
|
/* 02C5D8CC */ cpu->r[6] = cpu->r[6] + 0xFFFFFFFFu;
|
|
/* 02C5D8CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u);
|
|
/* 02C5D8D0 */ cpu->r[5] = cpu->r[5] + 0x00000010u;
|
|
/* 02C5D8D4 */ _t83 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C5D8D4 */ _t84 = _t83 & 0x00000001u;
|
|
/* 02C5D8D4 */ if (_t84) goto L_02C5D8D8; else goto L_02C5D8A8;
|
|
L_02C5D8D8: ; // 0x2c5d8d8
|
|
/* 02C5D8D8 */ _t85 = cpu->r[3] + 0x00000000u;
|
|
/* 02C5D8D8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t85);
|
|
/* 02C5D8DC */ cpu->r[10] = rbrew_rlwinm(cpu->r[11], 0x00000000u, 0x00000006u, 0x00000007u);
|
|
/* 02C5D8E0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[23]);
|
|
/* 02C5D8E4 */ _t86 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C5D8E4 */ _t87 = _t86 & 0x00000001u;
|
|
/* 02C5D8E4 */ if (_t87) goto L_02C5DABC; else goto L_02C5D8E8;
|
|
L_02C5D8E8: ; // 0x2c5d8e8
|
|
/* 02C5D8E8 */ goto L_02C5DAEC;
|
|
L_02C5D8EC: ; // 0x2c5d8ec
|
|
/* 02C5D8EC */ _t88 = cpu->r[6] + 0x00000000u;
|
|
/* 02C5D8EC */ cpu->r[11] = rbrew_read32(cpu->mem, _t88);
|
|
/* 02C5D8F0 */ cpu->r[8] = rbrew_rlwinm(cpu->r[11], 0x00000000u, 0x00000002u, 0x00000003u);
|
|
/* 02C5D8F4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[25]);
|
|
/* 02C5D8F8 */ cpu->r[8] = cpu->r[3] + 0x00000010u;
|
|
/* 02C5D8FC */ _t89 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C5D8FC */ _t90 = _t89 & 0x00000001u;
|
|
/* 02C5D8FC */ if (_t90) goto L_02C5D900; else goto L_02C5D9A4;
|
|
L_02C5D900: ; // 0x2c5d900
|
|
/* 02C5D900 */ /* nop */
|
|
/* 02C5D904 */ /* nop */
|
|
/* 02C5D908 */ /* nop */
|
|
/* 02C5D90C */ /* nop */
|
|
/* 02C5D910 */ /* nop */
|
|
/* 02C5D914 */ /* nop */
|
|
/* 02C5D918 */ /* nop */
|
|
/* 02C5D91C */ /* nop */
|
|
/* 02C5D920 */ /* nop */
|
|
/* 02C5D924 */ /* nop */
|
|
/* 02C5D928 */ /* nop */
|
|
/* 02C5D92C */ /* nop */
|
|
/* 02C5D930 */ /* nop */
|
|
/* 02C5D934 */ /* nop */
|
|
/* 02C5D938 */ /* nop */
|
|
/* 02C5D93C */ /* nop */
|
|
/* 02C5D940 */ /* nop */
|
|
/* 02C5D944 */ /* nop */
|
|
/* 02C5D948 */ /* nop */
|
|
/* 02C5D94C */ /* nop */
|
|
/* 02C5D950 */ /* nop */
|
|
/* 02C5D954 */ /* nop */
|
|
/* 02C5D958 */ /* nop */
|
|
/* 02C5D95C */ /* nop */
|
|
/* 02C5D960 */ /* nop */
|
|
/* 02C5D964 */ /* nop */
|
|
/* 02C5D968 */ /* nop */
|
|
/* 02C5D96C */ /* nop */
|
|
/* 02C5D970 */ /* nop */
|
|
/* 02C5D974 */ /* nop */
|
|
/* 02C5D978 */ /* nop */
|
|
/* 02C5D97C */ /* nop */
|
|
/* 02C5D980 */ /* nop */
|
|
/* 02C5D984 */ /* nop */
|
|
/* 02C5D988 */ /* nop */
|
|
/* 02C5D98C */ /* nop */
|
|
/* 02C5D990 */ /* nop */
|
|
/* 02C5D994 */ /* nop */
|
|
/* 02C5D998 */ /* nop */
|
|
/* 02C5D99C */ /* nop */
|
|
/* 02C5D9A0 */ goto L_02C5DAAC;
|
|
L_02C5D9A4: ; // 0x2c5d9a4
|
|
/* 02C5D9A4 */ cpu->r[7] = 0x00000000u;
|
|
/* 02C5D9A8 */ cpu->r[5] = 0x00000003u;
|
|
L_02C5D9AC: ; // 0x2c5d9ac
|
|
/* 02C5D9AC */ cpu->r[12] = 0x00000004u;
|
|
/* 02C5D9B0 */ cpu->r[4] = cpu->r[8] + cpu->r[7];
|
|
/* 02C5D9B4 */ cpu->r[6] = 0x00000000u;
|
|
/* 02C5D9B8 */ cpu->ctr = cpu->r[12];
|
|
/* 02C5D9BC */ cpu->r[11] = cpu->r[22] + cpu->r[7];
|
|
L_02C5D9C0: ; // 0x2c5d9c0
|
|
/* 02C5D9C0 */ _t91 = cpu->r[4] + cpu->r[6];
|
|
/* 02C5D9C0 */ cpu->r[8] = rbrew_read32(cpu->mem, _t91);
|
|
/* 02C5D9C4 */ _t92 = cpu->r[11] + cpu->r[6];
|
|
/* 02C5D9C4 */ rbrew_write32(cpu->mem, _t92, cpu->r[8]);
|
|
/* 02C5D9C8 */ cpu->r[6] = cpu->r[6] + 0x00000004u;
|
|
/* 02C5D9CC */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02C5D9CC */ _t93 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02C5D9CC */ _t94 = _t93 >> (0x00000002u & 31u);
|
|
/* 02C5D9CC */ _t95 = _t94 & 0x00000001u;
|
|
/* 02C5D9CC */ if (_t95) goto L_02C5D9C0; else goto L_02C5D9D0;
|
|
L_02C5D9D0: ; // 0x2c5d9d0
|
|
/* 02C5D9D0 */ cpu->r[5] = cpu->r[5] + 0xFFFFFFFFu;
|
|
/* 02C5D9D0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u);
|
|
/* 02C5D9D4 */ cpu->r[7] = cpu->r[7] + 0x00000010u;
|
|
/* 02C5D9D8 */ _t96 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C5D9D8 */ _t97 = _t96 & 0x00000001u;
|
|
/* 02C5D9D8 */ if (_t97) goto L_02C5D9DC; else goto L_02C5D9AC;
|
|
L_02C5D9DC: ; // 0x2c5d9dc
|
|
/* 02C5D9DC */ _t98 = cpu->r[9] + 0x00000000u;
|
|
/* 02C5D9DC */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t98);
|
|
/* 02C5D9E0 */ _t99 = cpu->r[22] + 0x0000000Cu;
|
|
/* 02C5D9E0 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t99);
|
|
/* 02C5D9E4 */ cpu->f[9] = cpu->f[9] * cpu->f[10];
|
|
/* 02C5D9E8 */ _t100 = cpu->r[22] + 0x0000001Cu;
|
|
/* 02C5D9E8 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t100);
|
|
/* 02C5D9EC */ _t101 = cpu->r[22] + 0x0000000Cu;
|
|
/* 02C5D9EC */ rbrew_write_f32(cpu->mem, _t101, cpu->f[9]);
|
|
/* 02C5D9F0 */ _t102 = cpu->r[9] + 0x00000004u;
|
|
/* 02C5D9F0 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t102);
|
|
/* 02C5D9F4 */ cpu->f[11] = cpu->f[11] * cpu->f[12];
|
|
/* 02C5D9F8 */ _t103 = cpu->r[22] + 0x0000002Cu;
|
|
/* 02C5D9F8 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t103);
|
|
/* 02C5D9FC */ _t104 = cpu->r[22] + 0x0000001Cu;
|
|
/* 02C5D9FC */ rbrew_write_f32(cpu->mem, _t104, cpu->f[11]);
|
|
/* 02C5DA00 */ _t105 = cpu->r[9] + 0x00000008u;
|
|
/* 02C5DA00 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t105);
|
|
/* 02C5DA04 */ /* nop */
|
|
/* 02C5DA08 */ cpu->f[13] = cpu->f[13] * cpu->f[0];
|
|
/* 02C5DA0C */ /* nop */
|
|
/* 02C5DA10 */ _t106 = cpu->r[22] + 0x0000002Cu;
|
|
/* 02C5DA10 */ rbrew_write_f32(cpu->mem, _t106, cpu->f[13]);
|
|
/* 02C5DA14 */ /* nop */
|
|
/* 02C5DA18 */ /* nop */
|
|
/* 02C5DA1C */ /* nop */
|
|
/* 02C5DA20 */ /* nop */
|
|
/* 02C5DA24 */ /* nop */
|
|
/* 02C5DA28 */ /* nop */
|
|
/* 02C5DA2C */ /* nop */
|
|
/* 02C5DA30 */ /* nop */
|
|
/* 02C5DA34 */ /* nop */
|
|
/* 02C5DA38 */ /* nop */
|
|
/* 02C5DA3C */ /* nop */
|
|
/* 02C5DA40 */ /* nop */
|
|
/* 02C5DA44 */ /* nop */
|
|
/* 02C5DA48 */ /* nop */
|
|
/* 02C5DA4C */ /* nop */
|
|
/* 02C5DA50 */ /* nop */
|
|
/* 02C5DA54 */ /* nop */
|
|
/* 02C5DA58 */ /* nop */
|
|
/* 02C5DA5C */ /* nop */
|
|
/* 02C5DA60 */ /* nop */
|
|
/* 02C5DA64 */ /* nop */
|
|
/* 02C5DA68 */ /* nop */
|
|
/* 02C5DA6C */ /* nop */
|
|
/* 02C5DA70 */ /* nop */
|
|
/* 02C5DA74 */ /* nop */
|
|
/* 02C5DA78 */ /* nop */
|
|
/* 02C5DA7C */ /* nop */
|
|
/* 02C5DA80 */ /* nop */
|
|
/* 02C5DA84 */ /* nop */
|
|
/* 02C5DA88 */ /* nop */
|
|
/* 02C5DA8C */ /* nop */
|
|
/* 02C5DA90 */ /* nop */
|
|
/* 02C5DA94 */ /* nop */
|
|
/* 02C5DA98 */ /* nop */
|
|
/* 02C5DA9C */ /* nop */
|
|
/* 02C5DAA0 */ /* nop */
|
|
/* 02C5DAA4 */ /* nop */
|
|
/* 02C5DAA8 */ /* nop */
|
|
L_02C5DAAC: ; // 0x2c5daac
|
|
/* 02C5DAAC */ _t107 = cpu->r[3] + 0x00000000u;
|
|
/* 02C5DAAC */ cpu->r[11] = rbrew_read32(cpu->mem, _t107);
|
|
/* 02C5DAB0 */ cpu->r[10] = rbrew_rlwinm(cpu->r[11], 0x00000000u, 0x00000006u, 0x00000007u);
|
|
/* 02C5DAB4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[23]);
|
|
/* 02C5DAB8 */ _t108 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C5DAB8 */ _t109 = _t108 & 0x00000001u;
|
|
/* 02C5DAB8 */ if (_t109) goto L_02C5DABC; else goto L_02C5DAEC;
|
|
L_02C5DABC: ; // 0x2c5dabc
|
|
/* 02C5DABC */ cpu->r[0] = 0x00000003u;
|
|
/* 02C5DAC0 */ cpu->ctr = cpu->r[0];
|
|
/* 02C5DAC4 */ cpu->r[8] = 0x00000000u;
|
|
L_02C5DAC8: ; // 0x2c5dac8
|
|
/* 02C5DAC8 */ _t110 = cpu->r[9] + cpu->r[8];
|
|
/* 02C5DAC8 */ cpu->r[6] = rbrew_read32(cpu->mem, _t110);
|
|
/* 02C5DACC */ _t111 = cpu->r[21] + cpu->r[8];
|
|
/* 02C5DACC */ rbrew_write32(cpu->mem, _t111, cpu->r[6]);
|
|
/* 02C5DAD0 */ cpu->r[8] = cpu->r[8] + 0x00000004u;
|
|
/* 02C5DAD4 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02C5DAD4 */ _t112 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02C5DAD4 */ _t113 = _t112 >> (0x00000002u & 31u);
|
|
/* 02C5DAD4 */ _t114 = _t113 & 0x00000001u;
|
|
/* 02C5DAD4 */ if (_t114) goto L_02C5DAC8; else goto L_02C5DAD8;
|
|
L_02C5DAD8: ; // 0x2c5dad8
|
|
/* 02C5DAD8 */ _t115 = cpu->r[1] + 0x00000008u;
|
|
/* 02C5DAD8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t115);
|
|
/* 02C5DADC */ _t116 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C5DADC */ cpu->r[7] = rbrew_read32(cpu->mem, _t116);
|
|
/* 02C5DAE0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[11]);
|
|
/* 02C5DAE4 */ _t117 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C5DAE4 */ _t118 = _t117 & 0x00000001u;
|
|
/* 02C5DAE4 */ if (_t118) goto L_02C5DAE8; else goto L_02C5DB68;
|
|
L_02C5DAE8: ; // 0x2c5dae8
|
|
/* 02C5DAE8 */ goto L_02C5DB1C;
|
|
L_02C5DAEC: ; // 0x2c5daec
|
|
/* 02C5DAEC */ /* nop */
|
|
/* 02C5DAF0 */ /* nop */
|
|
/* 02C5DAF4 */ /* nop */
|
|
/* 02C5DAF8 */ /* nop */
|
|
/* 02C5DAFC */ _t119 = cpu->r[9] + 0x00000008u;
|
|
/* 02C5DAFC */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t119);
|
|
/* 02C5DB00 */ _t120 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02C5DB00 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t120);
|
|
/* 02C5DB04 */ cpu->f[10] = cpu->f[11] * cpu->f[12];
|
|
/* 02C5DB08 */ _t121 = cpu->r[21] + 0x00000008u;
|
|
/* 02C5DB08 */ rbrew_write_f32(cpu->mem, _t121, cpu->f[10]);
|
|
/* 02C5DB0C */ _t122 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C5DB0C */ cpu->r[7] = rbrew_read32(cpu->mem, _t122);
|
|
/* 02C5DB10 */ _t123 = cpu->r[1] + 0x00000008u;
|
|
/* 02C5DB10 */ cpu->r[11] = rbrew_read32(cpu->mem, _t123);
|
|
/* 02C5DB14 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[11]);
|
|
/* 02C5DB18 */ _t124 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C5DB18 */ _t125 = _t124 & 0x00000001u;
|
|
/* 02C5DB18 */ if (_t125) goto L_02C5DB1C; else goto L_02C5DB68;
|
|
L_02C5DB1C: ; // 0x2c5db1c
|
|
/* 02C5DB1C */ _t126 = cpu->r[27] + 0x00000010u;
|
|
/* 02C5DB1C */ cpu->r[12] = rbrew_read32(cpu->mem, _t126);
|
|
/* 02C5DB20 */ cpu->r[0] = (uint32_t)((int32_t)cpu->r[11] * (int32_t)0x00000030u);
|
|
/* 02C5DB24 */ _t127 = cpu->r[27] + 0x00000030u;
|
|
/* 02C5DB24 */ cpu->r[3] = rbrew_read32(cpu->mem, _t127);
|
|
/* 02C5DB28 */ _t128 = cpu->r[27] + 0x0000000Cu;
|
|
/* 02C5DB28 */ cpu->r[10] = rbrew_read32(cpu->mem, _t128);
|
|
/* 02C5DB2C */ cpu->r[5] = (uint32_t)((int32_t)cpu->r[11] * (int32_t)0x0000000Cu);
|
|
/* 02C5DB30 */ cpu->r[4] = cpu->r[12] + cpu->r[0];
|
|
/* 02C5DB34 */ cpu->r[0] = rbrew_rlwinm(cpu->r[11], 0x00000006u, 0x00000000u, 0x00000019u);
|
|
/* 02C5DB38 */ _t129 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C5DB38 */ rbrew_write32(cpu->mem, _t129, cpu->r[4]);
|
|
/* 02C5DB3C */ cpu->r[6] = cpu->r[10] + cpu->r[0];
|
|
/* 02C5DB40 */ cpu->r[5] = cpu->r[30] + cpu->r[5];
|
|
/* 02C5DB44 */ _t130 = cpu->r[1] + 0x00000014u;
|
|
/* 02C5DB44 */ rbrew_write32(cpu->mem, _t130, cpu->r[6]);
|
|
/* 02C5DB48 */ _t131 = cpu->r[1] + 0x00000010u;
|
|
/* 02C5DB48 */ rbrew_write32(cpu->mem, _t131, cpu->r[5]);
|
|
/* 02C5DB4C */ _t132 = cpu->r[3] + 0x00000000u;
|
|
/* 02C5DB4C */ cpu->r[6] = rbrew_read32(cpu->mem, _t132);
|
|
/* 02C5DB50 */ _t133 = cpu->r[6] + 0x00000014u;
|
|
/* 02C5DB50 */ cpu->r[0] = rbrew_read32(cpu->mem, _t133);
|
|
/* 02C5DB54 */ cpu->ctr = cpu->r[0];
|
|
/* 02C5DB58 */ cpu->r[5] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C5DB5C */ cpu->r[4] = cpu->r[1] + 0x00000018u;
|
|
/* 02C5DB60 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02C5DB64 */ _t134 = cpu->r[1] + 0x00000008u;
|
|
/* 02C5DB64 */ cpu->r[11] = rbrew_read32(cpu->mem, _t134);
|
|
L_02C5DB68: ; // 0x2c5db68
|
|
/* 02C5DB68 */ cpu->r[11] = cpu->r[11] + 0x00000001u;
|
|
/* 02C5DB6C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], cpu->r[31]);
|
|
/* 02C5DB70 */ _t135 = cpu->r[1] + 0x00000008u;
|
|
/* 02C5DB70 */ rbrew_write32(cpu->mem, _t135, cpu->r[11]);
|
|
/* 02C5DB74 */ _t136 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C5DB74 */ _t137 = _t136 & 0x00000001u;
|
|
/* 02C5DB74 */ if (_t137) goto L_02C5D83C; else goto L_02C5DB78;
|
|
L_02C5DB78: ; // 0x2c5db78
|
|
/* 02C5DB78 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02C5DB7C */ _t138 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C5DB7C */ _t139 = _t138 & 0x00000001u;
|
|
/* 02C5DB7C */ if (_t139) goto L_02C5DB80; else goto L_02C5DC24;
|
|
L_02C5DB80: ; // 0x2c5db80
|
|
/* 02C5DB80 */ cpu->r[11] = 0x00000000u;
|
|
/* 02C5DB84 */ cpu->ctr = cpu->r[31];
|
|
/* 02C5DB88 */ cpu->r[12] = cpu->r[11];
|
|
/* 02C5DB8C */ cpu->r[0] = 0x30000000u;
|
|
/* 02C5DB90 */ cpu->r[4] = cpu->r[12];
|
|
L_02C5DB94: ; // 0x2c5db94
|
|
/* 02C5DB94 */ _t140 = cpu->r[29] + cpu->r[4];
|
|
/* 02C5DB94 */ cpu->r[9] = rbrew_read32(cpu->mem, _t140);
|
|
/* 02C5DB98 */ cpu->r[10] = rbrew_rlwinm(cpu->r[9], 0x00000000u, 0x00000002u, 0x00000003u);
|
|
/* 02C5DB9C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[0]);
|
|
/* 02C5DBA0 */ _t141 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C5DBA0 */ _t142 = _t141 & 0x00000001u;
|
|
/* 02C5DBA0 */ if (_t142) goto L_02C5DC14; else goto L_02C5DBA4;
|
|
L_02C5DBA4: ; // 0x2c5dba4
|
|
/* 02C5DBA4 */ cpu->r[9] = cpu->r[30] + cpu->r[11];
|
|
/* 02C5DBA8 */ cpu->r[8] = cpu->r[28] + cpu->r[12];
|
|
/* 02C5DBAC */ /* nop */
|
|
/* 02C5DBB0 */ cpu->r[10] = 0x101B0000u;
|
|
/* 02C5DBB4 */ /* nop */
|
|
/* 02C5DBB8 */ cpu->r[10] = cpu->r[10] + 0xFFFFEF68u;
|
|
/* 02C5DBBC */ /* nop */
|
|
/* 02C5DBC0 */ /* nop */
|
|
/* 02C5DBC4 */ /* nop */
|
|
/* 02C5DBC8 */ _t143 = cpu->r[9] + 0x00000008u;
|
|
/* 02C5DBC8 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t143);
|
|
/* 02C5DBCC */ /* nop */
|
|
/* 02C5DBD0 */ /* nop */
|
|
/* 02C5DBD4 */ /* nop */
|
|
/* 02C5DBD8 */ /* nop */
|
|
/* 02C5DBDC */ /* nop */
|
|
/* 02C5DBE0 */ /* nop */
|
|
/* 02C5DBE4 */ /* nop */
|
|
/* 02C5DBE8 */ /* nop */
|
|
/* 02C5DBEC */ /* nop */
|
|
/* 02C5DBF0 */ /* nop */
|
|
/* 02C5DBF4 */ /* nop */
|
|
/* 02C5DBF8 */ /* nop */
|
|
/* 02C5DBFC */ /* nop */
|
|
/* 02C5DC00 */ /* nop */
|
|
/* 02C5DC04 */ /* nop */
|
|
/* 02C5DC08 */ /* nop */
|
|
/* 02C5DC0C */ /* nop */
|
|
/* 02C5DC10 */ /* nop */
|
|
L_02C5DC14: ; // 0x2c5dc14
|
|
/* 02C5DC14 */ cpu->r[11] = cpu->r[11] + 0x0000000Cu;
|
|
/* 02C5DC18 */ cpu->r[12] = cpu->r[12] + 0x00000030u;
|
|
/* 02C5DC1C */ cpu->r[4] = cpu->r[4] + 0x00000040u;
|
|
/* 02C5DC20 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02C5DC20 */ _t144 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02C5DC20 */ _t145 = _t144 >> (0x00000002u & 31u);
|
|
/* 02C5DC20 */ _t146 = _t145 & 0x00000001u;
|
|
/* 02C5DC20 */ if (_t146) goto L_02C5DB94; else goto L_02C5DC24;
|
|
L_02C5DC24: ; // 0x2c5dc24
|
|
/* 02C5DC24 */ /* nop */
|
|
/* 02C5DC28 */ _t147 = cpu->r[1] + 0x00000060u;
|
|
/* 02C5DC28 */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t147);
|
|
/* 02C5DC2C */ _t148 = cpu->r[1] + 0x00000070u;
|
|
/* 02C5DC2C */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t148);
|
|
/* 02C5DC30 */ _t149 = cpu->r[1] + 0x00000058u;
|
|
/* 02C5DC30 */ cpu->f[30] = rbrew_read_f64(cpu->mem, _t149);
|
|
/* 02C5DC34 */ _t150 = cpu->r[1] + 0x00000068u;
|
|
/* 02C5DC34 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t150);
|
|
/* 02C5DC38 */ _t151 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C5DC38 */ _t152 = _t151 & 0x00000001u;
|
|
/* 02C5DC38 */ if (_t152) goto L_02C5DC3C; // else: addr-0 trap, fall-through
|
|
L_02C5DC3C: ; // 0x2c5dc3c
|
|
/* 02C5DC3C */ _t153 = cpu->r[1] + 0x0000007Cu;
|
|
/* 02C5DC3C */ cpu->r[0] = rbrew_read32(cpu->mem, _t153);
|
|
/* 02C5DC40 */ cpu->lr = cpu->r[0];
|
|
/* 02C5DC44 */ cpu->r[1] = cpu->r[1] + 0x00000078u;
|
|
/* 02C5DC48 */ return;
|
|
}
|
|
|
|
// fn_02C5DC4C @ 0x2c5dc4c
|
|
void Gambit_fn_02C5DC4C(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;
|
|
|
|
L_02C5DC4C: ; // 0x2c5dc4c
|
|
/* 02C5DC4C */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02C5DC4C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C5DC4C */ cpu->r[1] = _t0;
|
|
/* 02C5DC50 */ _t1 = cpu->r[4] + 0x00000004u;
|
|
/* 02C5DC50 */ cpu->r[11] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02C5DC54 */ _t2 = cpu->r[4] + 0x00000000u;
|
|
/* 02C5DC54 */ cpu->r[12] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02C5DC58 */ _t3 = cpu->r[4] + 0x0000000Cu;
|
|
/* 02C5DC58 */ cpu->r[5] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02C5DC5C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], cpu->r[11]);
|
|
/* 02C5DC60 */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C5DC60 */ rbrew_write32(cpu->mem, _t4, cpu->r[11]);
|
|
/* 02C5DC64 */ cpu->r[10] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C5DC68 */ _t5 = cpu->r[4] + 0x00000008u;
|
|
/* 02C5DC68 */ cpu->r[7] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02C5DC6C */ _t6 = cpu->r[1] + 0x00000008u;
|
|
/* 02C5DC6C */ rbrew_write32(cpu->mem, _t6, cpu->r[12]);
|
|
/* 02C5DC70 */ _t7 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C5DC70 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02C5DC70 */ if (_t8) goto L_02C5DC78; else goto L_02C5DC74;
|
|
L_02C5DC74: ; // 0x2c5dc74
|
|
/* 02C5DC74 */ cpu->r[10] = cpu->r[1] + 0x00000008u;
|
|
L_02C5DC78: ; // 0x2c5dc78
|
|
/* 02C5DC78 */ cpu->r[8] = rbrew_rlwinm(cpu->r[7], 0x00000001u, 0x00000000u, 0x0000001Eu);
|
|
/* 02C5DC7C */ cpu->r[0] = cpu->r[7] + 0x00000003u;
|
|
/* 02C5DC80 */ _t9 = cpu->r[10] + 0x00000000u;
|
|
/* 02C5DC80 */ cpu->r[12] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02C5DC84 */ cpu->r[9] = cpu->r[8] + 0x00000003u;
|
|
/* 02C5DC88 */ cpu->r[6] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000000u, 0x0000001Du);
|
|
/* 02C5DC8C */ cpu->r[10] = rbrew_rlwinm(cpu->r[9], 0x00000000u, 0x00000000u, 0x0000001Du);
|
|
/* 02C5DC90 */ _t10 = cpu->r[3] + 0x00000018u;
|
|
/* 02C5DC90 */ rbrew_write32(cpu->mem, _t10, cpu->r[6]);
|
|
/* 02C5DC94 */ cpu->r[11] = rbrew_rlwinm(cpu->r[12], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02C5DC98 */ _t11 = cpu->r[3] + 0x00000008u;
|
|
/* 02C5DC98 */ rbrew_write32(cpu->mem, _t11, cpu->r[10]);
|
|
/* 02C5DC9C */ _t12 = cpu->r[3] + 0x00000010u;
|
|
/* 02C5DC9C */ rbrew_write32(cpu->mem, _t12, cpu->r[11]);
|
|
/* 02C5DCA0 */ _t13 = cpu->r[4] + 0x00000015u;
|
|
/* 02C5DCA0 */ cpu->r[8] = rbrew_read8(cpu->mem, _t13);
|
|
/* 02C5DCA4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 02C5DCA8 */ cpu->r[10] = cpu->r[3] + 0x00000008u;
|
|
/* 02C5DCAC */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C5DCAC */ _t15 = _t14 & 0x00000001u;
|
|
/* 02C5DCAC */ if (_t15) goto L_02C5DCF0; else goto L_02C5DCB0;
|
|
L_02C5DCB0: ; // 0x2c5dcb0
|
|
/* 02C5DCB0 */ _t16 = cpu->r[4] + 0x00000014u;
|
|
/* 02C5DCB0 */ cpu->r[9] = rbrew_read8(cpu->mem, _t16);
|
|
/* 02C5DCB4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 02C5DCB8 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C5DCB8 */ _t18 = _t17 & 0x00000001u;
|
|
/* 02C5DCB8 */ if (_t18) goto L_02C5DCF0; else goto L_02C5DCBC;
|
|
L_02C5DCBC: ; // 0x2c5dcbc
|
|
/* 02C5DCBC */ cpu->r[8] = (uint32_t)((int32_t)cpu->r[5] * (int32_t)0x0000000Cu);
|
|
/* 02C5DCC0 */ cpu->r[0] = cpu->r[8] + 0x00000003u;
|
|
/* 02C5DCC4 */ cpu->r[5] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000000u, 0x0000001Du);
|
|
/* 02C5DCC8 */ cpu->r[7] = 0x00000000u;
|
|
/* 02C5DCCC */ _t19 = cpu->r[10] + 0x00000018u;
|
|
/* 02C5DCCC */ rbrew_write32(cpu->mem, _t19, cpu->r[5]);
|
|
/* 02C5DCD0 */ _t20 = cpu->r[4] + 0x00000010u;
|
|
/* 02C5DCD0 */ cpu->r[8] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02C5DCD4 */ cpu->r[9] = cpu->r[10] + 0xFFFFFFF8u;
|
|
/* 02C5DCD8 */ _t21 = cpu->r[10] + 0x00000004u;
|
|
/* 02C5DCD8 */ rbrew_write32(cpu->mem, _t21, cpu->r[7]);
|
|
/* 02C5DCDC */ cpu->r[6] = rbrew_rlwinm(cpu->r[8], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02C5DCE0 */ cpu->r[7] = 0x00000004u;
|
|
/* 02C5DCE4 */ _t22 = cpu->r[10] + 0x00000020u;
|
|
/* 02C5DCE4 */ rbrew_write32(cpu->mem, _t22, cpu->r[6]);
|
|
/* 02C5DCE8 */ cpu->ctr = cpu->r[7];
|
|
/* 02C5DCEC */ goto L_02C5DD14;
|
|
L_02C5DCF0: ; // 0x2c5dcf0
|
|
/* 02C5DCF0 */ cpu->r[5] = 0x00000000u;
|
|
/* 02C5DCF4 */ _t23 = cpu->r[10] + 0x00000018u;
|
|
/* 02C5DCF4 */ rbrew_write32(cpu->mem, _t23, cpu->r[5]);
|
|
/* 02C5DCF8 */ _t24 = cpu->r[4] + 0x00000010u;
|
|
/* 02C5DCF8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02C5DCFC */ cpu->r[7] = 0x00000004u;
|
|
/* 02C5DD00 */ cpu->r[9] = cpu->r[10] + 0xFFFFFFF8u;
|
|
/* 02C5DD04 */ _t25 = cpu->r[10] + 0x00000004u;
|
|
/* 02C5DD04 */ rbrew_write32(cpu->mem, _t25, cpu->r[5]);
|
|
/* 02C5DD08 */ cpu->r[6] = rbrew_rlwinm(cpu->r[8], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02C5DD0C */ cpu->ctr = cpu->r[7];
|
|
/* 02C5DD10 */ _t26 = cpu->r[10] + 0x00000020u;
|
|
/* 02C5DD10 */ rbrew_write32(cpu->mem, _t26, cpu->r[6]);
|
|
L_02C5DD14: ; // 0x2c5dd14
|
|
/* 02C5DD14 */ _t27 = cpu->r[9] + 0x0000000Cu;
|
|
/* 02C5DD14 */ cpu->r[12] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02C5DD18 */ _t28 = cpu->r[9] + 0x00000008u;
|
|
/* 02C5DD18 */ cpu->r[0] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02C5DD18 */ cpu->r[9] = _t28;
|
|
/* 02C5DD1C */ cpu->r[11] = cpu->r[12] + cpu->r[0];
|
|
/* 02C5DD20 */ _t29 = cpu->r[9] + 0x0000000Cu;
|
|
/* 02C5DD20 */ rbrew_write32(cpu->mem, _t29, cpu->r[11]);
|
|
/* 02C5DD24 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02C5DD24 */ _t30 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02C5DD24 */ _t31 = _t30 >> (0x00000002u & 31u);
|
|
/* 02C5DD24 */ _t32 = _t31 & 0x00000001u;
|
|
/* 02C5DD24 */ if (_t32) goto L_02C5DD14; else goto L_02C5DD28;
|
|
L_02C5DD28: ; // 0x2c5dd28
|
|
/* 02C5DD28 */ cpu->r[0] = rbrew_rlwinm(cpu->r[7], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 02C5DD2C */ cpu->r[5] = cpu->r[10] + cpu->r[0];
|
|
/* 02C5DD30 */ _t33 = cpu->r[10] + cpu->r[0];
|
|
/* 02C5DD30 */ cpu->r[8] = rbrew_read32(cpu->mem, _t33);
|
|
/* 02C5DD34 */ _t34 = cpu->r[5] + 0x00000004u;
|
|
/* 02C5DD34 */ cpu->r[7] = rbrew_read32(cpu->mem, _t34);
|
|
/* 02C5DD38 */ _t35 = cpu->r[3] + 0x00000000u;
|
|
/* 02C5DD38 */ rbrew_write32(cpu->mem, _t35, cpu->r[10]);
|
|
/* 02C5DD3C */ cpu->r[6] = cpu->r[7] + cpu->r[8];
|
|
/* 02C5DD40 */ _t36 = cpu->r[3] + 0x00000004u;
|
|
/* 02C5DD40 */ rbrew_write32(cpu->mem, _t36, cpu->r[6]);
|
|
/* 02C5DD44 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C5DD48 */ return;
|
|
}
|
|
|
|
// fn_02C5DD4C @ 0x2c5dd4c
|
|
void Gambit_fn_02C5DD4C(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_02C5DD4C: ; // 0x2c5dd4c
|
|
/* 02C5DD4C */ _t0 = cpu->r[1] + 0xFFFFFFD8u;
|
|
/* 02C5DD4C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C5DD4C */ cpu->r[1] = _t0;
|
|
/* 02C5DD50 */ /* nop */
|
|
/* 02C5DD54 */ cpu->r[0] = cpu->lr;
|
|
/* 02C5DD58 */ _t1 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02C5DD58 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02C5DD5C */ cpu->r[29] = cpu->r[4];
|
|
/* 02C5DD60 */ _t2 = cpu->r[29] + 0x00000018u;
|
|
/* 02C5DD60 */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02C5DD64 */ cpu->r[28] = cpu->r[3];
|
|
/* 02C5DD68 */ cpu->r[31] = cpu->r[5];
|
|
/* 02C5DD6C */ cpu->r[30] = cpu->r[6];
|
|
/* 02C5DD70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C5DD74 */ cpu->r[27] = cpu->r[29] + 0x00000018u;
|
|
/* 02C5DD78 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C5DD78 */ _t4 = _t3 & 0x00000001u;
|
|
/* 02C5DD78 */ if (_t4) goto L_02C5DD7C; else goto L_02C5DD88;
|
|
L_02C5DD7C: ; // 0x2c5dd7c
|
|
/* 02C5DD7C */ cpu->r[3] = cpu->r[27];
|
|
/* 02C5DD80 */ cpu->r[4] = cpu->r[29];
|
|
/* 02C5DD84 */ Gambit_fn_02C5DC4C(cpu);
|
|
L_02C5DD88: ; // 0x2c5dd88
|
|
/* 02C5DD88 */ _t5 = cpu->r[27] + 0x00000004u;
|
|
/* 02C5DD88 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02C5DD8C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[30]);
|
|
/* 02C5DD90 */ _t6 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C5DD90 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02C5DD90 */ if (_t7) goto L_02C5DD94; else goto L_02C5DDAC;
|
|
L_02C5DD94: ; // 0x2c5dd94
|
|
/* 02C5DD94 */ /* nop */
|
|
/* 02C5DD98 */ _t8 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02C5DD98 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C5DD9C */ cpu->lr = cpu->r[0];
|
|
/* 02C5DDA0 */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 02C5DDA4 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C5DDA8 */ return;
|
|
L_02C5DDAC: ; // 0x2c5ddac
|
|
/* 02C5DDAC */ _t9 = cpu->r[29] + 0x00000000u;
|
|
/* 02C5DDAC */ cpu->r[11] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02C5DDB0 */ _t10 = cpu->r[29] + 0x00000004u;
|
|
/* 02C5DDB0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02C5DDB4 */ cpu->r[10] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C5DDB8 */ _t11 = cpu->r[1] + 0x00000008u;
|
|
/* 02C5DDB8 */ rbrew_write32(cpu->mem, _t11, cpu->r[11]);
|
|
/* 02C5DDBC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], cpu->r[0]);
|
|
/* 02C5DDC0 */ _t12 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C5DDC0 */ rbrew_write32(cpu->mem, _t12, cpu->r[0]);
|
|
/* 02C5DDC4 */ _t13 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C5DDC4 */ _t14 = _t13 & 0x00000001u;
|
|
/* 02C5DDC4 */ if (_t14) goto L_02C5DDCC; else goto L_02C5DDC8;
|
|
L_02C5DDC8: ; // 0x2c5ddc8
|
|
/* 02C5DDC8 */ cpu->r[10] = cpu->r[1] + 0x00000008u;
|
|
L_02C5DDCC: ; // 0x2c5ddcc
|
|
/* 02C5DDCC */ _t15 = cpu->r[10] + 0x00000000u;
|
|
/* 02C5DDCC */ cpu->r[5] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02C5DDD0 */ cpu->r[7] = 0x00000000u;
|
|
/* 02C5DDD4 */ _t16 = cpu->r[29] + 0x0000000Cu;
|
|
/* 02C5DDD4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02C5DDD8 */ _t17 = cpu->r[28] + 0x00000044u;
|
|
/* 02C5DDD8 */ rbrew_write32(cpu->mem, _t17, cpu->r[7]);
|
|
/* 02C5DDDC */ _t18 = cpu->r[28] + 0x00000030u;
|
|
/* 02C5DDDC */ rbrew_write32(cpu->mem, _t18, cpu->r[31]);
|
|
/* 02C5DDE0 */ _t19 = cpu->r[27] + 0x00000000u;
|
|
/* 02C5DDE0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02C5DDE4 */ _t20 = cpu->r[10] + 0x00000008u;
|
|
/* 02C5DDE4 */ cpu->r[4] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02C5DDE8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
|
|
/* 02C5DDEC */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C5DDEC */ _t22 = _t21 & 0x00000001u;
|
|
/* 02C5DDEC */ if (_t22) goto L_02C5DDF8; else goto L_02C5DDF0;
|
|
L_02C5DDF0: ; // 0x2c5ddf0
|
|
/* 02C5DDF0 */ _t23 = cpu->r[10] + 0x0000000Cu;
|
|
/* 02C5DDF0 */ cpu->r[8] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02C5DDF4 */ cpu->r[4] = cpu->r[31] + cpu->r[8];
|
|
L_02C5DDF8: ; // 0x2c5ddf8
|
|
/* 02C5DDF8 */ cpu->r[3] = cpu->r[28] + 0x00000038u;
|
|
/* 02C5DDFC */ Gambit_fn_02C4EFC0(cpu);
|
|
/* 02C5DE00 */ _t24 = cpu->r[27] + 0x00000000u;
|
|
/* 02C5DE00 */ cpu->r[10] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02C5DE04 */ _t25 = cpu->r[10] + 0x00000018u;
|
|
/* 02C5DE04 */ cpu->r[4] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02C5DE08 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
|
|
/* 02C5DE0C */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C5DE0C */ _t27 = _t26 & 0x00000001u;
|
|
/* 02C5DE0C */ if (_t27) goto L_02C5DE18; else goto L_02C5DE10;
|
|
L_02C5DE10: ; // 0x2c5de10
|
|
/* 02C5DE10 */ _t28 = cpu->r[10] + 0x0000001Cu;
|
|
/* 02C5DE10 */ cpu->r[0] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02C5DE14 */ cpu->r[4] = cpu->r[31] + cpu->r[0];
|
|
L_02C5DE18: ; // 0x2c5de18
|
|
/* 02C5DE18 */ cpu->r[5] = cpu->r[30];
|
|
/* 02C5DE1C */ cpu->r[3] = cpu->r[28] + 0x0000001Cu;
|
|
/* 02C5DE20 */ Gambit_fn_02C4F01C(cpu);
|
|
/* 02C5DE24 */ _t29 = cpu->r[27] + 0x00000000u;
|
|
/* 02C5DE24 */ cpu->r[10] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02C5DE28 */ _t30 = cpu->r[10] + 0x00000000u;
|
|
/* 02C5DE28 */ cpu->r[5] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02C5DE2C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u);
|
|
/* 02C5DE30 */ _t31 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C5DE30 */ _t32 = _t31 & 0x00000001u;
|
|
/* 02C5DE30 */ if (_t32) goto L_02C5DE3C; else goto L_02C5DE34;
|
|
L_02C5DE34: ; // 0x2c5de34
|
|
/* 02C5DE34 */ _t33 = cpu->r[10] + 0x00000004u;
|
|
/* 02C5DE34 */ cpu->r[11] = rbrew_read32(cpu->mem, _t33);
|
|
/* 02C5DE38 */ cpu->r[5] = cpu->r[31] + cpu->r[11];
|
|
L_02C5DE3C: ; // 0x2c5de3c
|
|
/* 02C5DE3C */ _t34 = cpu->r[28] + 0x0000002Cu;
|
|
/* 02C5DE3C */ rbrew_write32(cpu->mem, _t34, cpu->r[5]);
|
|
/* 02C5DE40 */ _t35 = cpu->r[29] + 0x00000004u;
|
|
/* 02C5DE40 */ cpu->r[0] = rbrew_read32(cpu->mem, _t35);
|
|
/* 02C5DE44 */ _t36 = cpu->r[28] + 0x0000004Cu;
|
|
/* 02C5DE44 */ rbrew_write32(cpu->mem, _t36, cpu->r[0]);
|
|
/* 02C5DE48 */ _t37 = cpu->r[29] + 0x00000008u;
|
|
/* 02C5DE48 */ cpu->r[5] = rbrew_read32(cpu->mem, _t37);
|
|
/* 02C5DE4C */ _t38 = cpu->r[28] + 0x00000050u;
|
|
/* 02C5DE4C */ rbrew_write32(cpu->mem, _t38, cpu->r[5]);
|
|
/* 02C5DE50 */ _t39 = cpu->r[29] + 0x00000010u;
|
|
/* 02C5DE50 */ cpu->r[7] = rbrew_read32(cpu->mem, _t39);
|
|
/* 02C5DE54 */ _t40 = cpu->r[28] + 0x00000054u;
|
|
/* 02C5DE54 */ rbrew_write32(cpu->mem, _t40, cpu->r[7]);
|
|
/* 02C5DE58 */ _t41 = cpu->r[27] + 0x00000000u;
|
|
/* 02C5DE58 */ cpu->r[10] = rbrew_read32(cpu->mem, _t41);
|
|
/* 02C5DE5C */ _t42 = cpu->r[10] + 0x00000010u;
|
|
/* 02C5DE5C */ cpu->r[12] = rbrew_read32(cpu->mem, _t42);
|
|
/* 02C5DE60 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02C5DE64 */ _t43 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C5DE64 */ _t44 = _t43 & 0x00000001u;
|
|
/* 02C5DE64 */ if (_t44) goto L_02C5DE70; else goto L_02C5DE68;
|
|
L_02C5DE68: ; // 0x2c5de68
|
|
/* 02C5DE68 */ _t45 = cpu->r[10] + 0x00000014u;
|
|
/* 02C5DE68 */ cpu->r[8] = rbrew_read32(cpu->mem, _t45);
|
|
/* 02C5DE6C */ cpu->r[12] = cpu->r[31] + cpu->r[8];
|
|
L_02C5DE70: ; // 0x2c5de70
|
|
/* 02C5DE70 */ _t46 = cpu->r[28] + 0x00000058u;
|
|
/* 02C5DE70 */ rbrew_write32(cpu->mem, _t46, cpu->r[12]);
|
|
/* 02C5DE74 */ _t47 = cpu->r[27] + 0x00000000u;
|
|
/* 02C5DE74 */ cpu->r[10] = rbrew_read32(cpu->mem, _t47);
|
|
/* 02C5DE78 */ _t48 = cpu->r[10] + 0x00000020u;
|
|
/* 02C5DE78 */ cpu->r[6] = rbrew_read32(cpu->mem, _t48);
|
|
/* 02C5DE7C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u);
|
|
/* 02C5DE80 */ _t49 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C5DE80 */ _t50 = _t49 & 0x00000001u;
|
|
/* 02C5DE80 */ if (_t50) goto L_02C5DE8C; else goto L_02C5DE84;
|
|
L_02C5DE84: ; // 0x2c5de84
|
|
/* 02C5DE84 */ _t51 = cpu->r[10] + 0x00000024u;
|
|
/* 02C5DE84 */ cpu->r[9] = rbrew_read32(cpu->mem, _t51);
|
|
/* 02C5DE88 */ cpu->r[6] = cpu->r[31] + cpu->r[9];
|
|
L_02C5DE8C: ; // 0x2c5de8c
|
|
/* 02C5DE8C */ _t52 = cpu->r[28] + 0x0000005Cu;
|
|
/* 02C5DE8C */ rbrew_write32(cpu->mem, _t52, cpu->r[6]);
|
|
/* 02C5DE90 */ /* nop */
|
|
/* 02C5DE94 */ _t53 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02C5DE94 */ cpu->r[0] = rbrew_read32(cpu->mem, _t53);
|
|
/* 02C5DE98 */ cpu->lr = cpu->r[0];
|
|
/* 02C5DE9C */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 02C5DEA0 */ cpu->r[3] = 0x00000001u;
|
|
/* 02C5DEA4 */ return;
|
|
}
|
|
|
|
// fn_02C5DEA8 @ 0x2c5dea8
|
|
void Gambit_fn_02C5DEA8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3;
|
|
|
|
L_02C5DEA8: ; // 0x2c5dea8
|
|
/* 02C5DEA8 */ cpu->r[0] = cpu->lr;
|
|
/* 02C5DEAC */ cpu->r[4] = cpu->r[3];
|
|
/* 02C5DEB0 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 02C5DEB0 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 02C5DEB4 */ cpu->r[3] = cpu->r[4] + 0x00000018u;
|
|
/* 02C5DEB8 */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02C5DEB8 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 02C5DEB8 */ cpu->r[1] = _t1;
|
|
/* 02C5DEBC */ Gambit_fn_02C5DC4C(cpu);
|
|
/* 02C5DEC0 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C5DEC0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02C5DEC4 */ _t3 = cpu->r[4] + 0x0000001Cu;
|
|
/* 02C5DEC4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02C5DEC8 */ cpu->lr = cpu->r[0];
|
|
/* 02C5DECC */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02C5DED0 */ return;
|
|
}
|
|
|
|
// fn_02C5DEB8 @ 0x2c5deb8
|
|
void Gambit_fn_02C5DEB8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2;
|
|
|
|
L_02C5DEB8: ; // 0x2c5deb8
|
|
/* 02C5DEB8 */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02C5DEB8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C5DEB8 */ cpu->r[1] = _t0;
|
|
/* 02C5DEBC */ Gambit_fn_02C5DC4C(cpu);
|
|
/* 02C5DEC0 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C5DEC0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02C5DEC4 */ _t2 = cpu->r[4] + 0x0000001Cu;
|
|
/* 02C5DEC4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02C5DEC8 */ cpu->lr = cpu->r[0];
|
|
/* 02C5DECC */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02C5DED0 */ return;
|
|
}
|
|
|
|
// fn_02C5DED4 @ 0x2c5ded4
|
|
void Gambit_fn_02C5DED4(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_02C5DED4: ; // 0x2c5ded4
|
|
/* 02C5DED4 */ _t0 = cpu->r[1] + 0xFFFFFFD8u;
|
|
/* 02C5DED4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C5DED4 */ cpu->r[1] = _t0;
|
|
/* 02C5DED8 */ /* nop */
|
|
/* 02C5DEDC */ cpu->r[0] = cpu->lr;
|
|
/* 02C5DEE0 */ _t1 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02C5DEE0 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02C5DEE4 */ cpu->r[31] = 0x00000000u;
|
|
/* 02C5DEE8 */ _t2 = cpu->r[4] + 0x00000010u;
|
|
/* 02C5DEE8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02C5DEEC */ cpu->r[26] = cpu->r[31];
|
|
/* 02C5DEF0 */ cpu->r[28] = cpu->r[3];
|
|
/* 02C5DEF4 */ cpu->r[9] = cpu->r[4] + 0x00000010u;
|
|
/* 02C5DEF8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C5DEFC */ _t3 = cpu->r[4] + 0x00000000u;
|
|
/* 02C5DEFC */ cpu->r[29] = rbrew_read16(cpu->mem, _t3);
|
|
/* 02C5DF00 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C5DF00 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02C5DF00 */ if (_t5) goto L_02C5DF08; else goto L_02C5DF04;
|
|
L_02C5DF04: ; // 0x2c5df04
|
|
/* 02C5DF04 */ cpu->r[26] = cpu->r[9] + cpu->r[0];
|
|
L_02C5DF08: ; // 0x2c5df08
|
|
/* 02C5DF08 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 02C5DF0C */ _t6 = cpu->r[4] + 0x00000008u;
|
|
/* 02C5DF0C */ cpu->r[30] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02C5DF10 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C5DF10 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02C5DF10 */ if (_t8) goto L_02C5DF90; else goto L_02C5DF14;
|
|
L_02C5DF14: ; // 0x2c5df14
|
|
/* 02C5DF14 */ cpu->r[25] = 0x00010000u;
|
|
/* 02C5DF18 */ cpu->r[27] = cpu->r[5] + 0x00000030u;
|
|
/* 02C5DF1C */ cpu->r[25] = cpu->r[25] + 0xFFFFFFFFu;
|
|
L_02C5DF20: ; // 0x2c5df20
|
|
/* 02C5DF20 */ _t9 = cpu->r[26] + 0x00000004u;
|
|
/* 02C5DF20 */ cpu->r[7] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02C5DF24 */ cpu->r[4] = 0x00000000u;
|
|
/* 02C5DF28 */ cpu->r[10] = cpu->r[26] + 0x00000004u;
|
|
/* 02C5DF2C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 02C5DF30 */ _t10 = cpu->r[27] + 0x00000000u;
|
|
/* 02C5DF30 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02C5DF34 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C5DF34 */ _t12 = _t11 & 0x00000001u;
|
|
/* 02C5DF34 */ if (_t12) goto L_02C5DF40; else goto L_02C5DF38;
|
|
L_02C5DF38: ; // 0x2c5df38
|
|
/* 02C5DF38 */ cpu->r[12] = cpu->r[10] + cpu->r[7];
|
|
/* 02C5DF3C */ cpu->r[4] = cpu->r[12] + 0xFFFFFFFCu;
|
|
L_02C5DF40: ; // 0x2c5df40
|
|
/* 02C5DF40 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C5DF44 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C5DF48 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C5DF48 */ _t14 = _t13 & 0x00000001u;
|
|
/* 02C5DF48 */ if (_t14) goto L_02C5DF50; else goto L_02C5DF4C;
|
|
L_02C5DF4C: ; // 0x2c5df4c
|
|
/* 02C5DF4C */ cpu->r[3] = cpu->r[27] + cpu->r[0];
|
|
L_02C5DF50: ; // 0x2c5df50
|
|
/* 02C5DF50 */ Gambit_fn_02C606B8(cpu);
|
|
/* 02C5DF54 */ _t15 = cpu->r[28] + 0x00000058u;
|
|
/* 02C5DF54 */ cpu->r[5] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02C5DF58 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C5DF5C */ _t16 = cpu->r[5] + cpu->r[30];
|
|
/* 02C5DF5C */ rbrew_write8(cpu->mem, _t16, (uint8_t)cpu->r[3]);
|
|
/* 02C5DF60 */ _t17 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C5DF60 */ _t18 = _t17 & 0x00000001u;
|
|
/* 02C5DF60 */ if (_t18) goto L_02C5DF7C; else goto L_02C5DF64;
|
|
L_02C5DF64: ; // 0x2c5df64
|
|
/* 02C5DF64 */ cpu->r[31] = cpu->r[31] | 0xFFFF0000u;
|
|
/* 02C5DF68 */ cpu->r[29] = cpu->r[29] + 0xFFFFFFFFu;
|
|
/* 02C5DF68 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 02C5DF6C */ cpu->r[30] = cpu->r[30] + 0x00000001u;
|
|
/* 02C5DF70 */ cpu->r[26] = cpu->r[26] + 0x00000008u;
|
|
/* 02C5DF74 */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C5DF74 */ _t20 = _t19 & 0x00000001u;
|
|
/* 02C5DF74 */ if (_t20) goto L_02C5DF78; else goto L_02C5DF20;
|
|
L_02C5DF78: ; // 0x2c5df78
|
|
/* 02C5DF78 */ goto L_02C5DF90;
|
|
L_02C5DF7C: ; // 0x2c5df7c
|
|
/* 02C5DF7C */ cpu->r[31] = cpu->r[31] | cpu->r[25];
|
|
/* 02C5DF80 */ cpu->r[29] = cpu->r[29] + 0xFFFFFFFFu;
|
|
/* 02C5DF80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 02C5DF84 */ cpu->r[30] = cpu->r[30] + 0x00000001u;
|
|
/* 02C5DF88 */ cpu->r[26] = cpu->r[26] + 0x00000008u;
|
|
/* 02C5DF8C */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C5DF8C */ _t22 = _t21 & 0x00000001u;
|
|
/* 02C5DF8C */ if (_t22) goto L_02C5DF90; else goto L_02C5DF20;
|
|
L_02C5DF90: ; // 0x2c5df90
|
|
/* 02C5DF90 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C5DF94 */ /* nop */
|
|
/* 02C5DF98 */ _t23 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02C5DF98 */ cpu->r[0] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02C5DF9C */ cpu->lr = cpu->r[0];
|
|
/* 02C5DFA0 */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 02C5DFA4 */ return;
|
|
}
|
|
|
|
// fn_02C5DFA8 @ 0x2c5dfa8
|
|
void Gambit_fn_02C5DFA8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16;
|
|
|
|
L_02C5DFA8: ; // 0x2c5dfa8
|
|
/* 02C5DFA8 */ cpu->r[0] = cpu->lr;
|
|
/* 02C5DFAC */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02C5DFAC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C5DFAC */ cpu->r[1] = _t0;
|
|
/* 02C5DFB0 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C5DFB0 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
|
|
/* 02C5DFB4 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02C5DFB4 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02C5DFB8 */ _t3 = cpu->r[1] + 0x00000010u;
|
|
/* 02C5DFB8 */ rbrew_write32(cpu->mem, _t3, cpu->r[30]);
|
|
/* 02C5DFBC */ cpu->r[31] = cpu->r[3];
|
|
/* 02C5DFC0 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C5DFC0 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02C5DFC4 */ _t5 = cpu->r[31] + 0x00000040u;
|
|
/* 02C5DFC4 */ cpu->r[29] = rbrew_read16(cpu->mem, _t5);
|
|
/* 02C5DFC8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 02C5DFCC */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C5DFCC */ _t7 = _t6 & 0x00000001u;
|
|
/* 02C5DFCC */ if (_t7) goto L_02C5DFFC; else goto L_02C5DFD0;
|
|
L_02C5DFD0: ; // 0x2c5dfd0
|
|
/* 02C5DFD0 */ cpu->r[30] = 0x00000000u;
|
|
L_02C5DFD4: ; // 0x2c5dfd4
|
|
/* 02C5DFD4 */ _t8 = cpu->r[31] + 0x00000048u;
|
|
/* 02C5DFD4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C5DFD8 */ cpu->r[3] = cpu->r[12] + cpu->r[30];
|
|
/* 02C5DFDC */ _t9 = cpu->r[3] + 0x00000008u;
|
|
/* 02C5DFDC */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02C5DFE0 */ _t10 = cpu->r[31] + 0x0000002Cu;
|
|
/* 02C5DFE0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02C5DFE4 */ cpu->r[9] = rbrew_rlwinm(cpu->r[0], 0x00000001u, 0x00000000u, 0x0000001Eu);
|
|
/* 02C5DFE8 */ cpu->r[4] = cpu->r[11] + cpu->r[9];
|
|
/* 02C5DFEC */ Gambit_fn_02C649F4(cpu);
|
|
/* 02C5DFF0 */ cpu->r[29] = cpu->r[29] + 0xFFFFFFFFu;
|
|
/* 02C5DFF0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 02C5DFF4 */ cpu->r[30] = cpu->r[30] + 0x0000001Cu;
|
|
/* 02C5DFF8 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C5DFF8 */ _t12 = _t11 & 0x00000001u;
|
|
/* 02C5DFF8 */ if (_t12) goto L_02C5DFFC; else goto L_02C5DFD4;
|
|
L_02C5DFFC: ; // 0x2c5dffc
|
|
/* 02C5DFFC */ _t13 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C5DFFC */ cpu->r[29] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02C5E000 */ _t14 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C5E000 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02C5E004 */ _t15 = cpu->r[1] + 0x00000010u;
|
|
/* 02C5E004 */ cpu->r[30] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02C5E008 */ cpu->lr = cpu->r[0];
|
|
/* 02C5E00C */ _t16 = cpu->r[1] + 0x00000014u;
|
|
/* 02C5E00C */ cpu->r[31] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02C5E010 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C5E014 */ return;
|
|
}
|
|
|
|
// fn_02C5DFAC @ 0x2c5dfac
|
|
void Gambit_fn_02C5DFAC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16;
|
|
|
|
L_02C5DFAC: ; // 0x2c5dfac
|
|
/* 02C5DFAC */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02C5DFAC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C5DFAC */ cpu->r[1] = _t0;
|
|
/* 02C5DFB0 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C5DFB0 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
|
|
/* 02C5DFB4 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02C5DFB4 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02C5DFB8 */ _t3 = cpu->r[1] + 0x00000010u;
|
|
/* 02C5DFB8 */ rbrew_write32(cpu->mem, _t3, cpu->r[30]);
|
|
/* 02C5DFBC */ cpu->r[31] = cpu->r[3];
|
|
/* 02C5DFC0 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C5DFC0 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02C5DFC4 */ _t5 = cpu->r[31] + 0x00000040u;
|
|
/* 02C5DFC4 */ cpu->r[29] = rbrew_read16(cpu->mem, _t5);
|
|
/* 02C5DFC8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 02C5DFCC */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C5DFCC */ _t7 = _t6 & 0x00000001u;
|
|
/* 02C5DFCC */ if (_t7) goto L_02C5DFFC; else goto L_02C5DFD0;
|
|
L_02C5DFD0: ; // 0x2c5dfd0
|
|
/* 02C5DFD0 */ cpu->r[30] = 0x00000000u;
|
|
L_02C5DFD4: ; // 0x2c5dfd4
|
|
/* 02C5DFD4 */ _t8 = cpu->r[31] + 0x00000048u;
|
|
/* 02C5DFD4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C5DFD8 */ cpu->r[3] = cpu->r[12] + cpu->r[30];
|
|
/* 02C5DFDC */ _t9 = cpu->r[3] + 0x00000008u;
|
|
/* 02C5DFDC */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02C5DFE0 */ _t10 = cpu->r[31] + 0x0000002Cu;
|
|
/* 02C5DFE0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02C5DFE4 */ cpu->r[9] = rbrew_rlwinm(cpu->r[0], 0x00000001u, 0x00000000u, 0x0000001Eu);
|
|
/* 02C5DFE8 */ cpu->r[4] = cpu->r[11] + cpu->r[9];
|
|
/* 02C5DFEC */ Gambit_fn_02C649F4(cpu);
|
|
/* 02C5DFF0 */ cpu->r[29] = cpu->r[29] + 0xFFFFFFFFu;
|
|
/* 02C5DFF0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 02C5DFF4 */ cpu->r[30] = cpu->r[30] + 0x0000001Cu;
|
|
/* 02C5DFF8 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C5DFF8 */ _t12 = _t11 & 0x00000001u;
|
|
/* 02C5DFF8 */ if (_t12) goto L_02C5DFFC; else goto L_02C5DFD4;
|
|
L_02C5DFFC: ; // 0x2c5dffc
|
|
/* 02C5DFFC */ _t13 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C5DFFC */ cpu->r[29] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02C5E000 */ _t14 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C5E000 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02C5E004 */ _t15 = cpu->r[1] + 0x00000010u;
|
|
/* 02C5E004 */ cpu->r[30] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02C5E008 */ cpu->lr = cpu->r[0];
|
|
/* 02C5E00C */ _t16 = cpu->r[1] + 0x00000014u;
|
|
/* 02C5E00C */ cpu->r[31] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02C5E010 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C5E014 */ return;
|
|
}
|
|
|
|
// fn_02C5E018 @ 0x2c5e018
|
|
void Gambit_fn_02C5E018(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_02C5E018: ; // 0x2c5e018
|
|
/* 02C5E018 */ _t0 = cpu->r[1] + 0xFFFFFFC8u;
|
|
/* 02C5E018 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C5E018 */ cpu->r[1] = _t0;
|
|
/* 02C5E01C */ /* nop */
|
|
/* 02C5E020 */ cpu->r[0] = cpu->lr;
|
|
/* 02C5E024 */ _t1 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02C5E024 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02C5E028 */ cpu->r[29] = cpu->r[3];
|
|
/* 02C5E02C */ cpu->r[24] = cpu->r[29] + 0x00000038u;
|
|
/* 02C5E030 */ cpu->r[30] = cpu->r[4];
|
|
/* 02C5E034 */ _t2 = cpu->r[30] + 0x00000024u;
|
|
/* 02C5E034 */ cpu->r[4] = rbrew_read16(cpu->mem, _t2);
|
|
/* 02C5E038 */ cpu->r[3] = cpu->r[24];
|
|
/* 02C5E03C */ cpu->r[31] = 0x00000000u;
|
|
/* 02C5E040 */ Gambit_fn_02C4EFDC(cpu);
|
|
/* 02C5E044 */ _t3 = cpu->r[29] + 0x00000040u;
|
|
/* 02C5E044 */ cpu->r[26] = rbrew_read16(cpu->mem, _t3);
|
|
/* 02C5E048 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u);
|
|
/* 02C5E04C */ cpu->r[25] = cpu->r[31];
|
|
/* 02C5E050 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C5E050 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02C5E050 */ if (_t5) goto L_02C5E174; else goto L_02C5E054;
|
|
L_02C5E054: ; // 0x2c5e054
|
|
/* 02C5E054 */ cpu->r[28] = 0x00010000u;
|
|
/* 02C5E058 */ cpu->r[27] = 0x00000000u;
|
|
/* 02C5E05C */ cpu->r[30] = cpu->r[30] + 0x00000018u;
|
|
/* 02C5E060 */ cpu->r[28] = cpu->r[28] + 0xFFFFFFFFu;
|
|
/* 02C5E064 */ cpu->r[23] = cpu->r[27];
|
|
L_02C5E068: ; // 0x2c5e068
|
|
/* 02C5E068 */ _t6 = cpu->r[29] + 0x00000048u;
|
|
/* 02C5E068 */ cpu->r[7] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02C5E06C */ cpu->r[22] = cpu->r[7] + cpu->r[27];
|
|
/* 02C5E070 */ _t7 = cpu->r[22] + 0x0000000Cu;
|
|
/* 02C5E070 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02C5E074 */ cpu->r[10] = cpu->r[22] + 0x0000000Cu;
|
|
/* 02C5E078 */ cpu->r[4] = 0x00000000u;
|
|
/* 02C5E07C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C5E080 */ _t8 = cpu->r[30] + 0x00000000u;
|
|
/* 02C5E080 */ cpu->r[7] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C5E084 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C5E084 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02C5E084 */ if (_t10) goto L_02C5E090; else goto L_02C5E088;
|
|
L_02C5E088: ; // 0x2c5e088
|
|
/* 02C5E088 */ cpu->r[8] = cpu->r[10] + cpu->r[0];
|
|
/* 02C5E08C */ cpu->r[4] = cpu->r[8] + 0xFFFFFFFCu;
|
|
L_02C5E090: ; // 0x2c5e090
|
|
/* 02C5E090 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 02C5E094 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C5E098 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C5E098 */ _t12 = _t11 & 0x00000001u;
|
|
/* 02C5E098 */ if (_t12) goto L_02C5E0A0; else goto L_02C5E09C;
|
|
L_02C5E09C: ; // 0x2c5e09c
|
|
/* 02C5E09C */ cpu->r[3] = cpu->r[30] + cpu->r[7];
|
|
L_02C5E0A0: ; // 0x2c5e0a0
|
|
/* 02C5E0A0 */ Gambit_fn_02C606B8(cpu);
|
|
/* 02C5E0A4 */ cpu->r[21] = cpu->r[3];
|
|
/* 02C5E0A4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[21], 0x00000000u);
|
|
/* 02C5E0A8 */ _t13 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C5E0A8 */ _t14 = _t13 & 0x00000001u;
|
|
/* 02C5E0A8 */ if (_t14) goto L_02C5E15C; else goto L_02C5E0AC;
|
|
L_02C5E0AC: ; // 0x2c5e0ac
|
|
/* 02C5E0AC */ _t15 = cpu->r[30] + 0x00000000u;
|
|
/* 02C5E0AC */ cpu->r[7] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02C5E0B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 02C5E0B4 */ cpu->r[6] = 0x00000000u;
|
|
/* 02C5E0B8 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C5E0B8 */ _t17 = _t16 & 0x00000001u;
|
|
/* 02C5E0B8 */ if (_t17) goto L_02C5E0C0; else goto L_02C5E0BC;
|
|
L_02C5E0BC: ; // 0x2c5e0bc
|
|
/* 02C5E0BC */ cpu->r[6] = cpu->r[30] + cpu->r[7];
|
|
L_02C5E0C0: ; // 0x2c5e0c0
|
|
/* 02C5E0C0 */ cpu->r[0] = rbrew_rlwinm(cpu->r[21], 0x00000004u, 0x00000000u, 0x0000001Bu);
|
|
/* 02C5E0C4 */ cpu->r[7] = cpu->r[6] + cpu->r[0];
|
|
/* 02C5E0C8 */ _t18 = cpu->r[7] + 0x00000024u;
|
|
/* 02C5E0C8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02C5E0CC */ cpu->r[5] = 0x00000000u;
|
|
/* 02C5E0D0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02C5E0D4 */ cpu->r[9] = cpu->r[7] + 0x00000024u;
|
|
/* 02C5E0D8 */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C5E0D8 */ _t20 = _t19 & 0x00000001u;
|
|
/* 02C5E0D8 */ if (_t20) goto L_02C5E0E0; else goto L_02C5E0DC;
|
|
L_02C5E0DC: ; // 0x2c5e0dc
|
|
/* 02C5E0DC */ cpu->r[5] = cpu->r[9] + cpu->r[11];
|
|
L_02C5E0E0: ; // 0x2c5e0e0
|
|
/* 02C5E0E0 */ cpu->r[4] = cpu->r[22];
|
|
/* 02C5E0E4 */ cpu->r[3] = cpu->r[29];
|
|
/* 02C5E0E8 */ Gambit_fn_02C5DED4(cpu);
|
|
/* 02C5E0EC */ cpu->r[10] = rbrew_rlwinm(cpu->r[3], 0x00000010u, 0x00000010u, 0x0000001Fu);
|
|
/* 02C5E0EC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02C5E0F0 */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C5E0F0 */ _t22 = _t21 & 0x00000001u;
|
|
/* 02C5E0F0 */ if (_t22) goto L_02C5E15C; else goto L_02C5E0F4;
|
|
L_02C5E0F4: ; // 0x2c5e0f4
|
|
/* 02C5E0F4 */ _t23 = cpu->r[24] + 0x00000000u;
|
|
/* 02C5E0F4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02C5E0F8 */ _t24 = cpu->r[11] + cpu->r[23];
|
|
/* 02C5E0F8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02C5E0FC */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000002u, 0x00000010u);
|
|
/* 02C5E100 */ _t25 = cpu->r[11] + cpu->r[23];
|
|
/* 02C5E100 */ rbrew_write32(cpu->mem, _t25, cpu->r[0]);
|
|
/* 02C5E104 */ _t26 = cpu->r[24] + 0x00000000u;
|
|
/* 02C5E104 */ cpu->r[11] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02C5E108 */ _t27 = cpu->r[11] + cpu->r[23];
|
|
/* 02C5E108 */ cpu->r[0] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02C5E10C */ cpu->r[12] = rbrew_rlwinm(cpu->r[21], 0x00000000u, 0x00000011u, 0x0000001Fu);
|
|
/* 02C5E110 */ cpu->r[0] = cpu->r[0] | cpu->r[12];
|
|
/* 02C5E114 */ _t28 = cpu->r[11] + cpu->r[23];
|
|
/* 02C5E114 */ rbrew_write32(cpu->mem, _t28, cpu->r[0]);
|
|
/* 02C5E118 */ _t29 = cpu->r[24] + 0x00000000u;
|
|
/* 02C5E118 */ cpu->r[11] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02C5E11C */ cpu->r[0] = rbrew_rlwinm(cpu->r[21], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02C5E120 */ _t30 = cpu->r[11] + cpu->r[0];
|
|
/* 02C5E120 */ cpu->r[8] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02C5E124 */ cpu->r[8] = rbrew_rlwinm(cpu->r[8], 0x00000000u, 0x00000011u, 0x00000001u);
|
|
/* 02C5E128 */ _t31 = cpu->r[11] + cpu->r[0];
|
|
/* 02C5E128 */ rbrew_write32(cpu->mem, _t31, cpu->r[8]);
|
|
/* 02C5E12C */ _t32 = cpu->r[24] + 0x00000000u;
|
|
/* 02C5E12C */ cpu->r[11] = rbrew_read32(cpu->mem, _t32);
|
|
/* 02C5E130 */ cpu->r[10] = rbrew_rlwinm(cpu->r[25], 0x0000000Fu, 0x00000002u, 0x00000010u);
|
|
/* 02C5E134 */ cpu->r[31] = cpu->r[31] | 0xFFFF0000u;
|
|
/* 02C5E138 */ _t33 = cpu->r[11] + cpu->r[0];
|
|
/* 02C5E138 */ cpu->r[12] = rbrew_read32(cpu->mem, _t33);
|
|
/* 02C5E13C */ cpu->r[27] = cpu->r[27] + 0x0000001Cu;
|
|
/* 02C5E140 */ cpu->r[26] = cpu->r[26] + 0xFFFFFFFFu;
|
|
/* 02C5E140 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u);
|
|
/* 02C5E144 */ cpu->r[25] = cpu->r[25] + 0x00000001u;
|
|
/* 02C5E148 */ cpu->r[12] = cpu->r[12] | cpu->r[10];
|
|
/* 02C5E14C */ cpu->r[23] = cpu->r[23] + 0x00000004u;
|
|
/* 02C5E150 */ _t34 = cpu->r[11] + cpu->r[0];
|
|
/* 02C5E150 */ rbrew_write32(cpu->mem, _t34, cpu->r[12]);
|
|
/* 02C5E154 */ _t35 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C5E154 */ _t36 = _t35 & 0x00000001u;
|
|
/* 02C5E154 */ if (_t36) goto L_02C5E158; else goto L_02C5E068;
|
|
L_02C5E158: ; // 0x2c5e158
|
|
/* 02C5E158 */ goto L_02C5E174;
|
|
L_02C5E15C: ; // 0x2c5e15c
|
|
/* 02C5E15C */ cpu->r[31] = cpu->r[31] | cpu->r[28];
|
|
/* 02C5E160 */ cpu->r[27] = cpu->r[27] + 0x0000001Cu;
|
|
/* 02C5E164 */ cpu->r[26] = cpu->r[26] + 0xFFFFFFFFu;
|
|
/* 02C5E164 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u);
|
|
/* 02C5E168 */ cpu->r[25] = cpu->r[25] + 0x00000001u;
|
|
/* 02C5E16C */ cpu->r[23] = cpu->r[23] + 0x00000004u;
|
|
/* 02C5E170 */ _t37 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C5E170 */ _t38 = _t37 & 0x00000001u;
|
|
/* 02C5E170 */ if (_t38) goto L_02C5E174; else goto L_02C5E068;
|
|
L_02C5E174: ; // 0x2c5e174
|
|
/* 02C5E174 */ _t39 = cpu->r[29] + 0x0000003Cu;
|
|
/* 02C5E174 */ cpu->r[6] = rbrew_read16(cpu->mem, _t39);
|
|
/* 02C5E178 */ _t40 = cpu->r[29] + 0x00000024u;
|
|
/* 02C5E178 */ cpu->r[0] = rbrew_read32(cpu->mem, _t40);
|
|
/* 02C5E17C */ cpu->r[6] = cpu->r[6] | 0x00000001u;
|
|
/* 02C5E180 */ cpu->r[12] = 0x10230000u;
|
|
/* 02C5E184 */ _t41 = cpu->r[29] + 0x0000003Cu;
|
|
/* 02C5E184 */ rbrew_write16(cpu->mem, _t41, (uint16_t)cpu->r[6]);
|
|
/* 02C5E188 */ _t42 = cpu->r[12] + 0xFFFFAB0Cu;
|
|
/* 02C5E188 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t42);
|
|
/* 02C5E18C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C5E190 */ _t43 = cpu->r[29] + 0x00000028u;
|
|
/* 02C5E190 */ rbrew_write_f32(cpu->mem, _t43, cpu->f[0]);
|
|
/* 02C5E194 */ _t44 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C5E194 */ _t45 = _t44 & 0x00000001u;
|
|
/* 02C5E194 */ if (_t45) goto L_02C5E198; else goto L_02C5E1D0;
|
|
L_02C5E198: ; // 0x2c5e198
|
|
/* 02C5E198 */ _t46 = cpu->r[29] + 0x00000020u;
|
|
/* 02C5E198 */ cpu->r[9] = rbrew_read32(cpu->mem, _t46);
|
|
/* 02C5E19C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], cpu->r[9]);
|
|
/* 02C5E1A0 */ _t47 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C5E1A0 */ _t48 = _t47 & 0x00000001u;
|
|
/* 02C5E1A0 */ if (_t48) goto L_02C5E1D0; else goto L_02C5E1A4;
|
|
L_02C5E1A4: ; // 0x2c5e1a4
|
|
/* 02C5E1A4 */ cpu->r[9] = 0x101B0000u;
|
|
/* 02C5E1A8 */ cpu->r[6] = 0x00000000u;
|
|
/* 02C5E1AC */ _t49 = cpu->r[9] + 0xFFFFEFC0u;
|
|
/* 02C5E1AC */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t49);
|
|
/* 02C5E1B0 */ cpu->r[9] = cpu->r[6];
|
|
L_02C5E1B4: ; // 0x2c5e1b4
|
|
/* 02C5E1B4 */ _t50 = cpu->r[29] + 0x0000001Cu;
|
|
/* 02C5E1B4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t50);
|
|
/* 02C5E1B8 */ _t51 = cpu->r[10] + cpu->r[9];
|
|
/* 02C5E1B8 */ rbrew_write32(cpu->mem, _t51, cpu->r[0]);
|
|
/* 02C5E1BC */ _t52 = cpu->r[29] + 0x00000024u;
|
|
/* 02C5E1BC */ cpu->r[12] = rbrew_read32(cpu->mem, _t52);
|
|
/* 02C5E1C0 */ cpu->r[6] = cpu->r[6] + 0x00000001u;
|
|
/* 02C5E1C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], cpu->r[12]);
|
|
/* 02C5E1C8 */ cpu->r[9] = cpu->r[9] + 0x0000000Cu;
|
|
/* 02C5E1CC */ _t53 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C5E1CC */ _t54 = _t53 & 0x00000001u;
|
|
/* 02C5E1CC */ if (_t54) goto L_02C5E1B4; else goto L_02C5E1D0;
|
|
L_02C5E1D0: ; // 0x2c5e1d0
|
|
/* 02C5E1D0 */ cpu->r[3] = cpu->r[29];
|
|
/* 02C5E1D4 */ Gambit_fn_02C5DFA8(cpu);
|
|
/* 02C5E1D8 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C5E1DC */ /* nop */
|
|
/* 02C5E1E0 */ _t55 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02C5E1E0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t55);
|
|
/* 02C5E1E4 */ cpu->lr = cpu->r[0];
|
|
/* 02C5E1E8 */ cpu->r[1] = cpu->r[1] + 0x00000038u;
|
|
/* 02C5E1EC */ return;
|
|
}
|
|
|
|
// fn_02C5E1F0 @ 0x2c5e1f0
|
|
void Gambit_fn_02C5E1F0(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;
|
|
|
|
L_02C5E1F0: ; // 0x2c5e1f0
|
|
/* 02C5E1F0 */ _t0 = cpu->r[1] + 0xFFFFFFC8u;
|
|
/* 02C5E1F0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C5E1F0 */ cpu->r[1] = _t0;
|
|
/* 02C5E1F4 */ /* nop */
|
|
/* 02C5E1F8 */ cpu->r[0] = cpu->lr;
|
|
/* 02C5E1FC */ _t1 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02C5E1FC */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02C5E200 */ cpu->r[29] = cpu->r[3];
|
|
/* 02C5E204 */ cpu->r[23] = cpu->r[29] + 0x00000038u;
|
|
/* 02C5E208 */ cpu->r[30] = cpu->r[4];
|
|
/* 02C5E20C */ _t2 = cpu->r[30] + 0x00000016u;
|
|
/* 02C5E20C */ cpu->r[4] = rbrew_read16(cpu->mem, _t2);
|
|
/* 02C5E210 */ cpu->r[3] = cpu->r[23];
|
|
/* 02C5E214 */ cpu->r[31] = 0x00000000u;
|
|
/* 02C5E218 */ Gambit_fn_02C4EFDC(cpu);
|
|
/* 02C5E21C */ _t3 = cpu->r[29] + 0x00000040u;
|
|
/* 02C5E21C */ cpu->r[25] = rbrew_read16(cpu->mem, _t3);
|
|
/* 02C5E220 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000000u);
|
|
/* 02C5E224 */ cpu->r[24] = cpu->r[31];
|
|
/* 02C5E228 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C5E228 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02C5E228 */ if (_t5) goto L_02C5E328; else goto L_02C5E22C;
|
|
L_02C5E22C: ; // 0x2c5e22c
|
|
/* 02C5E22C */ cpu->r[28] = 0x00010000u;
|
|
/* 02C5E230 */ cpu->r[26] = 0x00000000u;
|
|
/* 02C5E234 */ cpu->r[28] = cpu->r[28] + 0xFFFFFFFFu;
|
|
/* 02C5E238 */ cpu->r[27] = cpu->r[26];
|
|
L_02C5E23C: ; // 0x2c5e23c
|
|
/* 02C5E23C */ _t6 = cpu->r[29] + 0x00000048u;
|
|
/* 02C5E23C */ cpu->r[10] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02C5E240 */ _t7 = cpu->r[30] + 0x00000000u;
|
|
/* 02C5E240 */ cpu->r[6] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02C5E244 */ cpu->r[22] = cpu->r[10] + cpu->r[26];
|
|
/* 02C5E248 */ _t8 = cpu->r[22] + 0x0000000Cu;
|
|
/* 02C5E248 */ cpu->r[5] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C5E24C */ cpu->r[11] = cpu->r[22] + 0x0000000Cu;
|
|
/* 02C5E250 */ cpu->r[4] = 0x00000000u;
|
|
/* 02C5E254 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u);
|
|
/* 02C5E258 */ _t9 = cpu->r[6] + 0x00000018u;
|
|
/* 02C5E258 */ cpu->r[7] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02C5E25C */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C5E25C */ _t11 = _t10 & 0x00000001u;
|
|
/* 02C5E25C */ if (_t11) goto L_02C5E268; else goto L_02C5E260;
|
|
L_02C5E260: ; // 0x2c5e260
|
|
/* 02C5E260 */ cpu->r[12] = cpu->r[11] + cpu->r[5];
|
|
/* 02C5E264 */ cpu->r[4] = cpu->r[12] + 0xFFFFFFFCu;
|
|
L_02C5E268: ; // 0x2c5e268
|
|
/* 02C5E268 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 02C5E26C */ cpu->r[9] = cpu->r[6] + 0x00000018u;
|
|
/* 02C5E270 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C5E274 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C5E274 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02C5E274 */ if (_t13) goto L_02C5E27C; else goto L_02C5E278;
|
|
L_02C5E278: ; // 0x2c5e278
|
|
/* 02C5E278 */ cpu->r[3] = cpu->r[9] + cpu->r[7];
|
|
L_02C5E27C: ; // 0x2c5e27c
|
|
/* 02C5E27C */ Gambit_fn_02C606B8(cpu);
|
|
/* 02C5E280 */ cpu->r[21] = cpu->r[3];
|
|
/* 02C5E280 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[21], 0x00000000u);
|
|
/* 02C5E284 */ _t14 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C5E284 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02C5E284 */ if (_t15) goto L_02C5E310; else goto L_02C5E288;
|
|
L_02C5E288: ; // 0x2c5e288
|
|
/* 02C5E288 */ cpu->r[0] = (uint32_t)((int32_t)cpu->r[21] * (int32_t)0x0000003Cu);
|
|
/* 02C5E28C */ _t16 = cpu->r[30] + 0x00000020u;
|
|
/* 02C5E28C */ cpu->r[10] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02C5E290 */ cpu->r[4] = cpu->r[22];
|
|
/* 02C5E294 */ _t17 = cpu->r[10] + cpu->r[0];
|
|
/* 02C5E294 */ cpu->r[5] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02C5E298 */ cpu->r[3] = cpu->r[29];
|
|
/* 02C5E29C */ Gambit_fn_02C5DED4(cpu);
|
|
/* 02C5E2A0 */ cpu->r[5] = rbrew_rlwinm(cpu->r[3], 0x00000010u, 0x00000010u, 0x0000001Fu);
|
|
/* 02C5E2A0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u);
|
|
/* 02C5E2A4 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C5E2A4 */ _t19 = _t18 & 0x00000001u;
|
|
/* 02C5E2A4 */ if (_t19) goto L_02C5E310; else goto L_02C5E2A8;
|
|
L_02C5E2A8: ; // 0x2c5e2a8
|
|
/* 02C5E2A8 */ _t20 = cpu->r[23] + 0x00000000u;
|
|
/* 02C5E2A8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02C5E2AC */ _t21 = cpu->r[9] + cpu->r[27];
|
|
/* 02C5E2AC */ cpu->r[8] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02C5E2B0 */ cpu->r[8] = rbrew_rlwinm(cpu->r[8], 0x00000000u, 0x00000002u, 0x00000010u);
|
|
/* 02C5E2B4 */ _t22 = cpu->r[9] + cpu->r[27];
|
|
/* 02C5E2B4 */ rbrew_write32(cpu->mem, _t22, cpu->r[8]);
|
|
/* 02C5E2B8 */ _t23 = cpu->r[23] + 0x00000000u;
|
|
/* 02C5E2B8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02C5E2BC */ _t24 = cpu->r[9] + cpu->r[27];
|
|
/* 02C5E2BC */ cpu->r[0] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02C5E2C0 */ cpu->r[12] = rbrew_rlwinm(cpu->r[21], 0x00000000u, 0x00000011u, 0x0000001Fu);
|
|
/* 02C5E2C4 */ cpu->r[0] = cpu->r[0] | cpu->r[12];
|
|
/* 02C5E2C8 */ _t25 = cpu->r[9] + cpu->r[27];
|
|
/* 02C5E2C8 */ rbrew_write32(cpu->mem, _t25, cpu->r[0]);
|
|
/* 02C5E2CC */ _t26 = cpu->r[23] + 0x00000000u;
|
|
/* 02C5E2CC */ cpu->r[9] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02C5E2D0 */ cpu->r[0] = rbrew_rlwinm(cpu->r[21], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02C5E2D4 */ _t27 = cpu->r[9] + cpu->r[0];
|
|
/* 02C5E2D4 */ cpu->r[5] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02C5E2D8 */ cpu->r[5] = rbrew_rlwinm(cpu->r[5], 0x00000000u, 0x00000011u, 0x00000001u);
|
|
/* 02C5E2DC */ _t28 = cpu->r[9] + cpu->r[0];
|
|
/* 02C5E2DC */ rbrew_write32(cpu->mem, _t28, cpu->r[5]);
|
|
/* 02C5E2E0 */ _t29 = cpu->r[23] + 0x00000000u;
|
|
/* 02C5E2E0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02C5E2E4 */ cpu->r[6] = rbrew_rlwinm(cpu->r[24], 0x0000000Fu, 0x00000002u, 0x00000010u);
|
|
/* 02C5E2E8 */ cpu->r[31] = cpu->r[31] | 0xFFFF0000u;
|
|
/* 02C5E2EC */ _t30 = cpu->r[9] + cpu->r[0];
|
|
/* 02C5E2EC */ cpu->r[7] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02C5E2F0 */ cpu->r[26] = cpu->r[26] + 0x0000001Cu;
|
|
/* 02C5E2F4 */ cpu->r[25] = cpu->r[25] + 0xFFFFFFFFu;
|
|
/* 02C5E2F4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000000u);
|
|
/* 02C5E2F8 */ cpu->r[24] = cpu->r[24] + 0x00000001u;
|
|
/* 02C5E2FC */ cpu->r[7] = cpu->r[7] | cpu->r[6];
|
|
/* 02C5E300 */ cpu->r[27] = cpu->r[27] + 0x00000004u;
|
|
/* 02C5E304 */ _t31 = cpu->r[9] + cpu->r[0];
|
|
/* 02C5E304 */ rbrew_write32(cpu->mem, _t31, cpu->r[7]);
|
|
/* 02C5E308 */ _t32 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C5E308 */ _t33 = _t32 & 0x00000001u;
|
|
/* 02C5E308 */ if (_t33) goto L_02C5E30C; else goto L_02C5E23C;
|
|
L_02C5E30C: ; // 0x2c5e30c
|
|
/* 02C5E30C */ goto L_02C5E328;
|
|
L_02C5E310: ; // 0x2c5e310
|
|
/* 02C5E310 */ cpu->r[31] = cpu->r[31] | cpu->r[28];
|
|
/* 02C5E314 */ cpu->r[26] = cpu->r[26] + 0x0000001Cu;
|
|
/* 02C5E318 */ cpu->r[25] = cpu->r[25] + 0xFFFFFFFFu;
|
|
/* 02C5E318 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000000u);
|
|
/* 02C5E31C */ cpu->r[24] = cpu->r[24] + 0x00000001u;
|
|
/* 02C5E320 */ cpu->r[27] = cpu->r[27] + 0x00000004u;
|
|
/* 02C5E324 */ _t34 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C5E324 */ _t35 = _t34 & 0x00000001u;
|
|
/* 02C5E324 */ if (_t35) goto L_02C5E328; else goto L_02C5E23C;
|
|
L_02C5E328: ; // 0x2c5e328
|
|
/* 02C5E328 */ _t36 = cpu->r[29] + 0x0000003Cu;
|
|
/* 02C5E328 */ cpu->r[8] = rbrew_read16(cpu->mem, _t36);
|
|
/* 02C5E32C */ _t37 = cpu->r[29] + 0x00000024u;
|
|
/* 02C5E32C */ cpu->r[0] = rbrew_read32(cpu->mem, _t37);
|
|
/* 02C5E330 */ cpu->r[8] = cpu->r[8] | 0x00000001u;
|
|
/* 02C5E334 */ _t38 = cpu->r[29] + 0x0000003Cu;
|
|
/* 02C5E334 */ rbrew_write16(cpu->mem, _t38, (uint16_t)cpu->r[8]);
|
|
/* 02C5E338 */ cpu->r[8] = 0x10230000u;
|
|
/* 02C5E33C */ _t39 = cpu->r[8] + 0xFFFFAB0Cu;
|
|
/* 02C5E33C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t39);
|
|
/* 02C5E340 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C5E344 */ _t40 = cpu->r[29] + 0x00000028u;
|
|
/* 02C5E344 */ rbrew_write_f32(cpu->mem, _t40, cpu->f[0]);
|
|
/* 02C5E348 */ _t41 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C5E348 */ _t42 = _t41 & 0x00000001u;
|
|
/* 02C5E348 */ if (_t42) goto L_02C5E34C; else goto L_02C5E384;
|
|
L_02C5E34C: ; // 0x2c5e34c
|
|
/* 02C5E34C */ _t43 = cpu->r[29] + 0x00000020u;
|
|
/* 02C5E34C */ cpu->r[10] = rbrew_read32(cpu->mem, _t43);
|
|
/* 02C5E350 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], cpu->r[10]);
|
|
/* 02C5E354 */ _t44 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C5E354 */ _t45 = _t44 & 0x00000001u;
|
|
/* 02C5E354 */ if (_t45) goto L_02C5E384; else goto L_02C5E358;
|
|
L_02C5E358: ; // 0x2c5e358
|
|
/* 02C5E358 */ cpu->r[7] = 0x101B0000u;
|
|
/* 02C5E35C */ cpu->r[11] = 0x00000000u;
|
|
/* 02C5E360 */ _t46 = cpu->r[7] + 0xFFFFEFC0u;
|
|
/* 02C5E360 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t46);
|
|
/* 02C5E364 */ cpu->r[10] = cpu->r[11];
|
|
L_02C5E368: ; // 0x2c5e368
|
|
/* 02C5E368 */ _t47 = cpu->r[29] + 0x0000001Cu;
|
|
/* 02C5E368 */ cpu->r[12] = rbrew_read32(cpu->mem, _t47);
|
|
/* 02C5E36C */ _t48 = cpu->r[12] + cpu->r[10];
|
|
/* 02C5E36C */ rbrew_write32(cpu->mem, _t48, cpu->r[0]);
|
|
/* 02C5E370 */ _t49 = cpu->r[29] + 0x00000024u;
|
|
/* 02C5E370 */ cpu->r[6] = rbrew_read32(cpu->mem, _t49);
|
|
/* 02C5E374 */ cpu->r[11] = cpu->r[11] + 0x00000001u;
|
|
/* 02C5E378 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], cpu->r[6]);
|
|
/* 02C5E37C */ cpu->r[10] = cpu->r[10] + 0x0000000Cu;
|
|
/* 02C5E380 */ _t50 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C5E380 */ _t51 = _t50 & 0x00000001u;
|
|
/* 02C5E380 */ if (_t51) goto L_02C5E368; else goto L_02C5E384;
|
|
L_02C5E384: ; // 0x2c5e384
|
|
/* 02C5E384 */ cpu->r[3] = cpu->r[29];
|
|
/* 02C5E388 */ Gambit_fn_02C5DFA8(cpu);
|
|
/* 02C5E38C */ cpu->r[3] = cpu->r[31];
|
|
/* 02C5E390 */ /* nop */
|
|
/* 02C5E394 */ _t52 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02C5E394 */ cpu->r[0] = rbrew_read32(cpu->mem, _t52);
|
|
/* 02C5E398 */ cpu->lr = cpu->r[0];
|
|
/* 02C5E39C */ cpu->r[1] = cpu->r[1] + 0x00000038u;
|
|
/* 02C5E3A0 */ return;
|
|
}
|
|
|
|
// fn_02C5E3A4 @ 0x2c5e3a4
|
|
void Gambit_fn_02C5E3A4(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;
|
|
|
|
L_02C5E3A4: ; // 0x2c5e3a4
|
|
/* 02C5E3A4 */ _t0 = cpu->r[1] + 0xFFFFFFD0u;
|
|
/* 02C5E3A4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C5E3A4 */ cpu->r[1] = _t0;
|
|
/* 02C5E3A8 */ /* nop */
|
|
/* 02C5E3AC */ cpu->r[0] = cpu->lr;
|
|
/* 02C5E3B0 */ _t1 = cpu->r[1] + 0x00000020u;
|
|
/* 02C5E3B0 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[31]);
|
|
/* 02C5E3B4 */ /* nop */
|
|
/* 02C5E3B8 */ _t2 = cpu->r[1] + 0x00000034u;
|
|
/* 02C5E3B8 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02C5E3BC */ _t3 = cpu->r[1] + 0x00000028u;
|
|
/* 02C5E3BC */ rbrew_write_f32(cpu->mem, _t3, cpu->f[31]);
|
|
/* 02C5E3C0 */ cpu->r[29] = cpu->r[3];
|
|
/* 02C5E3C4 */ _t4 = cpu->r[29] + 0x00000000u;
|
|
/* 02C5E3C4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02C5E3C8 */ _t5 = cpu->r[29] + 0x00000028u;
|
|
/* 02C5E3C8 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t5);
|
|
/* 02C5E3CC */ _t6 = cpu->r[9] + 0x00000000u;
|
|
/* 02C5E3CC */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t6);
|
|
/* 02C5E3D0 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[13], cpu->f[0]);
|
|
/* 02C5E3D4 */ cpu->r[31] = cpu->r[29] + 0x0000001Cu;
|
|
/* 02C5E3D8 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C5E3D8 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02C5E3D8 */ if (_t8) goto L_02C5E4E4; else goto L_02C5E3DC;
|
|
L_02C5E3DC: ; // 0x2c5e3dc
|
|
/* 02C5E3DC */ _t9 = cpu->r[31] + 0x00000008u;
|
|
/* 02C5E3DC */ cpu->r[11] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02C5E3E0 */ cpu->r[28] = cpu->r[29] + 0x00000038u;
|
|
/* 02C5E3E4 */ _t10 = cpu->r[9] + 0x00000000u;
|
|
/* 02C5E3E4 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t10);
|
|
/* 02C5E3E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02C5E3EC */ _t11 = cpu->r[29] + 0x00000040u;
|
|
/* 02C5E3EC */ cpu->r[30] = rbrew_read16(cpu->mem, _t11);
|
|
/* 02C5E3F0 */ _t12 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C5E3F0 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02C5E3F0 */ if (_t13) goto L_02C5E3F4; else goto L_02C5E478;
|
|
L_02C5E3F4: ; // 0x2c5e3f4
|
|
/* 02C5E3F4 */ _t14 = cpu->r[31] + 0x00000004u;
|
|
/* 02C5E3F4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02C5E3F8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], cpu->r[0]);
|
|
/* 02C5E3FC */ _t15 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C5E3FC */ _t16 = _t15 & 0x00000001u;
|
|
/* 02C5E3FC */ if (_t16) goto L_02C5E478; else goto L_02C5E400;
|
|
L_02C5E400: ; // 0x2c5e400
|
|
/* 02C5E400 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02C5E404 */ _t17 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C5E404 */ _t18 = _t17 & 0x00000001u;
|
|
/* 02C5E404 */ if (_t18) goto L_02C5E408; else goto L_02C5E4DC;
|
|
L_02C5E408: ; // 0x2c5e408
|
|
/* 02C5E408 */ cpu->r[26] = 0x00000000u;
|
|
/* 02C5E40C */ cpu->r[27] = cpu->r[26];
|
|
L_02C5E410: ; // 0x2c5e410
|
|
/* 02C5E410 */ _t19 = cpu->r[28] + 0x00000000u;
|
|
/* 02C5E410 */ cpu->r[6] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02C5E414 */ _t20 = cpu->r[6] + cpu->r[27];
|
|
/* 02C5E414 */ cpu->r[7] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02C5E418 */ _t21 = cpu->r[29] + 0x00000048u;
|
|
/* 02C5E418 */ cpu->r[5] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02C5E41C */ cpu->r[8] = rbrew_rlwinm(cpu->r[7], 0x00000002u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02C5E420 */ cpu->r[3] = cpu->r[5] + cpu->r[26];
|
|
/* 02C5E424 */ cpu->r[12] = cpu->r[8] ^ 0x00000001u;
|
|
/* 02C5E428 */ _t22 = cpu->r[3] + 0x00000008u;
|
|
/* 02C5E428 */ cpu->r[7] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02C5E42C */ cpu->r[12] = rbrew_rlwinm(cpu->r[12], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 02C5E42C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02C5E430 */ _t23 = cpu->r[3] + 0x00000004u;
|
|
/* 02C5E430 */ cpu->r[9] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02C5E434 */ _t24 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C5E434 */ _t25 = _t24 & 0x00000001u;
|
|
/* 02C5E434 */ if (_t25) goto L_02C5E460; else goto L_02C5E438;
|
|
L_02C5E438: ; // 0x2c5e438
|
|
/* 02C5E438 */ _t26 = cpu->r[29] + 0x0000002Cu;
|
|
/* 02C5E438 */ cpu->r[11] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02C5E43C */ cpu->r[10] = rbrew_rlwinm(cpu->r[7], 0x00000001u, 0x00000000u, 0x0000001Eu);
|
|
/* 02C5E440 */ cpu->f[1] = cpu->f[31];
|
|
/* 02C5E444 */ _t27 = cpu->r[29] + 0x00000058u;
|
|
/* 02C5E444 */ cpu->r[6] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02C5E448 */ cpu->r[0] = (uint32_t)((int32_t)cpu->r[9] * (int32_t)0x0000000Cu);
|
|
/* 02C5E44C */ _t28 = cpu->r[31] + 0x00000000u;
|
|
/* 02C5E44C */ cpu->r[12] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02C5E450 */ cpu->r[5] = cpu->r[6] + cpu->r[7];
|
|
/* 02C5E454 */ cpu->r[4] = cpu->r[11] + cpu->r[10];
|
|
/* 02C5E458 */ cpu->r[6] = cpu->r[12] + cpu->r[0];
|
|
/* 02C5E45C */ Gambit_fn_02C64B2C(cpu);
|
|
L_02C5E460: ; // 0x2c5e460
|
|
/* 02C5E460 */ cpu->r[30] = cpu->r[30] + 0xFFFFFFFFu;
|
|
/* 02C5E460 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02C5E464 */ cpu->r[27] = cpu->r[27] + 0x00000004u;
|
|
/* 02C5E468 */ cpu->r[26] = cpu->r[26] + 0x0000001Cu;
|
|
/* 02C5E46C */ _t29 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C5E46C */ _t30 = _t29 & 0x00000001u;
|
|
/* 02C5E46C */ if (_t30) goto L_02C5E470; else goto L_02C5E410;
|
|
L_02C5E470: ; // 0x2c5e470
|
|
/* 02C5E470 */ _t31 = cpu->r[29] + 0x00000000u;
|
|
/* 02C5E470 */ cpu->r[9] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02C5E474 */ goto L_02C5E4DC;
|
|
L_02C5E478: ; // 0x2c5e478
|
|
/* 02C5E478 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02C5E47C */ _t32 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C5E47C */ _t33 = _t32 & 0x00000001u;
|
|
/* 02C5E47C */ if (_t33) goto L_02C5E480; else goto L_02C5E4DC;
|
|
L_02C5E480: ; // 0x2c5e480
|
|
/* 02C5E480 */ cpu->r[26] = 0x00000000u;
|
|
/* 02C5E484 */ cpu->r[27] = cpu->r[26];
|
|
L_02C5E488: ; // 0x2c5e488
|
|
/* 02C5E488 */ _t34 = cpu->r[28] + 0x00000000u;
|
|
/* 02C5E488 */ cpu->r[8] = rbrew_read32(cpu->mem, _t34);
|
|
/* 02C5E48C */ _t35 = cpu->r[8] + cpu->r[27];
|
|
/* 02C5E48C */ cpu->r[0] = rbrew_read32(cpu->mem, _t35);
|
|
/* 02C5E490 */ cpu->r[5] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02C5E494 */ _t36 = cpu->r[29] + 0x00000048u;
|
|
/* 02C5E494 */ cpu->r[7] = rbrew_read32(cpu->mem, _t36);
|
|
/* 02C5E498 */ cpu->r[0] = cpu->r[5] ^ 0x00000001u;
|
|
/* 02C5E49C */ cpu->r[3] = cpu->r[7] + cpu->r[26];
|
|
/* 02C5E4A0 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 02C5E4A0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C5E4A4 */ _t37 = cpu->r[3] + 0x00000008u;
|
|
/* 02C5E4A4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t37);
|
|
/* 02C5E4A8 */ _t38 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C5E4A8 */ _t39 = _t38 & 0x00000001u;
|
|
/* 02C5E4A8 */ if (_t39) goto L_02C5E4C8; else goto L_02C5E4AC;
|
|
L_02C5E4AC: ; // 0x2c5e4ac
|
|
/* 02C5E4AC */ _t40 = cpu->r[29] + 0x0000002Cu;
|
|
/* 02C5E4AC */ cpu->r[8] = rbrew_read32(cpu->mem, _t40);
|
|
/* 02C5E4B0 */ cpu->r[6] = rbrew_rlwinm(cpu->r[9], 0x00000001u, 0x00000000u, 0x0000001Eu);
|
|
/* 02C5E4B4 */ _t41 = cpu->r[29] + 0x00000058u;
|
|
/* 02C5E4B4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t41);
|
|
/* 02C5E4B8 */ cpu->f[1] = cpu->f[31];
|
|
/* 02C5E4BC */ cpu->r[4] = cpu->r[8] + cpu->r[6];
|
|
/* 02C5E4C0 */ cpu->r[5] = cpu->r[12] + cpu->r[9];
|
|
/* 02C5E4C4 */ Gambit_fn_02C64A34(cpu);
|
|
L_02C5E4C8: ; // 0x2c5e4c8
|
|
/* 02C5E4C8 */ cpu->r[30] = cpu->r[30] + 0xFFFFFFFFu;
|
|
/* 02C5E4C8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02C5E4CC */ cpu->r[27] = cpu->r[27] + 0x00000004u;
|
|
/* 02C5E4D0 */ cpu->r[26] = cpu->r[26] + 0x0000001Cu;
|
|
/* 02C5E4D4 */ _t42 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C5E4D4 */ _t43 = _t42 & 0x00000001u;
|
|
/* 02C5E4D4 */ if (_t43) goto L_02C5E4D8; else goto L_02C5E488;
|
|
L_02C5E4D8: ; // 0x2c5e4d8
|
|
/* 02C5E4D8 */ _t44 = cpu->r[29] + 0x00000000u;
|
|
/* 02C5E4D8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t44);
|
|
L_02C5E4DC: ; // 0x2c5e4dc
|
|
/* 02C5E4DC */ _t45 = cpu->r[9] + 0x00000000u;
|
|
/* 02C5E4DC */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t45);
|
|
/* 02C5E4E0 */ _t46 = cpu->r[31] + 0x0000000Cu;
|
|
/* 02C5E4E0 */ rbrew_write_f32(cpu->mem, _t46, cpu->f[0]);
|
|
L_02C5E4E4: ; // 0x2c5e4e4
|
|
/* 02C5E4E4 */ /* nop */
|
|
/* 02C5E4E8 */ _t47 = cpu->r[1] + 0x00000028u;
|
|
/* 02C5E4E8 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t47);
|
|
/* 02C5E4EC */ _t48 = cpu->r[1] + 0x00000020u;
|
|
/* 02C5E4EC */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t48);
|
|
/* 02C5E4F0 */ _t49 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C5E4F0 */ _t50 = _t49 & 0x00000001u;
|
|
/* 02C5E4F0 */ if (_t50) goto L_02C5E4F4; // else: addr-0 trap, fall-through
|
|
L_02C5E4F4: ; // 0x2c5e4f4
|
|
/* 02C5E4F4 */ _t51 = cpu->r[1] + 0x00000034u;
|
|
/* 02C5E4F4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t51);
|
|
/* 02C5E4F8 */ cpu->lr = cpu->r[0];
|
|
/* 02C5E4FC */ cpu->r[1] = cpu->r[1] + 0x00000030u;
|
|
/* 02C5E500 */ return;
|
|
}
|
|
|
|
// fn_02C5E504 @ 0x2c5e504
|
|
void Gambit_fn_02C5E504(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17;
|
|
|
|
L_02C5E504: ; // 0x2c5e504
|
|
/* 02C5E504 */ cpu->r[7] = (uint32_t)((int32_t)cpu->r[5] * (int32_t)0x0000001Cu);
|
|
/* 02C5E508 */ _t0 = cpu->r[3] + 0x00000048u;
|
|
/* 02C5E508 */ cpu->r[8] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02C5E50C */ _t1 = cpu->r[3] + 0x0000002Cu;
|
|
/* 02C5E50C */ cpu->r[10] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02C5E510 */ cpu->r[6] = cpu->r[8] + cpu->r[7];
|
|
/* 02C5E514 */ _t2 = cpu->r[6] + 0x00000008u;
|
|
/* 02C5E514 */ cpu->r[11] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02C5E518 */ _t3 = cpu->r[6] + 0x00000000u;
|
|
/* 02C5E518 */ cpu->r[9] = rbrew_read16(cpu->mem, _t3);
|
|
/* 02C5E51C */ cpu->r[0] = rbrew_rlwinm(cpu->r[11], 0x00000001u, 0x00000000u, 0x0000001Eu);
|
|
/* 02C5E520 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 02C5E524 */ cpu->r[12] = cpu->r[10] + cpu->r[0];
|
|
/* 02C5E528 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C5E528 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02C5E528 */ if (_t5) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02C5E528 */ goto L_02C5E52C;
|
|
L_02C5E52C: ; // 0x2c5e52c
|
|
/* 02C5E52C */ cpu->ctr = cpu->r[9];
|
|
L_02C5E530: ; // 0x2c5e530
|
|
/* 02C5E530 */ _t6 = cpu->r[3] + 0x00000058u;
|
|
/* 02C5E530 */ cpu->r[10] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02C5E534 */ _t7 = cpu->r[10] + cpu->r[11];
|
|
/* 02C5E534 */ cpu->r[6] = rbrew_read8(cpu->mem, _t7);
|
|
/* 02C5E538 */ /* nop */
|
|
/* 02C5E53C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0xFFFFFFFFu);
|
|
/* 02C5E540 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C5E540 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02C5E540 */ if (_t9) goto L_02C5E560; else goto L_02C5E544;
|
|
L_02C5E544: ; // 0x2c5e544
|
|
/* 02C5E544 */ _t10 = cpu->r[12] + 0x00000000u;
|
|
/* 02C5E544 */ cpu->r[7] = rbrew_read16(cpu->mem, _t10);
|
|
/* 02C5E548 */ _t11 = cpu->r[3] + 0x0000005Cu;
|
|
/* 02C5E548 */ cpu->r[8] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02C5E54C */ cpu->r[5] = rbrew_rlwinm(cpu->r[7], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02C5E550 */ _t12 = cpu->r[4] + 0x0000002Cu;
|
|
/* 02C5E550 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02C5E554 */ _t13 = cpu->r[5] + cpu->r[8];
|
|
/* 02C5E554 */ cpu->r[5] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02C5E558 */ cpu->r[10] = rbrew_rlwinm(cpu->r[6], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02C5E55C */ _t14 = cpu->r[10] + cpu->r[0];
|
|
/* 02C5E55C */ rbrew_write32(cpu->mem, _t14, cpu->r[5]);
|
|
L_02C5E560: ; // 0x2c5e560
|
|
/* 02C5E560 */ cpu->r[12] = cpu->r[12] + 0x00000002u;
|
|
/* 02C5E564 */ cpu->r[11] = cpu->r[11] + 0x00000001u;
|
|
/* 02C5E568 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02C5E568 */ _t15 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02C5E568 */ _t16 = _t15 >> (0x00000002u & 31u);
|
|
/* 02C5E568 */ _t17 = _t16 & 0x00000001u;
|
|
/* 02C5E568 */ if (_t17) goto L_02C5E530; else goto L_02C5E56C;
|
|
L_02C5E56C: ; // 0x2c5e56c
|
|
/* 02C5E56C */ return;
|
|
}
|
|
|
|
// fn_02C5E570 @ 0x2c5e570
|
|
void Gambit_fn_02C5E570(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12;
|
|
|
|
L_02C5E570: ; // 0x2c5e570
|
|
/* 02C5E570 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 02C5E570 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C5E570 */ cpu->r[1] = _t0;
|
|
/* 02C5E574 */ /* nop */
|
|
/* 02C5E578 */ cpu->r[0] = cpu->lr;
|
|
/* 02C5E57C */ _t1 = cpu->r[1] + 0x00000024u;
|
|
/* 02C5E57C */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02C5E580 */ _t2 = cpu->r[3] + 0x00000040u;
|
|
/* 02C5E580 */ cpu->r[28] = rbrew_read16(cpu->mem, _t2);
|
|
/* 02C5E584 */ cpu->r[31] = cpu->r[4];
|
|
/* 02C5E588 */ cpu->r[27] = cpu->r[3] + 0x00000038u;
|
|
/* 02C5E58C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 02C5E590 */ cpu->r[30] = 0x00000000u;
|
|
/* 02C5E594 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C5E594 */ _t4 = _t3 & 0x00000001u;
|
|
/* 02C5E594 */ if (_t4) goto L_02C5E5DC; else goto L_02C5E598;
|
|
L_02C5E598: ; // 0x2c5e598
|
|
/* 02C5E598 */ cpu->r[29] = 0x00000000u;
|
|
L_02C5E59C: ; // 0x2c5e59c
|
|
/* 02C5E59C */ _t5 = cpu->r[27] + 0x00000000u;
|
|
/* 02C5E59C */ cpu->r[10] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02C5E5A0 */ _t6 = cpu->r[10] + cpu->r[29];
|
|
/* 02C5E5A0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02C5E5A4 */ cpu->r[11] = rbrew_rlwinm(cpu->r[9], 0x00000001u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02C5E5A8 */ cpu->r[12] = cpu->r[11] ^ 0x00000001u;
|
|
/* 02C5E5AC */ cpu->r[0] = rbrew_rlwinm(cpu->r[12], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 02C5E5AC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C5E5B0 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C5E5B0 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02C5E5B0 */ if (_t8) goto L_02C5E5CC; else goto L_02C5E5B4;
|
|
L_02C5E5B4: ; // 0x2c5e5b4
|
|
/* 02C5E5B4 */ cpu->r[0] = rbrew_rlwinm(cpu->r[9], 0x00000000u, 0x00000011u, 0x0000001Fu);
|
|
/* 02C5E5B8 */ _t9 = cpu->r[31] + 0x00000020u;
|
|
/* 02C5E5B8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02C5E5BC */ cpu->r[0] = (uint32_t)((int32_t)cpu->r[0] * (int32_t)0x0000003Cu);
|
|
/* 02C5E5C0 */ cpu->r[5] = cpu->r[30];
|
|
/* 02C5E5C4 */ cpu->r[4] = cpu->r[8] + cpu->r[0];
|
|
/* 02C5E5C8 */ Gambit_fn_02C5E504(cpu);
|
|
L_02C5E5CC: ; // 0x2c5e5cc
|
|
/* 02C5E5CC */ cpu->r[28] = cpu->r[28] + 0xFFFFFFFFu;
|
|
/* 02C5E5CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 02C5E5D0 */ cpu->r[30] = cpu->r[30] + 0x00000001u;
|
|
/* 02C5E5D4 */ cpu->r[29] = cpu->r[29] + 0x00000004u;
|
|
/* 02C5E5D8 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C5E5D8 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02C5E5D8 */ if (_t11) goto L_02C5E5DC; else goto L_02C5E59C;
|
|
L_02C5E5DC: ; // 0x2c5e5dc
|
|
/* 02C5E5DC */ /* nop */
|
|
/* 02C5E5E0 */ _t12 = cpu->r[1] + 0x00000024u;
|
|
/* 02C5E5E0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02C5E5E4 */ cpu->lr = cpu->r[0];
|
|
/* 02C5E5E8 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02C5E5EC */ return;
|
|
}
|
|
|
|
// fn_02C5E5F0 @ 0x2c5e5f0
|
|
void Gambit_fn_02C5E5F0(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;
|
|
|
|
L_02C5E5F0: ; // 0x2c5e5f0
|
|
/* 02C5E5F0 */ cpu->r[0] = cpu->lr;
|
|
/* 02C5E5F4 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C5E5F4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C5E5F4 */ cpu->r[1] = _t0;
|
|
/* 02C5E5F8 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C5E5F8 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02C5E5FC */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02C5E5FC */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02C5E600 */ cpu->r[30] = cpu->r[3];
|
|
/* 02C5E604 */ cpu->r[31] = cpu->r[4];
|
|
/* 02C5E608 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02C5E608 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02C5E60C */ _t4 = cpu->r[30] + 0x00000044u;
|
|
/* 02C5E60C */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
|
|
/* 02C5E610 */ _t5 = cpu->r[31] + 0x0000002Cu;
|
|
/* 02C5E610 */ cpu->r[11] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02C5E614 */ cpu->r[0] = 0x00000000u;
|
|
/* 02C5E618 */ cpu->r[12] = cpu->r[31] + 0x0000002Cu;
|
|
/* 02C5E61C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02C5E620 */ _t6 = cpu->r[30] + 0x0000003Cu;
|
|
/* 02C5E620 */ cpu->r[8] = rbrew_read16(cpu->mem, _t6);
|
|
/* 02C5E624 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C5E624 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02C5E624 */ if (_t8) goto L_02C5E62C; else goto L_02C5E628;
|
|
L_02C5E628: ; // 0x2c5e628
|
|
/* 02C5E628 */ cpu->r[0] = cpu->r[12] + cpu->r[11];
|
|
L_02C5E62C: ; // 0x2c5e62c
|
|
/* 02C5E62C */ _t9 = cpu->r[30] + 0x00000048u;
|
|
/* 02C5E62C */ rbrew_write32(cpu->mem, _t9, cpu->r[0]);
|
|
/* 02C5E630 */ cpu->r[8] = rbrew_rlwinm(cpu->r[8], 0x00000000u, 0x00000010u, 0x0000001Eu);
|
|
/* 02C5E634 */ _t10 = cpu->r[30] + 0x0000003Cu;
|
|
/* 02C5E634 */ rbrew_write16(cpu->mem, _t10, (uint16_t)cpu->r[8]);
|
|
/* 02C5E638 */ _t11 = cpu->r[31] + 0x0000000Cu;
|
|
/* 02C5E638 */ cpu->r[0] = rbrew_read16(cpu->mem, _t11);
|
|
/* 02C5E63C */ cpu->r[5] = rbrew_rlwinm(cpu->r[0], 0x0000001Eu, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02C5E640 */ _t12 = cpu->r[31] + 0x00000010u;
|
|
/* 02C5E640 */ cpu->r[4] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02C5E644 */ cpu->r[3] = cpu->r[30];
|
|
/* 02C5E648 */ Gambit_fn_02C4F174(cpu);
|
|
/* 02C5E64C */ _t13 = cpu->r[31] + 0x00000016u;
|
|
/* 02C5E64C */ cpu->r[11] = rbrew_read16(cpu->mem, _t13);
|
|
/* 02C5E650 */ _t14 = cpu->r[30] + 0x00000040u;
|
|
/* 02C5E650 */ rbrew_write16(cpu->mem, _t14, (uint16_t)cpu->r[11]);
|
|
/* 02C5E654 */ _t15 = cpu->r[31] + 0x0000001Cu;
|
|
/* 02C5E654 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02C5E658 */ cpu->r[12] = 0x10230000u;
|
|
/* 02C5E65C */ _t16 = cpu->r[30] + 0x00000024u;
|
|
/* 02C5E65C */ rbrew_write32(cpu->mem, _t16, cpu->r[0]);
|
|
/* 02C5E660 */ _t17 = cpu->r[12] + 0xFFFFAB0Cu;
|
|
/* 02C5E660 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t17);
|
|
/* 02C5E664 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C5E668 */ _t18 = cpu->r[30] + 0x00000028u;
|
|
/* 02C5E668 */ rbrew_write_f32(cpu->mem, _t18, cpu->f[0]);
|
|
/* 02C5E66C */ _t19 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C5E66C */ _t20 = _t19 & 0x00000001u;
|
|
/* 02C5E66C */ if (_t20) goto L_02C5E670; else goto L_02C5E6A8;
|
|
L_02C5E670: ; // 0x2c5e670
|
|
/* 02C5E670 */ _t21 = cpu->r[30] + 0x00000020u;
|
|
/* 02C5E670 */ cpu->r[12] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02C5E674 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], cpu->r[12]);
|
|
/* 02C5E678 */ _t22 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C5E678 */ _t23 = _t22 & 0x00000001u;
|
|
/* 02C5E678 */ if (_t23) goto L_02C5E6A8; else goto L_02C5E67C;
|
|
L_02C5E67C: ; // 0x2c5e67c
|
|
/* 02C5E67C */ cpu->r[10] = 0x101B0000u;
|
|
/* 02C5E680 */ cpu->r[12] = 0x00000000u;
|
|
/* 02C5E684 */ _t24 = cpu->r[10] + 0xFFFFEFC0u;
|
|
/* 02C5E684 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t24);
|
|
/* 02C5E688 */ cpu->r[9] = cpu->r[12];
|
|
L_02C5E68C: ; // 0x2c5e68c
|
|
/* 02C5E68C */ _t25 = cpu->r[30] + 0x0000001Cu;
|
|
/* 02C5E68C */ cpu->r[8] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02C5E690 */ _t26 = cpu->r[8] + cpu->r[9];
|
|
/* 02C5E690 */ rbrew_write32(cpu->mem, _t26, cpu->r[0]);
|
|
/* 02C5E694 */ _t27 = cpu->r[30] + 0x00000024u;
|
|
/* 02C5E694 */ cpu->r[0] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02C5E698 */ cpu->r[12] = cpu->r[12] + 0x00000001u;
|
|
/* 02C5E69C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], cpu->r[0]);
|
|
/* 02C5E6A0 */ cpu->r[9] = cpu->r[9] + 0x0000000Cu;
|
|
/* 02C5E6A4 */ _t28 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C5E6A4 */ _t29 = _t28 & 0x00000001u;
|
|
/* 02C5E6A4 */ if (_t29) goto L_02C5E68C; else goto L_02C5E6A8;
|
|
L_02C5E6A8: ; // 0x2c5e6a8
|
|
/* 02C5E6A8 */ _t30 = cpu->r[30] + 0x00000044u;
|
|
/* 02C5E6A8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02C5E6AC */ _t31 = cpu->r[10] + 0x00000014u;
|
|
/* 02C5E6AC */ cpu->r[12] = rbrew_read16(cpu->mem, _t31);
|
|
/* 02C5E6B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02C5E6B4 */ _t32 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C5E6B4 */ _t33 = _t32 & 0x00000001u;
|
|
/* 02C5E6B4 */ if (_t33) goto L_02C5E72C; else goto L_02C5E6B8;
|
|
L_02C5E6B8: ; // 0x2c5e6b8
|
|
/* 02C5E6B8 */ cpu->r[6] = 0x00000000u;
|
|
/* 02C5E6BC */ cpu->r[7] = cpu->r[6];
|
|
L_02C5E6C0: ; // 0x2c5e6c0
|
|
/* 02C5E6C0 */ _t34 = cpu->r[10] + 0x00000030u;
|
|
/* 02C5E6C0 */ cpu->r[8] = rbrew_read32(cpu->mem, _t34);
|
|
/* 02C5E6C4 */ cpu->r[11] = 0x00000000u;
|
|
/* 02C5E6C8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 02C5E6CC */ cpu->r[9] = cpu->r[10] + 0x00000030u;
|
|
/* 02C5E6D0 */ _t35 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C5E6D0 */ _t36 = _t35 & 0x00000001u;
|
|
/* 02C5E6D0 */ if (_t36) goto L_02C5E6D8; else goto L_02C5E6D4;
|
|
L_02C5E6D4: ; // 0x2c5e6d4
|
|
/* 02C5E6D4 */ cpu->r[11] = cpu->r[9] + cpu->r[8];
|
|
L_02C5E6D8: ; // 0x2c5e6d8
|
|
/* 02C5E6D8 */ cpu->r[10] = cpu->r[11] + 0x00000008u;
|
|
/* 02C5E6DC */ cpu->r[11] = cpu->r[10] + cpu->r[7];
|
|
/* 02C5E6E0 */ _t37 = cpu->r[11] + 0x0000001Cu;
|
|
/* 02C5E6E0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t37);
|
|
/* 02C5E6E4 */ cpu->r[10] = 0x00000000u;
|
|
/* 02C5E6E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C5E6EC */ cpu->r[9] = cpu->r[11] + 0x0000001Cu;
|
|
/* 02C5E6F0 */ _t38 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C5E6F0 */ _t39 = _t38 & 0x00000001u;
|
|
/* 02C5E6F0 */ if (_t39) goto L_02C5E6F8; else goto L_02C5E6F4;
|
|
L_02C5E6F4: ; // 0x2c5e6f4
|
|
/* 02C5E6F4 */ cpu->r[10] = cpu->r[9] + cpu->r[0];
|
|
L_02C5E6F8: ; // 0x2c5e6f8
|
|
/* 02C5E6F8 */ _t40 = cpu->r[10] + 0x00000004u;
|
|
/* 02C5E6F8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t40);
|
|
/* 02C5E6F8 */ cpu->r[10] = _t40;
|
|
/* 02C5E6FC */ cpu->r[0] = 0x00000000u;
|
|
/* 02C5E700 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02C5E704 */ _t41 = cpu->r[30] + 0x0000005Cu;
|
|
/* 02C5E704 */ cpu->r[8] = rbrew_read32(cpu->mem, _t41);
|
|
/* 02C5E708 */ _t42 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C5E708 */ _t43 = _t42 & 0x00000001u;
|
|
/* 02C5E708 */ if (_t43) goto L_02C5E710; else goto L_02C5E70C;
|
|
L_02C5E70C: ; // 0x2c5e70c
|
|
/* 02C5E70C */ cpu->r[0] = cpu->r[10] + cpu->r[11];
|
|
L_02C5E710: ; // 0x2c5e710
|
|
/* 02C5E710 */ cpu->r[12] = cpu->r[12] + 0xFFFFFFFFu;
|
|
/* 02C5E710 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02C5E714 */ cpu->r[7] = cpu->r[7] + 0x00000010u;
|
|
/* 02C5E718 */ _t44 = cpu->r[8] + cpu->r[6];
|
|
/* 02C5E718 */ rbrew_write32(cpu->mem, _t44, cpu->r[0]);
|
|
/* 02C5E71C */ cpu->r[6] = cpu->r[6] + 0x00000004u;
|
|
/* 02C5E720 */ _t45 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C5E720 */ _t46 = _t45 & 0x00000001u;
|
|
/* 02C5E720 */ if (_t46) goto L_02C5E72C; else goto L_02C5E724;
|
|
L_02C5E724: ; // 0x2c5e724
|
|
/* 02C5E724 */ _t47 = cpu->r[30] + 0x00000044u;
|
|
/* 02C5E724 */ cpu->r[10] = rbrew_read32(cpu->mem, _t47);
|
|
/* 02C5E728 */ goto L_02C5E6C0;
|
|
L_02C5E72C: ; // 0x2c5e72c
|
|
/* 02C5E72C */ _t48 = cpu->r[1] + 0x00000014u;
|
|
/* 02C5E72C */ cpu->r[0] = rbrew_read32(cpu->mem, _t48);
|
|
/* 02C5E730 */ _t49 = cpu->r[1] + 0x00000008u;
|
|
/* 02C5E730 */ cpu->r[30] = rbrew_read32(cpu->mem, _t49);
|
|
/* 02C5E734 */ cpu->lr = cpu->r[0];
|
|
/* 02C5E738 */ _t50 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C5E738 */ cpu->r[31] = rbrew_read32(cpu->mem, _t50);
|
|
/* 02C5E73C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C5E740 */ return;
|
|
}
|
|
|
|
// fn_02C5E5F4 @ 0x2c5e5f4
|
|
void Gambit_fn_02C5E5F4(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;
|
|
|
|
L_02C5E5F4: ; // 0x2c5e5f4
|
|
/* 02C5E5F4 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C5E5F4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C5E5F4 */ cpu->r[1] = _t0;
|
|
/* 02C5E5F8 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C5E5F8 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02C5E5FC */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02C5E5FC */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02C5E600 */ cpu->r[30] = cpu->r[3];
|
|
/* 02C5E604 */ cpu->r[31] = cpu->r[4];
|
|
/* 02C5E608 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02C5E608 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02C5E60C */ _t4 = cpu->r[30] + 0x00000044u;
|
|
/* 02C5E60C */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
|
|
/* 02C5E610 */ _t5 = cpu->r[31] + 0x0000002Cu;
|
|
/* 02C5E610 */ cpu->r[11] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02C5E614 */ cpu->r[0] = 0x00000000u;
|
|
/* 02C5E618 */ cpu->r[12] = cpu->r[31] + 0x0000002Cu;
|
|
/* 02C5E61C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02C5E620 */ _t6 = cpu->r[30] + 0x0000003Cu;
|
|
/* 02C5E620 */ cpu->r[8] = rbrew_read16(cpu->mem, _t6);
|
|
/* 02C5E624 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C5E624 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02C5E624 */ if (_t8) goto L_02C5E62C; else goto L_02C5E628;
|
|
L_02C5E628: ; // 0x2c5e628
|
|
/* 02C5E628 */ cpu->r[0] = cpu->r[12] + cpu->r[11];
|
|
L_02C5E62C: ; // 0x2c5e62c
|
|
/* 02C5E62C */ _t9 = cpu->r[30] + 0x00000048u;
|
|
/* 02C5E62C */ rbrew_write32(cpu->mem, _t9, cpu->r[0]);
|
|
/* 02C5E630 */ cpu->r[8] = rbrew_rlwinm(cpu->r[8], 0x00000000u, 0x00000010u, 0x0000001Eu);
|
|
/* 02C5E634 */ _t10 = cpu->r[30] + 0x0000003Cu;
|
|
/* 02C5E634 */ rbrew_write16(cpu->mem, _t10, (uint16_t)cpu->r[8]);
|
|
/* 02C5E638 */ _t11 = cpu->r[31] + 0x0000000Cu;
|
|
/* 02C5E638 */ cpu->r[0] = rbrew_read16(cpu->mem, _t11);
|
|
/* 02C5E63C */ cpu->r[5] = rbrew_rlwinm(cpu->r[0], 0x0000001Eu, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02C5E640 */ _t12 = cpu->r[31] + 0x00000010u;
|
|
/* 02C5E640 */ cpu->r[4] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02C5E644 */ cpu->r[3] = cpu->r[30];
|
|
/* 02C5E648 */ Gambit_fn_02C4F174(cpu);
|
|
/* 02C5E64C */ _t13 = cpu->r[31] + 0x00000016u;
|
|
/* 02C5E64C */ cpu->r[11] = rbrew_read16(cpu->mem, _t13);
|
|
/* 02C5E650 */ _t14 = cpu->r[30] + 0x00000040u;
|
|
/* 02C5E650 */ rbrew_write16(cpu->mem, _t14, (uint16_t)cpu->r[11]);
|
|
/* 02C5E654 */ _t15 = cpu->r[31] + 0x0000001Cu;
|
|
/* 02C5E654 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02C5E658 */ cpu->r[12] = 0x10230000u;
|
|
/* 02C5E65C */ _t16 = cpu->r[30] + 0x00000024u;
|
|
/* 02C5E65C */ rbrew_write32(cpu->mem, _t16, cpu->r[0]);
|
|
/* 02C5E660 */ _t17 = cpu->r[12] + 0xFFFFAB0Cu;
|
|
/* 02C5E660 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t17);
|
|
/* 02C5E664 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C5E668 */ _t18 = cpu->r[30] + 0x00000028u;
|
|
/* 02C5E668 */ rbrew_write_f32(cpu->mem, _t18, cpu->f[0]);
|
|
/* 02C5E66C */ _t19 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C5E66C */ _t20 = _t19 & 0x00000001u;
|
|
/* 02C5E66C */ if (_t20) goto L_02C5E670; else goto L_02C5E6A8;
|
|
L_02C5E670: ; // 0x2c5e670
|
|
/* 02C5E670 */ _t21 = cpu->r[30] + 0x00000020u;
|
|
/* 02C5E670 */ cpu->r[12] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02C5E674 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], cpu->r[12]);
|
|
/* 02C5E678 */ _t22 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C5E678 */ _t23 = _t22 & 0x00000001u;
|
|
/* 02C5E678 */ if (_t23) goto L_02C5E6A8; else goto L_02C5E67C;
|
|
L_02C5E67C: ; // 0x2c5e67c
|
|
/* 02C5E67C */ cpu->r[10] = 0x101B0000u;
|
|
/* 02C5E680 */ cpu->r[12] = 0x00000000u;
|
|
/* 02C5E684 */ _t24 = cpu->r[10] + 0xFFFFEFC0u;
|
|
/* 02C5E684 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t24);
|
|
/* 02C5E688 */ cpu->r[9] = cpu->r[12];
|
|
L_02C5E68C: ; // 0x2c5e68c
|
|
/* 02C5E68C */ _t25 = cpu->r[30] + 0x0000001Cu;
|
|
/* 02C5E68C */ cpu->r[8] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02C5E690 */ _t26 = cpu->r[8] + cpu->r[9];
|
|
/* 02C5E690 */ rbrew_write32(cpu->mem, _t26, cpu->r[0]);
|
|
/* 02C5E694 */ _t27 = cpu->r[30] + 0x00000024u;
|
|
/* 02C5E694 */ cpu->r[0] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02C5E698 */ cpu->r[12] = cpu->r[12] + 0x00000001u;
|
|
/* 02C5E69C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], cpu->r[0]);
|
|
/* 02C5E6A0 */ cpu->r[9] = cpu->r[9] + 0x0000000Cu;
|
|
/* 02C5E6A4 */ _t28 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C5E6A4 */ _t29 = _t28 & 0x00000001u;
|
|
/* 02C5E6A4 */ if (_t29) goto L_02C5E68C; else goto L_02C5E6A8;
|
|
L_02C5E6A8: ; // 0x2c5e6a8
|
|
/* 02C5E6A8 */ _t30 = cpu->r[30] + 0x00000044u;
|
|
/* 02C5E6A8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02C5E6AC */ _t31 = cpu->r[10] + 0x00000014u;
|
|
/* 02C5E6AC */ cpu->r[12] = rbrew_read16(cpu->mem, _t31);
|
|
/* 02C5E6B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02C5E6B4 */ _t32 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C5E6B4 */ _t33 = _t32 & 0x00000001u;
|
|
/* 02C5E6B4 */ if (_t33) goto L_02C5E72C; else goto L_02C5E6B8;
|
|
L_02C5E6B8: ; // 0x2c5e6b8
|
|
/* 02C5E6B8 */ cpu->r[6] = 0x00000000u;
|
|
/* 02C5E6BC */ cpu->r[7] = cpu->r[6];
|
|
L_02C5E6C0: ; // 0x2c5e6c0
|
|
/* 02C5E6C0 */ _t34 = cpu->r[10] + 0x00000030u;
|
|
/* 02C5E6C0 */ cpu->r[8] = rbrew_read32(cpu->mem, _t34);
|
|
/* 02C5E6C4 */ cpu->r[11] = 0x00000000u;
|
|
/* 02C5E6C8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 02C5E6CC */ cpu->r[9] = cpu->r[10] + 0x00000030u;
|
|
/* 02C5E6D0 */ _t35 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C5E6D0 */ _t36 = _t35 & 0x00000001u;
|
|
/* 02C5E6D0 */ if (_t36) goto L_02C5E6D8; else goto L_02C5E6D4;
|
|
L_02C5E6D4: ; // 0x2c5e6d4
|
|
/* 02C5E6D4 */ cpu->r[11] = cpu->r[9] + cpu->r[8];
|
|
L_02C5E6D8: ; // 0x2c5e6d8
|
|
/* 02C5E6D8 */ cpu->r[10] = cpu->r[11] + 0x00000008u;
|
|
/* 02C5E6DC */ cpu->r[11] = cpu->r[10] + cpu->r[7];
|
|
/* 02C5E6E0 */ _t37 = cpu->r[11] + 0x0000001Cu;
|
|
/* 02C5E6E0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t37);
|
|
/* 02C5E6E4 */ cpu->r[10] = 0x00000000u;
|
|
/* 02C5E6E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C5E6EC */ cpu->r[9] = cpu->r[11] + 0x0000001Cu;
|
|
/* 02C5E6F0 */ _t38 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C5E6F0 */ _t39 = _t38 & 0x00000001u;
|
|
/* 02C5E6F0 */ if (_t39) goto L_02C5E6F8; else goto L_02C5E6F4;
|
|
L_02C5E6F4: ; // 0x2c5e6f4
|
|
/* 02C5E6F4 */ cpu->r[10] = cpu->r[9] + cpu->r[0];
|
|
L_02C5E6F8: ; // 0x2c5e6f8
|
|
/* 02C5E6F8 */ _t40 = cpu->r[10] + 0x00000004u;
|
|
/* 02C5E6F8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t40);
|
|
/* 02C5E6F8 */ cpu->r[10] = _t40;
|
|
/* 02C5E6FC */ cpu->r[0] = 0x00000000u;
|
|
/* 02C5E700 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02C5E704 */ _t41 = cpu->r[30] + 0x0000005Cu;
|
|
/* 02C5E704 */ cpu->r[8] = rbrew_read32(cpu->mem, _t41);
|
|
/* 02C5E708 */ _t42 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C5E708 */ _t43 = _t42 & 0x00000001u;
|
|
/* 02C5E708 */ if (_t43) goto L_02C5E710; else goto L_02C5E70C;
|
|
L_02C5E70C: ; // 0x2c5e70c
|
|
/* 02C5E70C */ cpu->r[0] = cpu->r[10] + cpu->r[11];
|
|
L_02C5E710: ; // 0x2c5e710
|
|
/* 02C5E710 */ cpu->r[12] = cpu->r[12] + 0xFFFFFFFFu;
|
|
/* 02C5E710 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02C5E714 */ cpu->r[7] = cpu->r[7] + 0x00000010u;
|
|
/* 02C5E718 */ _t44 = cpu->r[8] + cpu->r[6];
|
|
/* 02C5E718 */ rbrew_write32(cpu->mem, _t44, cpu->r[0]);
|
|
/* 02C5E71C */ cpu->r[6] = cpu->r[6] + 0x00000004u;
|
|
/* 02C5E720 */ _t45 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C5E720 */ _t46 = _t45 & 0x00000001u;
|
|
/* 02C5E720 */ if (_t46) goto L_02C5E72C; else goto L_02C5E724;
|
|
L_02C5E724: ; // 0x2c5e724
|
|
/* 02C5E724 */ _t47 = cpu->r[30] + 0x00000044u;
|
|
/* 02C5E724 */ cpu->r[10] = rbrew_read32(cpu->mem, _t47);
|
|
/* 02C5E728 */ goto L_02C5E6C0;
|
|
L_02C5E72C: ; // 0x2c5e72c
|
|
/* 02C5E72C */ _t48 = cpu->r[1] + 0x00000014u;
|
|
/* 02C5E72C */ cpu->r[0] = rbrew_read32(cpu->mem, _t48);
|
|
/* 02C5E730 */ _t49 = cpu->r[1] + 0x00000008u;
|
|
/* 02C5E730 */ cpu->r[30] = rbrew_read32(cpu->mem, _t49);
|
|
/* 02C5E734 */ cpu->lr = cpu->r[0];
|
|
/* 02C5E738 */ _t50 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C5E738 */ cpu->r[31] = rbrew_read32(cpu->mem, _t50);
|
|
/* 02C5E73C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C5E740 */ return;
|
|
}
|
|
|
|
// fn_02C5E744 @ 0x2c5e744
|
|
void Gambit_fn_02C5E744(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_02801B30: ; // 0x2801b30
|
|
/* 02801B30 */ cpu->r[0] = cpu->lr;
|
|
/* 02801B34 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02801B34 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02801B34 */ cpu->r[1] = _t0;
|
|
/* 02801B38 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B38 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02801B3C */ cpu->r[31] = cpu->r[3];
|
|
/* 02801B40 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02801B44 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B44 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02801B48 */ _t3 = cpu->r[3] + 0xFFFF98F0u;
|
|
/* 02801B48 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02801B4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B50 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B50 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02801B50 */ if (_t5) goto L_02801B54; else goto L_02801B70;
|
|
L_02801B54: ; // 0x2801b54
|
|
/* 02801B54 */ cpu->r[3] = cpu->r[31];
|
|
/* 02801B58 */ Gambit_fn_02801B20(cpu);
|
|
/* 02801B5C */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02801B60 */ _t7 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B60 */ cpu->r[31] = rbrew_read32(cpu->mem, _t7);
|
|
/* 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 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B74 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02801B74 */ if (_t9) 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 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B84 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02801B84 */ if (_t11) goto L_02801B9C; else goto L_02801B88;
|
|
L_02801B88: ; // 0x2801b88
|
|
/* 02801B88 */ _t12 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02801B88 */ cpu->r[12] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02801B8C */ _t13 = cpu->r[12] + 0x0000003Cu;
|
|
/* 02801B8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02801B90 */ cpu->ctr = cpu->r[0];
|
|
/* 02801B94 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B98 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02801B9C: ; // 0x2801b9c
|
|
/* 02801B9C */ _t14 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02801BA0 */ _t15 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801BA0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02801BA4 */ cpu->lr = cpu->r[0];
|
|
/* 02801BA8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801BAC */ return;
|
|
L_02801BB0: ; // 0x2801bb0
|
|
/* 02801BB0 */ goto L_02801B30;
|
|
L_02C5E744: ; // 0x2c5e744
|
|
/* 02C5E744 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C5E748 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C5E748 */ _t17 = _t16 & 0x00000001u;
|
|
/* 02C5E748 */ if (_t17) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02C5E748 */ goto L_02C5E74C;
|
|
L_02C5E74C: ; // 0x2c5e74c
|
|
/* 02C5E74C */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02C5E74C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C5E750 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C5E750 */ _t19 = _t18 & 0x00000001u;
|
|
/* 02C5E750 */ if (_t19) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02C5E750 */ goto L_02C5E754;
|
|
L_02C5E754: ; // 0x2c5e754
|
|
/* 02C5E754 */ goto L_02801BB0;
|
|
}
|
|
|
|
// fn_02C5E758 @ 0x2c5e758
|
|
void Gambit_fn_02C5E758(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;
|
|
|
|
L_02C5E758: ; // 0x2c5e758
|
|
/* 02C5E758 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02C5E758 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C5E758 */ cpu->r[1] = _t0;
|
|
/* 02C5E75C */ _t1 = cpu->r[4] + 0x00000008u;
|
|
/* 02C5E75C */ cpu->r[10] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02C5E760 */ cpu->r[0] = 0x00000000u;
|
|
/* 02C5E764 */ _t2 = cpu->r[4] + 0x0000000Cu;
|
|
/* 02C5E764 */ cpu->r[7] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02C5E768 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02C5E76C */ cpu->r[12] = cpu->r[0];
|
|
/* 02C5E770 */ _t3 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C5E770 */ _t4 = _t3 & 0x00000001u;
|
|
/* 02C5E770 */ if (_t4) goto L_02C5E788; else goto L_02C5E774;
|
|
L_02C5E774: ; // 0x2c5e774
|
|
/* 02C5E774 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C5E774 */ rbrew_write32(cpu->mem, _t5, cpu->r[12]);
|
|
/* 02C5E778 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 02C5E77C */ _t6 = cpu->r[1] + 0x00000008u;
|
|
/* 02C5E77C */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02C5E780 */ _t7 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C5E780 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02C5E780 */ if (_t8) goto L_02C5E784; else goto L_02C5E7DC;
|
|
L_02C5E784: ; // 0x2c5e784
|
|
/* 02C5E784 */ goto L_02C5E7A0;
|
|
L_02C5E788: ; // 0x2c5e788
|
|
/* 02C5E788 */ _t9 = cpu->r[4] + 0x00000000u;
|
|
/* 02C5E788 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02C5E78C */ cpu->r[12] = cpu->r[10];
|
|
/* 02C5E790 */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C5E790 */ rbrew_write32(cpu->mem, _t10, cpu->r[12]);
|
|
/* 02C5E794 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 02C5E798 */ _t11 = cpu->r[1] + 0x00000008u;
|
|
/* 02C5E798 */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
|
|
/* 02C5E79C */ _t12 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C5E79C */ _t13 = _t12 & 0x00000001u;
|
|
/* 02C5E79C */ if (_t13) goto L_02C5E7A0; else goto L_02C5E7DC;
|
|
L_02C5E7A0: ; // 0x2c5e7a0
|
|
/* 02C5E7A0 */ _t14 = cpu->r[4] + 0x00000004u;
|
|
/* 02C5E7A0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02C5E7A4 */ cpu->r[8] = cpu->r[1] + 0x00000010u;
|
|
/* 02C5E7A8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], cpu->r[11]);
|
|
/* 02C5E7AC */ _t15 = cpu->r[1] + 0x00000010u;
|
|
/* 02C5E7AC */ rbrew_write32(cpu->mem, _t15, cpu->r[11]);
|
|
/* 02C5E7B0 */ _t16 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C5E7B0 */ _t17 = _t16 & 0x00000001u;
|
|
/* 02C5E7B0 */ if (_t17) goto L_02C5E7B8; else goto L_02C5E7B4;
|
|
L_02C5E7B4: ; // 0x2c5e7b4
|
|
/* 02C5E7B4 */ cpu->r[8] = cpu->r[1] + 0x00000008u;
|
|
L_02C5E7B8: ; // 0x2c5e7b8
|
|
/* 02C5E7B8 */ _t18 = cpu->r[8] + 0x00000000u;
|
|
/* 02C5E7B8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02C5E7BC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], cpu->r[7]);
|
|
/* 02C5E7C0 */ _t19 = cpu->r[1] + 0x00000010u;
|
|
/* 02C5E7C0 */ rbrew_write32(cpu->mem, _t19, cpu->r[7]);
|
|
/* 02C5E7C4 */ cpu->r[9] = cpu->r[1] + 0x00000010u;
|
|
/* 02C5E7C8 */ _t20 = cpu->r[1] + 0x00000008u;
|
|
/* 02C5E7C8 */ rbrew_write32(cpu->mem, _t20, cpu->r[0]);
|
|
/* 02C5E7CC */ _t21 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C5E7CC */ _t22 = _t21 & 0x00000001u;
|
|
/* 02C5E7CC */ if (_t22) goto L_02C5E7D4; else goto L_02C5E7D0;
|
|
L_02C5E7D0: ; // 0x2c5e7d0
|
|
/* 02C5E7D0 */ cpu->r[9] = cpu->r[1] + 0x0000000Cu;
|
|
L_02C5E7D4: ; // 0x2c5e7d4
|
|
/* 02C5E7D4 */ _t23 = cpu->r[9] + 0x00000000u;
|
|
/* 02C5E7D4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02C5E7D8 */ _t24 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C5E7D8 */ rbrew_write32(cpu->mem, _t24, cpu->r[12]);
|
|
L_02C5E7DC: ; // 0x2c5e7dc
|
|
/* 02C5E7DC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], cpu->r[12]);
|
|
/* 02C5E7E0 */ cpu->r[11] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C5E7E4 */ _t25 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C5E7E4 */ _t26 = _t25 & 0x00000001u;
|
|
/* 02C5E7E4 */ if (_t26) goto L_02C5E7EC; else goto L_02C5E7E8;
|
|
L_02C5E7E8: ; // 0x2c5e7e8
|
|
/* 02C5E7E8 */ cpu->r[11] = cpu->r[1] + 0x00000008u;
|
|
L_02C5E7EC: ; // 0x2c5e7ec
|
|
/* 02C5E7EC */ cpu->r[0] = cpu->r[12] + 0x0000001Fu;
|
|
/* 02C5E7F0 */ _t27 = cpu->r[11] + 0x00000000u;
|
|
/* 02C5E7F0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02C5E7F4 */ cpu->r[7] = rbrew_rlwinm(cpu->r[0], 0x0000001Du, 0x00000003u, 0x0000001Du);
|
|
/* 02C5E7F8 */ _t28 = cpu->r[4] + 0x00000010u;
|
|
/* 02C5E7F8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02C5E7FC */ cpu->r[12] = rbrew_rlwinm(cpu->r[9], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02C5E800 */ _t29 = cpu->r[3] + 0x00000008u;
|
|
/* 02C5E800 */ rbrew_write32(cpu->mem, _t29, cpu->r[7]);
|
|
/* 02C5E804 */ _t30 = cpu->r[3] + 0x00000010u;
|
|
/* 02C5E804 */ rbrew_write32(cpu->mem, _t30, cpu->r[12]);
|
|
/* 02C5E808 */ _t31 = cpu->r[4] + 0x00000015u;
|
|
/* 02C5E808 */ cpu->r[0] = rbrew_read8(cpu->mem, _t31);
|
|
/* 02C5E80C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C5E810 */ cpu->r[11] = cpu->r[3] + 0x00000008u;
|
|
/* 02C5E814 */ _t32 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C5E814 */ _t33 = _t32 & 0x00000001u;
|
|
/* 02C5E814 */ if (_t33) goto L_02C5E84C; else goto L_02C5E818;
|
|
L_02C5E818: ; // 0x2c5e818
|
|
/* 02C5E818 */ _t34 = cpu->r[4] + 0x00000014u;
|
|
/* 02C5E818 */ cpu->r[6] = rbrew_read8(cpu->mem, _t34);
|
|
/* 02C5E81C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u);
|
|
/* 02C5E820 */ _t35 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C5E820 */ _t36 = _t35 & 0x00000001u;
|
|
/* 02C5E820 */ if (_t36) goto L_02C5E84C; else goto L_02C5E824;
|
|
L_02C5E824: ; // 0x2c5e824
|
|
/* 02C5E824 */ cpu->r[6] = (uint32_t)((int32_t)cpu->r[10] * (int32_t)0x0000000Cu);
|
|
/* 02C5E828 */ cpu->r[8] = 0x00000000u;
|
|
/* 02C5E82C */ _t37 = cpu->r[11] + 0x00000004u;
|
|
/* 02C5E82C */ rbrew_write32(cpu->mem, _t37, cpu->r[8]);
|
|
/* 02C5E830 */ cpu->r[10] = cpu->r[11] + 0xFFFFFFF8u;
|
|
/* 02C5E834 */ cpu->r[7] = cpu->r[6] + 0x00000003u;
|
|
/* 02C5E838 */ cpu->r[8] = 0x00000002u;
|
|
/* 02C5E83C */ cpu->r[6] = rbrew_rlwinm(cpu->r[7], 0x00000000u, 0x00000000u, 0x0000001Du);
|
|
/* 02C5E840 */ cpu->ctr = cpu->r[8];
|
|
/* 02C5E844 */ _t38 = cpu->r[11] + 0x00000010u;
|
|
/* 02C5E844 */ rbrew_write32(cpu->mem, _t38, cpu->r[6]);
|
|
/* 02C5E848 */ goto L_02C5E864;
|
|
L_02C5E84C: ; // 0x2c5e84c
|
|
/* 02C5E84C */ cpu->r[6] = 0x00000000u;
|
|
/* 02C5E850 */ cpu->r[8] = 0x00000002u;
|
|
/* 02C5E854 */ cpu->r[10] = cpu->r[11] + 0xFFFFFFF8u;
|
|
/* 02C5E858 */ _t39 = cpu->r[11] + 0x00000004u;
|
|
/* 02C5E858 */ rbrew_write32(cpu->mem, _t39, cpu->r[6]);
|
|
/* 02C5E85C */ cpu->ctr = cpu->r[8];
|
|
/* 02C5E860 */ _t40 = cpu->r[11] + 0x00000010u;
|
|
/* 02C5E860 */ rbrew_write32(cpu->mem, _t40, cpu->r[6]);
|
|
L_02C5E864: ; // 0x2c5e864
|
|
/* 02C5E864 */ _t41 = cpu->r[10] + 0x0000000Cu;
|
|
/* 02C5E864 */ cpu->r[12] = rbrew_read32(cpu->mem, _t41);
|
|
/* 02C5E868 */ _t42 = cpu->r[10] + 0x00000008u;
|
|
/* 02C5E868 */ cpu->r[0] = rbrew_read32(cpu->mem, _t42);
|
|
/* 02C5E868 */ cpu->r[10] = _t42;
|
|
/* 02C5E86C */ cpu->r[9] = cpu->r[12] + cpu->r[0];
|
|
/* 02C5E870 */ _t43 = cpu->r[10] + 0x0000000Cu;
|
|
/* 02C5E870 */ rbrew_write32(cpu->mem, _t43, cpu->r[9]);
|
|
/* 02C5E874 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02C5E874 */ _t44 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02C5E874 */ _t45 = _t44 >> (0x00000002u & 31u);
|
|
/* 02C5E874 */ _t46 = _t45 & 0x00000001u;
|
|
/* 02C5E874 */ if (_t46) goto L_02C5E864; else goto L_02C5E878;
|
|
L_02C5E878: ; // 0x2c5e878
|
|
/* 02C5E878 */ cpu->r[0] = rbrew_rlwinm(cpu->r[8], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 02C5E87C */ cpu->r[6] = cpu->r[11] + cpu->r[0];
|
|
/* 02C5E880 */ _t47 = cpu->r[11] + cpu->r[0];
|
|
/* 02C5E880 */ cpu->r[9] = rbrew_read32(cpu->mem, _t47);
|
|
/* 02C5E884 */ _t48 = cpu->r[6] + 0x00000004u;
|
|
/* 02C5E884 */ cpu->r[8] = rbrew_read32(cpu->mem, _t48);
|
|
/* 02C5E888 */ _t49 = cpu->r[3] + 0x00000000u;
|
|
/* 02C5E888 */ rbrew_write32(cpu->mem, _t49, cpu->r[11]);
|
|
/* 02C5E88C */ cpu->r[7] = cpu->r[8] + cpu->r[9];
|
|
/* 02C5E890 */ _t50 = cpu->r[3] + 0x00000004u;
|
|
/* 02C5E890 */ rbrew_write32(cpu->mem, _t50, cpu->r[7]);
|
|
/* 02C5E894 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C5E898 */ return;
|
|
}
|
|
|
|
// fn_02C5E89C @ 0x2c5e89c
|
|
void Gambit_fn_02C5E89C(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;
|
|
|
|
L_02C5E89C: ; // 0x2c5e89c
|
|
/* 02C5E89C */ _t0 = cpu->r[1] + 0xFFFFFFD8u;
|
|
/* 02C5E89C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C5E89C */ cpu->r[1] = _t0;
|
|
/* 02C5E8A0 */ /* nop */
|
|
/* 02C5E8A4 */ cpu->r[0] = cpu->lr;
|
|
/* 02C5E8A8 */ _t1 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02C5E8A8 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02C5E8AC */ cpu->r[29] = cpu->r[4];
|
|
/* 02C5E8B0 */ cpu->r[31] = cpu->r[5];
|
|
/* 02C5E8B4 */ _t2 = cpu->r[29] + 0x00000018u;
|
|
/* 02C5E8B4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02C5E8B8 */ cpu->r[30] = cpu->r[3];
|
|
/* 02C5E8BC */ cpu->r[5] = cpu->r[6];
|
|
/* 02C5E8C0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C5E8C4 */ cpu->r[28] = cpu->r[29] + 0x00000018u;
|
|
/* 02C5E8C8 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C5E8C8 */ _t4 = _t3 & 0x00000001u;
|
|
/* 02C5E8C8 */ if (_t4) goto L_02C5E8CC; else goto L_02C5E8D8;
|
|
L_02C5E8CC: ; // 0x2c5e8cc
|
|
/* 02C5E8CC */ cpu->r[3] = cpu->r[28];
|
|
/* 02C5E8D0 */ cpu->r[4] = cpu->r[29];
|
|
/* 02C5E8D4 */ Gambit_fn_02C5E758(cpu);
|
|
L_02C5E8D8: ; // 0x2c5e8d8
|
|
/* 02C5E8D8 */ _t5 = cpu->r[28] + 0x00000004u;
|
|
/* 02C5E8D8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02C5E8DC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[5]);
|
|
/* 02C5E8E0 */ _t6 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C5E8E0 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02C5E8E0 */ if (_t7) goto L_02C5E8E4; else goto L_02C5E8FC;
|
|
L_02C5E8E4: ; // 0x2c5e8e4
|
|
/* 02C5E8E4 */ /* nop */
|
|
/* 02C5E8E8 */ _t8 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02C5E8E8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C5E8EC */ cpu->lr = cpu->r[0];
|
|
/* 02C5E8F0 */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 02C5E8F4 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C5E8F8 */ return;
|
|
L_02C5E8FC: ; // 0x2c5e8fc
|
|
/* 02C5E8FC */ cpu->r[12] = 0x00000000u;
|
|
/* 02C5E900 */ _t9 = cpu->r[29] + 0x00000008u;
|
|
/* 02C5E900 */ cpu->r[10] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02C5E904 */ cpu->r[11] = cpu->r[12];
|
|
/* 02C5E908 */ cpu->r[0] = cpu->r[12];
|
|
/* 02C5E90C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02C5E910 */ _t10 = cpu->r[29] + 0x0000000Cu;
|
|
/* 02C5E910 */ cpu->r[9] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02C5E914 */ _t11 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C5E914 */ _t12 = _t11 & 0x00000001u;
|
|
/* 02C5E914 */ if (_t12) goto L_02C5E92C; else goto L_02C5E918;
|
|
L_02C5E918: ; // 0x2c5e918
|
|
/* 02C5E918 */ _t13 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C5E918 */ rbrew_write32(cpu->mem, _t13, cpu->r[0]);
|
|
/* 02C5E91C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 02C5E920 */ _t14 = cpu->r[1] + 0x00000008u;
|
|
/* 02C5E920 */ rbrew_write32(cpu->mem, _t14, cpu->r[11]);
|
|
/* 02C5E924 */ _t15 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C5E924 */ _t16 = _t15 & 0x00000001u;
|
|
/* 02C5E924 */ if (_t16) goto L_02C5E928; else goto L_02C5E980;
|
|
L_02C5E928: ; // 0x2c5e928
|
|
/* 02C5E928 */ goto L_02C5E944;
|
|
L_02C5E92C: ; // 0x2c5e92c
|
|
/* 02C5E92C */ _t17 = cpu->r[29] + 0x00000000u;
|
|
/* 02C5E92C */ cpu->r[12] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02C5E930 */ cpu->r[11] = cpu->r[10];
|
|
/* 02C5E934 */ _t18 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C5E934 */ rbrew_write32(cpu->mem, _t18, cpu->r[11]);
|
|
/* 02C5E938 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 02C5E93C */ _t19 = cpu->r[1] + 0x00000008u;
|
|
/* 02C5E93C */ rbrew_write32(cpu->mem, _t19, cpu->r[12]);
|
|
/* 02C5E940 */ _t20 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C5E940 */ _t21 = _t20 & 0x00000001u;
|
|
/* 02C5E940 */ if (_t21) goto L_02C5E944; else goto L_02C5E980;
|
|
L_02C5E944: ; // 0x2c5e944
|
|
/* 02C5E944 */ _t22 = cpu->r[29] + 0x00000004u;
|
|
/* 02C5E944 */ cpu->r[8] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02C5E948 */ cpu->r[6] = cpu->r[1] + 0x00000010u;
|
|
/* 02C5E94C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], cpu->r[8]);
|
|
/* 02C5E950 */ _t23 = cpu->r[1] + 0x00000010u;
|
|
/* 02C5E950 */ rbrew_write32(cpu->mem, _t23, cpu->r[8]);
|
|
/* 02C5E954 */ _t24 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C5E954 */ _t25 = _t24 & 0x00000001u;
|
|
/* 02C5E954 */ if (_t25) goto L_02C5E95C; else goto L_02C5E958;
|
|
L_02C5E958: ; // 0x2c5e958
|
|
/* 02C5E958 */ cpu->r[6] = cpu->r[1] + 0x00000008u;
|
|
L_02C5E95C: ; // 0x2c5e95c
|
|
/* 02C5E95C */ _t26 = cpu->r[6] + 0x00000000u;
|
|
/* 02C5E95C */ cpu->r[12] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02C5E960 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], cpu->r[9]);
|
|
/* 02C5E964 */ _t27 = cpu->r[1] + 0x00000010u;
|
|
/* 02C5E964 */ rbrew_write32(cpu->mem, _t27, cpu->r[9]);
|
|
/* 02C5E968 */ cpu->r[7] = cpu->r[1] + 0x00000010u;
|
|
/* 02C5E96C */ _t28 = cpu->r[1] + 0x00000008u;
|
|
/* 02C5E96C */ rbrew_write32(cpu->mem, _t28, cpu->r[12]);
|
|
/* 02C5E970 */ _t29 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C5E970 */ _t30 = _t29 & 0x00000001u;
|
|
/* 02C5E970 */ if (_t30) goto L_02C5E978; else goto L_02C5E974;
|
|
L_02C5E974: ; // 0x2c5e974
|
|
/* 02C5E974 */ cpu->r[7] = cpu->r[1] + 0x0000000Cu;
|
|
L_02C5E978: ; // 0x2c5e978
|
|
/* 02C5E978 */ _t31 = cpu->r[7] + 0x00000000u;
|
|
/* 02C5E978 */ cpu->r[11] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02C5E97C */ _t32 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C5E97C */ rbrew_write32(cpu->mem, _t32, cpu->r[11]);
|
|
L_02C5E980: ; // 0x2c5e980
|
|
/* 02C5E980 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], cpu->r[11]);
|
|
/* 02C5E984 */ cpu->r[9] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C5E988 */ _t33 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C5E988 */ _t34 = _t33 & 0x00000001u;
|
|
/* 02C5E988 */ if (_t34) goto L_02C5E990; else goto L_02C5E98C;
|
|
L_02C5E98C: ; // 0x2c5e98c
|
|
/* 02C5E98C */ cpu->r[9] = cpu->r[1] + 0x00000008u;
|
|
L_02C5E990: ; // 0x2c5e990
|
|
/* 02C5E990 */ _t35 = cpu->r[9] + 0x00000000u;
|
|
/* 02C5E990 */ cpu->r[5] = rbrew_read32(cpu->mem, _t35);
|
|
/* 02C5E994 */ cpu->r[0] = 0x00000000u;
|
|
/* 02C5E998 */ _t36 = cpu->r[29] + 0x00000010u;
|
|
/* 02C5E998 */ cpu->r[27] = rbrew_read32(cpu->mem, _t36);
|
|
/* 02C5E99C */ _t37 = cpu->r[30] + 0x00000044u;
|
|
/* 02C5E99C */ rbrew_write32(cpu->mem, _t37, cpu->r[0]);
|
|
/* 02C5E9A0 */ _t38 = cpu->r[30] + 0x00000030u;
|
|
/* 02C5E9A0 */ rbrew_write32(cpu->mem, _t38, cpu->r[31]);
|
|
/* 02C5E9A4 */ _t39 = cpu->r[28] + 0x00000000u;
|
|
/* 02C5E9A4 */ cpu->r[7] = rbrew_read32(cpu->mem, _t39);
|
|
/* 02C5E9A8 */ _t40 = cpu->r[7] + 0x00000008u;
|
|
/* 02C5E9A8 */ cpu->r[4] = rbrew_read32(cpu->mem, _t40);
|
|
/* 02C5E9AC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
|
|
/* 02C5E9B0 */ _t41 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C5E9B0 */ _t42 = _t41 & 0x00000001u;
|
|
/* 02C5E9B0 */ if (_t42) goto L_02C5E9BC; else goto L_02C5E9B4;
|
|
L_02C5E9B4: ; // 0x2c5e9b4
|
|
/* 02C5E9B4 */ _t43 = cpu->r[7] + 0x0000000Cu;
|
|
/* 02C5E9B4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t43);
|
|
/* 02C5E9B8 */ cpu->r[4] = cpu->r[31] + cpu->r[0];
|
|
L_02C5E9BC: ; // 0x2c5e9bc
|
|
/* 02C5E9BC */ cpu->r[3] = cpu->r[30] + 0x00000038u;
|
|
/* 02C5E9C0 */ Gambit_fn_02C4EFC0(cpu);
|
|
/* 02C5E9C4 */ _t44 = cpu->r[28] + 0x00000000u;
|
|
/* 02C5E9C4 */ cpu->r[7] = rbrew_read32(cpu->mem, _t44);
|
|
/* 02C5E9C8 */ _t45 = cpu->r[7] + 0x00000010u;
|
|
/* 02C5E9C8 */ cpu->r[4] = rbrew_read32(cpu->mem, _t45);
|
|
/* 02C5E9CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
|
|
/* 02C5E9D0 */ _t46 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C5E9D0 */ _t47 = _t46 & 0x00000001u;
|
|
/* 02C5E9D0 */ if (_t47) goto L_02C5E9DC; else goto L_02C5E9D4;
|
|
L_02C5E9D4: ; // 0x2c5e9d4
|
|
/* 02C5E9D4 */ _t48 = cpu->r[7] + 0x00000014u;
|
|
/* 02C5E9D4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t48);
|
|
/* 02C5E9D8 */ cpu->r[4] = cpu->r[31] + cpu->r[0];
|
|
L_02C5E9DC: ; // 0x2c5e9dc
|
|
/* 02C5E9DC */ cpu->r[5] = cpu->r[27];
|
|
/* 02C5E9E0 */ cpu->r[3] = cpu->r[30] + 0x0000001Cu;
|
|
/* 02C5E9E4 */ Gambit_fn_02C4F01C(cpu);
|
|
/* 02C5E9E8 */ _t49 = cpu->r[28] + 0x00000000u;
|
|
/* 02C5E9E8 */ cpu->r[7] = rbrew_read32(cpu->mem, _t49);
|
|
/* 02C5E9EC */ _t50 = cpu->r[7] + 0x00000000u;
|
|
/* 02C5E9EC */ cpu->r[0] = rbrew_read32(cpu->mem, _t50);
|
|
/* 02C5E9F0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C5E9F4 */ _t51 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C5E9F4 */ _t52 = _t51 & 0x00000001u;
|
|
/* 02C5E9F4 */ if (_t52) goto L_02C5EA00; else goto L_02C5E9F8;
|
|
L_02C5E9F8: ; // 0x2c5e9f8
|
|
/* 02C5E9F8 */ _t53 = cpu->r[7] + 0x00000004u;
|
|
/* 02C5E9F8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t53);
|
|
/* 02C5E9FC */ cpu->r[0] = cpu->r[31] + cpu->r[0];
|
|
L_02C5EA00: ; // 0x2c5ea00
|
|
/* 02C5EA00 */ _t54 = cpu->r[30] + 0x0000002Cu;
|
|
/* 02C5EA00 */ rbrew_write32(cpu->mem, _t54, cpu->r[0]);
|
|
/* 02C5EA04 */ _t55 = cpu->r[29] + 0x00000008u;
|
|
/* 02C5EA04 */ cpu->r[5] = rbrew_read32(cpu->mem, _t55);
|
|
/* 02C5EA08 */ _t56 = cpu->r[30] + 0x00000048u;
|
|
/* 02C5EA08 */ rbrew_write16(cpu->mem, _t56, (uint16_t)cpu->r[5]);
|
|
/* 02C5EA0C */ _t57 = cpu->r[29] + 0x0000000Cu;
|
|
/* 02C5EA0C */ cpu->r[6] = rbrew_read32(cpu->mem, _t57);
|
|
/* 02C5EA10 */ _t58 = cpu->r[30] + 0x0000004Au;
|
|
/* 02C5EA10 */ rbrew_write16(cpu->mem, _t58, (uint16_t)cpu->r[6]);
|
|
/* 02C5EA14 */ /* nop */
|
|
/* 02C5EA18 */ _t59 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02C5EA18 */ cpu->r[0] = rbrew_read32(cpu->mem, _t59);
|
|
/* 02C5EA1C */ cpu->lr = cpu->r[0];
|
|
/* 02C5EA20 */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 02C5EA24 */ cpu->r[3] = 0x00000001u;
|
|
/* 02C5EA28 */ return;
|
|
}
|
|
|
|
// fn_02C5EA2C @ 0x2c5ea2c
|
|
void Gambit_fn_02C5EA2C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3;
|
|
|
|
L_02C5EA2C: ; // 0x2c5ea2c
|
|
/* 02C5EA2C */ cpu->r[0] = cpu->lr;
|
|
/* 02C5EA30 */ cpu->r[4] = cpu->r[3];
|
|
/* 02C5EA34 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 02C5EA34 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 02C5EA38 */ cpu->r[3] = cpu->r[4] + 0x00000018u;
|
|
/* 02C5EA3C */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02C5EA3C */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 02C5EA3C */ cpu->r[1] = _t1;
|
|
/* 02C5EA40 */ Gambit_fn_02C5E758(cpu);
|
|
/* 02C5EA44 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C5EA44 */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02C5EA48 */ _t3 = cpu->r[4] + 0x0000001Cu;
|
|
/* 02C5EA48 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02C5EA4C */ cpu->lr = cpu->r[0];
|
|
/* 02C5EA50 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02C5EA54 */ return;
|
|
}
|
|
|
|
// fn_02C5EA3C @ 0x2c5ea3c
|
|
void Gambit_fn_02C5EA3C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2;
|
|
|
|
L_02C5EA3C: ; // 0x2c5ea3c
|
|
/* 02C5EA3C */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02C5EA3C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C5EA3C */ cpu->r[1] = _t0;
|
|
/* 02C5EA40 */ Gambit_fn_02C5E758(cpu);
|
|
/* 02C5EA44 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C5EA44 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02C5EA48 */ _t2 = cpu->r[4] + 0x0000001Cu;
|
|
/* 02C5EA48 */ cpu->r[3] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02C5EA4C */ cpu->lr = cpu->r[0];
|
|
/* 02C5EA50 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02C5EA54 */ return;
|
|
}
|
|
|
|
// fn_02C5EA58 @ 0x2c5ea58
|
|
void Gambit_fn_02C5EA58(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_02C5EA58: ; // 0x2c5ea58
|
|
/* 02C5EA58 */ _t0 = cpu->r[3] + 0x00000040u;
|
|
/* 02C5EA58 */ cpu->r[11] = rbrew_read16(cpu->mem, _t0);
|
|
/* 02C5EA5C */ _t1 = cpu->r[3] + 0x00000044u;
|
|
/* 02C5EA5C */ cpu->r[10] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02C5EA60 */ cpu->r[0] = cpu->r[11] + 0x0000001Fu;
|
|
/* 02C5EA64 */ _t2 = cpu->r[10] + 0x0000002Cu;
|
|
/* 02C5EA64 */ cpu->r[8] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02C5EA68 */ cpu->r[5] = rbrew_rlwinm(cpu->r[0], 0x0000001Du, 0x00000003u, 0x0000001Du);
|
|
/* 02C5EA6C */ cpu->r[12] = cpu->r[10] + 0x0000002Cu;
|
|
/* 02C5EA70 */ cpu->r[4] = 0x00000000u;
|
|
/* 02C5EA74 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 02C5EA78 */ _t3 = cpu->r[3] + 0x0000002Cu;
|
|
/* 02C5EA78 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02C5EA7C */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C5EA7C */ _t5 = _t4 & 0x00000001u;
|
|
/* 02C5EA7C */ if (_t5) goto L_02C5EA84; else goto L_02C5EA80;
|
|
L_02C5EA80: ; // 0x2c5ea80
|
|
/* 02C5EA80 */ cpu->r[4] = cpu->r[12] + cpu->r[8];
|
|
L_02C5EA84: ; // 0x2c5ea84
|
|
/* 02C5EA84 */ rbrew_dispatch(cpu, 0x02d0b870u); return;
|
|
}
|
|
|
|
// fn_02C5EA88 @ 0x2c5ea88
|
|
void Gambit_fn_02C5EA88(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;
|
|
|
|
L_02C5EA88: ; // 0x2c5ea88
|
|
/* 02C5EA88 */ _t0 = cpu->r[1] + 0xFFFFFFD0u;
|
|
/* 02C5EA88 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C5EA88 */ cpu->r[1] = _t0;
|
|
/* 02C5EA8C */ /* nop */
|
|
/* 02C5EA90 */ cpu->r[0] = cpu->lr;
|
|
/* 02C5EA94 */ _t1 = cpu->r[1] + 0x00000034u;
|
|
/* 02C5EA94 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02C5EA98 */ cpu->r[28] = cpu->r[3];
|
|
/* 02C5EA9C */ _t2 = cpu->r[28] + 0x00000044u;
|
|
/* 02C5EA9C */ cpu->r[5] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02C5EAA0 */ _t3 = cpu->r[5] + 0x0000000Cu;
|
|
/* 02C5EAA0 */ cpu->r[10] = rbrew_read16(cpu->mem, _t3);
|
|
/* 02C5EAA4 */ cpu->r[0] = rbrew_rlwinm(cpu->r[10], 0x00000000u, 0x00000017u, 0x00000017u);
|
|
/* 02C5EAA4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C5EAA8 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C5EAA8 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02C5EAA8 */ if (_t5) goto L_02C5EAAC; else goto L_02C5EB10;
|
|
L_02C5EAAC: ; // 0x2c5eaac
|
|
/* 02C5EAAC */ _t6 = cpu->r[4] + 0x0000000Cu;
|
|
/* 02C5EAAC */ cpu->r[6] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02C5EAB0 */ cpu->r[12] = 0x00000000u;
|
|
/* 02C5EAB4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u);
|
|
/* 02C5EAB8 */ cpu->r[10] = cpu->r[4] + 0x0000000Cu;
|
|
/* 02C5EABC */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C5EABC */ _t8 = _t7 & 0x00000001u;
|
|
/* 02C5EABC */ if (_t8) goto L_02C5EAC4; else goto L_02C5EAC0;
|
|
L_02C5EAC0: ; // 0x2c5eac0
|
|
/* 02C5EAC0 */ cpu->r[12] = cpu->r[10] + cpu->r[6];
|
|
L_02C5EAC4: ; // 0x2c5eac4
|
|
/* 02C5EAC4 */ _t9 = cpu->r[12] + 0x00000010u;
|
|
/* 02C5EAC4 */ cpu->r[7] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02C5EAC8 */ cpu->r[30] = 0x00000000u;
|
|
/* 02C5EACC */ cpu->r[11] = cpu->r[12] + 0x00000010u;
|
|
/* 02C5EAD0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 02C5EAD4 */ _t10 = cpu->r[12] + 0x00000008u;
|
|
/* 02C5EAD4 */ cpu->r[4] = rbrew_read16(cpu->mem, _t10);
|
|
/* 02C5EAD8 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C5EAD8 */ _t12 = _t11 & 0x00000001u;
|
|
/* 02C5EAD8 */ if (_t12) goto L_02C5EAE0; else goto L_02C5EADC;
|
|
L_02C5EADC: ; // 0x2c5eadc
|
|
/* 02C5EADC */ cpu->r[30] = cpu->r[11] + cpu->r[7];
|
|
L_02C5EAE0: ; // 0x2c5eae0
|
|
/* 02C5EAE0 */ cpu->r[24] = cpu->r[28] + 0x00000038u;
|
|
/* 02C5EAE4 */ cpu->r[29] = 0x00000000u;
|
|
/* 02C5EAE8 */ cpu->r[3] = cpu->r[24];
|
|
/* 02C5EAEC */ Gambit_fn_02C4EFDC(cpu);
|
|
/* 02C5EAF0 */ _t13 = cpu->r[28] + 0x00000044u;
|
|
/* 02C5EAF0 */ cpu->r[7] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02C5EAF4 */ _t14 = cpu->r[7] + 0x00000024u;
|
|
/* 02C5EAF4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02C5EAF8 */ cpu->r[6] = cpu->r[7] + 0x00000024u;
|
|
/* 02C5EAFC */ cpu->r[31] = cpu->r[29];
|
|
/* 02C5EB00 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 02C5EB04 */ _t15 = cpu->r[28] + 0x00000040u;
|
|
/* 02C5EB04 */ cpu->r[25] = rbrew_read16(cpu->mem, _t15);
|
|
/* 02C5EB08 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C5EB08 */ _t17 = _t16 & 0x00000001u;
|
|
/* 02C5EB08 */ if (_t17) goto L_02C5EB5C; else goto L_02C5EB0C;
|
|
L_02C5EB0C: ; // 0x2c5eb0c
|
|
/* 02C5EB0C */ goto L_02C5EB58;
|
|
L_02C5EB10: ; // 0x2c5eb10
|
|
/* 02C5EB10 */ _t18 = cpu->r[4] + 0x00000018u;
|
|
/* 02C5EB10 */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02C5EB14 */ cpu->r[30] = 0x00000000u;
|
|
/* 02C5EB18 */ cpu->r[11] = cpu->r[4] + 0x00000018u;
|
|
/* 02C5EB1C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C5EB20 */ _t19 = cpu->r[4] + 0x00000024u;
|
|
/* 02C5EB20 */ cpu->r[4] = rbrew_read16(cpu->mem, _t19);
|
|
/* 02C5EB24 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C5EB24 */ _t21 = _t20 & 0x00000001u;
|
|
/* 02C5EB24 */ if (_t21) goto L_02C5EB2C; else goto L_02C5EB28;
|
|
L_02C5EB28: ; // 0x2c5eb28
|
|
/* 02C5EB28 */ cpu->r[30] = cpu->r[11] + cpu->r[0];
|
|
L_02C5EB2C: ; // 0x2c5eb2c
|
|
/* 02C5EB2C */ cpu->r[24] = cpu->r[28] + 0x00000038u;
|
|
/* 02C5EB30 */ cpu->r[29] = 0x00000000u;
|
|
/* 02C5EB34 */ cpu->r[3] = cpu->r[24];
|
|
/* 02C5EB38 */ Gambit_fn_02C4EFDC(cpu);
|
|
/* 02C5EB3C */ _t22 = cpu->r[28] + 0x00000044u;
|
|
/* 02C5EB3C */ cpu->r[7] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02C5EB40 */ _t23 = cpu->r[7] + 0x00000024u;
|
|
/* 02C5EB40 */ cpu->r[8] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02C5EB44 */ cpu->r[6] = cpu->r[7] + 0x00000024u;
|
|
/* 02C5EB48 */ cpu->r[31] = cpu->r[29];
|
|
/* 02C5EB4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 02C5EB50 */ _t24 = cpu->r[28] + 0x00000040u;
|
|
/* 02C5EB50 */ cpu->r[25] = rbrew_read16(cpu->mem, _t24);
|
|
/* 02C5EB54 */ _t25 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C5EB54 */ _t26 = _t25 & 0x00000001u;
|
|
/* 02C5EB54 */ if (_t26) goto L_02C5EB5C; else goto L_02C5EB58;
|
|
L_02C5EB58: ; // 0x2c5eb58
|
|
/* 02C5EB58 */ cpu->r[31] = cpu->r[6] + cpu->r[8];
|
|
L_02C5EB5C: ; // 0x2c5eb5c
|
|
/* 02C5EB5C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000000u);
|
|
/* 02C5EB60 */ cpu->r[23] = 0x00000000u;
|
|
/* 02C5EB64 */ _t27 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C5EB64 */ _t28 = _t27 & 0x00000001u;
|
|
/* 02C5EB64 */ if (_t28) goto L_02C5EC18; else goto L_02C5EB68;
|
|
L_02C5EB68: ; // 0x2c5eb68
|
|
/* 02C5EB68 */ cpu->r[27] = 0x00010000u;
|
|
/* 02C5EB6C */ cpu->r[26] = 0x00000000u;
|
|
/* 02C5EB70 */ cpu->r[27] = cpu->r[27] + 0xFFFFFFFFu;
|
|
L_02C5EB74: ; // 0x2c5eb74
|
|
/* 02C5EB74 */ _t29 = cpu->r[31] + cpu->r[26];
|
|
/* 02C5EB74 */ cpu->r[9] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02C5EB78 */ cpu->r[8] = cpu->r[31] + cpu->r[26];
|
|
/* 02C5EB7C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 02C5EB80 */ cpu->r[4] = 0x00000000u;
|
|
/* 02C5EB84 */ _t30 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C5EB84 */ _t31 = _t30 & 0x00000001u;
|
|
/* 02C5EB84 */ if (_t31) goto L_02C5EB90; else goto L_02C5EB88;
|
|
L_02C5EB88: ; // 0x2c5eb88
|
|
/* 02C5EB88 */ cpu->r[12] = cpu->r[8] + cpu->r[9];
|
|
/* 02C5EB8C */ cpu->r[4] = cpu->r[12] + 0xFFFFFFFCu;
|
|
L_02C5EB90: ; // 0x2c5eb90
|
|
/* 02C5EB90 */ cpu->r[3] = cpu->r[30];
|
|
/* 02C5EB94 */ Gambit_fn_02C606B8(cpu);
|
|
/* 02C5EB98 */ cpu->r[6] = cpu->r[3];
|
|
/* 02C5EB98 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u);
|
|
/* 02C5EB9C */ _t32 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C5EB9C */ _t33 = _t32 & 0x00000001u;
|
|
/* 02C5EB9C */ if (_t33) goto L_02C5EC04; else goto L_02C5EBA0;
|
|
L_02C5EBA0: ; // 0x2c5eba0
|
|
/* 02C5EBA0 */ _t34 = cpu->r[24] + 0x00000000u;
|
|
/* 02C5EBA0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t34);
|
|
/* 02C5EBA4 */ _t35 = cpu->r[12] + cpu->r[26];
|
|
/* 02C5EBA4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t35);
|
|
/* 02C5EBA8 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000002u, 0x00000010u);
|
|
/* 02C5EBAC */ _t36 = cpu->r[12] + cpu->r[26];
|
|
/* 02C5EBAC */ rbrew_write32(cpu->mem, _t36, cpu->r[0]);
|
|
/* 02C5EBB0 */ _t37 = cpu->r[24] + 0x00000000u;
|
|
/* 02C5EBB0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t37);
|
|
/* 02C5EBB4 */ _t38 = cpu->r[12] + cpu->r[26];
|
|
/* 02C5EBB4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t38);
|
|
/* 02C5EBB8 */ cpu->r[5] = rbrew_rlwinm(cpu->r[6], 0x00000000u, 0x00000011u, 0x0000001Fu);
|
|
/* 02C5EBBC */ cpu->r[0] = cpu->r[0] | cpu->r[5];
|
|
/* 02C5EBC0 */ _t39 = cpu->r[12] + cpu->r[26];
|
|
/* 02C5EBC0 */ rbrew_write32(cpu->mem, _t39, cpu->r[0]);
|
|
/* 02C5EBC4 */ _t40 = cpu->r[24] + 0x00000000u;
|
|
/* 02C5EBC4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t40);
|
|
/* 02C5EBC8 */ cpu->r[0] = rbrew_rlwinm(cpu->r[6], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02C5EBCC */ _t41 = cpu->r[12] + cpu->r[0];
|
|
/* 02C5EBCC */ cpu->r[7] = rbrew_read32(cpu->mem, _t41);
|
|
/* 02C5EBD0 */ cpu->r[7] = rbrew_rlwinm(cpu->r[7], 0x00000000u, 0x00000011u, 0x00000001u);
|
|
/* 02C5EBD4 */ _t42 = cpu->r[12] + cpu->r[0];
|
|
/* 02C5EBD4 */ rbrew_write32(cpu->mem, _t42, cpu->r[7]);
|
|
/* 02C5EBD8 */ _t43 = cpu->r[24] + 0x00000000u;
|
|
/* 02C5EBD8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t43);
|
|
/* 02C5EBDC */ cpu->r[9] = rbrew_rlwinm(cpu->r[23], 0x0000000Fu, 0x00000002u, 0x00000010u);
|
|
/* 02C5EBE0 */ _t44 = cpu->r[12] + cpu->r[0];
|
|
/* 02C5EBE0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t44);
|
|
/* 02C5EBE4 */ cpu->r[25] = cpu->r[25] + 0xFFFFFFFFu;
|
|
/* 02C5EBE4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000000u);
|
|
/* 02C5EBE8 */ cpu->r[23] = cpu->r[23] + 0x00000001u;
|
|
/* 02C5EBEC */ cpu->r[10] = cpu->r[10] | cpu->r[9];
|
|
/* 02C5EBF0 */ cpu->r[26] = cpu->r[26] + 0x00000004u;
|
|
/* 02C5EBF4 */ _t45 = cpu->r[12] + cpu->r[0];
|
|
/* 02C5EBF4 */ rbrew_write32(cpu->mem, _t45, cpu->r[10]);
|
|
/* 02C5EBF8 */ cpu->r[29] = cpu->r[29] | 0xFFFF0000u;
|
|
/* 02C5EBFC */ _t46 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C5EBFC */ _t47 = _t46 & 0x00000001u;
|
|
/* 02C5EBFC */ if (_t47) goto L_02C5EC00; else goto L_02C5EB74;
|
|
L_02C5EC00: ; // 0x2c5ec00
|
|
/* 02C5EC00 */ goto L_02C5EC18;
|
|
L_02C5EC04: ; // 0x2c5ec04
|
|
/* 02C5EC04 */ cpu->r[29] = cpu->r[29] | cpu->r[27];
|
|
/* 02C5EC08 */ cpu->r[25] = cpu->r[25] + 0xFFFFFFFFu;
|
|
/* 02C5EC08 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000000u);
|
|
/* 02C5EC0C */ cpu->r[23] = cpu->r[23] + 0x00000001u;
|
|
/* 02C5EC10 */ cpu->r[26] = cpu->r[26] + 0x00000004u;
|
|
/* 02C5EC14 */ _t48 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C5EC14 */ _t49 = _t48 & 0x00000001u;
|
|
/* 02C5EC14 */ if (_t49) goto L_02C5EC18; else goto L_02C5EB74;
|
|
L_02C5EC18: ; // 0x2c5ec18
|
|
/* 02C5EC18 */ _t50 = cpu->r[28] + 0x0000003Cu;
|
|
/* 02C5EC18 */ cpu->r[11] = rbrew_read16(cpu->mem, _t50);
|
|
/* 02C5EC1C */ _t51 = cpu->r[28] + 0x00000024u;
|
|
/* 02C5EC1C */ cpu->r[0] = rbrew_read32(cpu->mem, _t51);
|
|
/* 02C5EC20 */ cpu->r[11] = cpu->r[11] | 0x00000001u;
|
|
/* 02C5EC24 */ _t52 = cpu->r[28] + 0x0000003Cu;
|
|
/* 02C5EC24 */ rbrew_write16(cpu->mem, _t52, (uint16_t)cpu->r[11]);
|
|
/* 02C5EC28 */ cpu->r[11] = 0x10230000u;
|
|
/* 02C5EC2C */ _t53 = cpu->r[11] + 0xFFFFAB0Cu;
|
|
/* 02C5EC2C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t53);
|
|
/* 02C5EC30 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C5EC34 */ _t54 = cpu->r[28] + 0x00000028u;
|
|
/* 02C5EC34 */ rbrew_write_f32(cpu->mem, _t54, cpu->f[0]);
|
|
/* 02C5EC38 */ _t55 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C5EC38 */ _t56 = _t55 & 0x00000001u;
|
|
/* 02C5EC38 */ if (_t56) goto L_02C5EC3C; else goto L_02C5EC74;
|
|
L_02C5EC3C: ; // 0x2c5ec3c
|
|
/* 02C5EC3C */ _t57 = cpu->r[28] + 0x00000020u;
|
|
/* 02C5EC3C */ cpu->r[12] = rbrew_read32(cpu->mem, _t57);
|
|
/* 02C5EC40 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], cpu->r[12]);
|
|
/* 02C5EC44 */ _t58 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C5EC44 */ _t59 = _t58 & 0x00000001u;
|
|
/* 02C5EC44 */ if (_t59) goto L_02C5EC74; else goto L_02C5EC48;
|
|
L_02C5EC48: ; // 0x2c5ec48
|
|
/* 02C5EC48 */ cpu->r[9] = 0x101B0000u;
|
|
/* 02C5EC4C */ cpu->r[8] = 0x00000000u;
|
|
/* 02C5EC50 */ _t60 = cpu->r[9] + 0xFFFFF004u;
|
|
/* 02C5EC50 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t60);
|
|
/* 02C5EC54 */ cpu->r[11] = cpu->r[8];
|
|
L_02C5EC58: ; // 0x2c5ec58
|
|
/* 02C5EC58 */ _t61 = cpu->r[28] + 0x0000001Cu;
|
|
/* 02C5EC58 */ cpu->r[5] = rbrew_read32(cpu->mem, _t61);
|
|
/* 02C5EC5C */ _t62 = cpu->r[5] + cpu->r[11];
|
|
/* 02C5EC5C */ rbrew_write32(cpu->mem, _t62, cpu->r[0]);
|
|
/* 02C5EC60 */ _t63 = cpu->r[28] + 0x00000024u;
|
|
/* 02C5EC60 */ cpu->r[7] = rbrew_read32(cpu->mem, _t63);
|
|
/* 02C5EC64 */ cpu->r[8] = cpu->r[8] + 0x00000001u;
|
|
/* 02C5EC68 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], cpu->r[7]);
|
|
/* 02C5EC6C */ cpu->r[11] = cpu->r[11] + 0x0000000Cu;
|
|
/* 02C5EC70 */ _t64 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C5EC70 */ _t65 = _t64 & 0x00000001u;
|
|
/* 02C5EC70 */ if (_t65) goto L_02C5EC58; else goto L_02C5EC74;
|
|
L_02C5EC74: ; // 0x2c5ec74
|
|
/* 02C5EC74 */ cpu->r[3] = cpu->r[28];
|
|
/* 02C5EC78 */ Gambit_fn_02C5EA58(cpu);
|
|
/* 02C5EC7C */ cpu->r[3] = cpu->r[29];
|
|
/* 02C5EC80 */ /* nop */
|
|
/* 02C5EC84 */ _t66 = cpu->r[1] + 0x00000034u;
|
|
/* 02C5EC84 */ cpu->r[0] = rbrew_read32(cpu->mem, _t66);
|
|
/* 02C5EC88 */ cpu->lr = cpu->r[0];
|
|
/* 02C5EC8C */ cpu->r[1] = cpu->r[1] + 0x00000030u;
|
|
/* 02C5EC90 */ return;
|
|
}
|
|
|
|
// fn_02C5EC94 @ 0x2c5ec94
|
|
void Gambit_fn_02C5EC94(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_02C5EC94: ; // 0x2c5ec94
|
|
/* 02C5EC94 */ cpu->r[0] = cpu->lr;
|
|
/* 02C5EC98 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 02C5EC98 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 02C5EC9C */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02C5EC9C */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 02C5EC9C */ cpu->r[1] = _t1;
|
|
/* 02C5ECA0 */ _t2 = cpu->r[3] + 0x00000034u;
|
|
/* 02C5ECA0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02C5ECA4 */ _t3 = cpu->r[12] + 0x00000024u;
|
|
/* 02C5ECA4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02C5ECA8 */ cpu->ctr = cpu->r[0];
|
|
/* 02C5ECAC */ _t4 = cpu->r[4] + 0x00000000u;
|
|
/* 02C5ECAC */ cpu->r[4] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02C5ECB0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02C5ECB4 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C5ECB4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02C5ECB8 */ cpu->lr = cpu->r[0];
|
|
/* 02C5ECBC */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02C5ECC0 */ return;
|
|
}
|
|
|
|
// fn_02C5EC9C @ 0x2c5ec9c
|
|
void Gambit_fn_02C5EC9C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4;
|
|
|
|
L_02C5EC9C: ; // 0x2c5ec9c
|
|
/* 02C5EC9C */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02C5EC9C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C5EC9C */ cpu->r[1] = _t0;
|
|
/* 02C5ECA0 */ _t1 = cpu->r[3] + 0x00000034u;
|
|
/* 02C5ECA0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02C5ECA4 */ _t2 = cpu->r[12] + 0x00000024u;
|
|
/* 02C5ECA4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02C5ECA8 */ cpu->ctr = cpu->r[0];
|
|
/* 02C5ECAC */ _t3 = cpu->r[4] + 0x00000000u;
|
|
/* 02C5ECAC */ cpu->r[4] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02C5ECB0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02C5ECB4 */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C5ECB4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02C5ECB8 */ cpu->lr = cpu->r[0];
|
|
/* 02C5ECBC */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02C5ECC0 */ return;
|
|
}
|
|
|
|
// fn_02C5ECC4 @ 0x2c5ecc4
|
|
void Gambit_fn_02C5ECC4(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;
|
|
|
|
L_02C5ECC4: ; // 0x2c5ecc4
|
|
/* 02C5ECC4 */ _t0 = cpu->r[1] + 0xFFFFFFA8u;
|
|
/* 02C5ECC4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C5ECC4 */ cpu->r[1] = _t0;
|
|
/* 02C5ECC8 */ /* nop */
|
|
/* 02C5ECCC */ _t1 = cpu->r[1] + 0x00000038u;
|
|
/* 02C5ECCC */ rbrew_write_f64(cpu->mem, _t1, cpu->f[30]);
|
|
/* 02C5ECD0 */ /* nop */
|
|
/* 02C5ECD4 */ _t2 = cpu->r[1] + 0x00000048u;
|
|
/* 02C5ECD4 */ rbrew_write_f64(cpu->mem, _t2, cpu->f[31]);
|
|
/* 02C5ECD8 */ _t3 = cpu->r[1] + 0x00000040u;
|
|
/* 02C5ECD8 */ rbrew_write_f32(cpu->mem, _t3, cpu->f[30]);
|
|
/* 02C5ECDC */ /* nop */
|
|
/* 02C5ECE0 */ _t4 = cpu->r[1] + 0x00000050u;
|
|
/* 02C5ECE0 */ rbrew_write_f32(cpu->mem, _t4, cpu->f[31]);
|
|
/* 02C5ECE4 */ cpu->r[0] = cpu->lr;
|
|
/* 02C5ECE8 */ _t5 = cpu->r[1] + 0x0000005Cu;
|
|
/* 02C5ECE8 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02C5ECEC */ cpu->r[30] = cpu->r[3];
|
|
/* 02C5ECF0 */ _t6 = cpu->r[30] + 0x00000000u;
|
|
/* 02C5ECF0 */ cpu->r[6] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02C5ECF4 */ _t7 = cpu->r[30] + 0x00000028u;
|
|
/* 02C5ECF4 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t7);
|
|
/* 02C5ECF8 */ _t8 = cpu->r[6] + 0x00000000u;
|
|
/* 02C5ECF8 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t8);
|
|
/* 02C5ECFC */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[13], cpu->f[0]);
|
|
/* 02C5ED00 */ cpu->r[31] = cpu->r[30] + 0x0000001Cu;
|
|
/* 02C5ED04 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C5ED04 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02C5ED04 */ if (_t10) goto L_02C5EE60; else goto L_02C5ED08;
|
|
L_02C5ED08: ; // 0x2c5ed08
|
|
/* 02C5ED08 */ _t11 = cpu->r[31] + 0x00000008u;
|
|
/* 02C5ED08 */ cpu->r[7] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02C5ED0C */ cpu->r[26] = cpu->r[30] + 0x00000038u;
|
|
/* 02C5ED10 */ _t12 = cpu->r[6] + 0x00000000u;
|
|
/* 02C5ED10 */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t12);
|
|
/* 02C5ED14 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 02C5ED18 */ _t13 = cpu->r[30] + 0x0000002Cu;
|
|
/* 02C5ED18 */ cpu->r[27] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02C5ED1C */ _t14 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C5ED1C */ _t15 = _t14 & 0x00000001u;
|
|
/* 02C5ED1C */ if (_t15) goto L_02C5ED20; else goto L_02C5EDC4;
|
|
L_02C5ED20: ; // 0x2c5ed20
|
|
/* 02C5ED20 */ _t16 = cpu->r[31] + 0x00000004u;
|
|
/* 02C5ED20 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02C5ED24 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], cpu->r[0]);
|
|
/* 02C5ED28 */ _t17 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C5ED28 */ _t18 = _t17 & 0x00000001u;
|
|
/* 02C5ED28 */ if (_t18) goto L_02C5EDC4; else goto L_02C5ED2C;
|
|
L_02C5ED2C: ; // 0x2c5ed2c
|
|
/* 02C5ED2C */ _t19 = cpu->r[30] + 0x0000004Cu;
|
|
/* 02C5ED2C */ cpu->r[5] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02C5ED30 */ cpu->r[24] = 0x00000000u;
|
|
/* 02C5ED34 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], cpu->r[5]);
|
|
/* 02C5ED38 */ _t20 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C5ED38 */ _t21 = _t20 & 0x00000001u;
|
|
/* 02C5ED38 */ if (_t21) goto L_02C5ED3C; else goto L_02C5EE58;
|
|
L_02C5ED3C: ; // 0x2c5ed3c
|
|
/* 02C5ED3C */ cpu->r[25] = 0x00000000u;
|
|
/* 02C5ED40 */ cpu->r[29] = 0x00000001u;
|
|
/* 02C5ED44 */ cpu->r[28] = cpu->r[25];
|
|
L_02C5ED48: ; // 0x2c5ed48
|
|
/* 02C5ED48 */ _t22 = cpu->r[30] + 0x00000050u;
|
|
/* 02C5ED48 */ cpu->r[11] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02C5ED4C */ cpu->r[3] = cpu->r[11] + cpu->r[25];
|
|
/* 02C5ED50 */ _t23 = cpu->r[3] + 0x00000004u;
|
|
/* 02C5ED50 */ cpu->r[23] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02C5ED54 */ _t24 = cpu->r[26] + 0x00000000u;
|
|
/* 02C5ED54 */ cpu->r[9] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02C5ED58 */ cpu->r[12] = rbrew_rlwinm(cpu->r[23], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02C5ED5C */ _t25 = cpu->r[12] + cpu->r[9];
|
|
/* 02C5ED5C */ cpu->r[10] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02C5ED60 */ cpu->r[11] = rbrew_rlwinm(cpu->r[10], 0x00000002u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02C5ED64 */ cpu->r[12] = cpu->r[11] ^ 0x00000001u;
|
|
/* 02C5ED68 */ cpu->r[0] = rbrew_rlwinm(cpu->r[12], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 02C5ED68 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C5ED6C */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C5ED6C */ _t27 = _t26 & 0x00000001u;
|
|
/* 02C5ED6C */ if (_t27) goto L_02C5EDA8; else goto L_02C5ED70;
|
|
L_02C5ED70: ; // 0x2c5ed70
|
|
/* 02C5ED70 */ _t28 = cpu->r[31] + 0x00000000u;
|
|
/* 02C5ED70 */ cpu->r[6] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02C5ED74 */ cpu->f[1] = cpu->f[30];
|
|
/* 02C5ED78 */ cpu->r[4] = cpu->r[6] + cpu->r[28];
|
|
/* 02C5ED7C */ Gambit_fn_02C5F678(cpu);
|
|
/* 02C5ED80 */ /* nop */
|
|
/* 02C5ED84 */ cpu->r[5] = rbrew_rlwinm(cpu->r[23], 0x00000000u, 0x0000001Bu, 0x0000001Fu);
|
|
/* 02C5ED88 */ cpu->r[7] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02C5ED8C */ /* nop */
|
|
/* 02C5ED90 */ _t29 = cpu->r[7] + cpu->r[27];
|
|
/* 02C5ED90 */ cpu->r[0] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02C5ED94 */ /* nop */
|
|
/* 02C5ED98 */ _t30 = ~cpu->r[8];
|
|
/* 02C5ED98 */ cpu->r[0] = cpu->r[0] & _t30;
|
|
/* 02C5ED9C */ cpu->r[11] = cpu->r[0] | cpu->r[10];
|
|
/* 02C5EDA0 */ _t31 = cpu->r[7] + cpu->r[27];
|
|
/* 02C5EDA0 */ rbrew_write32(cpu->mem, _t31, cpu->r[11]);
|
|
/* 02C5EDA4 */ _t32 = cpu->r[30] + 0x0000004Cu;
|
|
/* 02C5EDA4 */ cpu->r[5] = rbrew_read32(cpu->mem, _t32);
|
|
L_02C5EDA8: ; // 0x2c5eda8
|
|
/* 02C5EDA8 */ cpu->r[24] = cpu->r[24] + 0x00000001u;
|
|
/* 02C5EDAC */ cpu->r[25] = cpu->r[25] + 0x00000024u;
|
|
/* 02C5EDB0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], cpu->r[5]);
|
|
/* 02C5EDB4 */ cpu->r[28] = cpu->r[28] + 0x0000000Cu;
|
|
/* 02C5EDB8 */ _t33 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C5EDB8 */ _t34 = _t33 & 0x00000001u;
|
|
/* 02C5EDB8 */ if (_t34) goto L_02C5ED48; else goto L_02C5EDBC;
|
|
L_02C5EDBC: ; // 0x2c5edbc
|
|
/* 02C5EDBC */ _t35 = cpu->r[30] + 0x00000000u;
|
|
/* 02C5EDBC */ cpu->r[6] = rbrew_read32(cpu->mem, _t35);
|
|
/* 02C5EDC0 */ goto L_02C5EE58;
|
|
L_02C5EDC4: ; // 0x2c5edc4
|
|
/* 02C5EDC4 */ _t36 = cpu->r[30] + 0x0000004Cu;
|
|
/* 02C5EDC4 */ cpu->r[5] = rbrew_read32(cpu->mem, _t36);
|
|
/* 02C5EDC8 */ cpu->r[25] = 0x00000000u;
|
|
/* 02C5EDCC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], cpu->r[5]);
|
|
/* 02C5EDD0 */ _t37 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C5EDD0 */ _t38 = _t37 & 0x00000001u;
|
|
/* 02C5EDD0 */ if (_t38) goto L_02C5EDD4; else goto L_02C5EE58;
|
|
L_02C5EDD4: ; // 0x2c5edd4
|
|
/* 02C5EDD4 */ cpu->r[12] = 0x101B0000u;
|
|
/* 02C5EDD8 */ cpu->r[28] = 0x00000000u;
|
|
/* 02C5EDDC */ _t39 = cpu->r[12] + 0xFFFFF004u;
|
|
/* 02C5EDDC */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t39);
|
|
/* 02C5EDE0 */ cpu->r[29] = 0x00000001u;
|
|
L_02C5EDE4: ; // 0x2c5ede4
|
|
/* 02C5EDE4 */ _t40 = cpu->r[30] + 0x00000050u;
|
|
/* 02C5EDE4 */ cpu->r[6] = rbrew_read32(cpu->mem, _t40);
|
|
/* 02C5EDE8 */ cpu->r[3] = cpu->r[6] + cpu->r[28];
|
|
/* 02C5EDEC */ _t41 = cpu->r[3] + 0x00000004u;
|
|
/* 02C5EDEC */ cpu->r[24] = rbrew_read32(cpu->mem, _t41);
|
|
/* 02C5EDF0 */ _t42 = cpu->r[26] + 0x00000000u;
|
|
/* 02C5EDF0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t42);
|
|
/* 02C5EDF4 */ cpu->r[8] = rbrew_rlwinm(cpu->r[24], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02C5EDF8 */ _t43 = cpu->r[8] + cpu->r[9];
|
|
/* 02C5EDF8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t43);
|
|
/* 02C5EDFC */ cpu->r[11] = rbrew_rlwinm(cpu->r[10], 0x00000002u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02C5EE00 */ cpu->r[12] = cpu->r[11] ^ 0x00000001u;
|
|
/* 02C5EE04 */ cpu->r[0] = rbrew_rlwinm(cpu->r[12], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 02C5EE04 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C5EE08 */ _t44 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C5EE08 */ _t45 = _t44 & 0x00000001u;
|
|
/* 02C5EE08 */ if (_t45) goto L_02C5EE44; else goto L_02C5EE0C;
|
|
L_02C5EE0C: ; // 0x2c5ee0c
|
|
/* 02C5EE0C */ cpu->f[1] = cpu->f[30];
|
|
/* 02C5EE10 */ _t46 = cpu->r[1] + 0x00000008u;
|
|
/* 02C5EE10 */ rbrew_write_f32(cpu->mem, _t46, cpu->f[31]);
|
|
/* 02C5EE14 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02C5EE18 */ Gambit_fn_02C5F678(cpu);
|
|
/* 02C5EE1C */ /* nop */
|
|
/* 02C5EE20 */ cpu->r[10] = rbrew_rlwinm(cpu->r[24], 0x00000000u, 0x0000001Bu, 0x0000001Fu);
|
|
/* 02C5EE24 */ cpu->r[6] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02C5EE28 */ /* nop */
|
|
/* 02C5EE2C */ _t47 = cpu->r[27] + cpu->r[6];
|
|
/* 02C5EE2C */ cpu->r[8] = rbrew_read32(cpu->mem, _t47);
|
|
/* 02C5EE30 */ /* nop */
|
|
/* 02C5EE34 */ _t48 = ~cpu->r[7];
|
|
/* 02C5EE34 */ cpu->r[8] = cpu->r[8] & _t48;
|
|
/* 02C5EE38 */ cpu->r[0] = cpu->r[8] | cpu->r[9];
|
|
/* 02C5EE3C */ _t49 = cpu->r[27] + cpu->r[6];
|
|
/* 02C5EE3C */ rbrew_write32(cpu->mem, _t49, cpu->r[0]);
|
|
/* 02C5EE40 */ _t50 = cpu->r[30] + 0x0000004Cu;
|
|
/* 02C5EE40 */ cpu->r[5] = rbrew_read32(cpu->mem, _t50);
|
|
L_02C5EE44: ; // 0x2c5ee44
|
|
/* 02C5EE44 */ cpu->r[25] = cpu->r[25] + 0x00000001u;
|
|
/* 02C5EE48 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], cpu->r[5]);
|
|
/* 02C5EE4C */ cpu->r[28] = cpu->r[28] + 0x00000024u;
|
|
/* 02C5EE50 */ _t51 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C5EE50 */ _t52 = _t51 & 0x00000001u;
|
|
/* 02C5EE50 */ if (_t52) goto L_02C5EDE4; else goto L_02C5EE54;
|
|
L_02C5EE54: ; // 0x2c5ee54
|
|
/* 02C5EE54 */ _t53 = cpu->r[30] + 0x00000000u;
|
|
/* 02C5EE54 */ cpu->r[6] = rbrew_read32(cpu->mem, _t53);
|
|
L_02C5EE58: ; // 0x2c5ee58
|
|
/* 02C5EE58 */ _t54 = cpu->r[6] + 0x00000000u;
|
|
/* 02C5EE58 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t54);
|
|
/* 02C5EE5C */ _t55 = cpu->r[31] + 0x0000000Cu;
|
|
/* 02C5EE5C */ rbrew_write_f32(cpu->mem, _t55, cpu->f[0]);
|
|
L_02C5EE60: ; // 0x2c5ee60
|
|
/* 02C5EE60 */ /* nop */
|
|
/* 02C5EE64 */ _t56 = cpu->r[1] + 0x00000040u;
|
|
/* 02C5EE64 */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t56);
|
|
/* 02C5EE68 */ _t57 = cpu->r[1] + 0x00000050u;
|
|
/* 02C5EE68 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t57);
|
|
/* 02C5EE6C */ _t58 = cpu->r[1] + 0x00000038u;
|
|
/* 02C5EE6C */ cpu->f[30] = rbrew_read_f64(cpu->mem, _t58);
|
|
/* 02C5EE70 */ _t59 = cpu->r[1] + 0x00000048u;
|
|
/* 02C5EE70 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t59);
|
|
/* 02C5EE74 */ _t60 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C5EE74 */ _t61 = _t60 & 0x00000001u;
|
|
/* 02C5EE74 */ if (_t61) goto L_02C5EE78; // else: addr-0 trap, fall-through
|
|
L_02C5EE78: ; // 0x2c5ee78
|
|
/* 02C5EE78 */ _t62 = cpu->r[1] + 0x0000005Cu;
|
|
/* 02C5EE78 */ cpu->r[0] = rbrew_read32(cpu->mem, _t62);
|
|
/* 02C5EE7C */ cpu->lr = cpu->r[0];
|
|
/* 02C5EE80 */ cpu->r[1] = cpu->r[1] + 0x00000058u;
|
|
/* 02C5EE84 */ return;
|
|
}
|
|
|
|
// fn_02C5EE88 @ 0x2c5ee88
|
|
void Gambit_fn_02C5EE88(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_02C5EE88: ; // 0x2c5ee88
|
|
/* 02C5EE88 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C5EE88 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C5EE88 */ cpu->r[1] = _t0;
|
|
/* 02C5EE8C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C5EE8C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02C5EE90 */ _t2 = cpu->r[3] + 0x00000044u;
|
|
/* 02C5EE90 */ cpu->r[12] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02C5EE94 */ _t3 = cpu->r[12] + 0x0000000Cu;
|
|
/* 02C5EE94 */ cpu->r[12] = rbrew_read16(cpu->mem, _t3);
|
|
/* 02C5EE98 */ cpu->r[12] = rbrew_rlwinm(cpu->r[12], 0x00000000u, 0x00000017u, 0x00000017u);
|
|
/* 02C5EE98 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02C5EE9C */ _t4 = cpu->r[3] + 0x00000040u;
|
|
/* 02C5EE9C */ cpu->r[12] = rbrew_read16(cpu->mem, _t4);
|
|
/* 02C5EEA0 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C5EEA0 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02C5EEA0 */ if (_t6) goto L_02C5EEA4; else goto L_02C5EEC0;
|
|
L_02C5EEA4: ; // 0x2c5eea4
|
|
/* 02C5EEA4 */ _t7 = cpu->r[4] + 0x00000004u;
|
|
/* 02C5EEA4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02C5EEA8 */ cpu->r[4] = cpu->r[3] + 0x00000038u;
|
|
/* 02C5EEAC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02C5EEB0 */ _t8 = cpu->r[3] + 0x0000002Cu;
|
|
/* 02C5EEB0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C5EEB4 */ cpu->r[5] = 0x00000000u;
|
|
/* 02C5EEB8 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C5EEB8 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02C5EEB8 */ if (_t10) goto L_02C5EF4C; else goto L_02C5EEBC;
|
|
L_02C5EEBC: ; // 0x2c5eebc
|
|
/* 02C5EEBC */ goto L_02C5EED8;
|
|
L_02C5EEC0: ; // 0x2c5eec0
|
|
/* 02C5EEC0 */ _t11 = cpu->r[4] + 0x00000008u;
|
|
/* 02C5EEC0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02C5EEC4 */ cpu->r[4] = cpu->r[3] + 0x00000038u;
|
|
/* 02C5EEC8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02C5EECC */ _t12 = cpu->r[3] + 0x0000002Cu;
|
|
/* 02C5EECC */ cpu->r[3] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02C5EED0 */ cpu->r[5] = 0x00000000u;
|
|
/* 02C5EED4 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C5EED4 */ _t14 = _t13 & 0x00000001u;
|
|
/* 02C5EED4 */ if (_t14) goto L_02C5EF4C; else goto L_02C5EED8;
|
|
L_02C5EED8: ; // 0x2c5eed8
|
|
/* 02C5EED8 */ cpu->ctr = cpu->r[12];
|
|
/* 02C5EEDC */ cpu->r[10] = 0x00000000u;
|
|
/* 02C5EEE0 */ cpu->r[11] = 0x00000001u;
|
|
L_02C5EEE4: ; // 0x2c5eee4
|
|
/* 02C5EEE4 */ _t15 = cpu->r[4] + 0x00000000u;
|
|
/* 02C5EEE4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02C5EEE8 */ _t16 = cpu->r[9] + cpu->r[10];
|
|
/* 02C5EEE8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02C5EEEC */ cpu->r[9] = rbrew_rlwinm(cpu->r[12], 0x00000001u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02C5EEF0 */ cpu->r[8] = cpu->r[9] ^ 0x00000001u;
|
|
/* 02C5EEF4 */ cpu->r[9] = rbrew_rlwinm(cpu->r[8], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 02C5EEF4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 02C5EEF8 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C5EEF8 */ _t18 = _t17 & 0x00000001u;
|
|
/* 02C5EEF8 */ if (_t18) goto L_02C5EF40; else goto L_02C5EEFC;
|
|
L_02C5EEFC: ; // 0x2c5eefc
|
|
/* 02C5EEFC */ /* nop */
|
|
/* 02C5EF00 */ cpu->r[7] = rbrew_rlwinm(cpu->r[12], 0x00000000u, 0x00000011u, 0x0000001Fu);
|
|
/* 02C5EF04 */ cpu->r[8] = rbrew_rlwinm(cpu->r[9], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02C5EF08 */ /* nop */
|
|
/* 02C5EF0C */ _t19 = cpu->r[8] + cpu->r[3];
|
|
/* 02C5EF0C */ cpu->r[8] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02C5EF10 */ cpu->r[7] = rbrew_rlwinm(cpu->r[5], 0x00000000u, 0x0000001Bu, 0x0000001Fu);
|
|
/* 02C5EF14 */ cpu->r[9] = rbrew_rlwinm(cpu->r[9], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02C5EF18 */ /* nop */
|
|
/* 02C5EF1C */ cpu->r[7] = cpu->r[31] + cpu->r[9];
|
|
/* 02C5EF20 */ cpu->r[9] = rbrew_rlwinm(cpu->r[12], 0x00000000u, 0x0000001Bu, 0x0000001Fu);
|
|
/* 02C5EF24 */ cpu->r[6] = rbrew_rlwinm(cpu->r[8], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02C5EF28 */ _t20 = cpu->r[7] + 0x00000000u;
|
|
/* 02C5EF28 */ cpu->r[12] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02C5EF2C */ /* nop */
|
|
/* 02C5EF30 */ /* nop */
|
|
/* 02C5EF34 */ _t21 = ~cpu->r[8];
|
|
/* 02C5EF34 */ cpu->r[12] = cpu->r[12] & _t21;
|
|
/* 02C5EF38 */ cpu->r[9] = cpu->r[12] | cpu->r[9];
|
|
/* 02C5EF3C */ _t22 = cpu->r[7] + 0x00000000u;
|
|
/* 02C5EF3C */ rbrew_write32(cpu->mem, _t22, cpu->r[9]);
|
|
L_02C5EF40: ; // 0x2c5ef40
|
|
/* 02C5EF40 */ cpu->r[10] = cpu->r[10] + 0x00000004u;
|
|
/* 02C5EF44 */ cpu->r[5] = cpu->r[5] + 0x00000001u;
|
|
/* 02C5EF48 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02C5EF48 */ _t23 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02C5EF48 */ _t24 = _t23 >> (0x00000002u & 31u);
|
|
/* 02C5EF48 */ _t25 = _t24 & 0x00000001u;
|
|
/* 02C5EF48 */ if (_t25) goto L_02C5EEE4; else goto L_02C5EF4C;
|
|
L_02C5EF4C: ; // 0x2c5ef4c
|
|
/* 02C5EF4C */ _t26 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C5EF4C */ cpu->r[31] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02C5EF50 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C5EF54 */ return;
|
|
}
|
|
|
|
// fn_02C5EF58 @ 0x2c5ef58
|
|
void Gambit_fn_02C5EF58(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;
|
|
|
|
L_02C5EF58: ; // 0x2c5ef58
|
|
/* 02C5EF58 */ cpu->r[0] = cpu->lr;
|
|
/* 02C5EF5C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C5EF5C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C5EF5C */ cpu->r[1] = _t0;
|
|
/* 02C5EF60 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02C5EF60 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02C5EF64 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C5EF64 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02C5EF68 */ cpu->r[31] = cpu->r[4];
|
|
/* 02C5EF6C */ cpu->r[30] = cpu->r[3];
|
|
/* 02C5EF70 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02C5EF70 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02C5EF74 */ _t4 = cpu->r[30] + 0x00000044u;
|
|
/* 02C5EF74 */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
|
|
/* 02C5EF78 */ _t5 = cpu->r[31] + 0x00000028u;
|
|
/* 02C5EF78 */ cpu->r[9] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02C5EF7C */ cpu->r[12] = 0x00000000u;
|
|
/* 02C5EF80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 02C5EF84 */ cpu->r[11] = cpu->r[31] + 0x00000028u;
|
|
/* 02C5EF88 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C5EF88 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02C5EF88 */ if (_t7) goto L_02C5EF90; else goto L_02C5EF8C;
|
|
L_02C5EF8C: ; // 0x2c5ef8c
|
|
/* 02C5EF8C */ cpu->r[12] = cpu->r[11] + cpu->r[9];
|
|
L_02C5EF90: ; // 0x2c5ef90
|
|
/* 02C5EF90 */ _t8 = cpu->r[30] + 0x00000050u;
|
|
/* 02C5EF90 */ rbrew_write32(cpu->mem, _t8, cpu->r[12]);
|
|
/* 02C5EF94 */ _t9 = cpu->r[31] + 0x00000016u;
|
|
/* 02C5EF94 */ cpu->r[12] = rbrew_read16(cpu->mem, _t9);
|
|
/* 02C5EF98 */ _t10 = cpu->r[30] + 0x0000003Cu;
|
|
/* 02C5EF98 */ cpu->r[0] = rbrew_read16(cpu->mem, _t10);
|
|
/* 02C5EF9C */ _t11 = cpu->r[30] + 0x0000004Cu;
|
|
/* 02C5EF9C */ rbrew_write32(cpu->mem, _t11, cpu->r[12]);
|
|
/* 02C5EFA0 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000010u, 0x0000001Eu);
|
|
/* 02C5EFA4 */ _t12 = cpu->r[30] + 0x0000003Cu;
|
|
/* 02C5EFA4 */ rbrew_write16(cpu->mem, _t12, (uint16_t)cpu->r[0]);
|
|
/* 02C5EFA8 */ _t13 = cpu->r[31] + 0x0000000Cu;
|
|
/* 02C5EFA8 */ cpu->r[10] = rbrew_read16(cpu->mem, _t13);
|
|
/* 02C5EFAC */ cpu->r[5] = rbrew_rlwinm(cpu->r[10], 0x0000001Eu, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02C5EFB0 */ _t14 = cpu->r[31] + 0x00000010u;
|
|
/* 02C5EFB0 */ cpu->r[4] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02C5EFB4 */ cpu->r[3] = cpu->r[30];
|
|
/* 02C5EFB8 */ Gambit_fn_02C4F174(cpu);
|
|
/* 02C5EFBC */ _t15 = cpu->r[31] + 0x00000014u;
|
|
/* 02C5EFBC */ cpu->r[0] = rbrew_read16(cpu->mem, _t15);
|
|
/* 02C5EFC0 */ _t16 = cpu->r[30] + 0x00000040u;
|
|
/* 02C5EFC0 */ rbrew_write16(cpu->mem, _t16, (uint16_t)cpu->r[0]);
|
|
/* 02C5EFC4 */ _t17 = cpu->r[31] + 0x00000016u;
|
|
/* 02C5EFC4 */ cpu->r[0] = rbrew_read16(cpu->mem, _t17);
|
|
/* 02C5EFC8 */ cpu->r[11] = 0x10230000u;
|
|
/* 02C5EFCC */ _t18 = cpu->r[30] + 0x00000024u;
|
|
/* 02C5EFCC */ rbrew_write32(cpu->mem, _t18, cpu->r[0]);
|
|
/* 02C5EFD0 */ _t19 = cpu->r[11] + 0xFFFFAB0Cu;
|
|
/* 02C5EFD0 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t19);
|
|
/* 02C5EFD4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C5EFD8 */ _t20 = cpu->r[30] + 0x00000028u;
|
|
/* 02C5EFD8 */ rbrew_write_f32(cpu->mem, _t20, cpu->f[0]);
|
|
/* 02C5EFDC */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C5EFDC */ _t22 = _t21 & 0x00000001u;
|
|
/* 02C5EFDC */ if (_t22) goto L_02C5F018; else goto L_02C5EFE0;
|
|
L_02C5EFE0: ; // 0x2c5efe0
|
|
/* 02C5EFE0 */ _t23 = cpu->r[30] + 0x00000020u;
|
|
/* 02C5EFE0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02C5EFE4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], cpu->r[9]);
|
|
/* 02C5EFE8 */ _t24 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C5EFE8 */ _t25 = _t24 & 0x00000001u;
|
|
/* 02C5EFE8 */ if (_t25) goto L_02C5F018; else goto L_02C5EFEC;
|
|
L_02C5EFEC: ; // 0x2c5efec
|
|
/* 02C5EFEC */ cpu->r[10] = 0x101B0000u;
|
|
/* 02C5EFF0 */ cpu->r[9] = 0x00000000u;
|
|
/* 02C5EFF4 */ _t26 = cpu->r[10] + 0xFFFFF004u;
|
|
/* 02C5EFF4 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t26);
|
|
/* 02C5EFF8 */ cpu->r[12] = cpu->r[9];
|
|
L_02C5EFFC: ; // 0x2c5effc
|
|
/* 02C5EFFC */ _t27 = cpu->r[30] + 0x0000001Cu;
|
|
/* 02C5EFFC */ cpu->r[11] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02C5F000 */ _t28 = cpu->r[11] + cpu->r[12];
|
|
/* 02C5F000 */ rbrew_write32(cpu->mem, _t28, cpu->r[0]);
|
|
/* 02C5F004 */ _t29 = cpu->r[30] + 0x00000024u;
|
|
/* 02C5F004 */ cpu->r[0] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02C5F008 */ cpu->r[9] = cpu->r[9] + 0x00000001u;
|
|
/* 02C5F00C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], cpu->r[0]);
|
|
/* 02C5F010 */ cpu->r[12] = cpu->r[12] + 0x0000000Cu;
|
|
/* 02C5F014 */ _t30 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C5F014 */ _t31 = _t30 & 0x00000001u;
|
|
/* 02C5F014 */ if (_t31) goto L_02C5EFFC; else goto L_02C5F018;
|
|
L_02C5F018: ; // 0x2c5f018
|
|
/* 02C5F018 */ _t32 = cpu->r[1] + 0x00000014u;
|
|
/* 02C5F018 */ cpu->r[0] = rbrew_read32(cpu->mem, _t32);
|
|
/* 02C5F01C */ _t33 = cpu->r[1] + 0x00000008u;
|
|
/* 02C5F01C */ cpu->r[30] = rbrew_read32(cpu->mem, _t33);
|
|
/* 02C5F020 */ cpu->lr = cpu->r[0];
|
|
/* 02C5F024 */ _t34 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C5F024 */ cpu->r[31] = rbrew_read32(cpu->mem, _t34);
|
|
/* 02C5F028 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C5F02C */ return;
|
|
}
|
|
|
|
// fn_02C5EF5C @ 0x2c5ef5c
|
|
void Gambit_fn_02C5EF5C(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;
|
|
|
|
L_02C5EF5C: ; // 0x2c5ef5c
|
|
/* 02C5EF5C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C5EF5C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C5EF5C */ cpu->r[1] = _t0;
|
|
/* 02C5EF60 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02C5EF60 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02C5EF64 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C5EF64 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02C5EF68 */ cpu->r[31] = cpu->r[4];
|
|
/* 02C5EF6C */ cpu->r[30] = cpu->r[3];
|
|
/* 02C5EF70 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02C5EF70 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02C5EF74 */ _t4 = cpu->r[30] + 0x00000044u;
|
|
/* 02C5EF74 */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
|
|
/* 02C5EF78 */ _t5 = cpu->r[31] + 0x00000028u;
|
|
/* 02C5EF78 */ cpu->r[9] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02C5EF7C */ cpu->r[12] = 0x00000000u;
|
|
/* 02C5EF80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 02C5EF84 */ cpu->r[11] = cpu->r[31] + 0x00000028u;
|
|
/* 02C5EF88 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C5EF88 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02C5EF88 */ if (_t7) goto L_02C5EF90; else goto L_02C5EF8C;
|
|
L_02C5EF8C: ; // 0x2c5ef8c
|
|
/* 02C5EF8C */ cpu->r[12] = cpu->r[11] + cpu->r[9];
|
|
L_02C5EF90: ; // 0x2c5ef90
|
|
/* 02C5EF90 */ _t8 = cpu->r[30] + 0x00000050u;
|
|
/* 02C5EF90 */ rbrew_write32(cpu->mem, _t8, cpu->r[12]);
|
|
/* 02C5EF94 */ _t9 = cpu->r[31] + 0x00000016u;
|
|
/* 02C5EF94 */ cpu->r[12] = rbrew_read16(cpu->mem, _t9);
|
|
/* 02C5EF98 */ _t10 = cpu->r[30] + 0x0000003Cu;
|
|
/* 02C5EF98 */ cpu->r[0] = rbrew_read16(cpu->mem, _t10);
|
|
/* 02C5EF9C */ _t11 = cpu->r[30] + 0x0000004Cu;
|
|
/* 02C5EF9C */ rbrew_write32(cpu->mem, _t11, cpu->r[12]);
|
|
/* 02C5EFA0 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000010u, 0x0000001Eu);
|
|
/* 02C5EFA4 */ _t12 = cpu->r[30] + 0x0000003Cu;
|
|
/* 02C5EFA4 */ rbrew_write16(cpu->mem, _t12, (uint16_t)cpu->r[0]);
|
|
/* 02C5EFA8 */ _t13 = cpu->r[31] + 0x0000000Cu;
|
|
/* 02C5EFA8 */ cpu->r[10] = rbrew_read16(cpu->mem, _t13);
|
|
/* 02C5EFAC */ cpu->r[5] = rbrew_rlwinm(cpu->r[10], 0x0000001Eu, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02C5EFB0 */ _t14 = cpu->r[31] + 0x00000010u;
|
|
/* 02C5EFB0 */ cpu->r[4] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02C5EFB4 */ cpu->r[3] = cpu->r[30];
|
|
/* 02C5EFB8 */ Gambit_fn_02C4F174(cpu);
|
|
/* 02C5EFBC */ _t15 = cpu->r[31] + 0x00000014u;
|
|
/* 02C5EFBC */ cpu->r[0] = rbrew_read16(cpu->mem, _t15);
|
|
/* 02C5EFC0 */ _t16 = cpu->r[30] + 0x00000040u;
|
|
/* 02C5EFC0 */ rbrew_write16(cpu->mem, _t16, (uint16_t)cpu->r[0]);
|
|
/* 02C5EFC4 */ _t17 = cpu->r[31] + 0x00000016u;
|
|
/* 02C5EFC4 */ cpu->r[0] = rbrew_read16(cpu->mem, _t17);
|
|
/* 02C5EFC8 */ cpu->r[11] = 0x10230000u;
|
|
/* 02C5EFCC */ _t18 = cpu->r[30] + 0x00000024u;
|
|
/* 02C5EFCC */ rbrew_write32(cpu->mem, _t18, cpu->r[0]);
|
|
/* 02C5EFD0 */ _t19 = cpu->r[11] + 0xFFFFAB0Cu;
|
|
/* 02C5EFD0 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t19);
|
|
/* 02C5EFD4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C5EFD8 */ _t20 = cpu->r[30] + 0x00000028u;
|
|
/* 02C5EFD8 */ rbrew_write_f32(cpu->mem, _t20, cpu->f[0]);
|
|
/* 02C5EFDC */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C5EFDC */ _t22 = _t21 & 0x00000001u;
|
|
/* 02C5EFDC */ if (_t22) goto L_02C5F018; else goto L_02C5EFE0;
|
|
L_02C5EFE0: ; // 0x2c5efe0
|
|
/* 02C5EFE0 */ _t23 = cpu->r[30] + 0x00000020u;
|
|
/* 02C5EFE0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02C5EFE4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], cpu->r[9]);
|
|
/* 02C5EFE8 */ _t24 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C5EFE8 */ _t25 = _t24 & 0x00000001u;
|
|
/* 02C5EFE8 */ if (_t25) goto L_02C5F018; else goto L_02C5EFEC;
|
|
L_02C5EFEC: ; // 0x2c5efec
|
|
/* 02C5EFEC */ cpu->r[10] = 0x101B0000u;
|
|
/* 02C5EFF0 */ cpu->r[9] = 0x00000000u;
|
|
/* 02C5EFF4 */ _t26 = cpu->r[10] + 0xFFFFF004u;
|
|
/* 02C5EFF4 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t26);
|
|
/* 02C5EFF8 */ cpu->r[12] = cpu->r[9];
|
|
L_02C5EFFC: ; // 0x2c5effc
|
|
/* 02C5EFFC */ _t27 = cpu->r[30] + 0x0000001Cu;
|
|
/* 02C5EFFC */ cpu->r[11] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02C5F000 */ _t28 = cpu->r[11] + cpu->r[12];
|
|
/* 02C5F000 */ rbrew_write32(cpu->mem, _t28, cpu->r[0]);
|
|
/* 02C5F004 */ _t29 = cpu->r[30] + 0x00000024u;
|
|
/* 02C5F004 */ cpu->r[0] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02C5F008 */ cpu->r[9] = cpu->r[9] + 0x00000001u;
|
|
/* 02C5F00C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], cpu->r[0]);
|
|
/* 02C5F010 */ cpu->r[12] = cpu->r[12] + 0x0000000Cu;
|
|
/* 02C5F014 */ _t30 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C5F014 */ _t31 = _t30 & 0x00000001u;
|
|
/* 02C5F014 */ if (_t31) goto L_02C5EFFC; else goto L_02C5F018;
|
|
L_02C5F018: ; // 0x2c5f018
|
|
/* 02C5F018 */ _t32 = cpu->r[1] + 0x00000014u;
|
|
/* 02C5F018 */ cpu->r[0] = rbrew_read32(cpu->mem, _t32);
|
|
/* 02C5F01C */ _t33 = cpu->r[1] + 0x00000008u;
|
|
/* 02C5F01C */ cpu->r[30] = rbrew_read32(cpu->mem, _t33);
|
|
/* 02C5F020 */ cpu->lr = cpu->r[0];
|
|
/* 02C5F024 */ _t34 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C5F024 */ cpu->r[31] = rbrew_read32(cpu->mem, _t34);
|
|
/* 02C5F028 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C5F02C */ return;
|
|
}
|
|
|
|
// fn_02C5F030 @ 0x2c5f030
|
|
void Gambit_fn_02C5F030(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_02801B30: ; // 0x2801b30
|
|
/* 02801B30 */ cpu->r[0] = cpu->lr;
|
|
/* 02801B34 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02801B34 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02801B34 */ cpu->r[1] = _t0;
|
|
/* 02801B38 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B38 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02801B3C */ cpu->r[31] = cpu->r[3];
|
|
/* 02801B40 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02801B44 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B44 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02801B48 */ _t3 = cpu->r[3] + 0xFFFF98F0u;
|
|
/* 02801B48 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02801B4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B50 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B50 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02801B50 */ if (_t5) goto L_02801B54; else goto L_02801B70;
|
|
L_02801B54: ; // 0x2801b54
|
|
/* 02801B54 */ cpu->r[3] = cpu->r[31];
|
|
/* 02801B58 */ Gambit_fn_02801B20(cpu);
|
|
/* 02801B5C */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02801B60 */ _t7 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B60 */ cpu->r[31] = rbrew_read32(cpu->mem, _t7);
|
|
/* 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 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B74 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02801B74 */ if (_t9) 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 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B84 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02801B84 */ if (_t11) goto L_02801B9C; else goto L_02801B88;
|
|
L_02801B88: ; // 0x2801b88
|
|
/* 02801B88 */ _t12 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02801B88 */ cpu->r[12] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02801B8C */ _t13 = cpu->r[12] + 0x0000003Cu;
|
|
/* 02801B8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02801B90 */ cpu->ctr = cpu->r[0];
|
|
/* 02801B94 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B98 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02801B9C: ; // 0x2801b9c
|
|
/* 02801B9C */ _t14 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02801BA0 */ _t15 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801BA0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02801BA4 */ cpu->lr = cpu->r[0];
|
|
/* 02801BA8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801BAC */ return;
|
|
L_02801BB0: ; // 0x2801bb0
|
|
/* 02801BB0 */ goto L_02801B30;
|
|
L_02C5F030: ; // 0x2c5f030
|
|
/* 02C5F030 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C5F034 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C5F034 */ _t17 = _t16 & 0x00000001u;
|
|
/* 02C5F034 */ if (_t17) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02C5F034 */ goto L_02C5F038;
|
|
L_02C5F038: ; // 0x2c5f038
|
|
/* 02C5F038 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02C5F038 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C5F03C */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C5F03C */ _t19 = _t18 & 0x00000001u;
|
|
/* 02C5F03C */ if (_t19) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02C5F03C */ goto L_02C5F040;
|
|
L_02C5F040: ; // 0x2c5f040
|
|
/* 02C5F040 */ goto L_02801BB0;
|
|
}
|
|
|
|
// fn_02C5F044 @ 0x2c5f044
|
|
void Gambit_fn_02C5F044(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17;
|
|
|
|
L_02C5F044: ; // 0x2c5f044
|
|
/* 02C5F044 */ cpu->r[0] = cpu->lr;
|
|
/* 02C5F048 */ _t0 = cpu->r[1] + 0xFFFFFFD8u;
|
|
/* 02C5F048 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C5F048 */ cpu->r[1] = _t0;
|
|
/* 02C5F04C */ _t1 = cpu->r[1] + 0x00000018u;
|
|
/* 02C5F04C */ rbrew_write_f64(cpu->mem, _t1, cpu->f[31]);
|
|
/* 02C5F050 */ /* nop */
|
|
/* 02C5F054 */ _t2 = cpu->r[1] + 0x00000020u;
|
|
/* 02C5F054 */ rbrew_write_f32(cpu->mem, _t2, cpu->f[31]);
|
|
/* 02C5F058 */ _t3 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02C5F058 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02C5F05C */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 02C5F05C */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
|
|
/* 02C5F060 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C5F064 */ _t5 = cpu->r[31] + 0x00000008u;
|
|
/* 02C5F064 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t5);
|
|
/* 02C5F068 */ Gambit_fn_02C883FC(cpu);
|
|
/* 02C5F06C */ cpu->f[31] = cpu->f[1];
|
|
/* 02C5F070 */ _t6 = cpu->r[31] + 0x0000000Cu;
|
|
/* 02C5F070 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t6);
|
|
/* 02C5F074 */ Gambit_fn_02C883FC(cpu);
|
|
/* 02C5F078 */ cpu->r[12] = 0x101B0000u;
|
|
/* 02C5F07C */ _t7 = cpu->r[12] + 0xFFFFF048u;
|
|
/* 02C5F07C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t7);
|
|
/* 02C5F080 */ cpu->r[12] = cpu->r[1] + 0x00000008u;
|
|
/* 02C5F084 */ cpu->f[0] = cpu->f[1] + cpu->f[0];
|
|
/* 02C5F088 */ cpu->f[0] = (uint32_t)(int32_t)cpu->f[0];
|
|
/* 02C5F08C */ cpu->f[13] = (uint32_t)(int32_t)cpu->f[31];
|
|
/* 02C5F090 */ /* nop */
|
|
/* 02C5F094 */ _t8 = cpu->r[1] + 0x00000008u;
|
|
/* 02C5F094 */ cpu->r[11] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C5F098 */ /* nop */
|
|
/* 02C5F09C */ _t9 = cpu->r[1] + 0x00000008u;
|
|
/* 02C5F09C */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02C5F0A0 */ cpu->r[12] = cpu->r[11] - cpu->r[0];
|
|
/* 02C5F0A4 */ cpu->r[0] = cpu->r[12] + 0x00000001u;
|
|
/* 02C5F0A8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000002u);
|
|
/* 02C5F0AC */ cpu->r[3] = 0x00000000u;
|
|
/* 02C5F0B0 */ _t10 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C5F0B0 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02C5F0B0 */ if (_t11) goto L_02C5F0B4; else goto L_02C5F0BC;
|
|
L_02C5F0B4: ; // 0x2c5f0b4
|
|
/* 02C5F0B4 */ cpu->r[11] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02C5F0B8 */ cpu->r[3] = cpu->r[11] + 0x00000010u;
|
|
L_02C5F0BC: ; // 0x2c5f0bc
|
|
/* 02C5F0BC */ _t12 = cpu->r[1] + 0x00000020u;
|
|
/* 02C5F0BC */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t12);
|
|
/* 02C5F0C0 */ _t13 = cpu->r[1] + 0x00000014u;
|
|
/* 02C5F0C0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02C5F0C4 */ _t14 = cpu->r[1] + 0x00000018u;
|
|
/* 02C5F0C4 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t14);
|
|
/* 02C5F0C8 */ _t15 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C5F0C8 */ _t16 = _t15 & 0x00000001u;
|
|
/* 02C5F0C8 */ if (_t16) goto L_02C5F0CC; // else: addr-0 trap, fall-through
|
|
L_02C5F0CC: ; // 0x2c5f0cc
|
|
/* 02C5F0CC */ _t17 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02C5F0CC */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02C5F0D0 */ cpu->lr = cpu->r[0];
|
|
/* 02C5F0D4 */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 02C5F0D8 */ return;
|
|
}
|
|
|
|
// fn_02C5F048 @ 0x2c5f048
|
|
void Gambit_fn_02C5F048(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17;
|
|
|
|
L_02C5F048: ; // 0x2c5f048
|
|
/* 02C5F048 */ _t0 = cpu->r[1] + 0xFFFFFFD8u;
|
|
/* 02C5F048 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C5F048 */ cpu->r[1] = _t0;
|
|
/* 02C5F04C */ _t1 = cpu->r[1] + 0x00000018u;
|
|
/* 02C5F04C */ rbrew_write_f64(cpu->mem, _t1, cpu->f[31]);
|
|
/* 02C5F050 */ /* nop */
|
|
/* 02C5F054 */ _t2 = cpu->r[1] + 0x00000020u;
|
|
/* 02C5F054 */ rbrew_write_f32(cpu->mem, _t2, cpu->f[31]);
|
|
/* 02C5F058 */ _t3 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02C5F058 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02C5F05C */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 02C5F05C */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
|
|
/* 02C5F060 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C5F064 */ _t5 = cpu->r[31] + 0x00000008u;
|
|
/* 02C5F064 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t5);
|
|
/* 02C5F068 */ Gambit_fn_02C883FC(cpu);
|
|
/* 02C5F06C */ cpu->f[31] = cpu->f[1];
|
|
/* 02C5F070 */ _t6 = cpu->r[31] + 0x0000000Cu;
|
|
/* 02C5F070 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t6);
|
|
/* 02C5F074 */ Gambit_fn_02C883FC(cpu);
|
|
/* 02C5F078 */ cpu->r[12] = 0x101B0000u;
|
|
/* 02C5F07C */ _t7 = cpu->r[12] + 0xFFFFF048u;
|
|
/* 02C5F07C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t7);
|
|
/* 02C5F080 */ cpu->r[12] = cpu->r[1] + 0x00000008u;
|
|
/* 02C5F084 */ cpu->f[0] = cpu->f[1] + cpu->f[0];
|
|
/* 02C5F088 */ cpu->f[0] = (uint32_t)(int32_t)cpu->f[0];
|
|
/* 02C5F08C */ cpu->f[13] = (uint32_t)(int32_t)cpu->f[31];
|
|
/* 02C5F090 */ /* nop */
|
|
/* 02C5F094 */ _t8 = cpu->r[1] + 0x00000008u;
|
|
/* 02C5F094 */ cpu->r[11] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C5F098 */ /* nop */
|
|
/* 02C5F09C */ _t9 = cpu->r[1] + 0x00000008u;
|
|
/* 02C5F09C */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02C5F0A0 */ cpu->r[12] = cpu->r[11] - cpu->r[0];
|
|
/* 02C5F0A4 */ cpu->r[0] = cpu->r[12] + 0x00000001u;
|
|
/* 02C5F0A8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000002u);
|
|
/* 02C5F0AC */ cpu->r[3] = 0x00000000u;
|
|
/* 02C5F0B0 */ _t10 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C5F0B0 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02C5F0B0 */ if (_t11) goto L_02C5F0B4; else goto L_02C5F0BC;
|
|
L_02C5F0B4: ; // 0x2c5f0b4
|
|
/* 02C5F0B4 */ cpu->r[11] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02C5F0B8 */ cpu->r[3] = cpu->r[11] + 0x00000010u;
|
|
L_02C5F0BC: ; // 0x2c5f0bc
|
|
/* 02C5F0BC */ _t12 = cpu->r[1] + 0x00000020u;
|
|
/* 02C5F0BC */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t12);
|
|
/* 02C5F0C0 */ _t13 = cpu->r[1] + 0x00000014u;
|
|
/* 02C5F0C0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02C5F0C4 */ _t14 = cpu->r[1] + 0x00000018u;
|
|
/* 02C5F0C4 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t14);
|
|
/* 02C5F0C8 */ _t15 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C5F0C8 */ _t16 = _t15 & 0x00000001u;
|
|
/* 02C5F0C8 */ if (_t16) goto L_02C5F0CC; // else: addr-0 trap, fall-through
|
|
L_02C5F0CC: ; // 0x2c5f0cc
|
|
/* 02C5F0CC */ _t17 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02C5F0CC */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02C5F0D0 */ cpu->lr = cpu->r[0];
|
|
/* 02C5F0D4 */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 02C5F0D8 */ return;
|
|
}
|
|
|
|
// fn_02C5F0DC @ 0x2c5f0dc
|
|
void Gambit_fn_02C5F0DC(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_02C5F0DC: ; // 0x2c5f0dc
|
|
/* 02C5F0DC */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02C5F0DC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C5F0DC */ cpu->r[1] = _t0;
|
|
/* 02C5F0E0 */ _t1 = cpu->r[3] + 0x00000014u;
|
|
/* 02C5F0E0 */ cpu->f[6] = rbrew_read_f32(cpu->mem, _t1);
|
|
/* 02C5F0E4 */ cpu->f[13] = cpu->f[1];
|
|
/* 02C5F0E8 */ _t2 = cpu->r[4] + 0x00000000u;
|
|
/* 02C5F0E8 */ rbrew_write_f32(cpu->mem, _t2, cpu->f[6]);
|
|
/* 02C5F0EC */ _t3 = cpu->r[3] + 0x00000008u;
|
|
/* 02C5F0EC */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t3);
|
|
/* 02C5F0F0 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[13], cpu->f[1]);
|
|
/* 02C5F0F4 */ _t4 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02C5F0F4 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t4);
|
|
/* 02C5F0F8 */ _t5 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C5F0F8 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02C5F0F8 */ if (_t6) goto L_02C5F104; else goto L_02C5F0FC;
|
|
L_02C5F0FC: ; // 0x2c5f0fc
|
|
/* 02C5F0FC */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[13], cpu->f[11]);
|
|
/* 02C5F100 */ _t7 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C5F100 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02C5F100 */ if (_t8) goto L_02C5F104; else goto L_02C5F210;
|
|
L_02C5F104: ; // 0x2c5f104
|
|
/* 02C5F104 */ cpu->r[9] = 0x101B0000u;
|
|
/* 02C5F108 */ cpu->f[5] = cpu->f[1] - cpu->f[13];
|
|
/* 02C5F10C */ _t9 = cpu->r[9] + 0xFFFFF04Cu;
|
|
/* 02C5F10C */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t9);
|
|
/* 02C5F110 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[5], cpu->f[10]);
|
|
/* 02C5F114 */ _t10 = cpu->r[3] + 0x00000000u;
|
|
/* 02C5F114 */ cpu->r[7] = rbrew_read16(cpu->mem, _t10);
|
|
/* 02C5F118 */ cpu->r[12] = 0x00000000u;
|
|
/* 02C5F11C */ _t11 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C5F11C */ _t12 = _t11 & 0x00000001u;
|
|
/* 02C5F11C */ if (_t12) goto L_02C5F120; else goto L_02C5F130;
|
|
L_02C5F120: ; // 0x2c5f120
|
|
/* 02C5F120 */ cpu->r[11] = rbrew_rlwinm(cpu->r[7], 0x00000018u, 0x0000001Eu, 0x0000001Fu);
|
|
/* 02C5F120 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02C5F124 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C5F124 */ _t14 = _t13 & 0x00000001u;
|
|
/* 02C5F124 */ if (_t14) goto L_02C5F128; else goto L_02C5F14C;
|
|
L_02C5F128: ; // 0x2c5f128
|
|
/* 02C5F128 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C5F12C */ return;
|
|
L_02C5F130: ; // 0x2c5f130
|
|
/* 02C5F130 */ cpu->r[11] = rbrew_rlwinm(cpu->r[7], 0x00000014u, 0x0000001Eu, 0x0000001Fu);
|
|
/* 02C5F130 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02C5F134 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C5F134 */ _t16 = _t15 & 0x00000001u;
|
|
/* 02C5F134 */ if (_t16) goto L_02C5F138; else goto L_02C5F144;
|
|
L_02C5F138: ; // 0x2c5f138
|
|
/* 02C5F138 */ cpu->f[1] = cpu->f[11];
|
|
/* 02C5F13C */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C5F140 */ return;
|
|
L_02C5F144: ; // 0x2c5f144
|
|
/* 02C5F144 */ cpu->f[5] = cpu->f[13] - cpu->f[11];
|
|
/* 02C5F148 */ cpu->r[12] = 0x00000001u;
|
|
L_02C5F14C: ; // 0x2c5f14c
|
|
/* 02C5F14C */ cpu->f[7] = cpu->f[11] - cpu->f[1];
|
|
/* 02C5F150 */ cpu->r[10] = 0x101B0000u;
|
|
/* 02C5F154 */ cpu->f[9] = cpu->f[5] / cpu->f[7];
|
|
/* 02C5F158 */ _t17 = cpu->r[10] + 0xFFFFF050u;
|
|
/* 02C5F158 */ cpu->f[0] = rbrew_read_f64(cpu->mem, _t17);
|
|
/* 02C5F15C */ cpu->f[12] = (uint32_t)(int32_t)cpu->f[9];
|
|
/* 02C5F160 */ cpu->r[10] = 0x43300000u;
|
|
/* 02C5F164 */ cpu->r[9] = cpu->r[1] + 0x00000008u;
|
|
/* 02C5F168 */ /* nop */
|
|
/* 02C5F16C */ _t18 = cpu->r[1] + 0x00000008u;
|
|
/* 02C5F16C */ cpu->r[9] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02C5F170 */ _t19 = cpu->r[1] + 0x00000008u;
|
|
/* 02C5F170 */ rbrew_write32(cpu->mem, _t19, cpu->r[10]);
|
|
/* 02C5F174 */ cpu->r[0] = cpu->r[9] ^ 0x80000000u;
|
|
/* 02C5F178 */ _t20 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C5F178 */ rbrew_write32(cpu->mem, _t20, cpu->r[0]);
|
|
/* 02C5F17C */ _t21 = cpu->r[1] + 0x00000008u;
|
|
/* 02C5F17C */ cpu->f[8] = rbrew_read_f64(cpu->mem, _t21);
|
|
/* 02C5F180 */ cpu->f[9] = cpu->f[8] - cpu->f[0];
|
|
/* 02C5F184 */ cpu->f[12] = (double)(float)cpu->f[9];
|
|
/* 02C5F188 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000003u);
|
|
/* 02C5F18C */ cpu->r[7] = 0x00000001u;
|
|
/* 02C5F190 */ cpu->f[0] = -fma(cpu->f[7], cpu->f[12], -(cpu->f[5]));
|
|
/* 02C5F194 */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C5F194 */ _t23 = _t22 & 0x00000001u;
|
|
/* 02C5F194 */ if (_t23) goto L_02C5F198; else goto L_02C5F1E8;
|
|
L_02C5F198: ; // 0x2c5f198
|
|
/* 02C5F198 */ cpu->r[8] = 0x101B0000u;
|
|
/* 02C5F19C */ cpu->r[10] = 0x43300000u;
|
|
/* 02C5F1A0 */ cpu->r[0] = cpu->r[9] + 0x00000001u;
|
|
/* 02C5F1A4 */ _t24 = cpu->r[8] + 0xFFFFF050u;
|
|
/* 02C5F1A4 */ cpu->f[12] = rbrew_read_f64(cpu->mem, _t24);
|
|
/* 02C5F1A8 */ cpu->r[0] = cpu->r[0] ^ 0x80000000u;
|
|
/* 02C5F1AC */ _t25 = cpu->r[1] + 0x00000008u;
|
|
/* 02C5F1AC */ rbrew_write32(cpu->mem, _t25, cpu->r[10]);
|
|
/* 02C5F1B0 */ _t26 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C5F1B0 */ rbrew_write32(cpu->mem, _t26, cpu->r[0]);
|
|
/* 02C5F1B4 */ _t27 = cpu->r[1] + 0x00000008u;
|
|
/* 02C5F1B4 */ cpu->f[10] = rbrew_read_f64(cpu->mem, _t27);
|
|
/* 02C5F1B8 */ cpu->f[13] = cpu->f[10] - cpu->f[12];
|
|
/* 02C5F1BC */ cpu->f[8] = (double)(float)cpu->f[13];
|
|
/* 02C5F1C0 */ _t28 = cpu->r[3] + 0x00000018u;
|
|
/* 02C5F1C0 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t28);
|
|
/* 02C5F1C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02C5F1C8 */ cpu->f[7] = cpu->f[8] * cpu->f[10];
|
|
/* 02C5F1CC */ _t29 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C5F1CC */ _t30 = _t29 & 0x00000001u;
|
|
/* 02C5F1CC */ if (_t30) goto L_02C5F1D0; else goto L_02C5F1D4;
|
|
L_02C5F1D0: ; // 0x2c5f1d0
|
|
/* 02C5F1D0 */ cpu->f[7] = -cpu->f[7];
|
|
L_02C5F1D4: ; // 0x2c5f1d4
|
|
/* 02C5F1D4 */ cpu->f[13] = cpu->f[6] + cpu->f[7];
|
|
/* 02C5F1D8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[12]);
|
|
/* 02C5F1DC */ _t31 = cpu->r[4] + 0x00000000u;
|
|
/* 02C5F1DC */ rbrew_write_f32(cpu->mem, _t31, cpu->f[13]);
|
|
/* 02C5F1E0 */ _t32 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C5F1E0 */ _t33 = _t32 & 0x00000001u;
|
|
/* 02C5F1E0 */ if (_t33) goto L_02C5F20C; else goto L_02C5F1E4;
|
|
L_02C5F1E4: ; // 0x2c5f1e4
|
|
/* 02C5F1E4 */ goto L_02C5F204;
|
|
L_02C5F1E8: ; // 0x2c5f1e8
|
|
/* 02C5F1E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000002u);
|
|
/* 02C5F1EC */ _t34 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C5F1EC */ _t35 = _t34 & 0x00000001u;
|
|
/* 02C5F1EC */ if (_t35) goto L_02C5F1F0; else goto L_02C5F1FC;
|
|
L_02C5F1F0: ; // 0x2c5f1f0
|
|
/* 02C5F1F0 */ cpu->r[8] = rbrew_rlwinm(cpu->r[9], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02C5F1F0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 02C5F1F4 */ _t36 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C5F1F4 */ _t37 = _t36 & 0x00000001u;
|
|
/* 02C5F1F4 */ if (_t37) goto L_02C5F1F8; else goto L_02C5F1FC;
|
|
L_02C5F1F8: ; // 0x2c5f1f8
|
|
/* 02C5F1F8 */ cpu->r[7] = 0x00000000u;
|
|
L_02C5F1FC: ; // 0x2c5f1fc
|
|
/* 02C5F1FC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[12]);
|
|
/* 02C5F200 */ _t38 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C5F200 */ _t39 = _t38 & 0x00000001u;
|
|
/* 02C5F200 */ if (_t39) goto L_02C5F20C; else goto L_02C5F204;
|
|
L_02C5F204: ; // 0x2c5f204
|
|
/* 02C5F204 */ cpu->f[1] = cpu->f[11] - cpu->f[0];
|
|
/* 02C5F208 */ goto L_02C5F214;
|
|
L_02C5F20C: ; // 0x2c5f20c
|
|
/* 02C5F20C */ cpu->f[13] = cpu->f[1] + cpu->f[0];
|
|
L_02C5F210: ; // 0x2c5f210
|
|
/* 02C5F210 */ cpu->f[1] = cpu->f[13];
|
|
L_02C5F214: ; // 0x2c5f214
|
|
/* 02C5F214 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C5F218 */ return;
|
|
}
|
|
|
|
// fn_02C5F21C @ 0x2c5f21c
|
|
void Gambit_fn_02C5F21C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17;
|
|
|
|
L_02C5F21C: ; // 0x2c5f21c
|
|
/* 02C5F21C */ cpu->r[0] = cpu->lr;
|
|
/* 02C5F220 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C5F220 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C5F220 */ cpu->r[1] = _t0;
|
|
/* 02C5F224 */ cpu->r[6] = cpu->r[4];
|
|
/* 02C5F228 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C5F228 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02C5F22C */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02C5F230 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C5F234 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02C5F234 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02C5F238 */ Gambit_fn_02C5F0DC(cpu);
|
|
/* 02C5F23C */ _t3 = cpu->r[31] + 0x00000000u;
|
|
/* 02C5F23C */ cpu->r[0] = rbrew_read16(cpu->mem, _t3);
|
|
/* 02C5F240 */ cpu->r[10] = rbrew_rlwinm(cpu->r[0], 0x0000001Cu, 0x0000001Du, 0x0000001Fu);
|
|
/* 02C5F244 */ cpu->r[12] = (uint32_t)((int32_t)cpu->r[10] * (int32_t)0x00000003u);
|
|
/* 02C5F248 */ cpu->r[11] = rbrew_rlwinm(cpu->r[0], 0x0000001Eu, 0x0000001Eu, 0x0000001Fu);
|
|
/* 02C5F24C */ cpu->r[0] = cpu->r[12] + cpu->r[11];
|
|
/* 02C5F250 */ cpu->r[7] = rbrew_rlwinm(cpu->r[0], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 02C5F254 */ cpu->r[8] = cpu->r[7] + 0x101B0000u;
|
|
/* 02C5F258 */ cpu->r[7] = cpu->r[8] + 0xFFFFF098u;
|
|
/* 02C5F25C */ _t4 = cpu->r[7] + 0x00000002u;
|
|
/* 02C5F25C */ cpu->r[8] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t4);
|
|
/* 02C5F260 */ _t5 = cpu->r[7] + 0x00000000u;
|
|
/* 02C5F260 */ cpu->r[9] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t5);
|
|
/* 02C5F264 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 02C5F268 */ cpu->r[3] = cpu->r[31] + cpu->r[9];
|
|
/* 02C5F26C */ _t6 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C5F26C */ _t7 = _t6 & 0x00000001u;
|
|
/* 02C5F26C */ if (_t7) goto L_02C5F270; else goto L_02C5F290;
|
|
L_02C5F270: ; // 0x2c5f270
|
|
/* 02C5F270 */ _t8 = cpu->r[7] + 0x00000004u;
|
|
/* 02C5F270 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C5F274 */ cpu->ctr = cpu->r[0];
|
|
/* 02C5F278 */ cpu->r[4] = cpu->r[6];
|
|
/* 02C5F27C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02C5F280 */ _t9 = cpu->r[31] + 0x00000010u;
|
|
/* 02C5F280 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t9);
|
|
/* 02C5F284 */ _t10 = cpu->r[1] + 0x00000008u;
|
|
/* 02C5F284 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t10);
|
|
/* 02C5F288 */ cpu->f[1] = fma(cpu->f[1], cpu->f[13], cpu->f[0]);
|
|
/* 02C5F28C */ goto L_02C5F2BC;
|
|
L_02C5F290: ; // 0x2c5f290
|
|
/* 02C5F290 */ _t11 = cpu->r[7] + 0x00000006u;
|
|
/* 02C5F290 */ cpu->r[10] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t11);
|
|
/* 02C5F294 */ _t12 = cpu->r[3] + cpu->r[10];
|
|
/* 02C5F294 */ cpu->r[12] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02C5F298 */ cpu->r[0] = rbrew_rlwinm(cpu->r[8], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 02C5F29C */ cpu->r[9] = cpu->r[12] + cpu->r[0];
|
|
/* 02C5F2A0 */ _t13 = cpu->r[9] + 0x00000004u;
|
|
/* 02C5F2A0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02C5F2A4 */ cpu->ctr = cpu->r[0];
|
|
/* 02C5F2A8 */ cpu->r[4] = cpu->r[6];
|
|
/* 02C5F2AC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02C5F2B0 */ _t14 = cpu->r[31] + 0x00000010u;
|
|
/* 02C5F2B0 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t14);
|
|
/* 02C5F2B4 */ _t15 = cpu->r[1] + 0x00000008u;
|
|
/* 02C5F2B4 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t15);
|
|
/* 02C5F2B8 */ cpu->f[1] = fma(cpu->f[1], cpu->f[13], cpu->f[0]);
|
|
L_02C5F2BC: ; // 0x2c5f2bc
|
|
/* 02C5F2BC */ _t16 = cpu->r[1] + 0x00000014u;
|
|
/* 02C5F2BC */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02C5F2C0 */ _t17 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C5F2C0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02C5F2C4 */ cpu->lr = cpu->r[0];
|
|
/* 02C5F2C8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C5F2CC */ return;
|
|
}
|
|
|
|
// fn_02C5F220 @ 0x2c5f220
|
|
void Gambit_fn_02C5F220(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17;
|
|
|
|
L_02C5F220: ; // 0x2c5f220
|
|
/* 02C5F220 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C5F220 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C5F220 */ cpu->r[1] = _t0;
|
|
/* 02C5F224 */ cpu->r[6] = cpu->r[4];
|
|
/* 02C5F228 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C5F228 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02C5F22C */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02C5F230 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C5F234 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02C5F234 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02C5F238 */ Gambit_fn_02C5F0DC(cpu);
|
|
/* 02C5F23C */ _t3 = cpu->r[31] + 0x00000000u;
|
|
/* 02C5F23C */ cpu->r[0] = rbrew_read16(cpu->mem, _t3);
|
|
/* 02C5F240 */ cpu->r[10] = rbrew_rlwinm(cpu->r[0], 0x0000001Cu, 0x0000001Du, 0x0000001Fu);
|
|
/* 02C5F244 */ cpu->r[12] = (uint32_t)((int32_t)cpu->r[10] * (int32_t)0x00000003u);
|
|
/* 02C5F248 */ cpu->r[11] = rbrew_rlwinm(cpu->r[0], 0x0000001Eu, 0x0000001Eu, 0x0000001Fu);
|
|
/* 02C5F24C */ cpu->r[0] = cpu->r[12] + cpu->r[11];
|
|
/* 02C5F250 */ cpu->r[7] = rbrew_rlwinm(cpu->r[0], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 02C5F254 */ cpu->r[8] = cpu->r[7] + 0x101B0000u;
|
|
/* 02C5F258 */ cpu->r[7] = cpu->r[8] + 0xFFFFF098u;
|
|
/* 02C5F25C */ _t4 = cpu->r[7] + 0x00000002u;
|
|
/* 02C5F25C */ cpu->r[8] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t4);
|
|
/* 02C5F260 */ _t5 = cpu->r[7] + 0x00000000u;
|
|
/* 02C5F260 */ cpu->r[9] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t5);
|
|
/* 02C5F264 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 02C5F268 */ cpu->r[3] = cpu->r[31] + cpu->r[9];
|
|
/* 02C5F26C */ _t6 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C5F26C */ _t7 = _t6 & 0x00000001u;
|
|
/* 02C5F26C */ if (_t7) goto L_02C5F270; else goto L_02C5F290;
|
|
L_02C5F270: ; // 0x2c5f270
|
|
/* 02C5F270 */ _t8 = cpu->r[7] + 0x00000004u;
|
|
/* 02C5F270 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C5F274 */ cpu->ctr = cpu->r[0];
|
|
/* 02C5F278 */ cpu->r[4] = cpu->r[6];
|
|
/* 02C5F27C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02C5F280 */ _t9 = cpu->r[31] + 0x00000010u;
|
|
/* 02C5F280 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t9);
|
|
/* 02C5F284 */ _t10 = cpu->r[1] + 0x00000008u;
|
|
/* 02C5F284 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t10);
|
|
/* 02C5F288 */ cpu->f[1] = fma(cpu->f[1], cpu->f[13], cpu->f[0]);
|
|
/* 02C5F28C */ goto L_02C5F2BC;
|
|
L_02C5F290: ; // 0x2c5f290
|
|
/* 02C5F290 */ _t11 = cpu->r[7] + 0x00000006u;
|
|
/* 02C5F290 */ cpu->r[10] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t11);
|
|
/* 02C5F294 */ _t12 = cpu->r[3] + cpu->r[10];
|
|
/* 02C5F294 */ cpu->r[12] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02C5F298 */ cpu->r[0] = rbrew_rlwinm(cpu->r[8], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 02C5F29C */ cpu->r[9] = cpu->r[12] + cpu->r[0];
|
|
/* 02C5F2A0 */ _t13 = cpu->r[9] + 0x00000004u;
|
|
/* 02C5F2A0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02C5F2A4 */ cpu->ctr = cpu->r[0];
|
|
/* 02C5F2A8 */ cpu->r[4] = cpu->r[6];
|
|
/* 02C5F2AC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02C5F2B0 */ _t14 = cpu->r[31] + 0x00000010u;
|
|
/* 02C5F2B0 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t14);
|
|
/* 02C5F2B4 */ _t15 = cpu->r[1] + 0x00000008u;
|
|
/* 02C5F2B4 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t15);
|
|
/* 02C5F2B8 */ cpu->f[1] = fma(cpu->f[1], cpu->f[13], cpu->f[0]);
|
|
L_02C5F2BC: ; // 0x2c5f2bc
|
|
/* 02C5F2BC */ _t16 = cpu->r[1] + 0x00000014u;
|
|
/* 02C5F2BC */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02C5F2C0 */ _t17 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C5F2C0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02C5F2C4 */ cpu->lr = cpu->r[0];
|
|
/* 02C5F2C8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C5F2CC */ return;
|
|
}
|
|
|
|
// fn_02C5F2D0 @ 0x2c5f2d0
|
|
void Gambit_fn_02C5F2D0(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_02C5F2D0: ; // 0x2c5f2d0
|
|
/* 02C5F2D0 */ cpu->r[0] = cpu->lr;
|
|
/* 02C5F2D4 */ _t0 = cpu->r[1] + 0xFFFFFFD8u;
|
|
/* 02C5F2D4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C5F2D4 */ cpu->r[1] = _t0;
|
|
/* 02C5F2D8 */ _t1 = cpu->r[1] + 0x00000018u;
|
|
/* 02C5F2D8 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[31]);
|
|
/* 02C5F2DC */ /* nop */
|
|
/* 02C5F2E0 */ _t2 = cpu->r[1] + 0x00000020u;
|
|
/* 02C5F2E0 */ rbrew_write_f32(cpu->mem, _t2, cpu->f[31]);
|
|
/* 02C5F2E4 */ _t3 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02C5F2E4 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02C5F2E8 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 02C5F2E8 */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
|
|
/* 02C5F2EC */ cpu->r[31] = cpu->r[3];
|
|
/* 02C5F2F0 */ _t5 = cpu->r[31] + 0x00000008u;
|
|
/* 02C5F2F0 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t5);
|
|
/* 02C5F2F4 */ Gambit_fn_02C883FC(cpu);
|
|
/* 02C5F2F8 */ cpu->f[31] = cpu->f[1];
|
|
/* 02C5F2FC */ _t6 = cpu->r[31] + 0x0000000Cu;
|
|
/* 02C5F2FC */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t6);
|
|
/* 02C5F300 */ Gambit_fn_02C883FC(cpu);
|
|
/* 02C5F304 */ cpu->f[13] = (uint32_t)(int32_t)cpu->f[1];
|
|
/* 02C5F308 */ cpu->r[0] = cpu->r[1] + 0x00000008u;
|
|
/* 02C5F30C */ cpu->f[0] = (uint32_t)(int32_t)cpu->f[31];
|
|
/* 02C5F310 */ /* nop */
|
|
/* 02C5F314 */ _t7 = cpu->r[1] + 0x00000008u;
|
|
/* 02C5F314 */ cpu->r[12] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02C5F318 */ /* nop */
|
|
/* 02C5F31C */ _t8 = cpu->r[1] + 0x00000008u;
|
|
/* 02C5F31C */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C5F320 */ cpu->r[12] = cpu->r[12] - cpu->r[0];
|
|
/* 02C5F324 */ cpu->r[12] = cpu->r[12] + 0x00000001u;
|
|
/* 02C5F328 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000002u);
|
|
/* 02C5F32C */ _t9 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C5F32C */ _t10 = _t9 & 0x00000001u;
|
|
/* 02C5F32C */ if (_t10) goto L_02C5F354; else goto L_02C5F330;
|
|
L_02C5F330: ; // 0x2c5f330
|
|
/* 02C5F330 */ _t11 = cpu->r[1] + 0x00000020u;
|
|
/* 02C5F330 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t11);
|
|
/* 02C5F334 */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 02C5F334 */ cpu->r[31] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02C5F338 */ _t13 = cpu->r[1] + 0x00000018u;
|
|
/* 02C5F338 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t13);
|
|
/* 02C5F33C */ cpu->r[3] = 0x00000000u;
|
|
/* 02C5F340 */ _t14 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C5F340 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02C5F340 */ if (_t15) goto L_02C5F344; // else: addr-0 trap, fall-through
|
|
L_02C5F344: ; // 0x2c5f344
|
|
/* 02C5F344 */ _t16 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02C5F344 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02C5F348 */ cpu->lr = cpu->r[0];
|
|
/* 02C5F34C */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 02C5F350 */ return;
|
|
L_02C5F354: ; // 0x2c5f354
|
|
/* 02C5F354 */ _t17 = cpu->r[31] + 0x00000000u;
|
|
/* 02C5F354 */ cpu->r[0] = rbrew_read16(cpu->mem, _t17);
|
|
/* 02C5F358 */ cpu->r[10] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000019u, 0x0000001Bu);
|
|
/* 02C5F35C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], 0x00000040u);
|
|
/* 02C5F360 */ cpu->r[11] = 0x00000000u;
|
|
/* 02C5F364 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C5F364 */ _t19 = _t18 & 0x00000001u;
|
|
/* 02C5F364 */ if (_t19) goto L_02C5F388; else goto L_02C5F368;
|
|
L_02C5F368: ; // 0x2c5f368
|
|
/* 02C5F368 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], 0x00000050u);
|
|
/* 02C5F36C */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C5F36C */ _t21 = _t20 & 0x00000001u;
|
|
/* 02C5F36C */ if (_t21) goto L_02C5F388; else goto L_02C5F370;
|
|
L_02C5F370: ; // 0x2c5f370
|
|
/* 02C5F370 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], 0x00000060u);
|
|
/* 02C5F374 */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C5F374 */ _t23 = _t22 & 0x00000001u;
|
|
/* 02C5F374 */ if (_t23) goto L_02C5F3BC; else goto L_02C5F378;
|
|
L_02C5F378: ; // 0x2c5f378
|
|
/* 02C5F378 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], 0x00000070u);
|
|
/* 02C5F37C */ _t24 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C5F37C */ _t25 = _t24 & 0x00000001u;
|
|
/* 02C5F37C */ if (_t25) goto L_02C5F3BC; else goto L_02C5F380;
|
|
L_02C5F380: ; // 0x2c5f380
|
|
/* 02C5F380 */ cpu->r[3] = cpu->r[11] + 0x00000008u;
|
|
/* 02C5F384 */ goto L_02C5F3C8;
|
|
L_02C5F388: ; // 0x2c5f388
|
|
/* 02C5F388 */ cpu->r[10] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x0000001Cu, 0x0000001Du);
|
|
/* 02C5F38C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000008u);
|
|
/* 02C5F390 */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C5F390 */ _t27 = _t26 & 0x00000001u;
|
|
/* 02C5F390 */ if (_t27) goto L_02C5F394; else goto L_02C5F39C;
|
|
L_02C5F394: ; // 0x2c5f394
|
|
/* 02C5F394 */ cpu->r[3] = cpu->r[12] + 0x00000008u;
|
|
/* 02C5F398 */ goto L_02C5F3C8;
|
|
L_02C5F39C: ; // 0x2c5f39c
|
|
/* 02C5F39C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000004u);
|
|
/* 02C5F3A0 */ _t28 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C5F3A0 */ _t29 = _t28 & 0x00000001u;
|
|
/* 02C5F3A0 */ if (_t29) goto L_02C5F3A4; else goto L_02C5F3B0;
|
|
L_02C5F3A4: ; // 0x2c5f3a4
|
|
/* 02C5F3A4 */ cpu->r[11] = rbrew_rlwinm(cpu->r[12], 0x00000001u, 0x00000000u, 0x0000001Eu);
|
|
/* 02C5F3A8 */ cpu->r[3] = cpu->r[11] + 0x00000008u;
|
|
/* 02C5F3AC */ goto L_02C5F3C8;
|
|
L_02C5F3B0: ; // 0x2c5f3b0
|
|
/* 02C5F3B0 */ cpu->r[11] = rbrew_rlwinm(cpu->r[12], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02C5F3B4 */ cpu->r[3] = cpu->r[11] + 0x00000008u;
|
|
/* 02C5F3B8 */ goto L_02C5F3C8;
|
|
L_02C5F3BC: ; // 0x2c5f3bc
|
|
/* 02C5F3BC */ cpu->r[12] = cpu->r[12] + 0x0000001Fu;
|
|
/* 02C5F3C0 */ cpu->r[11] = rbrew_rlwinm(cpu->r[12], 0x0000001Du, 0x00000003u, 0x0000001Du);
|
|
/* 02C5F3C4 */ cpu->r[3] = cpu->r[11] + 0x00000008u;
|
|
L_02C5F3C8: ; // 0x2c5f3c8
|
|
/* 02C5F3C8 */ _t30 = cpu->r[1] + 0x00000020u;
|
|
/* 02C5F3C8 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t30);
|
|
/* 02C5F3CC */ _t31 = cpu->r[1] + 0x00000014u;
|
|
/* 02C5F3CC */ cpu->r[31] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02C5F3D0 */ _t32 = cpu->r[1] + 0x00000018u;
|
|
/* 02C5F3D0 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t32);
|
|
/* 02C5F3D4 */ _t33 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C5F3D4 */ _t34 = _t33 & 0x00000001u;
|
|
/* 02C5F3D4 */ if (_t34) goto L_02C5F3D8; // else: addr-0 trap, fall-through
|
|
L_02C5F3D8: ; // 0x2c5f3d8
|
|
/* 02C5F3D8 */ _t35 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02C5F3D8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t35);
|
|
/* 02C5F3DC */ cpu->lr = cpu->r[0];
|
|
/* 02C5F3E0 */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 02C5F3E4 */ return;
|
|
}
|
|
|
|
// fn_02C5F2D4 @ 0x2c5f2d4
|
|
void Gambit_fn_02C5F2D4(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_02C5F2D4: ; // 0x2c5f2d4
|
|
/* 02C5F2D4 */ _t0 = cpu->r[1] + 0xFFFFFFD8u;
|
|
/* 02C5F2D4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C5F2D4 */ cpu->r[1] = _t0;
|
|
/* 02C5F2D8 */ _t1 = cpu->r[1] + 0x00000018u;
|
|
/* 02C5F2D8 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[31]);
|
|
/* 02C5F2DC */ /* nop */
|
|
/* 02C5F2E0 */ _t2 = cpu->r[1] + 0x00000020u;
|
|
/* 02C5F2E0 */ rbrew_write_f32(cpu->mem, _t2, cpu->f[31]);
|
|
/* 02C5F2E4 */ _t3 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02C5F2E4 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02C5F2E8 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 02C5F2E8 */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
|
|
/* 02C5F2EC */ cpu->r[31] = cpu->r[3];
|
|
/* 02C5F2F0 */ _t5 = cpu->r[31] + 0x00000008u;
|
|
/* 02C5F2F0 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t5);
|
|
/* 02C5F2F4 */ Gambit_fn_02C883FC(cpu);
|
|
/* 02C5F2F8 */ cpu->f[31] = cpu->f[1];
|
|
/* 02C5F2FC */ _t6 = cpu->r[31] + 0x0000000Cu;
|
|
/* 02C5F2FC */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t6);
|
|
/* 02C5F300 */ Gambit_fn_02C883FC(cpu);
|
|
/* 02C5F304 */ cpu->f[13] = (uint32_t)(int32_t)cpu->f[1];
|
|
/* 02C5F308 */ cpu->r[0] = cpu->r[1] + 0x00000008u;
|
|
/* 02C5F30C */ cpu->f[0] = (uint32_t)(int32_t)cpu->f[31];
|
|
/* 02C5F310 */ /* nop */
|
|
/* 02C5F314 */ _t7 = cpu->r[1] + 0x00000008u;
|
|
/* 02C5F314 */ cpu->r[12] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02C5F318 */ /* nop */
|
|
/* 02C5F31C */ _t8 = cpu->r[1] + 0x00000008u;
|
|
/* 02C5F31C */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C5F320 */ cpu->r[12] = cpu->r[12] - cpu->r[0];
|
|
/* 02C5F324 */ cpu->r[12] = cpu->r[12] + 0x00000001u;
|
|
/* 02C5F328 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000002u);
|
|
/* 02C5F32C */ _t9 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C5F32C */ _t10 = _t9 & 0x00000001u;
|
|
/* 02C5F32C */ if (_t10) goto L_02C5F354; else goto L_02C5F330;
|
|
L_02C5F330: ; // 0x2c5f330
|
|
/* 02C5F330 */ _t11 = cpu->r[1] + 0x00000020u;
|
|
/* 02C5F330 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t11);
|
|
/* 02C5F334 */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 02C5F334 */ cpu->r[31] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02C5F338 */ _t13 = cpu->r[1] + 0x00000018u;
|
|
/* 02C5F338 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t13);
|
|
/* 02C5F33C */ cpu->r[3] = 0x00000000u;
|
|
/* 02C5F340 */ _t14 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C5F340 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02C5F340 */ if (_t15) goto L_02C5F344; // else: addr-0 trap, fall-through
|
|
L_02C5F344: ; // 0x2c5f344
|
|
/* 02C5F344 */ _t16 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02C5F344 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02C5F348 */ cpu->lr = cpu->r[0];
|
|
/* 02C5F34C */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 02C5F350 */ return;
|
|
L_02C5F354: ; // 0x2c5f354
|
|
/* 02C5F354 */ _t17 = cpu->r[31] + 0x00000000u;
|
|
/* 02C5F354 */ cpu->r[0] = rbrew_read16(cpu->mem, _t17);
|
|
/* 02C5F358 */ cpu->r[10] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000019u, 0x0000001Bu);
|
|
/* 02C5F35C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], 0x00000040u);
|
|
/* 02C5F360 */ cpu->r[11] = 0x00000000u;
|
|
/* 02C5F364 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C5F364 */ _t19 = _t18 & 0x00000001u;
|
|
/* 02C5F364 */ if (_t19) goto L_02C5F388; else goto L_02C5F368;
|
|
L_02C5F368: ; // 0x2c5f368
|
|
/* 02C5F368 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], 0x00000050u);
|
|
/* 02C5F36C */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C5F36C */ _t21 = _t20 & 0x00000001u;
|
|
/* 02C5F36C */ if (_t21) goto L_02C5F388; else goto L_02C5F370;
|
|
L_02C5F370: ; // 0x2c5f370
|
|
/* 02C5F370 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], 0x00000060u);
|
|
/* 02C5F374 */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C5F374 */ _t23 = _t22 & 0x00000001u;
|
|
/* 02C5F374 */ if (_t23) goto L_02C5F3BC; else goto L_02C5F378;
|
|
L_02C5F378: ; // 0x2c5f378
|
|
/* 02C5F378 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], 0x00000070u);
|
|
/* 02C5F37C */ _t24 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C5F37C */ _t25 = _t24 & 0x00000001u;
|
|
/* 02C5F37C */ if (_t25) goto L_02C5F3BC; else goto L_02C5F380;
|
|
L_02C5F380: ; // 0x2c5f380
|
|
/* 02C5F380 */ cpu->r[3] = cpu->r[11] + 0x00000008u;
|
|
/* 02C5F384 */ goto L_02C5F3C8;
|
|
L_02C5F388: ; // 0x2c5f388
|
|
/* 02C5F388 */ cpu->r[10] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x0000001Cu, 0x0000001Du);
|
|
/* 02C5F38C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000008u);
|
|
/* 02C5F390 */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C5F390 */ _t27 = _t26 & 0x00000001u;
|
|
/* 02C5F390 */ if (_t27) goto L_02C5F394; else goto L_02C5F39C;
|
|
L_02C5F394: ; // 0x2c5f394
|
|
/* 02C5F394 */ cpu->r[3] = cpu->r[12] + 0x00000008u;
|
|
/* 02C5F398 */ goto L_02C5F3C8;
|
|
L_02C5F39C: ; // 0x2c5f39c
|
|
/* 02C5F39C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000004u);
|
|
/* 02C5F3A0 */ _t28 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C5F3A0 */ _t29 = _t28 & 0x00000001u;
|
|
/* 02C5F3A0 */ if (_t29) goto L_02C5F3A4; else goto L_02C5F3B0;
|
|
L_02C5F3A4: ; // 0x2c5f3a4
|
|
/* 02C5F3A4 */ cpu->r[11] = rbrew_rlwinm(cpu->r[12], 0x00000001u, 0x00000000u, 0x0000001Eu);
|
|
/* 02C5F3A8 */ cpu->r[3] = cpu->r[11] + 0x00000008u;
|
|
/* 02C5F3AC */ goto L_02C5F3C8;
|
|
L_02C5F3B0: ; // 0x2c5f3b0
|
|
/* 02C5F3B0 */ cpu->r[11] = rbrew_rlwinm(cpu->r[12], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02C5F3B4 */ cpu->r[3] = cpu->r[11] + 0x00000008u;
|
|
/* 02C5F3B8 */ goto L_02C5F3C8;
|
|
L_02C5F3BC: ; // 0x2c5f3bc
|
|
/* 02C5F3BC */ cpu->r[12] = cpu->r[12] + 0x0000001Fu;
|
|
/* 02C5F3C0 */ cpu->r[11] = rbrew_rlwinm(cpu->r[12], 0x0000001Du, 0x00000003u, 0x0000001Du);
|
|
/* 02C5F3C4 */ cpu->r[3] = cpu->r[11] + 0x00000008u;
|
|
L_02C5F3C8: ; // 0x2c5f3c8
|
|
/* 02C5F3C8 */ _t30 = cpu->r[1] + 0x00000020u;
|
|
/* 02C5F3C8 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t30);
|
|
/* 02C5F3CC */ _t31 = cpu->r[1] + 0x00000014u;
|
|
/* 02C5F3CC */ cpu->r[31] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02C5F3D0 */ _t32 = cpu->r[1] + 0x00000018u;
|
|
/* 02C5F3D0 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t32);
|
|
/* 02C5F3D4 */ _t33 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C5F3D4 */ _t34 = _t33 & 0x00000001u;
|
|
/* 02C5F3D4 */ if (_t34) goto L_02C5F3D8; // else: addr-0 trap, fall-through
|
|
L_02C5F3D8: ; // 0x2c5f3d8
|
|
/* 02C5F3D8 */ _t35 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02C5F3D8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t35);
|
|
/* 02C5F3DC */ cpu->lr = cpu->r[0];
|
|
/* 02C5F3E0 */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 02C5F3E4 */ return;
|
|
}
|
|
|
|
// fn_02C5F3E8 @ 0x2c5f3e8
|
|
void Gambit_fn_02C5F3E8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27;
|
|
double _ft13;
|
|
|
|
L_02C5F3E8: ; // 0x2c5f3e8
|
|
/* 02C5F3E8 */ cpu->r[0] = cpu->lr;
|
|
/* 02C5F3EC */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 02C5F3EC */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 02C5F3F0 */ _t1 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02C5F3F0 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 02C5F3F0 */ cpu->r[1] = _t1;
|
|
/* 02C5F3F4 */ _t2 = cpu->r[4] + 0x00000000u;
|
|
/* 02C5F3F4 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t2);
|
|
/* 02C5F3F8 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[1], cpu->f[12]);
|
|
/* 02C5F3FC */ _t3 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C5F3FC */ _t4 = _t3 & 0x00000001u;
|
|
/* 02C5F3FC */ if (_t4) goto L_02C5F40C; else goto L_02C5F400;
|
|
L_02C5F400: ; // 0x2c5f400
|
|
/* 02C5F400 */ _t5 = cpu->r[4] + 0x00000004u;
|
|
/* 02C5F400 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t5);
|
|
/* 02C5F404 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[10], cpu->f[1]);
|
|
/* 02C5F408 */ _t6 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C5F408 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02C5F408 */ if (_t7) goto L_02C5F4BC; else goto L_02C5F40C;
|
|
L_02C5F40C: ; // 0x2c5f40c
|
|
/* 02C5F40C */ _t8 = cpu->r[3] + 0x00000008u;
|
|
/* 02C5F40C */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t8);
|
|
/* 02C5F410 */ cpu->r[11] = 0x101B0000u;
|
|
/* 02C5F414 */ _t9 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02C5F414 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t9);
|
|
/* 02C5F418 */ _t10 = cpu->r[3] + 0x00000002u;
|
|
/* 02C5F418 */ cpu->r[12] = rbrew_read16(cpu->mem, _t10);
|
|
/* 02C5F41C */ cpu->f[11] = cpu->f[8] - cpu->f[10];
|
|
/* 02C5F420 */ _t11 = cpu->r[11] + 0xFFFFF070u;
|
|
/* 02C5F420 */ cpu->f[0] = rbrew_read_f64(cpu->mem, _t11);
|
|
/* 02C5F424 */ cpu->f[12] = cpu->f[1] - cpu->f[10];
|
|
/* 02C5F428 */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 02C5F428 */ rbrew_write32(cpu->mem, _t12, cpu->r[12]);
|
|
/* 02C5F42C */ cpu->r[9] = 0x43300000u;
|
|
/* 02C5F430 */ _ft13 = (double)(int32_t)0x00000001u;
|
|
/* 02C5F430 */ cpu->f[9] = _ft13 / cpu->f[11];
|
|
/* 02C5F434 */ _t14 = cpu->r[1] + 0x00000010u;
|
|
/* 02C5F434 */ rbrew_write32(cpu->mem, _t14, cpu->r[9]);
|
|
/* 02C5F438 */ cpu->f[10] = cpu->f[9] + cpu->f[9];
|
|
/* 02C5F43C */ _t15 = cpu->r[1] + 0x00000010u;
|
|
/* 02C5F43C */ cpu->f[13] = rbrew_read_f64(cpu->mem, _t15);
|
|
/* 02C5F440 */ cpu->f[11] = cpu->f[11] * cpu->f[9];
|
|
/* 02C5F444 */ cpu->f[8] = cpu->f[13] - cpu->f[0];
|
|
/* 02C5F448 */ cpu->f[11] = -fma(cpu->f[11], cpu->f[9], -(cpu->f[10]));
|
|
/* 02C5F44C */ cpu->f[9] = (double)(float)cpu->f[8];
|
|
/* 02C5F450 */ cpu->f[8] = cpu->f[12] * cpu->f[11];
|
|
/* 02C5F454 */ cpu->f[11] = cpu->f[8] * cpu->f[9];
|
|
/* 02C5F458 */ cpu->r[10] = cpu->r[1] + 0x00000008u;
|
|
/* 02C5F45C */ /* nop */
|
|
/* 02C5F460 */ /* nop */
|
|
/* 02C5F464 */ _t16 = cpu->r[1] + 0x00000008u;
|
|
/* 02C5F464 */ cpu->r[0] = rbrew_read16(cpu->mem, _t16);
|
|
/* 02C5F468 */ _t17 = cpu->r[4] + 0x00000008u;
|
|
/* 02C5F468 */ rbrew_write32(cpu->mem, _t17, cpu->r[0]);
|
|
/* 02C5F46C */ _t18 = cpu->r[3] + 0x00000000u;
|
|
/* 02C5F46C */ cpu->r[0] = rbrew_read16(cpu->mem, _t18);
|
|
/* 02C5F470 */ cpu->r[7] = rbrew_rlwinm(cpu->r[0], 0x00000003u, 0x0000001Bu, 0x0000001Cu);
|
|
/* 02C5F474 */ cpu->r[9] = cpu->r[7] + 0x101B0000u;
|
|
/* 02C5F478 */ cpu->r[8] = cpu->r[9] + 0xFFFFF080u;
|
|
/* 02C5F47C */ _t19 = cpu->r[8] + 0x00000002u;
|
|
/* 02C5F47C */ cpu->r[10] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t19);
|
|
/* 02C5F480 */ _t20 = cpu->r[9] + 0xFFFFF080u;
|
|
/* 02C5F480 */ cpu->r[0] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t20);
|
|
/* 02C5F484 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02C5F488 */ cpu->r[3] = cpu->r[3] + cpu->r[0];
|
|
/* 02C5F48C */ _t21 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C5F48C */ _t22 = _t21 & 0x00000001u;
|
|
/* 02C5F48C */ if (_t22) goto L_02C5F490; else goto L_02C5F4A0;
|
|
L_02C5F490: ; // 0x2c5f490
|
|
/* 02C5F490 */ _t23 = cpu->r[8] + 0x00000004u;
|
|
/* 02C5F490 */ cpu->r[12] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02C5F494 */ cpu->ctr = cpu->r[12];
|
|
/* 02C5F498 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02C5F49C */ goto L_02C5F4BC;
|
|
L_02C5F4A0: ; // 0x2c5f4a0
|
|
/* 02C5F4A0 */ _t24 = cpu->r[8] + 0x00000006u;
|
|
/* 02C5F4A0 */ cpu->r[8] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t24);
|
|
/* 02C5F4A4 */ _t25 = cpu->r[3] + cpu->r[8];
|
|
/* 02C5F4A4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02C5F4A8 */ cpu->r[10] = rbrew_rlwinm(cpu->r[10], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 02C5F4AC */ cpu->r[7] = cpu->r[11] + cpu->r[10];
|
|
/* 02C5F4B0 */ _t26 = cpu->r[7] + 0x00000004u;
|
|
/* 02C5F4B0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02C5F4B4 */ cpu->ctr = cpu->r[12];
|
|
/* 02C5F4B8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02C5F4BC: ; // 0x2c5f4bc
|
|
/* 02C5F4BC */ _t27 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C5F4BC */ cpu->r[0] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02C5F4C0 */ cpu->lr = cpu->r[0];
|
|
/* 02C5F4C4 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C5F4C8 */ return;
|
|
}
|
|
|
|
// fn_02C5F3F0 @ 0x2c5f3f0
|
|
void Gambit_fn_02C5F3F0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26;
|
|
double _ft12;
|
|
|
|
L_02C5F3F0: ; // 0x2c5f3f0
|
|
/* 02C5F3F0 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02C5F3F0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C5F3F0 */ cpu->r[1] = _t0;
|
|
/* 02C5F3F4 */ _t1 = cpu->r[4] + 0x00000000u;
|
|
/* 02C5F3F4 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t1);
|
|
/* 02C5F3F8 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[1], cpu->f[12]);
|
|
/* 02C5F3FC */ _t2 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C5F3FC */ _t3 = _t2 & 0x00000001u;
|
|
/* 02C5F3FC */ if (_t3) goto L_02C5F40C; else goto L_02C5F400;
|
|
L_02C5F400: ; // 0x2c5f400
|
|
/* 02C5F400 */ _t4 = cpu->r[4] + 0x00000004u;
|
|
/* 02C5F400 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t4);
|
|
/* 02C5F404 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[10], cpu->f[1]);
|
|
/* 02C5F408 */ _t5 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C5F408 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02C5F408 */ if (_t6) goto L_02C5F4BC; else goto L_02C5F40C;
|
|
L_02C5F40C: ; // 0x2c5f40c
|
|
/* 02C5F40C */ _t7 = cpu->r[3] + 0x00000008u;
|
|
/* 02C5F40C */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t7);
|
|
/* 02C5F410 */ cpu->r[11] = 0x101B0000u;
|
|
/* 02C5F414 */ _t8 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02C5F414 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t8);
|
|
/* 02C5F418 */ _t9 = cpu->r[3] + 0x00000002u;
|
|
/* 02C5F418 */ cpu->r[12] = rbrew_read16(cpu->mem, _t9);
|
|
/* 02C5F41C */ cpu->f[11] = cpu->f[8] - cpu->f[10];
|
|
/* 02C5F420 */ _t10 = cpu->r[11] + 0xFFFFF070u;
|
|
/* 02C5F420 */ cpu->f[0] = rbrew_read_f64(cpu->mem, _t10);
|
|
/* 02C5F424 */ cpu->f[12] = cpu->f[1] - cpu->f[10];
|
|
/* 02C5F428 */ _t11 = cpu->r[1] + 0x00000014u;
|
|
/* 02C5F428 */ rbrew_write32(cpu->mem, _t11, cpu->r[12]);
|
|
/* 02C5F42C */ cpu->r[9] = 0x43300000u;
|
|
/* 02C5F430 */ _ft12 = (double)(int32_t)0x00000001u;
|
|
/* 02C5F430 */ cpu->f[9] = _ft12 / cpu->f[11];
|
|
/* 02C5F434 */ _t13 = cpu->r[1] + 0x00000010u;
|
|
/* 02C5F434 */ rbrew_write32(cpu->mem, _t13, cpu->r[9]);
|
|
/* 02C5F438 */ cpu->f[10] = cpu->f[9] + cpu->f[9];
|
|
/* 02C5F43C */ _t14 = cpu->r[1] + 0x00000010u;
|
|
/* 02C5F43C */ cpu->f[13] = rbrew_read_f64(cpu->mem, _t14);
|
|
/* 02C5F440 */ cpu->f[11] = cpu->f[11] * cpu->f[9];
|
|
/* 02C5F444 */ cpu->f[8] = cpu->f[13] - cpu->f[0];
|
|
/* 02C5F448 */ cpu->f[11] = -fma(cpu->f[11], cpu->f[9], -(cpu->f[10]));
|
|
/* 02C5F44C */ cpu->f[9] = (double)(float)cpu->f[8];
|
|
/* 02C5F450 */ cpu->f[8] = cpu->f[12] * cpu->f[11];
|
|
/* 02C5F454 */ cpu->f[11] = cpu->f[8] * cpu->f[9];
|
|
/* 02C5F458 */ cpu->r[10] = cpu->r[1] + 0x00000008u;
|
|
/* 02C5F45C */ /* nop */
|
|
/* 02C5F460 */ /* nop */
|
|
/* 02C5F464 */ _t15 = cpu->r[1] + 0x00000008u;
|
|
/* 02C5F464 */ cpu->r[0] = rbrew_read16(cpu->mem, _t15);
|
|
/* 02C5F468 */ _t16 = cpu->r[4] + 0x00000008u;
|
|
/* 02C5F468 */ rbrew_write32(cpu->mem, _t16, cpu->r[0]);
|
|
/* 02C5F46C */ _t17 = cpu->r[3] + 0x00000000u;
|
|
/* 02C5F46C */ cpu->r[0] = rbrew_read16(cpu->mem, _t17);
|
|
/* 02C5F470 */ cpu->r[7] = rbrew_rlwinm(cpu->r[0], 0x00000003u, 0x0000001Bu, 0x0000001Cu);
|
|
/* 02C5F474 */ cpu->r[9] = cpu->r[7] + 0x101B0000u;
|
|
/* 02C5F478 */ cpu->r[8] = cpu->r[9] + 0xFFFFF080u;
|
|
/* 02C5F47C */ _t18 = cpu->r[8] + 0x00000002u;
|
|
/* 02C5F47C */ cpu->r[10] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t18);
|
|
/* 02C5F480 */ _t19 = cpu->r[9] + 0xFFFFF080u;
|
|
/* 02C5F480 */ cpu->r[0] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t19);
|
|
/* 02C5F484 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02C5F488 */ cpu->r[3] = cpu->r[3] + cpu->r[0];
|
|
/* 02C5F48C */ _t20 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C5F48C */ _t21 = _t20 & 0x00000001u;
|
|
/* 02C5F48C */ if (_t21) goto L_02C5F490; else goto L_02C5F4A0;
|
|
L_02C5F490: ; // 0x2c5f490
|
|
/* 02C5F490 */ _t22 = cpu->r[8] + 0x00000004u;
|
|
/* 02C5F490 */ cpu->r[12] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02C5F494 */ cpu->ctr = cpu->r[12];
|
|
/* 02C5F498 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02C5F49C */ goto L_02C5F4BC;
|
|
L_02C5F4A0: ; // 0x2c5f4a0
|
|
/* 02C5F4A0 */ _t23 = cpu->r[8] + 0x00000006u;
|
|
/* 02C5F4A0 */ cpu->r[8] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t23);
|
|
/* 02C5F4A4 */ _t24 = cpu->r[3] + cpu->r[8];
|
|
/* 02C5F4A4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02C5F4A8 */ cpu->r[10] = rbrew_rlwinm(cpu->r[10], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 02C5F4AC */ cpu->r[7] = cpu->r[11] + cpu->r[10];
|
|
/* 02C5F4B0 */ _t25 = cpu->r[7] + 0x00000004u;
|
|
/* 02C5F4B0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02C5F4B4 */ cpu->ctr = cpu->r[12];
|
|
/* 02C5F4B8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02C5F4BC: ; // 0x2c5f4bc
|
|
/* 02C5F4BC */ _t26 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C5F4BC */ cpu->r[0] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02C5F4C0 */ cpu->lr = cpu->r[0];
|
|
/* 02C5F4C4 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C5F4C8 */ return;
|
|
}
|
|
|
|
// fn_02C5F4CC @ 0x2c5f4cc
|
|
void Gambit_fn_02C5F4CC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_02C5F4CC: ; // 0x2c5f4cc
|
|
/* 02C5F4CC */ cpu->r[0] = cpu->lr;
|
|
/* 02C5F4D0 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C5F4D0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C5F4D0 */ cpu->r[1] = _t0;
|
|
/* 02C5F4D4 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C5F4D4 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02C5F4D8 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02C5F4D8 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02C5F4DC */ cpu->r[30] = cpu->r[4];
|
|
/* 02C5F4E0 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C5F4E4 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02C5F4E4 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02C5F4E8 */ Gambit_fn_02C5F3E8(cpu);
|
|
/* 02C5F4EC */ _t4 = cpu->r[31] + 0x00000020u;
|
|
/* 02C5F4EC */ cpu->r[8] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02C5F4F0 */ cpu->r[9] = 0x00000000u;
|
|
/* 02C5F4F4 */ cpu->r[12] = cpu->r[31] + 0x00000020u;
|
|
/* 02C5F4F8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 02C5F4FC */ _t5 = cpu->r[30] + 0x00000008u;
|
|
/* 02C5F4FC */ cpu->r[10] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02C5F500 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C5F500 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02C5F500 */ if (_t7) goto L_02C5F508; else goto L_02C5F504;
|
|
L_02C5F504: ; // 0x2c5f504
|
|
/* 02C5F504 */ cpu->r[9] = cpu->r[12] + cpu->r[8];
|
|
L_02C5F508: ; // 0x2c5f508
|
|
/* 02C5F508 */ /* nop */
|
|
/* 02C5F50C */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02C5F510 */ _t8 = cpu->r[12] + cpu->r[9];
|
|
/* 02C5F510 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C5F514 */ cpu->r[7] = rbrew_rlwinm(cpu->r[10], 0x00000000u, 0x0000001Bu, 0x0000001Fu);
|
|
/* 02C5F518 */ _t9 = cpu->r[1] + 0x00000008u;
|
|
/* 02C5F518 */ cpu->r[30] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02C5F51C */ /* nop */
|
|
/* 02C5F520 */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02C5F520 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02C5F524 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C5F524 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02C5F528 */ cpu->lr = cpu->r[0];
|
|
/* 02C5F52C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C5F530 */ cpu->r[3] = rbrew_rlwinm(cpu->r[9], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02C5F534 */ return;
|
|
}
|
|
|
|
// fn_02C5F4D0 @ 0x2c5f4d0
|
|
void Gambit_fn_02C5F4D0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_02C5F4D0: ; // 0x2c5f4d0
|
|
/* 02C5F4D0 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C5F4D0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C5F4D0 */ cpu->r[1] = _t0;
|
|
/* 02C5F4D4 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C5F4D4 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02C5F4D8 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02C5F4D8 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02C5F4DC */ cpu->r[30] = cpu->r[4];
|
|
/* 02C5F4E0 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C5F4E4 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02C5F4E4 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02C5F4E8 */ Gambit_fn_02C5F3E8(cpu);
|
|
/* 02C5F4EC */ _t4 = cpu->r[31] + 0x00000020u;
|
|
/* 02C5F4EC */ cpu->r[8] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02C5F4F0 */ cpu->r[9] = 0x00000000u;
|
|
/* 02C5F4F4 */ cpu->r[12] = cpu->r[31] + 0x00000020u;
|
|
/* 02C5F4F8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 02C5F4FC */ _t5 = cpu->r[30] + 0x00000008u;
|
|
/* 02C5F4FC */ cpu->r[10] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02C5F500 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C5F500 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02C5F500 */ if (_t7) goto L_02C5F508; else goto L_02C5F504;
|
|
L_02C5F504: ; // 0x2c5f504
|
|
/* 02C5F504 */ cpu->r[9] = cpu->r[12] + cpu->r[8];
|
|
L_02C5F508: ; // 0x2c5f508
|
|
/* 02C5F508 */ /* nop */
|
|
/* 02C5F50C */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02C5F510 */ _t8 = cpu->r[12] + cpu->r[9];
|
|
/* 02C5F510 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C5F514 */ cpu->r[7] = rbrew_rlwinm(cpu->r[10], 0x00000000u, 0x0000001Bu, 0x0000001Fu);
|
|
/* 02C5F518 */ _t9 = cpu->r[1] + 0x00000008u;
|
|
/* 02C5F518 */ cpu->r[30] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02C5F51C */ /* nop */
|
|
/* 02C5F520 */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02C5F520 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02C5F524 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C5F524 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02C5F528 */ cpu->lr = cpu->r[0];
|
|
/* 02C5F52C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C5F530 */ cpu->r[3] = rbrew_rlwinm(cpu->r[9], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02C5F534 */ return;
|
|
}
|
|
|
|
// fn_02C5F538 @ 0x2c5f538
|
|
void Gambit_fn_02C5F538(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_02C5F538: ; // 0x2c5f538
|
|
/* 02C5F538 */ cpu->r[0] = cpu->lr;
|
|
/* 02C5F53C */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02C5F53C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C5F53C */ cpu->r[1] = _t0;
|
|
/* 02C5F540 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C5F540 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
|
|
/* 02C5F544 */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 02C5F544 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02C5F548 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02C5F548 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 02C5F54C */ cpu->r[30] = cpu->r[3];
|
|
/* 02C5F550 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C5F550 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02C5F554 */ _t5 = cpu->r[30] + 0x00000000u;
|
|
/* 02C5F554 */ cpu->r[9] = rbrew_read16(cpu->mem, _t5);
|
|
/* 02C5F558 */ cpu->r[8] = rbrew_rlwinm(cpu->r[9], 0x00000000u, 0x00000019u, 0x0000001Bu);
|
|
/* 02C5F55C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000020u);
|
|
/* 02C5F560 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C5F560 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02C5F560 */ if (_t7) goto L_02C5F564; else goto L_02C5F5C0;
|
|
L_02C5F564: ; // 0x2c5f564
|
|
/* 02C5F564 */ _t8 = cpu->r[30] + 0x00000020u;
|
|
/* 02C5F564 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C5F568 */ cpu->r[31] = cpu->r[30] + 0x00000020u;
|
|
/* 02C5F56C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C5F570 */ cpu->r[29] = 0x00000000u;
|
|
/* 02C5F574 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C5F574 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02C5F574 */ if (_t10) goto L_02C5F57C; else goto L_02C5F578;
|
|
L_02C5F578: ; // 0x2c5f578
|
|
/* 02C5F578 */ cpu->r[29] = cpu->r[31] + cpu->r[0];
|
|
L_02C5F57C: ; // 0x2c5f57c
|
|
/* 02C5F57C */ cpu->r[3] = cpu->r[30];
|
|
/* 02C5F580 */ Gambit_fn_02C5F044(cpu);
|
|
/* 02C5F584 */ cpu->r[10] = cpu->r[29] + cpu->r[3];
|
|
/* 02C5F588 */ _t11 = cpu->r[10] + 0xFFFFFFF0u;
|
|
/* 02C5F588 */ cpu->r[12] = rbrew_read16(cpu->mem, _t11);
|
|
/* 02C5F58C */ _t12 = cpu->r[30] + 0x00000000u;
|
|
/* 02C5F58C */ rbrew_write16(cpu->mem, _t12, (uint16_t)cpu->r[12]);
|
|
/* 02C5F590 */ _t13 = cpu->r[10] + 0xFFFFFFF2u;
|
|
/* 02C5F590 */ cpu->r[0] = rbrew_read16(cpu->mem, _t13);
|
|
/* 02C5F594 */ _t14 = cpu->r[30] + 0x00000002u;
|
|
/* 02C5F594 */ rbrew_write16(cpu->mem, _t14, (uint16_t)cpu->r[0]);
|
|
/* 02C5F598 */ _t15 = cpu->r[10] + 0xFFFFFFF4u;
|
|
/* 02C5F598 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t15);
|
|
/* 02C5F59C */ _t16 = cpu->r[30] + 0x00000010u;
|
|
/* 02C5F59C */ rbrew_write_f32(cpu->mem, _t16, cpu->f[0]);
|
|
/* 02C5F5A0 */ _t17 = cpu->r[10] + 0xFFFFFFF8u;
|
|
/* 02C5F5A0 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t17);
|
|
/* 02C5F5A0 */ cpu->r[10] = _t17;
|
|
/* 02C5F5A4 */ _t18 = cpu->r[30] + 0x00000014u;
|
|
/* 02C5F5A4 */ rbrew_write_f32(cpu->mem, _t18, cpu->f[0]);
|
|
/* 02C5F5A8 */ _t19 = cpu->r[10] + 0x00000004u;
|
|
/* 02C5F5A8 */ cpu->r[7] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02C5F5AC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 02C5F5B0 */ cpu->r[11] = 0x00000000u;
|
|
/* 02C5F5B4 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C5F5B4 */ _t21 = _t20 & 0x00000001u;
|
|
/* 02C5F5B4 */ if (_t21) goto L_02C5F5BC; else goto L_02C5F5B8;
|
|
L_02C5F5B8: ; // 0x2c5f5b8
|
|
/* 02C5F5B8 */ cpu->r[11] = cpu->r[7] - cpu->r[31];
|
|
L_02C5F5BC: ; // 0x2c5f5bc
|
|
/* 02C5F5BC */ _t22 = cpu->r[31] + 0x00000000u;
|
|
/* 02C5F5BC */ rbrew_write32(cpu->mem, _t22, cpu->r[11]);
|
|
L_02C5F5C0: ; // 0x2c5f5c0
|
|
/* 02C5F5C0 */ _t23 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C5F5C0 */ cpu->r[29] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02C5F5C4 */ _t24 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C5F5C4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02C5F5C8 */ _t25 = cpu->r[1] + 0x00000010u;
|
|
/* 02C5F5C8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02C5F5CC */ cpu->lr = cpu->r[0];
|
|
/* 02C5F5D0 */ _t26 = cpu->r[1] + 0x00000014u;
|
|
/* 02C5F5D0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02C5F5D4 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C5F5D8 */ return;
|
|
}
|
|
|
|
// fn_02C5F53C @ 0x2c5f53c
|
|
void Gambit_fn_02C5F53C(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_02C5F53C: ; // 0x2c5f53c
|
|
/* 02C5F53C */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02C5F53C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C5F53C */ cpu->r[1] = _t0;
|
|
/* 02C5F540 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C5F540 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
|
|
/* 02C5F544 */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 02C5F544 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02C5F548 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02C5F548 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 02C5F54C */ cpu->r[30] = cpu->r[3];
|
|
/* 02C5F550 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C5F550 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02C5F554 */ _t5 = cpu->r[30] + 0x00000000u;
|
|
/* 02C5F554 */ cpu->r[9] = rbrew_read16(cpu->mem, _t5);
|
|
/* 02C5F558 */ cpu->r[8] = rbrew_rlwinm(cpu->r[9], 0x00000000u, 0x00000019u, 0x0000001Bu);
|
|
/* 02C5F55C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000020u);
|
|
/* 02C5F560 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C5F560 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02C5F560 */ if (_t7) goto L_02C5F564; else goto L_02C5F5C0;
|
|
L_02C5F564: ; // 0x2c5f564
|
|
/* 02C5F564 */ _t8 = cpu->r[30] + 0x00000020u;
|
|
/* 02C5F564 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C5F568 */ cpu->r[31] = cpu->r[30] + 0x00000020u;
|
|
/* 02C5F56C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C5F570 */ cpu->r[29] = 0x00000000u;
|
|
/* 02C5F574 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C5F574 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02C5F574 */ if (_t10) goto L_02C5F57C; else goto L_02C5F578;
|
|
L_02C5F578: ; // 0x2c5f578
|
|
/* 02C5F578 */ cpu->r[29] = cpu->r[31] + cpu->r[0];
|
|
L_02C5F57C: ; // 0x2c5f57c
|
|
/* 02C5F57C */ cpu->r[3] = cpu->r[30];
|
|
/* 02C5F580 */ Gambit_fn_02C5F044(cpu);
|
|
/* 02C5F584 */ cpu->r[10] = cpu->r[29] + cpu->r[3];
|
|
/* 02C5F588 */ _t11 = cpu->r[10] + 0xFFFFFFF0u;
|
|
/* 02C5F588 */ cpu->r[12] = rbrew_read16(cpu->mem, _t11);
|
|
/* 02C5F58C */ _t12 = cpu->r[30] + 0x00000000u;
|
|
/* 02C5F58C */ rbrew_write16(cpu->mem, _t12, (uint16_t)cpu->r[12]);
|
|
/* 02C5F590 */ _t13 = cpu->r[10] + 0xFFFFFFF2u;
|
|
/* 02C5F590 */ cpu->r[0] = rbrew_read16(cpu->mem, _t13);
|
|
/* 02C5F594 */ _t14 = cpu->r[30] + 0x00000002u;
|
|
/* 02C5F594 */ rbrew_write16(cpu->mem, _t14, (uint16_t)cpu->r[0]);
|
|
/* 02C5F598 */ _t15 = cpu->r[10] + 0xFFFFFFF4u;
|
|
/* 02C5F598 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t15);
|
|
/* 02C5F59C */ _t16 = cpu->r[30] + 0x00000010u;
|
|
/* 02C5F59C */ rbrew_write_f32(cpu->mem, _t16, cpu->f[0]);
|
|
/* 02C5F5A0 */ _t17 = cpu->r[10] + 0xFFFFFFF8u;
|
|
/* 02C5F5A0 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t17);
|
|
/* 02C5F5A0 */ cpu->r[10] = _t17;
|
|
/* 02C5F5A4 */ _t18 = cpu->r[30] + 0x00000014u;
|
|
/* 02C5F5A4 */ rbrew_write_f32(cpu->mem, _t18, cpu->f[0]);
|
|
/* 02C5F5A8 */ _t19 = cpu->r[10] + 0x00000004u;
|
|
/* 02C5F5A8 */ cpu->r[7] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02C5F5AC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 02C5F5B0 */ cpu->r[11] = 0x00000000u;
|
|
/* 02C5F5B4 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C5F5B4 */ _t21 = _t20 & 0x00000001u;
|
|
/* 02C5F5B4 */ if (_t21) goto L_02C5F5BC; else goto L_02C5F5B8;
|
|
L_02C5F5B8: ; // 0x2c5f5b8
|
|
/* 02C5F5B8 */ cpu->r[11] = cpu->r[7] - cpu->r[31];
|
|
L_02C5F5BC: ; // 0x2c5f5bc
|
|
/* 02C5F5BC */ _t22 = cpu->r[31] + 0x00000000u;
|
|
/* 02C5F5BC */ rbrew_write32(cpu->mem, _t22, cpu->r[11]);
|
|
L_02C5F5C0: ; // 0x2c5f5c0
|
|
/* 02C5F5C0 */ _t23 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C5F5C0 */ cpu->r[29] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02C5F5C4 */ _t24 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C5F5C4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02C5F5C8 */ _t25 = cpu->r[1] + 0x00000010u;
|
|
/* 02C5F5C8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02C5F5CC */ cpu->lr = cpu->r[0];
|
|
/* 02C5F5D0 */ _t26 = cpu->r[1] + 0x00000014u;
|
|
/* 02C5F5D0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02C5F5D4 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C5F5D8 */ return;
|
|
}
|
|
|
|
// fn_02C5F5DC @ 0x2c5f5dc
|
|
void Gambit_fn_02C5F5DC(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;
|
|
|
|
L_02C5F5DC: ; // 0x2c5f5dc
|
|
/* 02C5F5DC */ cpu->r[0] = cpu->lr;
|
|
/* 02C5F5E0 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02C5F5E0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C5F5E0 */ cpu->r[1] = _t0;
|
|
/* 02C5F5E4 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C5F5E4 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
|
|
/* 02C5F5E8 */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 02C5F5E8 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02C5F5EC */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02C5F5EC */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 02C5F5F0 */ cpu->r[30] = cpu->r[3];
|
|
/* 02C5F5F4 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C5F5F4 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02C5F5F8 */ _t5 = cpu->r[30] + 0x00000000u;
|
|
/* 02C5F5F8 */ cpu->r[9] = rbrew_read16(cpu->mem, _t5);
|
|
/* 02C5F5FC */ cpu->r[0] = rbrew_rlwinm(cpu->r[9], 0x00000000u, 0x00000019u, 0x0000001Bu);
|
|
/* 02C5F600 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000050u);
|
|
/* 02C5F604 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C5F604 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02C5F604 */ if (_t7) goto L_02C5F610; else goto L_02C5F608;
|
|
L_02C5F608: ; // 0x2c5f608
|
|
/* 02C5F608 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000070u);
|
|
/* 02C5F60C */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C5F60C */ _t9 = _t8 & 0x00000001u;
|
|
/* 02C5F60C */ if (_t9) goto L_02C5F610; else goto L_02C5F65C;
|
|
L_02C5F610: ; // 0x2c5f610
|
|
/* 02C5F610 */ _t10 = cpu->r[30] + 0x00000020u;
|
|
/* 02C5F610 */ cpu->r[7] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02C5F614 */ cpu->r[31] = cpu->r[30] + 0x00000020u;
|
|
/* 02C5F618 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 02C5F61C */ cpu->r[29] = 0x00000000u;
|
|
/* 02C5F620 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C5F620 */ _t12 = _t11 & 0x00000001u;
|
|
/* 02C5F620 */ if (_t12) goto L_02C5F628; else goto L_02C5F624;
|
|
L_02C5F624: ; // 0x2c5f624
|
|
/* 02C5F624 */ cpu->r[29] = cpu->r[31] + cpu->r[7];
|
|
L_02C5F628: ; // 0x2c5f628
|
|
/* 02C5F628 */ cpu->r[3] = cpu->r[30];
|
|
/* 02C5F62C */ Gambit_fn_02C5F2D0(cpu);
|
|
/* 02C5F630 */ cpu->r[10] = cpu->r[29] + cpu->r[3];
|
|
/* 02C5F634 */ _t13 = cpu->r[10] + 0xFFFFFFF8u;
|
|
/* 02C5F634 */ cpu->r[12] = rbrew_read16(cpu->mem, _t13);
|
|
/* 02C5F638 */ _t14 = cpu->r[30] + 0x00000000u;
|
|
/* 02C5F638 */ rbrew_write16(cpu->mem, _t14, (uint16_t)cpu->r[12]);
|
|
/* 02C5F63C */ _t15 = cpu->r[10] + 0xFFFFFFFAu;
|
|
/* 02C5F63C */ cpu->r[0] = rbrew_read16(cpu->mem, _t15);
|
|
/* 02C5F63C */ cpu->r[10] = _t15;
|
|
/* 02C5F640 */ _t16 = cpu->r[30] + 0x00000002u;
|
|
/* 02C5F640 */ rbrew_write16(cpu->mem, _t16, (uint16_t)cpu->r[0]);
|
|
/* 02C5F644 */ _t17 = cpu->r[10] + 0x00000002u;
|
|
/* 02C5F644 */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02C5F648 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C5F64C */ cpu->r[11] = 0x00000000u;
|
|
/* 02C5F650 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C5F650 */ _t19 = _t18 & 0x00000001u;
|
|
/* 02C5F650 */ if (_t19) goto L_02C5F658; else goto L_02C5F654;
|
|
L_02C5F654: ; // 0x2c5f654
|
|
/* 02C5F654 */ cpu->r[11] = cpu->r[0] - cpu->r[31];
|
|
L_02C5F658: ; // 0x2c5f658
|
|
/* 02C5F658 */ _t20 = cpu->r[31] + 0x00000000u;
|
|
/* 02C5F658 */ rbrew_write32(cpu->mem, _t20, cpu->r[11]);
|
|
L_02C5F65C: ; // 0x2c5f65c
|
|
/* 02C5F65C */ _t21 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C5F65C */ cpu->r[29] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02C5F660 */ _t22 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C5F660 */ cpu->r[0] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02C5F664 */ _t23 = cpu->r[1] + 0x00000010u;
|
|
/* 02C5F664 */ cpu->r[30] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02C5F668 */ cpu->lr = cpu->r[0];
|
|
/* 02C5F66C */ _t24 = cpu->r[1] + 0x00000014u;
|
|
/* 02C5F66C */ cpu->r[31] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02C5F670 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C5F674 */ return;
|
|
}
|
|
|
|
// fn_02C5F5E0 @ 0x2c5f5e0
|
|
void Gambit_fn_02C5F5E0(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;
|
|
|
|
L_02C5F5E0: ; // 0x2c5f5e0
|
|
/* 02C5F5E0 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02C5F5E0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C5F5E0 */ cpu->r[1] = _t0;
|
|
/* 02C5F5E4 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C5F5E4 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
|
|
/* 02C5F5E8 */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 02C5F5E8 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02C5F5EC */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02C5F5EC */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 02C5F5F0 */ cpu->r[30] = cpu->r[3];
|
|
/* 02C5F5F4 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C5F5F4 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02C5F5F8 */ _t5 = cpu->r[30] + 0x00000000u;
|
|
/* 02C5F5F8 */ cpu->r[9] = rbrew_read16(cpu->mem, _t5);
|
|
/* 02C5F5FC */ cpu->r[0] = rbrew_rlwinm(cpu->r[9], 0x00000000u, 0x00000019u, 0x0000001Bu);
|
|
/* 02C5F600 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000050u);
|
|
/* 02C5F604 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C5F604 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02C5F604 */ if (_t7) goto L_02C5F610; else goto L_02C5F608;
|
|
L_02C5F608: ; // 0x2c5f608
|
|
/* 02C5F608 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000070u);
|
|
/* 02C5F60C */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C5F60C */ _t9 = _t8 & 0x00000001u;
|
|
/* 02C5F60C */ if (_t9) goto L_02C5F610; else goto L_02C5F65C;
|
|
L_02C5F610: ; // 0x2c5f610
|
|
/* 02C5F610 */ _t10 = cpu->r[30] + 0x00000020u;
|
|
/* 02C5F610 */ cpu->r[7] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02C5F614 */ cpu->r[31] = cpu->r[30] + 0x00000020u;
|
|
/* 02C5F618 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 02C5F61C */ cpu->r[29] = 0x00000000u;
|
|
/* 02C5F620 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C5F620 */ _t12 = _t11 & 0x00000001u;
|
|
/* 02C5F620 */ if (_t12) goto L_02C5F628; else goto L_02C5F624;
|
|
L_02C5F624: ; // 0x2c5f624
|
|
/* 02C5F624 */ cpu->r[29] = cpu->r[31] + cpu->r[7];
|
|
L_02C5F628: ; // 0x2c5f628
|
|
/* 02C5F628 */ cpu->r[3] = cpu->r[30];
|
|
/* 02C5F62C */ Gambit_fn_02C5F2D0(cpu);
|
|
/* 02C5F630 */ cpu->r[10] = cpu->r[29] + cpu->r[3];
|
|
/* 02C5F634 */ _t13 = cpu->r[10] + 0xFFFFFFF8u;
|
|
/* 02C5F634 */ cpu->r[12] = rbrew_read16(cpu->mem, _t13);
|
|
/* 02C5F638 */ _t14 = cpu->r[30] + 0x00000000u;
|
|
/* 02C5F638 */ rbrew_write16(cpu->mem, _t14, (uint16_t)cpu->r[12]);
|
|
/* 02C5F63C */ _t15 = cpu->r[10] + 0xFFFFFFFAu;
|
|
/* 02C5F63C */ cpu->r[0] = rbrew_read16(cpu->mem, _t15);
|
|
/* 02C5F63C */ cpu->r[10] = _t15;
|
|
/* 02C5F640 */ _t16 = cpu->r[30] + 0x00000002u;
|
|
/* 02C5F640 */ rbrew_write16(cpu->mem, _t16, (uint16_t)cpu->r[0]);
|
|
/* 02C5F644 */ _t17 = cpu->r[10] + 0x00000002u;
|
|
/* 02C5F644 */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02C5F648 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C5F64C */ cpu->r[11] = 0x00000000u;
|
|
/* 02C5F650 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C5F650 */ _t19 = _t18 & 0x00000001u;
|
|
/* 02C5F650 */ if (_t19) goto L_02C5F658; else goto L_02C5F654;
|
|
L_02C5F654: ; // 0x2c5f654
|
|
/* 02C5F654 */ cpu->r[11] = cpu->r[0] - cpu->r[31];
|
|
L_02C5F658: ; // 0x2c5f658
|
|
/* 02C5F658 */ _t20 = cpu->r[31] + 0x00000000u;
|
|
/* 02C5F658 */ rbrew_write32(cpu->mem, _t20, cpu->r[11]);
|
|
L_02C5F65C: ; // 0x2c5f65c
|
|
/* 02C5F65C */ _t21 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C5F65C */ cpu->r[29] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02C5F660 */ _t22 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C5F660 */ cpu->r[0] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02C5F664 */ _t23 = cpu->r[1] + 0x00000010u;
|
|
/* 02C5F664 */ cpu->r[30] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02C5F668 */ cpu->lr = cpu->r[0];
|
|
/* 02C5F66C */ _t24 = cpu->r[1] + 0x00000014u;
|
|
/* 02C5F66C */ cpu->r[31] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02C5F670 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C5F674 */ return;
|
|
}
|
|
|
|
// fn_02C5F678 @ 0x2c5f678
|
|
void Gambit_fn_02C5F678(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15;
|
|
|
|
L_02C5F678: ; // 0x2c5f678
|
|
/* 02C5F678 */ cpu->r[0] = cpu->lr;
|
|
/* 02C5F67C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C5F67C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C5F67C */ cpu->r[1] = _t0;
|
|
/* 02C5F680 */ cpu->r[5] = cpu->r[4];
|
|
/* 02C5F684 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C5F684 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02C5F688 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02C5F68C */ cpu->r[31] = cpu->r[3];
|
|
/* 02C5F690 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02C5F690 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02C5F694 */ Gambit_fn_02C5F0DC(cpu);
|
|
/* 02C5F698 */ _t3 = cpu->r[31] + 0x00000000u;
|
|
/* 02C5F698 */ cpu->r[10] = rbrew_read16(cpu->mem, _t3);
|
|
/* 02C5F69C */ cpu->r[9] = rbrew_rlwinm(cpu->r[10], 0x00000000u, 0x00000019u, 0x0000001Bu);
|
|
/* 02C5F6A0 */ cpu->r[0] = cpu->r[9] + 0xFFFFFFC0u;
|
|
/* 02C5F6A4 */ cpu->r[9] = rbrew_rlwinm(cpu->r[0], 0x0000001Cu, 0x00000004u, 0x0000001Fu);
|
|
/* 02C5F6A8 */ cpu->r[12] = (uint32_t)((int32_t)cpu->r[9] * (int32_t)0x00000003u);
|
|
/* 02C5F6AC */ cpu->r[11] = rbrew_rlwinm(cpu->r[10], 0x0000001Eu, 0x0000001Eu, 0x0000001Fu);
|
|
/* 02C5F6B0 */ cpu->r[6] = cpu->r[12] + cpu->r[11];
|
|
/* 02C5F6B4 */ cpu->r[7] = rbrew_rlwinm(cpu->r[6], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 02C5F6B8 */ cpu->r[8] = cpu->r[7] + 0x101B0000u;
|
|
/* 02C5F6BC */ cpu->r[7] = cpu->r[8] + 0xFFFFF0E0u;
|
|
/* 02C5F6C0 */ _t4 = cpu->r[7] + 0x00000002u;
|
|
/* 02C5F6C0 */ cpu->r[0] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t4);
|
|
/* 02C5F6C4 */ _t5 = cpu->r[8] + 0xFFFFF0E0u;
|
|
/* 02C5F6C4 */ cpu->r[9] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t5);
|
|
/* 02C5F6C8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C5F6CC */ cpu->r[3] = cpu->r[31] + cpu->r[9];
|
|
/* 02C5F6D0 */ _t6 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C5F6D0 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02C5F6D0 */ if (_t7) goto L_02C5F6D4; else goto L_02C5F6F0;
|
|
L_02C5F6D4: ; // 0x2c5f6d4
|
|
/* 02C5F6D4 */ _t8 = cpu->r[7] + 0x00000004u;
|
|
/* 02C5F6D4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C5F6D8 */ cpu->ctr = cpu->r[0];
|
|
/* 02C5F6DC */ cpu->r[4] = cpu->r[5];
|
|
/* 02C5F6E0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02C5F6E4 */ _t9 = cpu->r[31] + 0x00000014u;
|
|
/* 02C5F6E4 */ cpu->r[6] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02C5F6E8 */ cpu->r[3] = cpu->r[3] + cpu->r[6];
|
|
/* 02C5F6EC */ goto L_02C5F718;
|
|
L_02C5F6F0: ; // 0x2c5f6f0
|
|
/* 02C5F6F0 */ _t10 = cpu->r[7] + 0x00000006u;
|
|
/* 02C5F6F0 */ cpu->r[10] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t10);
|
|
/* 02C5F6F4 */ _t11 = cpu->r[3] + cpu->r[10];
|
|
/* 02C5F6F4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02C5F6F8 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 02C5F6FC */ cpu->r[8] = cpu->r[12] + cpu->r[0];
|
|
/* 02C5F700 */ _t12 = cpu->r[8] + 0x00000004u;
|
|
/* 02C5F700 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02C5F704 */ cpu->ctr = cpu->r[0];
|
|
/* 02C5F708 */ cpu->r[4] = cpu->r[5];
|
|
/* 02C5F70C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02C5F710 */ _t13 = cpu->r[31] + 0x00000014u;
|
|
/* 02C5F710 */ cpu->r[6] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02C5F714 */ cpu->r[3] = cpu->r[3] + cpu->r[6];
|
|
L_02C5F718: ; // 0x2c5f718
|
|
/* 02C5F718 */ _t14 = cpu->r[1] + 0x00000014u;
|
|
/* 02C5F718 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02C5F71C */ _t15 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C5F71C */ cpu->r[31] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02C5F720 */ cpu->lr = cpu->r[0];
|
|
/* 02C5F724 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C5F728 */ return;
|
|
}
|
|
|
|
// fn_02C5F67C @ 0x2c5f67c
|
|
void Gambit_fn_02C5F67C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15;
|
|
|
|
L_02C5F67C: ; // 0x2c5f67c
|
|
/* 02C5F67C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C5F67C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C5F67C */ cpu->r[1] = _t0;
|
|
/* 02C5F680 */ cpu->r[5] = cpu->r[4];
|
|
/* 02C5F684 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C5F684 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02C5F688 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02C5F68C */ cpu->r[31] = cpu->r[3];
|
|
/* 02C5F690 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02C5F690 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02C5F694 */ Gambit_fn_02C5F0DC(cpu);
|
|
/* 02C5F698 */ _t3 = cpu->r[31] + 0x00000000u;
|
|
/* 02C5F698 */ cpu->r[10] = rbrew_read16(cpu->mem, _t3);
|
|
/* 02C5F69C */ cpu->r[9] = rbrew_rlwinm(cpu->r[10], 0x00000000u, 0x00000019u, 0x0000001Bu);
|
|
/* 02C5F6A0 */ cpu->r[0] = cpu->r[9] + 0xFFFFFFC0u;
|
|
/* 02C5F6A4 */ cpu->r[9] = rbrew_rlwinm(cpu->r[0], 0x0000001Cu, 0x00000004u, 0x0000001Fu);
|
|
/* 02C5F6A8 */ cpu->r[12] = (uint32_t)((int32_t)cpu->r[9] * (int32_t)0x00000003u);
|
|
/* 02C5F6AC */ cpu->r[11] = rbrew_rlwinm(cpu->r[10], 0x0000001Eu, 0x0000001Eu, 0x0000001Fu);
|
|
/* 02C5F6B0 */ cpu->r[6] = cpu->r[12] + cpu->r[11];
|
|
/* 02C5F6B4 */ cpu->r[7] = rbrew_rlwinm(cpu->r[6], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 02C5F6B8 */ cpu->r[8] = cpu->r[7] + 0x101B0000u;
|
|
/* 02C5F6BC */ cpu->r[7] = cpu->r[8] + 0xFFFFF0E0u;
|
|
/* 02C5F6C0 */ _t4 = cpu->r[7] + 0x00000002u;
|
|
/* 02C5F6C0 */ cpu->r[0] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t4);
|
|
/* 02C5F6C4 */ _t5 = cpu->r[8] + 0xFFFFF0E0u;
|
|
/* 02C5F6C4 */ cpu->r[9] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t5);
|
|
/* 02C5F6C8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C5F6CC */ cpu->r[3] = cpu->r[31] + cpu->r[9];
|
|
/* 02C5F6D0 */ _t6 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C5F6D0 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02C5F6D0 */ if (_t7) goto L_02C5F6D4; else goto L_02C5F6F0;
|
|
L_02C5F6D4: ; // 0x2c5f6d4
|
|
/* 02C5F6D4 */ _t8 = cpu->r[7] + 0x00000004u;
|
|
/* 02C5F6D4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C5F6D8 */ cpu->ctr = cpu->r[0];
|
|
/* 02C5F6DC */ cpu->r[4] = cpu->r[5];
|
|
/* 02C5F6E0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02C5F6E4 */ _t9 = cpu->r[31] + 0x00000014u;
|
|
/* 02C5F6E4 */ cpu->r[6] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02C5F6E8 */ cpu->r[3] = cpu->r[3] + cpu->r[6];
|
|
/* 02C5F6EC */ goto L_02C5F718;
|
|
L_02C5F6F0: ; // 0x2c5f6f0
|
|
/* 02C5F6F0 */ _t10 = cpu->r[7] + 0x00000006u;
|
|
/* 02C5F6F0 */ cpu->r[10] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t10);
|
|
/* 02C5F6F4 */ _t11 = cpu->r[3] + cpu->r[10];
|
|
/* 02C5F6F4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02C5F6F8 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 02C5F6FC */ cpu->r[8] = cpu->r[12] + cpu->r[0];
|
|
/* 02C5F700 */ _t12 = cpu->r[8] + 0x00000004u;
|
|
/* 02C5F700 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02C5F704 */ cpu->ctr = cpu->r[0];
|
|
/* 02C5F708 */ cpu->r[4] = cpu->r[5];
|
|
/* 02C5F70C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02C5F710 */ _t13 = cpu->r[31] + 0x00000014u;
|
|
/* 02C5F710 */ cpu->r[6] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02C5F714 */ cpu->r[3] = cpu->r[3] + cpu->r[6];
|
|
L_02C5F718: ; // 0x2c5f718
|
|
/* 02C5F718 */ _t14 = cpu->r[1] + 0x00000014u;
|
|
/* 02C5F718 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02C5F71C */ _t15 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C5F71C */ cpu->r[31] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02C5F720 */ cpu->lr = cpu->r[0];
|
|
/* 02C5F724 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C5F728 */ return;
|
|
}
|
|
|
|
// fn_02C5F72C @ 0x2c5f72c
|
|
void Gambit_fn_02C5F72C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7;
|
|
|
|
L_02C5F72C: ; // 0x2c5f72c
|
|
/* 02C5F72C */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02C5F72C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C5F72C */ cpu->r[1] = _t0;
|
|
/* 02C5F730 */ _t1 = cpu->r[3] + 0x00000008u;
|
|
/* 02C5F730 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t1);
|
|
/* 02C5F734 */ cpu->f[13] = (uint32_t)(int32_t)cpu->f[13];
|
|
/* 02C5F738 */ _t2 = cpu->r[3] + 0x00000020u;
|
|
/* 02C5F738 */ cpu->r[10] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02C5F73C */ cpu->r[9] = cpu->r[1] + 0x00000008u;
|
|
/* 02C5F740 */ cpu->f[0] = (uint32_t)(int32_t)cpu->f[1];
|
|
/* 02C5F744 */ /* nop */
|
|
/* 02C5F748 */ _t3 = cpu->r[1] + 0x00000008u;
|
|
/* 02C5F748 */ cpu->r[8] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02C5F74C */ /* nop */
|
|
/* 02C5F750 */ _t4 = cpu->r[1] + 0x00000008u;
|
|
/* 02C5F750 */ cpu->r[7] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02C5F754 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02C5F758 */ cpu->r[12] = cpu->r[3] + 0x00000020u;
|
|
/* 02C5F75C */ cpu->r[0] = 0x00000000u;
|
|
/* 02C5F760 */ cpu->r[11] = cpu->r[7] - cpu->r[8];
|
|
/* 02C5F764 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C5F764 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02C5F764 */ if (_t6) goto L_02C5F76C; else goto L_02C5F768;
|
|
L_02C5F768: ; // 0x2c5f768
|
|
/* 02C5F768 */ cpu->r[0] = cpu->r[12] + cpu->r[10];
|
|
L_02C5F76C: ; // 0x2c5f76c
|
|
/* 02C5F76C */ /* nop */
|
|
/* 02C5F770 */ cpu->r[9] = rbrew_rlwinm(cpu->r[8], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02C5F774 */ _t7 = cpu->r[9] + cpu->r[0];
|
|
/* 02C5F774 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02C5F778 */ cpu->r[11] = rbrew_rlwinm(cpu->r[11], 0x00000000u, 0x0000001Bu, 0x0000001Fu);
|
|
/* 02C5F77C */ /* nop */
|
|
/* 02C5F780 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C5F784 */ cpu->r[3] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02C5F788 */ return;
|
|
}
|
|
|
|
// fn_02C5F78C @ 0x2c5f78c
|
|
void Gambit_fn_02C5F78C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_02C5F78C: ; // 0x2c5f78c
|
|
/* 02C5F78C */ cpu->r[0] = cpu->lr;
|
|
/* 02C5F790 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C5F790 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C5F790 */ cpu->r[1] = _t0;
|
|
/* 02C5F794 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02C5F794 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02C5F798 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C5F798 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02C5F79C */ cpu->r[31] = cpu->r[4];
|
|
/* 02C5F7A0 */ cpu->r[30] = cpu->r[3];
|
|
/* 02C5F7A4 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02C5F7A4 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02C5F7A8 */ Gambit_fn_02C5F3E8(cpu);
|
|
/* 02C5F7AC */ _t4 = cpu->r[30] + 0x00000020u;
|
|
/* 02C5F7AC */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02C5F7B0 */ cpu->r[11] = cpu->r[30] + 0x00000020u;
|
|
/* 02C5F7B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C5F7B8 */ cpu->r[12] = 0x00000000u;
|
|
/* 02C5F7BC */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C5F7BC */ _t6 = _t5 & 0x00000001u;
|
|
/* 02C5F7BC */ if (_t6) goto L_02C5F7C4; else goto L_02C5F7C0;
|
|
L_02C5F7C0: ; // 0x2c5f7c0
|
|
/* 02C5F7C0 */ cpu->r[12] = cpu->r[11] + cpu->r[0];
|
|
L_02C5F7C4: ; // 0x2c5f7c4
|
|
/* 02C5F7C4 */ _t7 = cpu->r[31] + 0x00000008u;
|
|
/* 02C5F7C4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02C5F7C8 */ _t8 = cpu->r[12] + cpu->r[0];
|
|
/* 02C5F7C8 */ cpu->r[3] = rbrew_read8(cpu->mem, _t8);
|
|
/* 02C5F7CC */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 02C5F7CC */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02C5F7D0 */ _t10 = cpu->r[1] + 0x00000008u;
|
|
/* 02C5F7D0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02C5F7D4 */ cpu->lr = cpu->r[0];
|
|
/* 02C5F7D8 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C5F7D8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02C5F7DC */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C5F7E0 */ /* nop */
|
|
/* 02C5F7E4 */ return;
|
|
}
|
|
|
|
// fn_02C5F790 @ 0x2c5f790
|
|
void Gambit_fn_02C5F790(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_02C5F790: ; // 0x2c5f790
|
|
/* 02C5F790 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C5F790 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C5F790 */ cpu->r[1] = _t0;
|
|
/* 02C5F794 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02C5F794 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02C5F798 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C5F798 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02C5F79C */ cpu->r[31] = cpu->r[4];
|
|
/* 02C5F7A0 */ cpu->r[30] = cpu->r[3];
|
|
/* 02C5F7A4 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02C5F7A4 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02C5F7A8 */ Gambit_fn_02C5F3E8(cpu);
|
|
/* 02C5F7AC */ _t4 = cpu->r[30] + 0x00000020u;
|
|
/* 02C5F7AC */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02C5F7B0 */ cpu->r[11] = cpu->r[30] + 0x00000020u;
|
|
/* 02C5F7B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C5F7B8 */ cpu->r[12] = 0x00000000u;
|
|
/* 02C5F7BC */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C5F7BC */ _t6 = _t5 & 0x00000001u;
|
|
/* 02C5F7BC */ if (_t6) goto L_02C5F7C4; else goto L_02C5F7C0;
|
|
L_02C5F7C0: ; // 0x2c5f7c0
|
|
/* 02C5F7C0 */ cpu->r[12] = cpu->r[11] + cpu->r[0];
|
|
L_02C5F7C4: ; // 0x2c5f7c4
|
|
/* 02C5F7C4 */ _t7 = cpu->r[31] + 0x00000008u;
|
|
/* 02C5F7C4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02C5F7C8 */ _t8 = cpu->r[12] + cpu->r[0];
|
|
/* 02C5F7C8 */ cpu->r[3] = rbrew_read8(cpu->mem, _t8);
|
|
/* 02C5F7CC */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 02C5F7CC */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02C5F7D0 */ _t10 = cpu->r[1] + 0x00000008u;
|
|
/* 02C5F7D0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02C5F7D4 */ cpu->lr = cpu->r[0];
|
|
/* 02C5F7D8 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C5F7D8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02C5F7DC */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C5F7E0 */ /* nop */
|
|
/* 02C5F7E4 */ return;
|
|
}
|
|
|
|
// fn_02C5F7E8 @ 0x2c5f7e8
|
|
void Gambit_fn_02C5F7E8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_02C5F7E8: ; // 0x2c5f7e8
|
|
/* 02C5F7E8 */ cpu->r[0] = cpu->lr;
|
|
/* 02C5F7EC */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C5F7EC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C5F7EC */ cpu->r[1] = _t0;
|
|
/* 02C5F7F0 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02C5F7F0 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02C5F7F4 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C5F7F4 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02C5F7F8 */ cpu->r[31] = cpu->r[4];
|
|
/* 02C5F7FC */ cpu->r[30] = cpu->r[3];
|
|
/* 02C5F800 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02C5F800 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02C5F804 */ Gambit_fn_02C5F3E8(cpu);
|
|
/* 02C5F808 */ _t4 = cpu->r[30] + 0x00000020u;
|
|
/* 02C5F808 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02C5F80C */ cpu->r[11] = cpu->r[30] + 0x00000020u;
|
|
/* 02C5F810 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C5F814 */ cpu->r[12] = 0x00000000u;
|
|
/* 02C5F818 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C5F818 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02C5F818 */ if (_t6) goto L_02C5F820; else goto L_02C5F81C;
|
|
L_02C5F81C: ; // 0x2c5f81c
|
|
/* 02C5F81C */ cpu->r[12] = cpu->r[11] + cpu->r[0];
|
|
L_02C5F820: ; // 0x2c5f820
|
|
/* 02C5F820 */ _t7 = cpu->r[31] + 0x00000008u;
|
|
/* 02C5F820 */ cpu->r[11] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02C5F824 */ _t8 = cpu->r[1] + 0x00000008u;
|
|
/* 02C5F824 */ cpu->r[30] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C5F828 */ cpu->r[0] = rbrew_rlwinm(cpu->r[11], 0x00000001u, 0x00000000u, 0x0000001Eu);
|
|
/* 02C5F82C */ _t9 = cpu->r[12] + cpu->r[0];
|
|
/* 02C5F82C */ cpu->r[3] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t9);
|
|
/* 02C5F830 */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02C5F830 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02C5F834 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C5F834 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02C5F838 */ cpu->lr = cpu->r[0];
|
|
/* 02C5F83C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C5F840 */ return;
|
|
}
|
|
|
|
// fn_02C5F7EC @ 0x2c5f7ec
|
|
void Gambit_fn_02C5F7EC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_02C5F7EC: ; // 0x2c5f7ec
|
|
/* 02C5F7EC */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C5F7EC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C5F7EC */ cpu->r[1] = _t0;
|
|
/* 02C5F7F0 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02C5F7F0 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02C5F7F4 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C5F7F4 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02C5F7F8 */ cpu->r[31] = cpu->r[4];
|
|
/* 02C5F7FC */ cpu->r[30] = cpu->r[3];
|
|
/* 02C5F800 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02C5F800 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02C5F804 */ Gambit_fn_02C5F3E8(cpu);
|
|
/* 02C5F808 */ _t4 = cpu->r[30] + 0x00000020u;
|
|
/* 02C5F808 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02C5F80C */ cpu->r[11] = cpu->r[30] + 0x00000020u;
|
|
/* 02C5F810 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C5F814 */ cpu->r[12] = 0x00000000u;
|
|
/* 02C5F818 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C5F818 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02C5F818 */ if (_t6) goto L_02C5F820; else goto L_02C5F81C;
|
|
L_02C5F81C: ; // 0x2c5f81c
|
|
/* 02C5F81C */ cpu->r[12] = cpu->r[11] + cpu->r[0];
|
|
L_02C5F820: ; // 0x2c5f820
|
|
/* 02C5F820 */ _t7 = cpu->r[31] + 0x00000008u;
|
|
/* 02C5F820 */ cpu->r[11] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02C5F824 */ _t8 = cpu->r[1] + 0x00000008u;
|
|
/* 02C5F824 */ cpu->r[30] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C5F828 */ cpu->r[0] = rbrew_rlwinm(cpu->r[11], 0x00000001u, 0x00000000u, 0x0000001Eu);
|
|
/* 02C5F82C */ _t9 = cpu->r[12] + cpu->r[0];
|
|
/* 02C5F82C */ cpu->r[3] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t9);
|
|
/* 02C5F830 */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02C5F830 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02C5F834 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C5F834 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02C5F838 */ cpu->lr = cpu->r[0];
|
|
/* 02C5F83C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C5F840 */ return;
|
|
}
|
|
|
|
// fn_02C5F844 @ 0x2c5f844
|
|
void Gambit_fn_02C5F844(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_02C5F844: ; // 0x2c5f844
|
|
/* 02C5F844 */ cpu->r[0] = cpu->lr;
|
|
/* 02C5F848 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C5F848 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C5F848 */ cpu->r[1] = _t0;
|
|
/* 02C5F84C */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02C5F84C */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02C5F850 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C5F850 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02C5F854 */ cpu->r[31] = cpu->r[4];
|
|
/* 02C5F858 */ cpu->r[30] = cpu->r[3];
|
|
/* 02C5F85C */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02C5F85C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02C5F860 */ Gambit_fn_02C5F3E8(cpu);
|
|
/* 02C5F864 */ _t4 = cpu->r[30] + 0x00000020u;
|
|
/* 02C5F864 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02C5F868 */ cpu->r[11] = cpu->r[30] + 0x00000020u;
|
|
/* 02C5F86C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C5F870 */ cpu->r[12] = 0x00000000u;
|
|
/* 02C5F874 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C5F874 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02C5F874 */ if (_t6) goto L_02C5F87C; else goto L_02C5F878;
|
|
L_02C5F878: ; // 0x2c5f878
|
|
/* 02C5F878 */ cpu->r[12] = cpu->r[11] + cpu->r[0];
|
|
L_02C5F87C: ; // 0x2c5f87c
|
|
/* 02C5F87C */ _t7 = cpu->r[31] + 0x00000008u;
|
|
/* 02C5F87C */ cpu->r[11] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02C5F880 */ _t8 = cpu->r[1] + 0x00000008u;
|
|
/* 02C5F880 */ cpu->r[30] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C5F884 */ cpu->r[0] = rbrew_rlwinm(cpu->r[11], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02C5F888 */ _t9 = cpu->r[12] + cpu->r[0];
|
|
/* 02C5F888 */ cpu->r[3] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02C5F88C */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02C5F88C */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02C5F890 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C5F890 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02C5F894 */ cpu->lr = cpu->r[0];
|
|
/* 02C5F898 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C5F89C */ return;
|
|
}
|
|
|
|
// fn_02C5F848 @ 0x2c5f848
|
|
void Gambit_fn_02C5F848(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_02C5F848: ; // 0x2c5f848
|
|
/* 02C5F848 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C5F848 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C5F848 */ cpu->r[1] = _t0;
|
|
/* 02C5F84C */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02C5F84C */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02C5F850 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C5F850 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02C5F854 */ cpu->r[31] = cpu->r[4];
|
|
/* 02C5F858 */ cpu->r[30] = cpu->r[3];
|
|
/* 02C5F85C */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02C5F85C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02C5F860 */ Gambit_fn_02C5F3E8(cpu);
|
|
/* 02C5F864 */ _t4 = cpu->r[30] + 0x00000020u;
|
|
/* 02C5F864 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02C5F868 */ cpu->r[11] = cpu->r[30] + 0x00000020u;
|
|
/* 02C5F86C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C5F870 */ cpu->r[12] = 0x00000000u;
|
|
/* 02C5F874 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C5F874 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02C5F874 */ if (_t6) goto L_02C5F87C; else goto L_02C5F878;
|
|
L_02C5F878: ; // 0x2c5f878
|
|
/* 02C5F878 */ cpu->r[12] = cpu->r[11] + cpu->r[0];
|
|
L_02C5F87C: ; // 0x2c5f87c
|
|
/* 02C5F87C */ _t7 = cpu->r[31] + 0x00000008u;
|
|
/* 02C5F87C */ cpu->r[11] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02C5F880 */ _t8 = cpu->r[1] + 0x00000008u;
|
|
/* 02C5F880 */ cpu->r[30] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C5F884 */ cpu->r[0] = rbrew_rlwinm(cpu->r[11], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02C5F888 */ _t9 = cpu->r[12] + cpu->r[0];
|
|
/* 02C5F888 */ cpu->r[3] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02C5F88C */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02C5F88C */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02C5F890 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C5F890 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02C5F894 */ cpu->lr = cpu->r[0];
|
|
/* 02C5F898 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C5F89C */ return;
|
|
}
|
|
|
|
// fn_02C5F8A0 @ 0x2c5f8a0
|
|
void Gambit_fn_02C5F8A0(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_02C5F8A0: ; // 0x2c5f8a0
|
|
/* 02C5F8A0 */ _t0 = cpu->r[3] + 0x0000001Cu;
|
|
/* 02C5F8A0 */ cpu->r[6] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02C5F8A4 */ cpu->r[10] = cpu->r[3] + 0x0000001Cu;
|
|
/* 02C5F8A8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u);
|
|
/* 02C5F8AC */ cpu->r[11] = 0x00000000u;
|
|
/* 02C5F8B0 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C5F8B0 */ _t2 = _t1 & 0x00000001u;
|
|
/* 02C5F8B0 */ if (_t2) goto L_02C5F8B8; else goto L_02C5F8B4;
|
|
L_02C5F8B4: ; // 0x2c5f8b4
|
|
/* 02C5F8B4 */ cpu->r[11] = cpu->r[10] + cpu->r[6];
|
|
L_02C5F8B8: ; // 0x2c5f8b8
|
|
/* 02C5F8B8 */ _t3 = cpu->r[3] + 0x00000002u;
|
|
/* 02C5F8B8 */ cpu->r[10] = rbrew_read16(cpu->mem, _t3);
|
|
/* 02C5F8BC */ cpu->r[0] = cpu->r[10] + 0xFFFFFFFFu;
|
|
/* 02C5F8C0 */ cpu->r[9] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02C5F8C4 */ _t4 = cpu->r[9] + cpu->r[11];
|
|
/* 02C5F8C4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02C5F8C8 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[1], cpu->f[0]);
|
|
/* 02C5F8CC */ _t5 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C5F8CC */ _t6 = _t5 & 0x00000001u;
|
|
/* 02C5F8CC */ if (_t6) goto L_02C5F8F8; else goto L_02C5F8D0;
|
|
L_02C5F8D0: ; // 0x2c5f8d0
|
|
/* 02C5F8D0 */ cpu->r[9] = 0x101B0000u;
|
|
/* 02C5F8D4 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000010u, 0x0000001Fu);
|
|
/* 02C5F8D8 */ _t7 = cpu->r[9] + 0xFFFFF048u;
|
|
/* 02C5F8D8 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t7);
|
|
/* 02C5F8DC */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x0000000Eu, 0x0000001Du);
|
|
/* 02C5F8E0 */ _t8 = cpu->r[4] + 0x00000008u;
|
|
/* 02C5F8E0 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
/* 02C5F8E4 */ _t9 = cpu->r[11] + cpu->r[12];
|
|
/* 02C5F8E4 */ cpu->r[13] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02C5F8E8 */ cpu->f[0] = cpu->f[13] + cpu->f[0];
|
|
/* 02C5F8EC */ _t10 = cpu->r[4] + 0x00000000u;
|
|
/* 02C5F8EC */ rbrew_write_f32(cpu->mem, _t10, cpu->f[13]);
|
|
/* 02C5F8F0 */ _t11 = cpu->r[4] + 0x00000004u;
|
|
/* 02C5F8F0 */ rbrew_write_f32(cpu->mem, _t11, cpu->f[0]);
|
|
/* 02C5F8F4 */ return;
|
|
L_02C5F8F8: ; // 0x2c5f8f8
|
|
/* 02C5F8F8 */ _t12 = cpu->r[4] + 0x00000008u;
|
|
/* 02C5F8F8 */ cpu->r[7] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02C5F8FC */ cpu->r[0] = rbrew_rlwinm(cpu->r[7], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02C5F900 */ _t13 = cpu->r[11] + cpu->r[0];
|
|
/* 02C5F900 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02C5F904 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[1], cpu->f[0]);
|
|
/* 02C5F908 */ cpu->r[12] = cpu->r[11] + cpu->r[0];
|
|
/* 02C5F90C */ _t14 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C5F90C */ _t15 = _t14 & 0x00000001u;
|
|
/* 02C5F90C */ if (_t15) goto L_02C5F910; else goto L_02C5F93C;
|
|
L_02C5F910: ; // 0x2c5f910
|
|
/* 02C5F910 */ _t16 = cpu->r[12] + 0xFFFFFFFCu;
|
|
/* 02C5F910 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t16);
|
|
/* 02C5F910 */ cpu->r[12] = _t16;
|
|
/* 02C5F914 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[1], cpu->f[0]);
|
|
/* 02C5F918 */ cpu->r[7] = cpu->r[7] + 0xFFFFFFFFu;
|
|
/* 02C5F91C */ _t17 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C5F91C */ _t18 = _t17 & 0x00000001u;
|
|
/* 02C5F91C */ if (_t18) goto L_02C5F910; else goto L_02C5F920;
|
|
L_02C5F920: ; // 0x2c5f920
|
|
/* 02C5F920 */ cpu->r[8] = rbrew_rlwinm(cpu->r[7], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02C5F924 */ _t19 = cpu->r[4] + 0x00000008u;
|
|
/* 02C5F924 */ rbrew_write32(cpu->mem, _t19, cpu->r[7]);
|
|
/* 02C5F928 */ _t20 = cpu->r[11] + cpu->r[8];
|
|
/* 02C5F928 */ cpu->r[0] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02C5F92C */ cpu->r[12] = cpu->r[11] + cpu->r[8];
|
|
/* 02C5F930 */ _t21 = cpu->r[4] + 0x00000000u;
|
|
/* 02C5F930 */ rbrew_write_f32(cpu->mem, _t21, cpu->f[0]);
|
|
/* 02C5F934 */ _t22 = cpu->r[12] + 0x00000004u;
|
|
/* 02C5F934 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t22);
|
|
/* 02C5F938 */ goto L_02C5F968;
|
|
L_02C5F93C: ; // 0x2c5f93c
|
|
/* 02C5F93C */ _t23 = cpu->r[12] + 0x00000004u;
|
|
/* 02C5F93C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t23);
|
|
/* 02C5F93C */ cpu->r[12] = _t23;
|
|
/* 02C5F940 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[0], cpu->f[1]);
|
|
/* 02C5F944 */ cpu->r[7] = cpu->r[7] + 0x00000001u;
|
|
/* 02C5F948 */ _t24 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C5F948 */ _t25 = _t24 & 0x00000001u;
|
|
/* 02C5F948 */ if (_t25) goto L_02C5F94C; else goto L_02C5F93C;
|
|
L_02C5F94C: ; // 0x2c5f94c
|
|
/* 02C5F94C */ cpu->r[7] = cpu->r[7] + 0xFFFFFFFFu;
|
|
/* 02C5F950 */ cpu->r[8] = rbrew_rlwinm(cpu->r[7], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02C5F954 */ _t26 = cpu->r[4] + 0x00000008u;
|
|
/* 02C5F954 */ rbrew_write32(cpu->mem, _t26, cpu->r[7]);
|
|
/* 02C5F958 */ _t27 = cpu->r[11] + cpu->r[8];
|
|
/* 02C5F958 */ cpu->r[0] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02C5F95C */ cpu->r[12] = cpu->r[11] + cpu->r[8];
|
|
/* 02C5F960 */ _t28 = cpu->r[4] + 0x00000000u;
|
|
/* 02C5F960 */ rbrew_write_f32(cpu->mem, _t28, cpu->f[0]);
|
|
/* 02C5F964 */ _t29 = cpu->r[12] + 0x00000004u;
|
|
/* 02C5F964 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t29);
|
|
L_02C5F968: ; // 0x2c5f968
|
|
/* 02C5F968 */ _t30 = cpu->r[4] + 0x00000004u;
|
|
/* 02C5F968 */ rbrew_write_f32(cpu->mem, _t30, cpu->f[0]);
|
|
/* 02C5F96C */ return;
|
|
}
|
|
|
|
// fn_02C5F970 @ 0x2c5f970
|
|
void Gambit_fn_02C5F970(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_02C5F970: ; // 0x2c5f970
|
|
/* 02C5F970 */ cpu->r[0] = cpu->lr;
|
|
/* 02C5F974 */ _t0 = cpu->r[1] + 0xFFFFFFD0u;
|
|
/* 02C5F974 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C5F974 */ cpu->r[1] = _t0;
|
|
/* 02C5F978 */ _t1 = cpu->r[1] + 0x00000020u;
|
|
/* 02C5F978 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[31]);
|
|
/* 02C5F97C */ /* nop */
|
|
/* 02C5F980 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02C5F980 */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
|
|
/* 02C5F984 */ _t3 = cpu->r[1] + 0x00000028u;
|
|
/* 02C5F984 */ rbrew_write_f32(cpu->mem, _t3, cpu->f[31]);
|
|
/* 02C5F988 */ _t4 = cpu->r[1] + 0x00000018u;
|
|
/* 02C5F988 */ rbrew_write32(cpu->mem, _t4, cpu->r[30]);
|
|
/* 02C5F98C */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C5F98C */ rbrew_write32(cpu->mem, _t5, cpu->r[31]);
|
|
/* 02C5F990 */ _t6 = cpu->r[1] + 0x00000034u;
|
|
/* 02C5F990 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02C5F994 */ cpu->r[29] = cpu->r[3];
|
|
/* 02C5F998 */ _t7 = cpu->r[29] + 0x0000001Cu;
|
|
/* 02C5F998 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02C5F99C */ cpu->r[30] = cpu->r[4];
|
|
/* 02C5F9A0 */ cpu->r[31] = 0x00000000u;
|
|
/* 02C5F9A4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C5F9A8 */ cpu->r[11] = cpu->r[29] + 0x0000001Cu;
|
|
/* 02C5F9AC */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C5F9AC */ _t9 = _t8 & 0x00000001u;
|
|
/* 02C5F9AC */ if (_t9) goto L_02C5F9B4; else goto L_02C5F9B0;
|
|
L_02C5F9B0: ; // 0x2c5f9b0
|
|
/* 02C5F9B0 */ cpu->r[31] = cpu->r[11] + cpu->r[0];
|
|
L_02C5F9B4: ; // 0x2c5f9b4
|
|
/* 02C5F9B4 */ cpu->r[12] = 0x101B0000u;
|
|
/* 02C5F9B8 */ _t10 = cpu->r[12] + 0xFFFFF078u;
|
|
/* 02C5F9B8 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t10);
|
|
/* 02C5F9BC */ cpu->f[1] = cpu->f[1] * cpu->f[13];
|
|
/* 02C5F9C0 */ Gambit_fn_02C883FC(cpu);
|
|
/* 02C5F9C4 */ /* nop */
|
|
/* 02C5F9C8 */ cpu->r[11] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C5F9CC */ /* nop */
|
|
/* 02C5F9D0 */ _t11 = cpu->r[29] + 0x00000002u;
|
|
/* 02C5F9D0 */ cpu->r[12] = rbrew_read16(cpu->mem, _t11);
|
|
/* 02C5F9D4 */ cpu->r[0] = cpu->r[12] + 0xFFFFFFFFu;
|
|
/* 02C5F9D8 */ _t12 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C5F9D8 */ cpu->r[11] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t12);
|
|
/* 02C5F9DC */ cpu->r[8] = rbrew_rlwinm(cpu->r[0], 0x00000001u, 0x00000000u, 0x0000001Eu);
|
|
/* 02C5F9E0 */ _t13 = cpu->r[8] + cpu->r[31];
|
|
/* 02C5F9E0 */ cpu->r[9] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t13);
|
|
/* 02C5F9E4 */ cpu->r[10] = 0x101B0000u;
|
|
/* 02C5F9E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], cpu->r[9]);
|
|
/* 02C5F9EC */ _t14 = cpu->r[10] + 0xFFFFF07Cu;
|
|
/* 02C5F9EC */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t14);
|
|
/* 02C5F9F0 */ _t15 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C5F9F0 */ _t16 = _t15 & 0x00000001u;
|
|
/* 02C5F9F0 */ if (_t16) goto L_02C5FA2C; else goto L_02C5F9F4;
|
|
L_02C5F9F4: ; // 0x2c5f9f4
|
|
/* 02C5F9F4 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000010u, 0x0000001Fu);
|
|
/* 02C5F9F8 */ cpu->r[10] = rbrew_rlwinm(cpu->r[0], 0x00000001u, 0x0000000Fu, 0x0000001Eu);
|
|
/* 02C5F9FC */ _t17 = cpu->r[30] + 0x00000008u;
|
|
/* 02C5F9FC */ rbrew_write32(cpu->mem, _t17, cpu->r[0]);
|
|
/* 02C5FA00 */ _t18 = cpu->r[31] + cpu->r[10];
|
|
/* 02C5FA00 */ cpu->r[0] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t18);
|
|
/* 02C5FA04 */ cpu->r[11] = cpu->r[1] + 0x0000000Eu;
|
|
/* 02C5FA08 */ _t19 = cpu->r[1] + 0x0000000Eu;
|
|
/* 02C5FA08 */ rbrew_write16(cpu->mem, _t19, (uint16_t)cpu->r[0]);
|
|
/* 02C5FA0C */ /* nop */
|
|
/* 02C5FA10 */ cpu->r[8] = 0x101B0000u;
|
|
/* 02C5FA14 */ cpu->f[13] = cpu->f[13] * cpu->f[0];
|
|
/* 02C5FA18 */ _t20 = cpu->r[8] + 0xFFFFF048u;
|
|
/* 02C5FA18 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t20);
|
|
/* 02C5FA1C */ cpu->f[0] = cpu->f[13] + cpu->f[0];
|
|
/* 02C5FA20 */ _t21 = cpu->r[30] + 0x00000000u;
|
|
/* 02C5FA20 */ rbrew_write_f32(cpu->mem, _t21, cpu->f[13]);
|
|
/* 02C5FA24 */ _t22 = cpu->r[30] + 0x00000004u;
|
|
/* 02C5FA24 */ rbrew_write_f32(cpu->mem, _t22, cpu->f[0]);
|
|
/* 02C5FA28 */ goto L_02C5FAE0;
|
|
L_02C5FA2C: ; // 0x2c5fa2c
|
|
/* 02C5FA2C */ _t23 = cpu->r[30] + 0x00000008u;
|
|
/* 02C5FA2C */ cpu->r[10] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02C5FA30 */ cpu->r[0] = rbrew_rlwinm(cpu->r[10], 0x00000001u, 0x00000000u, 0x0000001Eu);
|
|
/* 02C5FA34 */ _t24 = cpu->r[31] + cpu->r[0];
|
|
/* 02C5FA34 */ cpu->r[8] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t24);
|
|
/* 02C5FA38 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], cpu->r[8]);
|
|
/* 02C5FA3C */ cpu->r[12] = cpu->r[31] + cpu->r[0];
|
|
/* 02C5FA40 */ _t25 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C5FA40 */ _t26 = _t25 & 0x00000001u;
|
|
/* 02C5FA40 */ if (_t26) goto L_02C5FA44; else goto L_02C5FA90;
|
|
L_02C5FA44: ; // 0x2c5fa44
|
|
/* 02C5FA44 */ _t27 = cpu->r[12] + 0xFFFFFFFEu;
|
|
/* 02C5FA44 */ cpu->r[9] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t27);
|
|
/* 02C5FA44 */ cpu->r[12] = _t27;
|
|
/* 02C5FA48 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], cpu->r[9]);
|
|
/* 02C5FA4C */ cpu->r[10] = cpu->r[10] + 0xFFFFFFFFu;
|
|
/* 02C5FA50 */ _t28 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C5FA50 */ _t29 = _t28 & 0x00000001u;
|
|
/* 02C5FA50 */ if (_t29) goto L_02C5FA44; else goto L_02C5FA54;
|
|
L_02C5FA54: ; // 0x2c5fa54
|
|
/* 02C5FA54 */ cpu->r[9] = rbrew_rlwinm(cpu->r[10], 0x00000001u, 0x00000000u, 0x0000001Eu);
|
|
/* 02C5FA58 */ _t30 = cpu->r[30] + 0x00000008u;
|
|
/* 02C5FA58 */ rbrew_write32(cpu->mem, _t30, cpu->r[10]);
|
|
/* 02C5FA5C */ _t31 = cpu->r[31] + cpu->r[9];
|
|
/* 02C5FA5C */ cpu->r[0] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t31);
|
|
/* 02C5FA60 */ cpu->r[11] = cpu->r[1] + 0x00000008u;
|
|
/* 02C5FA64 */ _t32 = cpu->r[1] + 0x00000008u;
|
|
/* 02C5FA64 */ rbrew_write16(cpu->mem, _t32, (uint16_t)cpu->r[0]);
|
|
/* 02C5FA68 */ /* nop */
|
|
/* 02C5FA6C */ cpu->f[13] = cpu->f[13] * cpu->f[0];
|
|
/* 02C5FA70 */ cpu->r[12] = cpu->r[31] + cpu->r[9];
|
|
/* 02C5FA74 */ _t33 = cpu->r[30] + 0x00000000u;
|
|
/* 02C5FA74 */ rbrew_write_f32(cpu->mem, _t33, cpu->f[13]);
|
|
/* 02C5FA78 */ _t34 = cpu->r[12] + 0x00000002u;
|
|
/* 02C5FA78 */ cpu->r[0] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t34);
|
|
/* 02C5FA7C */ cpu->r[12] = cpu->r[1] + 0x0000000Au;
|
|
/* 02C5FA80 */ _t35 = cpu->r[1] + 0x0000000Au;
|
|
/* 02C5FA80 */ rbrew_write16(cpu->mem, _t35, (uint16_t)cpu->r[0]);
|
|
/* 02C5FA84 */ /* nop */
|
|
/* 02C5FA88 */ cpu->f[0] = cpu->f[13] * cpu->f[0];
|
|
/* 02C5FA8C */ goto L_02C5FADC;
|
|
L_02C5FA90: ; // 0x2c5fa90
|
|
/* 02C5FA90 */ _t36 = cpu->r[12] + 0x00000002u;
|
|
/* 02C5FA90 */ cpu->r[8] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t36);
|
|
/* 02C5FA90 */ cpu->r[12] = _t36;
|
|
/* 02C5FA94 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], cpu->r[11]);
|
|
/* 02C5FA98 */ cpu->r[10] = cpu->r[10] + 0x00000001u;
|
|
/* 02C5FA9C */ _t37 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C5FA9C */ _t38 = _t37 & 0x00000001u;
|
|
/* 02C5FA9C */ if (_t38) goto L_02C5FAA0; else goto L_02C5FA90;
|
|
L_02C5FAA0: ; // 0x2c5faa0
|
|
/* 02C5FAA0 */ cpu->r[10] = cpu->r[10] + 0xFFFFFFFFu;
|
|
/* 02C5FAA4 */ cpu->r[9] = rbrew_rlwinm(cpu->r[10], 0x00000001u, 0x00000000u, 0x0000001Eu);
|
|
/* 02C5FAA8 */ _t39 = cpu->r[30] + 0x00000008u;
|
|
/* 02C5FAA8 */ rbrew_write32(cpu->mem, _t39, cpu->r[10]);
|
|
/* 02C5FAAC */ _t40 = cpu->r[31] + cpu->r[9];
|
|
/* 02C5FAAC */ cpu->r[0] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t40);
|
|
/* 02C5FAB0 */ cpu->r[11] = cpu->r[1] + 0x00000008u;
|
|
/* 02C5FAB4 */ _t41 = cpu->r[1] + 0x00000008u;
|
|
/* 02C5FAB4 */ rbrew_write16(cpu->mem, _t41, (uint16_t)cpu->r[0]);
|
|
/* 02C5FAB8 */ /* nop */
|
|
/* 02C5FABC */ cpu->f[13] = cpu->f[13] * cpu->f[0];
|
|
/* 02C5FAC0 */ cpu->r[12] = cpu->r[31] + cpu->r[9];
|
|
/* 02C5FAC4 */ _t42 = cpu->r[30] + 0x00000000u;
|
|
/* 02C5FAC4 */ rbrew_write_f32(cpu->mem, _t42, cpu->f[13]);
|
|
/* 02C5FAC8 */ _t43 = cpu->r[12] + 0x00000002u;
|
|
/* 02C5FAC8 */ cpu->r[0] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t43);
|
|
/* 02C5FACC */ cpu->r[12] = cpu->r[1] + 0x0000000Au;
|
|
/* 02C5FAD0 */ _t44 = cpu->r[1] + 0x0000000Au;
|
|
/* 02C5FAD0 */ rbrew_write16(cpu->mem, _t44, (uint16_t)cpu->r[0]);
|
|
/* 02C5FAD4 */ /* nop */
|
|
/* 02C5FAD8 */ cpu->f[0] = cpu->f[13] * cpu->f[0];
|
|
L_02C5FADC: ; // 0x2c5fadc
|
|
/* 02C5FADC */ _t45 = cpu->r[30] + 0x00000004u;
|
|
/* 02C5FADC */ rbrew_write_f32(cpu->mem, _t45, cpu->f[0]);
|
|
L_02C5FAE0: ; // 0x2c5fae0
|
|
/* 02C5FAE0 */ _t46 = cpu->r[1] + 0x00000014u;
|
|
/* 02C5FAE0 */ cpu->r[29] = rbrew_read32(cpu->mem, _t46);
|
|
/* 02C5FAE4 */ _t47 = cpu->r[1] + 0x00000028u;
|
|
/* 02C5FAE4 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t47);
|
|
/* 02C5FAE8 */ _t48 = cpu->r[1] + 0x00000018u;
|
|
/* 02C5FAE8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t48);
|
|
/* 02C5FAEC */ _t49 = cpu->r[1] + 0x00000020u;
|
|
/* 02C5FAEC */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t49);
|
|
/* 02C5FAF0 */ _t50 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C5FAF0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t50);
|
|
/* 02C5FAF4 */ _t51 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C5FAF4 */ _t52 = _t51 & 0x00000001u;
|
|
/* 02C5FAF4 */ if (_t52) goto L_02C5FAF8; // else: addr-0 trap, fall-through
|
|
L_02C5FAF8: ; // 0x2c5faf8
|
|
/* 02C5FAF8 */ _t53 = cpu->r[1] + 0x00000034u;
|
|
/* 02C5FAF8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t53);
|
|
/* 02C5FAFC */ cpu->lr = cpu->r[0];
|
|
/* 02C5FB00 */ cpu->r[1] = cpu->r[1] + 0x00000030u;
|
|
/* 02C5FB04 */ return;
|
|
}
|
|
|
|
// fn_02C5F974 @ 0x2c5f974
|
|
void Gambit_fn_02C5F974(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_02C5F974: ; // 0x2c5f974
|
|
/* 02C5F974 */ _t0 = cpu->r[1] + 0xFFFFFFD0u;
|
|
/* 02C5F974 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C5F974 */ cpu->r[1] = _t0;
|
|
/* 02C5F978 */ _t1 = cpu->r[1] + 0x00000020u;
|
|
/* 02C5F978 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[31]);
|
|
/* 02C5F97C */ /* nop */
|
|
/* 02C5F980 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02C5F980 */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
|
|
/* 02C5F984 */ _t3 = cpu->r[1] + 0x00000028u;
|
|
/* 02C5F984 */ rbrew_write_f32(cpu->mem, _t3, cpu->f[31]);
|
|
/* 02C5F988 */ _t4 = cpu->r[1] + 0x00000018u;
|
|
/* 02C5F988 */ rbrew_write32(cpu->mem, _t4, cpu->r[30]);
|
|
/* 02C5F98C */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C5F98C */ rbrew_write32(cpu->mem, _t5, cpu->r[31]);
|
|
/* 02C5F990 */ _t6 = cpu->r[1] + 0x00000034u;
|
|
/* 02C5F990 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02C5F994 */ cpu->r[29] = cpu->r[3];
|
|
/* 02C5F998 */ _t7 = cpu->r[29] + 0x0000001Cu;
|
|
/* 02C5F998 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02C5F99C */ cpu->r[30] = cpu->r[4];
|
|
/* 02C5F9A0 */ cpu->r[31] = 0x00000000u;
|
|
/* 02C5F9A4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C5F9A8 */ cpu->r[11] = cpu->r[29] + 0x0000001Cu;
|
|
/* 02C5F9AC */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C5F9AC */ _t9 = _t8 & 0x00000001u;
|
|
/* 02C5F9AC */ if (_t9) goto L_02C5F9B4; else goto L_02C5F9B0;
|
|
L_02C5F9B0: ; // 0x2c5f9b0
|
|
/* 02C5F9B0 */ cpu->r[31] = cpu->r[11] + cpu->r[0];
|
|
L_02C5F9B4: ; // 0x2c5f9b4
|
|
/* 02C5F9B4 */ cpu->r[12] = 0x101B0000u;
|
|
/* 02C5F9B8 */ _t10 = cpu->r[12] + 0xFFFFF078u;
|
|
/* 02C5F9B8 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t10);
|
|
/* 02C5F9BC */ cpu->f[1] = cpu->f[1] * cpu->f[13];
|
|
/* 02C5F9C0 */ Gambit_fn_02C883FC(cpu);
|
|
/* 02C5F9C4 */ /* nop */
|
|
/* 02C5F9C8 */ cpu->r[11] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C5F9CC */ /* nop */
|
|
/* 02C5F9D0 */ _t11 = cpu->r[29] + 0x00000002u;
|
|
/* 02C5F9D0 */ cpu->r[12] = rbrew_read16(cpu->mem, _t11);
|
|
/* 02C5F9D4 */ cpu->r[0] = cpu->r[12] + 0xFFFFFFFFu;
|
|
/* 02C5F9D8 */ _t12 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C5F9D8 */ cpu->r[11] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t12);
|
|
/* 02C5F9DC */ cpu->r[8] = rbrew_rlwinm(cpu->r[0], 0x00000001u, 0x00000000u, 0x0000001Eu);
|
|
/* 02C5F9E0 */ _t13 = cpu->r[8] + cpu->r[31];
|
|
/* 02C5F9E0 */ cpu->r[9] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t13);
|
|
/* 02C5F9E4 */ cpu->r[10] = 0x101B0000u;
|
|
/* 02C5F9E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], cpu->r[9]);
|
|
/* 02C5F9EC */ _t14 = cpu->r[10] + 0xFFFFF07Cu;
|
|
/* 02C5F9EC */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t14);
|
|
/* 02C5F9F0 */ _t15 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C5F9F0 */ _t16 = _t15 & 0x00000001u;
|
|
/* 02C5F9F0 */ if (_t16) goto L_02C5FA2C; else goto L_02C5F9F4;
|
|
L_02C5F9F4: ; // 0x2c5f9f4
|
|
/* 02C5F9F4 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000010u, 0x0000001Fu);
|
|
/* 02C5F9F8 */ cpu->r[10] = rbrew_rlwinm(cpu->r[0], 0x00000001u, 0x0000000Fu, 0x0000001Eu);
|
|
/* 02C5F9FC */ _t17 = cpu->r[30] + 0x00000008u;
|
|
/* 02C5F9FC */ rbrew_write32(cpu->mem, _t17, cpu->r[0]);
|
|
/* 02C5FA00 */ _t18 = cpu->r[31] + cpu->r[10];
|
|
/* 02C5FA00 */ cpu->r[0] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t18);
|
|
/* 02C5FA04 */ cpu->r[11] = cpu->r[1] + 0x0000000Eu;
|
|
/* 02C5FA08 */ _t19 = cpu->r[1] + 0x0000000Eu;
|
|
/* 02C5FA08 */ rbrew_write16(cpu->mem, _t19, (uint16_t)cpu->r[0]);
|
|
/* 02C5FA0C */ /* nop */
|
|
/* 02C5FA10 */ cpu->r[8] = 0x101B0000u;
|
|
/* 02C5FA14 */ cpu->f[13] = cpu->f[13] * cpu->f[0];
|
|
/* 02C5FA18 */ _t20 = cpu->r[8] + 0xFFFFF048u;
|
|
/* 02C5FA18 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t20);
|
|
/* 02C5FA1C */ cpu->f[0] = cpu->f[13] + cpu->f[0];
|
|
/* 02C5FA20 */ _t21 = cpu->r[30] + 0x00000000u;
|
|
/* 02C5FA20 */ rbrew_write_f32(cpu->mem, _t21, cpu->f[13]);
|
|
/* 02C5FA24 */ _t22 = cpu->r[30] + 0x00000004u;
|
|
/* 02C5FA24 */ rbrew_write_f32(cpu->mem, _t22, cpu->f[0]);
|
|
/* 02C5FA28 */ goto L_02C5FAE0;
|
|
L_02C5FA2C: ; // 0x2c5fa2c
|
|
/* 02C5FA2C */ _t23 = cpu->r[30] + 0x00000008u;
|
|
/* 02C5FA2C */ cpu->r[10] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02C5FA30 */ cpu->r[0] = rbrew_rlwinm(cpu->r[10], 0x00000001u, 0x00000000u, 0x0000001Eu);
|
|
/* 02C5FA34 */ _t24 = cpu->r[31] + cpu->r[0];
|
|
/* 02C5FA34 */ cpu->r[8] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t24);
|
|
/* 02C5FA38 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], cpu->r[8]);
|
|
/* 02C5FA3C */ cpu->r[12] = cpu->r[31] + cpu->r[0];
|
|
/* 02C5FA40 */ _t25 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C5FA40 */ _t26 = _t25 & 0x00000001u;
|
|
/* 02C5FA40 */ if (_t26) goto L_02C5FA44; else goto L_02C5FA90;
|
|
L_02C5FA44: ; // 0x2c5fa44
|
|
/* 02C5FA44 */ _t27 = cpu->r[12] + 0xFFFFFFFEu;
|
|
/* 02C5FA44 */ cpu->r[9] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t27);
|
|
/* 02C5FA44 */ cpu->r[12] = _t27;
|
|
/* 02C5FA48 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], cpu->r[9]);
|
|
/* 02C5FA4C */ cpu->r[10] = cpu->r[10] + 0xFFFFFFFFu;
|
|
/* 02C5FA50 */ _t28 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C5FA50 */ _t29 = _t28 & 0x00000001u;
|
|
/* 02C5FA50 */ if (_t29) goto L_02C5FA44; else goto L_02C5FA54;
|
|
L_02C5FA54: ; // 0x2c5fa54
|
|
/* 02C5FA54 */ cpu->r[9] = rbrew_rlwinm(cpu->r[10], 0x00000001u, 0x00000000u, 0x0000001Eu);
|
|
/* 02C5FA58 */ _t30 = cpu->r[30] + 0x00000008u;
|
|
/* 02C5FA58 */ rbrew_write32(cpu->mem, _t30, cpu->r[10]);
|
|
/* 02C5FA5C */ _t31 = cpu->r[31] + cpu->r[9];
|
|
/* 02C5FA5C */ cpu->r[0] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t31);
|
|
/* 02C5FA60 */ cpu->r[11] = cpu->r[1] + 0x00000008u;
|
|
/* 02C5FA64 */ _t32 = cpu->r[1] + 0x00000008u;
|
|
/* 02C5FA64 */ rbrew_write16(cpu->mem, _t32, (uint16_t)cpu->r[0]);
|
|
/* 02C5FA68 */ /* nop */
|
|
/* 02C5FA6C */ cpu->f[13] = cpu->f[13] * cpu->f[0];
|
|
/* 02C5FA70 */ cpu->r[12] = cpu->r[31] + cpu->r[9];
|
|
/* 02C5FA74 */ _t33 = cpu->r[30] + 0x00000000u;
|
|
/* 02C5FA74 */ rbrew_write_f32(cpu->mem, _t33, cpu->f[13]);
|
|
/* 02C5FA78 */ _t34 = cpu->r[12] + 0x00000002u;
|
|
/* 02C5FA78 */ cpu->r[0] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t34);
|
|
/* 02C5FA7C */ cpu->r[12] = cpu->r[1] + 0x0000000Au;
|
|
/* 02C5FA80 */ _t35 = cpu->r[1] + 0x0000000Au;
|
|
/* 02C5FA80 */ rbrew_write16(cpu->mem, _t35, (uint16_t)cpu->r[0]);
|
|
/* 02C5FA84 */ /* nop */
|
|
/* 02C5FA88 */ cpu->f[0] = cpu->f[13] * cpu->f[0];
|
|
/* 02C5FA8C */ goto L_02C5FADC;
|
|
L_02C5FA90: ; // 0x2c5fa90
|
|
/* 02C5FA90 */ _t36 = cpu->r[12] + 0x00000002u;
|
|
/* 02C5FA90 */ cpu->r[8] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t36);
|
|
/* 02C5FA90 */ cpu->r[12] = _t36;
|
|
/* 02C5FA94 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], cpu->r[11]);
|
|
/* 02C5FA98 */ cpu->r[10] = cpu->r[10] + 0x00000001u;
|
|
/* 02C5FA9C */ _t37 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C5FA9C */ _t38 = _t37 & 0x00000001u;
|
|
/* 02C5FA9C */ if (_t38) goto L_02C5FAA0; else goto L_02C5FA90;
|
|
L_02C5FAA0: ; // 0x2c5faa0
|
|
/* 02C5FAA0 */ cpu->r[10] = cpu->r[10] + 0xFFFFFFFFu;
|
|
/* 02C5FAA4 */ cpu->r[9] = rbrew_rlwinm(cpu->r[10], 0x00000001u, 0x00000000u, 0x0000001Eu);
|
|
/* 02C5FAA8 */ _t39 = cpu->r[30] + 0x00000008u;
|
|
/* 02C5FAA8 */ rbrew_write32(cpu->mem, _t39, cpu->r[10]);
|
|
/* 02C5FAAC */ _t40 = cpu->r[31] + cpu->r[9];
|
|
/* 02C5FAAC */ cpu->r[0] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t40);
|
|
/* 02C5FAB0 */ cpu->r[11] = cpu->r[1] + 0x00000008u;
|
|
/* 02C5FAB4 */ _t41 = cpu->r[1] + 0x00000008u;
|
|
/* 02C5FAB4 */ rbrew_write16(cpu->mem, _t41, (uint16_t)cpu->r[0]);
|
|
/* 02C5FAB8 */ /* nop */
|
|
/* 02C5FABC */ cpu->f[13] = cpu->f[13] * cpu->f[0];
|
|
/* 02C5FAC0 */ cpu->r[12] = cpu->r[31] + cpu->r[9];
|
|
/* 02C5FAC4 */ _t42 = cpu->r[30] + 0x00000000u;
|
|
/* 02C5FAC4 */ rbrew_write_f32(cpu->mem, _t42, cpu->f[13]);
|
|
/* 02C5FAC8 */ _t43 = cpu->r[12] + 0x00000002u;
|
|
/* 02C5FAC8 */ cpu->r[0] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t43);
|
|
/* 02C5FACC */ cpu->r[12] = cpu->r[1] + 0x0000000Au;
|
|
/* 02C5FAD0 */ _t44 = cpu->r[1] + 0x0000000Au;
|
|
/* 02C5FAD0 */ rbrew_write16(cpu->mem, _t44, (uint16_t)cpu->r[0]);
|
|
/* 02C5FAD4 */ /* nop */
|
|
/* 02C5FAD8 */ cpu->f[0] = cpu->f[13] * cpu->f[0];
|
|
L_02C5FADC: ; // 0x2c5fadc
|
|
/* 02C5FADC */ _t45 = cpu->r[30] + 0x00000004u;
|
|
/* 02C5FADC */ rbrew_write_f32(cpu->mem, _t45, cpu->f[0]);
|
|
L_02C5FAE0: ; // 0x2c5fae0
|
|
/* 02C5FAE0 */ _t46 = cpu->r[1] + 0x00000014u;
|
|
/* 02C5FAE0 */ cpu->r[29] = rbrew_read32(cpu->mem, _t46);
|
|
/* 02C5FAE4 */ _t47 = cpu->r[1] + 0x00000028u;
|
|
/* 02C5FAE4 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t47);
|
|
/* 02C5FAE8 */ _t48 = cpu->r[1] + 0x00000018u;
|
|
/* 02C5FAE8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t48);
|
|
/* 02C5FAEC */ _t49 = cpu->r[1] + 0x00000020u;
|
|
/* 02C5FAEC */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t49);
|
|
/* 02C5FAF0 */ _t50 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C5FAF0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t50);
|
|
/* 02C5FAF4 */ _t51 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C5FAF4 */ _t52 = _t51 & 0x00000001u;
|
|
/* 02C5FAF4 */ if (_t52) goto L_02C5FAF8; // else: addr-0 trap, fall-through
|
|
L_02C5FAF8: ; // 0x2c5faf8
|
|
/* 02C5FAF8 */ _t53 = cpu->r[1] + 0x00000034u;
|
|
/* 02C5FAF8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t53);
|
|
/* 02C5FAFC */ cpu->lr = cpu->r[0];
|
|
/* 02C5FB00 */ cpu->r[1] = cpu->r[1] + 0x00000030u;
|
|
/* 02C5FB04 */ return;
|
|
}
|
|
|
|
// fn_02C5FB08 @ 0x2c5fb08
|
|
void Gambit_fn_02C5FB08(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;
|
|
|
|
L_02C5FB08: ; // 0x2c5fb08
|
|
/* 02C5FB08 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02C5FB08 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C5FB08 */ cpu->r[1] = _t0;
|
|
/* 02C5FB0C */ _t1 = cpu->r[3] + 0x0000001Cu;
|
|
/* 02C5FB0C */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02C5FB10 */ cpu->r[8] = cpu->r[3] + 0x0000001Cu;
|
|
/* 02C5FB14 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C5FB18 */ cpu->r[12] = 0x00000000u;
|
|
/* 02C5FB1C */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C5FB1C */ _t3 = _t2 & 0x00000001u;
|
|
/* 02C5FB1C */ if (_t3) goto L_02C5FB24; else goto L_02C5FB20;
|
|
L_02C5FB20: ; // 0x2c5fb20
|
|
/* 02C5FB20 */ cpu->r[12] = cpu->r[8] + cpu->r[0];
|
|
L_02C5FB24: ; // 0x2c5fb24
|
|
/* 02C5FB24 */ /* nop */
|
|
/* 02C5FB28 */ cpu->r[10] = cpu->r[1] + 0x0000000Au;
|
|
/* 02C5FB2C */ /* nop */
|
|
/* 02C5FB30 */ _t4 = cpu->r[3] + 0x00000002u;
|
|
/* 02C5FB30 */ cpu->r[6] = rbrew_read16(cpu->mem, _t4);
|
|
/* 02C5FB34 */ _t5 = cpu->r[1] + 0x0000000Au;
|
|
/* 02C5FB34 */ cpu->r[0] = rbrew_read8(cpu->mem, _t5);
|
|
/* 02C5FB38 */ cpu->r[10] = cpu->r[6] + 0xFFFFFFFFu;
|
|
/* 02C5FB3C */ _t6 = cpu->r[12] + cpu->r[10];
|
|
/* 02C5FB3C */ cpu->r[8] = rbrew_read8(cpu->mem, _t6);
|
|
/* 02C5FB40 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[8]);
|
|
/* 02C5FB44 */ _t7 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C5FB44 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02C5FB44 */ if (_t8) goto L_02C5FB78; else goto L_02C5FB48;
|
|
L_02C5FB48: ; // 0x2c5fb48
|
|
/* 02C5FB48 */ cpu->r[10] = rbrew_rlwinm(cpu->r[10], 0x00000000u, 0x00000010u, 0x0000001Fu);
|
|
/* 02C5FB4C */ cpu->r[7] = 0x101B0000u;
|
|
/* 02C5FB50 */ _t9 = cpu->r[4] + 0x00000008u;
|
|
/* 02C5FB50 */ rbrew_write32(cpu->mem, _t9, cpu->r[10]);
|
|
/* 02C5FB54 */ _t10 = cpu->r[12] + cpu->r[10];
|
|
/* 02C5FB54 */ cpu->r[9] = rbrew_read8(cpu->mem, _t10);
|
|
/* 02C5FB58 */ _t11 = cpu->r[7] + 0xFFFFF048u;
|
|
/* 02C5FB58 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t11);
|
|
/* 02C5FB5C */ cpu->r[5] = cpu->r[1] + 0x0000000Bu;
|
|
/* 02C5FB60 */ _t12 = cpu->r[1] + 0x0000000Bu;
|
|
/* 02C5FB60 */ rbrew_write8(cpu->mem, _t12, (uint8_t)cpu->r[9]);
|
|
/* 02C5FB64 */ /* nop */
|
|
/* 02C5FB68 */ cpu->f[0] = cpu->f[13] + cpu->f[0];
|
|
/* 02C5FB6C */ _t13 = cpu->r[4] + 0x00000000u;
|
|
/* 02C5FB6C */ rbrew_write_f32(cpu->mem, _t13, cpu->f[13]);
|
|
/* 02C5FB70 */ _t14 = cpu->r[4] + 0x00000004u;
|
|
/* 02C5FB70 */ rbrew_write_f32(cpu->mem, _t14, cpu->f[0]);
|
|
/* 02C5FB74 */ goto L_02C5FC0C;
|
|
L_02C5FB78: ; // 0x2c5fb78
|
|
/* 02C5FB78 */ _t15 = cpu->r[4] + 0x00000008u;
|
|
/* 02C5FB78 */ cpu->r[5] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02C5FB7C */ _t16 = cpu->r[12] + cpu->r[5];
|
|
/* 02C5FB7C */ cpu->r[6] = rbrew_read8(cpu->mem, _t16);
|
|
/* 02C5FB80 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[6]);
|
|
/* 02C5FB84 */ _t17 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C5FB84 */ _t18 = _t17 & 0x00000001u;
|
|
/* 02C5FB84 */ if (_t18) goto L_02C5FB88; else goto L_02C5FBC8;
|
|
L_02C5FB88: ; // 0x2c5fb88
|
|
/* 02C5FB88 */ cpu->r[5] = cpu->r[5] + 0xFFFFFFFFu;
|
|
/* 02C5FB8C */ _t19 = cpu->r[12] + cpu->r[5];
|
|
/* 02C5FB8C */ cpu->r[7] = rbrew_read8(cpu->mem, _t19);
|
|
/* 02C5FB90 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[7]);
|
|
/* 02C5FB94 */ cpu->r[10] = cpu->r[12] + cpu->r[5];
|
|
/* 02C5FB98 */ _t20 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C5FB98 */ _t21 = _t20 & 0x00000001u;
|
|
/* 02C5FB98 */ if (_t21) goto L_02C5FB88; else goto L_02C5FB9C;
|
|
L_02C5FB9C: ; // 0x2c5fb9c
|
|
/* 02C5FB9C */ _t22 = cpu->r[4] + 0x00000008u;
|
|
/* 02C5FB9C */ rbrew_write32(cpu->mem, _t22, cpu->r[5]);
|
|
/* 02C5FBA0 */ _t23 = cpu->r[10] + 0x00000000u;
|
|
/* 02C5FBA0 */ cpu->r[11] = rbrew_read8(cpu->mem, _t23);
|
|
/* 02C5FBA4 */ cpu->r[9] = cpu->r[1] + 0x00000008u;
|
|
/* 02C5FBA8 */ _t24 = cpu->r[1] + 0x00000008u;
|
|
/* 02C5FBA8 */ rbrew_write8(cpu->mem, _t24, (uint8_t)cpu->r[11]);
|
|
/* 02C5FBAC */ /* nop */
|
|
/* 02C5FBB0 */ _t25 = cpu->r[4] + 0x00000000u;
|
|
/* 02C5FBB0 */ rbrew_write_f32(cpu->mem, _t25, cpu->f[13]);
|
|
/* 02C5FBB4 */ _t26 = cpu->r[10] + 0x00000001u;
|
|
/* 02C5FBB4 */ cpu->r[0] = rbrew_read8(cpu->mem, _t26);
|
|
/* 02C5FBB8 */ cpu->r[12] = cpu->r[1] + 0x00000009u;
|
|
/* 02C5FBBC */ _t27 = cpu->r[1] + 0x00000009u;
|
|
/* 02C5FBBC */ rbrew_write8(cpu->mem, _t27, (uint8_t)cpu->r[0]);
|
|
/* 02C5FBC0 */ /* nop */
|
|
/* 02C5FBC4 */ goto L_02C5FC08;
|
|
L_02C5FBC8: ; // 0x2c5fbc8
|
|
/* 02C5FBC8 */ cpu->r[5] = cpu->r[5] + 0x00000001u;
|
|
/* 02C5FBCC */ _t28 = cpu->r[12] + cpu->r[5];
|
|
/* 02C5FBCC */ cpu->r[8] = rbrew_read8(cpu->mem, _t28);
|
|
/* 02C5FBD0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[0]);
|
|
/* 02C5FBD4 */ _t29 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C5FBD4 */ _t30 = _t29 & 0x00000001u;
|
|
/* 02C5FBD4 */ if (_t30) goto L_02C5FBD8; else goto L_02C5FBC8;
|
|
L_02C5FBD8: ; // 0x2c5fbd8
|
|
/* 02C5FBD8 */ cpu->r[5] = cpu->r[5] + 0xFFFFFFFFu;
|
|
/* 02C5FBDC */ _t31 = cpu->r[4] + 0x00000008u;
|
|
/* 02C5FBDC */ rbrew_write32(cpu->mem, _t31, cpu->r[5]);
|
|
/* 02C5FBE0 */ _t32 = cpu->r[12] + cpu->r[5];
|
|
/* 02C5FBE0 */ cpu->r[11] = rbrew_read8(cpu->mem, _t32);
|
|
/* 02C5FBE4 */ cpu->r[9] = cpu->r[1] + 0x00000008u;
|
|
/* 02C5FBE8 */ _t33 = cpu->r[1] + 0x00000008u;
|
|
/* 02C5FBE8 */ rbrew_write8(cpu->mem, _t33, (uint8_t)cpu->r[11]);
|
|
/* 02C5FBEC */ /* nop */
|
|
/* 02C5FBF0 */ cpu->r[10] = cpu->r[12] + cpu->r[5];
|
|
/* 02C5FBF4 */ _t34 = cpu->r[4] + 0x00000000u;
|
|
/* 02C5FBF4 */ rbrew_write_f32(cpu->mem, _t34, cpu->f[13]);
|
|
/* 02C5FBF8 */ _t35 = cpu->r[10] + 0x00000001u;
|
|
/* 02C5FBF8 */ cpu->r[0] = rbrew_read8(cpu->mem, _t35);
|
|
/* 02C5FBFC */ cpu->r[12] = cpu->r[1] + 0x00000009u;
|
|
/* 02C5FC00 */ _t36 = cpu->r[1] + 0x00000009u;
|
|
/* 02C5FC00 */ rbrew_write8(cpu->mem, _t36, (uint8_t)cpu->r[0]);
|
|
/* 02C5FC04 */ /* nop */
|
|
L_02C5FC08: ; // 0x2c5fc08
|
|
/* 02C5FC08 */ _t37 = cpu->r[4] + 0x00000004u;
|
|
/* 02C5FC08 */ rbrew_write_f32(cpu->mem, _t37, cpu->f[0]);
|
|
L_02C5FC0C: ; // 0x2c5fc0c
|
|
/* 02C5FC0C */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C5FC10 */ return;
|
|
}
|
|
|
|
// fn_02C5FC14 @ 0x2c5fc14
|
|
void Gambit_fn_02C5FC14(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19;
|
|
double _ft8;
|
|
|
|
L_02C5FC14: ; // 0x2c5fc14
|
|
/* 02C5FC14 */ cpu->r[0] = cpu->lr;
|
|
/* 02C5FC18 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 02C5FC18 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C5FC18 */ cpu->r[1] = _t0;
|
|
/* 02C5FC1C */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 02C5FC1C */ rbrew_write_f64(cpu->mem, _t1, cpu->f[31]);
|
|
/* 02C5FC20 */ /* nop */
|
|
/* 02C5FC24 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C5FC24 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02C5FC28 */ _t3 = cpu->r[1] + 0x00000008u;
|
|
/* 02C5FC28 */ rbrew_write32(cpu->mem, _t3, cpu->r[30]);
|
|
/* 02C5FC2C */ cpu->r[31] = cpu->r[4];
|
|
/* 02C5FC30 */ _t4 = cpu->r[1] + 0x00000018u;
|
|
/* 02C5FC30 */ rbrew_write_f32(cpu->mem, _t4, cpu->f[31]);
|
|
/* 02C5FC34 */ cpu->f[31] = cpu->f[1];
|
|
/* 02C5FC38 */ cpu->r[30] = cpu->r[3];
|
|
/* 02C5FC3C */ _t5 = cpu->r[1] + 0x00000024u;
|
|
/* 02C5FC3C */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02C5FC40 */ Gambit_fn_02C5F3E8(cpu);
|
|
/* 02C5FC44 */ _t6 = cpu->r[31] + 0x00000000u;
|
|
/* 02C5FC44 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t6);
|
|
/* 02C5FC48 */ _t7 = cpu->r[31] + 0x00000004u;
|
|
/* 02C5FC48 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t7);
|
|
/* 02C5FC4C */ cpu->f[13] = cpu->f[0] - cpu->f[11];
|
|
/* 02C5FC50 */ _ft8 = (double)(int32_t)0x00000001u;
|
|
/* 02C5FC50 */ cpu->f[0] = _ft8 / cpu->f[13];
|
|
/* 02C5FC54 */ cpu->f[10] = cpu->f[31] - cpu->f[11];
|
|
/* 02C5FC58 */ cpu->f[12] = cpu->f[0] + cpu->f[0];
|
|
/* 02C5FC5C */ cpu->f[13] = cpu->f[13] * cpu->f[0];
|
|
/* 02C5FC60 */ _t9 = cpu->r[30] + 0x00000020u;
|
|
/* 02C5FC60 */ cpu->r[12] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02C5FC64 */ cpu->f[0] = -fma(cpu->f[13], cpu->f[0], -(cpu->f[12]));
|
|
/* 02C5FC68 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02C5FC6C */ _t10 = cpu->r[31] + 0x00000008u;
|
|
/* 02C5FC6C */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02C5FC70 */ cpu->r[11] = cpu->r[30] + 0x00000020u;
|
|
/* 02C5FC74 */ cpu->r[10] = 0x00000000u;
|
|
/* 02C5FC78 */ cpu->f[9] = cpu->f[10] * cpu->f[0];
|
|
/* 02C5FC7C */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C5FC7C */ _t12 = _t11 & 0x00000001u;
|
|
/* 02C5FC7C */ if (_t12) goto L_02C5FC84; else goto L_02C5FC80;
|
|
L_02C5FC80: ; // 0x2c5fc80
|
|
/* 02C5FC80 */ cpu->r[10] = cpu->r[11] + cpu->r[12];
|
|
L_02C5FC84: ; // 0x2c5fc84
|
|
/* 02C5FC84 */ cpu->r[12] = 0x101B0000u;
|
|
/* 02C5FC88 */ cpu->r[12] = cpu->r[12] + 0xFFFFF058u;
|
|
/* 02C5FC8C */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000004u, 0x00000000u, 0x0000001Bu);
|
|
/* 02C5FC90 */ /* nop */
|
|
/* 02C5FC94 */ cpu->r[12] = cpu->r[10] + cpu->r[0];
|
|
/* 02C5FC98 */ /* nop */
|
|
/* 02C5FC9C */ /* nop */
|
|
/* 02C5FCA0 */ /* nop */
|
|
/* 02C5FCA4 */ /* nop */
|
|
/* 02C5FCA8 */ /* nop */
|
|
/* 02C5FCAC */ /* nop */
|
|
/* 02C5FCB0 */ _t13 = cpu->r[1] + 0x00000008u;
|
|
/* 02C5FCB0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02C5FCB4 */ /* nop */
|
|
/* 02C5FCB8 */ _t14 = cpu->r[1] + 0x00000018u;
|
|
/* 02C5FCB8 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t14);
|
|
/* 02C5FCBC */ /* nop */
|
|
/* 02C5FCC0 */ _t15 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C5FCC0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02C5FCC4 */ /* nop */
|
|
/* 02C5FCC8 */ _t16 = cpu->r[1] + 0x00000010u;
|
|
/* 02C5FCC8 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t16);
|
|
/* 02C5FCCC */ cpu->f[1] = cpu->f[0];
|
|
/* 02C5FCD0 */ _t17 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C5FCD0 */ _t18 = _t17 & 0x00000001u;
|
|
/* 02C5FCD0 */ if (_t18) goto L_02C5FCD4; // else: addr-0 trap, fall-through
|
|
L_02C5FCD4: ; // 0x2c5fcd4
|
|
/* 02C5FCD4 */ _t19 = cpu->r[1] + 0x00000024u;
|
|
/* 02C5FCD4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02C5FCD8 */ cpu->lr = cpu->r[0];
|
|
/* 02C5FCDC */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02C5FCE0 */ return;
|
|
}
|
|
|
|
// fn_02C5FC18 @ 0x2c5fc18
|
|
void Gambit_fn_02C5FC18(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19;
|
|
double _ft8;
|
|
|
|
L_02C5FC18: ; // 0x2c5fc18
|
|
/* 02C5FC18 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 02C5FC18 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C5FC18 */ cpu->r[1] = _t0;
|
|
/* 02C5FC1C */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 02C5FC1C */ rbrew_write_f64(cpu->mem, _t1, cpu->f[31]);
|
|
/* 02C5FC20 */ /* nop */
|
|
/* 02C5FC24 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C5FC24 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02C5FC28 */ _t3 = cpu->r[1] + 0x00000008u;
|
|
/* 02C5FC28 */ rbrew_write32(cpu->mem, _t3, cpu->r[30]);
|
|
/* 02C5FC2C */ cpu->r[31] = cpu->r[4];
|
|
/* 02C5FC30 */ _t4 = cpu->r[1] + 0x00000018u;
|
|
/* 02C5FC30 */ rbrew_write_f32(cpu->mem, _t4, cpu->f[31]);
|
|
/* 02C5FC34 */ cpu->f[31] = cpu->f[1];
|
|
/* 02C5FC38 */ cpu->r[30] = cpu->r[3];
|
|
/* 02C5FC3C */ _t5 = cpu->r[1] + 0x00000024u;
|
|
/* 02C5FC3C */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02C5FC40 */ Gambit_fn_02C5F3E8(cpu);
|
|
/* 02C5FC44 */ _t6 = cpu->r[31] + 0x00000000u;
|
|
/* 02C5FC44 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t6);
|
|
/* 02C5FC48 */ _t7 = cpu->r[31] + 0x00000004u;
|
|
/* 02C5FC48 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t7);
|
|
/* 02C5FC4C */ cpu->f[13] = cpu->f[0] - cpu->f[11];
|
|
/* 02C5FC50 */ _ft8 = (double)(int32_t)0x00000001u;
|
|
/* 02C5FC50 */ cpu->f[0] = _ft8 / cpu->f[13];
|
|
/* 02C5FC54 */ cpu->f[10] = cpu->f[31] - cpu->f[11];
|
|
/* 02C5FC58 */ cpu->f[12] = cpu->f[0] + cpu->f[0];
|
|
/* 02C5FC5C */ cpu->f[13] = cpu->f[13] * cpu->f[0];
|
|
/* 02C5FC60 */ _t9 = cpu->r[30] + 0x00000020u;
|
|
/* 02C5FC60 */ cpu->r[12] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02C5FC64 */ cpu->f[0] = -fma(cpu->f[13], cpu->f[0], -(cpu->f[12]));
|
|
/* 02C5FC68 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02C5FC6C */ _t10 = cpu->r[31] + 0x00000008u;
|
|
/* 02C5FC6C */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02C5FC70 */ cpu->r[11] = cpu->r[30] + 0x00000020u;
|
|
/* 02C5FC74 */ cpu->r[10] = 0x00000000u;
|
|
/* 02C5FC78 */ cpu->f[9] = cpu->f[10] * cpu->f[0];
|
|
/* 02C5FC7C */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C5FC7C */ _t12 = _t11 & 0x00000001u;
|
|
/* 02C5FC7C */ if (_t12) goto L_02C5FC84; else goto L_02C5FC80;
|
|
L_02C5FC80: ; // 0x2c5fc80
|
|
/* 02C5FC80 */ cpu->r[10] = cpu->r[11] + cpu->r[12];
|
|
L_02C5FC84: ; // 0x2c5fc84
|
|
/* 02C5FC84 */ cpu->r[12] = 0x101B0000u;
|
|
/* 02C5FC88 */ cpu->r[12] = cpu->r[12] + 0xFFFFF058u;
|
|
/* 02C5FC8C */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000004u, 0x00000000u, 0x0000001Bu);
|
|
/* 02C5FC90 */ /* nop */
|
|
/* 02C5FC94 */ cpu->r[12] = cpu->r[10] + cpu->r[0];
|
|
/* 02C5FC98 */ /* nop */
|
|
/* 02C5FC9C */ /* nop */
|
|
/* 02C5FCA0 */ /* nop */
|
|
/* 02C5FCA4 */ /* nop */
|
|
/* 02C5FCA8 */ /* nop */
|
|
/* 02C5FCAC */ /* nop */
|
|
/* 02C5FCB0 */ _t13 = cpu->r[1] + 0x00000008u;
|
|
/* 02C5FCB0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02C5FCB4 */ /* nop */
|
|
/* 02C5FCB8 */ _t14 = cpu->r[1] + 0x00000018u;
|
|
/* 02C5FCB8 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t14);
|
|
/* 02C5FCBC */ /* nop */
|
|
/* 02C5FCC0 */ _t15 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C5FCC0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02C5FCC4 */ /* nop */
|
|
/* 02C5FCC8 */ _t16 = cpu->r[1] + 0x00000010u;
|
|
/* 02C5FCC8 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t16);
|
|
/* 02C5FCCC */ cpu->f[1] = cpu->f[0];
|
|
/* 02C5FCD0 */ _t17 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C5FCD0 */ _t18 = _t17 & 0x00000001u;
|
|
/* 02C5FCD0 */ if (_t18) goto L_02C5FCD4; // else: addr-0 trap, fall-through
|
|
L_02C5FCD4: ; // 0x2c5fcd4
|
|
/* 02C5FCD4 */ _t19 = cpu->r[1] + 0x00000024u;
|
|
/* 02C5FCD4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02C5FCD8 */ cpu->lr = cpu->r[0];
|
|
/* 02C5FCDC */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02C5FCE0 */ return;
|
|
}
|
|
|
|
// fn_02C5FCE4 @ 0x2c5fce4
|
|
void Gambit_fn_02C5FCE4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19;
|
|
double _ft8;
|
|
|
|
L_02C5FCE4: ; // 0x2c5fce4
|
|
/* 02C5FCE4 */ cpu->r[0] = cpu->lr;
|
|
/* 02C5FCE8 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 02C5FCE8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C5FCE8 */ cpu->r[1] = _t0;
|
|
/* 02C5FCEC */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 02C5FCEC */ rbrew_write_f64(cpu->mem, _t1, cpu->f[31]);
|
|
/* 02C5FCF0 */ /* nop */
|
|
/* 02C5FCF4 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C5FCF4 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02C5FCF8 */ _t3 = cpu->r[1] + 0x00000008u;
|
|
/* 02C5FCF8 */ rbrew_write32(cpu->mem, _t3, cpu->r[30]);
|
|
/* 02C5FCFC */ cpu->r[31] = cpu->r[4];
|
|
/* 02C5FD00 */ _t4 = cpu->r[1] + 0x00000018u;
|
|
/* 02C5FD00 */ rbrew_write_f32(cpu->mem, _t4, cpu->f[31]);
|
|
/* 02C5FD04 */ cpu->f[31] = cpu->f[1];
|
|
/* 02C5FD08 */ cpu->r[30] = cpu->r[3];
|
|
/* 02C5FD0C */ _t5 = cpu->r[1] + 0x00000024u;
|
|
/* 02C5FD0C */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02C5FD10 */ Gambit_fn_02C5F3E8(cpu);
|
|
/* 02C5FD14 */ _t6 = cpu->r[31] + 0x00000000u;
|
|
/* 02C5FD14 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t6);
|
|
/* 02C5FD18 */ _t7 = cpu->r[31] + 0x00000004u;
|
|
/* 02C5FD18 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t7);
|
|
/* 02C5FD1C */ cpu->f[13] = cpu->f[0] - cpu->f[11];
|
|
/* 02C5FD20 */ _ft8 = (double)(int32_t)0x00000001u;
|
|
/* 02C5FD20 */ cpu->f[0] = _ft8 / cpu->f[13];
|
|
/* 02C5FD24 */ cpu->f[10] = cpu->f[31] - cpu->f[11];
|
|
/* 02C5FD28 */ cpu->f[12] = cpu->f[0] + cpu->f[0];
|
|
/* 02C5FD2C */ cpu->f[13] = cpu->f[13] * cpu->f[0];
|
|
/* 02C5FD30 */ _t9 = cpu->r[30] + 0x00000020u;
|
|
/* 02C5FD30 */ cpu->r[12] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02C5FD34 */ cpu->f[0] = -fma(cpu->f[13], cpu->f[0], -(cpu->f[12]));
|
|
/* 02C5FD38 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02C5FD3C */ _t10 = cpu->r[31] + 0x00000008u;
|
|
/* 02C5FD3C */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02C5FD40 */ cpu->r[11] = cpu->r[30] + 0x00000020u;
|
|
/* 02C5FD44 */ cpu->r[10] = 0x00000000u;
|
|
/* 02C5FD48 */ cpu->f[9] = cpu->f[10] * cpu->f[0];
|
|
/* 02C5FD4C */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C5FD4C */ _t12 = _t11 & 0x00000001u;
|
|
/* 02C5FD4C */ if (_t12) goto L_02C5FD54; else goto L_02C5FD50;
|
|
L_02C5FD50: ; // 0x2c5fd50
|
|
/* 02C5FD50 */ cpu->r[10] = cpu->r[11] + cpu->r[12];
|
|
L_02C5FD54: ; // 0x2c5fd54
|
|
/* 02C5FD54 */ cpu->r[12] = 0x101B0000u;
|
|
/* 02C5FD58 */ cpu->r[12] = cpu->r[12] + 0xFFFFF060u;
|
|
/* 02C5FD5C */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 02C5FD60 */ /* nop */
|
|
/* 02C5FD64 */ cpu->r[12] = cpu->r[10] + cpu->r[0];
|
|
/* 02C5FD68 */ /* nop */
|
|
/* 02C5FD6C */ /* nop */
|
|
/* 02C5FD70 */ /* nop */
|
|
/* 02C5FD74 */ /* nop */
|
|
/* 02C5FD78 */ /* nop */
|
|
/* 02C5FD7C */ /* nop */
|
|
/* 02C5FD80 */ _t13 = cpu->r[1] + 0x00000008u;
|
|
/* 02C5FD80 */ cpu->r[30] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02C5FD84 */ /* nop */
|
|
/* 02C5FD88 */ _t14 = cpu->r[1] + 0x00000018u;
|
|
/* 02C5FD88 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t14);
|
|
/* 02C5FD8C */ /* nop */
|
|
/* 02C5FD90 */ _t15 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C5FD90 */ cpu->r[31] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02C5FD94 */ /* nop */
|
|
/* 02C5FD98 */ _t16 = cpu->r[1] + 0x00000010u;
|
|
/* 02C5FD98 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t16);
|
|
/* 02C5FD9C */ cpu->f[1] = cpu->f[0];
|
|
/* 02C5FDA0 */ _t17 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C5FDA0 */ _t18 = _t17 & 0x00000001u;
|
|
/* 02C5FDA0 */ if (_t18) goto L_02C5FDA4; // else: addr-0 trap, fall-through
|
|
L_02C5FDA4: ; // 0x2c5fda4
|
|
/* 02C5FDA4 */ _t19 = cpu->r[1] + 0x00000024u;
|
|
/* 02C5FDA4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02C5FDA8 */ cpu->lr = cpu->r[0];
|
|
/* 02C5FDAC */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02C5FDB0 */ return;
|
|
}
|
|
|
|
// fn_02C5FCE8 @ 0x2c5fce8
|
|
void Gambit_fn_02C5FCE8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19;
|
|
double _ft8;
|
|
|
|
L_02C5FCE8: ; // 0x2c5fce8
|
|
/* 02C5FCE8 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 02C5FCE8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C5FCE8 */ cpu->r[1] = _t0;
|
|
/* 02C5FCEC */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 02C5FCEC */ rbrew_write_f64(cpu->mem, _t1, cpu->f[31]);
|
|
/* 02C5FCF0 */ /* nop */
|
|
/* 02C5FCF4 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C5FCF4 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02C5FCF8 */ _t3 = cpu->r[1] + 0x00000008u;
|
|
/* 02C5FCF8 */ rbrew_write32(cpu->mem, _t3, cpu->r[30]);
|
|
/* 02C5FCFC */ cpu->r[31] = cpu->r[4];
|
|
/* 02C5FD00 */ _t4 = cpu->r[1] + 0x00000018u;
|
|
/* 02C5FD00 */ rbrew_write_f32(cpu->mem, _t4, cpu->f[31]);
|
|
/* 02C5FD04 */ cpu->f[31] = cpu->f[1];
|
|
/* 02C5FD08 */ cpu->r[30] = cpu->r[3];
|
|
/* 02C5FD0C */ _t5 = cpu->r[1] + 0x00000024u;
|
|
/* 02C5FD0C */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02C5FD10 */ Gambit_fn_02C5F3E8(cpu);
|
|
/* 02C5FD14 */ _t6 = cpu->r[31] + 0x00000000u;
|
|
/* 02C5FD14 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t6);
|
|
/* 02C5FD18 */ _t7 = cpu->r[31] + 0x00000004u;
|
|
/* 02C5FD18 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t7);
|
|
/* 02C5FD1C */ cpu->f[13] = cpu->f[0] - cpu->f[11];
|
|
/* 02C5FD20 */ _ft8 = (double)(int32_t)0x00000001u;
|
|
/* 02C5FD20 */ cpu->f[0] = _ft8 / cpu->f[13];
|
|
/* 02C5FD24 */ cpu->f[10] = cpu->f[31] - cpu->f[11];
|
|
/* 02C5FD28 */ cpu->f[12] = cpu->f[0] + cpu->f[0];
|
|
/* 02C5FD2C */ cpu->f[13] = cpu->f[13] * cpu->f[0];
|
|
/* 02C5FD30 */ _t9 = cpu->r[30] + 0x00000020u;
|
|
/* 02C5FD30 */ cpu->r[12] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02C5FD34 */ cpu->f[0] = -fma(cpu->f[13], cpu->f[0], -(cpu->f[12]));
|
|
/* 02C5FD38 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02C5FD3C */ _t10 = cpu->r[31] + 0x00000008u;
|
|
/* 02C5FD3C */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02C5FD40 */ cpu->r[11] = cpu->r[30] + 0x00000020u;
|
|
/* 02C5FD44 */ cpu->r[10] = 0x00000000u;
|
|
/* 02C5FD48 */ cpu->f[9] = cpu->f[10] * cpu->f[0];
|
|
/* 02C5FD4C */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C5FD4C */ _t12 = _t11 & 0x00000001u;
|
|
/* 02C5FD4C */ if (_t12) goto L_02C5FD54; else goto L_02C5FD50;
|
|
L_02C5FD50: ; // 0x2c5fd50
|
|
/* 02C5FD50 */ cpu->r[10] = cpu->r[11] + cpu->r[12];
|
|
L_02C5FD54: ; // 0x2c5fd54
|
|
/* 02C5FD54 */ cpu->r[12] = 0x101B0000u;
|
|
/* 02C5FD58 */ cpu->r[12] = cpu->r[12] + 0xFFFFF060u;
|
|
/* 02C5FD5C */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 02C5FD60 */ /* nop */
|
|
/* 02C5FD64 */ cpu->r[12] = cpu->r[10] + cpu->r[0];
|
|
/* 02C5FD68 */ /* nop */
|
|
/* 02C5FD6C */ /* nop */
|
|
/* 02C5FD70 */ /* nop */
|
|
/* 02C5FD74 */ /* nop */
|
|
/* 02C5FD78 */ /* nop */
|
|
/* 02C5FD7C */ /* nop */
|
|
/* 02C5FD80 */ _t13 = cpu->r[1] + 0x00000008u;
|
|
/* 02C5FD80 */ cpu->r[30] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02C5FD84 */ /* nop */
|
|
/* 02C5FD88 */ _t14 = cpu->r[1] + 0x00000018u;
|
|
/* 02C5FD88 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t14);
|
|
/* 02C5FD8C */ /* nop */
|
|
/* 02C5FD90 */ _t15 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C5FD90 */ cpu->r[31] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02C5FD94 */ /* nop */
|
|
/* 02C5FD98 */ _t16 = cpu->r[1] + 0x00000010u;
|
|
/* 02C5FD98 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t16);
|
|
/* 02C5FD9C */ cpu->f[1] = cpu->f[0];
|
|
/* 02C5FDA0 */ _t17 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C5FDA0 */ _t18 = _t17 & 0x00000001u;
|
|
/* 02C5FDA0 */ if (_t18) goto L_02C5FDA4; // else: addr-0 trap, fall-through
|
|
L_02C5FDA4: ; // 0x2c5fda4
|
|
/* 02C5FDA4 */ _t19 = cpu->r[1] + 0x00000024u;
|
|
/* 02C5FDA4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02C5FDA8 */ cpu->lr = cpu->r[0];
|
|
/* 02C5FDAC */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02C5FDB0 */ return;
|
|
}
|
|
|
|
// fn_02C5FDB4 @ 0x2c5fdb4
|
|
void Gambit_fn_02C5FDB4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19;
|
|
double _ft8;
|
|
|
|
L_02C5FDB4: ; // 0x2c5fdb4
|
|
/* 02C5FDB4 */ cpu->r[0] = cpu->lr;
|
|
/* 02C5FDB8 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 02C5FDB8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C5FDB8 */ cpu->r[1] = _t0;
|
|
/* 02C5FDBC */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 02C5FDBC */ rbrew_write_f64(cpu->mem, _t1, cpu->f[31]);
|
|
/* 02C5FDC0 */ /* nop */
|
|
/* 02C5FDC4 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C5FDC4 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02C5FDC8 */ _t3 = cpu->r[1] + 0x00000008u;
|
|
/* 02C5FDC8 */ rbrew_write32(cpu->mem, _t3, cpu->r[30]);
|
|
/* 02C5FDCC */ cpu->r[31] = cpu->r[4];
|
|
/* 02C5FDD0 */ _t4 = cpu->r[1] + 0x00000018u;
|
|
/* 02C5FDD0 */ rbrew_write_f32(cpu->mem, _t4, cpu->f[31]);
|
|
/* 02C5FDD4 */ cpu->f[31] = cpu->f[1];
|
|
/* 02C5FDD8 */ cpu->r[30] = cpu->r[3];
|
|
/* 02C5FDDC */ _t5 = cpu->r[1] + 0x00000024u;
|
|
/* 02C5FDDC */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02C5FDE0 */ Gambit_fn_02C5F3E8(cpu);
|
|
/* 02C5FDE4 */ _t6 = cpu->r[31] + 0x00000000u;
|
|
/* 02C5FDE4 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t6);
|
|
/* 02C5FDE8 */ _t7 = cpu->r[31] + 0x00000004u;
|
|
/* 02C5FDE8 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t7);
|
|
/* 02C5FDEC */ cpu->f[13] = cpu->f[0] - cpu->f[11];
|
|
/* 02C5FDF0 */ _ft8 = (double)(int32_t)0x00000001u;
|
|
/* 02C5FDF0 */ cpu->f[0] = _ft8 / cpu->f[13];
|
|
/* 02C5FDF4 */ cpu->f[10] = cpu->f[31] - cpu->f[11];
|
|
/* 02C5FDF8 */ cpu->f[12] = cpu->f[0] + cpu->f[0];
|
|
/* 02C5FDFC */ cpu->f[13] = cpu->f[13] * cpu->f[0];
|
|
/* 02C5FE00 */ _t9 = cpu->r[30] + 0x00000020u;
|
|
/* 02C5FE00 */ cpu->r[12] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02C5FE04 */ cpu->f[0] = -fma(cpu->f[13], cpu->f[0], -(cpu->f[12]));
|
|
/* 02C5FE08 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02C5FE0C */ _t10 = cpu->r[31] + 0x00000008u;
|
|
/* 02C5FE0C */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02C5FE10 */ cpu->r[11] = cpu->r[30] + 0x00000020u;
|
|
/* 02C5FE14 */ cpu->r[10] = 0x00000000u;
|
|
/* 02C5FE18 */ cpu->f[9] = cpu->f[10] * cpu->f[0];
|
|
/* 02C5FE1C */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C5FE1C */ _t12 = _t11 & 0x00000001u;
|
|
/* 02C5FE1C */ if (_t12) goto L_02C5FE24; else goto L_02C5FE20;
|
|
L_02C5FE20: ; // 0x2c5fe20
|
|
/* 02C5FE20 */ cpu->r[10] = cpu->r[11] + cpu->r[12];
|
|
L_02C5FE24: ; // 0x2c5fe24
|
|
/* 02C5FE24 */ cpu->r[12] = 0x101B0000u;
|
|
/* 02C5FE28 */ cpu->r[12] = cpu->r[12] + 0xFFFFF068u;
|
|
/* 02C5FE2C */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02C5FE30 */ /* nop */
|
|
/* 02C5FE34 */ cpu->r[12] = cpu->r[10] + cpu->r[0];
|
|
/* 02C5FE38 */ /* nop */
|
|
/* 02C5FE3C */ /* nop */
|
|
/* 02C5FE40 */ /* nop */
|
|
/* 02C5FE44 */ /* nop */
|
|
/* 02C5FE48 */ /* nop */
|
|
/* 02C5FE4C */ /* nop */
|
|
/* 02C5FE50 */ _t13 = cpu->r[1] + 0x00000008u;
|
|
/* 02C5FE50 */ cpu->r[30] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02C5FE54 */ /* nop */
|
|
/* 02C5FE58 */ _t14 = cpu->r[1] + 0x00000018u;
|
|
/* 02C5FE58 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t14);
|
|
/* 02C5FE5C */ /* nop */
|
|
/* 02C5FE60 */ _t15 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C5FE60 */ cpu->r[31] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02C5FE64 */ /* nop */
|
|
/* 02C5FE68 */ _t16 = cpu->r[1] + 0x00000010u;
|
|
/* 02C5FE68 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t16);
|
|
/* 02C5FE6C */ cpu->f[1] = cpu->f[0];
|
|
/* 02C5FE70 */ _t17 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C5FE70 */ _t18 = _t17 & 0x00000001u;
|
|
/* 02C5FE70 */ if (_t18) goto L_02C5FE74; // else: addr-0 trap, fall-through
|
|
L_02C5FE74: ; // 0x2c5fe74
|
|
/* 02C5FE74 */ _t19 = cpu->r[1] + 0x00000024u;
|
|
/* 02C5FE74 */ cpu->r[0] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02C5FE78 */ cpu->lr = cpu->r[0];
|
|
/* 02C5FE7C */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02C5FE80 */ return;
|
|
}
|
|
|
|
// fn_02C5FDB8 @ 0x2c5fdb8
|
|
void Gambit_fn_02C5FDB8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19;
|
|
double _ft8;
|
|
|
|
L_02C5FDB8: ; // 0x2c5fdb8
|
|
/* 02C5FDB8 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 02C5FDB8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C5FDB8 */ cpu->r[1] = _t0;
|
|
/* 02C5FDBC */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 02C5FDBC */ rbrew_write_f64(cpu->mem, _t1, cpu->f[31]);
|
|
/* 02C5FDC0 */ /* nop */
|
|
/* 02C5FDC4 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C5FDC4 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02C5FDC8 */ _t3 = cpu->r[1] + 0x00000008u;
|
|
/* 02C5FDC8 */ rbrew_write32(cpu->mem, _t3, cpu->r[30]);
|
|
/* 02C5FDCC */ cpu->r[31] = cpu->r[4];
|
|
/* 02C5FDD0 */ _t4 = cpu->r[1] + 0x00000018u;
|
|
/* 02C5FDD0 */ rbrew_write_f32(cpu->mem, _t4, cpu->f[31]);
|
|
/* 02C5FDD4 */ cpu->f[31] = cpu->f[1];
|
|
/* 02C5FDD8 */ cpu->r[30] = cpu->r[3];
|
|
/* 02C5FDDC */ _t5 = cpu->r[1] + 0x00000024u;
|
|
/* 02C5FDDC */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02C5FDE0 */ Gambit_fn_02C5F3E8(cpu);
|
|
/* 02C5FDE4 */ _t6 = cpu->r[31] + 0x00000000u;
|
|
/* 02C5FDE4 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t6);
|
|
/* 02C5FDE8 */ _t7 = cpu->r[31] + 0x00000004u;
|
|
/* 02C5FDE8 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t7);
|
|
/* 02C5FDEC */ cpu->f[13] = cpu->f[0] - cpu->f[11];
|
|
/* 02C5FDF0 */ _ft8 = (double)(int32_t)0x00000001u;
|
|
/* 02C5FDF0 */ cpu->f[0] = _ft8 / cpu->f[13];
|
|
/* 02C5FDF4 */ cpu->f[10] = cpu->f[31] - cpu->f[11];
|
|
/* 02C5FDF8 */ cpu->f[12] = cpu->f[0] + cpu->f[0];
|
|
/* 02C5FDFC */ cpu->f[13] = cpu->f[13] * cpu->f[0];
|
|
/* 02C5FE00 */ _t9 = cpu->r[30] + 0x00000020u;
|
|
/* 02C5FE00 */ cpu->r[12] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02C5FE04 */ cpu->f[0] = -fma(cpu->f[13], cpu->f[0], -(cpu->f[12]));
|
|
/* 02C5FE08 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02C5FE0C */ _t10 = cpu->r[31] + 0x00000008u;
|
|
/* 02C5FE0C */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02C5FE10 */ cpu->r[11] = cpu->r[30] + 0x00000020u;
|
|
/* 02C5FE14 */ cpu->r[10] = 0x00000000u;
|
|
/* 02C5FE18 */ cpu->f[9] = cpu->f[10] * cpu->f[0];
|
|
/* 02C5FE1C */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C5FE1C */ _t12 = _t11 & 0x00000001u;
|
|
/* 02C5FE1C */ if (_t12) goto L_02C5FE24; else goto L_02C5FE20;
|
|
L_02C5FE20: ; // 0x2c5fe20
|
|
/* 02C5FE20 */ cpu->r[10] = cpu->r[11] + cpu->r[12];
|
|
L_02C5FE24: ; // 0x2c5fe24
|
|
/* 02C5FE24 */ cpu->r[12] = 0x101B0000u;
|
|
/* 02C5FE28 */ cpu->r[12] = cpu->r[12] + 0xFFFFF068u;
|
|
/* 02C5FE2C */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02C5FE30 */ /* nop */
|
|
/* 02C5FE34 */ cpu->r[12] = cpu->r[10] + cpu->r[0];
|
|
/* 02C5FE38 */ /* nop */
|
|
/* 02C5FE3C */ /* nop */
|
|
/* 02C5FE40 */ /* nop */
|
|
/* 02C5FE44 */ /* nop */
|
|
/* 02C5FE48 */ /* nop */
|
|
/* 02C5FE4C */ /* nop */
|
|
/* 02C5FE50 */ _t13 = cpu->r[1] + 0x00000008u;
|
|
/* 02C5FE50 */ cpu->r[30] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02C5FE54 */ /* nop */
|
|
/* 02C5FE58 */ _t14 = cpu->r[1] + 0x00000018u;
|
|
/* 02C5FE58 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t14);
|
|
/* 02C5FE5C */ /* nop */
|
|
/* 02C5FE60 */ _t15 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C5FE60 */ cpu->r[31] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02C5FE64 */ /* nop */
|
|
/* 02C5FE68 */ _t16 = cpu->r[1] + 0x00000010u;
|
|
/* 02C5FE68 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t16);
|
|
/* 02C5FE6C */ cpu->f[1] = cpu->f[0];
|
|
/* 02C5FE70 */ _t17 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C5FE70 */ _t18 = _t17 & 0x00000001u;
|
|
/* 02C5FE70 */ if (_t18) goto L_02C5FE74; // else: addr-0 trap, fall-through
|
|
L_02C5FE74: ; // 0x2c5fe74
|
|
/* 02C5FE74 */ _t19 = cpu->r[1] + 0x00000024u;
|
|
/* 02C5FE74 */ cpu->r[0] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02C5FE78 */ cpu->lr = cpu->r[0];
|
|
/* 02C5FE7C */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02C5FE80 */ return;
|
|
}
|
|
|
|
// fn_02C5FE84 @ 0x2c5fe84
|
|
void Gambit_fn_02C5FE84(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19;
|
|
double _ft8;
|
|
|
|
L_02C5FE84: ; // 0x2c5fe84
|
|
/* 02C5FE84 */ cpu->r[0] = cpu->lr;
|
|
/* 02C5FE88 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 02C5FE88 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C5FE88 */ cpu->r[1] = _t0;
|
|
/* 02C5FE8C */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 02C5FE8C */ rbrew_write_f64(cpu->mem, _t1, cpu->f[31]);
|
|
/* 02C5FE90 */ /* nop */
|
|
/* 02C5FE94 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02C5FE94 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02C5FE98 */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C5FE98 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 02C5FE9C */ cpu->r[30] = cpu->r[4];
|
|
/* 02C5FEA0 */ _t4 = cpu->r[1] + 0x00000018u;
|
|
/* 02C5FEA0 */ rbrew_write_f32(cpu->mem, _t4, cpu->f[31]);
|
|
/* 02C5FEA4 */ cpu->f[31] = cpu->f[1];
|
|
/* 02C5FEA8 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C5FEAC */ _t5 = cpu->r[1] + 0x00000024u;
|
|
/* 02C5FEAC */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02C5FEB0 */ Gambit_fn_02C5F3E8(cpu);
|
|
/* 02C5FEB4 */ _t6 = cpu->r[30] + 0x00000000u;
|
|
/* 02C5FEB4 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t6);
|
|
/* 02C5FEB8 */ _t7 = cpu->r[30] + 0x00000004u;
|
|
/* 02C5FEB8 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t7);
|
|
/* 02C5FEBC */ cpu->f[0] = cpu->f[13] - cpu->f[10];
|
|
/* 02C5FEC0 */ _ft8 = (double)(int32_t)0x00000001u;
|
|
/* 02C5FEC0 */ cpu->f[11] = _ft8 / cpu->f[0];
|
|
/* 02C5FEC4 */ cpu->f[10] = cpu->f[31] - cpu->f[10];
|
|
/* 02C5FEC8 */ cpu->f[12] = cpu->f[11] + cpu->f[11];
|
|
/* 02C5FECC */ cpu->f[13] = cpu->f[0] * cpu->f[11];
|
|
/* 02C5FED0 */ _t9 = cpu->r[31] + 0x00000020u;
|
|
/* 02C5FED0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02C5FED4 */ cpu->f[0] = -fma(cpu->f[13], cpu->f[11], -(cpu->f[12]));
|
|
/* 02C5FED8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02C5FEDC */ _t10 = cpu->r[30] + 0x00000008u;
|
|
/* 02C5FEDC */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02C5FEE0 */ cpu->r[10] = cpu->r[31] + 0x00000020u;
|
|
/* 02C5FEE4 */ cpu->r[9] = 0x00000000u;
|
|
/* 02C5FEE8 */ cpu->f[12] = cpu->f[10] * cpu->f[0];
|
|
/* 02C5FEEC */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C5FEEC */ _t12 = _t11 & 0x00000001u;
|
|
/* 02C5FEEC */ if (_t12) goto L_02C5FEF4; else goto L_02C5FEF0;
|
|
L_02C5FEF0: ; // 0x2c5fef0
|
|
/* 02C5FEF0 */ cpu->r[9] = cpu->r[10] + cpu->r[12];
|
|
L_02C5FEF4: ; // 0x2c5fef4
|
|
/* 02C5FEF4 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 02C5FEF8 */ _t13 = cpu->r[1] + 0x00000008u;
|
|
/* 02C5FEF8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02C5FEFC */ cpu->r[11] = cpu->r[9] + cpu->r[0];
|
|
/* 02C5FF00 */ /* nop */
|
|
/* 02C5FF04 */ _t14 = cpu->r[1] + 0x00000018u;
|
|
/* 02C5FF04 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t14);
|
|
/* 02C5FF08 */ /* nop */
|
|
/* 02C5FF0C */ _t15 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C5FF0C */ cpu->r[31] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02C5FF10 */ _t16 = cpu->r[1] + 0x00000010u;
|
|
/* 02C5FF10 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t16);
|
|
/* 02C5FF14 */ cpu->f[1] = fma(cpu->f[0], cpu->f[12], cpu->f[11]);
|
|
/* 02C5FF18 */ _t17 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C5FF18 */ _t18 = _t17 & 0x00000001u;
|
|
/* 02C5FF18 */ if (_t18) goto L_02C5FF1C; // else: addr-0 trap, fall-through
|
|
L_02C5FF1C: ; // 0x2c5ff1c
|
|
/* 02C5FF1C */ _t19 = cpu->r[1] + 0x00000024u;
|
|
/* 02C5FF1C */ cpu->r[0] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02C5FF20 */ cpu->lr = cpu->r[0];
|
|
/* 02C5FF24 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02C5FF28 */ return;
|
|
}
|
|
|
|
// fn_02C5FE88 @ 0x2c5fe88
|
|
void Gambit_fn_02C5FE88(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19;
|
|
double _ft8;
|
|
|
|
L_02C5FE88: ; // 0x2c5fe88
|
|
/* 02C5FE88 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 02C5FE88 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C5FE88 */ cpu->r[1] = _t0;
|
|
/* 02C5FE8C */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 02C5FE8C */ rbrew_write_f64(cpu->mem, _t1, cpu->f[31]);
|
|
/* 02C5FE90 */ /* nop */
|
|
/* 02C5FE94 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02C5FE94 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02C5FE98 */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C5FE98 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 02C5FE9C */ cpu->r[30] = cpu->r[4];
|
|
/* 02C5FEA0 */ _t4 = cpu->r[1] + 0x00000018u;
|
|
/* 02C5FEA0 */ rbrew_write_f32(cpu->mem, _t4, cpu->f[31]);
|
|
/* 02C5FEA4 */ cpu->f[31] = cpu->f[1];
|
|
/* 02C5FEA8 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C5FEAC */ _t5 = cpu->r[1] + 0x00000024u;
|
|
/* 02C5FEAC */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02C5FEB0 */ Gambit_fn_02C5F3E8(cpu);
|
|
/* 02C5FEB4 */ _t6 = cpu->r[30] + 0x00000000u;
|
|
/* 02C5FEB4 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t6);
|
|
/* 02C5FEB8 */ _t7 = cpu->r[30] + 0x00000004u;
|
|
/* 02C5FEB8 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t7);
|
|
/* 02C5FEBC */ cpu->f[0] = cpu->f[13] - cpu->f[10];
|
|
/* 02C5FEC0 */ _ft8 = (double)(int32_t)0x00000001u;
|
|
/* 02C5FEC0 */ cpu->f[11] = _ft8 / cpu->f[0];
|
|
/* 02C5FEC4 */ cpu->f[10] = cpu->f[31] - cpu->f[10];
|
|
/* 02C5FEC8 */ cpu->f[12] = cpu->f[11] + cpu->f[11];
|
|
/* 02C5FECC */ cpu->f[13] = cpu->f[0] * cpu->f[11];
|
|
/* 02C5FED0 */ _t9 = cpu->r[31] + 0x00000020u;
|
|
/* 02C5FED0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02C5FED4 */ cpu->f[0] = -fma(cpu->f[13], cpu->f[11], -(cpu->f[12]));
|
|
/* 02C5FED8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02C5FEDC */ _t10 = cpu->r[30] + 0x00000008u;
|
|
/* 02C5FEDC */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02C5FEE0 */ cpu->r[10] = cpu->r[31] + 0x00000020u;
|
|
/* 02C5FEE4 */ cpu->r[9] = 0x00000000u;
|
|
/* 02C5FEE8 */ cpu->f[12] = cpu->f[10] * cpu->f[0];
|
|
/* 02C5FEEC */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C5FEEC */ _t12 = _t11 & 0x00000001u;
|
|
/* 02C5FEEC */ if (_t12) goto L_02C5FEF4; else goto L_02C5FEF0;
|
|
L_02C5FEF0: ; // 0x2c5fef0
|
|
/* 02C5FEF0 */ cpu->r[9] = cpu->r[10] + cpu->r[12];
|
|
L_02C5FEF4: ; // 0x2c5fef4
|
|
/* 02C5FEF4 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 02C5FEF8 */ _t13 = cpu->r[1] + 0x00000008u;
|
|
/* 02C5FEF8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02C5FEFC */ cpu->r[11] = cpu->r[9] + cpu->r[0];
|
|
/* 02C5FF00 */ /* nop */
|
|
/* 02C5FF04 */ _t14 = cpu->r[1] + 0x00000018u;
|
|
/* 02C5FF04 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t14);
|
|
/* 02C5FF08 */ /* nop */
|
|
/* 02C5FF0C */ _t15 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C5FF0C */ cpu->r[31] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02C5FF10 */ _t16 = cpu->r[1] + 0x00000010u;
|
|
/* 02C5FF10 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t16);
|
|
/* 02C5FF14 */ cpu->f[1] = fma(cpu->f[0], cpu->f[12], cpu->f[11]);
|
|
/* 02C5FF18 */ _t17 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C5FF18 */ _t18 = _t17 & 0x00000001u;
|
|
/* 02C5FF18 */ if (_t18) goto L_02C5FF1C; // else: addr-0 trap, fall-through
|
|
L_02C5FF1C: ; // 0x2c5ff1c
|
|
/* 02C5FF1C */ _t19 = cpu->r[1] + 0x00000024u;
|
|
/* 02C5FF1C */ cpu->r[0] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02C5FF20 */ cpu->lr = cpu->r[0];
|
|
/* 02C5FF24 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02C5FF28 */ return;
|
|
}
|
|
|
|
// fn_02C5FF2C @ 0x2c5ff2c
|
|
void Gambit_fn_02C5FF2C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19;
|
|
double _ft8;
|
|
|
|
L_02C5FF2C: ; // 0x2c5ff2c
|
|
/* 02C5FF2C */ cpu->r[0] = cpu->lr;
|
|
/* 02C5FF30 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 02C5FF30 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C5FF30 */ cpu->r[1] = _t0;
|
|
/* 02C5FF34 */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 02C5FF34 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[31]);
|
|
/* 02C5FF38 */ /* nop */
|
|
/* 02C5FF3C */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02C5FF3C */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02C5FF40 */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C5FF40 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 02C5FF44 */ cpu->r[30] = cpu->r[4];
|
|
/* 02C5FF48 */ _t4 = cpu->r[1] + 0x00000018u;
|
|
/* 02C5FF48 */ rbrew_write_f32(cpu->mem, _t4, cpu->f[31]);
|
|
/* 02C5FF4C */ cpu->f[31] = cpu->f[1];
|
|
/* 02C5FF50 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C5FF54 */ _t5 = cpu->r[1] + 0x00000024u;
|
|
/* 02C5FF54 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02C5FF58 */ Gambit_fn_02C5F3E8(cpu);
|
|
/* 02C5FF5C */ _t6 = cpu->r[30] + 0x00000000u;
|
|
/* 02C5FF5C */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t6);
|
|
/* 02C5FF60 */ _t7 = cpu->r[30] + 0x00000004u;
|
|
/* 02C5FF60 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t7);
|
|
/* 02C5FF64 */ cpu->f[0] = cpu->f[13] - cpu->f[10];
|
|
/* 02C5FF68 */ _ft8 = (double)(int32_t)0x00000001u;
|
|
/* 02C5FF68 */ cpu->f[11] = _ft8 / cpu->f[0];
|
|
/* 02C5FF6C */ cpu->f[10] = cpu->f[31] - cpu->f[10];
|
|
/* 02C5FF70 */ cpu->f[12] = cpu->f[11] + cpu->f[11];
|
|
/* 02C5FF74 */ cpu->f[13] = cpu->f[0] * cpu->f[11];
|
|
/* 02C5FF78 */ _t9 = cpu->r[31] + 0x00000020u;
|
|
/* 02C5FF78 */ cpu->r[12] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02C5FF7C */ cpu->f[0] = -fma(cpu->f[13], cpu->f[11], -(cpu->f[12]));
|
|
/* 02C5FF80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02C5FF84 */ _t10 = cpu->r[30] + 0x00000008u;
|
|
/* 02C5FF84 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02C5FF88 */ cpu->r[10] = cpu->r[31] + 0x00000020u;
|
|
/* 02C5FF8C */ cpu->r[9] = 0x00000000u;
|
|
/* 02C5FF90 */ cpu->f[12] = cpu->f[10] * cpu->f[0];
|
|
/* 02C5FF94 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C5FF94 */ _t12 = _t11 & 0x00000001u;
|
|
/* 02C5FF94 */ if (_t12) goto L_02C5FF9C; else goto L_02C5FF98;
|
|
L_02C5FF98: ; // 0x2c5ff98
|
|
/* 02C5FF98 */ cpu->r[9] = cpu->r[10] + cpu->r[12];
|
|
L_02C5FF9C: ; // 0x2c5ff9c
|
|
/* 02C5FF9C */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02C5FFA0 */ _t13 = cpu->r[1] + 0x00000008u;
|
|
/* 02C5FFA0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02C5FFA4 */ cpu->r[11] = cpu->r[9] + cpu->r[0];
|
|
/* 02C5FFA8 */ /* nop */
|
|
/* 02C5FFAC */ _t14 = cpu->r[1] + 0x00000018u;
|
|
/* 02C5FFAC */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t14);
|
|
/* 02C5FFB0 */ /* nop */
|
|
/* 02C5FFB4 */ _t15 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C5FFB4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02C5FFB8 */ _t16 = cpu->r[1] + 0x00000010u;
|
|
/* 02C5FFB8 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t16);
|
|
/* 02C5FFBC */ cpu->f[1] = fma(cpu->f[0], cpu->f[12], cpu->f[11]);
|
|
/* 02C5FFC0 */ _t17 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C5FFC0 */ _t18 = _t17 & 0x00000001u;
|
|
/* 02C5FFC0 */ if (_t18) goto L_02C5FFC4; // else: addr-0 trap, fall-through
|
|
L_02C5FFC4: ; // 0x2c5ffc4
|
|
/* 02C5FFC4 */ _t19 = cpu->r[1] + 0x00000024u;
|
|
/* 02C5FFC4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02C5FFC8 */ cpu->lr = cpu->r[0];
|
|
/* 02C5FFCC */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02C5FFD0 */ return;
|
|
}
|
|
|
|
// fn_02C5FF30 @ 0x2c5ff30
|
|
void Gambit_fn_02C5FF30(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19;
|
|
double _ft8;
|
|
|
|
L_02C5FF30: ; // 0x2c5ff30
|
|
/* 02C5FF30 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 02C5FF30 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C5FF30 */ cpu->r[1] = _t0;
|
|
/* 02C5FF34 */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 02C5FF34 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[31]);
|
|
/* 02C5FF38 */ /* nop */
|
|
/* 02C5FF3C */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02C5FF3C */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02C5FF40 */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C5FF40 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 02C5FF44 */ cpu->r[30] = cpu->r[4];
|
|
/* 02C5FF48 */ _t4 = cpu->r[1] + 0x00000018u;
|
|
/* 02C5FF48 */ rbrew_write_f32(cpu->mem, _t4, cpu->f[31]);
|
|
/* 02C5FF4C */ cpu->f[31] = cpu->f[1];
|
|
/* 02C5FF50 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C5FF54 */ _t5 = cpu->r[1] + 0x00000024u;
|
|
/* 02C5FF54 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02C5FF58 */ Gambit_fn_02C5F3E8(cpu);
|
|
/* 02C5FF5C */ _t6 = cpu->r[30] + 0x00000000u;
|
|
/* 02C5FF5C */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t6);
|
|
/* 02C5FF60 */ _t7 = cpu->r[30] + 0x00000004u;
|
|
/* 02C5FF60 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t7);
|
|
/* 02C5FF64 */ cpu->f[0] = cpu->f[13] - cpu->f[10];
|
|
/* 02C5FF68 */ _ft8 = (double)(int32_t)0x00000001u;
|
|
/* 02C5FF68 */ cpu->f[11] = _ft8 / cpu->f[0];
|
|
/* 02C5FF6C */ cpu->f[10] = cpu->f[31] - cpu->f[10];
|
|
/* 02C5FF70 */ cpu->f[12] = cpu->f[11] + cpu->f[11];
|
|
/* 02C5FF74 */ cpu->f[13] = cpu->f[0] * cpu->f[11];
|
|
/* 02C5FF78 */ _t9 = cpu->r[31] + 0x00000020u;
|
|
/* 02C5FF78 */ cpu->r[12] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02C5FF7C */ cpu->f[0] = -fma(cpu->f[13], cpu->f[11], -(cpu->f[12]));
|
|
/* 02C5FF80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02C5FF84 */ _t10 = cpu->r[30] + 0x00000008u;
|
|
/* 02C5FF84 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02C5FF88 */ cpu->r[10] = cpu->r[31] + 0x00000020u;
|
|
/* 02C5FF8C */ cpu->r[9] = 0x00000000u;
|
|
/* 02C5FF90 */ cpu->f[12] = cpu->f[10] * cpu->f[0];
|
|
/* 02C5FF94 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C5FF94 */ _t12 = _t11 & 0x00000001u;
|
|
/* 02C5FF94 */ if (_t12) goto L_02C5FF9C; else goto L_02C5FF98;
|
|
L_02C5FF98: ; // 0x2c5ff98
|
|
/* 02C5FF98 */ cpu->r[9] = cpu->r[10] + cpu->r[12];
|
|
L_02C5FF9C: ; // 0x2c5ff9c
|
|
/* 02C5FF9C */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02C5FFA0 */ _t13 = cpu->r[1] + 0x00000008u;
|
|
/* 02C5FFA0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02C5FFA4 */ cpu->r[11] = cpu->r[9] + cpu->r[0];
|
|
/* 02C5FFA8 */ /* nop */
|
|
/* 02C5FFAC */ _t14 = cpu->r[1] + 0x00000018u;
|
|
/* 02C5FFAC */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t14);
|
|
/* 02C5FFB0 */ /* nop */
|
|
/* 02C5FFB4 */ _t15 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C5FFB4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02C5FFB8 */ _t16 = cpu->r[1] + 0x00000010u;
|
|
/* 02C5FFB8 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t16);
|
|
/* 02C5FFBC */ cpu->f[1] = fma(cpu->f[0], cpu->f[12], cpu->f[11]);
|
|
/* 02C5FFC0 */ _t17 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C5FFC0 */ _t18 = _t17 & 0x00000001u;
|
|
/* 02C5FFC0 */ if (_t18) goto L_02C5FFC4; // else: addr-0 trap, fall-through
|
|
L_02C5FFC4: ; // 0x2c5ffc4
|
|
/* 02C5FFC4 */ _t19 = cpu->r[1] + 0x00000024u;
|
|
/* 02C5FFC4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02C5FFC8 */ cpu->lr = cpu->r[0];
|
|
/* 02C5FFCC */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02C5FFD0 */ return;
|
|
}
|
|
|
|
// fn_02C5FFD4 @ 0x2c5ffd4
|
|
void Gambit_fn_02C5FFD4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19;
|
|
double _ft8;
|
|
|
|
L_02C5FFD4: ; // 0x2c5ffd4
|
|
/* 02C5FFD4 */ cpu->r[0] = cpu->lr;
|
|
/* 02C5FFD8 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 02C5FFD8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C5FFD8 */ cpu->r[1] = _t0;
|
|
/* 02C5FFDC */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 02C5FFDC */ rbrew_write_f64(cpu->mem, _t1, cpu->f[31]);
|
|
/* 02C5FFE0 */ /* nop */
|
|
/* 02C5FFE4 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02C5FFE4 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02C5FFE8 */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C5FFE8 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 02C5FFEC */ cpu->r[30] = cpu->r[4];
|
|
/* 02C5FFF0 */ _t4 = cpu->r[1] + 0x00000018u;
|
|
/* 02C5FFF0 */ rbrew_write_f32(cpu->mem, _t4, cpu->f[31]);
|
|
/* 02C5FFF4 */ cpu->f[31] = cpu->f[1];
|
|
/* 02C5FFF8 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C5FFFC */ _t5 = cpu->r[1] + 0x00000024u;
|
|
/* 02C5FFFC */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02C60000 */ Gambit_fn_02C5F3E8(cpu);
|
|
/* 02C60004 */ _t6 = cpu->r[30] + 0x00000000u;
|
|
/* 02C60004 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t6);
|
|
/* 02C60008 */ _t7 = cpu->r[30] + 0x00000004u;
|
|
/* 02C60008 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t7);
|
|
/* 02C6000C */ cpu->f[0] = cpu->f[13] - cpu->f[10];
|
|
/* 02C60010 */ _ft8 = (double)(int32_t)0x00000001u;
|
|
/* 02C60010 */ cpu->f[11] = _ft8 / cpu->f[0];
|
|
/* 02C60014 */ cpu->f[10] = cpu->f[31] - cpu->f[10];
|
|
/* 02C60018 */ cpu->f[12] = cpu->f[11] + cpu->f[11];
|
|
/* 02C6001C */ cpu->f[13] = cpu->f[0] * cpu->f[11];
|
|
/* 02C60020 */ _t9 = cpu->r[31] + 0x00000020u;
|
|
/* 02C60020 */ cpu->r[12] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02C60024 */ cpu->f[0] = -fma(cpu->f[13], cpu->f[11], -(cpu->f[12]));
|
|
/* 02C60028 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02C6002C */ _t10 = cpu->r[30] + 0x00000008u;
|
|
/* 02C6002C */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02C60030 */ cpu->r[10] = cpu->r[31] + 0x00000020u;
|
|
/* 02C60034 */ cpu->r[9] = 0x00000000u;
|
|
/* 02C60038 */ cpu->f[12] = cpu->f[10] * cpu->f[0];
|
|
/* 02C6003C */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6003C */ _t12 = _t11 & 0x00000001u;
|
|
/* 02C6003C */ if (_t12) goto L_02C60044; else goto L_02C60040;
|
|
L_02C60040: ; // 0x2c60040
|
|
/* 02C60040 */ cpu->r[9] = cpu->r[10] + cpu->r[12];
|
|
L_02C60044: ; // 0x2c60044
|
|
/* 02C60044 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000001u, 0x00000000u, 0x0000001Eu);
|
|
/* 02C60048 */ _t13 = cpu->r[1] + 0x00000008u;
|
|
/* 02C60048 */ cpu->r[30] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02C6004C */ cpu->r[11] = cpu->r[9] + cpu->r[0];
|
|
/* 02C60050 */ /* nop */
|
|
/* 02C60054 */ _t14 = cpu->r[1] + 0x00000018u;
|
|
/* 02C60054 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t14);
|
|
/* 02C60058 */ /* nop */
|
|
/* 02C6005C */ _t15 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C6005C */ cpu->r[31] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02C60060 */ _t16 = cpu->r[1] + 0x00000010u;
|
|
/* 02C60060 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t16);
|
|
/* 02C60064 */ cpu->f[1] = fma(cpu->f[0], cpu->f[12], cpu->f[11]);
|
|
/* 02C60068 */ _t17 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C60068 */ _t18 = _t17 & 0x00000001u;
|
|
/* 02C60068 */ if (_t18) goto L_02C6006C; // else: addr-0 trap, fall-through
|
|
L_02C6006C: ; // 0x2c6006c
|
|
/* 02C6006C */ _t19 = cpu->r[1] + 0x00000024u;
|
|
/* 02C6006C */ cpu->r[0] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02C60070 */ cpu->lr = cpu->r[0];
|
|
/* 02C60074 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02C60078 */ return;
|
|
}
|
|
|
|
// fn_02C5FFD8 @ 0x2c5ffd8
|
|
void Gambit_fn_02C5FFD8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19;
|
|
double _ft8;
|
|
|
|
L_02C5FFD8: ; // 0x2c5ffd8
|
|
/* 02C5FFD8 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 02C5FFD8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C5FFD8 */ cpu->r[1] = _t0;
|
|
/* 02C5FFDC */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 02C5FFDC */ rbrew_write_f64(cpu->mem, _t1, cpu->f[31]);
|
|
/* 02C5FFE0 */ /* nop */
|
|
/* 02C5FFE4 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02C5FFE4 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02C5FFE8 */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C5FFE8 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 02C5FFEC */ cpu->r[30] = cpu->r[4];
|
|
/* 02C5FFF0 */ _t4 = cpu->r[1] + 0x00000018u;
|
|
/* 02C5FFF0 */ rbrew_write_f32(cpu->mem, _t4, cpu->f[31]);
|
|
/* 02C5FFF4 */ cpu->f[31] = cpu->f[1];
|
|
/* 02C5FFF8 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C5FFFC */ _t5 = cpu->r[1] + 0x00000024u;
|
|
/* 02C5FFFC */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02C60000 */ Gambit_fn_02C5F3E8(cpu);
|
|
/* 02C60004 */ _t6 = cpu->r[30] + 0x00000000u;
|
|
/* 02C60004 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t6);
|
|
/* 02C60008 */ _t7 = cpu->r[30] + 0x00000004u;
|
|
/* 02C60008 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t7);
|
|
/* 02C6000C */ cpu->f[0] = cpu->f[13] - cpu->f[10];
|
|
/* 02C60010 */ _ft8 = (double)(int32_t)0x00000001u;
|
|
/* 02C60010 */ cpu->f[11] = _ft8 / cpu->f[0];
|
|
/* 02C60014 */ cpu->f[10] = cpu->f[31] - cpu->f[10];
|
|
/* 02C60018 */ cpu->f[12] = cpu->f[11] + cpu->f[11];
|
|
/* 02C6001C */ cpu->f[13] = cpu->f[0] * cpu->f[11];
|
|
/* 02C60020 */ _t9 = cpu->r[31] + 0x00000020u;
|
|
/* 02C60020 */ cpu->r[12] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02C60024 */ cpu->f[0] = -fma(cpu->f[13], cpu->f[11], -(cpu->f[12]));
|
|
/* 02C60028 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02C6002C */ _t10 = cpu->r[30] + 0x00000008u;
|
|
/* 02C6002C */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02C60030 */ cpu->r[10] = cpu->r[31] + 0x00000020u;
|
|
/* 02C60034 */ cpu->r[9] = 0x00000000u;
|
|
/* 02C60038 */ cpu->f[12] = cpu->f[10] * cpu->f[0];
|
|
/* 02C6003C */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6003C */ _t12 = _t11 & 0x00000001u;
|
|
/* 02C6003C */ if (_t12) goto L_02C60044; else goto L_02C60040;
|
|
L_02C60040: ; // 0x2c60040
|
|
/* 02C60040 */ cpu->r[9] = cpu->r[10] + cpu->r[12];
|
|
L_02C60044: ; // 0x2c60044
|
|
/* 02C60044 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000001u, 0x00000000u, 0x0000001Eu);
|
|
/* 02C60048 */ _t13 = cpu->r[1] + 0x00000008u;
|
|
/* 02C60048 */ cpu->r[30] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02C6004C */ cpu->r[11] = cpu->r[9] + cpu->r[0];
|
|
/* 02C60050 */ /* nop */
|
|
/* 02C60054 */ _t14 = cpu->r[1] + 0x00000018u;
|
|
/* 02C60054 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t14);
|
|
/* 02C60058 */ /* nop */
|
|
/* 02C6005C */ _t15 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C6005C */ cpu->r[31] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02C60060 */ _t16 = cpu->r[1] + 0x00000010u;
|
|
/* 02C60060 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t16);
|
|
/* 02C60064 */ cpu->f[1] = fma(cpu->f[0], cpu->f[12], cpu->f[11]);
|
|
/* 02C60068 */ _t17 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C60068 */ _t18 = _t17 & 0x00000001u;
|
|
/* 02C60068 */ if (_t18) goto L_02C6006C; // else: addr-0 trap, fall-through
|
|
L_02C6006C: ; // 0x2c6006c
|
|
/* 02C6006C */ _t19 = cpu->r[1] + 0x00000024u;
|
|
/* 02C6006C */ cpu->r[0] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02C60070 */ cpu->lr = cpu->r[0];
|
|
/* 02C60074 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02C60078 */ return;
|
|
}
|
|
|
|
// fn_02C6007C @ 0x2c6007c
|
|
void Gambit_fn_02C6007C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
|
|
|
|
L_02C6007C: ; // 0x2c6007c
|
|
/* 02C6007C */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02C6007C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C6007C */ cpu->r[1] = _t0;
|
|
/* 02C60080 */ _t1 = cpu->r[3] + 0x00000008u;
|
|
/* 02C60080 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t1);
|
|
/* 02C60084 */ cpu->f[13] = (uint32_t)(int32_t)cpu->f[11];
|
|
/* 02C60088 */ cpu->r[8] = cpu->r[1] + 0x00000008u;
|
|
/* 02C6008C */ cpu->f[10] = (uint32_t)(int32_t)cpu->f[1];
|
|
/* 02C60090 */ /* nop */
|
|
/* 02C60094 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02C60094 */ cpu->r[10] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02C60098 */ /* nop */
|
|
/* 02C6009C */ _t3 = cpu->r[1] + 0x00000008u;
|
|
/* 02C6009C */ cpu->r[11] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02C600A0 */ cpu->r[0] = 0x43300000u;
|
|
/* 02C600A4 */ cpu->r[12] = 0x101B0000u;
|
|
/* 02C600A8 */ cpu->r[11] = cpu->r[11] - cpu->r[10];
|
|
/* 02C600AC */ _t4 = cpu->r[12] + 0xFFFFF050u;
|
|
/* 02C600AC */ cpu->f[0] = rbrew_read_f64(cpu->mem, _t4);
|
|
/* 02C600B0 */ cpu->r[12] = cpu->r[10] + cpu->r[11];
|
|
/* 02C600B4 */ _t5 = cpu->r[1] + 0x00000008u;
|
|
/* 02C600B4 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02C600B8 */ cpu->r[0] = cpu->r[12] ^ 0x80000000u;
|
|
/* 02C600BC */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C600BC */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02C600C0 */ _t7 = cpu->r[1] + 0x00000008u;
|
|
/* 02C600C0 */ cpu->f[13] = rbrew_read_f64(cpu->mem, _t7);
|
|
/* 02C600C4 */ cpu->f[9] = cpu->f[13] - cpu->f[0];
|
|
/* 02C600C8 */ _t8 = cpu->r[3] + 0x00000020u;
|
|
/* 02C600C8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C600CC */ cpu->f[12] = (double)(float)cpu->f[9];
|
|
/* 02C600D0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C600D4 */ cpu->r[10] = 0x00000000u;
|
|
/* 02C600D8 */ cpu->r[9] = cpu->r[3] + 0x00000020u;
|
|
/* 02C600DC */ cpu->f[10] = cpu->f[1] - cpu->f[12];
|
|
/* 02C600E0 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C600E0 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02C600E0 */ if (_t10) goto L_02C600E8; else goto L_02C600E4;
|
|
L_02C600E4: ; // 0x2c600e4
|
|
/* 02C600E4 */ cpu->r[10] = cpu->r[9] + cpu->r[0];
|
|
L_02C600E8: ; // 0x2c600e8
|
|
/* 02C600E8 */ cpu->r[8] = 0x101B0000u;
|
|
/* 02C600EC */ cpu->r[9] = rbrew_rlwinm(cpu->r[11], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02C600F0 */ _t11 = cpu->r[8] + 0xFFFFF048u;
|
|
/* 02C600F0 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t11);
|
|
/* 02C600F4 */ cpu->r[12] = cpu->r[10] + cpu->r[9];
|
|
/* 02C600F8 */ _t12 = cpu->r[10] + cpu->r[9];
|
|
/* 02C600F8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02C600FC */ cpu->f[0] = cpu->f[13] - cpu->f[10];
|
|
/* 02C60100 */ _t13 = cpu->r[12] + 0x00000004u;
|
|
/* 02C60100 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t13);
|
|
/* 02C60104 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C60108 */ cpu->f[9] = cpu->f[11] * cpu->f[0];
|
|
/* 02C6010C */ cpu->f[1] = fma(cpu->f[12], cpu->f[10], cpu->f[9]);
|
|
/* 02C60110 */ return;
|
|
}
|
|
|
|
// fn_02C60114 @ 0x2c60114
|
|
void Gambit_fn_02C60114(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15;
|
|
|
|
L_02C60114: ; // 0x2c60114
|
|
/* 02C60114 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02C60114 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C60114 */ cpu->r[1] = _t0;
|
|
/* 02C60118 */ _t1 = cpu->r[3] + 0x00000008u;
|
|
/* 02C60118 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t1);
|
|
/* 02C6011C */ cpu->r[12] = 0x101B0000u;
|
|
/* 02C60120 */ cpu->f[11] = (uint32_t)(int32_t)cpu->f[9];
|
|
/* 02C60124 */ _t2 = cpu->r[12] + 0xFFFFF050u;
|
|
/* 02C60124 */ cpu->f[13] = rbrew_read_f64(cpu->mem, _t2);
|
|
/* 02C60128 */ cpu->r[10] = cpu->r[1] + 0x00000010u;
|
|
/* 02C6012C */ cpu->f[12] = (uint32_t)(int32_t)cpu->f[1];
|
|
/* 02C60130 */ /* nop */
|
|
/* 02C60134 */ _t3 = cpu->r[1] + 0x00000010u;
|
|
/* 02C60134 */ cpu->r[9] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02C60138 */ cpu->r[11] = 0x43300000u;
|
|
/* 02C6013C */ /* nop */
|
|
/* 02C60140 */ _t4 = cpu->r[1] + 0x00000010u;
|
|
/* 02C60140 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02C60144 */ _t5 = cpu->r[1] + 0x00000010u;
|
|
/* 02C60144 */ rbrew_write32(cpu->mem, _t5, cpu->r[11]);
|
|
/* 02C60148 */ cpu->r[12] = cpu->r[0] - cpu->r[9];
|
|
/* 02C6014C */ cpu->r[0] = cpu->r[0] ^ 0x80000000u;
|
|
/* 02C60150 */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 02C60150 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02C60154 */ _t7 = cpu->r[1] + 0x00000010u;
|
|
/* 02C60154 */ cpu->f[11] = rbrew_read_f64(cpu->mem, _t7);
|
|
/* 02C60158 */ cpu->f[12] = cpu->f[11] - cpu->f[13];
|
|
/* 02C6015C */ _t8 = cpu->r[3] + 0x00000020u;
|
|
/* 02C6015C */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C60160 */ cpu->f[7] = (double)(float)cpu->f[12];
|
|
/* 02C60164 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C60168 */ cpu->r[11] = cpu->r[3] + 0x00000020u;
|
|
/* 02C6016C */ cpu->r[9] = 0x00000000u;
|
|
/* 02C60170 */ cpu->f[7] = cpu->f[1] - cpu->f[7];
|
|
/* 02C60174 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C60174 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02C60174 */ if (_t10) goto L_02C6017C; else goto L_02C60178;
|
|
L_02C60178: ; // 0x2c60178
|
|
/* 02C60178 */ cpu->r[9] = cpu->r[11] + cpu->r[0];
|
|
L_02C6017C: ; // 0x2c6017c
|
|
/* 02C6017C */ cpu->r[0] = rbrew_rlwinm(cpu->r[12], 0x00000001u, 0x00000000u, 0x0000001Eu);
|
|
/* 02C60180 */ cpu->r[12] = cpu->r[9] + cpu->r[0];
|
|
/* 02C60184 */ _t11 = cpu->r[12] + 0x00000002u;
|
|
/* 02C60184 */ cpu->r[10] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t11);
|
|
/* 02C60188 */ cpu->r[11] = cpu->r[1] + 0x00000008u;
|
|
/* 02C6018C */ _t12 = cpu->r[1] + 0x00000008u;
|
|
/* 02C6018C */ rbrew_write16(cpu->mem, _t12, (uint16_t)cpu->r[10]);
|
|
/* 02C60190 */ _t13 = cpu->r[12] + 0x00000000u;
|
|
/* 02C60190 */ cpu->r[12] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t13);
|
|
/* 02C60194 */ cpu->r[10] = 0x101B0000u;
|
|
/* 02C60198 */ /* nop */
|
|
/* 02C6019C */ _t14 = cpu->r[10] + 0xFFFFF048u;
|
|
/* 02C6019C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t14);
|
|
/* 02C601A0 */ cpu->r[11] = cpu->r[1] + 0x0000000Au;
|
|
/* 02C601A4 */ _t15 = cpu->r[1] + 0x0000000Au;
|
|
/* 02C601A4 */ rbrew_write16(cpu->mem, _t15, (uint16_t)cpu->r[12]);
|
|
/* 02C601A8 */ cpu->f[9] = cpu->f[0] - cpu->f[7];
|
|
/* 02C601AC */ /* nop */
|
|
/* 02C601B0 */ cpu->f[0] = cpu->f[10];
|
|
/* 02C601B4 */ cpu->f[10] = cpu->f[13] * cpu->f[9];
|
|
/* 02C601B8 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C601BC */ cpu->f[1] = fma(cpu->f[0], cpu->f[7], cpu->f[10]);
|
|
/* 02C601C0 */ return;
|
|
}
|
|
|
|
// fn_02C601C4 @ 0x2c601c4
|
|
void Gambit_fn_02C601C4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15;
|
|
|
|
L_02C601C4: ; // 0x2c601c4
|
|
/* 02C601C4 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02C601C4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C601C4 */ cpu->r[1] = _t0;
|
|
/* 02C601C8 */ _t1 = cpu->r[3] + 0x00000008u;
|
|
/* 02C601C8 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t1);
|
|
/* 02C601CC */ cpu->f[11] = (uint32_t)(int32_t)cpu->f[10];
|
|
/* 02C601D0 */ cpu->r[10] = cpu->r[1] + 0x00000010u;
|
|
/* 02C601D4 */ cpu->f[13] = (uint32_t)(int32_t)cpu->f[1];
|
|
/* 02C601D8 */ /* nop */
|
|
/* 02C601DC */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 02C601DC */ cpu->r[11] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02C601E0 */ /* nop */
|
|
/* 02C601E4 */ cpu->r[12] = 0x101B0000u;
|
|
/* 02C601E8 */ _t3 = cpu->r[1] + 0x00000010u;
|
|
/* 02C601E8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02C601EC */ cpu->r[10] = 0x43300000u;
|
|
/* 02C601F0 */ _t4 = cpu->r[12] + 0xFFFFF050u;
|
|
/* 02C601F0 */ cpu->f[13] = rbrew_read_f64(cpu->mem, _t4);
|
|
/* 02C601F4 */ cpu->r[12] = cpu->r[0] - cpu->r[11];
|
|
/* 02C601F8 */ cpu->r[11] = cpu->r[0] ^ 0x80000000u;
|
|
/* 02C601FC */ _t5 = cpu->r[1] + 0x00000010u;
|
|
/* 02C601FC */ rbrew_write32(cpu->mem, _t5, cpu->r[10]);
|
|
/* 02C60200 */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 02C60200 */ rbrew_write32(cpu->mem, _t6, cpu->r[11]);
|
|
/* 02C60204 */ _t7 = cpu->r[1] + 0x00000010u;
|
|
/* 02C60204 */ cpu->f[11] = rbrew_read_f64(cpu->mem, _t7);
|
|
/* 02C60208 */ cpu->f[12] = cpu->f[11] - cpu->f[13];
|
|
/* 02C6020C */ _t8 = cpu->r[3] + 0x00000020u;
|
|
/* 02C6020C */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C60210 */ cpu->f[8] = (double)(float)cpu->f[12];
|
|
/* 02C60214 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C60218 */ cpu->r[11] = cpu->r[3] + 0x00000020u;
|
|
/* 02C6021C */ cpu->r[9] = 0x00000000u;
|
|
/* 02C60220 */ cpu->f[13] = cpu->f[1] - cpu->f[8];
|
|
/* 02C60224 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C60224 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02C60224 */ if (_t10) goto L_02C6022C; else goto L_02C60228;
|
|
L_02C60228: ; // 0x2c60228
|
|
/* 02C60228 */ cpu->r[9] = cpu->r[11] + cpu->r[0];
|
|
L_02C6022C: ; // 0x2c6022c
|
|
/* 02C6022C */ cpu->r[12] = cpu->r[9] + cpu->r[12];
|
|
/* 02C60230 */ cpu->r[9] = 0x101B0000u;
|
|
/* 02C60234 */ _t11 = cpu->r[12] + 0x00000001u;
|
|
/* 02C60234 */ cpu->r[10] = rbrew_read8(cpu->mem, _t11);
|
|
/* 02C60238 */ _t12 = cpu->r[9] + 0xFFFFF048u;
|
|
/* 02C60238 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t12);
|
|
/* 02C6023C */ cpu->r[11] = cpu->r[1] + 0x00000008u;
|
|
/* 02C60240 */ _t13 = cpu->r[1] + 0x00000008u;
|
|
/* 02C60240 */ rbrew_write8(cpu->mem, _t13, (uint8_t)cpu->r[10]);
|
|
/* 02C60244 */ _t14 = cpu->r[12] + 0x00000000u;
|
|
/* 02C60244 */ cpu->r[0] = rbrew_read8(cpu->mem, _t14);
|
|
/* 02C60248 */ /* nop */
|
|
/* 02C6024C */ cpu->r[10] = cpu->r[1] + 0x00000009u;
|
|
/* 02C60250 */ _t15 = cpu->r[1] + 0x00000009u;
|
|
/* 02C60250 */ rbrew_write8(cpu->mem, _t15, (uint8_t)cpu->r[0]);
|
|
/* 02C60254 */ /* nop */
|
|
/* 02C60258 */ cpu->f[9] = cpu->f[0] - cpu->f[13];
|
|
/* 02C6025C */ cpu->f[10] = cpu->f[12] * cpu->f[9];
|
|
/* 02C60260 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C60264 */ cpu->f[1] = fma(cpu->f[8], cpu->f[13], cpu->f[10]);
|
|
/* 02C60268 */ return;
|
|
}
|
|
|
|
// fn_02C6026C @ 0x2c6026c
|
|
void Gambit_fn_02C6026C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7;
|
|
|
|
L_02C6026C: ; // 0x2c6026c
|
|
/* 02C6026C */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02C6026C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C6026C */ cpu->r[1] = _t0;
|
|
/* 02C60270 */ _t1 = cpu->r[3] + 0x00000008u;
|
|
/* 02C60270 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t1);
|
|
/* 02C60274 */ cpu->f[0] = (uint32_t)(int32_t)cpu->f[0];
|
|
/* 02C60278 */ _t2 = cpu->r[3] + 0x00000020u;
|
|
/* 02C60278 */ cpu->r[6] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02C6027C */ cpu->r[0] = cpu->r[1] + 0x00000008u;
|
|
/* 02C60280 */ cpu->f[13] = (uint32_t)(int32_t)cpu->f[1];
|
|
/* 02C60284 */ /* nop */
|
|
/* 02C60288 */ _t3 = cpu->r[1] + 0x00000008u;
|
|
/* 02C60288 */ cpu->r[8] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02C6028C */ /* nop */
|
|
/* 02C60290 */ _t4 = cpu->r[1] + 0x00000008u;
|
|
/* 02C60290 */ cpu->r[11] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02C60294 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u);
|
|
/* 02C60298 */ cpu->r[10] = 0x00000000u;
|
|
/* 02C6029C */ cpu->r[7] = cpu->r[3] + 0x00000020u;
|
|
/* 02C602A0 */ cpu->r[9] = cpu->r[11] - cpu->r[8];
|
|
/* 02C602A4 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C602A4 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02C602A4 */ if (_t6) goto L_02C602AC; else goto L_02C602A8;
|
|
L_02C602A8: ; // 0x2c602a8
|
|
/* 02C602A8 */ cpu->r[10] = cpu->r[7] + cpu->r[6];
|
|
L_02C602AC: ; // 0x2c602ac
|
|
/* 02C602AC */ cpu->r[12] = rbrew_rlwinm(cpu->r[9], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02C602B0 */ _t7 = cpu->r[10] + cpu->r[12];
|
|
/* 02C602B0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02C602B4 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C602B8 */ return;
|
|
}
|
|
|
|
// fn_02C602BC @ 0x2c602bc
|
|
void Gambit_fn_02C602BC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7;
|
|
|
|
L_02C602BC: ; // 0x2c602bc
|
|
/* 02C602BC */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02C602BC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C602BC */ cpu->r[1] = _t0;
|
|
/* 02C602C0 */ _t1 = cpu->r[3] + 0x00000008u;
|
|
/* 02C602C0 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t1);
|
|
/* 02C602C4 */ cpu->f[0] = (uint32_t)(int32_t)cpu->f[0];
|
|
/* 02C602C8 */ _t2 = cpu->r[3] + 0x00000020u;
|
|
/* 02C602C8 */ cpu->r[6] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02C602CC */ cpu->r[0] = cpu->r[1] + 0x00000008u;
|
|
/* 02C602D0 */ cpu->f[13] = (uint32_t)(int32_t)cpu->f[1];
|
|
/* 02C602D4 */ /* nop */
|
|
/* 02C602D8 */ _t3 = cpu->r[1] + 0x00000008u;
|
|
/* 02C602D8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02C602DC */ /* nop */
|
|
/* 02C602E0 */ _t4 = cpu->r[1] + 0x00000008u;
|
|
/* 02C602E0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02C602E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u);
|
|
/* 02C602E8 */ cpu->r[10] = 0x00000000u;
|
|
/* 02C602EC */ cpu->r[7] = cpu->r[3] + 0x00000020u;
|
|
/* 02C602F0 */ cpu->r[9] = cpu->r[11] - cpu->r[8];
|
|
/* 02C602F4 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C602F4 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02C602F4 */ if (_t6) goto L_02C602FC; else goto L_02C602F8;
|
|
L_02C602F8: ; // 0x2c602f8
|
|
/* 02C602F8 */ cpu->r[10] = cpu->r[7] + cpu->r[6];
|
|
L_02C602FC: ; // 0x2c602fc
|
|
/* 02C602FC */ cpu->r[12] = rbrew_rlwinm(cpu->r[9], 0x00000001u, 0x00000000u, 0x0000001Eu);
|
|
/* 02C60300 */ _t7 = cpu->r[10] + cpu->r[12];
|
|
/* 02C60300 */ cpu->r[3] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t7);
|
|
/* 02C60304 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C60308 */ return;
|
|
}
|
|
|
|
// fn_02C6030C @ 0x2c6030c
|
|
void Gambit_fn_02C6030C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7;
|
|
|
|
L_02C6030C: ; // 0x2c6030c
|
|
/* 02C6030C */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02C6030C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C6030C */ cpu->r[1] = _t0;
|
|
/* 02C60310 */ _t1 = cpu->r[3] + 0x00000008u;
|
|
/* 02C60310 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t1);
|
|
/* 02C60314 */ cpu->f[0] = (uint32_t)(int32_t)cpu->f[0];
|
|
/* 02C60318 */ _t2 = cpu->r[3] + 0x00000020u;
|
|
/* 02C60318 */ cpu->r[5] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02C6031C */ cpu->r[12] = cpu->r[1] + 0x00000008u;
|
|
/* 02C60320 */ cpu->f[13] = (uint32_t)(int32_t)cpu->f[1];
|
|
/* 02C60324 */ /* nop */
|
|
/* 02C60328 */ _t3 = cpu->r[1] + 0x00000008u;
|
|
/* 02C60328 */ cpu->r[8] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02C6032C */ /* nop */
|
|
/* 02C60330 */ _t4 = cpu->r[1] + 0x00000008u;
|
|
/* 02C60330 */ cpu->r[11] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02C60334 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u);
|
|
/* 02C60338 */ cpu->r[10] = 0x00000000u;
|
|
/* 02C6033C */ cpu->r[6] = cpu->r[3] + 0x00000020u;
|
|
/* 02C60340 */ cpu->r[9] = cpu->r[11] - cpu->r[8];
|
|
/* 02C60344 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C60344 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02C60344 */ if (_t6) goto L_02C6034C; else goto L_02C60348;
|
|
L_02C60348: ; // 0x2c60348
|
|
/* 02C60348 */ cpu->r[10] = cpu->r[6] + cpu->r[5];
|
|
L_02C6034C: ; // 0x2c6034c
|
|
/* 02C6034C */ _t7 = cpu->r[10] + cpu->r[9];
|
|
/* 02C6034C */ cpu->r[3] = rbrew_read8(cpu->mem, _t7);
|
|
/* 02C60350 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C60354 */ /* nop */
|
|
/* 02C60358 */ return;
|
|
}
|
|
|
|
// fn_02C6035C @ 0x2c6035c
|
|
void Gambit_fn_02C6035C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3;
|
|
|
|
L_02C6035C: ; // 0x2c6035c
|
|
/* 02C6035C */ cpu->r[8] = rbrew_rlwinm(cpu->r[5], 0x0000001Du, 0x00000003u, 0x0000001Fu);
|
|
/* 02C60360 */ cpu->r[10] = rbrew_rlwinm(cpu->r[5], 0x00000000u, 0x0000001Du, 0x0000001Fu);
|
|
/* 02C60364 */ cpu->r[12] = cpu->r[3];
|
|
/* 02C60368 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[4]);
|
|
/* 02C6036C */ cpu->r[3] = 0x00000000u;
|
|
/* 02C60370 */ _t0 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C60370 */ _t1 = _t0 & 0x00000001u;
|
|
/* 02C60370 */ _t2 = _t1 ^ 0x00000001u;
|
|
/* 02C60370 */ if (_t2) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02C60370 */ goto L_02C60374;
|
|
L_02C60374: ; // 0x2c60374
|
|
/* 02C60374 */ _t3 = cpu->r[12] + cpu->r[8];
|
|
/* 02C60374 */ cpu->r[0] = rbrew_read8(cpu->mem, _t3);
|
|
/* 02C60378 */ /* nop */
|
|
/* 02C6037C */ cpu->r[3] = rbrew_rlwinm(cpu->r[9], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02C60380 */ return;
|
|
}
|
|
|
|
// fn_02C60384 @ 0x2c60384
|
|
void Gambit_fn_02C60384(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_02C60384: ; // 0x2c60384
|
|
/* 02C60384 */ cpu->r[0] = cpu->lr;
|
|
/* 02C60388 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 02C60388 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 02C6038C */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02C6038C */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 02C6038C */ cpu->r[1] = _t1;
|
|
/* 02C60390 */ _t2 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02C60390 */ cpu->r[12] = rbrew_read16(cpu->mem, _t2);
|
|
/* 02C60394 */ cpu->r[7] = cpu->r[4];
|
|
/* 02C60398 */ cpu->r[6] = cpu->r[3] + 0x00000008u;
|
|
/* 02C6039C */ _t3 = cpu->r[3] + 0x00000008u;
|
|
/* 02C6039C */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02C603A0 */ cpu->r[9] = rbrew_rlwinm(cpu->r[12], 0x00000004u, 0x00000000u, 0x0000001Bu);
|
|
/* 02C603A4 */ cpu->r[4] = cpu->r[5];
|
|
/* 02C603A8 */ _t4 = cpu->r[6] + cpu->r[9];
|
|
/* 02C603A8 */ cpu->r[5] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02C603AC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[5]);
|
|
/* 02C603B0 */ cpu->r[11] = cpu->r[6] + cpu->r[9];
|
|
/* 02C603B4 */ _t5 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C603B4 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02C603B4 */ if (_t6) goto L_02C603B8; else goto L_02C60400;
|
|
L_02C603B8: ; // 0x2c603b8
|
|
/* 02C603B8 */ cpu->r[3] = cpu->r[7];
|
|
/* 02C603BC */ Gambit_fn_02C6035C(cpu);
|
|
/* 02C603C0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C603C4 */ _t7 = cpu->r[11] + 0x00000000u;
|
|
/* 02C603C4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02C603C8 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C603C8 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02C603C8 */ if (_t9) goto L_02C603E8; else goto L_02C603CC;
|
|
L_02C603CC: ; // 0x2c603cc
|
|
/* 02C603CC */ _t10 = cpu->r[11] + 0x00000006u;
|
|
/* 02C603CC */ cpu->r[12] = rbrew_read16(cpu->mem, _t10);
|
|
/* 02C603D0 */ cpu->r[0] = rbrew_rlwinm(cpu->r[12], 0x00000004u, 0x00000000u, 0x0000001Bu);
|
|
/* 02C603D4 */ _t11 = cpu->r[6] + cpu->r[0];
|
|
/* 02C603D4 */ cpu->r[5] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02C603D8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[5]);
|
|
/* 02C603DC */ cpu->r[11] = cpu->r[6] + cpu->r[0];
|
|
/* 02C603E0 */ _t12 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C603E0 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02C603E0 */ if (_t13) goto L_02C603B8; else goto L_02C603E4;
|
|
L_02C603E4: ; // 0x2c603e4
|
|
/* 02C603E4 */ goto L_02C60400;
|
|
L_02C603E8: ; // 0x2c603e8
|
|
/* 02C603E8 */ _t14 = cpu->r[11] + 0x00000004u;
|
|
/* 02C603E8 */ cpu->r[12] = rbrew_read16(cpu->mem, _t14);
|
|
/* 02C603EC */ cpu->r[0] = rbrew_rlwinm(cpu->r[12], 0x00000004u, 0x00000000u, 0x0000001Bu);
|
|
/* 02C603F0 */ _t15 = cpu->r[6] + cpu->r[0];
|
|
/* 02C603F0 */ cpu->r[5] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02C603F4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[5]);
|
|
/* 02C603F8 */ cpu->r[11] = cpu->r[6] + cpu->r[0];
|
|
/* 02C603FC */ _t16 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C603FC */ _t17 = _t16 & 0x00000001u;
|
|
/* 02C603FC */ if (_t17) goto L_02C603B8; else goto L_02C60400;
|
|
L_02C60400: ; // 0x2c60400
|
|
/* 02C60400 */ _t18 = cpu->r[11] + 0x00000008u;
|
|
/* 02C60400 */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02C60404 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C60408 */ cpu->r[6] = cpu->r[11] + 0x00000008u;
|
|
/* 02C6040C */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6040C */ _t20 = _t19 & 0x00000001u;
|
|
/* 02C6040C */ if (_t20) goto L_02C6044C; else goto L_02C60410;
|
|
L_02C60410: ; // 0x2c60410
|
|
/* 02C60410 */ cpu->r[10] = cpu->r[6] + cpu->r[0];
|
|
/* 02C60414 */ _t21 = cpu->r[10] + 0xFFFFFFFCu;
|
|
/* 02C60414 */ cpu->r[0] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02C60418 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[4]);
|
|
/* 02C6041C */ cpu->r[9] = cpu->r[10] + 0xFFFFFFFCu;
|
|
/* 02C60420 */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C60420 */ _t23 = _t22 & 0x00000001u;
|
|
/* 02C60420 */ if (_t23) goto L_02C60424; else goto L_02C6044C;
|
|
L_02C60424: ; // 0x2c60424
|
|
/* 02C60424 */ cpu->r[7] = cpu->r[7] + 0xFFFFFFFFu;
|
|
/* 02C60428 */ cpu->r[12] = cpu->r[9] + 0x00000003u;
|
|
L_02C6042C: ; // 0x2c6042c
|
|
/* 02C6042C */ _t24 = cpu->r[12] + 0x00000001u;
|
|
/* 02C6042C */ cpu->r[8] = rbrew_read8(cpu->mem, _t24);
|
|
/* 02C6042C */ cpu->r[12] = _t24;
|
|
/* 02C60430 */ _t25 = cpu->r[7] + 0x00000001u;
|
|
/* 02C60430 */ cpu->r[9] = rbrew_read8(cpu->mem, _t25);
|
|
/* 02C60430 */ cpu->r[7] = _t25;
|
|
/* 02C60434 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[9]);
|
|
/* 02C60438 */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C60438 */ _t27 = _t26 & 0x00000001u;
|
|
/* 02C60438 */ if (_t27) goto L_02C6043C; else goto L_02C60444;
|
|
L_02C6043C: ; // 0x2c6043c
|
|
/* 02C6043C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], 0x00000000u);
|
|
/* 02C60440 */ _t28 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C60440 */ _t29 = _t28 & 0x00000001u;
|
|
/* 02C60440 */ if (_t29) goto L_02C60444; else goto L_02C6042C;
|
|
L_02C60444: ; // 0x2c60444
|
|
/* 02C60444 */ cpu->r[10] = cpu->r[8] - cpu->r[9];
|
|
/* 02C60444 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02C60448 */ _t30 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C60448 */ _t31 = _t30 & 0x00000001u;
|
|
/* 02C60448 */ if (_t31) goto L_02C60450; else goto L_02C6044C;
|
|
L_02C6044C: ; // 0x2c6044c
|
|
/* 02C6044C */ cpu->r[11] = 0x00000000u;
|
|
L_02C60450: ; // 0x2c60450
|
|
/* 02C60450 */ _t32 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C60450 */ cpu->r[0] = rbrew_read32(cpu->mem, _t32);
|
|
/* 02C60454 */ cpu->lr = cpu->r[0];
|
|
/* 02C60458 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02C6045C */ cpu->r[3] = cpu->r[11];
|
|
/* 02C60460 */ return;
|
|
}
|
|
|
|
// fn_02C6038C @ 0x2c6038c
|
|
void Gambit_fn_02C6038C(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_02C6038C: ; // 0x2c6038c
|
|
/* 02C6038C */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02C6038C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C6038C */ cpu->r[1] = _t0;
|
|
/* 02C60390 */ _t1 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02C60390 */ cpu->r[12] = rbrew_read16(cpu->mem, _t1);
|
|
/* 02C60394 */ cpu->r[7] = cpu->r[4];
|
|
/* 02C60398 */ cpu->r[6] = cpu->r[3] + 0x00000008u;
|
|
/* 02C6039C */ _t2 = cpu->r[3] + 0x00000008u;
|
|
/* 02C6039C */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02C603A0 */ cpu->r[9] = rbrew_rlwinm(cpu->r[12], 0x00000004u, 0x00000000u, 0x0000001Bu);
|
|
/* 02C603A4 */ cpu->r[4] = cpu->r[5];
|
|
/* 02C603A8 */ _t3 = cpu->r[6] + cpu->r[9];
|
|
/* 02C603A8 */ cpu->r[5] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02C603AC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[5]);
|
|
/* 02C603B0 */ cpu->r[11] = cpu->r[6] + cpu->r[9];
|
|
/* 02C603B4 */ _t4 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C603B4 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02C603B4 */ if (_t5) goto L_02C603B8; else goto L_02C60400;
|
|
L_02C603B8: ; // 0x2c603b8
|
|
/* 02C603B8 */ cpu->r[3] = cpu->r[7];
|
|
/* 02C603BC */ Gambit_fn_02C6035C(cpu);
|
|
/* 02C603C0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C603C4 */ _t6 = cpu->r[11] + 0x00000000u;
|
|
/* 02C603C4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02C603C8 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C603C8 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02C603C8 */ if (_t8) goto L_02C603E8; else goto L_02C603CC;
|
|
L_02C603CC: ; // 0x2c603cc
|
|
/* 02C603CC */ _t9 = cpu->r[11] + 0x00000006u;
|
|
/* 02C603CC */ cpu->r[12] = rbrew_read16(cpu->mem, _t9);
|
|
/* 02C603D0 */ cpu->r[0] = rbrew_rlwinm(cpu->r[12], 0x00000004u, 0x00000000u, 0x0000001Bu);
|
|
/* 02C603D4 */ _t10 = cpu->r[6] + cpu->r[0];
|
|
/* 02C603D4 */ cpu->r[5] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02C603D8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[5]);
|
|
/* 02C603DC */ cpu->r[11] = cpu->r[6] + cpu->r[0];
|
|
/* 02C603E0 */ _t11 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C603E0 */ _t12 = _t11 & 0x00000001u;
|
|
/* 02C603E0 */ if (_t12) goto L_02C603B8; else goto L_02C603E4;
|
|
L_02C603E4: ; // 0x2c603e4
|
|
/* 02C603E4 */ goto L_02C60400;
|
|
L_02C603E8: ; // 0x2c603e8
|
|
/* 02C603E8 */ _t13 = cpu->r[11] + 0x00000004u;
|
|
/* 02C603E8 */ cpu->r[12] = rbrew_read16(cpu->mem, _t13);
|
|
/* 02C603EC */ cpu->r[0] = rbrew_rlwinm(cpu->r[12], 0x00000004u, 0x00000000u, 0x0000001Bu);
|
|
/* 02C603F0 */ _t14 = cpu->r[6] + cpu->r[0];
|
|
/* 02C603F0 */ cpu->r[5] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02C603F4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[5]);
|
|
/* 02C603F8 */ cpu->r[11] = cpu->r[6] + cpu->r[0];
|
|
/* 02C603FC */ _t15 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C603FC */ _t16 = _t15 & 0x00000001u;
|
|
/* 02C603FC */ if (_t16) goto L_02C603B8; else goto L_02C60400;
|
|
L_02C60400: ; // 0x2c60400
|
|
/* 02C60400 */ _t17 = cpu->r[11] + 0x00000008u;
|
|
/* 02C60400 */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02C60404 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C60408 */ cpu->r[6] = cpu->r[11] + 0x00000008u;
|
|
/* 02C6040C */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6040C */ _t19 = _t18 & 0x00000001u;
|
|
/* 02C6040C */ if (_t19) goto L_02C6044C; else goto L_02C60410;
|
|
L_02C60410: ; // 0x2c60410
|
|
/* 02C60410 */ cpu->r[10] = cpu->r[6] + cpu->r[0];
|
|
/* 02C60414 */ _t20 = cpu->r[10] + 0xFFFFFFFCu;
|
|
/* 02C60414 */ cpu->r[0] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02C60418 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[4]);
|
|
/* 02C6041C */ cpu->r[9] = cpu->r[10] + 0xFFFFFFFCu;
|
|
/* 02C60420 */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C60420 */ _t22 = _t21 & 0x00000001u;
|
|
/* 02C60420 */ if (_t22) goto L_02C60424; else goto L_02C6044C;
|
|
L_02C60424: ; // 0x2c60424
|
|
/* 02C60424 */ cpu->r[7] = cpu->r[7] + 0xFFFFFFFFu;
|
|
/* 02C60428 */ cpu->r[12] = cpu->r[9] + 0x00000003u;
|
|
L_02C6042C: ; // 0x2c6042c
|
|
/* 02C6042C */ _t23 = cpu->r[12] + 0x00000001u;
|
|
/* 02C6042C */ cpu->r[8] = rbrew_read8(cpu->mem, _t23);
|
|
/* 02C6042C */ cpu->r[12] = _t23;
|
|
/* 02C60430 */ _t24 = cpu->r[7] + 0x00000001u;
|
|
/* 02C60430 */ cpu->r[9] = rbrew_read8(cpu->mem, _t24);
|
|
/* 02C60430 */ cpu->r[7] = _t24;
|
|
/* 02C60434 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[9]);
|
|
/* 02C60438 */ _t25 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C60438 */ _t26 = _t25 & 0x00000001u;
|
|
/* 02C60438 */ if (_t26) goto L_02C6043C; else goto L_02C60444;
|
|
L_02C6043C: ; // 0x2c6043c
|
|
/* 02C6043C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], 0x00000000u);
|
|
/* 02C60440 */ _t27 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C60440 */ _t28 = _t27 & 0x00000001u;
|
|
/* 02C60440 */ if (_t28) goto L_02C60444; else goto L_02C6042C;
|
|
L_02C60444: ; // 0x2c60444
|
|
/* 02C60444 */ cpu->r[10] = cpu->r[8] - cpu->r[9];
|
|
/* 02C60444 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02C60448 */ _t29 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C60448 */ _t30 = _t29 & 0x00000001u;
|
|
/* 02C60448 */ if (_t30) goto L_02C60450; else goto L_02C6044C;
|
|
L_02C6044C: ; // 0x2c6044c
|
|
/* 02C6044C */ cpu->r[11] = 0x00000000u;
|
|
L_02C60450: ; // 0x2c60450
|
|
/* 02C60450 */ _t31 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C60450 */ cpu->r[0] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02C60454 */ cpu->lr = cpu->r[0];
|
|
/* 02C60458 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02C6045C */ cpu->r[3] = cpu->r[11];
|
|
/* 02C60460 */ return;
|
|
}
|
|
|
|
// fn_02C60464 @ 0x2c60464
|
|
void Gambit_fn_02C60464(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
|
|
|
|
L_02C60464: ; // 0x2c60464
|
|
/* 02C60464 */ cpu->r[0] = cpu->lr;
|
|
/* 02C60468 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 02C60468 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 02C6046C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C60470 */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02C60470 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 02C60470 */ cpu->r[1] = _t1;
|
|
/* 02C60474 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C60474 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02C60474 */ if (_t3) goto L_02C604C4; else goto L_02C60478;
|
|
L_02C60478: ; // 0x2c60478
|
|
/* 02C60478 */ cpu->r[12] = cpu->r[4] + 0xFFFFFFFFu;
|
|
L_02C6047C: ; // 0x2c6047c
|
|
/* 02C6047C */ _t4 = cpu->r[12] + 0x00000001u;
|
|
/* 02C6047C */ cpu->r[11] = rbrew_read8(cpu->mem, _t4);
|
|
/* 02C6047C */ cpu->r[12] = _t4;
|
|
/* 02C60480 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02C60484 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C60484 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02C60484 */ if (_t6) goto L_02C60488; else goto L_02C6047C;
|
|
L_02C60488: ; // 0x2c60488
|
|
/* 02C60488 */ cpu->r[5] = cpu->r[12] - cpu->r[4];
|
|
/* 02C6048C */ Gambit_fn_02C60384(cpu);
|
|
/* 02C60490 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C60494 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C60494 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02C60494 */ if (_t8) goto L_02C604C4; else goto L_02C60498;
|
|
L_02C60498: ; // 0x2c60498
|
|
/* 02C60498 */ _t9 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02C60498 */ cpu->r[12] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02C6049C */ cpu->r[0] = 0x00000000u;
|
|
/* 02C604A0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02C604A4 */ cpu->r[10] = cpu->r[3] + 0x0000000Cu;
|
|
/* 02C604A8 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C604A8 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02C604A8 */ if (_t11) goto L_02C604B0; else goto L_02C604AC;
|
|
L_02C604AC: ; // 0x2c604ac
|
|
/* 02C604AC */ cpu->r[0] = cpu->r[10] + cpu->r[12];
|
|
L_02C604B0: ; // 0x2c604b0
|
|
/* 02C604B0 */ cpu->r[3] = cpu->r[0];
|
|
/* 02C604B4 */ _t12 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C604B4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02C604B8 */ cpu->lr = cpu->r[0];
|
|
/* 02C604BC */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02C604C0 */ return;
|
|
L_02C604C4: ; // 0x2c604c4
|
|
/* 02C604C4 */ _t13 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C604C4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02C604C8 */ cpu->lr = cpu->r[0];
|
|
/* 02C604CC */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02C604D0 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C604D4 */ return;
|
|
}
|
|
|
|
// fn_02C60470 @ 0x2c60470
|
|
void Gambit_fn_02C60470(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12;
|
|
|
|
L_02C60470: ; // 0x2c60470
|
|
/* 02C60470 */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02C60470 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C60470 */ cpu->r[1] = _t0;
|
|
/* 02C60474 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C60474 */ _t2 = _t1 & 0x00000001u;
|
|
/* 02C60474 */ if (_t2) goto L_02C604C4; else goto L_02C60478;
|
|
L_02C60478: ; // 0x2c60478
|
|
/* 02C60478 */ cpu->r[12] = cpu->r[4] + 0xFFFFFFFFu;
|
|
L_02C6047C: ; // 0x2c6047c
|
|
/* 02C6047C */ _t3 = cpu->r[12] + 0x00000001u;
|
|
/* 02C6047C */ cpu->r[11] = rbrew_read8(cpu->mem, _t3);
|
|
/* 02C6047C */ cpu->r[12] = _t3;
|
|
/* 02C60480 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02C60484 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C60484 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02C60484 */ if (_t5) goto L_02C60488; else goto L_02C6047C;
|
|
L_02C60488: ; // 0x2c60488
|
|
/* 02C60488 */ cpu->r[5] = cpu->r[12] - cpu->r[4];
|
|
/* 02C6048C */ Gambit_fn_02C60384(cpu);
|
|
/* 02C60490 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C60494 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C60494 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02C60494 */ if (_t7) goto L_02C604C4; else goto L_02C60498;
|
|
L_02C60498: ; // 0x2c60498
|
|
/* 02C60498 */ _t8 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02C60498 */ cpu->r[12] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C6049C */ cpu->r[0] = 0x00000000u;
|
|
/* 02C604A0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02C604A4 */ cpu->r[10] = cpu->r[3] + 0x0000000Cu;
|
|
/* 02C604A8 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C604A8 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02C604A8 */ if (_t10) goto L_02C604B0; else goto L_02C604AC;
|
|
L_02C604AC: ; // 0x2c604ac
|
|
/* 02C604AC */ cpu->r[0] = cpu->r[10] + cpu->r[12];
|
|
L_02C604B0: ; // 0x2c604b0
|
|
/* 02C604B0 */ cpu->r[3] = cpu->r[0];
|
|
/* 02C604B4 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C604B4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02C604B8 */ cpu->lr = cpu->r[0];
|
|
/* 02C604BC */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02C604C0 */ return;
|
|
L_02C604C4: ; // 0x2c604c4
|
|
/* 02C604C4 */ _t12 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C604C4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02C604C8 */ cpu->lr = cpu->r[0];
|
|
/* 02C604CC */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02C604D0 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C604D4 */ return;
|
|
}
|
|
|
|
// fn_02C604D8 @ 0x2c604d8
|
|
void Gambit_fn_02C604D8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4;
|
|
|
|
L_02C6035C: ; // 0x2c6035c
|
|
/* 02C6035C */ cpu->r[8] = rbrew_rlwinm(cpu->r[5], 0x0000001Du, 0x00000003u, 0x0000001Fu);
|
|
/* 02C60360 */ cpu->r[10] = rbrew_rlwinm(cpu->r[5], 0x00000000u, 0x0000001Du, 0x0000001Fu);
|
|
/* 02C60364 */ cpu->r[12] = cpu->r[3];
|
|
/* 02C60368 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[4]);
|
|
/* 02C6036C */ cpu->r[3] = 0x00000000u;
|
|
/* 02C60370 */ _t0 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C60370 */ _t1 = _t0 & 0x00000001u;
|
|
/* 02C60370 */ _t2 = _t1 ^ 0x00000001u;
|
|
/* 02C60370 */ if (_t2) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02C60370 */ goto L_02C60374;
|
|
L_02C60374: ; // 0x2c60374
|
|
/* 02C60374 */ _t3 = cpu->r[12] + cpu->r[8];
|
|
/* 02C60374 */ cpu->r[0] = rbrew_read8(cpu->mem, _t3);
|
|
/* 02C60378 */ /* nop */
|
|
/* 02C6037C */ cpu->r[3] = rbrew_rlwinm(cpu->r[9], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02C60380 */ return;
|
|
L_02C604D8: ; // 0x2c604d8
|
|
/* 02C604D8 */ cpu->r[5] = cpu->r[4];
|
|
/* 02C604DC */ _t4 = cpu->r[3] + 0x00000000u;
|
|
/* 02C604DC */ cpu->r[4] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02C604E0 */ cpu->r[3] = cpu->r[3] + 0x00000004u;
|
|
/* 02C604E4 */ goto L_02C6035C;
|
|
}
|
|
|
|
// fn_02C604E8 @ 0x2c604e8
|
|
void Gambit_fn_02C604E8(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;
|
|
|
|
L_02C604E8: ; // 0x2c604e8
|
|
/* 02C604E8 */ cpu->r[0] = cpu->lr;
|
|
/* 02C604EC */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 02C604EC */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 02C604F0 */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02C604F0 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 02C604F0 */ cpu->r[1] = _t1;
|
|
/* 02C604F4 */ _t2 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02C604F4 */ cpu->r[10] = rbrew_read16(cpu->mem, _t2);
|
|
/* 02C604F8 */ cpu->r[6] = cpu->r[3] + 0x00000008u;
|
|
/* 02C604FC */ _t3 = cpu->r[3] + 0x00000008u;
|
|
/* 02C604FC */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02C60500 */ cpu->r[9] = rbrew_rlwinm(cpu->r[10], 0x00000004u, 0x00000000u, 0x0000001Bu);
|
|
/* 02C60504 */ cpu->r[7] = cpu->r[4];
|
|
/* 02C60508 */ _t4 = cpu->r[6] + cpu->r[9];
|
|
/* 02C60508 */ cpu->r[4] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02C6050C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[4]);
|
|
/* 02C60510 */ cpu->r[11] = cpu->r[6] + cpu->r[9];
|
|
/* 02C60514 */ _t5 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C60514 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02C60514 */ if (_t6) goto L_02C60518; else goto L_02C60560;
|
|
L_02C60518: ; // 0x2c60518
|
|
/* 02C60518 */ cpu->r[3] = cpu->r[7];
|
|
/* 02C6051C */ Gambit_fn_02C604D8(cpu);
|
|
/* 02C60520 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C60524 */ _t7 = cpu->r[11] + 0x00000000u;
|
|
/* 02C60524 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02C60528 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C60528 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02C60528 */ if (_t9) goto L_02C60548; else goto L_02C6052C;
|
|
L_02C6052C: ; // 0x2c6052c
|
|
/* 02C6052C */ _t10 = cpu->r[11] + 0x00000006u;
|
|
/* 02C6052C */ cpu->r[10] = rbrew_read16(cpu->mem, _t10);
|
|
/* 02C60530 */ cpu->r[10] = rbrew_rlwinm(cpu->r[10], 0x00000004u, 0x00000000u, 0x0000001Bu);
|
|
/* 02C60534 */ _t11 = cpu->r[6] + cpu->r[10];
|
|
/* 02C60534 */ cpu->r[4] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02C60538 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[4]);
|
|
/* 02C6053C */ cpu->r[11] = cpu->r[6] + cpu->r[10];
|
|
/* 02C60540 */ _t12 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C60540 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02C60540 */ if (_t13) goto L_02C60518; else goto L_02C60544;
|
|
L_02C60544: ; // 0x2c60544
|
|
/* 02C60544 */ goto L_02C60560;
|
|
L_02C60548: ; // 0x2c60548
|
|
/* 02C60548 */ _t14 = cpu->r[11] + 0x00000004u;
|
|
/* 02C60548 */ cpu->r[10] = rbrew_read16(cpu->mem, _t14);
|
|
/* 02C6054C */ cpu->r[10] = rbrew_rlwinm(cpu->r[10], 0x00000004u, 0x00000000u, 0x0000001Bu);
|
|
/* 02C60550 */ _t15 = cpu->r[6] + cpu->r[10];
|
|
/* 02C60550 */ cpu->r[4] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02C60554 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[4]);
|
|
/* 02C60558 */ cpu->r[11] = cpu->r[6] + cpu->r[10];
|
|
/* 02C6055C */ _t16 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C6055C */ _t17 = _t16 & 0x00000001u;
|
|
/* 02C6055C */ if (_t17) goto L_02C60518; else goto L_02C60560;
|
|
L_02C60560: ; // 0x2c60560
|
|
/* 02C60560 */ _t18 = cpu->r[11] + 0x00000008u;
|
|
/* 02C60560 */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02C60564 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C60568 */ cpu->r[12] = cpu->r[11] + 0x00000008u;
|
|
/* 02C6056C */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6056C */ _t20 = _t19 & 0x00000001u;
|
|
/* 02C6056C */ if (_t20) goto L_02C605D0; else goto L_02C60570;
|
|
L_02C60570: ; // 0x2c60570
|
|
/* 02C60570 */ cpu->r[12] = cpu->r[12] + cpu->r[0];
|
|
/* 02C60574 */ cpu->r[9] = cpu->r[12] + 0xFFFFFFFCu;
|
|
/* 02C60578 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[7]);
|
|
/* 02C6057C */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6057C */ _t22 = _t21 & 0x00000001u;
|
|
/* 02C6057C */ if (_t22) goto L_02C605BC; else goto L_02C60580;
|
|
L_02C60580: ; // 0x2c60580
|
|
/* 02C60580 */ _t23 = cpu->r[7] + 0x00000000u;
|
|
/* 02C60580 */ cpu->r[0] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02C60584 */ _t24 = cpu->r[9] + 0x00000000u;
|
|
/* 02C60584 */ cpu->r[8] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02C60588 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[0]);
|
|
/* 02C6058C */ cpu->r[7] = cpu->r[7] + 0x00000004u;
|
|
/* 02C60590 */ _t25 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C60590 */ _t26 = _t25 & 0x00000001u;
|
|
/* 02C60590 */ if (_t26) goto L_02C60594; else goto L_02C605D0;
|
|
L_02C60594: ; // 0x2c60594
|
|
/* 02C60594 */ cpu->r[12] = cpu->r[7] + 0xFFFFFFFFu;
|
|
/* 02C60598 */ cpu->r[10] = cpu->r[9] + 0x00000003u;
|
|
L_02C6059C: ; // 0x2c6059c
|
|
/* 02C6059C */ _t27 = cpu->r[10] + 0x00000001u;
|
|
/* 02C6059C */ cpu->r[7] = rbrew_read8(cpu->mem, _t27);
|
|
/* 02C6059C */ cpu->r[10] = _t27;
|
|
/* 02C605A0 */ _t28 = cpu->r[12] + 0x00000001u;
|
|
/* 02C605A0 */ cpu->r[8] = rbrew_read8(cpu->mem, _t28);
|
|
/* 02C605A0 */ cpu->r[12] = _t28;
|
|
/* 02C605A4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[8]);
|
|
/* 02C605A8 */ _t29 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C605A8 */ _t30 = _t29 & 0x00000001u;
|
|
/* 02C605A8 */ if (_t30) goto L_02C605AC; else goto L_02C605B4;
|
|
L_02C605AC: ; // 0x2c605ac
|
|
/* 02C605AC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], 0x00000000u);
|
|
/* 02C605B0 */ _t31 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C605B0 */ _t32 = _t31 & 0x00000001u;
|
|
/* 02C605B0 */ if (_t32) goto L_02C605B4; else goto L_02C6059C;
|
|
L_02C605B4: ; // 0x2c605b4
|
|
/* 02C605B4 */ cpu->r[9] = cpu->r[7] - cpu->r[8];
|
|
/* 02C605B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 02C605B8 */ _t33 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C605B8 */ _t34 = _t33 & 0x00000001u;
|
|
/* 02C605B8 */ if (_t34) goto L_02C605BC; else goto L_02C605D0;
|
|
L_02C605BC: ; // 0x2c605bc
|
|
/* 02C605BC */ _t35 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C605BC */ cpu->r[0] = rbrew_read32(cpu->mem, _t35);
|
|
/* 02C605C0 */ cpu->lr = cpu->r[0];
|
|
/* 02C605C4 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02C605C8 */ cpu->r[3] = cpu->r[11];
|
|
/* 02C605CC */ return;
|
|
L_02C605D0: ; // 0x2c605d0
|
|
/* 02C605D0 */ _t36 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C605D0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t36);
|
|
/* 02C605D4 */ cpu->lr = cpu->r[0];
|
|
/* 02C605D8 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02C605DC */ cpu->r[3] = 0x00000000u;
|
|
/* 02C605E0 */ return;
|
|
}
|
|
|
|
// fn_02C604F0 @ 0x2c604f0
|
|
void Gambit_fn_02C604F0(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_02C604F0: ; // 0x2c604f0
|
|
/* 02C604F0 */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02C604F0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C604F0 */ cpu->r[1] = _t0;
|
|
/* 02C604F4 */ _t1 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02C604F4 */ cpu->r[10] = rbrew_read16(cpu->mem, _t1);
|
|
/* 02C604F8 */ cpu->r[6] = cpu->r[3] + 0x00000008u;
|
|
/* 02C604FC */ _t2 = cpu->r[3] + 0x00000008u;
|
|
/* 02C604FC */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02C60500 */ cpu->r[9] = rbrew_rlwinm(cpu->r[10], 0x00000004u, 0x00000000u, 0x0000001Bu);
|
|
/* 02C60504 */ cpu->r[7] = cpu->r[4];
|
|
/* 02C60508 */ _t3 = cpu->r[6] + cpu->r[9];
|
|
/* 02C60508 */ cpu->r[4] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02C6050C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[4]);
|
|
/* 02C60510 */ cpu->r[11] = cpu->r[6] + cpu->r[9];
|
|
/* 02C60514 */ _t4 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C60514 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02C60514 */ if (_t5) goto L_02C60518; else goto L_02C60560;
|
|
L_02C60518: ; // 0x2c60518
|
|
/* 02C60518 */ cpu->r[3] = cpu->r[7];
|
|
/* 02C6051C */ Gambit_fn_02C604D8(cpu);
|
|
/* 02C60520 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C60524 */ _t6 = cpu->r[11] + 0x00000000u;
|
|
/* 02C60524 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02C60528 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C60528 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02C60528 */ if (_t8) goto L_02C60548; else goto L_02C6052C;
|
|
L_02C6052C: ; // 0x2c6052c
|
|
/* 02C6052C */ _t9 = cpu->r[11] + 0x00000006u;
|
|
/* 02C6052C */ cpu->r[10] = rbrew_read16(cpu->mem, _t9);
|
|
/* 02C60530 */ cpu->r[10] = rbrew_rlwinm(cpu->r[10], 0x00000004u, 0x00000000u, 0x0000001Bu);
|
|
/* 02C60534 */ _t10 = cpu->r[6] + cpu->r[10];
|
|
/* 02C60534 */ cpu->r[4] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02C60538 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[4]);
|
|
/* 02C6053C */ cpu->r[11] = cpu->r[6] + cpu->r[10];
|
|
/* 02C60540 */ _t11 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C60540 */ _t12 = _t11 & 0x00000001u;
|
|
/* 02C60540 */ if (_t12) goto L_02C60518; else goto L_02C60544;
|
|
L_02C60544: ; // 0x2c60544
|
|
/* 02C60544 */ goto L_02C60560;
|
|
L_02C60548: ; // 0x2c60548
|
|
/* 02C60548 */ _t13 = cpu->r[11] + 0x00000004u;
|
|
/* 02C60548 */ cpu->r[10] = rbrew_read16(cpu->mem, _t13);
|
|
/* 02C6054C */ cpu->r[10] = rbrew_rlwinm(cpu->r[10], 0x00000004u, 0x00000000u, 0x0000001Bu);
|
|
/* 02C60550 */ _t14 = cpu->r[6] + cpu->r[10];
|
|
/* 02C60550 */ cpu->r[4] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02C60554 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[4]);
|
|
/* 02C60558 */ cpu->r[11] = cpu->r[6] + cpu->r[10];
|
|
/* 02C6055C */ _t15 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C6055C */ _t16 = _t15 & 0x00000001u;
|
|
/* 02C6055C */ if (_t16) goto L_02C60518; else goto L_02C60560;
|
|
L_02C60560: ; // 0x2c60560
|
|
/* 02C60560 */ _t17 = cpu->r[11] + 0x00000008u;
|
|
/* 02C60560 */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02C60564 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C60568 */ cpu->r[12] = cpu->r[11] + 0x00000008u;
|
|
/* 02C6056C */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6056C */ _t19 = _t18 & 0x00000001u;
|
|
/* 02C6056C */ if (_t19) goto L_02C605D0; else goto L_02C60570;
|
|
L_02C60570: ; // 0x2c60570
|
|
/* 02C60570 */ cpu->r[12] = cpu->r[12] + cpu->r[0];
|
|
/* 02C60574 */ cpu->r[9] = cpu->r[12] + 0xFFFFFFFCu;
|
|
/* 02C60578 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[7]);
|
|
/* 02C6057C */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6057C */ _t21 = _t20 & 0x00000001u;
|
|
/* 02C6057C */ if (_t21) goto L_02C605BC; else goto L_02C60580;
|
|
L_02C60580: ; // 0x2c60580
|
|
/* 02C60580 */ _t22 = cpu->r[7] + 0x00000000u;
|
|
/* 02C60580 */ cpu->r[0] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02C60584 */ _t23 = cpu->r[9] + 0x00000000u;
|
|
/* 02C60584 */ cpu->r[8] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02C60588 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[0]);
|
|
/* 02C6058C */ cpu->r[7] = cpu->r[7] + 0x00000004u;
|
|
/* 02C60590 */ _t24 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C60590 */ _t25 = _t24 & 0x00000001u;
|
|
/* 02C60590 */ if (_t25) goto L_02C60594; else goto L_02C605D0;
|
|
L_02C60594: ; // 0x2c60594
|
|
/* 02C60594 */ cpu->r[12] = cpu->r[7] + 0xFFFFFFFFu;
|
|
/* 02C60598 */ cpu->r[10] = cpu->r[9] + 0x00000003u;
|
|
L_02C6059C: ; // 0x2c6059c
|
|
/* 02C6059C */ _t26 = cpu->r[10] + 0x00000001u;
|
|
/* 02C6059C */ cpu->r[7] = rbrew_read8(cpu->mem, _t26);
|
|
/* 02C6059C */ cpu->r[10] = _t26;
|
|
/* 02C605A0 */ _t27 = cpu->r[12] + 0x00000001u;
|
|
/* 02C605A0 */ cpu->r[8] = rbrew_read8(cpu->mem, _t27);
|
|
/* 02C605A0 */ cpu->r[12] = _t27;
|
|
/* 02C605A4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[8]);
|
|
/* 02C605A8 */ _t28 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C605A8 */ _t29 = _t28 & 0x00000001u;
|
|
/* 02C605A8 */ if (_t29) goto L_02C605AC; else goto L_02C605B4;
|
|
L_02C605AC: ; // 0x2c605ac
|
|
/* 02C605AC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], 0x00000000u);
|
|
/* 02C605B0 */ _t30 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C605B0 */ _t31 = _t30 & 0x00000001u;
|
|
/* 02C605B0 */ if (_t31) goto L_02C605B4; else goto L_02C6059C;
|
|
L_02C605B4: ; // 0x2c605b4
|
|
/* 02C605B4 */ cpu->r[9] = cpu->r[7] - cpu->r[8];
|
|
/* 02C605B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 02C605B8 */ _t32 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C605B8 */ _t33 = _t32 & 0x00000001u;
|
|
/* 02C605B8 */ if (_t33) goto L_02C605BC; else goto L_02C605D0;
|
|
L_02C605BC: ; // 0x2c605bc
|
|
/* 02C605BC */ _t34 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C605BC */ cpu->r[0] = rbrew_read32(cpu->mem, _t34);
|
|
/* 02C605C0 */ cpu->lr = cpu->r[0];
|
|
/* 02C605C4 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02C605C8 */ cpu->r[3] = cpu->r[11];
|
|
/* 02C605CC */ return;
|
|
L_02C605D0: ; // 0x2c605d0
|
|
/* 02C605D0 */ _t35 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C605D0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t35);
|
|
/* 02C605D4 */ cpu->lr = cpu->r[0];
|
|
/* 02C605D8 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02C605DC */ cpu->r[3] = 0x00000000u;
|
|
/* 02C605E0 */ return;
|
|
}
|
|
|
|
// fn_02C605E4 @ 0x2c605e4
|
|
void Gambit_fn_02C605E4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_02C605E4: ; // 0x2c605e4
|
|
/* 02C605E4 */ cpu->r[0] = cpu->lr;
|
|
/* 02C605E8 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 02C605E8 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 02C605EC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C605F0 */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02C605F0 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 02C605F0 */ cpu->r[1] = _t1;
|
|
/* 02C605F4 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C605F4 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02C605F4 */ if (_t3) goto L_02C60630; else goto L_02C605F8;
|
|
L_02C605F8: ; // 0x2c605f8
|
|
/* 02C605F8 */ Gambit_fn_02C604E8(cpu);
|
|
/* 02C605FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C60600 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C60600 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02C60600 */ if (_t5) goto L_02C60630; else goto L_02C60604;
|
|
L_02C60604: ; // 0x2c60604
|
|
/* 02C60604 */ _t6 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02C60604 */ cpu->r[11] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02C60608 */ cpu->r[0] = 0x00000000u;
|
|
/* 02C6060C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02C60610 */ cpu->r[12] = cpu->r[3] + 0x0000000Cu;
|
|
/* 02C60614 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C60614 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02C60614 */ if (_t8) goto L_02C6061C; else goto L_02C60618;
|
|
L_02C60618: ; // 0x2c60618
|
|
/* 02C60618 */ cpu->r[0] = cpu->r[12] + cpu->r[11];
|
|
L_02C6061C: ; // 0x2c6061c
|
|
/* 02C6061C */ cpu->r[3] = cpu->r[0];
|
|
/* 02C60620 */ _t9 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C60620 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02C60624 */ cpu->lr = cpu->r[0];
|
|
/* 02C60628 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02C6062C */ return;
|
|
L_02C60630: ; // 0x2c60630
|
|
/* 02C60630 */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C60630 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02C60634 */ cpu->lr = cpu->r[0];
|
|
/* 02C60638 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02C6063C */ cpu->r[3] = 0x00000000u;
|
|
/* 02C60640 */ return;
|
|
}
|
|
|
|
// fn_02C605F0 @ 0x2c605f0
|
|
void Gambit_fn_02C605F0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9;
|
|
|
|
L_02C605F0: ; // 0x2c605f0
|
|
/* 02C605F0 */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02C605F0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C605F0 */ cpu->r[1] = _t0;
|
|
/* 02C605F4 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C605F4 */ _t2 = _t1 & 0x00000001u;
|
|
/* 02C605F4 */ if (_t2) goto L_02C60630; else goto L_02C605F8;
|
|
L_02C605F8: ; // 0x2c605f8
|
|
/* 02C605F8 */ Gambit_fn_02C604E8(cpu);
|
|
/* 02C605FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C60600 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C60600 */ _t4 = _t3 & 0x00000001u;
|
|
/* 02C60600 */ if (_t4) goto L_02C60630; else goto L_02C60604;
|
|
L_02C60604: ; // 0x2c60604
|
|
/* 02C60604 */ _t5 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02C60604 */ cpu->r[11] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02C60608 */ cpu->r[0] = 0x00000000u;
|
|
/* 02C6060C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02C60610 */ cpu->r[12] = cpu->r[3] + 0x0000000Cu;
|
|
/* 02C60614 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C60614 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02C60614 */ if (_t7) goto L_02C6061C; else goto L_02C60618;
|
|
L_02C60618: ; // 0x2c60618
|
|
/* 02C60618 */ cpu->r[0] = cpu->r[12] + cpu->r[11];
|
|
L_02C6061C: ; // 0x2c6061c
|
|
/* 02C6061C */ cpu->r[3] = cpu->r[0];
|
|
/* 02C60620 */ _t8 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C60620 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C60624 */ cpu->lr = cpu->r[0];
|
|
/* 02C60628 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02C6062C */ return;
|
|
L_02C60630: ; // 0x2c60630
|
|
/* 02C60630 */ _t9 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C60630 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02C60634 */ cpu->lr = cpu->r[0];
|
|
/* 02C60638 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02C6063C */ cpu->r[3] = 0x00000000u;
|
|
/* 02C60640 */ return;
|
|
}
|
|
|
|
// fn_02C60644 @ 0x2c60644
|
|
void Gambit_fn_02C60644(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
|
|
|
|
L_02C60644: ; // 0x2c60644
|
|
/* 02C60644 */ cpu->r[0] = cpu->lr;
|
|
/* 02C60648 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C60648 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C60648 */ cpu->r[1] = _t0;
|
|
/* 02C6064C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C6064C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02C60650 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C60650 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02C60654 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02C60654 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02C60658 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C60658 */ _t4 = _t3 & 0x00000001u;
|
|
/* 02C60658 */ if (_t4) goto L_02C606A0; else goto L_02C6065C;
|
|
L_02C6065C: ; // 0x2c6065c
|
|
/* 02C6065C */ cpu->r[12] = cpu->r[4] + 0xFFFFFFFFu;
|
|
L_02C60660: ; // 0x2c60660
|
|
/* 02C60660 */ _t5 = cpu->r[12] + 0x00000001u;
|
|
/* 02C60660 */ cpu->r[0] = rbrew_read8(cpu->mem, _t5);
|
|
/* 02C60660 */ cpu->r[12] = _t5;
|
|
/* 02C60664 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C60668 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C60668 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02C60668 */ if (_t7) goto L_02C6066C; else goto L_02C60660;
|
|
L_02C6066C: ; // 0x2c6066c
|
|
/* 02C6066C */ cpu->r[5] = cpu->r[12] - cpu->r[4];
|
|
/* 02C60670 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C60674 */ Gambit_fn_02C60384(cpu);
|
|
/* 02C60678 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C6067C */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6067C */ _t9 = _t8 & 0x00000001u;
|
|
/* 02C6067C */ if (_t9) goto L_02C606A0; else goto L_02C60680;
|
|
L_02C60680: ; // 0x2c60680
|
|
/* 02C60680 */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02C60680 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02C60684 */ cpu->r[10] = cpu->r[31] + 0x00000018u;
|
|
/* 02C60688 */ cpu->lr = cpu->r[0];
|
|
/* 02C6068C */ cpu->r[11] = cpu->r[3] - cpu->r[10];
|
|
/* 02C60690 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C60690 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02C60694 */ /* nop */
|
|
/* 02C60698 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C6069C */ return;
|
|
L_02C606A0: ; // 0x2c606a0
|
|
/* 02C606A0 */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 02C606A0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02C606A4 */ _t13 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C606A4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02C606A8 */ cpu->lr = cpu->r[0];
|
|
/* 02C606AC */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C606B0 */ cpu->r[3] = 0xFFFFFFFFu;
|
|
/* 02C606B4 */ return;
|
|
}
|
|
|
|
// fn_02C60648 @ 0x2c60648
|
|
void Gambit_fn_02C60648(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
|
|
|
|
L_02C60648: ; // 0x2c60648
|
|
/* 02C60648 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C60648 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C60648 */ cpu->r[1] = _t0;
|
|
/* 02C6064C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C6064C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02C60650 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C60650 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02C60654 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02C60654 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02C60658 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C60658 */ _t4 = _t3 & 0x00000001u;
|
|
/* 02C60658 */ if (_t4) goto L_02C606A0; else goto L_02C6065C;
|
|
L_02C6065C: ; // 0x2c6065c
|
|
/* 02C6065C */ cpu->r[12] = cpu->r[4] + 0xFFFFFFFFu;
|
|
L_02C60660: ; // 0x2c60660
|
|
/* 02C60660 */ _t5 = cpu->r[12] + 0x00000001u;
|
|
/* 02C60660 */ cpu->r[0] = rbrew_read8(cpu->mem, _t5);
|
|
/* 02C60660 */ cpu->r[12] = _t5;
|
|
/* 02C60664 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C60668 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C60668 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02C60668 */ if (_t7) goto L_02C6066C; else goto L_02C60660;
|
|
L_02C6066C: ; // 0x2c6066c
|
|
/* 02C6066C */ cpu->r[5] = cpu->r[12] - cpu->r[4];
|
|
/* 02C60670 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C60674 */ Gambit_fn_02C60384(cpu);
|
|
/* 02C60678 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C6067C */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6067C */ _t9 = _t8 & 0x00000001u;
|
|
/* 02C6067C */ if (_t9) goto L_02C606A0; else goto L_02C60680;
|
|
L_02C60680: ; // 0x2c60680
|
|
/* 02C60680 */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02C60680 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02C60684 */ cpu->r[10] = cpu->r[31] + 0x00000018u;
|
|
/* 02C60688 */ cpu->lr = cpu->r[0];
|
|
/* 02C6068C */ cpu->r[11] = cpu->r[3] - cpu->r[10];
|
|
/* 02C60690 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C60690 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02C60694 */ /* nop */
|
|
/* 02C60698 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C6069C */ return;
|
|
L_02C606A0: ; // 0x2c606a0
|
|
/* 02C606A0 */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 02C606A0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02C606A4 */ _t13 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C606A4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02C606A8 */ cpu->lr = cpu->r[0];
|
|
/* 02C606AC */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C606B0 */ cpu->r[3] = 0xFFFFFFFFu;
|
|
/* 02C606B4 */ return;
|
|
}
|
|
|
|
// fn_02C606B8 @ 0x2c606b8
|
|
void Gambit_fn_02C606B8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_02C606B8: ; // 0x2c606b8
|
|
/* 02C606B8 */ cpu->r[0] = cpu->lr;
|
|
/* 02C606BC */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C606BC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C606BC */ cpu->r[1] = _t0;
|
|
/* 02C606C0 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C606C0 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02C606C4 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C606C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02C606C8 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02C606C8 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02C606CC */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C606CC */ _t4 = _t3 & 0x00000001u;
|
|
/* 02C606CC */ if (_t4) goto L_02C60700; else goto L_02C606D0;
|
|
L_02C606D0: ; // 0x2c606d0
|
|
/* 02C606D0 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C606D4 */ Gambit_fn_02C604E8(cpu);
|
|
/* 02C606D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C606DC */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C606DC */ _t6 = _t5 & 0x00000001u;
|
|
/* 02C606DC */ if (_t6) goto L_02C60700; else goto L_02C606E0;
|
|
L_02C606E0: ; // 0x2c606e0
|
|
/* 02C606E0 */ cpu->r[12] = cpu->r[31] + 0x00000018u;
|
|
/* 02C606E4 */ cpu->r[0] = cpu->r[3] - cpu->r[12];
|
|
/* 02C606E8 */ /* nop */
|
|
/* 02C606EC */ _t7 = cpu->r[1] + 0x00000014u;
|
|
/* 02C606EC */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02C606F0 */ _t8 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C606F0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C606F4 */ cpu->lr = cpu->r[0];
|
|
/* 02C606F8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C606FC */ return;
|
|
L_02C60700: ; // 0x2c60700
|
|
/* 02C60700 */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 02C60700 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02C60704 */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C60704 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02C60708 */ cpu->lr = cpu->r[0];
|
|
/* 02C6070C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C60710 */ cpu->r[3] = 0xFFFFFFFFu;
|
|
/* 02C60714 */ return;
|
|
}
|
|
|
|
// fn_02C606BC @ 0x2c606bc
|
|
void Gambit_fn_02C606BC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_02C606BC: ; // 0x2c606bc
|
|
/* 02C606BC */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C606BC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C606BC */ cpu->r[1] = _t0;
|
|
/* 02C606C0 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C606C0 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02C606C4 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C606C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02C606C8 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02C606C8 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02C606CC */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C606CC */ _t4 = _t3 & 0x00000001u;
|
|
/* 02C606CC */ if (_t4) goto L_02C60700; else goto L_02C606D0;
|
|
L_02C606D0: ; // 0x2c606d0
|
|
/* 02C606D0 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C606D4 */ Gambit_fn_02C604E8(cpu);
|
|
/* 02C606D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C606DC */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C606DC */ _t6 = _t5 & 0x00000001u;
|
|
/* 02C606DC */ if (_t6) goto L_02C60700; else goto L_02C606E0;
|
|
L_02C606E0: ; // 0x2c606e0
|
|
/* 02C606E0 */ cpu->r[12] = cpu->r[31] + 0x00000018u;
|
|
/* 02C606E4 */ cpu->r[0] = cpu->r[3] - cpu->r[12];
|
|
/* 02C606E8 */ /* nop */
|
|
/* 02C606EC */ _t7 = cpu->r[1] + 0x00000014u;
|
|
/* 02C606EC */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02C606F0 */ _t8 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C606F0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C606F4 */ cpu->lr = cpu->r[0];
|
|
/* 02C606F8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C606FC */ return;
|
|
L_02C60700: ; // 0x2c60700
|
|
/* 02C60700 */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 02C60700 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02C60704 */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C60704 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02C60708 */ cpu->lr = cpu->r[0];
|
|
/* 02C6070C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C60710 */ cpu->r[3] = 0xFFFFFFFFu;
|
|
/* 02C60714 */ return;
|
|
}
|
|
|
|
// fn_02C60718 @ 0x2c60718
|
|
void Gambit_fn_02C60718(CPUState* cpu) {
|
|
L_02C60718: ; // 0x2c60718
|
|
/* 02C60718 */ return;
|
|
}
|
|
|
|
// fn_02C6071C @ 0x2c6071c
|
|
void Gambit_fn_02C6071C(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_02C6071C: ; // 0x2c6071c
|
|
/* 02C6071C */ cpu->r[0] = cpu->lr;
|
|
/* 02C60720 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02C60720 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C60720 */ cpu->r[1] = _t0;
|
|
/* 02C60724 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C60724 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
|
|
/* 02C60728 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02C60728 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02C6072C */ _t3 = cpu->r[1] + 0x00000010u;
|
|
/* 02C6072C */ rbrew_write32(cpu->mem, _t3, cpu->r[30]);
|
|
/* 02C60730 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C60734 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C60734 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02C60738 */ _t5 = cpu->r[31] + 0x00000050u;
|
|
/* 02C60738 */ cpu->r[29] = rbrew_read16(cpu->mem, _t5);
|
|
/* 02C6073C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 02C60740 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C60740 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02C60740 */ if (_t7) goto L_02C60790; else goto L_02C60744;
|
|
L_02C60744: ; // 0x2c60744
|
|
/* 02C60744 */ cpu->r[30] = 0x00000000u;
|
|
L_02C60748: ; // 0x2c60748
|
|
/* 02C60748 */ _t8 = cpu->r[31] + 0x00000020u;
|
|
/* 02C60748 */ cpu->r[10] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C6074C */ cpu->r[12] = 0x00000000u;
|
|
/* 02C60750 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02C60754 */ cpu->r[11] = cpu->r[31] + 0x00000020u;
|
|
/* 02C60758 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C60758 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02C60758 */ if (_t10) goto L_02C60760; else goto L_02C6075C;
|
|
L_02C6075C: ; // 0x2c6075c
|
|
/* 02C6075C */ cpu->r[12] = cpu->r[11] + cpu->r[10];
|
|
L_02C60760: ; // 0x2c60760
|
|
/* 02C60760 */ cpu->r[11] = cpu->r[12] + 0x00000008u;
|
|
/* 02C60764 */ cpu->r[12] = cpu->r[11] + cpu->r[30];
|
|
/* 02C60768 */ _t11 = cpu->r[12] + 0x0000001Cu;
|
|
/* 02C60768 */ cpu->r[11] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02C6076C */ cpu->r[3] = 0x00000000u;
|
|
/* 02C60770 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02C60774 */ cpu->r[10] = cpu->r[12] + 0x0000001Cu;
|
|
/* 02C60778 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C60778 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02C60778 */ if (_t13) goto L_02C60780; else goto L_02C6077C;
|
|
L_02C6077C: ; // 0x2c6077c
|
|
/* 02C6077C */ cpu->r[3] = cpu->r[10] + cpu->r[11];
|
|
L_02C60780: ; // 0x2c60780
|
|
/* 02C60780 */ Gambit_fn_02C61CF0(cpu);
|
|
/* 02C60784 */ cpu->r[29] = cpu->r[29] + 0xFFFFFFFFu;
|
|
/* 02C60784 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 02C60788 */ cpu->r[30] = cpu->r[30] + 0x00000010u;
|
|
/* 02C6078C */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6078C */ _t15 = _t14 & 0x00000001u;
|
|
/* 02C6078C */ if (_t15) goto L_02C60790; else goto L_02C60748;
|
|
L_02C60790: ; // 0x2c60790
|
|
/* 02C60790 */ _t16 = cpu->r[31] + 0x00000052u;
|
|
/* 02C60790 */ cpu->r[29] = rbrew_read16(cpu->mem, _t16);
|
|
/* 02C60794 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 02C60798 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C60798 */ _t18 = _t17 & 0x00000001u;
|
|
/* 02C60798 */ if (_t18) goto L_02C607E4; else goto L_02C6079C;
|
|
L_02C6079C: ; // 0x2c6079c
|
|
/* 02C6079C */ cpu->r[30] = 0x00000000u;
|
|
L_02C607A0: ; // 0x2c607a0
|
|
/* 02C607A0 */ _t19 = cpu->r[31] + 0x00000024u;
|
|
/* 02C607A0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02C607A4 */ cpu->r[11] = 0x00000000u;
|
|
/* 02C607A8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C607AC */ cpu->r[9] = cpu->r[31] + 0x00000024u;
|
|
/* 02C607B0 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C607B0 */ _t21 = _t20 & 0x00000001u;
|
|
/* 02C607B0 */ if (_t21) goto L_02C607B8; else goto L_02C607B4;
|
|
L_02C607B4: ; // 0x2c607b4
|
|
/* 02C607B4 */ cpu->r[11] = cpu->r[9] + cpu->r[0];
|
|
L_02C607B8: ; // 0x2c607b8
|
|
/* 02C607B8 */ cpu->r[10] = cpu->r[11] + cpu->r[30];
|
|
/* 02C607BC */ _t22 = cpu->r[10] + 0x00000024u;
|
|
/* 02C607BC */ cpu->r[0] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02C607C0 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C607C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C607C8 */ cpu->r[12] = cpu->r[10] + 0x00000024u;
|
|
/* 02C607CC */ _t23 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C607CC */ _t24 = _t23 & 0x00000001u;
|
|
/* 02C607CC */ if (_t24) goto L_02C607D4; else goto L_02C607D0;
|
|
L_02C607D0: ; // 0x2c607d0
|
|
/* 02C607D0 */ cpu->r[3] = cpu->r[12] + cpu->r[0];
|
|
L_02C607D4: ; // 0x2c607d4
|
|
/* 02C607D4 */ Gambit_fn_02C64E58(cpu);
|
|
/* 02C607D8 */ cpu->r[29] = cpu->r[29] + 0xFFFFFFFFu;
|
|
/* 02C607D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 02C607DC */ cpu->r[30] = cpu->r[30] + 0x00000010u;
|
|
/* 02C607E0 */ _t25 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C607E0 */ _t26 = _t25 & 0x00000001u;
|
|
/* 02C607E0 */ if (_t26) goto L_02C607E4; else goto L_02C607A0;
|
|
L_02C607E4: ; // 0x2c607e4
|
|
/* 02C607E4 */ _t27 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C607E4 */ cpu->r[29] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02C607E8 */ _t28 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C607E8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02C607EC */ _t29 = cpu->r[1] + 0x00000010u;
|
|
/* 02C607EC */ cpu->r[30] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02C607F0 */ cpu->lr = cpu->r[0];
|
|
/* 02C607F4 */ _t30 = cpu->r[1] + 0x00000014u;
|
|
/* 02C607F4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02C607F8 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C607FC */ return;
|
|
}
|
|
|
|
// fn_02C60720 @ 0x2c60720
|
|
void Gambit_fn_02C60720(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_02C60720: ; // 0x2c60720
|
|
/* 02C60720 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02C60720 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C60720 */ cpu->r[1] = _t0;
|
|
/* 02C60724 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C60724 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
|
|
/* 02C60728 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02C60728 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02C6072C */ _t3 = cpu->r[1] + 0x00000010u;
|
|
/* 02C6072C */ rbrew_write32(cpu->mem, _t3, cpu->r[30]);
|
|
/* 02C60730 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C60734 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C60734 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02C60738 */ _t5 = cpu->r[31] + 0x00000050u;
|
|
/* 02C60738 */ cpu->r[29] = rbrew_read16(cpu->mem, _t5);
|
|
/* 02C6073C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 02C60740 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C60740 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02C60740 */ if (_t7) goto L_02C60790; else goto L_02C60744;
|
|
L_02C60744: ; // 0x2c60744
|
|
/* 02C60744 */ cpu->r[30] = 0x00000000u;
|
|
L_02C60748: ; // 0x2c60748
|
|
/* 02C60748 */ _t8 = cpu->r[31] + 0x00000020u;
|
|
/* 02C60748 */ cpu->r[10] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C6074C */ cpu->r[12] = 0x00000000u;
|
|
/* 02C60750 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02C60754 */ cpu->r[11] = cpu->r[31] + 0x00000020u;
|
|
/* 02C60758 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C60758 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02C60758 */ if (_t10) goto L_02C60760; else goto L_02C6075C;
|
|
L_02C6075C: ; // 0x2c6075c
|
|
/* 02C6075C */ cpu->r[12] = cpu->r[11] + cpu->r[10];
|
|
L_02C60760: ; // 0x2c60760
|
|
/* 02C60760 */ cpu->r[11] = cpu->r[12] + 0x00000008u;
|
|
/* 02C60764 */ cpu->r[12] = cpu->r[11] + cpu->r[30];
|
|
/* 02C60768 */ _t11 = cpu->r[12] + 0x0000001Cu;
|
|
/* 02C60768 */ cpu->r[11] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02C6076C */ cpu->r[3] = 0x00000000u;
|
|
/* 02C60770 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02C60774 */ cpu->r[10] = cpu->r[12] + 0x0000001Cu;
|
|
/* 02C60778 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C60778 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02C60778 */ if (_t13) goto L_02C60780; else goto L_02C6077C;
|
|
L_02C6077C: ; // 0x2c6077c
|
|
/* 02C6077C */ cpu->r[3] = cpu->r[10] + cpu->r[11];
|
|
L_02C60780: ; // 0x2c60780
|
|
/* 02C60780 */ Gambit_fn_02C61CF0(cpu);
|
|
/* 02C60784 */ cpu->r[29] = cpu->r[29] + 0xFFFFFFFFu;
|
|
/* 02C60784 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 02C60788 */ cpu->r[30] = cpu->r[30] + 0x00000010u;
|
|
/* 02C6078C */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6078C */ _t15 = _t14 & 0x00000001u;
|
|
/* 02C6078C */ if (_t15) goto L_02C60790; else goto L_02C60748;
|
|
L_02C60790: ; // 0x2c60790
|
|
/* 02C60790 */ _t16 = cpu->r[31] + 0x00000052u;
|
|
/* 02C60790 */ cpu->r[29] = rbrew_read16(cpu->mem, _t16);
|
|
/* 02C60794 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 02C60798 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C60798 */ _t18 = _t17 & 0x00000001u;
|
|
/* 02C60798 */ if (_t18) goto L_02C607E4; else goto L_02C6079C;
|
|
L_02C6079C: ; // 0x2c6079c
|
|
/* 02C6079C */ cpu->r[30] = 0x00000000u;
|
|
L_02C607A0: ; // 0x2c607a0
|
|
/* 02C607A0 */ _t19 = cpu->r[31] + 0x00000024u;
|
|
/* 02C607A0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02C607A4 */ cpu->r[11] = 0x00000000u;
|
|
/* 02C607A8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C607AC */ cpu->r[9] = cpu->r[31] + 0x00000024u;
|
|
/* 02C607B0 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C607B0 */ _t21 = _t20 & 0x00000001u;
|
|
/* 02C607B0 */ if (_t21) goto L_02C607B8; else goto L_02C607B4;
|
|
L_02C607B4: ; // 0x2c607b4
|
|
/* 02C607B4 */ cpu->r[11] = cpu->r[9] + cpu->r[0];
|
|
L_02C607B8: ; // 0x2c607b8
|
|
/* 02C607B8 */ cpu->r[10] = cpu->r[11] + cpu->r[30];
|
|
/* 02C607BC */ _t22 = cpu->r[10] + 0x00000024u;
|
|
/* 02C607BC */ cpu->r[0] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02C607C0 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C607C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C607C8 */ cpu->r[12] = cpu->r[10] + 0x00000024u;
|
|
/* 02C607CC */ _t23 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C607CC */ _t24 = _t23 & 0x00000001u;
|
|
/* 02C607CC */ if (_t24) goto L_02C607D4; else goto L_02C607D0;
|
|
L_02C607D0: ; // 0x2c607d0
|
|
/* 02C607D0 */ cpu->r[3] = cpu->r[12] + cpu->r[0];
|
|
L_02C607D4: ; // 0x2c607d4
|
|
/* 02C607D4 */ Gambit_fn_02C64E58(cpu);
|
|
/* 02C607D8 */ cpu->r[29] = cpu->r[29] + 0xFFFFFFFFu;
|
|
/* 02C607D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 02C607DC */ cpu->r[30] = cpu->r[30] + 0x00000010u;
|
|
/* 02C607E0 */ _t25 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C607E0 */ _t26 = _t25 & 0x00000001u;
|
|
/* 02C607E0 */ if (_t26) goto L_02C607E4; else goto L_02C607A0;
|
|
L_02C607E4: ; // 0x2c607e4
|
|
/* 02C607E4 */ _t27 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C607E4 */ cpu->r[29] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02C607E8 */ _t28 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C607E8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02C607EC */ _t29 = cpu->r[1] + 0x00000010u;
|
|
/* 02C607EC */ cpu->r[30] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02C607F0 */ cpu->lr = cpu->r[0];
|
|
/* 02C607F4 */ _t30 = cpu->r[1] + 0x00000014u;
|
|
/* 02C607F4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02C607F8 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C607FC */ return;
|
|
}
|
|
|
|
// fn_02C60800 @ 0x2c60800
|
|
void Gambit_fn_02C60800(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_02C60800: ; // 0x2c60800
|
|
/* 02C60800 */ cpu->r[0] = cpu->lr;
|
|
/* 02C60804 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02C60804 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C60804 */ cpu->r[1] = _t0;
|
|
/* 02C60808 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C60808 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
|
|
/* 02C6080C */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02C6080C */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02C60810 */ _t3 = cpu->r[1] + 0x00000010u;
|
|
/* 02C60810 */ rbrew_write32(cpu->mem, _t3, cpu->r[30]);
|
|
/* 02C60814 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C60818 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C60818 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02C6081C */ _t5 = cpu->r[31] + 0x00000050u;
|
|
/* 02C6081C */ cpu->r[29] = rbrew_read16(cpu->mem, _t5);
|
|
/* 02C60820 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 02C60824 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C60824 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02C60824 */ if (_t7) goto L_02C60874; else goto L_02C60828;
|
|
L_02C60828: ; // 0x2c60828
|
|
/* 02C60828 */ cpu->r[30] = 0x00000000u;
|
|
L_02C6082C: ; // 0x2c6082c
|
|
/* 02C6082C */ _t8 = cpu->r[31] + 0x00000020u;
|
|
/* 02C6082C */ cpu->r[10] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C60830 */ cpu->r[12] = 0x00000000u;
|
|
/* 02C60834 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02C60838 */ cpu->r[11] = cpu->r[31] + 0x00000020u;
|
|
/* 02C6083C */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6083C */ _t10 = _t9 & 0x00000001u;
|
|
/* 02C6083C */ if (_t10) goto L_02C60844; else goto L_02C60840;
|
|
L_02C60840: ; // 0x2c60840
|
|
/* 02C60840 */ cpu->r[12] = cpu->r[11] + cpu->r[10];
|
|
L_02C60844: ; // 0x2c60844
|
|
/* 02C60844 */ cpu->r[11] = cpu->r[12] + 0x00000008u;
|
|
/* 02C60848 */ cpu->r[12] = cpu->r[11] + cpu->r[30];
|
|
/* 02C6084C */ _t11 = cpu->r[12] + 0x0000001Cu;
|
|
/* 02C6084C */ cpu->r[11] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02C60850 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C60854 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02C60858 */ cpu->r[10] = cpu->r[12] + 0x0000001Cu;
|
|
/* 02C6085C */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6085C */ _t13 = _t12 & 0x00000001u;
|
|
/* 02C6085C */ if (_t13) goto L_02C60864; else goto L_02C60860;
|
|
L_02C60860: ; // 0x2c60860
|
|
/* 02C60860 */ cpu->r[3] = cpu->r[10] + cpu->r[11];
|
|
L_02C60864: ; // 0x2c60864
|
|
/* 02C60864 */ Gambit_fn_02C61E14(cpu);
|
|
/* 02C60868 */ cpu->r[29] = cpu->r[29] + 0xFFFFFFFFu;
|
|
/* 02C60868 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 02C6086C */ cpu->r[30] = cpu->r[30] + 0x00000010u;
|
|
/* 02C60870 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C60870 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02C60870 */ if (_t15) goto L_02C60874; else goto L_02C6082C;
|
|
L_02C60874: ; // 0x2c60874
|
|
/* 02C60874 */ _t16 = cpu->r[31] + 0x00000052u;
|
|
/* 02C60874 */ cpu->r[29] = rbrew_read16(cpu->mem, _t16);
|
|
/* 02C60878 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 02C6087C */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6087C */ _t18 = _t17 & 0x00000001u;
|
|
/* 02C6087C */ if (_t18) goto L_02C608C8; else goto L_02C60880;
|
|
L_02C60880: ; // 0x2c60880
|
|
/* 02C60880 */ cpu->r[30] = 0x00000000u;
|
|
L_02C60884: ; // 0x2c60884
|
|
/* 02C60884 */ _t19 = cpu->r[31] + 0x00000024u;
|
|
/* 02C60884 */ cpu->r[0] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02C60888 */ cpu->r[11] = 0x00000000u;
|
|
/* 02C6088C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C60890 */ cpu->r[9] = cpu->r[31] + 0x00000024u;
|
|
/* 02C60894 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C60894 */ _t21 = _t20 & 0x00000001u;
|
|
/* 02C60894 */ if (_t21) goto L_02C6089C; else goto L_02C60898;
|
|
L_02C60898: ; // 0x2c60898
|
|
/* 02C60898 */ cpu->r[11] = cpu->r[9] + cpu->r[0];
|
|
L_02C6089C: ; // 0x2c6089c
|
|
/* 02C6089C */ cpu->r[10] = cpu->r[11] + cpu->r[30];
|
|
/* 02C608A0 */ _t22 = cpu->r[10] + 0x00000024u;
|
|
/* 02C608A0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02C608A4 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C608A8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C608AC */ cpu->r[12] = cpu->r[10] + 0x00000024u;
|
|
/* 02C608B0 */ _t23 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C608B0 */ _t24 = _t23 & 0x00000001u;
|
|
/* 02C608B0 */ if (_t24) goto L_02C608B8; else goto L_02C608B4;
|
|
L_02C608B4: ; // 0x2c608b4
|
|
/* 02C608B4 */ cpu->r[3] = cpu->r[12] + cpu->r[0];
|
|
L_02C608B8: ; // 0x2c608b8
|
|
/* 02C608B8 */ Gambit_fn_02C64EC8(cpu);
|
|
/* 02C608BC */ cpu->r[29] = cpu->r[29] + 0xFFFFFFFFu;
|
|
/* 02C608BC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 02C608C0 */ cpu->r[30] = cpu->r[30] + 0x00000010u;
|
|
/* 02C608C4 */ _t25 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C608C4 */ _t26 = _t25 & 0x00000001u;
|
|
/* 02C608C4 */ if (_t26) goto L_02C608C8; else goto L_02C60884;
|
|
L_02C608C8: ; // 0x2c608c8
|
|
/* 02C608C8 */ _t27 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C608C8 */ cpu->r[29] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02C608CC */ _t28 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C608CC */ cpu->r[0] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02C608D0 */ _t29 = cpu->r[1] + 0x00000010u;
|
|
/* 02C608D0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02C608D4 */ cpu->lr = cpu->r[0];
|
|
/* 02C608D8 */ _t30 = cpu->r[1] + 0x00000014u;
|
|
/* 02C608D8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02C608DC */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C608E0 */ return;
|
|
}
|
|
|
|
// fn_02C60804 @ 0x2c60804
|
|
void Gambit_fn_02C60804(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_02C60804: ; // 0x2c60804
|
|
/* 02C60804 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02C60804 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C60804 */ cpu->r[1] = _t0;
|
|
/* 02C60808 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C60808 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
|
|
/* 02C6080C */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02C6080C */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02C60810 */ _t3 = cpu->r[1] + 0x00000010u;
|
|
/* 02C60810 */ rbrew_write32(cpu->mem, _t3, cpu->r[30]);
|
|
/* 02C60814 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C60818 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C60818 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02C6081C */ _t5 = cpu->r[31] + 0x00000050u;
|
|
/* 02C6081C */ cpu->r[29] = rbrew_read16(cpu->mem, _t5);
|
|
/* 02C60820 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 02C60824 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C60824 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02C60824 */ if (_t7) goto L_02C60874; else goto L_02C60828;
|
|
L_02C60828: ; // 0x2c60828
|
|
/* 02C60828 */ cpu->r[30] = 0x00000000u;
|
|
L_02C6082C: ; // 0x2c6082c
|
|
/* 02C6082C */ _t8 = cpu->r[31] + 0x00000020u;
|
|
/* 02C6082C */ cpu->r[10] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C60830 */ cpu->r[12] = 0x00000000u;
|
|
/* 02C60834 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02C60838 */ cpu->r[11] = cpu->r[31] + 0x00000020u;
|
|
/* 02C6083C */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6083C */ _t10 = _t9 & 0x00000001u;
|
|
/* 02C6083C */ if (_t10) goto L_02C60844; else goto L_02C60840;
|
|
L_02C60840: ; // 0x2c60840
|
|
/* 02C60840 */ cpu->r[12] = cpu->r[11] + cpu->r[10];
|
|
L_02C60844: ; // 0x2c60844
|
|
/* 02C60844 */ cpu->r[11] = cpu->r[12] + 0x00000008u;
|
|
/* 02C60848 */ cpu->r[12] = cpu->r[11] + cpu->r[30];
|
|
/* 02C6084C */ _t11 = cpu->r[12] + 0x0000001Cu;
|
|
/* 02C6084C */ cpu->r[11] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02C60850 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C60854 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02C60858 */ cpu->r[10] = cpu->r[12] + 0x0000001Cu;
|
|
/* 02C6085C */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6085C */ _t13 = _t12 & 0x00000001u;
|
|
/* 02C6085C */ if (_t13) goto L_02C60864; else goto L_02C60860;
|
|
L_02C60860: ; // 0x2c60860
|
|
/* 02C60860 */ cpu->r[3] = cpu->r[10] + cpu->r[11];
|
|
L_02C60864: ; // 0x2c60864
|
|
/* 02C60864 */ Gambit_fn_02C61E14(cpu);
|
|
/* 02C60868 */ cpu->r[29] = cpu->r[29] + 0xFFFFFFFFu;
|
|
/* 02C60868 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 02C6086C */ cpu->r[30] = cpu->r[30] + 0x00000010u;
|
|
/* 02C60870 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C60870 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02C60870 */ if (_t15) goto L_02C60874; else goto L_02C6082C;
|
|
L_02C60874: ; // 0x2c60874
|
|
/* 02C60874 */ _t16 = cpu->r[31] + 0x00000052u;
|
|
/* 02C60874 */ cpu->r[29] = rbrew_read16(cpu->mem, _t16);
|
|
/* 02C60878 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 02C6087C */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6087C */ _t18 = _t17 & 0x00000001u;
|
|
/* 02C6087C */ if (_t18) goto L_02C608C8; else goto L_02C60880;
|
|
L_02C60880: ; // 0x2c60880
|
|
/* 02C60880 */ cpu->r[30] = 0x00000000u;
|
|
L_02C60884: ; // 0x2c60884
|
|
/* 02C60884 */ _t19 = cpu->r[31] + 0x00000024u;
|
|
/* 02C60884 */ cpu->r[0] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02C60888 */ cpu->r[11] = 0x00000000u;
|
|
/* 02C6088C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C60890 */ cpu->r[9] = cpu->r[31] + 0x00000024u;
|
|
/* 02C60894 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C60894 */ _t21 = _t20 & 0x00000001u;
|
|
/* 02C60894 */ if (_t21) goto L_02C6089C; else goto L_02C60898;
|
|
L_02C60898: ; // 0x2c60898
|
|
/* 02C60898 */ cpu->r[11] = cpu->r[9] + cpu->r[0];
|
|
L_02C6089C: ; // 0x2c6089c
|
|
/* 02C6089C */ cpu->r[10] = cpu->r[11] + cpu->r[30];
|
|
/* 02C608A0 */ _t22 = cpu->r[10] + 0x00000024u;
|
|
/* 02C608A0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02C608A4 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C608A8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C608AC */ cpu->r[12] = cpu->r[10] + 0x00000024u;
|
|
/* 02C608B0 */ _t23 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C608B0 */ _t24 = _t23 & 0x00000001u;
|
|
/* 02C608B0 */ if (_t24) goto L_02C608B8; else goto L_02C608B4;
|
|
L_02C608B4: ; // 0x2c608b4
|
|
/* 02C608B4 */ cpu->r[3] = cpu->r[12] + cpu->r[0];
|
|
L_02C608B8: ; // 0x2c608b8
|
|
/* 02C608B8 */ Gambit_fn_02C64EC8(cpu);
|
|
/* 02C608BC */ cpu->r[29] = cpu->r[29] + 0xFFFFFFFFu;
|
|
/* 02C608BC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 02C608C0 */ cpu->r[30] = cpu->r[30] + 0x00000010u;
|
|
/* 02C608C4 */ _t25 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C608C4 */ _t26 = _t25 & 0x00000001u;
|
|
/* 02C608C4 */ if (_t26) goto L_02C608C8; else goto L_02C60884;
|
|
L_02C608C8: ; // 0x2c608c8
|
|
/* 02C608C8 */ _t27 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C608C8 */ cpu->r[29] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02C608CC */ _t28 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C608CC */ cpu->r[0] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02C608D0 */ _t29 = cpu->r[1] + 0x00000010u;
|
|
/* 02C608D0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02C608D4 */ cpu->lr = cpu->r[0];
|
|
/* 02C608D8 */ _t30 = cpu->r[1] + 0x00000014u;
|
|
/* 02C608D8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02C608DC */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C608E0 */ return;
|
|
}
|
|
|
|
// fn_02C608E4 @ 0x2c608e4
|
|
void Gambit_fn_02C608E4(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;
|
|
|
|
L_02C608E4: ; // 0x2c608e4
|
|
/* 02C608E4 */ cpu->r[0] = cpu->lr;
|
|
/* 02C608E8 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02C608E8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C608E8 */ cpu->r[1] = _t0;
|
|
/* 02C608EC */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C608EC */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
|
|
/* 02C608F0 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02C608F0 */ rbrew_write32(cpu->mem, _t2, cpu->r[28]);
|
|
/* 02C608F4 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02C608F4 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 02C608F8 */ _t4 = cpu->r[1] + 0x00000010u;
|
|
/* 02C608F8 */ rbrew_write32(cpu->mem, _t4, cpu->r[30]);
|
|
/* 02C608FC */ cpu->r[31] = cpu->r[3];
|
|
/* 02C60900 */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C60900 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02C60904 */ _t6 = cpu->r[31] + 0x00000050u;
|
|
/* 02C60904 */ cpu->r[29] = rbrew_read16(cpu->mem, _t6);
|
|
/* 02C60908 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 02C6090C */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6090C */ _t8 = _t7 & 0x00000001u;
|
|
/* 02C6090C */ if (_t8) goto L_02C60958; else goto L_02C60910;
|
|
L_02C60910: ; // 0x2c60910
|
|
/* 02C60910 */ cpu->r[30] = 0x00000000u;
|
|
L_02C60914: ; // 0x2c60914
|
|
/* 02C60914 */ _t9 = cpu->r[31] + 0x00000020u;
|
|
/* 02C60914 */ cpu->r[5] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02C60918 */ cpu->r[7] = 0x00000000u;
|
|
/* 02C6091C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u);
|
|
/* 02C60920 */ cpu->r[10] = cpu->r[31] + 0x00000020u;
|
|
/* 02C60924 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C60924 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02C60924 */ if (_t11) goto L_02C6092C; else goto L_02C60928;
|
|
L_02C60928: ; // 0x2c60928
|
|
/* 02C60928 */ cpu->r[7] = cpu->r[10] + cpu->r[5];
|
|
L_02C6092C: ; // 0x2c6092c
|
|
/* 02C6092C */ cpu->r[5] = cpu->r[7] + cpu->r[30];
|
|
/* 02C60930 */ _t12 = cpu->r[5] + 0x00000024u;
|
|
/* 02C60930 */ cpu->r[6] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02C60934 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C60938 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u);
|
|
/* 02C6093C */ cpu->r[8] = cpu->r[5] + 0x00000024u;
|
|
/* 02C60940 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C60940 */ _t14 = _t13 & 0x00000001u;
|
|
/* 02C60940 */ if (_t14) goto L_02C60948; else goto L_02C60944;
|
|
L_02C60944: ; // 0x2c60944
|
|
/* 02C60944 */ cpu->r[3] = cpu->r[8] + cpu->r[6];
|
|
L_02C60948: ; // 0x2c60948
|
|
/* 02C60948 */ Gambit_fn_02C61F38(cpu);
|
|
/* 02C6094C */ cpu->r[29] = cpu->r[29] + 0xFFFFFFFFu;
|
|
/* 02C6094C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 02C60950 */ cpu->r[30] = cpu->r[30] + 0x00000010u;
|
|
/* 02C60954 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C60954 */ _t16 = _t15 & 0x00000001u;
|
|
/* 02C60954 */ if (_t16) goto L_02C60958; else goto L_02C60914;
|
|
L_02C60958: ; // 0x2c60958
|
|
/* 02C60958 */ _t17 = cpu->r[31] + 0x00000054u;
|
|
/* 02C60958 */ cpu->r[29] = rbrew_read16(cpu->mem, _t17);
|
|
/* 02C6095C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 02C60960 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C60960 */ _t19 = _t18 & 0x00000001u;
|
|
/* 02C60960 */ if (_t19) goto L_02C609AC; else goto L_02C60964;
|
|
L_02C60964: ; // 0x2c60964
|
|
/* 02C60964 */ cpu->r[30] = 0x00000000u;
|
|
L_02C60968: ; // 0x2c60968
|
|
/* 02C60968 */ _t20 = cpu->r[31] + 0x00000028u;
|
|
/* 02C60968 */ cpu->r[7] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02C6096C */ cpu->r[9] = 0x00000000u;
|
|
/* 02C60970 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 02C60974 */ cpu->r[11] = cpu->r[31] + 0x00000028u;
|
|
/* 02C60978 */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C60978 */ _t22 = _t21 & 0x00000001u;
|
|
/* 02C60978 */ if (_t22) goto L_02C60980; else goto L_02C6097C;
|
|
L_02C6097C: ; // 0x2c6097c
|
|
/* 02C6097C */ cpu->r[9] = cpu->r[11] + cpu->r[7];
|
|
L_02C60980: ; // 0x2c60980
|
|
/* 02C60980 */ cpu->r[4] = cpu->r[9] + cpu->r[30];
|
|
/* 02C60984 */ _t23 = cpu->r[4] + 0x00000024u;
|
|
/* 02C60984 */ cpu->r[8] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02C60988 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C6098C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 02C60990 */ cpu->r[10] = cpu->r[4] + 0x00000024u;
|
|
/* 02C60994 */ _t24 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C60994 */ _t25 = _t24 & 0x00000001u;
|
|
/* 02C60994 */ if (_t25) goto L_02C6099C; else goto L_02C60998;
|
|
L_02C60998: ; // 0x2c60998
|
|
/* 02C60998 */ cpu->r[3] = cpu->r[10] + cpu->r[8];
|
|
L_02C6099C: ; // 0x2c6099c
|
|
/* 02C6099C */ Gambit_fn_02C64934(cpu);
|
|
/* 02C609A0 */ cpu->r[29] = cpu->r[29] + 0xFFFFFFFFu;
|
|
/* 02C609A0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 02C609A4 */ cpu->r[30] = cpu->r[30] + 0x00000010u;
|
|
/* 02C609A8 */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C609A8 */ _t27 = _t26 & 0x00000001u;
|
|
/* 02C609A8 */ if (_t27) goto L_02C609AC; else goto L_02C60968;
|
|
L_02C609AC: ; // 0x2c609ac
|
|
/* 02C609AC */ _t28 = cpu->r[31] + 0x00000056u;
|
|
/* 02C609AC */ cpu->r[29] = rbrew_read16(cpu->mem, _t28);
|
|
/* 02C609B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 02C609B4 */ _t29 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C609B4 */ _t30 = _t29 & 0x00000001u;
|
|
/* 02C609B4 */ if (_t30) goto L_02C60A00; else goto L_02C609B8;
|
|
L_02C609B8: ; // 0x2c609b8
|
|
/* 02C609B8 */ cpu->r[30] = 0x00000000u;
|
|
L_02C609BC: ; // 0x2c609bc
|
|
/* 02C609BC */ _t31 = cpu->r[31] + 0x0000002Cu;
|
|
/* 02C609BC */ cpu->r[9] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02C609C0 */ cpu->r[11] = 0x00000000u;
|
|
/* 02C609C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 02C609C8 */ cpu->r[8] = cpu->r[31] + 0x0000002Cu;
|
|
/* 02C609CC */ _t32 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C609CC */ _t33 = _t32 & 0x00000001u;
|
|
/* 02C609CC */ if (_t33) goto L_02C609D4; else goto L_02C609D0;
|
|
L_02C609D0: ; // 0x2c609d0
|
|
/* 02C609D0 */ cpu->r[11] = cpu->r[8] + cpu->r[9];
|
|
L_02C609D4: ; // 0x2c609d4
|
|
/* 02C609D4 */ cpu->r[6] = cpu->r[11] + cpu->r[30];
|
|
/* 02C609D8 */ _t34 = cpu->r[6] + 0x00000024u;
|
|
/* 02C609D8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t34);
|
|
/* 02C609DC */ cpu->r[3] = 0x00000000u;
|
|
/* 02C609E0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02C609E4 */ cpu->r[12] = cpu->r[6] + 0x00000024u;
|
|
/* 02C609E8 */ _t35 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C609E8 */ _t36 = _t35 & 0x00000001u;
|
|
/* 02C609E8 */ if (_t36) goto L_02C609F0; else goto L_02C609EC;
|
|
L_02C609EC: ; // 0x2c609ec
|
|
/* 02C609EC */ cpu->r[3] = cpu->r[12] + cpu->r[10];
|
|
L_02C609F0: ; // 0x2c609f0
|
|
/* 02C609F0 */ Gambit_fn_02C63C78(cpu);
|
|
/* 02C609F4 */ cpu->r[29] = cpu->r[29] + 0xFFFFFFFFu;
|
|
/* 02C609F4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 02C609F8 */ cpu->r[30] = cpu->r[30] + 0x00000010u;
|
|
/* 02C609FC */ _t37 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C609FC */ _t38 = _t37 & 0x00000001u;
|
|
/* 02C609FC */ if (_t38) goto L_02C60A00; else goto L_02C609BC;
|
|
L_02C60A00: ; // 0x2c60a00
|
|
/* 02C60A00 */ _t39 = cpu->r[31] + 0x0000005Cu;
|
|
/* 02C60A00 */ cpu->r[29] = rbrew_read16(cpu->mem, _t39);
|
|
/* 02C60A04 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 02C60A08 */ _t40 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C60A08 */ _t41 = _t40 & 0x00000001u;
|
|
/* 02C60A08 */ if (_t41) goto L_02C60A54; else goto L_02C60A0C;
|
|
L_02C60A0C: ; // 0x2c60a0c
|
|
/* 02C60A0C */ cpu->r[30] = 0x00000000u;
|
|
L_02C60A10: ; // 0x2c60a10
|
|
/* 02C60A10 */ _t42 = cpu->r[31] + 0x00000038u;
|
|
/* 02C60A10 */ cpu->r[11] = rbrew_read32(cpu->mem, _t42);
|
|
/* 02C60A14 */ cpu->r[4] = 0x00000000u;
|
|
/* 02C60A18 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02C60A1C */ cpu->r[9] = cpu->r[31] + 0x00000038u;
|
|
/* 02C60A20 */ _t43 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C60A20 */ _t44 = _t43 & 0x00000001u;
|
|
/* 02C60A20 */ if (_t44) goto L_02C60A28; else goto L_02C60A24;
|
|
L_02C60A24: ; // 0x2c60a24
|
|
/* 02C60A24 */ cpu->r[4] = cpu->r[9] + cpu->r[11];
|
|
L_02C60A28: ; // 0x2c60a28
|
|
/* 02C60A28 */ cpu->r[10] = cpu->r[4] + cpu->r[30];
|
|
/* 02C60A2C */ _t45 = cpu->r[10] + 0x00000024u;
|
|
/* 02C60A2C */ cpu->r[12] = rbrew_read32(cpu->mem, _t45);
|
|
/* 02C60A30 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C60A34 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02C60A38 */ cpu->r[5] = cpu->r[10] + 0x00000024u;
|
|
/* 02C60A3C */ _t46 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C60A3C */ _t47 = _t46 & 0x00000001u;
|
|
/* 02C60A3C */ if (_t47) goto L_02C60A44; else goto L_02C60A40;
|
|
L_02C60A40: ; // 0x2c60a40
|
|
/* 02C60A40 */ cpu->r[3] = cpu->r[5] + cpu->r[12];
|
|
L_02C60A44: ; // 0x2c60a44
|
|
/* 02C60A44 */ Gambit_fn_02C64DB8(cpu);
|
|
/* 02C60A48 */ cpu->r[29] = cpu->r[29] + 0xFFFFFFFFu;
|
|
/* 02C60A48 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 02C60A4C */ cpu->r[30] = cpu->r[30] + 0x00000010u;
|
|
/* 02C60A50 */ _t48 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C60A50 */ _t49 = _t48 & 0x00000001u;
|
|
/* 02C60A50 */ if (_t49) goto L_02C60A54; else goto L_02C60A10;
|
|
L_02C60A54: ; // 0x2c60a54
|
|
/* 02C60A54 */ _t50 = cpu->r[31] + 0x0000005Eu;
|
|
/* 02C60A54 */ cpu->r[29] = rbrew_read16(cpu->mem, _t50);
|
|
/* 02C60A58 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 02C60A5C */ _t51 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C60A5C */ _t52 = _t51 & 0x00000001u;
|
|
/* 02C60A5C */ if (_t52) goto L_02C60AA8; else goto L_02C60A60;
|
|
L_02C60A60: ; // 0x2c60a60
|
|
/* 02C60A60 */ cpu->r[30] = 0x00000000u;
|
|
L_02C60A64: ; // 0x2c60a64
|
|
/* 02C60A64 */ _t53 = cpu->r[31] + 0x0000003Cu;
|
|
/* 02C60A64 */ cpu->r[0] = rbrew_read32(cpu->mem, _t53);
|
|
/* 02C60A68 */ cpu->r[6] = 0x00000000u;
|
|
/* 02C60A6C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C60A70 */ cpu->r[10] = cpu->r[31] + 0x0000003Cu;
|
|
/* 02C60A74 */ _t54 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C60A74 */ _t55 = _t54 & 0x00000001u;
|
|
/* 02C60A74 */ if (_t55) goto L_02C60A7C; else goto L_02C60A78;
|
|
L_02C60A78: ; // 0x2c60a78
|
|
/* 02C60A78 */ cpu->r[6] = cpu->r[10] + cpu->r[0];
|
|
L_02C60A7C: ; // 0x2c60a7c
|
|
/* 02C60A7C */ cpu->r[12] = cpu->r[6] + cpu->r[30];
|
|
/* 02C60A80 */ _t56 = cpu->r[12] + 0x00000024u;
|
|
/* 02C60A80 */ cpu->r[4] = rbrew_read32(cpu->mem, _t56);
|
|
/* 02C60A84 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C60A88 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
|
|
/* 02C60A8C */ cpu->r[7] = cpu->r[12] + 0x00000024u;
|
|
/* 02C60A90 */ _t57 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C60A90 */ _t58 = _t57 & 0x00000001u;
|
|
/* 02C60A90 */ if (_t58) goto L_02C60A98; else goto L_02C60A94;
|
|
L_02C60A94: ; // 0x2c60a94
|
|
/* 02C60A94 */ cpu->r[3] = cpu->r[7] + cpu->r[4];
|
|
L_02C60A98: ; // 0x2c60a98
|
|
/* 02C60A98 */ Gambit_fn_02C6509C(cpu);
|
|
/* 02C60A9C */ cpu->r[29] = cpu->r[29] + 0xFFFFFFFFu;
|
|
/* 02C60A9C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 02C60AA0 */ cpu->r[30] = cpu->r[30] + 0x00000010u;
|
|
/* 02C60AA4 */ _t59 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C60AA4 */ _t60 = _t59 & 0x00000001u;
|
|
/* 02C60AA4 */ if (_t60) goto L_02C60AA8; else goto L_02C60A64;
|
|
L_02C60AA8: ; // 0x2c60aa8
|
|
/* 02C60AA8 */ _t61 = cpu->r[31] + 0x00000060u;
|
|
/* 02C60AA8 */ cpu->r[29] = rbrew_read16(cpu->mem, _t61);
|
|
/* 02C60AAC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 02C60AB0 */ _t62 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C60AB0 */ _t63 = _t62 & 0x00000001u;
|
|
/* 02C60AB0 */ if (_t63) goto L_02C60AFC; else goto L_02C60AB4;
|
|
L_02C60AB4: ; // 0x2c60ab4
|
|
/* 02C60AB4 */ cpu->r[30] = 0x00000000u;
|
|
L_02C60AB8: ; // 0x2c60ab8
|
|
/* 02C60AB8 */ _t64 = cpu->r[31] + 0x00000040u;
|
|
/* 02C60AB8 */ cpu->r[5] = rbrew_read32(cpu->mem, _t64);
|
|
/* 02C60ABC */ cpu->r[8] = 0x00000000u;
|
|
/* 02C60AC0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u);
|
|
/* 02C60AC4 */ cpu->r[11] = cpu->r[31] + 0x00000040u;
|
|
/* 02C60AC8 */ _t65 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C60AC8 */ _t66 = _t65 & 0x00000001u;
|
|
/* 02C60AC8 */ if (_t66) goto L_02C60AD0; else goto L_02C60ACC;
|
|
L_02C60ACC: ; // 0x2c60acc
|
|
/* 02C60ACC */ cpu->r[8] = cpu->r[11] + cpu->r[5];
|
|
L_02C60AD0: ; // 0x2c60ad0
|
|
/* 02C60AD0 */ cpu->r[5] = cpu->r[8] + cpu->r[30];
|
|
/* 02C60AD4 */ _t67 = cpu->r[5] + 0x00000024u;
|
|
/* 02C60AD4 */ cpu->r[6] = rbrew_read32(cpu->mem, _t67);
|
|
/* 02C60AD8 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C60ADC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u);
|
|
/* 02C60AE0 */ cpu->r[9] = cpu->r[5] + 0x00000024u;
|
|
/* 02C60AE4 */ _t68 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C60AE4 */ _t69 = _t68 & 0x00000001u;
|
|
/* 02C60AE4 */ if (_t69) goto L_02C60AEC; else goto L_02C60AE8;
|
|
L_02C60AE8: ; // 0x2c60ae8
|
|
/* 02C60AE8 */ cpu->r[3] = cpu->r[9] + cpu->r[6];
|
|
L_02C60AEC: ; // 0x2c60aec
|
|
/* 02C60AEC */ Gambit_fn_02C6509C(cpu);
|
|
/* 02C60AF0 */ cpu->r[29] = cpu->r[29] + 0xFFFFFFFFu;
|
|
/* 02C60AF0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 02C60AF4 */ cpu->r[30] = cpu->r[30] + 0x00000010u;
|
|
/* 02C60AF8 */ _t70 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C60AF8 */ _t71 = _t70 & 0x00000001u;
|
|
/* 02C60AF8 */ if (_t71) goto L_02C60AFC; else goto L_02C60AB8;
|
|
L_02C60AFC: ; // 0x2c60afc
|
|
/* 02C60AFC */ _t72 = cpu->r[31] + 0x00000062u;
|
|
/* 02C60AFC */ cpu->r[29] = rbrew_read16(cpu->mem, _t72);
|
|
/* 02C60B00 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 02C60B04 */ _t73 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C60B04 */ _t74 = _t73 & 0x00000001u;
|
|
/* 02C60B04 */ if (_t74) goto L_02C60B50; else goto L_02C60B08;
|
|
L_02C60B08: ; // 0x2c60b08
|
|
/* 02C60B08 */ cpu->r[30] = 0x00000000u;
|
|
L_02C60B0C: ; // 0x2c60b0c
|
|
/* 02C60B0C */ _t75 = cpu->r[31] + 0x00000044u;
|
|
/* 02C60B0C */ cpu->r[7] = rbrew_read32(cpu->mem, _t75);
|
|
/* 02C60B10 */ cpu->r[10] = 0x00000000u;
|
|
/* 02C60B14 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 02C60B18 */ cpu->r[12] = cpu->r[31] + 0x00000044u;
|
|
/* 02C60B1C */ _t76 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C60B1C */ _t77 = _t76 & 0x00000001u;
|
|
/* 02C60B1C */ if (_t77) goto L_02C60B24; else goto L_02C60B20;
|
|
L_02C60B20: ; // 0x2c60b20
|
|
/* 02C60B20 */ cpu->r[10] = cpu->r[12] + cpu->r[7];
|
|
L_02C60B24: ; // 0x2c60b24
|
|
/* 02C60B24 */ cpu->r[7] = cpu->r[10] + cpu->r[30];
|
|
/* 02C60B28 */ _t78 = cpu->r[7] + 0x00000024u;
|
|
/* 02C60B28 */ cpu->r[8] = rbrew_read32(cpu->mem, _t78);
|
|
/* 02C60B2C */ cpu->r[3] = 0x00000000u;
|
|
/* 02C60B30 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 02C60B34 */ cpu->r[11] = cpu->r[7] + 0x00000024u;
|
|
/* 02C60B38 */ _t79 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C60B38 */ _t80 = _t79 & 0x00000001u;
|
|
/* 02C60B38 */ if (_t80) goto L_02C60B40; else goto L_02C60B3C;
|
|
L_02C60B3C: ; // 0x2c60b3c
|
|
/* 02C60B3C */ cpu->r[3] = cpu->r[11] + cpu->r[8];
|
|
L_02C60B40: ; // 0x2c60b40
|
|
/* 02C60B40 */ Gambit_fn_02C644C0(cpu);
|
|
/* 02C60B44 */ cpu->r[29] = cpu->r[29] + 0xFFFFFFFFu;
|
|
/* 02C60B44 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 02C60B48 */ cpu->r[30] = cpu->r[30] + 0x00000010u;
|
|
/* 02C60B4C */ _t81 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C60B4C */ _t82 = _t81 & 0x00000001u;
|
|
/* 02C60B4C */ if (_t82) goto L_02C60B50; else goto L_02C60B0C;
|
|
L_02C60B50: ; // 0x2c60b50
|
|
/* 02C60B50 */ _t83 = cpu->r[31] + 0x00000064u;
|
|
/* 02C60B50 */ cpu->r[28] = rbrew_read16(cpu->mem, _t83);
|
|
/* 02C60B54 */ cpu->r[29] = 0x00000000u;
|
|
/* 02C60B58 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[28]);
|
|
/* 02C60B5C */ _t84 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C60B5C */ _t85 = _t84 & 0x00000001u;
|
|
/* 02C60B5C */ if (_t85) goto L_02C60B60; else goto L_02C60BB4;
|
|
L_02C60B60: ; // 0x2c60b60
|
|
/* 02C60B60 */ cpu->r[30] = 0x00000000u;
|
|
L_02C60B64: ; // 0x2c60b64
|
|
/* 02C60B64 */ _t86 = cpu->r[31] + 0x00000048u;
|
|
/* 02C60B64 */ cpu->r[0] = rbrew_read32(cpu->mem, _t86);
|
|
/* 02C60B68 */ cpu->r[12] = cpu->r[31];
|
|
/* 02C60B6C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C60B70 */ cpu->r[7] = 0x00000000u;
|
|
/* 02C60B74 */ _t87 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C60B74 */ _t88 = _t87 & 0x00000001u;
|
|
/* 02C60B74 */ if (_t88) goto L_02C60B84; else goto L_02C60B78;
|
|
L_02C60B78: ; // 0x2c60b78
|
|
/* 02C60B78 */ _t89 = cpu->r[12] + 0x00000048u;
|
|
/* 02C60B78 */ cpu->r[0] = rbrew_read32(cpu->mem, _t89);
|
|
/* 02C60B7C */ cpu->r[9] = cpu->r[12] + 0x00000048u;
|
|
/* 02C60B80 */ cpu->r[7] = cpu->r[9] + cpu->r[0];
|
|
L_02C60B84: ; // 0x2c60b84
|
|
/* 02C60B84 */ cpu->r[12] = cpu->r[7] + cpu->r[30];
|
|
/* 02C60B88 */ _t90 = cpu->r[12] + 0x00000024u;
|
|
/* 02C60B88 */ cpu->r[0] = rbrew_read32(cpu->mem, _t90);
|
|
/* 02C60B8C */ cpu->r[3] = 0x00000000u;
|
|
/* 02C60B90 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C60B94 */ cpu->r[8] = cpu->r[12] + 0x00000024u;
|
|
/* 02C60B98 */ _t91 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C60B98 */ _t92 = _t91 & 0x00000001u;
|
|
/* 02C60B98 */ if (_t92) goto L_02C60BA0; else goto L_02C60B9C;
|
|
L_02C60B9C: ; // 0x2c60b9c
|
|
/* 02C60B9C */ cpu->r[3] = cpu->r[8] + cpu->r[0];
|
|
L_02C60BA0: ; // 0x2c60ba0
|
|
/* 02C60BA0 */ Gambit_fn_02C62474(cpu);
|
|
/* 02C60BA4 */ cpu->r[29] = cpu->r[29] + 0x00000001u;
|
|
/* 02C60BA8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[28]);
|
|
/* 02C60BAC */ cpu->r[30] = cpu->r[30] + 0x00000010u;
|
|
/* 02C60BB0 */ _t93 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C60BB0 */ _t94 = _t93 & 0x00000001u;
|
|
/* 02C60BB0 */ if (_t94) goto L_02C60B64; else goto L_02C60BB4;
|
|
L_02C60BB4: ; // 0x2c60bb4
|
|
/* 02C60BB4 */ cpu->r[0] = 0x00000000u;
|
|
/* 02C60BB8 */ _t95 = cpu->r[31] + 0x00000068u;
|
|
/* 02C60BB8 */ rbrew_write32(cpu->mem, _t95, cpu->r[0]);
|
|
/* 02C60BBC */ _t96 = cpu->r[1] + 0x00000008u;
|
|
/* 02C60BBC */ cpu->r[28] = rbrew_read32(cpu->mem, _t96);
|
|
/* 02C60BC0 */ _t97 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C60BC0 */ cpu->r[29] = rbrew_read32(cpu->mem, _t97);
|
|
/* 02C60BC4 */ _t98 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C60BC4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t98);
|
|
/* 02C60BC8 */ _t99 = cpu->r[1] + 0x00000010u;
|
|
/* 02C60BC8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t99);
|
|
/* 02C60BCC */ cpu->lr = cpu->r[0];
|
|
/* 02C60BD0 */ _t100 = cpu->r[1] + 0x00000014u;
|
|
/* 02C60BD0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t100);
|
|
/* 02C60BD4 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C60BD8 */ return;
|
|
}
|
|
|
|
// fn_02C608E8 @ 0x2c608e8
|
|
void Gambit_fn_02C608E8(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;
|
|
|
|
L_02C608E8: ; // 0x2c608e8
|
|
/* 02C608E8 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02C608E8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C608E8 */ cpu->r[1] = _t0;
|
|
/* 02C608EC */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C608EC */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
|
|
/* 02C608F0 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02C608F0 */ rbrew_write32(cpu->mem, _t2, cpu->r[28]);
|
|
/* 02C608F4 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02C608F4 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 02C608F8 */ _t4 = cpu->r[1] + 0x00000010u;
|
|
/* 02C608F8 */ rbrew_write32(cpu->mem, _t4, cpu->r[30]);
|
|
/* 02C608FC */ cpu->r[31] = cpu->r[3];
|
|
/* 02C60900 */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C60900 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02C60904 */ _t6 = cpu->r[31] + 0x00000050u;
|
|
/* 02C60904 */ cpu->r[29] = rbrew_read16(cpu->mem, _t6);
|
|
/* 02C60908 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 02C6090C */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6090C */ _t8 = _t7 & 0x00000001u;
|
|
/* 02C6090C */ if (_t8) goto L_02C60958; else goto L_02C60910;
|
|
L_02C60910: ; // 0x2c60910
|
|
/* 02C60910 */ cpu->r[30] = 0x00000000u;
|
|
L_02C60914: ; // 0x2c60914
|
|
/* 02C60914 */ _t9 = cpu->r[31] + 0x00000020u;
|
|
/* 02C60914 */ cpu->r[5] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02C60918 */ cpu->r[7] = 0x00000000u;
|
|
/* 02C6091C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u);
|
|
/* 02C60920 */ cpu->r[10] = cpu->r[31] + 0x00000020u;
|
|
/* 02C60924 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C60924 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02C60924 */ if (_t11) goto L_02C6092C; else goto L_02C60928;
|
|
L_02C60928: ; // 0x2c60928
|
|
/* 02C60928 */ cpu->r[7] = cpu->r[10] + cpu->r[5];
|
|
L_02C6092C: ; // 0x2c6092c
|
|
/* 02C6092C */ cpu->r[5] = cpu->r[7] + cpu->r[30];
|
|
/* 02C60930 */ _t12 = cpu->r[5] + 0x00000024u;
|
|
/* 02C60930 */ cpu->r[6] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02C60934 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C60938 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u);
|
|
/* 02C6093C */ cpu->r[8] = cpu->r[5] + 0x00000024u;
|
|
/* 02C60940 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C60940 */ _t14 = _t13 & 0x00000001u;
|
|
/* 02C60940 */ if (_t14) goto L_02C60948; else goto L_02C60944;
|
|
L_02C60944: ; // 0x2c60944
|
|
/* 02C60944 */ cpu->r[3] = cpu->r[8] + cpu->r[6];
|
|
L_02C60948: ; // 0x2c60948
|
|
/* 02C60948 */ Gambit_fn_02C61F38(cpu);
|
|
/* 02C6094C */ cpu->r[29] = cpu->r[29] + 0xFFFFFFFFu;
|
|
/* 02C6094C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 02C60950 */ cpu->r[30] = cpu->r[30] + 0x00000010u;
|
|
/* 02C60954 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C60954 */ _t16 = _t15 & 0x00000001u;
|
|
/* 02C60954 */ if (_t16) goto L_02C60958; else goto L_02C60914;
|
|
L_02C60958: ; // 0x2c60958
|
|
/* 02C60958 */ _t17 = cpu->r[31] + 0x00000054u;
|
|
/* 02C60958 */ cpu->r[29] = rbrew_read16(cpu->mem, _t17);
|
|
/* 02C6095C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 02C60960 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C60960 */ _t19 = _t18 & 0x00000001u;
|
|
/* 02C60960 */ if (_t19) goto L_02C609AC; else goto L_02C60964;
|
|
L_02C60964: ; // 0x2c60964
|
|
/* 02C60964 */ cpu->r[30] = 0x00000000u;
|
|
L_02C60968: ; // 0x2c60968
|
|
/* 02C60968 */ _t20 = cpu->r[31] + 0x00000028u;
|
|
/* 02C60968 */ cpu->r[7] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02C6096C */ cpu->r[9] = 0x00000000u;
|
|
/* 02C60970 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 02C60974 */ cpu->r[11] = cpu->r[31] + 0x00000028u;
|
|
/* 02C60978 */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C60978 */ _t22 = _t21 & 0x00000001u;
|
|
/* 02C60978 */ if (_t22) goto L_02C60980; else goto L_02C6097C;
|
|
L_02C6097C: ; // 0x2c6097c
|
|
/* 02C6097C */ cpu->r[9] = cpu->r[11] + cpu->r[7];
|
|
L_02C60980: ; // 0x2c60980
|
|
/* 02C60980 */ cpu->r[4] = cpu->r[9] + cpu->r[30];
|
|
/* 02C60984 */ _t23 = cpu->r[4] + 0x00000024u;
|
|
/* 02C60984 */ cpu->r[8] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02C60988 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C6098C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 02C60990 */ cpu->r[10] = cpu->r[4] + 0x00000024u;
|
|
/* 02C60994 */ _t24 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C60994 */ _t25 = _t24 & 0x00000001u;
|
|
/* 02C60994 */ if (_t25) goto L_02C6099C; else goto L_02C60998;
|
|
L_02C60998: ; // 0x2c60998
|
|
/* 02C60998 */ cpu->r[3] = cpu->r[10] + cpu->r[8];
|
|
L_02C6099C: ; // 0x2c6099c
|
|
/* 02C6099C */ Gambit_fn_02C64934(cpu);
|
|
/* 02C609A0 */ cpu->r[29] = cpu->r[29] + 0xFFFFFFFFu;
|
|
/* 02C609A0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 02C609A4 */ cpu->r[30] = cpu->r[30] + 0x00000010u;
|
|
/* 02C609A8 */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C609A8 */ _t27 = _t26 & 0x00000001u;
|
|
/* 02C609A8 */ if (_t27) goto L_02C609AC; else goto L_02C60968;
|
|
L_02C609AC: ; // 0x2c609ac
|
|
/* 02C609AC */ _t28 = cpu->r[31] + 0x00000056u;
|
|
/* 02C609AC */ cpu->r[29] = rbrew_read16(cpu->mem, _t28);
|
|
/* 02C609B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 02C609B4 */ _t29 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C609B4 */ _t30 = _t29 & 0x00000001u;
|
|
/* 02C609B4 */ if (_t30) goto L_02C60A00; else goto L_02C609B8;
|
|
L_02C609B8: ; // 0x2c609b8
|
|
/* 02C609B8 */ cpu->r[30] = 0x00000000u;
|
|
L_02C609BC: ; // 0x2c609bc
|
|
/* 02C609BC */ _t31 = cpu->r[31] + 0x0000002Cu;
|
|
/* 02C609BC */ cpu->r[9] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02C609C0 */ cpu->r[11] = 0x00000000u;
|
|
/* 02C609C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 02C609C8 */ cpu->r[8] = cpu->r[31] + 0x0000002Cu;
|
|
/* 02C609CC */ _t32 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C609CC */ _t33 = _t32 & 0x00000001u;
|
|
/* 02C609CC */ if (_t33) goto L_02C609D4; else goto L_02C609D0;
|
|
L_02C609D0: ; // 0x2c609d0
|
|
/* 02C609D0 */ cpu->r[11] = cpu->r[8] + cpu->r[9];
|
|
L_02C609D4: ; // 0x2c609d4
|
|
/* 02C609D4 */ cpu->r[6] = cpu->r[11] + cpu->r[30];
|
|
/* 02C609D8 */ _t34 = cpu->r[6] + 0x00000024u;
|
|
/* 02C609D8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t34);
|
|
/* 02C609DC */ cpu->r[3] = 0x00000000u;
|
|
/* 02C609E0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02C609E4 */ cpu->r[12] = cpu->r[6] + 0x00000024u;
|
|
/* 02C609E8 */ _t35 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C609E8 */ _t36 = _t35 & 0x00000001u;
|
|
/* 02C609E8 */ if (_t36) goto L_02C609F0; else goto L_02C609EC;
|
|
L_02C609EC: ; // 0x2c609ec
|
|
/* 02C609EC */ cpu->r[3] = cpu->r[12] + cpu->r[10];
|
|
L_02C609F0: ; // 0x2c609f0
|
|
/* 02C609F0 */ Gambit_fn_02C63C78(cpu);
|
|
/* 02C609F4 */ cpu->r[29] = cpu->r[29] + 0xFFFFFFFFu;
|
|
/* 02C609F4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 02C609F8 */ cpu->r[30] = cpu->r[30] + 0x00000010u;
|
|
/* 02C609FC */ _t37 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C609FC */ _t38 = _t37 & 0x00000001u;
|
|
/* 02C609FC */ if (_t38) goto L_02C60A00; else goto L_02C609BC;
|
|
L_02C60A00: ; // 0x2c60a00
|
|
/* 02C60A00 */ _t39 = cpu->r[31] + 0x0000005Cu;
|
|
/* 02C60A00 */ cpu->r[29] = rbrew_read16(cpu->mem, _t39);
|
|
/* 02C60A04 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 02C60A08 */ _t40 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C60A08 */ _t41 = _t40 & 0x00000001u;
|
|
/* 02C60A08 */ if (_t41) goto L_02C60A54; else goto L_02C60A0C;
|
|
L_02C60A0C: ; // 0x2c60a0c
|
|
/* 02C60A0C */ cpu->r[30] = 0x00000000u;
|
|
L_02C60A10: ; // 0x2c60a10
|
|
/* 02C60A10 */ _t42 = cpu->r[31] + 0x00000038u;
|
|
/* 02C60A10 */ cpu->r[11] = rbrew_read32(cpu->mem, _t42);
|
|
/* 02C60A14 */ cpu->r[4] = 0x00000000u;
|
|
/* 02C60A18 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02C60A1C */ cpu->r[9] = cpu->r[31] + 0x00000038u;
|
|
/* 02C60A20 */ _t43 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C60A20 */ _t44 = _t43 & 0x00000001u;
|
|
/* 02C60A20 */ if (_t44) goto L_02C60A28; else goto L_02C60A24;
|
|
L_02C60A24: ; // 0x2c60a24
|
|
/* 02C60A24 */ cpu->r[4] = cpu->r[9] + cpu->r[11];
|
|
L_02C60A28: ; // 0x2c60a28
|
|
/* 02C60A28 */ cpu->r[10] = cpu->r[4] + cpu->r[30];
|
|
/* 02C60A2C */ _t45 = cpu->r[10] + 0x00000024u;
|
|
/* 02C60A2C */ cpu->r[12] = rbrew_read32(cpu->mem, _t45);
|
|
/* 02C60A30 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C60A34 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02C60A38 */ cpu->r[5] = cpu->r[10] + 0x00000024u;
|
|
/* 02C60A3C */ _t46 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C60A3C */ _t47 = _t46 & 0x00000001u;
|
|
/* 02C60A3C */ if (_t47) goto L_02C60A44; else goto L_02C60A40;
|
|
L_02C60A40: ; // 0x2c60a40
|
|
/* 02C60A40 */ cpu->r[3] = cpu->r[5] + cpu->r[12];
|
|
L_02C60A44: ; // 0x2c60a44
|
|
/* 02C60A44 */ Gambit_fn_02C64DB8(cpu);
|
|
/* 02C60A48 */ cpu->r[29] = cpu->r[29] + 0xFFFFFFFFu;
|
|
/* 02C60A48 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 02C60A4C */ cpu->r[30] = cpu->r[30] + 0x00000010u;
|
|
/* 02C60A50 */ _t48 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C60A50 */ _t49 = _t48 & 0x00000001u;
|
|
/* 02C60A50 */ if (_t49) goto L_02C60A54; else goto L_02C60A10;
|
|
L_02C60A54: ; // 0x2c60a54
|
|
/* 02C60A54 */ _t50 = cpu->r[31] + 0x0000005Eu;
|
|
/* 02C60A54 */ cpu->r[29] = rbrew_read16(cpu->mem, _t50);
|
|
/* 02C60A58 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 02C60A5C */ _t51 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C60A5C */ _t52 = _t51 & 0x00000001u;
|
|
/* 02C60A5C */ if (_t52) goto L_02C60AA8; else goto L_02C60A60;
|
|
L_02C60A60: ; // 0x2c60a60
|
|
/* 02C60A60 */ cpu->r[30] = 0x00000000u;
|
|
L_02C60A64: ; // 0x2c60a64
|
|
/* 02C60A64 */ _t53 = cpu->r[31] + 0x0000003Cu;
|
|
/* 02C60A64 */ cpu->r[0] = rbrew_read32(cpu->mem, _t53);
|
|
/* 02C60A68 */ cpu->r[6] = 0x00000000u;
|
|
/* 02C60A6C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C60A70 */ cpu->r[10] = cpu->r[31] + 0x0000003Cu;
|
|
/* 02C60A74 */ _t54 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C60A74 */ _t55 = _t54 & 0x00000001u;
|
|
/* 02C60A74 */ if (_t55) goto L_02C60A7C; else goto L_02C60A78;
|
|
L_02C60A78: ; // 0x2c60a78
|
|
/* 02C60A78 */ cpu->r[6] = cpu->r[10] + cpu->r[0];
|
|
L_02C60A7C: ; // 0x2c60a7c
|
|
/* 02C60A7C */ cpu->r[12] = cpu->r[6] + cpu->r[30];
|
|
/* 02C60A80 */ _t56 = cpu->r[12] + 0x00000024u;
|
|
/* 02C60A80 */ cpu->r[4] = rbrew_read32(cpu->mem, _t56);
|
|
/* 02C60A84 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C60A88 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
|
|
/* 02C60A8C */ cpu->r[7] = cpu->r[12] + 0x00000024u;
|
|
/* 02C60A90 */ _t57 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C60A90 */ _t58 = _t57 & 0x00000001u;
|
|
/* 02C60A90 */ if (_t58) goto L_02C60A98; else goto L_02C60A94;
|
|
L_02C60A94: ; // 0x2c60a94
|
|
/* 02C60A94 */ cpu->r[3] = cpu->r[7] + cpu->r[4];
|
|
L_02C60A98: ; // 0x2c60a98
|
|
/* 02C60A98 */ Gambit_fn_02C6509C(cpu);
|
|
/* 02C60A9C */ cpu->r[29] = cpu->r[29] + 0xFFFFFFFFu;
|
|
/* 02C60A9C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 02C60AA0 */ cpu->r[30] = cpu->r[30] + 0x00000010u;
|
|
/* 02C60AA4 */ _t59 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C60AA4 */ _t60 = _t59 & 0x00000001u;
|
|
/* 02C60AA4 */ if (_t60) goto L_02C60AA8; else goto L_02C60A64;
|
|
L_02C60AA8: ; // 0x2c60aa8
|
|
/* 02C60AA8 */ _t61 = cpu->r[31] + 0x00000060u;
|
|
/* 02C60AA8 */ cpu->r[29] = rbrew_read16(cpu->mem, _t61);
|
|
/* 02C60AAC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 02C60AB0 */ _t62 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C60AB0 */ _t63 = _t62 & 0x00000001u;
|
|
/* 02C60AB0 */ if (_t63) goto L_02C60AFC; else goto L_02C60AB4;
|
|
L_02C60AB4: ; // 0x2c60ab4
|
|
/* 02C60AB4 */ cpu->r[30] = 0x00000000u;
|
|
L_02C60AB8: ; // 0x2c60ab8
|
|
/* 02C60AB8 */ _t64 = cpu->r[31] + 0x00000040u;
|
|
/* 02C60AB8 */ cpu->r[5] = rbrew_read32(cpu->mem, _t64);
|
|
/* 02C60ABC */ cpu->r[8] = 0x00000000u;
|
|
/* 02C60AC0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u);
|
|
/* 02C60AC4 */ cpu->r[11] = cpu->r[31] + 0x00000040u;
|
|
/* 02C60AC8 */ _t65 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C60AC8 */ _t66 = _t65 & 0x00000001u;
|
|
/* 02C60AC8 */ if (_t66) goto L_02C60AD0; else goto L_02C60ACC;
|
|
L_02C60ACC: ; // 0x2c60acc
|
|
/* 02C60ACC */ cpu->r[8] = cpu->r[11] + cpu->r[5];
|
|
L_02C60AD0: ; // 0x2c60ad0
|
|
/* 02C60AD0 */ cpu->r[5] = cpu->r[8] + cpu->r[30];
|
|
/* 02C60AD4 */ _t67 = cpu->r[5] + 0x00000024u;
|
|
/* 02C60AD4 */ cpu->r[6] = rbrew_read32(cpu->mem, _t67);
|
|
/* 02C60AD8 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C60ADC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u);
|
|
/* 02C60AE0 */ cpu->r[9] = cpu->r[5] + 0x00000024u;
|
|
/* 02C60AE4 */ _t68 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C60AE4 */ _t69 = _t68 & 0x00000001u;
|
|
/* 02C60AE4 */ if (_t69) goto L_02C60AEC; else goto L_02C60AE8;
|
|
L_02C60AE8: ; // 0x2c60ae8
|
|
/* 02C60AE8 */ cpu->r[3] = cpu->r[9] + cpu->r[6];
|
|
L_02C60AEC: ; // 0x2c60aec
|
|
/* 02C60AEC */ Gambit_fn_02C6509C(cpu);
|
|
/* 02C60AF0 */ cpu->r[29] = cpu->r[29] + 0xFFFFFFFFu;
|
|
/* 02C60AF0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 02C60AF4 */ cpu->r[30] = cpu->r[30] + 0x00000010u;
|
|
/* 02C60AF8 */ _t70 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C60AF8 */ _t71 = _t70 & 0x00000001u;
|
|
/* 02C60AF8 */ if (_t71) goto L_02C60AFC; else goto L_02C60AB8;
|
|
L_02C60AFC: ; // 0x2c60afc
|
|
/* 02C60AFC */ _t72 = cpu->r[31] + 0x00000062u;
|
|
/* 02C60AFC */ cpu->r[29] = rbrew_read16(cpu->mem, _t72);
|
|
/* 02C60B00 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 02C60B04 */ _t73 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C60B04 */ _t74 = _t73 & 0x00000001u;
|
|
/* 02C60B04 */ if (_t74) goto L_02C60B50; else goto L_02C60B08;
|
|
L_02C60B08: ; // 0x2c60b08
|
|
/* 02C60B08 */ cpu->r[30] = 0x00000000u;
|
|
L_02C60B0C: ; // 0x2c60b0c
|
|
/* 02C60B0C */ _t75 = cpu->r[31] + 0x00000044u;
|
|
/* 02C60B0C */ cpu->r[7] = rbrew_read32(cpu->mem, _t75);
|
|
/* 02C60B10 */ cpu->r[10] = 0x00000000u;
|
|
/* 02C60B14 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 02C60B18 */ cpu->r[12] = cpu->r[31] + 0x00000044u;
|
|
/* 02C60B1C */ _t76 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C60B1C */ _t77 = _t76 & 0x00000001u;
|
|
/* 02C60B1C */ if (_t77) goto L_02C60B24; else goto L_02C60B20;
|
|
L_02C60B20: ; // 0x2c60b20
|
|
/* 02C60B20 */ cpu->r[10] = cpu->r[12] + cpu->r[7];
|
|
L_02C60B24: ; // 0x2c60b24
|
|
/* 02C60B24 */ cpu->r[7] = cpu->r[10] + cpu->r[30];
|
|
/* 02C60B28 */ _t78 = cpu->r[7] + 0x00000024u;
|
|
/* 02C60B28 */ cpu->r[8] = rbrew_read32(cpu->mem, _t78);
|
|
/* 02C60B2C */ cpu->r[3] = 0x00000000u;
|
|
/* 02C60B30 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 02C60B34 */ cpu->r[11] = cpu->r[7] + 0x00000024u;
|
|
/* 02C60B38 */ _t79 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C60B38 */ _t80 = _t79 & 0x00000001u;
|
|
/* 02C60B38 */ if (_t80) goto L_02C60B40; else goto L_02C60B3C;
|
|
L_02C60B3C: ; // 0x2c60b3c
|
|
/* 02C60B3C */ cpu->r[3] = cpu->r[11] + cpu->r[8];
|
|
L_02C60B40: ; // 0x2c60b40
|
|
/* 02C60B40 */ Gambit_fn_02C644C0(cpu);
|
|
/* 02C60B44 */ cpu->r[29] = cpu->r[29] + 0xFFFFFFFFu;
|
|
/* 02C60B44 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 02C60B48 */ cpu->r[30] = cpu->r[30] + 0x00000010u;
|
|
/* 02C60B4C */ _t81 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C60B4C */ _t82 = _t81 & 0x00000001u;
|
|
/* 02C60B4C */ if (_t82) goto L_02C60B50; else goto L_02C60B0C;
|
|
L_02C60B50: ; // 0x2c60b50
|
|
/* 02C60B50 */ _t83 = cpu->r[31] + 0x00000064u;
|
|
/* 02C60B50 */ cpu->r[28] = rbrew_read16(cpu->mem, _t83);
|
|
/* 02C60B54 */ cpu->r[29] = 0x00000000u;
|
|
/* 02C60B58 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[28]);
|
|
/* 02C60B5C */ _t84 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C60B5C */ _t85 = _t84 & 0x00000001u;
|
|
/* 02C60B5C */ if (_t85) goto L_02C60B60; else goto L_02C60BB4;
|
|
L_02C60B60: ; // 0x2c60b60
|
|
/* 02C60B60 */ cpu->r[30] = 0x00000000u;
|
|
L_02C60B64: ; // 0x2c60b64
|
|
/* 02C60B64 */ _t86 = cpu->r[31] + 0x00000048u;
|
|
/* 02C60B64 */ cpu->r[0] = rbrew_read32(cpu->mem, _t86);
|
|
/* 02C60B68 */ cpu->r[12] = cpu->r[31];
|
|
/* 02C60B6C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C60B70 */ cpu->r[7] = 0x00000000u;
|
|
/* 02C60B74 */ _t87 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C60B74 */ _t88 = _t87 & 0x00000001u;
|
|
/* 02C60B74 */ if (_t88) goto L_02C60B84; else goto L_02C60B78;
|
|
L_02C60B78: ; // 0x2c60b78
|
|
/* 02C60B78 */ _t89 = cpu->r[12] + 0x00000048u;
|
|
/* 02C60B78 */ cpu->r[0] = rbrew_read32(cpu->mem, _t89);
|
|
/* 02C60B7C */ cpu->r[9] = cpu->r[12] + 0x00000048u;
|
|
/* 02C60B80 */ cpu->r[7] = cpu->r[9] + cpu->r[0];
|
|
L_02C60B84: ; // 0x2c60b84
|
|
/* 02C60B84 */ cpu->r[12] = cpu->r[7] + cpu->r[30];
|
|
/* 02C60B88 */ _t90 = cpu->r[12] + 0x00000024u;
|
|
/* 02C60B88 */ cpu->r[0] = rbrew_read32(cpu->mem, _t90);
|
|
/* 02C60B8C */ cpu->r[3] = 0x00000000u;
|
|
/* 02C60B90 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C60B94 */ cpu->r[8] = cpu->r[12] + 0x00000024u;
|
|
/* 02C60B98 */ _t91 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C60B98 */ _t92 = _t91 & 0x00000001u;
|
|
/* 02C60B98 */ if (_t92) goto L_02C60BA0; else goto L_02C60B9C;
|
|
L_02C60B9C: ; // 0x2c60b9c
|
|
/* 02C60B9C */ cpu->r[3] = cpu->r[8] + cpu->r[0];
|
|
L_02C60BA0: ; // 0x2c60ba0
|
|
/* 02C60BA0 */ Gambit_fn_02C62474(cpu);
|
|
/* 02C60BA4 */ cpu->r[29] = cpu->r[29] + 0x00000001u;
|
|
/* 02C60BA8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[28]);
|
|
/* 02C60BAC */ cpu->r[30] = cpu->r[30] + 0x00000010u;
|
|
/* 02C60BB0 */ _t93 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C60BB0 */ _t94 = _t93 & 0x00000001u;
|
|
/* 02C60BB0 */ if (_t94) goto L_02C60B64; else goto L_02C60BB4;
|
|
L_02C60BB4: ; // 0x2c60bb4
|
|
/* 02C60BB4 */ cpu->r[0] = 0x00000000u;
|
|
/* 02C60BB8 */ _t95 = cpu->r[31] + 0x00000068u;
|
|
/* 02C60BB8 */ rbrew_write32(cpu->mem, _t95, cpu->r[0]);
|
|
/* 02C60BBC */ _t96 = cpu->r[1] + 0x00000008u;
|
|
/* 02C60BBC */ cpu->r[28] = rbrew_read32(cpu->mem, _t96);
|
|
/* 02C60BC0 */ _t97 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C60BC0 */ cpu->r[29] = rbrew_read32(cpu->mem, _t97);
|
|
/* 02C60BC4 */ _t98 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C60BC4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t98);
|
|
/* 02C60BC8 */ _t99 = cpu->r[1] + 0x00000010u;
|
|
/* 02C60BC8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t99);
|
|
/* 02C60BCC */ cpu->lr = cpu->r[0];
|
|
/* 02C60BD0 */ _t100 = cpu->r[1] + 0x00000014u;
|
|
/* 02C60BD0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t100);
|
|
/* 02C60BD4 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C60BD8 */ return;
|
|
}
|
|
|
|
// fn_02C60BDC @ 0x2c60bdc
|
|
void Gambit_fn_02C60BDC(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_02C60BDC: ; // 0x2c60bdc
|
|
/* 02C60BDC */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 02C60BDC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C60BDC */ cpu->r[1] = _t0;
|
|
/* 02C60BE0 */ cpu->r[0] = cpu->lr;
|
|
/* 02C60BE4 */ /* nop */
|
|
/* 02C60BE8 */ cpu->r[30] = cpu->r[4];
|
|
/* 02C60BEC */ cpu->r[31] = 0x00000000u;
|
|
/* 02C60BF0 */ _t1 = cpu->r[1] + 0x00000024u;
|
|
/* 02C60BF0 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02C60BF4 */ cpu->r[0] = rbrew_rlwinm(cpu->r[5], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02C60BF4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C60BF8 */ cpu->r[29] = cpu->r[3];
|
|
/* 02C60BFC */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C60BFC */ _t3 = _t2 & 0x00000001u;
|
|
/* 02C60BFC */ if (_t3) goto L_02C60CB8; else goto L_02C60C00;
|
|
L_02C60C00: ; // 0x2c60c00
|
|
/* 02C60C00 */ _t4 = cpu->r[29] + 0x00000050u;
|
|
/* 02C60C00 */ cpu->r[27] = rbrew_read16(cpu->mem, _t4);
|
|
/* 02C60C04 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 02C60C08 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C60C08 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02C60C08 */ if (_t6) goto L_02C60C5C; else goto L_02C60C0C;
|
|
L_02C60C0C: ; // 0x2c60c0c
|
|
/* 02C60C0C */ cpu->r[28] = 0x00000000u;
|
|
L_02C60C10: ; // 0x2c60c10
|
|
/* 02C60C10 */ _t7 = cpu->r[29] + 0x00000020u;
|
|
/* 02C60C10 */ cpu->r[12] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02C60C14 */ cpu->r[7] = 0x00000000u;
|
|
/* 02C60C18 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02C60C1C */ cpu->r[11] = cpu->r[29] + 0x00000020u;
|
|
/* 02C60C20 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C60C20 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02C60C20 */ if (_t9) goto L_02C60C28; else goto L_02C60C24;
|
|
L_02C60C24: ; // 0x2c60c24
|
|
/* 02C60C24 */ cpu->r[7] = cpu->r[11] + cpu->r[12];
|
|
L_02C60C28: ; // 0x2c60c28
|
|
/* 02C60C28 */ cpu->r[8] = cpu->r[7] + cpu->r[28];
|
|
/* 02C60C2C */ _t10 = cpu->r[8] + 0x00000024u;
|
|
/* 02C60C2C */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02C60C30 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C60C34 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C60C38 */ cpu->r[10] = cpu->r[8] + 0x00000024u;
|
|
/* 02C60C3C */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C60C3C */ _t12 = _t11 & 0x00000001u;
|
|
/* 02C60C3C */ if (_t12) goto L_02C60C44; else goto L_02C60C40;
|
|
L_02C60C40: ; // 0x2c60c40
|
|
/* 02C60C40 */ cpu->r[3] = cpu->r[10] + cpu->r[0];
|
|
L_02C60C44: ; // 0x2c60c44
|
|
/* 02C60C44 */ cpu->r[4] = cpu->r[30];
|
|
/* 02C60C48 */ Gambit_fn_02C62064(cpu);
|
|
/* 02C60C4C */ cpu->r[27] = cpu->r[27] + 0xFFFFFFFFu;
|
|
/* 02C60C4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 02C60C50 */ cpu->r[28] = cpu->r[28] + 0x00000010u;
|
|
/* 02C60C54 */ cpu->r[31] = cpu->r[31] | cpu->r[3];
|
|
/* 02C60C58 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C60C58 */ _t14 = _t13 & 0x00000001u;
|
|
/* 02C60C58 */ if (_t14) goto L_02C60C5C; else goto L_02C60C10;
|
|
L_02C60C5C: ; // 0x2c60c5c
|
|
/* 02C60C5C */ _t15 = cpu->r[29] + 0x0000005Cu;
|
|
/* 02C60C5C */ cpu->r[27] = rbrew_read16(cpu->mem, _t15);
|
|
/* 02C60C60 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 02C60C64 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C60C64 */ _t17 = _t16 & 0x00000001u;
|
|
/* 02C60C64 */ if (_t17) goto L_02C60CB8; else goto L_02C60C68;
|
|
L_02C60C68: ; // 0x2c60c68
|
|
/* 02C60C68 */ cpu->r[28] = 0x00000000u;
|
|
L_02C60C6C: ; // 0x2c60c6c
|
|
/* 02C60C6C */ _t18 = cpu->r[29] + 0x00000038u;
|
|
/* 02C60C6C */ cpu->r[8] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02C60C70 */ cpu->r[9] = 0x00000000u;
|
|
/* 02C60C74 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 02C60C78 */ cpu->r[12] = cpu->r[29] + 0x00000038u;
|
|
/* 02C60C7C */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C60C7C */ _t20 = _t19 & 0x00000001u;
|
|
/* 02C60C7C */ if (_t20) goto L_02C60C84; else goto L_02C60C80;
|
|
L_02C60C80: ; // 0x2c60c80
|
|
/* 02C60C80 */ cpu->r[9] = cpu->r[12] + cpu->r[8];
|
|
L_02C60C84: ; // 0x2c60c84
|
|
/* 02C60C84 */ cpu->r[12] = cpu->r[9] + cpu->r[28];
|
|
/* 02C60C88 */ _t21 = cpu->r[12] + 0x00000024u;
|
|
/* 02C60C88 */ cpu->r[0] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02C60C8C */ cpu->r[3] = 0x00000000u;
|
|
/* 02C60C90 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C60C94 */ cpu->r[10] = cpu->r[12] + 0x00000024u;
|
|
/* 02C60C98 */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C60C98 */ _t23 = _t22 & 0x00000001u;
|
|
/* 02C60C98 */ if (_t23) goto L_02C60CA0; else goto L_02C60C9C;
|
|
L_02C60C9C: ; // 0x2c60c9c
|
|
/* 02C60C9C */ cpu->r[3] = cpu->r[10] + cpu->r[0];
|
|
L_02C60CA0: ; // 0x2c60ca0
|
|
/* 02C60CA0 */ cpu->r[4] = cpu->r[30];
|
|
/* 02C60CA4 */ Gambit_fn_02C64C10(cpu);
|
|
/* 02C60CA8 */ cpu->r[27] = cpu->r[27] + 0xFFFFFFFFu;
|
|
/* 02C60CA8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 02C60CAC */ cpu->r[28] = cpu->r[28] + 0x00000010u;
|
|
/* 02C60CB0 */ cpu->r[31] = cpu->r[31] | cpu->r[3];
|
|
/* 02C60CB4 */ _t24 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C60CB4 */ _t25 = _t24 & 0x00000001u;
|
|
/* 02C60CB4 */ if (_t25) goto L_02C60CB8; else goto L_02C60C6C;
|
|
L_02C60CB8: ; // 0x2c60cb8
|
|
/* 02C60CB8 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C60CBC */ /* nop */
|
|
/* 02C60CC0 */ _t26 = cpu->r[1] + 0x00000024u;
|
|
/* 02C60CC0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02C60CC4 */ cpu->lr = cpu->r[0];
|
|
/* 02C60CC8 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02C60CCC */ return;
|
|
}
|
|
|
|
// fn_02C60CD0 @ 0x2c60cd0
|
|
void Gambit_fn_02C60CD0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8;
|
|
|
|
L_02C60CD0: ; // 0x2c60cd0
|
|
/* 02C60CD0 */ cpu->r[0] = 0x46520000u;
|
|
/* 02C60CD4 */ _t0 = cpu->r[3] + 0x00000000u;
|
|
/* 02C60CD4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02C60CD8 */ cpu->r[0] = cpu->r[0] | 0x00004553u;
|
|
/* 02C60CDC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[0]);
|
|
/* 02C60CE0 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C60CE0 */ _t2 = _t1 & 0x00000001u;
|
|
/* 02C60CE0 */ if (_t2) goto L_02C60CE4; else goto L_02C60D04;
|
|
L_02C60CE4: ; // 0x2c60ce4
|
|
/* 02C60CE4 */ cpu->r[0] = 0x03050000u;
|
|
/* 02C60CE8 */ _t3 = cpu->r[3] + 0x00000004u;
|
|
/* 02C60CE8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02C60CEC */ cpu->r[0] = cpu->r[0] | 0x00000003u;
|
|
/* 02C60CF0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[0]);
|
|
/* 02C60CF4 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C60CF4 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02C60CF4 */ if (_t5) goto L_02C60CF8; else goto L_02C60D04;
|
|
L_02C60CF8: ; // 0x2c60cf8
|
|
/* 02C60CF8 */ _t6 = cpu->r[3] + 0x00000008u;
|
|
/* 02C60CF8 */ cpu->r[11] = rbrew_read16(cpu->mem, _t6);
|
|
/* 02C60CFC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], 0x0000FEFFu);
|
|
/* 02C60D00 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C60D00 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02C60D00 */ if (_t8) goto L_02C60D0C; else goto L_02C60D04;
|
|
L_02C60D04: ; // 0x2c60d04
|
|
/* 02C60D04 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C60D08 */ return;
|
|
L_02C60D0C: ; // 0x2c60d0c
|
|
/* 02C60D0C */ cpu->r[3] = 0x00000001u;
|
|
/* 02C60D10 */ return;
|
|
}
|
|
|
|
// fn_02C60D14 @ 0x2c60d14
|
|
void Gambit_fn_02C60D14(CPUState* cpu) {
|
|
L_02C60D14: ; // 0x2c60d14
|
|
/* 02C60D14 */ goto L_02C65ABC;
|
|
L_02C65ABC: ; // 0x2c65abc
|
|
/* 02C65ABC */ return;
|
|
}
|
|
|
|
// fn_02C60D18 @ 0x2c60d18
|
|
void Gambit_fn_02C60D18(CPUState* cpu) {
|
|
L_02C60D18: ; // 0x2c60d18
|
|
/* 02C60D18 */ goto L_02C65AC0;
|
|
L_02C65AC0: ; // 0x2c65ac0
|
|
/* 02C65AC0 */ return;
|
|
}
|
|
|
|
// fn_02C60D1C @ 0x2c60d1c
|
|
void Gambit_fn_02C60D1C(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_02C60D1C: ; // 0x2c60d1c
|
|
/* 02C60D1C */ cpu->r[9] = 0x101B0000u;
|
|
/* 02C60D20 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02C60D20 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C60D20 */ cpu->r[1] = _t0;
|
|
/* 02C60D24 */ _t1 = cpu->r[9] + 0xFFFFF148u;
|
|
/* 02C60D24 */ cpu->f[11] = rbrew_read_f64(cpu->mem, _t1);
|
|
/* 02C60D28 */ cpu->r[12] = 0x101B0000u;
|
|
/* 02C60D2C */ _t2 = cpu->r[4] + 0x00000008u;
|
|
/* 02C60D2C */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t2);
|
|
/* 02C60D30 */ _t3 = cpu->r[12] + 0xFFFFF140u;
|
|
/* 02C60D30 */ cpu->f[0] = rbrew_read_f64(cpu->mem, _t3);
|
|
/* 02C60D34 */ cpu->r[10] = 0x101B0000u;
|
|
/* 02C60D38 */ cpu->f[9] = fma(cpu->f[10], cpu->f[0], cpu->f[11]);
|
|
/* 02C60D3C */ _t4 = cpu->r[10] + 0xFFFFF150u;
|
|
/* 02C60D3C */ cpu->f[13] = rbrew_read_f64(cpu->mem, _t4);
|
|
/* 02C60D40 */ cpu->r[0] = 0x43300000u;
|
|
/* 02C60D44 */ _t5 = cpu->r[1] + 0x00000010u;
|
|
/* 02C60D44 */ rbrew_write_f64(cpu->mem, _t5, cpu->f[9]);
|
|
/* 02C60D48 */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 02C60D48 */ cpu->r[8] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02C60D4C */ _t7 = cpu->r[1] + 0x00000008u;
|
|
/* 02C60D4C */ rbrew_write32(cpu->mem, _t7, cpu->r[0]);
|
|
/* 02C60D50 */ cpu->r[0] = rbrew_rlwinm(cpu->r[8], 0x00000000u, 0x00000008u, 0x0000001Fu);
|
|
/* 02C60D54 */ cpu->r[11] = rbrew_rlwinm(cpu->r[8], 0x0000000Cu, 0x00000014u, 0x0000001Bu);
|
|
/* 02C60D58 */ _t8 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C60D58 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
/* 02C60D5C */ _t9 = cpu->r[1] + 0x00000008u;
|
|
/* 02C60D5C */ cpu->f[9] = rbrew_read_f64(cpu->mem, _t9);
|
|
/* 02C60D60 */ cpu->f[10] = cpu->f[9] - cpu->f[13];
|
|
/* 02C60D64 */ cpu->r[9] = 0x101B0000u;
|
|
/* 02C60D68 */ cpu->r[12] = cpu->r[11] + 0x101B0000u;
|
|
/* 02C60D6C */ _t10 = cpu->r[9] + 0xFFFFF158u;
|
|
/* 02C60D6C */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t10);
|
|
/* 02C60D70 */ cpu->f[11] = (double)(float)cpu->f[10];
|
|
/* 02C60D74 */ cpu->r[10] = cpu->r[12] + 0xFFFFF1DCu;
|
|
/* 02C60D78 */ _t11 = cpu->r[4] + 0x00000000u;
|
|
/* 02C60D78 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t11);
|
|
/* 02C60D7C */ _t12 = cpu->r[10] + 0x0000000Cu;
|
|
/* 02C60D7C */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t12);
|
|
/* 02C60D80 */ cpu->f[8] = cpu->f[11] * cpu->f[12];
|
|
/* 02C60D84 */ _t13 = cpu->r[10] + 0x00000004u;
|
|
/* 02C60D84 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t13);
|
|
/* 02C60D88 */ _t14 = cpu->r[10] + 0x00000008u;
|
|
/* 02C60D88 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t14);
|
|
/* 02C60D8C */ cpu->f[7] = fma(cpu->f[13], cpu->f[8], cpu->f[0]);
|
|
/* 02C60D90 */ _t15 = cpu->r[12] + 0xFFFFF1DCu;
|
|
/* 02C60D90 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t15);
|
|
/* 02C60D94 */ cpu->f[9] = cpu->f[10] * cpu->f[7];
|
|
/* 02C60D98 */ cpu->f[13] = fma(cpu->f[11], cpu->f[8], cpu->f[12]);
|
|
/* 02C60D9C */ _t16 = cpu->r[3] + 0x00000000u;
|
|
/* 02C60D9C */ rbrew_write_f32(cpu->mem, _t16, cpu->f[9]);
|
|
/* 02C60DA0 */ _t17 = cpu->r[4] + 0x00000000u;
|
|
/* 02C60DA0 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t17);
|
|
/* 02C60DA4 */ cpu->f[11] = cpu->f[12] * cpu->f[13];
|
|
/* 02C60DA8 */ _t18 = cpu->r[3] + 0x00000004u;
|
|
/* 02C60DA8 */ rbrew_write_f32(cpu->mem, _t18, cpu->f[11]);
|
|
/* 02C60DAC */ _t19 = cpu->r[4] + 0x00000004u;
|
|
/* 02C60DAC */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t19);
|
|
/* 02C60DB0 */ cpu->f[13] = cpu->f[0] * cpu->f[13];
|
|
/* 02C60DB4 */ cpu->f[9] = -cpu->f[13];
|
|
/* 02C60DB8 */ _t20 = cpu->r[3] + 0x00000008u;
|
|
/* 02C60DB8 */ rbrew_write_f32(cpu->mem, _t20, cpu->f[9]);
|
|
/* 02C60DBC */ _t21 = cpu->r[4] + 0x00000004u;
|
|
/* 02C60DBC */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t21);
|
|
/* 02C60DC0 */ cpu->f[12] = cpu->f[13] * cpu->f[7];
|
|
/* 02C60DC4 */ _t22 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02C60DC4 */ rbrew_write_f32(cpu->mem, _t22, cpu->f[12]);
|
|
/* 02C60DC8 */ _t23 = cpu->r[4] + 0x0000000Cu;
|
|
/* 02C60DC8 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t23);
|
|
/* 02C60DCC */ _t24 = cpu->r[3] + 0x00000010u;
|
|
/* 02C60DCC */ rbrew_write_f32(cpu->mem, _t24, cpu->f[0]);
|
|
/* 02C60DD0 */ _t25 = cpu->r[4] + 0x00000010u;
|
|
/* 02C60DD0 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t25);
|
|
/* 02C60DD4 */ _t26 = cpu->r[3] + 0x00000014u;
|
|
/* 02C60DD4 */ rbrew_write_f32(cpu->mem, _t26, cpu->f[10]);
|
|
/* 02C60DD8 */ cpu->r[3] = 0x00000018u;
|
|
/* 02C60DDC */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C60DE0 */ return;
|
|
}
|
|
|
|
// fn_02C60D20 @ 0x2c60d20
|
|
void Gambit_fn_02C60D20(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_02C60D20: ; // 0x2c60d20
|
|
/* 02C60D20 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02C60D20 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C60D20 */ cpu->r[1] = _t0;
|
|
/* 02C60D24 */ _t1 = cpu->r[9] + 0xFFFFF148u;
|
|
/* 02C60D24 */ cpu->f[11] = rbrew_read_f64(cpu->mem, _t1);
|
|
/* 02C60D28 */ cpu->r[12] = 0x101B0000u;
|
|
/* 02C60D2C */ _t2 = cpu->r[4] + 0x00000008u;
|
|
/* 02C60D2C */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t2);
|
|
/* 02C60D30 */ _t3 = cpu->r[12] + 0xFFFFF140u;
|
|
/* 02C60D30 */ cpu->f[0] = rbrew_read_f64(cpu->mem, _t3);
|
|
/* 02C60D34 */ cpu->r[10] = 0x101B0000u;
|
|
/* 02C60D38 */ cpu->f[9] = fma(cpu->f[10], cpu->f[0], cpu->f[11]);
|
|
/* 02C60D3C */ _t4 = cpu->r[10] + 0xFFFFF150u;
|
|
/* 02C60D3C */ cpu->f[13] = rbrew_read_f64(cpu->mem, _t4);
|
|
/* 02C60D40 */ cpu->r[0] = 0x43300000u;
|
|
/* 02C60D44 */ _t5 = cpu->r[1] + 0x00000010u;
|
|
/* 02C60D44 */ rbrew_write_f64(cpu->mem, _t5, cpu->f[9]);
|
|
/* 02C60D48 */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 02C60D48 */ cpu->r[8] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02C60D4C */ _t7 = cpu->r[1] + 0x00000008u;
|
|
/* 02C60D4C */ rbrew_write32(cpu->mem, _t7, cpu->r[0]);
|
|
/* 02C60D50 */ cpu->r[0] = rbrew_rlwinm(cpu->r[8], 0x00000000u, 0x00000008u, 0x0000001Fu);
|
|
/* 02C60D54 */ cpu->r[11] = rbrew_rlwinm(cpu->r[8], 0x0000000Cu, 0x00000014u, 0x0000001Bu);
|
|
/* 02C60D58 */ _t8 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C60D58 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
/* 02C60D5C */ _t9 = cpu->r[1] + 0x00000008u;
|
|
/* 02C60D5C */ cpu->f[9] = rbrew_read_f64(cpu->mem, _t9);
|
|
/* 02C60D60 */ cpu->f[10] = cpu->f[9] - cpu->f[13];
|
|
/* 02C60D64 */ cpu->r[9] = 0x101B0000u;
|
|
/* 02C60D68 */ cpu->r[12] = cpu->r[11] + 0x101B0000u;
|
|
/* 02C60D6C */ _t10 = cpu->r[9] + 0xFFFFF158u;
|
|
/* 02C60D6C */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t10);
|
|
/* 02C60D70 */ cpu->f[11] = (double)(float)cpu->f[10];
|
|
/* 02C60D74 */ cpu->r[10] = cpu->r[12] + 0xFFFFF1DCu;
|
|
/* 02C60D78 */ _t11 = cpu->r[4] + 0x00000000u;
|
|
/* 02C60D78 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t11);
|
|
/* 02C60D7C */ _t12 = cpu->r[10] + 0x0000000Cu;
|
|
/* 02C60D7C */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t12);
|
|
/* 02C60D80 */ cpu->f[8] = cpu->f[11] * cpu->f[12];
|
|
/* 02C60D84 */ _t13 = cpu->r[10] + 0x00000004u;
|
|
/* 02C60D84 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t13);
|
|
/* 02C60D88 */ _t14 = cpu->r[10] + 0x00000008u;
|
|
/* 02C60D88 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t14);
|
|
/* 02C60D8C */ cpu->f[7] = fma(cpu->f[13], cpu->f[8], cpu->f[0]);
|
|
/* 02C60D90 */ _t15 = cpu->r[12] + 0xFFFFF1DCu;
|
|
/* 02C60D90 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t15);
|
|
/* 02C60D94 */ cpu->f[9] = cpu->f[10] * cpu->f[7];
|
|
/* 02C60D98 */ cpu->f[13] = fma(cpu->f[11], cpu->f[8], cpu->f[12]);
|
|
/* 02C60D9C */ _t16 = cpu->r[3] + 0x00000000u;
|
|
/* 02C60D9C */ rbrew_write_f32(cpu->mem, _t16, cpu->f[9]);
|
|
/* 02C60DA0 */ _t17 = cpu->r[4] + 0x00000000u;
|
|
/* 02C60DA0 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t17);
|
|
/* 02C60DA4 */ cpu->f[11] = cpu->f[12] * cpu->f[13];
|
|
/* 02C60DA8 */ _t18 = cpu->r[3] + 0x00000004u;
|
|
/* 02C60DA8 */ rbrew_write_f32(cpu->mem, _t18, cpu->f[11]);
|
|
/* 02C60DAC */ _t19 = cpu->r[4] + 0x00000004u;
|
|
/* 02C60DAC */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t19);
|
|
/* 02C60DB0 */ cpu->f[13] = cpu->f[0] * cpu->f[13];
|
|
/* 02C60DB4 */ cpu->f[9] = -cpu->f[13];
|
|
/* 02C60DB8 */ _t20 = cpu->r[3] + 0x00000008u;
|
|
/* 02C60DB8 */ rbrew_write_f32(cpu->mem, _t20, cpu->f[9]);
|
|
/* 02C60DBC */ _t21 = cpu->r[4] + 0x00000004u;
|
|
/* 02C60DBC */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t21);
|
|
/* 02C60DC0 */ cpu->f[12] = cpu->f[13] * cpu->f[7];
|
|
/* 02C60DC4 */ _t22 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02C60DC4 */ rbrew_write_f32(cpu->mem, _t22, cpu->f[12]);
|
|
/* 02C60DC8 */ _t23 = cpu->r[4] + 0x0000000Cu;
|
|
/* 02C60DC8 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t23);
|
|
/* 02C60DCC */ _t24 = cpu->r[3] + 0x00000010u;
|
|
/* 02C60DCC */ rbrew_write_f32(cpu->mem, _t24, cpu->f[0]);
|
|
/* 02C60DD0 */ _t25 = cpu->r[4] + 0x00000010u;
|
|
/* 02C60DD0 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t25);
|
|
/* 02C60DD4 */ _t26 = cpu->r[3] + 0x00000014u;
|
|
/* 02C60DD4 */ rbrew_write_f32(cpu->mem, _t26, cpu->f[10]);
|
|
/* 02C60DD8 */ cpu->r[3] = 0x00000018u;
|
|
/* 02C60DDC */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C60DE0 */ return;
|
|
}
|
|
|
|
// fn_02C60DE4 @ 0x2c60de4
|
|
void Gambit_fn_02C60DE4(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;
|
|
|
|
L_02C60DE4: ; // 0x2c60de4
|
|
/* 02C60DE4 */ cpu->r[8] = 0x101B0000u;
|
|
/* 02C60DE8 */ _t0 = cpu->r[1] + 0xFFFFFFD8u;
|
|
/* 02C60DE8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C60DE8 */ cpu->r[1] = _t0;
|
|
/* 02C60DEC */ _t1 = cpu->r[8] + 0xFFFFF148u;
|
|
/* 02C60DEC */ cpu->f[13] = rbrew_read_f64(cpu->mem, _t1);
|
|
/* 02C60DF0 */ cpu->r[11] = 0x101B0000u;
|
|
/* 02C60DF4 */ _t2 = cpu->r[4] + 0x0000000Cu;
|
|
/* 02C60DF4 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t2);
|
|
/* 02C60DF8 */ _t3 = cpu->r[11] + 0xFFFFF140u;
|
|
/* 02C60DF8 */ cpu->f[12] = rbrew_read_f64(cpu->mem, _t3);
|
|
/* 02C60DFC */ cpu->r[9] = 0x101B0000u;
|
|
/* 02C60E00 */ cpu->r[10] = 0x43300000u;
|
|
/* 02C60E04 */ cpu->f[0] = fma(cpu->f[0], cpu->f[12], cpu->f[13]);
|
|
/* 02C60E08 */ _t4 = cpu->r[9] + 0xFFFFF150u;
|
|
/* 02C60E08 */ cpu->f[11] = rbrew_read_f64(cpu->mem, _t4);
|
|
/* 02C60E0C */ cpu->r[8] = 0x101B0000u;
|
|
/* 02C60E10 */ _t5 = cpu->r[1] + 0x00000008u;
|
|
/* 02C60E10 */ rbrew_write32(cpu->mem, _t5, cpu->r[10]);
|
|
/* 02C60E14 */ cpu->r[12] = 0x101B0000u;
|
|
/* 02C60E18 */ _t6 = cpu->r[1] + 0x00000010u;
|
|
/* 02C60E18 */ rbrew_write_f64(cpu->mem, _t6, cpu->f[0]);
|
|
/* 02C60E1C */ _t7 = cpu->r[1] + 0x00000014u;
|
|
/* 02C60E1C */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02C60E20 */ cpu->r[12] = cpu->r[12] + 0xFFFFF1DCu;
|
|
/* 02C60E24 */ _t8 = cpu->r[8] + 0xFFFFF158u;
|
|
/* 02C60E24 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t8);
|
|
/* 02C60E28 */ cpu->r[9] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000008u, 0x0000001Fu);
|
|
/* 02C60E2C */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x0000000Cu, 0x00000014u, 0x0000001Bu);
|
|
/* 02C60E30 */ _t9 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C60E30 */ rbrew_write32(cpu->mem, _t9, cpu->r[9]);
|
|
/* 02C60E34 */ _t10 = cpu->r[1] + 0x00000008u;
|
|
/* 02C60E34 */ cpu->f[8] = rbrew_read_f64(cpu->mem, _t10);
|
|
/* 02C60E38 */ cpu->r[8] = cpu->r[12] + cpu->r[0];
|
|
/* 02C60E3C */ _t11 = cpu->r[4] + 0x00000010u;
|
|
/* 02C60E3C */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t11);
|
|
/* 02C60E40 */ cpu->f[7] = cpu->f[8] - cpu->f[11];
|
|
/* 02C60E44 */ _t12 = cpu->r[8] + 0x00000008u;
|
|
/* 02C60E44 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t12);
|
|
/* 02C60E48 */ cpu->f[10] = fma(cpu->f[10], cpu->f[12], cpu->f[13]);
|
|
/* 02C60E4C */ _t13 = cpu->r[8] + 0x0000000Cu;
|
|
/* 02C60E4C */ cpu->f[4] = rbrew_read_f32(cpu->mem, _t13);
|
|
/* 02C60E50 */ _t14 = cpu->r[12] + cpu->r[0];
|
|
/* 02C60E50 */ cpu->r[9] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02C60E54 */ cpu->f[7] = (double)(float)cpu->f[7];
|
|
/* 02C60E58 */ _t15 = cpu->r[1] + 0x00000018u;
|
|
/* 02C60E58 */ rbrew_write_f64(cpu->mem, _t15, cpu->f[10]);
|
|
/* 02C60E5C */ _t16 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C60E5C */ cpu->r[9] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02C60E60 */ cpu->f[2] = cpu->f[7] * cpu->f[0];
|
|
/* 02C60E64 */ cpu->r[10] = rbrew_rlwinm(cpu->r[9], 0x00000000u, 0x00000008u, 0x0000001Fu);
|
|
/* 02C60E68 */ _t17 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C60E68 */ rbrew_write32(cpu->mem, _t17, cpu->r[10]);
|
|
/* 02C60E6C */ _t18 = cpu->r[1] + 0x00000008u;
|
|
/* 02C60E6C */ cpu->f[10] = rbrew_read_f64(cpu->mem, _t18);
|
|
/* 02C60E70 */ cpu->f[6] = fma(cpu->f[8], cpu->f[2], cpu->f[9]);
|
|
/* 02C60E74 */ _t19 = cpu->r[4] + 0x00000014u;
|
|
/* 02C60E74 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t19);
|
|
/* 02C60E78 */ cpu->f[9] = cpu->f[10] - cpu->f[11];
|
|
/* 02C60E7C */ cpu->r[0] = rbrew_rlwinm(cpu->r[9], 0x0000000Cu, 0x00000014u, 0x0000001Bu);
|
|
/* 02C60E80 */ cpu->f[10] = cpu->f[8];
|
|
/* 02C60E84 */ _t20 = cpu->r[8] + 0x00000004u;
|
|
/* 02C60E84 */ cpu->f[5] = rbrew_read_f32(cpu->mem, _t20);
|
|
/* 02C60E88 */ cpu->f[9] = (double)(float)cpu->f[9];
|
|
/* 02C60E8C */ _t21 = cpu->r[12] + cpu->r[0];
|
|
/* 02C60E8C */ cpu->r[8] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02C60E90 */ cpu->r[11] = cpu->r[12] + cpu->r[0];
|
|
/* 02C60E94 */ cpu->f[13] = fma(cpu->f[10], cpu->f[12], cpu->f[13]);
|
|
/* 02C60E98 */ _t22 = cpu->r[11] + 0x0000000Cu;
|
|
/* 02C60E98 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t22);
|
|
/* 02C60E9C */ _t23 = cpu->r[11] + 0x00000008u;
|
|
/* 02C60E9C */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t23);
|
|
/* 02C60EA0 */ cpu->f[3] = cpu->f[9] * cpu->f[0];
|
|
/* 02C60EA4 */ _t24 = cpu->r[1] + 0x00000020u;
|
|
/* 02C60EA4 */ rbrew_write_f64(cpu->mem, _t24, cpu->f[13]);
|
|
/* 02C60EA8 */ _t25 = cpu->r[1] + 0x00000024u;
|
|
/* 02C60EA8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02C60EAC */ _t26 = cpu->r[11] + 0x00000004u;
|
|
/* 02C60EAC */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t26);
|
|
/* 02C60EB0 */ cpu->r[10] = rbrew_rlwinm(cpu->r[8], 0x00000000u, 0x00000008u, 0x0000001Fu);
|
|
/* 02C60EB4 */ cpu->f[5] = fma(cpu->f[4], cpu->f[2], cpu->f[5]);
|
|
/* 02C60EB8 */ _t27 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C60EB8 */ rbrew_write32(cpu->mem, _t27, cpu->r[10]);
|
|
/* 02C60EBC */ _t28 = cpu->r[1] + 0x00000008u;
|
|
/* 02C60EBC */ cpu->f[12] = rbrew_read_f64(cpu->mem, _t28);
|
|
/* 02C60EC0 */ cpu->f[4] = fma(cpu->f[10], cpu->f[3], cpu->f[13]);
|
|
/* 02C60EC4 */ cpu->f[12] = cpu->f[12] - cpu->f[11];
|
|
/* 02C60EC8 */ cpu->r[0] = rbrew_rlwinm(cpu->r[8], 0x0000000Cu, 0x00000014u, 0x0000001Bu);
|
|
/* 02C60ECC */ cpu->f[7] = fma(cpu->f[7], cpu->f[3], cpu->f[8]);
|
|
/* 02C60ED0 */ _t29 = cpu->r[4] + 0x00000000u;
|
|
/* 02C60ED0 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t29);
|
|
/* 02C60ED4 */ cpu->r[11] = cpu->r[12] + cpu->r[0];
|
|
/* 02C60ED8 */ cpu->f[9] = (double)(float)cpu->f[12];
|
|
/* 02C60EDC */ _t30 = cpu->r[11] + 0x0000000Cu;
|
|
/* 02C60EDC */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t30);
|
|
/* 02C60EE0 */ cpu->f[13] = cpu->f[13] * cpu->f[4];
|
|
/* 02C60EE4 */ _t31 = cpu->r[11] + 0x00000004u;
|
|
/* 02C60EE4 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t31);
|
|
/* 02C60EE8 */ cpu->f[9] = cpu->f[9] * cpu->f[0];
|
|
/* 02C60EEC */ _t32 = cpu->r[11] + 0x00000008u;
|
|
/* 02C60EEC */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t32);
|
|
/* 02C60EF0 */ _t33 = cpu->r[11] + 0x00000000u;
|
|
/* 02C60EF0 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t33);
|
|
/* 02C60EF4 */ cpu->f[8] = fma(cpu->f[11], cpu->f[9], cpu->f[12]);
|
|
/* 02C60EF8 */ cpu->f[9] = fma(cpu->f[10], cpu->f[9], cpu->f[0]);
|
|
/* 02C60EFC */ cpu->f[0] = cpu->f[13] * cpu->f[8];
|
|
/* 02C60F00 */ cpu->f[11] = cpu->f[6] * cpu->f[7];
|
|
/* 02C60F04 */ _t34 = cpu->r[3] + 0x00000000u;
|
|
/* 02C60F04 */ rbrew_write_f32(cpu->mem, _t34, cpu->f[0]);
|
|
/* 02C60F08 */ _t35 = cpu->r[4] + 0x00000004u;
|
|
/* 02C60F08 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t35);
|
|
/* 02C60F0C */ cpu->f[0] = cpu->f[0] * cpu->f[4];
|
|
/* 02C60F10 */ cpu->f[0] = cpu->f[0] * cpu->f[9];
|
|
/* 02C60F14 */ cpu->f[12] = cpu->f[5] * cpu->f[9];
|
|
/* 02C60F18 */ _t36 = cpu->r[3] + 0x00000010u;
|
|
/* 02C60F18 */ rbrew_write_f32(cpu->mem, _t36, cpu->f[0]);
|
|
/* 02C60F1C */ _t37 = cpu->r[4] + 0x00000008u;
|
|
/* 02C60F1C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t37);
|
|
/* 02C60F20 */ cpu->f[0] = cpu->f[0] * cpu->f[7];
|
|
/* 02C60F24 */ cpu->f[13] = fma(cpu->f[11], cpu->f[8], -(cpu->f[12]));
|
|
/* 02C60F28 */ cpu->f[0] = -cpu->f[0];
|
|
/* 02C60F2C */ cpu->f[10] = cpu->f[5] * cpu->f[8];
|
|
/* 02C60F30 */ _t38 = cpu->r[3] + 0x00000020u;
|
|
/* 02C60F30 */ rbrew_write_f32(cpu->mem, _t38, cpu->f[0]);
|
|
/* 02C60F34 */ _t39 = cpu->r[4] + 0x00000000u;
|
|
/* 02C60F34 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t39);
|
|
/* 02C60F38 */ cpu->f[0] = cpu->f[0] * cpu->f[13];
|
|
/* 02C60F3C */ cpu->f[13] = fma(cpu->f[11], cpu->f[9], cpu->f[10]);
|
|
/* 02C60F40 */ _t40 = cpu->r[3] + 0x00000004u;
|
|
/* 02C60F40 */ rbrew_write_f32(cpu->mem, _t40, cpu->f[0]);
|
|
/* 02C60F44 */ _t41 = cpu->r[4] + 0x00000004u;
|
|
/* 02C60F44 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t41);
|
|
/* 02C60F48 */ cpu->f[13] = cpu->f[0] * cpu->f[13];
|
|
/* 02C60F4C */ cpu->f[0] = cpu->f[6] * cpu->f[9];
|
|
/* 02C60F50 */ _t42 = cpu->r[3] + 0x00000014u;
|
|
/* 02C60F50 */ rbrew_write_f32(cpu->mem, _t42, cpu->f[13]);
|
|
/* 02C60F54 */ _t43 = cpu->r[4] + 0x00000008u;
|
|
/* 02C60F54 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t43);
|
|
/* 02C60F58 */ cpu->f[13] = cpu->f[13] * cpu->f[6];
|
|
/* 02C60F5C */ cpu->f[11] = fma(cpu->f[10], cpu->f[7], cpu->f[0]);
|
|
/* 02C60F60 */ cpu->f[13] = cpu->f[13] * cpu->f[4];
|
|
/* 02C60F64 */ cpu->f[0] = cpu->f[6] * cpu->f[8];
|
|
/* 02C60F68 */ _t44 = cpu->r[3] + 0x00000024u;
|
|
/* 02C60F68 */ rbrew_write_f32(cpu->mem, _t44, cpu->f[13]);
|
|
/* 02C60F6C */ _t45 = cpu->r[4] + 0x00000000u;
|
|
/* 02C60F6C */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t45);
|
|
/* 02C60F70 */ cpu->f[11] = cpu->f[13] * cpu->f[11];
|
|
/* 02C60F74 */ cpu->f[13] = fma(cpu->f[12], cpu->f[7], -(cpu->f[0]));
|
|
/* 02C60F78 */ _t46 = cpu->r[3] + 0x00000008u;
|
|
/* 02C60F78 */ rbrew_write_f32(cpu->mem, _t46, cpu->f[11]);
|
|
/* 02C60F7C */ _t47 = cpu->r[4] + 0x00000004u;
|
|
/* 02C60F7C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t47);
|
|
/* 02C60F80 */ cpu->f[0] = cpu->f[0] * cpu->f[13];
|
|
/* 02C60F84 */ _t48 = cpu->r[3] + 0x00000018u;
|
|
/* 02C60F84 */ rbrew_write_f32(cpu->mem, _t48, cpu->f[0]);
|
|
/* 02C60F88 */ _t49 = cpu->r[4] + 0x00000008u;
|
|
/* 02C60F88 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t49);
|
|
/* 02C60F8C */ cpu->f[0] = cpu->f[0] * cpu->f[5];
|
|
/* 02C60F90 */ cpu->f[0] = cpu->f[0] * cpu->f[4];
|
|
/* 02C60F94 */ _t50 = cpu->r[3] + 0x00000028u;
|
|
/* 02C60F94 */ rbrew_write_f32(cpu->mem, _t50, cpu->f[0]);
|
|
/* 02C60F98 */ _t51 = cpu->r[4] + 0x00000018u;
|
|
/* 02C60F98 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t51);
|
|
/* 02C60F9C */ _t52 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02C60F9C */ rbrew_write_f32(cpu->mem, _t52, cpu->f[0]);
|
|
/* 02C60FA0 */ _t53 = cpu->r[4] + 0x0000001Cu;
|
|
/* 02C60FA0 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t53);
|
|
/* 02C60FA4 */ _t54 = cpu->r[3] + 0x0000001Cu;
|
|
/* 02C60FA4 */ rbrew_write_f32(cpu->mem, _t54, cpu->f[0]);
|
|
/* 02C60FA8 */ _t55 = cpu->r[4] + 0x00000020u;
|
|
/* 02C60FA8 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t55);
|
|
/* 02C60FAC */ _t56 = cpu->r[3] + 0x0000002Cu;
|
|
/* 02C60FAC */ rbrew_write_f32(cpu->mem, _t56, cpu->f[0]);
|
|
/* 02C60FB0 */ cpu->r[3] = 0x00000030u;
|
|
/* 02C60FB4 */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 02C60FB8 */ return;
|
|
}
|
|
|
|
// fn_02C60DE8 @ 0x2c60de8
|
|
void Gambit_fn_02C60DE8(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;
|
|
|
|
L_02C60DE8: ; // 0x2c60de8
|
|
/* 02C60DE8 */ _t0 = cpu->r[1] + 0xFFFFFFD8u;
|
|
/* 02C60DE8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C60DE8 */ cpu->r[1] = _t0;
|
|
/* 02C60DEC */ _t1 = cpu->r[8] + 0xFFFFF148u;
|
|
/* 02C60DEC */ cpu->f[13] = rbrew_read_f64(cpu->mem, _t1);
|
|
/* 02C60DF0 */ cpu->r[11] = 0x101B0000u;
|
|
/* 02C60DF4 */ _t2 = cpu->r[4] + 0x0000000Cu;
|
|
/* 02C60DF4 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t2);
|
|
/* 02C60DF8 */ _t3 = cpu->r[11] + 0xFFFFF140u;
|
|
/* 02C60DF8 */ cpu->f[12] = rbrew_read_f64(cpu->mem, _t3);
|
|
/* 02C60DFC */ cpu->r[9] = 0x101B0000u;
|
|
/* 02C60E00 */ cpu->r[10] = 0x43300000u;
|
|
/* 02C60E04 */ cpu->f[0] = fma(cpu->f[0], cpu->f[12], cpu->f[13]);
|
|
/* 02C60E08 */ _t4 = cpu->r[9] + 0xFFFFF150u;
|
|
/* 02C60E08 */ cpu->f[11] = rbrew_read_f64(cpu->mem, _t4);
|
|
/* 02C60E0C */ cpu->r[8] = 0x101B0000u;
|
|
/* 02C60E10 */ _t5 = cpu->r[1] + 0x00000008u;
|
|
/* 02C60E10 */ rbrew_write32(cpu->mem, _t5, cpu->r[10]);
|
|
/* 02C60E14 */ cpu->r[12] = 0x101B0000u;
|
|
/* 02C60E18 */ _t6 = cpu->r[1] + 0x00000010u;
|
|
/* 02C60E18 */ rbrew_write_f64(cpu->mem, _t6, cpu->f[0]);
|
|
/* 02C60E1C */ _t7 = cpu->r[1] + 0x00000014u;
|
|
/* 02C60E1C */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02C60E20 */ cpu->r[12] = cpu->r[12] + 0xFFFFF1DCu;
|
|
/* 02C60E24 */ _t8 = cpu->r[8] + 0xFFFFF158u;
|
|
/* 02C60E24 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t8);
|
|
/* 02C60E28 */ cpu->r[9] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000008u, 0x0000001Fu);
|
|
/* 02C60E2C */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x0000000Cu, 0x00000014u, 0x0000001Bu);
|
|
/* 02C60E30 */ _t9 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C60E30 */ rbrew_write32(cpu->mem, _t9, cpu->r[9]);
|
|
/* 02C60E34 */ _t10 = cpu->r[1] + 0x00000008u;
|
|
/* 02C60E34 */ cpu->f[8] = rbrew_read_f64(cpu->mem, _t10);
|
|
/* 02C60E38 */ cpu->r[8] = cpu->r[12] + cpu->r[0];
|
|
/* 02C60E3C */ _t11 = cpu->r[4] + 0x00000010u;
|
|
/* 02C60E3C */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t11);
|
|
/* 02C60E40 */ cpu->f[7] = cpu->f[8] - cpu->f[11];
|
|
/* 02C60E44 */ _t12 = cpu->r[8] + 0x00000008u;
|
|
/* 02C60E44 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t12);
|
|
/* 02C60E48 */ cpu->f[10] = fma(cpu->f[10], cpu->f[12], cpu->f[13]);
|
|
/* 02C60E4C */ _t13 = cpu->r[8] + 0x0000000Cu;
|
|
/* 02C60E4C */ cpu->f[4] = rbrew_read_f32(cpu->mem, _t13);
|
|
/* 02C60E50 */ _t14 = cpu->r[12] + cpu->r[0];
|
|
/* 02C60E50 */ cpu->r[9] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02C60E54 */ cpu->f[7] = (double)(float)cpu->f[7];
|
|
/* 02C60E58 */ _t15 = cpu->r[1] + 0x00000018u;
|
|
/* 02C60E58 */ rbrew_write_f64(cpu->mem, _t15, cpu->f[10]);
|
|
/* 02C60E5C */ _t16 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C60E5C */ cpu->r[9] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02C60E60 */ cpu->f[2] = cpu->f[7] * cpu->f[0];
|
|
/* 02C60E64 */ cpu->r[10] = rbrew_rlwinm(cpu->r[9], 0x00000000u, 0x00000008u, 0x0000001Fu);
|
|
/* 02C60E68 */ _t17 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C60E68 */ rbrew_write32(cpu->mem, _t17, cpu->r[10]);
|
|
/* 02C60E6C */ _t18 = cpu->r[1] + 0x00000008u;
|
|
/* 02C60E6C */ cpu->f[10] = rbrew_read_f64(cpu->mem, _t18);
|
|
/* 02C60E70 */ cpu->f[6] = fma(cpu->f[8], cpu->f[2], cpu->f[9]);
|
|
/* 02C60E74 */ _t19 = cpu->r[4] + 0x00000014u;
|
|
/* 02C60E74 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t19);
|
|
/* 02C60E78 */ cpu->f[9] = cpu->f[10] - cpu->f[11];
|
|
/* 02C60E7C */ cpu->r[0] = rbrew_rlwinm(cpu->r[9], 0x0000000Cu, 0x00000014u, 0x0000001Bu);
|
|
/* 02C60E80 */ cpu->f[10] = cpu->f[8];
|
|
/* 02C60E84 */ _t20 = cpu->r[8] + 0x00000004u;
|
|
/* 02C60E84 */ cpu->f[5] = rbrew_read_f32(cpu->mem, _t20);
|
|
/* 02C60E88 */ cpu->f[9] = (double)(float)cpu->f[9];
|
|
/* 02C60E8C */ _t21 = cpu->r[12] + cpu->r[0];
|
|
/* 02C60E8C */ cpu->r[8] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02C60E90 */ cpu->r[11] = cpu->r[12] + cpu->r[0];
|
|
/* 02C60E94 */ cpu->f[13] = fma(cpu->f[10], cpu->f[12], cpu->f[13]);
|
|
/* 02C60E98 */ _t22 = cpu->r[11] + 0x0000000Cu;
|
|
/* 02C60E98 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t22);
|
|
/* 02C60E9C */ _t23 = cpu->r[11] + 0x00000008u;
|
|
/* 02C60E9C */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t23);
|
|
/* 02C60EA0 */ cpu->f[3] = cpu->f[9] * cpu->f[0];
|
|
/* 02C60EA4 */ _t24 = cpu->r[1] + 0x00000020u;
|
|
/* 02C60EA4 */ rbrew_write_f64(cpu->mem, _t24, cpu->f[13]);
|
|
/* 02C60EA8 */ _t25 = cpu->r[1] + 0x00000024u;
|
|
/* 02C60EA8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02C60EAC */ _t26 = cpu->r[11] + 0x00000004u;
|
|
/* 02C60EAC */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t26);
|
|
/* 02C60EB0 */ cpu->r[10] = rbrew_rlwinm(cpu->r[8], 0x00000000u, 0x00000008u, 0x0000001Fu);
|
|
/* 02C60EB4 */ cpu->f[5] = fma(cpu->f[4], cpu->f[2], cpu->f[5]);
|
|
/* 02C60EB8 */ _t27 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C60EB8 */ rbrew_write32(cpu->mem, _t27, cpu->r[10]);
|
|
/* 02C60EBC */ _t28 = cpu->r[1] + 0x00000008u;
|
|
/* 02C60EBC */ cpu->f[12] = rbrew_read_f64(cpu->mem, _t28);
|
|
/* 02C60EC0 */ cpu->f[4] = fma(cpu->f[10], cpu->f[3], cpu->f[13]);
|
|
/* 02C60EC4 */ cpu->f[12] = cpu->f[12] - cpu->f[11];
|
|
/* 02C60EC8 */ cpu->r[0] = rbrew_rlwinm(cpu->r[8], 0x0000000Cu, 0x00000014u, 0x0000001Bu);
|
|
/* 02C60ECC */ cpu->f[7] = fma(cpu->f[7], cpu->f[3], cpu->f[8]);
|
|
/* 02C60ED0 */ _t29 = cpu->r[4] + 0x00000000u;
|
|
/* 02C60ED0 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t29);
|
|
/* 02C60ED4 */ cpu->r[11] = cpu->r[12] + cpu->r[0];
|
|
/* 02C60ED8 */ cpu->f[9] = (double)(float)cpu->f[12];
|
|
/* 02C60EDC */ _t30 = cpu->r[11] + 0x0000000Cu;
|
|
/* 02C60EDC */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t30);
|
|
/* 02C60EE0 */ cpu->f[13] = cpu->f[13] * cpu->f[4];
|
|
/* 02C60EE4 */ _t31 = cpu->r[11] + 0x00000004u;
|
|
/* 02C60EE4 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t31);
|
|
/* 02C60EE8 */ cpu->f[9] = cpu->f[9] * cpu->f[0];
|
|
/* 02C60EEC */ _t32 = cpu->r[11] + 0x00000008u;
|
|
/* 02C60EEC */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t32);
|
|
/* 02C60EF0 */ _t33 = cpu->r[11] + 0x00000000u;
|
|
/* 02C60EF0 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t33);
|
|
/* 02C60EF4 */ cpu->f[8] = fma(cpu->f[11], cpu->f[9], cpu->f[12]);
|
|
/* 02C60EF8 */ cpu->f[9] = fma(cpu->f[10], cpu->f[9], cpu->f[0]);
|
|
/* 02C60EFC */ cpu->f[0] = cpu->f[13] * cpu->f[8];
|
|
/* 02C60F00 */ cpu->f[11] = cpu->f[6] * cpu->f[7];
|
|
/* 02C60F04 */ _t34 = cpu->r[3] + 0x00000000u;
|
|
/* 02C60F04 */ rbrew_write_f32(cpu->mem, _t34, cpu->f[0]);
|
|
/* 02C60F08 */ _t35 = cpu->r[4] + 0x00000004u;
|
|
/* 02C60F08 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t35);
|
|
/* 02C60F0C */ cpu->f[0] = cpu->f[0] * cpu->f[4];
|
|
/* 02C60F10 */ cpu->f[0] = cpu->f[0] * cpu->f[9];
|
|
/* 02C60F14 */ cpu->f[12] = cpu->f[5] * cpu->f[9];
|
|
/* 02C60F18 */ _t36 = cpu->r[3] + 0x00000010u;
|
|
/* 02C60F18 */ rbrew_write_f32(cpu->mem, _t36, cpu->f[0]);
|
|
/* 02C60F1C */ _t37 = cpu->r[4] + 0x00000008u;
|
|
/* 02C60F1C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t37);
|
|
/* 02C60F20 */ cpu->f[0] = cpu->f[0] * cpu->f[7];
|
|
/* 02C60F24 */ cpu->f[13] = fma(cpu->f[11], cpu->f[8], -(cpu->f[12]));
|
|
/* 02C60F28 */ cpu->f[0] = -cpu->f[0];
|
|
/* 02C60F2C */ cpu->f[10] = cpu->f[5] * cpu->f[8];
|
|
/* 02C60F30 */ _t38 = cpu->r[3] + 0x00000020u;
|
|
/* 02C60F30 */ rbrew_write_f32(cpu->mem, _t38, cpu->f[0]);
|
|
/* 02C60F34 */ _t39 = cpu->r[4] + 0x00000000u;
|
|
/* 02C60F34 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t39);
|
|
/* 02C60F38 */ cpu->f[0] = cpu->f[0] * cpu->f[13];
|
|
/* 02C60F3C */ cpu->f[13] = fma(cpu->f[11], cpu->f[9], cpu->f[10]);
|
|
/* 02C60F40 */ _t40 = cpu->r[3] + 0x00000004u;
|
|
/* 02C60F40 */ rbrew_write_f32(cpu->mem, _t40, cpu->f[0]);
|
|
/* 02C60F44 */ _t41 = cpu->r[4] + 0x00000004u;
|
|
/* 02C60F44 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t41);
|
|
/* 02C60F48 */ cpu->f[13] = cpu->f[0] * cpu->f[13];
|
|
/* 02C60F4C */ cpu->f[0] = cpu->f[6] * cpu->f[9];
|
|
/* 02C60F50 */ _t42 = cpu->r[3] + 0x00000014u;
|
|
/* 02C60F50 */ rbrew_write_f32(cpu->mem, _t42, cpu->f[13]);
|
|
/* 02C60F54 */ _t43 = cpu->r[4] + 0x00000008u;
|
|
/* 02C60F54 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t43);
|
|
/* 02C60F58 */ cpu->f[13] = cpu->f[13] * cpu->f[6];
|
|
/* 02C60F5C */ cpu->f[11] = fma(cpu->f[10], cpu->f[7], cpu->f[0]);
|
|
/* 02C60F60 */ cpu->f[13] = cpu->f[13] * cpu->f[4];
|
|
/* 02C60F64 */ cpu->f[0] = cpu->f[6] * cpu->f[8];
|
|
/* 02C60F68 */ _t44 = cpu->r[3] + 0x00000024u;
|
|
/* 02C60F68 */ rbrew_write_f32(cpu->mem, _t44, cpu->f[13]);
|
|
/* 02C60F6C */ _t45 = cpu->r[4] + 0x00000000u;
|
|
/* 02C60F6C */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t45);
|
|
/* 02C60F70 */ cpu->f[11] = cpu->f[13] * cpu->f[11];
|
|
/* 02C60F74 */ cpu->f[13] = fma(cpu->f[12], cpu->f[7], -(cpu->f[0]));
|
|
/* 02C60F78 */ _t46 = cpu->r[3] + 0x00000008u;
|
|
/* 02C60F78 */ rbrew_write_f32(cpu->mem, _t46, cpu->f[11]);
|
|
/* 02C60F7C */ _t47 = cpu->r[4] + 0x00000004u;
|
|
/* 02C60F7C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t47);
|
|
/* 02C60F80 */ cpu->f[0] = cpu->f[0] * cpu->f[13];
|
|
/* 02C60F84 */ _t48 = cpu->r[3] + 0x00000018u;
|
|
/* 02C60F84 */ rbrew_write_f32(cpu->mem, _t48, cpu->f[0]);
|
|
/* 02C60F88 */ _t49 = cpu->r[4] + 0x00000008u;
|
|
/* 02C60F88 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t49);
|
|
/* 02C60F8C */ cpu->f[0] = cpu->f[0] * cpu->f[5];
|
|
/* 02C60F90 */ cpu->f[0] = cpu->f[0] * cpu->f[4];
|
|
/* 02C60F94 */ _t50 = cpu->r[3] + 0x00000028u;
|
|
/* 02C60F94 */ rbrew_write_f32(cpu->mem, _t50, cpu->f[0]);
|
|
/* 02C60F98 */ _t51 = cpu->r[4] + 0x00000018u;
|
|
/* 02C60F98 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t51);
|
|
/* 02C60F9C */ _t52 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02C60F9C */ rbrew_write_f32(cpu->mem, _t52, cpu->f[0]);
|
|
/* 02C60FA0 */ _t53 = cpu->r[4] + 0x0000001Cu;
|
|
/* 02C60FA0 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t53);
|
|
/* 02C60FA4 */ _t54 = cpu->r[3] + 0x0000001Cu;
|
|
/* 02C60FA4 */ rbrew_write_f32(cpu->mem, _t54, cpu->f[0]);
|
|
/* 02C60FA8 */ _t55 = cpu->r[4] + 0x00000020u;
|
|
/* 02C60FA8 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t55);
|
|
/* 02C60FAC */ _t56 = cpu->r[3] + 0x0000002Cu;
|
|
/* 02C60FAC */ rbrew_write_f32(cpu->mem, _t56, cpu->f[0]);
|
|
/* 02C60FB0 */ cpu->r[3] = 0x00000030u;
|
|
/* 02C60FB4 */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 02C60FB8 */ return;
|
|
}
|
|
|
|
// fn_02C60FBC @ 0x2c60fbc
|
|
void Gambit_fn_02C60FBC(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_02C60FBC: ; // 0x2c60fbc
|
|
/* 02C60FBC */ _t0 = cpu->r[4] + 0x00000000u;
|
|
/* 02C60FBC */ cpu->r[11] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02C60FC0 */ cpu->r[0] = 0x101B0000u;
|
|
/* 02C60FC4 */ cpu->r[0] = cpu->r[0] + 0xFFFFF16Cu;
|
|
/* 02C60FC8 */ cpu->r[10] = rbrew_rlwinm(cpu->r[11], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02C60FCC */ _t1 = cpu->r[10] + cpu->r[0];
|
|
/* 02C60FCC */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02C60FD0 */ cpu->ctr = cpu->r[12];
|
|
/* 02C60FD4 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_02C60FD8 @ 0x2c60fd8
|
|
void Gambit_fn_02C60FD8(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_02C60FD8: ; // 0x2c60fd8
|
|
/* 02C60FD8 */ _t0 = cpu->r[4] + 0x00000000u;
|
|
/* 02C60FD8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02C60FDC */ cpu->r[0] = 0x101B0000u;
|
|
/* 02C60FE0 */ cpu->r[0] = cpu->r[0] + 0xFFFFF178u;
|
|
/* 02C60FE4 */ cpu->r[10] = rbrew_rlwinm(cpu->r[11], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02C60FE8 */ _t1 = cpu->r[10] + cpu->r[0];
|
|
/* 02C60FE8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02C60FEC */ cpu->ctr = cpu->r[12];
|
|
/* 02C60FF0 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_02C60FF4 @ 0x2c60ff4
|
|
void Gambit_fn_02C60FF4(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_02C60FF4: ; // 0x2c60ff4
|
|
/* 02C60FF4 */ cpu->r[0] = cpu->lr;
|
|
/* 02C60FF8 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02C60FF8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C60FF8 */ cpu->r[1] = _t0;
|
|
/* 02C60FFC */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 02C60FFC */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02C61000 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02C61000 */ rbrew_write32(cpu->mem, _t2, cpu->r[28]);
|
|
/* 02C61004 */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C61004 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 02C61008 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 02C61008 */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
|
|
/* 02C6100C */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C6100C */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02C61010 */ cpu->r[29] = cpu->r[3];
|
|
/* 02C61014 */ _t6 = cpu->r[29] + 0x00000010u;
|
|
/* 02C61014 */ cpu->r[30] = rbrew_read8(cpu->mem, _t6);
|
|
/* 02C61018 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02C6101C */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6101C */ _t8 = _t7 & 0x00000001u;
|
|
/* 02C6101C */ if (_t8) goto L_02C61050; else goto L_02C61020;
|
|
L_02C61020: ; // 0x2c61020
|
|
/* 02C61020 */ cpu->r[28] = cpu->r[29] + 0x0000002Cu;
|
|
/* 02C61024 */ cpu->r[31] = 0x00000000u;
|
|
L_02C61028: ; // 0x2c61028
|
|
/* 02C61028 */ _t9 = cpu->r[28] + 0x00000000u;
|
|
/* 02C61028 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02C6102C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C61030 */ cpu->r[9] = 0x00000000u;
|
|
/* 02C61034 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C61034 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02C61034 */ if (_t11) goto L_02C6103C; else goto L_02C61038;
|
|
L_02C61038: ; // 0x2c61038
|
|
/* 02C61038 */ cpu->r[9] = cpu->r[28] + cpu->r[0];
|
|
L_02C6103C: ; // 0x2c6103c
|
|
/* 02C6103C */ cpu->r[3] = cpu->r[9] + cpu->r[31];
|
|
/* 02C61040 */ Gambit_fn_02C60D14(cpu);
|
|
/* 02C61044 */ cpu->r[30] = cpu->r[30] + 0xFFFFFFFFu;
|
|
/* 02C61044 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02C61048 */ cpu->r[31] = cpu->r[31] + 0x00000018u;
|
|
/* 02C6104C */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6104C */ _t13 = _t12 & 0x00000001u;
|
|
/* 02C6104C */ if (_t13) goto L_02C61050; else goto L_02C61028;
|
|
L_02C61050: ; // 0x2c61050
|
|
/* 02C61050 */ _t14 = cpu->r[29] + 0x00000012u;
|
|
/* 02C61050 */ cpu->r[10] = rbrew_read16(cpu->mem, _t14);
|
|
/* 02C61054 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02C61058 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C61058 */ _t16 = _t15 & 0x00000001u;
|
|
/* 02C61058 */ if (_t16) goto L_02C610B4; else goto L_02C6105C;
|
|
L_02C6105C: ; // 0x2c6105c
|
|
/* 02C6105C */ cpu->r[0] = 0x101B0000u;
|
|
/* 02C61060 */ cpu->ctr = cpu->r[10];
|
|
/* 02C61064 */ cpu->r[11] = 0x00000000u;
|
|
/* 02C61068 */ cpu->r[5] = cpu->r[29] + 0x00000034u;
|
|
/* 02C6106C */ cpu->r[0] = cpu->r[0] + 0xFFFFF0ECu;
|
|
L_02C61070: ; // 0x2c61070
|
|
/* 02C61070 */ _t17 = cpu->r[5] + 0x00000000u;
|
|
/* 02C61070 */ cpu->r[12] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02C61074 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02C61078 */ cpu->r[6] = 0x00000000u;
|
|
/* 02C6107C */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6107C */ _t19 = _t18 & 0x00000001u;
|
|
/* 02C6107C */ if (_t19) goto L_02C61084; else goto L_02C61080;
|
|
L_02C61080: ; // 0x2c61080
|
|
/* 02C61080 */ cpu->r[6] = cpu->r[5] + cpu->r[12];
|
|
L_02C61084: ; // 0x2c61084
|
|
/* 02C61084 */ _t20 = cpu->r[6] + cpu->r[11];
|
|
/* 02C61084 */ cpu->r[8] = rbrew_read8(cpu->mem, _t20);
|
|
/* 02C61088 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x0000001Cu);
|
|
/* 02C6108C */ cpu->r[7] = cpu->r[6] + cpu->r[11];
|
|
/* 02C61090 */ _t21 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C61090 */ _t22 = _t21 & 0x00000001u;
|
|
/* 02C61090 */ if (_t22) goto L_02C610AC; else goto L_02C61094;
|
|
L_02C61094: ; // 0x2c61094
|
|
/* 02C61094 */ _t23 = cpu->r[7] + 0x00000008u;
|
|
/* 02C61094 */ cpu->r[10] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02C61094 */ cpu->r[7] = _t23;
|
|
/* 02C61098 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02C6109C */ _t24 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6109C */ _t25 = _t24 & 0x00000001u;
|
|
/* 02C6109C */ if (_t25) goto L_02C610A0; else goto L_02C610AC;
|
|
L_02C610A0: ; // 0x2c610a0
|
|
/* 02C610A0 */ cpu->r[12] = rbrew_rlwinm(cpu->r[8], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02C610A4 */ _t26 = cpu->r[12] + cpu->r[0];
|
|
/* 02C610A4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02C610A8 */ _t27 = cpu->r[7] + 0x00000000u;
|
|
/* 02C610A8 */ rbrew_write32(cpu->mem, _t27, cpu->r[9]);
|
|
L_02C610AC: ; // 0x2c610ac
|
|
/* 02C610AC */ cpu->r[11] = cpu->r[11] + 0x00000014u;
|
|
/* 02C610B0 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02C610B0 */ _t28 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02C610B0 */ _t29 = _t28 >> (0x00000002u & 31u);
|
|
/* 02C610B0 */ _t30 = _t29 & 0x00000001u;
|
|
/* 02C610B0 */ if (_t30) goto L_02C61070; else goto L_02C610B4;
|
|
L_02C610B4: ; // 0x2c610b4
|
|
/* 02C610B4 */ _t31 = cpu->r[1] + 0x00000008u;
|
|
/* 02C610B4 */ cpu->r[28] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02C610B8 */ _t32 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C610B8 */ cpu->r[29] = rbrew_read32(cpu->mem, _t32);
|
|
/* 02C610BC */ _t33 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C610BC */ cpu->r[0] = rbrew_read32(cpu->mem, _t33);
|
|
/* 02C610C0 */ _t34 = cpu->r[1] + 0x00000010u;
|
|
/* 02C610C0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t34);
|
|
/* 02C610C4 */ cpu->lr = cpu->r[0];
|
|
/* 02C610C8 */ _t35 = cpu->r[1] + 0x00000014u;
|
|
/* 02C610C8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t35);
|
|
/* 02C610CC */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C610D0 */ return;
|
|
}
|
|
|
|
// fn_02C60FF8 @ 0x2c60ff8
|
|
void Gambit_fn_02C60FF8(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_02C60FF8: ; // 0x2c60ff8
|
|
/* 02C60FF8 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02C60FF8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C60FF8 */ cpu->r[1] = _t0;
|
|
/* 02C60FFC */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 02C60FFC */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02C61000 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02C61000 */ rbrew_write32(cpu->mem, _t2, cpu->r[28]);
|
|
/* 02C61004 */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C61004 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 02C61008 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 02C61008 */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
|
|
/* 02C6100C */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C6100C */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02C61010 */ cpu->r[29] = cpu->r[3];
|
|
/* 02C61014 */ _t6 = cpu->r[29] + 0x00000010u;
|
|
/* 02C61014 */ cpu->r[30] = rbrew_read8(cpu->mem, _t6);
|
|
/* 02C61018 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02C6101C */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6101C */ _t8 = _t7 & 0x00000001u;
|
|
/* 02C6101C */ if (_t8) goto L_02C61050; else goto L_02C61020;
|
|
L_02C61020: ; // 0x2c61020
|
|
/* 02C61020 */ cpu->r[28] = cpu->r[29] + 0x0000002Cu;
|
|
/* 02C61024 */ cpu->r[31] = 0x00000000u;
|
|
L_02C61028: ; // 0x2c61028
|
|
/* 02C61028 */ _t9 = cpu->r[28] + 0x00000000u;
|
|
/* 02C61028 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02C6102C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C61030 */ cpu->r[9] = 0x00000000u;
|
|
/* 02C61034 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C61034 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02C61034 */ if (_t11) goto L_02C6103C; else goto L_02C61038;
|
|
L_02C61038: ; // 0x2c61038
|
|
/* 02C61038 */ cpu->r[9] = cpu->r[28] + cpu->r[0];
|
|
L_02C6103C: ; // 0x2c6103c
|
|
/* 02C6103C */ cpu->r[3] = cpu->r[9] + cpu->r[31];
|
|
/* 02C61040 */ Gambit_fn_02C60D14(cpu);
|
|
/* 02C61044 */ cpu->r[30] = cpu->r[30] + 0xFFFFFFFFu;
|
|
/* 02C61044 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02C61048 */ cpu->r[31] = cpu->r[31] + 0x00000018u;
|
|
/* 02C6104C */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6104C */ _t13 = _t12 & 0x00000001u;
|
|
/* 02C6104C */ if (_t13) goto L_02C61050; else goto L_02C61028;
|
|
L_02C61050: ; // 0x2c61050
|
|
/* 02C61050 */ _t14 = cpu->r[29] + 0x00000012u;
|
|
/* 02C61050 */ cpu->r[10] = rbrew_read16(cpu->mem, _t14);
|
|
/* 02C61054 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02C61058 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C61058 */ _t16 = _t15 & 0x00000001u;
|
|
/* 02C61058 */ if (_t16) goto L_02C610B4; else goto L_02C6105C;
|
|
L_02C6105C: ; // 0x2c6105c
|
|
/* 02C6105C */ cpu->r[0] = 0x101B0000u;
|
|
/* 02C61060 */ cpu->ctr = cpu->r[10];
|
|
/* 02C61064 */ cpu->r[11] = 0x00000000u;
|
|
/* 02C61068 */ cpu->r[5] = cpu->r[29] + 0x00000034u;
|
|
/* 02C6106C */ cpu->r[0] = cpu->r[0] + 0xFFFFF0ECu;
|
|
L_02C61070: ; // 0x2c61070
|
|
/* 02C61070 */ _t17 = cpu->r[5] + 0x00000000u;
|
|
/* 02C61070 */ cpu->r[12] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02C61074 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02C61078 */ cpu->r[6] = 0x00000000u;
|
|
/* 02C6107C */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6107C */ _t19 = _t18 & 0x00000001u;
|
|
/* 02C6107C */ if (_t19) goto L_02C61084; else goto L_02C61080;
|
|
L_02C61080: ; // 0x2c61080
|
|
/* 02C61080 */ cpu->r[6] = cpu->r[5] + cpu->r[12];
|
|
L_02C61084: ; // 0x2c61084
|
|
/* 02C61084 */ _t20 = cpu->r[6] + cpu->r[11];
|
|
/* 02C61084 */ cpu->r[8] = rbrew_read8(cpu->mem, _t20);
|
|
/* 02C61088 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x0000001Cu);
|
|
/* 02C6108C */ cpu->r[7] = cpu->r[6] + cpu->r[11];
|
|
/* 02C61090 */ _t21 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C61090 */ _t22 = _t21 & 0x00000001u;
|
|
/* 02C61090 */ if (_t22) goto L_02C610AC; else goto L_02C61094;
|
|
L_02C61094: ; // 0x2c61094
|
|
/* 02C61094 */ _t23 = cpu->r[7] + 0x00000008u;
|
|
/* 02C61094 */ cpu->r[10] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02C61094 */ cpu->r[7] = _t23;
|
|
/* 02C61098 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02C6109C */ _t24 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6109C */ _t25 = _t24 & 0x00000001u;
|
|
/* 02C6109C */ if (_t25) goto L_02C610A0; else goto L_02C610AC;
|
|
L_02C610A0: ; // 0x2c610a0
|
|
/* 02C610A0 */ cpu->r[12] = rbrew_rlwinm(cpu->r[8], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02C610A4 */ _t26 = cpu->r[12] + cpu->r[0];
|
|
/* 02C610A4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02C610A8 */ _t27 = cpu->r[7] + 0x00000000u;
|
|
/* 02C610A8 */ rbrew_write32(cpu->mem, _t27, cpu->r[9]);
|
|
L_02C610AC: ; // 0x2c610ac
|
|
/* 02C610AC */ cpu->r[11] = cpu->r[11] + 0x00000014u;
|
|
/* 02C610B0 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02C610B0 */ _t28 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02C610B0 */ _t29 = _t28 >> (0x00000002u & 31u);
|
|
/* 02C610B0 */ _t30 = _t29 & 0x00000001u;
|
|
/* 02C610B0 */ if (_t30) goto L_02C61070; else goto L_02C610B4;
|
|
L_02C610B4: ; // 0x2c610b4
|
|
/* 02C610B4 */ _t31 = cpu->r[1] + 0x00000008u;
|
|
/* 02C610B4 */ cpu->r[28] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02C610B8 */ _t32 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C610B8 */ cpu->r[29] = rbrew_read32(cpu->mem, _t32);
|
|
/* 02C610BC */ _t33 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C610BC */ cpu->r[0] = rbrew_read32(cpu->mem, _t33);
|
|
/* 02C610C0 */ _t34 = cpu->r[1] + 0x00000010u;
|
|
/* 02C610C0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t34);
|
|
/* 02C610C4 */ cpu->lr = cpu->r[0];
|
|
/* 02C610C8 */ _t35 = cpu->r[1] + 0x00000014u;
|
|
/* 02C610C8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t35);
|
|
/* 02C610CC */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C610D0 */ return;
|
|
}
|
|
|
|
// fn_02C610D4 @ 0x2c610d4
|
|
void Gambit_fn_02C610D4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16;
|
|
|
|
L_02C610D4: ; // 0x2c610d4
|
|
/* 02C610D4 */ cpu->r[0] = cpu->lr;
|
|
/* 02C610D8 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02C610D8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C610D8 */ cpu->r[1] = _t0;
|
|
/* 02C610DC */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C610DC */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
|
|
/* 02C610E0 */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 02C610E0 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02C610E4 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02C610E4 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 02C610E8 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C610E8 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02C610EC */ _t5 = cpu->r[3] + 0x00000010u;
|
|
/* 02C610EC */ cpu->r[31] = rbrew_read8(cpu->mem, _t5);
|
|
/* 02C610F0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02C610F4 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C610F4 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02C610F4 */ if (_t7) goto L_02C61128; else goto L_02C610F8;
|
|
L_02C610F8: ; // 0x2c610f8
|
|
/* 02C610F8 */ cpu->r[30] = cpu->r[3] + 0x0000002Cu;
|
|
/* 02C610FC */ cpu->r[29] = 0x00000000u;
|
|
L_02C61100: ; // 0x2c61100
|
|
/* 02C61100 */ _t8 = cpu->r[30] + 0x00000000u;
|
|
/* 02C61100 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C61104 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C61108 */ cpu->r[12] = 0x00000000u;
|
|
/* 02C6110C */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6110C */ _t10 = _t9 & 0x00000001u;
|
|
/* 02C6110C */ if (_t10) goto L_02C61114; else goto L_02C61110;
|
|
L_02C61110: ; // 0x2c61110
|
|
/* 02C61110 */ cpu->r[12] = cpu->r[30] + cpu->r[0];
|
|
L_02C61114: ; // 0x2c61114
|
|
/* 02C61114 */ cpu->r[3] = cpu->r[12] + cpu->r[29];
|
|
/* 02C61118 */ Gambit_fn_02C60D18(cpu);
|
|
/* 02C6111C */ cpu->r[31] = cpu->r[31] + 0xFFFFFFFFu;
|
|
/* 02C6111C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02C61120 */ cpu->r[29] = cpu->r[29] + 0x00000018u;
|
|
/* 02C61124 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C61124 */ _t12 = _t11 & 0x00000001u;
|
|
/* 02C61124 */ if (_t12) goto L_02C61128; else goto L_02C61100;
|
|
L_02C61128: ; // 0x2c61128
|
|
/* 02C61128 */ _t13 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C61128 */ cpu->r[29] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02C6112C */ _t14 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C6112C */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02C61130 */ _t15 = cpu->r[1] + 0x00000010u;
|
|
/* 02C61130 */ cpu->r[30] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02C61134 */ cpu->lr = cpu->r[0];
|
|
/* 02C61138 */ _t16 = cpu->r[1] + 0x00000014u;
|
|
/* 02C61138 */ cpu->r[31] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02C6113C */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C61140 */ return;
|
|
}
|
|
|
|
// fn_02C610D8 @ 0x2c610d8
|
|
void Gambit_fn_02C610D8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16;
|
|
|
|
L_02C610D8: ; // 0x2c610d8
|
|
/* 02C610D8 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02C610D8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C610D8 */ cpu->r[1] = _t0;
|
|
/* 02C610DC */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C610DC */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
|
|
/* 02C610E0 */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 02C610E0 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02C610E4 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02C610E4 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 02C610E8 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C610E8 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02C610EC */ _t5 = cpu->r[3] + 0x00000010u;
|
|
/* 02C610EC */ cpu->r[31] = rbrew_read8(cpu->mem, _t5);
|
|
/* 02C610F0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02C610F4 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C610F4 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02C610F4 */ if (_t7) goto L_02C61128; else goto L_02C610F8;
|
|
L_02C610F8: ; // 0x2c610f8
|
|
/* 02C610F8 */ cpu->r[30] = cpu->r[3] + 0x0000002Cu;
|
|
/* 02C610FC */ cpu->r[29] = 0x00000000u;
|
|
L_02C61100: ; // 0x2c61100
|
|
/* 02C61100 */ _t8 = cpu->r[30] + 0x00000000u;
|
|
/* 02C61100 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C61104 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C61108 */ cpu->r[12] = 0x00000000u;
|
|
/* 02C6110C */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6110C */ _t10 = _t9 & 0x00000001u;
|
|
/* 02C6110C */ if (_t10) goto L_02C61114; else goto L_02C61110;
|
|
L_02C61110: ; // 0x2c61110
|
|
/* 02C61110 */ cpu->r[12] = cpu->r[30] + cpu->r[0];
|
|
L_02C61114: ; // 0x2c61114
|
|
/* 02C61114 */ cpu->r[3] = cpu->r[12] + cpu->r[29];
|
|
/* 02C61118 */ Gambit_fn_02C60D18(cpu);
|
|
/* 02C6111C */ cpu->r[31] = cpu->r[31] + 0xFFFFFFFFu;
|
|
/* 02C6111C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02C61120 */ cpu->r[29] = cpu->r[29] + 0x00000018u;
|
|
/* 02C61124 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C61124 */ _t12 = _t11 & 0x00000001u;
|
|
/* 02C61124 */ if (_t12) goto L_02C61128; else goto L_02C61100;
|
|
L_02C61128: ; // 0x2c61128
|
|
/* 02C61128 */ _t13 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C61128 */ cpu->r[29] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02C6112C */ _t14 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C6112C */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02C61130 */ _t15 = cpu->r[1] + 0x00000010u;
|
|
/* 02C61130 */ cpu->r[30] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02C61134 */ cpu->lr = cpu->r[0];
|
|
/* 02C61138 */ _t16 = cpu->r[1] + 0x00000014u;
|
|
/* 02C61138 */ cpu->r[31] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02C6113C */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C61140 */ return;
|
|
}
|
|
|
|
// fn_02C61144 @ 0x2c61144
|
|
void Gambit_fn_02C61144(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18;
|
|
|
|
L_02C61144: ; // 0x2c61144
|
|
/* 02C61144 */ cpu->r[12] = cpu->r[3];
|
|
/* 02C61148 */ _t0 = cpu->r[12] + 0x00000012u;
|
|
/* 02C61148 */ cpu->r[0] = rbrew_read16(cpu->mem, _t0);
|
|
/* 02C6114C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C61150 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C61150 */ _t2 = _t1 & 0x00000001u;
|
|
/* 02C61150 */ if (_t2) goto L_02C61190; else goto L_02C61154;
|
|
L_02C61154: ; // 0x2c61154
|
|
/* 02C61154 */ cpu->r[7] = 0x00000000u;
|
|
/* 02C61158 */ cpu->ctr = cpu->r[0];
|
|
/* 02C6115C */ cpu->r[10] = 0xFFFFFFFFu;
|
|
/* 02C61160 */ cpu->r[9] = cpu->r[12] + 0x00000034u;
|
|
/* 02C61164 */ cpu->r[11] = cpu->r[7];
|
|
L_02C61168: ; // 0x2c61168
|
|
/* 02C61168 */ _t3 = cpu->r[9] + 0x00000000u;
|
|
/* 02C61168 */ cpu->r[6] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02C6116C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u);
|
|
/* 02C61170 */ cpu->r[5] = 0x00000000u;
|
|
/* 02C61174 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C61174 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02C61174 */ if (_t5) goto L_02C6117C; else goto L_02C61178;
|
|
L_02C61178: ; // 0x2c61178
|
|
/* 02C61178 */ cpu->r[5] = cpu->r[9] + cpu->r[6];
|
|
L_02C6117C: ; // 0x2c6117c
|
|
/* 02C6117C */ cpu->r[8] = cpu->r[5] + cpu->r[7];
|
|
/* 02C61180 */ _t6 = cpu->r[8] + 0x00000004u;
|
|
/* 02C61180 */ rbrew_write32(cpu->mem, _t6, cpu->r[10]);
|
|
/* 02C61184 */ cpu->r[7] = cpu->r[7] + 0x00000014u;
|
|
/* 02C61188 */ _t7 = cpu->r[8] + 0x00000008u;
|
|
/* 02C61188 */ rbrew_write32(cpu->mem, _t7, cpu->r[11]);
|
|
/* 02C6118C */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02C6118C */ _t8 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02C6118C */ _t9 = _t8 >> (0x00000002u & 31u);
|
|
/* 02C6118C */ _t10 = _t9 & 0x00000001u;
|
|
/* 02C6118C */ if (_t10) goto L_02C61168; else goto L_02C61190;
|
|
L_02C61190: ; // 0x2c61190
|
|
/* 02C61190 */ _t11 = cpu->r[12] + 0x00000010u;
|
|
/* 02C61190 */ cpu->r[11] = rbrew_read8(cpu->mem, _t11);
|
|
/* 02C61194 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C61198 */ _t12 = cpu->r[12] + 0x00000044u;
|
|
/* 02C61198 */ cpu->r[7] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02C6119C */ _t13 = cpu->r[12] + 0x00000014u;
|
|
/* 02C6119C */ rbrew_write16(cpu->mem, _t13, (uint16_t)cpu->r[3]);
|
|
/* 02C611A0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 02C611A4 */ _t14 = cpu->r[12] + 0x00000018u;
|
|
/* 02C611A4 */ rbrew_write16(cpu->mem, _t14, (uint16_t)cpu->r[3]);
|
|
/* 02C611A8 */ _t15 = cpu->r[12] + 0x00000048u;
|
|
/* 02C611A8 */ rbrew_write32(cpu->mem, _t15, cpu->r[3]);
|
|
/* 02C611AC */ cpu->r[10] = cpu->r[12] + 0x00000044u;
|
|
/* 02C611B0 */ _t16 = cpu->r[12] + 0x00000011u;
|
|
/* 02C611B0 */ rbrew_write8(cpu->mem, _t16, (uint8_t)cpu->r[11]);
|
|
/* 02C611B4 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C611B4 */ _t18 = _t17 & 0x00000001u;
|
|
/* 02C611B4 */ if (_t18) goto L_02C611BC; else goto L_02C611B8;
|
|
L_02C611B8: ; // 0x2c611b8
|
|
/* 02C611B8 */ cpu->r[3] = cpu->r[10] + cpu->r[7];
|
|
L_02C611BC: ; // 0x2c611bc
|
|
/* 02C611BC */ cpu->r[4] = 0x00000000u;
|
|
/* 02C611C0 */ /* nop */
|
|
/* 02C611C4 */ rbrew_dispatch(cpu, 0x02d0b880u); return;
|
|
}
|
|
|
|
// fn_02C611C8 @ 0x2c611c8
|
|
void Gambit_fn_02C611C8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
|
|
|
|
L_02C611C8: ; // 0x2c611c8
|
|
/* 02C611C8 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 02C611C8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C611C8 */ cpu->r[1] = _t0;
|
|
/* 02C611CC */ /* nop */
|
|
/* 02C611D0 */ cpu->r[0] = cpu->lr;
|
|
/* 02C611D4 */ _t1 = cpu->r[1] + 0x00000024u;
|
|
/* 02C611D4 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02C611D8 */ _t2 = cpu->r[3] + 0x00000010u;
|
|
/* 02C611D8 */ cpu->r[28] = rbrew_read8(cpu->mem, _t2);
|
|
/* 02C611DC */ cpu->r[27] = cpu->r[4];
|
|
/* 02C611E0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 02C611E4 */ cpu->r[31] = 0x00000000u;
|
|
/* 02C611E8 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C611E8 */ _t4 = _t3 & 0x00000001u;
|
|
/* 02C611E8 */ if (_t4) goto L_02C61230; else goto L_02C611EC;
|
|
L_02C611EC: ; // 0x2c611ec
|
|
/* 02C611EC */ cpu->r[30] = cpu->r[3] + 0x00000028u;
|
|
/* 02C611F0 */ cpu->r[29] = 0x00000000u;
|
|
L_02C611F4: ; // 0x2c611f4
|
|
/* 02C611F4 */ _t5 = cpu->r[30] + 0x00000000u;
|
|
/* 02C611F4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02C611F8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C611FC */ cpu->r[12] = 0x00000000u;
|
|
/* 02C61200 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C61200 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02C61200 */ if (_t7) goto L_02C61208; else goto L_02C61204;
|
|
L_02C61204: ; // 0x2c61204
|
|
/* 02C61204 */ cpu->r[12] = cpu->r[30] + cpu->r[0];
|
|
L_02C61208: ; // 0x2c61208
|
|
/* 02C61208 */ cpu->r[3] = cpu->r[12] + cpu->r[29];
|
|
/* 02C6120C */ _t8 = cpu->r[3] + 0x00000004u;
|
|
/* 02C6120C */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C61210 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C61214 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C61214 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02C61214 */ if (_t10) goto L_02C61218; else goto L_02C61224;
|
|
L_02C61218: ; // 0x2c61218
|
|
/* 02C61218 */ cpu->r[4] = cpu->r[27];
|
|
/* 02C6121C */ Gambit_fn_02C64F08(cpu);
|
|
/* 02C61220 */ cpu->r[31] = cpu->r[31] | cpu->r[3];
|
|
L_02C61224: ; // 0x2c61224
|
|
/* 02C61224 */ cpu->r[28] = cpu->r[28] + 0xFFFFFFFFu;
|
|
/* 02C61224 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 02C61228 */ cpu->r[29] = cpu->r[29] + 0x00000008u;
|
|
/* 02C6122C */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6122C */ _t12 = _t11 & 0x00000001u;
|
|
/* 02C6122C */ if (_t12) goto L_02C61230; else goto L_02C611F4;
|
|
L_02C61230: ; // 0x2c61230
|
|
/* 02C61230 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C61234 */ /* nop */
|
|
/* 02C61238 */ _t13 = cpu->r[1] + 0x00000024u;
|
|
/* 02C61238 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02C6123C */ cpu->lr = cpu->r[0];
|
|
/* 02C61240 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02C61244 */ return;
|
|
}
|
|
|
|
// fn_02C61248 @ 0x2c61248
|
|
void Gambit_fn_02C61248(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_02C61248: ; // 0x2c61248
|
|
/* 02C61248 */ cpu->r[11] = 0x101B0000u;
|
|
/* 02C6124C */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02C6124C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C6124C */ cpu->r[1] = _t0;
|
|
/* 02C61250 */ _t1 = cpu->r[11] + 0xFFFFF148u;
|
|
/* 02C61250 */ cpu->f[9] = rbrew_read_f64(cpu->mem, _t1);
|
|
/* 02C61254 */ cpu->r[8] = 0x101B0000u;
|
|
/* 02C61258 */ _t2 = cpu->r[4] + 0x0000000Cu;
|
|
/* 02C61258 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t2);
|
|
/* 02C6125C */ _t3 = cpu->r[8] + 0xFFFFF140u;
|
|
/* 02C6125C */ cpu->f[12] = rbrew_read_f64(cpu->mem, _t3);
|
|
/* 02C61260 */ cpu->r[11] = 0x101B0000u;
|
|
/* 02C61264 */ cpu->f[10] = fma(cpu->f[0], cpu->f[12], cpu->f[9]);
|
|
/* 02C61268 */ _t4 = cpu->r[11] + 0xFFFFF150u;
|
|
/* 02C61268 */ cpu->f[11] = rbrew_read_f64(cpu->mem, _t4);
|
|
/* 02C6126C */ cpu->r[10] = 0x101B0000u;
|
|
/* 02C61270 */ cpu->r[0] = 0x43300000u;
|
|
/* 02C61274 */ _t5 = cpu->r[1] + 0x00000010u;
|
|
/* 02C61274 */ rbrew_write_f64(cpu->mem, _t5, cpu->f[10]);
|
|
/* 02C61278 */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 02C61278 */ cpu->r[9] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02C6127C */ cpu->r[10] = cpu->r[10] + 0xFFFFF1DCu;
|
|
/* 02C61280 */ _t7 = cpu->r[1] + 0x00000008u;
|
|
/* 02C61280 */ rbrew_write32(cpu->mem, _t7, cpu->r[0]);
|
|
/* 02C61284 */ cpu->r[8] = rbrew_rlwinm(cpu->r[9], 0x00000000u, 0x00000008u, 0x0000001Fu);
|
|
/* 02C61288 */ cpu->r[0] = rbrew_rlwinm(cpu->r[9], 0x0000000Cu, 0x00000014u, 0x0000001Bu);
|
|
/* 02C6128C */ _t8 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C6128C */ rbrew_write32(cpu->mem, _t8, cpu->r[8]);
|
|
/* 02C61290 */ _t9 = cpu->r[1] + 0x00000008u;
|
|
/* 02C61290 */ cpu->f[13] = rbrew_read_f64(cpu->mem, _t9);
|
|
/* 02C61294 */ cpu->r[8] = cpu->r[10] + cpu->r[0];
|
|
/* 02C61298 */ cpu->f[0] = cpu->f[13] - cpu->f[11];
|
|
/* 02C6129C */ _t10 = cpu->r[8] + 0x00000008u;
|
|
/* 02C6129C */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t10);
|
|
/* 02C612A0 */ _t11 = cpu->r[8] + 0x00000004u;
|
|
/* 02C612A0 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t11);
|
|
/* 02C612A4 */ cpu->r[9] = 0x101B0000u;
|
|
/* 02C612A8 */ cpu->f[12] = (double)(float)cpu->f[0];
|
|
/* 02C612AC */ _t12 = cpu->r[9] + 0xFFFFF158u;
|
|
/* 02C612AC */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t12);
|
|
/* 02C612B0 */ _t13 = cpu->r[8] + 0x0000000Cu;
|
|
/* 02C612B0 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t13);
|
|
/* 02C612B4 */ cpu->f[10] = cpu->f[12] * cpu->f[10];
|
|
/* 02C612B8 */ _t14 = cpu->r[8] + 0x00000000u;
|
|
/* 02C612B8 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t14);
|
|
/* 02C612BC */ cpu->f[8] = fma(cpu->f[0], cpu->f[10], cpu->f[9]);
|
|
/* 02C612C0 */ _t15 = cpu->r[4] + 0x00000004u;
|
|
/* 02C612C0 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t15);
|
|
/* 02C612C4 */ cpu->f[7] = fma(cpu->f[11], cpu->f[10], cpu->f[13]);
|
|
/* 02C612C8 */ cpu->f[11] = cpu->f[12] * cpu->f[8];
|
|
/* 02C612CC */ _t16 = cpu->r[3] + 0x00000000u;
|
|
/* 02C612CC */ rbrew_write_f32(cpu->mem, _t16, cpu->f[11]);
|
|
/* 02C612D0 */ _t17 = cpu->r[4] + 0x00000008u;
|
|
/* 02C612D0 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t17);
|
|
/* 02C612D4 */ cpu->r[11] = 0x101B0000u;
|
|
/* 02C612D8 */ cpu->f[13] = cpu->f[9] * cpu->f[7];
|
|
/* 02C612DC */ _t18 = cpu->r[11] + 0xFFFFF190u;
|
|
/* 02C612DC */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t18);
|
|
/* 02C612E0 */ cpu->f[10] = -cpu->f[13];
|
|
/* 02C612E4 */ cpu->f[9] = cpu->f[0] * cpu->f[8];
|
|
/* 02C612E8 */ _t19 = cpu->r[3] + 0x00000004u;
|
|
/* 02C612E8 */ rbrew_write_f32(cpu->mem, _t19, cpu->f[10]);
|
|
/* 02C612EC */ _t20 = cpu->r[4] + 0x00000004u;
|
|
/* 02C612EC */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t20);
|
|
/* 02C612F0 */ cpu->r[11] = 0x101B0000u;
|
|
/* 02C612F4 */ cpu->f[11] = cpu->f[12] * cpu->f[7];
|
|
/* 02C612F8 */ _t21 = cpu->r[11] + 0xFFFFF18Cu;
|
|
/* 02C612F8 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t21);
|
|
/* 02C612FC */ _t22 = cpu->r[3] + 0x00000008u;
|
|
/* 02C612FC */ rbrew_write_f32(cpu->mem, _t22, cpu->f[11]);
|
|
/* 02C61300 */ _t23 = cpu->r[4] + 0x00000008u;
|
|
/* 02C61300 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t23);
|
|
/* 02C61304 */ cpu->f[11] = fma(cpu->f[13], cpu->f[7], -(cpu->f[13]));
|
|
/* 02C61308 */ cpu->f[13] = cpu->f[0] * cpu->f[8];
|
|
/* 02C6130C */ cpu->f[10] = cpu->f[9] - cpu->f[11];
|
|
/* 02C61310 */ _t24 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02C61310 */ rbrew_write_f32(cpu->mem, _t24, cpu->f[13]);
|
|
/* 02C61314 */ _t25 = cpu->r[4] + 0x00000010u;
|
|
/* 02C61314 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t25);
|
|
/* 02C61318 */ cpu->f[10] = cpu->f[10] - cpu->f[12];
|
|
/* 02C6131C */ _t26 = cpu->r[4] + 0x00000004u;
|
|
/* 02C6131C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t26);
|
|
/* 02C61320 */ cpu->f[13] = cpu->f[0] * cpu->f[10];
|
|
/* 02C61324 */ cpu->r[9] = 0x101B0000u;
|
|
/* 02C61328 */ cpu->f[10] = cpu->f[9] + cpu->f[11];
|
|
/* 02C6132C */ _t27 = cpu->r[3] + 0x00000010u;
|
|
/* 02C6132C */ rbrew_write_f32(cpu->mem, _t27, cpu->f[13]);
|
|
/* 02C61330 */ _t28 = cpu->r[4] + 0x00000014u;
|
|
/* 02C61330 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t28);
|
|
/* 02C61334 */ _t29 = cpu->r[9] + 0xFFFFF188u;
|
|
/* 02C61334 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t29);
|
|
/* 02C61338 */ cpu->f[12] = cpu->f[10] + cpu->f[12];
|
|
/* 02C6133C */ _t30 = cpu->r[4] + 0x00000008u;
|
|
/* 02C6133C */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t30);
|
|
/* 02C61340 */ cpu->f[9] = fma(cpu->f[13], cpu->f[12], cpu->f[0]);
|
|
/* 02C61344 */ _t31 = cpu->r[3] + 0x00000014u;
|
|
/* 02C61344 */ rbrew_write_f32(cpu->mem, _t31, cpu->f[9]);
|
|
/* 02C61348 */ cpu->r[3] = 0x00000018u;
|
|
/* 02C6134C */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C61350 */ return;
|
|
}
|
|
|
|
// fn_02C6124C @ 0x2c6124c
|
|
void Gambit_fn_02C6124C(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_02C6124C: ; // 0x2c6124c
|
|
/* 02C6124C */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02C6124C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C6124C */ cpu->r[1] = _t0;
|
|
/* 02C61250 */ _t1 = cpu->r[11] + 0xFFFFF148u;
|
|
/* 02C61250 */ cpu->f[9] = rbrew_read_f64(cpu->mem, _t1);
|
|
/* 02C61254 */ cpu->r[8] = 0x101B0000u;
|
|
/* 02C61258 */ _t2 = cpu->r[4] + 0x0000000Cu;
|
|
/* 02C61258 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t2);
|
|
/* 02C6125C */ _t3 = cpu->r[8] + 0xFFFFF140u;
|
|
/* 02C6125C */ cpu->f[12] = rbrew_read_f64(cpu->mem, _t3);
|
|
/* 02C61260 */ cpu->r[11] = 0x101B0000u;
|
|
/* 02C61264 */ cpu->f[10] = fma(cpu->f[0], cpu->f[12], cpu->f[9]);
|
|
/* 02C61268 */ _t4 = cpu->r[11] + 0xFFFFF150u;
|
|
/* 02C61268 */ cpu->f[11] = rbrew_read_f64(cpu->mem, _t4);
|
|
/* 02C6126C */ cpu->r[10] = 0x101B0000u;
|
|
/* 02C61270 */ cpu->r[0] = 0x43300000u;
|
|
/* 02C61274 */ _t5 = cpu->r[1] + 0x00000010u;
|
|
/* 02C61274 */ rbrew_write_f64(cpu->mem, _t5, cpu->f[10]);
|
|
/* 02C61278 */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 02C61278 */ cpu->r[9] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02C6127C */ cpu->r[10] = cpu->r[10] + 0xFFFFF1DCu;
|
|
/* 02C61280 */ _t7 = cpu->r[1] + 0x00000008u;
|
|
/* 02C61280 */ rbrew_write32(cpu->mem, _t7, cpu->r[0]);
|
|
/* 02C61284 */ cpu->r[8] = rbrew_rlwinm(cpu->r[9], 0x00000000u, 0x00000008u, 0x0000001Fu);
|
|
/* 02C61288 */ cpu->r[0] = rbrew_rlwinm(cpu->r[9], 0x0000000Cu, 0x00000014u, 0x0000001Bu);
|
|
/* 02C6128C */ _t8 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C6128C */ rbrew_write32(cpu->mem, _t8, cpu->r[8]);
|
|
/* 02C61290 */ _t9 = cpu->r[1] + 0x00000008u;
|
|
/* 02C61290 */ cpu->f[13] = rbrew_read_f64(cpu->mem, _t9);
|
|
/* 02C61294 */ cpu->r[8] = cpu->r[10] + cpu->r[0];
|
|
/* 02C61298 */ cpu->f[0] = cpu->f[13] - cpu->f[11];
|
|
/* 02C6129C */ _t10 = cpu->r[8] + 0x00000008u;
|
|
/* 02C6129C */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t10);
|
|
/* 02C612A0 */ _t11 = cpu->r[8] + 0x00000004u;
|
|
/* 02C612A0 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t11);
|
|
/* 02C612A4 */ cpu->r[9] = 0x101B0000u;
|
|
/* 02C612A8 */ cpu->f[12] = (double)(float)cpu->f[0];
|
|
/* 02C612AC */ _t12 = cpu->r[9] + 0xFFFFF158u;
|
|
/* 02C612AC */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t12);
|
|
/* 02C612B0 */ _t13 = cpu->r[8] + 0x0000000Cu;
|
|
/* 02C612B0 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t13);
|
|
/* 02C612B4 */ cpu->f[10] = cpu->f[12] * cpu->f[10];
|
|
/* 02C612B8 */ _t14 = cpu->r[8] + 0x00000000u;
|
|
/* 02C612B8 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t14);
|
|
/* 02C612BC */ cpu->f[8] = fma(cpu->f[0], cpu->f[10], cpu->f[9]);
|
|
/* 02C612C0 */ _t15 = cpu->r[4] + 0x00000004u;
|
|
/* 02C612C0 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t15);
|
|
/* 02C612C4 */ cpu->f[7] = fma(cpu->f[11], cpu->f[10], cpu->f[13]);
|
|
/* 02C612C8 */ cpu->f[11] = cpu->f[12] * cpu->f[8];
|
|
/* 02C612CC */ _t16 = cpu->r[3] + 0x00000000u;
|
|
/* 02C612CC */ rbrew_write_f32(cpu->mem, _t16, cpu->f[11]);
|
|
/* 02C612D0 */ _t17 = cpu->r[4] + 0x00000008u;
|
|
/* 02C612D0 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t17);
|
|
/* 02C612D4 */ cpu->r[11] = 0x101B0000u;
|
|
/* 02C612D8 */ cpu->f[13] = cpu->f[9] * cpu->f[7];
|
|
/* 02C612DC */ _t18 = cpu->r[11] + 0xFFFFF190u;
|
|
/* 02C612DC */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t18);
|
|
/* 02C612E0 */ cpu->f[10] = -cpu->f[13];
|
|
/* 02C612E4 */ cpu->f[9] = cpu->f[0] * cpu->f[8];
|
|
/* 02C612E8 */ _t19 = cpu->r[3] + 0x00000004u;
|
|
/* 02C612E8 */ rbrew_write_f32(cpu->mem, _t19, cpu->f[10]);
|
|
/* 02C612EC */ _t20 = cpu->r[4] + 0x00000004u;
|
|
/* 02C612EC */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t20);
|
|
/* 02C612F0 */ cpu->r[11] = 0x101B0000u;
|
|
/* 02C612F4 */ cpu->f[11] = cpu->f[12] * cpu->f[7];
|
|
/* 02C612F8 */ _t21 = cpu->r[11] + 0xFFFFF18Cu;
|
|
/* 02C612F8 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t21);
|
|
/* 02C612FC */ _t22 = cpu->r[3] + 0x00000008u;
|
|
/* 02C612FC */ rbrew_write_f32(cpu->mem, _t22, cpu->f[11]);
|
|
/* 02C61300 */ _t23 = cpu->r[4] + 0x00000008u;
|
|
/* 02C61300 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t23);
|
|
/* 02C61304 */ cpu->f[11] = fma(cpu->f[13], cpu->f[7], -(cpu->f[13]));
|
|
/* 02C61308 */ cpu->f[13] = cpu->f[0] * cpu->f[8];
|
|
/* 02C6130C */ cpu->f[10] = cpu->f[9] - cpu->f[11];
|
|
/* 02C61310 */ _t24 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02C61310 */ rbrew_write_f32(cpu->mem, _t24, cpu->f[13]);
|
|
/* 02C61314 */ _t25 = cpu->r[4] + 0x00000010u;
|
|
/* 02C61314 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t25);
|
|
/* 02C61318 */ cpu->f[10] = cpu->f[10] - cpu->f[12];
|
|
/* 02C6131C */ _t26 = cpu->r[4] + 0x00000004u;
|
|
/* 02C6131C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t26);
|
|
/* 02C61320 */ cpu->f[13] = cpu->f[0] * cpu->f[10];
|
|
/* 02C61324 */ cpu->r[9] = 0x101B0000u;
|
|
/* 02C61328 */ cpu->f[10] = cpu->f[9] + cpu->f[11];
|
|
/* 02C6132C */ _t27 = cpu->r[3] + 0x00000010u;
|
|
/* 02C6132C */ rbrew_write_f32(cpu->mem, _t27, cpu->f[13]);
|
|
/* 02C61330 */ _t28 = cpu->r[4] + 0x00000014u;
|
|
/* 02C61330 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t28);
|
|
/* 02C61334 */ _t29 = cpu->r[9] + 0xFFFFF188u;
|
|
/* 02C61334 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t29);
|
|
/* 02C61338 */ cpu->f[12] = cpu->f[10] + cpu->f[12];
|
|
/* 02C6133C */ _t30 = cpu->r[4] + 0x00000008u;
|
|
/* 02C6133C */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t30);
|
|
/* 02C61340 */ cpu->f[9] = fma(cpu->f[13], cpu->f[12], cpu->f[0]);
|
|
/* 02C61344 */ _t31 = cpu->r[3] + 0x00000014u;
|
|
/* 02C61344 */ rbrew_write_f32(cpu->mem, _t31, cpu->f[9]);
|
|
/* 02C61348 */ cpu->r[3] = 0x00000018u;
|
|
/* 02C6134C */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C61350 */ return;
|
|
}
|
|
|
|
// fn_02C61354 @ 0x2c61354
|
|
void Gambit_fn_02C61354(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_02C61354: ; // 0x2c61354
|
|
/* 02C61354 */ cpu->r[9] = 0x101B0000u;
|
|
/* 02C61358 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02C61358 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C61358 */ cpu->r[1] = _t0;
|
|
/* 02C6135C */ _t1 = cpu->r[9] + 0xFFFFF140u;
|
|
/* 02C6135C */ cpu->f[11] = rbrew_read_f64(cpu->mem, _t1);
|
|
/* 02C61360 */ cpu->r[11] = 0x101B0000u;
|
|
/* 02C61364 */ _t2 = cpu->r[4] + 0x0000000Cu;
|
|
/* 02C61364 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t2);
|
|
/* 02C61368 */ _t3 = cpu->r[11] + 0xFFFFF148u;
|
|
/* 02C61368 */ cpu->f[10] = rbrew_read_f64(cpu->mem, _t3);
|
|
/* 02C6136C */ cpu->r[11] = 0x43300000u;
|
|
/* 02C61370 */ cpu->f[12] = fma(cpu->f[0], cpu->f[11], cpu->f[10]);
|
|
/* 02C61374 */ _t4 = cpu->r[1] + 0x00000008u;
|
|
/* 02C61374 */ rbrew_write32(cpu->mem, _t4, cpu->r[11]);
|
|
/* 02C61378 */ cpu->r[11] = 0x101B0000u;
|
|
/* 02C6137C */ cpu->r[9] = 0x101B0000u;
|
|
/* 02C61380 */ _t5 = cpu->r[1] + 0x00000010u;
|
|
/* 02C61380 */ rbrew_write_f64(cpu->mem, _t5, cpu->f[12]);
|
|
/* 02C61384 */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 02C61384 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02C61388 */ cpu->r[9] = cpu->r[9] + 0xFFFFF1DCu;
|
|
/* 02C6138C */ _t7 = cpu->r[11] + 0xFFFFF150u;
|
|
/* 02C6138C */ cpu->f[13] = rbrew_read_f64(cpu->mem, _t7);
|
|
/* 02C61390 */ cpu->r[10] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000008u, 0x0000001Fu);
|
|
/* 02C61394 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x0000000Cu, 0x00000014u, 0x0000001Bu);
|
|
/* 02C61398 */ _t8 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C61398 */ rbrew_write32(cpu->mem, _t8, cpu->r[10]);
|
|
/* 02C6139C */ cpu->r[11] = cpu->r[9] + cpu->r[0];
|
|
/* 02C613A0 */ _t9 = cpu->r[1] + 0x00000008u;
|
|
/* 02C613A0 */ cpu->f[7] = rbrew_read_f64(cpu->mem, _t9);
|
|
/* 02C613A4 */ cpu->r[10] = 0x101B0000u;
|
|
/* 02C613A8 */ _t10 = cpu->r[11] + 0x00000008u;
|
|
/* 02C613A8 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t10);
|
|
/* 02C613AC */ cpu->f[8] = cpu->f[7] - cpu->f[13];
|
|
/* 02C613B0 */ _t11 = cpu->r[10] + 0xFFFFF158u;
|
|
/* 02C613B0 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t11);
|
|
/* 02C613B4 */ _t12 = cpu->r[11] + 0x00000000u;
|
|
/* 02C613B4 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t12);
|
|
/* 02C613B8 */ cpu->f[13] = (double)(float)cpu->f[8];
|
|
/* 02C613BC */ _t13 = cpu->r[11] + 0x0000000Cu;
|
|
/* 02C613BC */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t13);
|
|
/* 02C613C0 */ cpu->f[0] = cpu->f[13] * cpu->f[0];
|
|
/* 02C613C4 */ _t14 = cpu->r[11] + 0x00000004u;
|
|
/* 02C613C4 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t14);
|
|
/* 02C613C8 */ cpu->f[9] = fma(cpu->f[9], cpu->f[0], cpu->f[10]);
|
|
/* 02C613CC */ _t15 = cpu->r[4] + 0x00000008u;
|
|
/* 02C613CC */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t15);
|
|
/* 02C613D0 */ cpu->f[0] = fma(cpu->f[11], cpu->f[0], cpu->f[12]);
|
|
/* 02C613D4 */ _t16 = cpu->r[4] + 0x00000004u;
|
|
/* 02C613D4 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t16);
|
|
/* 02C613D8 */ cpu->f[10] = cpu->f[7] * cpu->f[9];
|
|
/* 02C613DC */ cpu->f[11] = cpu->f[8] * cpu->f[9];
|
|
/* 02C613E0 */ cpu->r[9] = 0x101B0000u;
|
|
/* 02C613E4 */ cpu->f[13] = -cpu->f[10];
|
|
/* 02C613E8 */ _t17 = cpu->r[9] + 0xFFFFF18Cu;
|
|
/* 02C613E8 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t17);
|
|
/* 02C613EC */ cpu->f[8] = cpu->f[8] * cpu->f[0];
|
|
/* 02C613F0 */ _t18 = cpu->r[3] + 0x00000004u;
|
|
/* 02C613F0 */ rbrew_write_f32(cpu->mem, _t18, cpu->f[13]);
|
|
/* 02C613F4 */ cpu->f[13] = cpu->f[7] * cpu->f[0];
|
|
/* 02C613F8 */ _t19 = cpu->r[3] + 0x00000000u;
|
|
/* 02C613F8 */ rbrew_write_f32(cpu->mem, _t19, cpu->f[8]);
|
|
/* 02C613FC */ _t20 = cpu->r[3] + 0x00000008u;
|
|
/* 02C613FC */ rbrew_write_f32(cpu->mem, _t20, cpu->f[11]);
|
|
/* 02C61400 */ _t21 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02C61400 */ rbrew_write_f32(cpu->mem, _t21, cpu->f[13]);
|
|
/* 02C61404 */ _t22 = cpu->r[4] + 0x00000010u;
|
|
/* 02C61404 */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t22);
|
|
/* 02C61408 */ _t23 = cpu->r[4] + 0x00000014u;
|
|
/* 02C61408 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t23);
|
|
/* 02C6140C */ cpu->f[0] = cpu->f[7] + cpu->f[12];
|
|
/* 02C61410 */ cpu->f[9] = cpu->f[9] - cpu->f[12];
|
|
/* 02C61414 */ cpu->f[8] = cpu->f[8] * cpu->f[0];
|
|
/* 02C61418 */ cpu->f[7] = fma(cpu->f[11], cpu->f[9], -(cpu->f[8]));
|
|
/* 02C6141C */ cpu->f[8] = cpu->f[7] + cpu->f[12];
|
|
/* 02C61420 */ _t24 = cpu->r[3] + 0x00000010u;
|
|
/* 02C61420 */ rbrew_write_f32(cpu->mem, _t24, cpu->f[8]);
|
|
/* 02C61424 */ _t25 = cpu->r[4] + 0x00000014u;
|
|
/* 02C61424 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t25);
|
|
/* 02C61428 */ _t26 = cpu->r[4] + 0x00000010u;
|
|
/* 02C61428 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t26);
|
|
/* 02C6142C */ cpu->f[9] = cpu->f[11] - cpu->f[12];
|
|
/* 02C61430 */ cpu->f[7] = cpu->f[8] + cpu->f[12];
|
|
/* 02C61434 */ cpu->f[9] = cpu->f[13] * cpu->f[9];
|
|
/* 02C61438 */ cpu->f[11] = fma(cpu->f[10], cpu->f[7], cpu->f[9]);
|
|
/* 02C6143C */ cpu->f[13] = cpu->f[11] + cpu->f[12];
|
|
/* 02C61440 */ _t27 = cpu->r[3] + 0x00000014u;
|
|
/* 02C61440 */ rbrew_write_f32(cpu->mem, _t27, cpu->f[13]);
|
|
/* 02C61444 */ cpu->r[3] = 0x00000018u;
|
|
/* 02C61448 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C6144C */ return;
|
|
}
|
|
|
|
// fn_02C61358 @ 0x2c61358
|
|
void Gambit_fn_02C61358(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_02C61358: ; // 0x2c61358
|
|
/* 02C61358 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02C61358 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C61358 */ cpu->r[1] = _t0;
|
|
/* 02C6135C */ _t1 = cpu->r[9] + 0xFFFFF140u;
|
|
/* 02C6135C */ cpu->f[11] = rbrew_read_f64(cpu->mem, _t1);
|
|
/* 02C61360 */ cpu->r[11] = 0x101B0000u;
|
|
/* 02C61364 */ _t2 = cpu->r[4] + 0x0000000Cu;
|
|
/* 02C61364 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t2);
|
|
/* 02C61368 */ _t3 = cpu->r[11] + 0xFFFFF148u;
|
|
/* 02C61368 */ cpu->f[10] = rbrew_read_f64(cpu->mem, _t3);
|
|
/* 02C6136C */ cpu->r[11] = 0x43300000u;
|
|
/* 02C61370 */ cpu->f[12] = fma(cpu->f[0], cpu->f[11], cpu->f[10]);
|
|
/* 02C61374 */ _t4 = cpu->r[1] + 0x00000008u;
|
|
/* 02C61374 */ rbrew_write32(cpu->mem, _t4, cpu->r[11]);
|
|
/* 02C61378 */ cpu->r[11] = 0x101B0000u;
|
|
/* 02C6137C */ cpu->r[9] = 0x101B0000u;
|
|
/* 02C61380 */ _t5 = cpu->r[1] + 0x00000010u;
|
|
/* 02C61380 */ rbrew_write_f64(cpu->mem, _t5, cpu->f[12]);
|
|
/* 02C61384 */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 02C61384 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02C61388 */ cpu->r[9] = cpu->r[9] + 0xFFFFF1DCu;
|
|
/* 02C6138C */ _t7 = cpu->r[11] + 0xFFFFF150u;
|
|
/* 02C6138C */ cpu->f[13] = rbrew_read_f64(cpu->mem, _t7);
|
|
/* 02C61390 */ cpu->r[10] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000008u, 0x0000001Fu);
|
|
/* 02C61394 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x0000000Cu, 0x00000014u, 0x0000001Bu);
|
|
/* 02C61398 */ _t8 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C61398 */ rbrew_write32(cpu->mem, _t8, cpu->r[10]);
|
|
/* 02C6139C */ cpu->r[11] = cpu->r[9] + cpu->r[0];
|
|
/* 02C613A0 */ _t9 = cpu->r[1] + 0x00000008u;
|
|
/* 02C613A0 */ cpu->f[7] = rbrew_read_f64(cpu->mem, _t9);
|
|
/* 02C613A4 */ cpu->r[10] = 0x101B0000u;
|
|
/* 02C613A8 */ _t10 = cpu->r[11] + 0x00000008u;
|
|
/* 02C613A8 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t10);
|
|
/* 02C613AC */ cpu->f[8] = cpu->f[7] - cpu->f[13];
|
|
/* 02C613B0 */ _t11 = cpu->r[10] + 0xFFFFF158u;
|
|
/* 02C613B0 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t11);
|
|
/* 02C613B4 */ _t12 = cpu->r[11] + 0x00000000u;
|
|
/* 02C613B4 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t12);
|
|
/* 02C613B8 */ cpu->f[13] = (double)(float)cpu->f[8];
|
|
/* 02C613BC */ _t13 = cpu->r[11] + 0x0000000Cu;
|
|
/* 02C613BC */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t13);
|
|
/* 02C613C0 */ cpu->f[0] = cpu->f[13] * cpu->f[0];
|
|
/* 02C613C4 */ _t14 = cpu->r[11] + 0x00000004u;
|
|
/* 02C613C4 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t14);
|
|
/* 02C613C8 */ cpu->f[9] = fma(cpu->f[9], cpu->f[0], cpu->f[10]);
|
|
/* 02C613CC */ _t15 = cpu->r[4] + 0x00000008u;
|
|
/* 02C613CC */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t15);
|
|
/* 02C613D0 */ cpu->f[0] = fma(cpu->f[11], cpu->f[0], cpu->f[12]);
|
|
/* 02C613D4 */ _t16 = cpu->r[4] + 0x00000004u;
|
|
/* 02C613D4 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t16);
|
|
/* 02C613D8 */ cpu->f[10] = cpu->f[7] * cpu->f[9];
|
|
/* 02C613DC */ cpu->f[11] = cpu->f[8] * cpu->f[9];
|
|
/* 02C613E0 */ cpu->r[9] = 0x101B0000u;
|
|
/* 02C613E4 */ cpu->f[13] = -cpu->f[10];
|
|
/* 02C613E8 */ _t17 = cpu->r[9] + 0xFFFFF18Cu;
|
|
/* 02C613E8 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t17);
|
|
/* 02C613EC */ cpu->f[8] = cpu->f[8] * cpu->f[0];
|
|
/* 02C613F0 */ _t18 = cpu->r[3] + 0x00000004u;
|
|
/* 02C613F0 */ rbrew_write_f32(cpu->mem, _t18, cpu->f[13]);
|
|
/* 02C613F4 */ cpu->f[13] = cpu->f[7] * cpu->f[0];
|
|
/* 02C613F8 */ _t19 = cpu->r[3] + 0x00000000u;
|
|
/* 02C613F8 */ rbrew_write_f32(cpu->mem, _t19, cpu->f[8]);
|
|
/* 02C613FC */ _t20 = cpu->r[3] + 0x00000008u;
|
|
/* 02C613FC */ rbrew_write_f32(cpu->mem, _t20, cpu->f[11]);
|
|
/* 02C61400 */ _t21 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02C61400 */ rbrew_write_f32(cpu->mem, _t21, cpu->f[13]);
|
|
/* 02C61404 */ _t22 = cpu->r[4] + 0x00000010u;
|
|
/* 02C61404 */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t22);
|
|
/* 02C61408 */ _t23 = cpu->r[4] + 0x00000014u;
|
|
/* 02C61408 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t23);
|
|
/* 02C6140C */ cpu->f[0] = cpu->f[7] + cpu->f[12];
|
|
/* 02C61410 */ cpu->f[9] = cpu->f[9] - cpu->f[12];
|
|
/* 02C61414 */ cpu->f[8] = cpu->f[8] * cpu->f[0];
|
|
/* 02C61418 */ cpu->f[7] = fma(cpu->f[11], cpu->f[9], -(cpu->f[8]));
|
|
/* 02C6141C */ cpu->f[8] = cpu->f[7] + cpu->f[12];
|
|
/* 02C61420 */ _t24 = cpu->r[3] + 0x00000010u;
|
|
/* 02C61420 */ rbrew_write_f32(cpu->mem, _t24, cpu->f[8]);
|
|
/* 02C61424 */ _t25 = cpu->r[4] + 0x00000014u;
|
|
/* 02C61424 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t25);
|
|
/* 02C61428 */ _t26 = cpu->r[4] + 0x00000010u;
|
|
/* 02C61428 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t26);
|
|
/* 02C6142C */ cpu->f[9] = cpu->f[11] - cpu->f[12];
|
|
/* 02C61430 */ cpu->f[7] = cpu->f[8] + cpu->f[12];
|
|
/* 02C61434 */ cpu->f[9] = cpu->f[13] * cpu->f[9];
|
|
/* 02C61438 */ cpu->f[11] = fma(cpu->f[10], cpu->f[7], cpu->f[9]);
|
|
/* 02C6143C */ cpu->f[13] = cpu->f[11] + cpu->f[12];
|
|
/* 02C61440 */ _t27 = cpu->r[3] + 0x00000014u;
|
|
/* 02C61440 */ rbrew_write_f32(cpu->mem, _t27, cpu->f[13]);
|
|
/* 02C61444 */ cpu->r[3] = 0x00000018u;
|
|
/* 02C61448 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C6144C */ return;
|
|
}
|
|
|
|
// fn_02C61450 @ 0x2c61450
|
|
void Gambit_fn_02C61450(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_02C61450: ; // 0x2c61450
|
|
/* 02C61450 */ cpu->r[9] = 0x101B0000u;
|
|
/* 02C61454 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02C61454 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C61454 */ cpu->r[1] = _t0;
|
|
/* 02C61458 */ _t1 = cpu->r[9] + 0xFFFFF140u;
|
|
/* 02C61458 */ cpu->f[10] = rbrew_read_f64(cpu->mem, _t1);
|
|
/* 02C6145C */ cpu->r[11] = 0x101B0000u;
|
|
/* 02C61460 */ _t2 = cpu->r[4] + 0x0000000Cu;
|
|
/* 02C61460 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t2);
|
|
/* 02C61464 */ _t3 = cpu->r[11] + 0xFFFFF148u;
|
|
/* 02C61464 */ cpu->f[11] = rbrew_read_f64(cpu->mem, _t3);
|
|
/* 02C61468 */ cpu->r[11] = 0x43300000u;
|
|
/* 02C6146C */ cpu->f[9] = fma(cpu->f[0], cpu->f[10], cpu->f[11]);
|
|
/* 02C61470 */ _t4 = cpu->r[1] + 0x00000008u;
|
|
/* 02C61470 */ rbrew_write32(cpu->mem, _t4, cpu->r[11]);
|
|
/* 02C61474 */ _t5 = cpu->r[1] + 0x00000010u;
|
|
/* 02C61474 */ rbrew_write_f64(cpu->mem, _t5, cpu->f[9]);
|
|
/* 02C61478 */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 02C61478 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02C6147C */ cpu->r[9] = 0x101B0000u;
|
|
/* 02C61480 */ _t7 = cpu->r[9] + 0xFFFFF150u;
|
|
/* 02C61480 */ cpu->f[0] = rbrew_read_f64(cpu->mem, _t7);
|
|
/* 02C61484 */ cpu->r[10] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000008u, 0x0000001Fu);
|
|
/* 02C61488 */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x0000000Cu, 0x00000014u, 0x0000001Bu);
|
|
/* 02C6148C */ _t8 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C6148C */ rbrew_write32(cpu->mem, _t8, cpu->r[10]);
|
|
/* 02C61490 */ _t9 = cpu->r[1] + 0x00000008u;
|
|
/* 02C61490 */ cpu->f[9] = rbrew_read_f64(cpu->mem, _t9);
|
|
/* 02C61494 */ cpu->r[8] = cpu->r[12] + 0x101B0000u;
|
|
/* 02C61498 */ cpu->f[10] = cpu->f[9] - cpu->f[0];
|
|
/* 02C6149C */ cpu->r[10] = cpu->r[8] + 0xFFFFF1DCu;
|
|
/* 02C614A0 */ cpu->r[8] = 0x101B0000u;
|
|
/* 02C614A4 */ _t10 = cpu->r[10] + 0x0000000Cu;
|
|
/* 02C614A4 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t10);
|
|
/* 02C614A8 */ cpu->f[0] = (double)(float)cpu->f[10];
|
|
/* 02C614AC */ _t11 = cpu->r[8] + 0xFFFFF158u;
|
|
/* 02C614AC */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t11);
|
|
/* 02C614B0 */ _t12 = cpu->r[10] + 0x00000004u;
|
|
/* 02C614B0 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t12);
|
|
/* 02C614B4 */ cpu->f[11] = cpu->f[0] * cpu->f[13];
|
|
/* 02C614B8 */ _t13 = cpu->r[10] + 0x00000000u;
|
|
/* 02C614B8 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t13);
|
|
/* 02C614BC */ _t14 = cpu->r[10] + 0x00000008u;
|
|
/* 02C614BC */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t14);
|
|
/* 02C614C0 */ cpu->f[8] = fma(cpu->f[8], cpu->f[11], cpu->f[9]);
|
|
/* 02C614C4 */ _t15 = cpu->r[4] + 0x00000004u;
|
|
/* 02C614C4 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t15);
|
|
/* 02C614C8 */ cpu->f[11] = fma(cpu->f[12], cpu->f[11], cpu->f[13]);
|
|
/* 02C614CC */ cpu->f[13] = cpu->f[0] * cpu->f[8];
|
|
/* 02C614D0 */ _t16 = cpu->r[4] + 0x00000008u;
|
|
/* 02C614D0 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t16);
|
|
/* 02C614D4 */ cpu->f[9] = cpu->f[0] * cpu->f[11];
|
|
/* 02C614D8 */ cpu->f[0] = cpu->f[12] * cpu->f[11];
|
|
/* 02C614DC */ _t17 = cpu->r[3] + 0x00000000u;
|
|
/* 02C614DC */ rbrew_write_f32(cpu->mem, _t17, cpu->f[13]);
|
|
/* 02C614E0 */ cpu->f[10] = -cpu->f[9];
|
|
/* 02C614E4 */ _t18 = cpu->r[3] + 0x00000004u;
|
|
/* 02C614E4 */ rbrew_write_f32(cpu->mem, _t18, cpu->f[0]);
|
|
/* 02C614E8 */ cpu->f[12] = cpu->f[12] * cpu->f[8];
|
|
/* 02C614EC */ _t19 = cpu->r[3] + 0x00000008u;
|
|
/* 02C614EC */ rbrew_write_f32(cpu->mem, _t19, cpu->f[10]);
|
|
/* 02C614F0 */ _t20 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02C614F0 */ rbrew_write_f32(cpu->mem, _t20, cpu->f[12]);
|
|
/* 02C614F4 */ _t21 = cpu->r[4] + 0x00000010u;
|
|
/* 02C614F4 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t21);
|
|
/* 02C614F8 */ cpu->f[13] = -fma(cpu->f[13], cpu->f[11], -(cpu->f[9]));
|
|
/* 02C614FC */ _t22 = cpu->r[4] + 0x00000014u;
|
|
/* 02C614FC */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t22);
|
|
/* 02C61500 */ cpu->f[9] = -fma(cpu->f[9], cpu->f[8], -(cpu->f[13]));
|
|
/* 02C61504 */ cpu->f[13] = -cpu->f[12];
|
|
/* 02C61508 */ _t23 = cpu->r[3] + 0x00000010u;
|
|
/* 02C61508 */ rbrew_write_f32(cpu->mem, _t23, cpu->f[9]);
|
|
/* 02C6150C */ _t24 = cpu->r[4] + 0x00000010u;
|
|
/* 02C6150C */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t24);
|
|
/* 02C61510 */ cpu->f[10] = -fma(cpu->f[0], cpu->f[8], -(cpu->f[13]));
|
|
/* 02C61514 */ _t25 = cpu->r[4] + 0x00000014u;
|
|
/* 02C61514 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t25);
|
|
/* 02C61518 */ cpu->r[12] = 0x101B0000u;
|
|
/* 02C6151C */ cpu->f[8] = fma(cpu->f[12], cpu->f[11], cpu->f[10]);
|
|
/* 02C61520 */ _t26 = cpu->r[12] + 0xFFFFF188u;
|
|
/* 02C61520 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t26);
|
|
/* 02C61524 */ cpu->f[11] = cpu->f[8] + cpu->f[12];
|
|
/* 02C61528 */ _t27 = cpu->r[3] + 0x00000014u;
|
|
/* 02C61528 */ rbrew_write_f32(cpu->mem, _t27, cpu->f[11]);
|
|
/* 02C6152C */ cpu->r[3] = 0x00000018u;
|
|
/* 02C61530 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C61534 */ return;
|
|
}
|
|
|
|
// fn_02C61454 @ 0x2c61454
|
|
void Gambit_fn_02C61454(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_02C61454: ; // 0x2c61454
|
|
/* 02C61454 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02C61454 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C61454 */ cpu->r[1] = _t0;
|
|
/* 02C61458 */ _t1 = cpu->r[9] + 0xFFFFF140u;
|
|
/* 02C61458 */ cpu->f[10] = rbrew_read_f64(cpu->mem, _t1);
|
|
/* 02C6145C */ cpu->r[11] = 0x101B0000u;
|
|
/* 02C61460 */ _t2 = cpu->r[4] + 0x0000000Cu;
|
|
/* 02C61460 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t2);
|
|
/* 02C61464 */ _t3 = cpu->r[11] + 0xFFFFF148u;
|
|
/* 02C61464 */ cpu->f[11] = rbrew_read_f64(cpu->mem, _t3);
|
|
/* 02C61468 */ cpu->r[11] = 0x43300000u;
|
|
/* 02C6146C */ cpu->f[9] = fma(cpu->f[0], cpu->f[10], cpu->f[11]);
|
|
/* 02C61470 */ _t4 = cpu->r[1] + 0x00000008u;
|
|
/* 02C61470 */ rbrew_write32(cpu->mem, _t4, cpu->r[11]);
|
|
/* 02C61474 */ _t5 = cpu->r[1] + 0x00000010u;
|
|
/* 02C61474 */ rbrew_write_f64(cpu->mem, _t5, cpu->f[9]);
|
|
/* 02C61478 */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 02C61478 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02C6147C */ cpu->r[9] = 0x101B0000u;
|
|
/* 02C61480 */ _t7 = cpu->r[9] + 0xFFFFF150u;
|
|
/* 02C61480 */ cpu->f[0] = rbrew_read_f64(cpu->mem, _t7);
|
|
/* 02C61484 */ cpu->r[10] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000008u, 0x0000001Fu);
|
|
/* 02C61488 */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x0000000Cu, 0x00000014u, 0x0000001Bu);
|
|
/* 02C6148C */ _t8 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C6148C */ rbrew_write32(cpu->mem, _t8, cpu->r[10]);
|
|
/* 02C61490 */ _t9 = cpu->r[1] + 0x00000008u;
|
|
/* 02C61490 */ cpu->f[9] = rbrew_read_f64(cpu->mem, _t9);
|
|
/* 02C61494 */ cpu->r[8] = cpu->r[12] + 0x101B0000u;
|
|
/* 02C61498 */ cpu->f[10] = cpu->f[9] - cpu->f[0];
|
|
/* 02C6149C */ cpu->r[10] = cpu->r[8] + 0xFFFFF1DCu;
|
|
/* 02C614A0 */ cpu->r[8] = 0x101B0000u;
|
|
/* 02C614A4 */ _t10 = cpu->r[10] + 0x0000000Cu;
|
|
/* 02C614A4 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t10);
|
|
/* 02C614A8 */ cpu->f[0] = (double)(float)cpu->f[10];
|
|
/* 02C614AC */ _t11 = cpu->r[8] + 0xFFFFF158u;
|
|
/* 02C614AC */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t11);
|
|
/* 02C614B0 */ _t12 = cpu->r[10] + 0x00000004u;
|
|
/* 02C614B0 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t12);
|
|
/* 02C614B4 */ cpu->f[11] = cpu->f[0] * cpu->f[13];
|
|
/* 02C614B8 */ _t13 = cpu->r[10] + 0x00000000u;
|
|
/* 02C614B8 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t13);
|
|
/* 02C614BC */ _t14 = cpu->r[10] + 0x00000008u;
|
|
/* 02C614BC */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t14);
|
|
/* 02C614C0 */ cpu->f[8] = fma(cpu->f[8], cpu->f[11], cpu->f[9]);
|
|
/* 02C614C4 */ _t15 = cpu->r[4] + 0x00000004u;
|
|
/* 02C614C4 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t15);
|
|
/* 02C614C8 */ cpu->f[11] = fma(cpu->f[12], cpu->f[11], cpu->f[13]);
|
|
/* 02C614CC */ cpu->f[13] = cpu->f[0] * cpu->f[8];
|
|
/* 02C614D0 */ _t16 = cpu->r[4] + 0x00000008u;
|
|
/* 02C614D0 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t16);
|
|
/* 02C614D4 */ cpu->f[9] = cpu->f[0] * cpu->f[11];
|
|
/* 02C614D8 */ cpu->f[0] = cpu->f[12] * cpu->f[11];
|
|
/* 02C614DC */ _t17 = cpu->r[3] + 0x00000000u;
|
|
/* 02C614DC */ rbrew_write_f32(cpu->mem, _t17, cpu->f[13]);
|
|
/* 02C614E0 */ cpu->f[10] = -cpu->f[9];
|
|
/* 02C614E4 */ _t18 = cpu->r[3] + 0x00000004u;
|
|
/* 02C614E4 */ rbrew_write_f32(cpu->mem, _t18, cpu->f[0]);
|
|
/* 02C614E8 */ cpu->f[12] = cpu->f[12] * cpu->f[8];
|
|
/* 02C614EC */ _t19 = cpu->r[3] + 0x00000008u;
|
|
/* 02C614EC */ rbrew_write_f32(cpu->mem, _t19, cpu->f[10]);
|
|
/* 02C614F0 */ _t20 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02C614F0 */ rbrew_write_f32(cpu->mem, _t20, cpu->f[12]);
|
|
/* 02C614F4 */ _t21 = cpu->r[4] + 0x00000010u;
|
|
/* 02C614F4 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t21);
|
|
/* 02C614F8 */ cpu->f[13] = -fma(cpu->f[13], cpu->f[11], -(cpu->f[9]));
|
|
/* 02C614FC */ _t22 = cpu->r[4] + 0x00000014u;
|
|
/* 02C614FC */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t22);
|
|
/* 02C61500 */ cpu->f[9] = -fma(cpu->f[9], cpu->f[8], -(cpu->f[13]));
|
|
/* 02C61504 */ cpu->f[13] = -cpu->f[12];
|
|
/* 02C61508 */ _t23 = cpu->r[3] + 0x00000010u;
|
|
/* 02C61508 */ rbrew_write_f32(cpu->mem, _t23, cpu->f[9]);
|
|
/* 02C6150C */ _t24 = cpu->r[4] + 0x00000010u;
|
|
/* 02C6150C */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t24);
|
|
/* 02C61510 */ cpu->f[10] = -fma(cpu->f[0], cpu->f[8], -(cpu->f[13]));
|
|
/* 02C61514 */ _t25 = cpu->r[4] + 0x00000014u;
|
|
/* 02C61514 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t25);
|
|
/* 02C61518 */ cpu->r[12] = 0x101B0000u;
|
|
/* 02C6151C */ cpu->f[8] = fma(cpu->f[12], cpu->f[11], cpu->f[10]);
|
|
/* 02C61520 */ _t26 = cpu->r[12] + 0xFFFFF188u;
|
|
/* 02C61520 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t26);
|
|
/* 02C61524 */ cpu->f[11] = cpu->f[8] + cpu->f[12];
|
|
/* 02C61528 */ _t27 = cpu->r[3] + 0x00000014u;
|
|
/* 02C61528 */ rbrew_write_f32(cpu->mem, _t27, cpu->f[11]);
|
|
/* 02C6152C */ cpu->r[3] = 0x00000018u;
|
|
/* 02C61530 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C61534 */ return;
|
|
}
|
|
|
|
// fn_02C61538 @ 0x2c61538
|
|
void Gambit_fn_02C61538(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;
|
|
|
|
L_02C61538: ; // 0x2c61538
|
|
/* 02C61538 */ cpu->r[0] = cpu->lr;
|
|
/* 02C6153C */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 02C6153C */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 02C61540 */ cpu->r[12] = 0x101B0000u;
|
|
/* 02C61544 */ _t1 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02C61544 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 02C61544 */ cpu->r[1] = _t1;
|
|
/* 02C61548 */ _t2 = cpu->r[12] + 0xFFFFF140u;
|
|
/* 02C61548 */ cpu->f[0] = rbrew_read_f64(cpu->mem, _t2);
|
|
/* 02C6154C */ cpu->r[10] = 0x101B0000u;
|
|
/* 02C61550 */ _t3 = cpu->r[4] + 0x0000000Cu;
|
|
/* 02C61550 */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t3);
|
|
/* 02C61554 */ _t4 = cpu->r[10] + 0xFFFFF148u;
|
|
/* 02C61554 */ cpu->f[13] = rbrew_read_f64(cpu->mem, _t4);
|
|
/* 02C61558 */ cpu->r[9] = 0x43300000u;
|
|
/* 02C6155C */ cpu->f[10] = fma(cpu->f[7], cpu->f[0], cpu->f[13]);
|
|
/* 02C61560 */ _t5 = cpu->r[1] + 0x00000008u;
|
|
/* 02C61560 */ rbrew_write32(cpu->mem, _t5, cpu->r[9]);
|
|
/* 02C61564 */ cpu->r[12] = 0x101B0000u;
|
|
/* 02C61568 */ cpu->r[11] = 0x101B0000u;
|
|
/* 02C6156C */ _t6 = cpu->r[1] + 0x00000010u;
|
|
/* 02C6156C */ rbrew_write_f64(cpu->mem, _t6, cpu->f[10]);
|
|
/* 02C61570 */ _t7 = cpu->r[1] + 0x00000014u;
|
|
/* 02C61570 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02C61574 */ cpu->r[11] = cpu->r[11] + 0xFFFFF1DCu;
|
|
/* 02C61578 */ _t8 = cpu->r[12] + 0xFFFFF150u;
|
|
/* 02C61578 */ cpu->f[8] = rbrew_read_f64(cpu->mem, _t8);
|
|
/* 02C6157C */ cpu->r[10] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000008u, 0x0000001Fu);
|
|
/* 02C61580 */ _t9 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C61580 */ rbrew_write32(cpu->mem, _t9, cpu->r[10]);
|
|
/* 02C61584 */ _t10 = cpu->r[1] + 0x00000008u;
|
|
/* 02C61584 */ cpu->f[12] = rbrew_read_f64(cpu->mem, _t10);
|
|
/* 02C61588 */ cpu->r[10] = 0x101B0000u;
|
|
/* 02C6158C */ _t11 = cpu->r[4] + 0x00000004u;
|
|
/* 02C6158C */ cpu->f[6] = rbrew_read_f32(cpu->mem, _t11);
|
|
/* 02C61590 */ cpu->f[13] = cpu->f[12] - cpu->f[8];
|
|
/* 02C61594 */ _t12 = cpu->r[4] + 0x00000010u;
|
|
/* 02C61594 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t12);
|
|
/* 02C61598 */ _t13 = cpu->r[10] + 0xFFFFF158u;
|
|
/* 02C61598 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t13);
|
|
/* 02C6159C */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x0000000Cu, 0x00000014u, 0x0000001Bu);
|
|
/* 02C615A0 */ cpu->f[11] = (double)(float)cpu->f[13];
|
|
/* 02C615A4 */ _t14 = cpu->r[11] + cpu->r[0];
|
|
/* 02C615A4 */ cpu->r[7] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02C615A4 */ cpu->r[11] = _t14;
|
|
/* 02C615A8 */ _t15 = cpu->r[11] + 0x00000008u;
|
|
/* 02C615A8 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t15);
|
|
/* 02C615AC */ cpu->f[13] = cpu->f[11] * cpu->f[9];
|
|
/* 02C615B0 */ _t16 = cpu->r[11] + 0x0000000Cu;
|
|
/* 02C615B0 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t16);
|
|
/* 02C615B4 */ cpu->f[11] = cpu->f[12] * cpu->f[6];
|
|
/* 02C615B8 */ _t17 = cpu->r[11] + 0x00000004u;
|
|
/* 02C615B8 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t17);
|
|
/* 02C615BC */ cpu->f[10] = fma(cpu->f[0], cpu->f[13], cpu->f[7]);
|
|
/* 02C615C0 */ _t18 = cpu->r[4] + 0x00000008u;
|
|
/* 02C615C0 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t18);
|
|
/* 02C615C4 */ cpu->f[13] = fma(cpu->f[8], cpu->f[13], cpu->f[9]);
|
|
/* 02C615C8 */ cpu->f[3] = cpu->f[1] * cpu->f[10];
|
|
/* 02C615CC */ cpu->f[5] = cpu->f[1] * cpu->f[13];
|
|
/* 02C615D0 */ cpu->f[4] = cpu->f[6] * cpu->f[10];
|
|
/* 02C615D4 */ cpu->f[2] = cpu->f[6] * cpu->f[13];
|
|
/* 02C615D8 */ cpu->f[13] = cpu->f[5] - cpu->f[3];
|
|
/* 02C615DC */ cpu->f[10] = cpu->f[2] + cpu->f[4];
|
|
/* 02C615E0 */ _t19 = cpu->r[4] + 0x00000014u;
|
|
/* 02C615E0 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t19);
|
|
/* 02C615E4 */ cpu->f[0] = cpu->f[13] + cpu->f[1];
|
|
/* 02C615E8 */ cpu->r[9] = 0x101B0000u;
|
|
/* 02C615EC */ cpu->f[7] = cpu->f[8] * cpu->f[1];
|
|
/* 02C615F0 */ _t20 = cpu->r[9] + 0xFFFFF190u;
|
|
/* 02C615F0 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t20);
|
|
/* 02C615F4 */ cpu->f[6] = cpu->f[10] - cpu->f[6];
|
|
/* 02C615F8 */ _t21 = cpu->r[4] + 0x00000018u;
|
|
/* 02C615F8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02C615FC */ cpu->r[10] = 0x101B0000u;
|
|
/* 02C61600 */ cpu->f[9] = fma(cpu->f[12], cpu->f[0], cpu->f[7]);
|
|
/* 02C61604 */ _t22 = cpu->r[10] + 0xFFFFF188u;
|
|
/* 02C61604 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t22);
|
|
/* 02C61608 */ cpu->f[1] = fma(cpu->f[12], cpu->f[6], -(cpu->f[11]));
|
|
/* 02C6160C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02C61610 */ cpu->r[12] = cpu->r[3];
|
|
/* 02C61614 */ cpu->f[6] = cpu->f[9] + cpu->f[10];
|
|
/* 02C61618 */ _t23 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C61618 */ _t24 = _t23 & 0x00000001u;
|
|
/* 02C61618 */ if (_t24) goto L_02C61714; else goto L_02C6161C;
|
|
L_02C6161C: ; // 0x2c6161c
|
|
/* 02C6161C */ _t25 = cpu->r[11] + 0x00000010u;
|
|
/* 02C6161C */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t25);
|
|
/* 02C61620 */ _t26 = cpu->r[11] + 0x00000000u;
|
|
/* 02C61620 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t26);
|
|
/* 02C61624 */ cpu->f[12] = cpu->f[4] * cpu->f[13];
|
|
/* 02C61628 */ cpu->f[0] = fma(cpu->f[2], cpu->f[11], cpu->f[12]);
|
|
/* 02C6162C */ _t27 = cpu->r[11] + 0x00000020u;
|
|
/* 02C6162C */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t27);
|
|
/* 02C61630 */ cpu->f[9] = fma(cpu->f[1], cpu->f[8], cpu->f[0]);
|
|
/* 02C61634 */ _t28 = cpu->r[12] + 0x00000000u;
|
|
/* 02C61634 */ rbrew_write_f32(cpu->mem, _t28, cpu->f[9]);
|
|
/* 02C61638 */ _t29 = cpu->r[11] + 0x00000000u;
|
|
/* 02C61638 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t29);
|
|
/* 02C6163C */ cpu->f[10] = cpu->f[3] * cpu->f[11];
|
|
/* 02C61640 */ _t30 = cpu->r[11] + 0x00000010u;
|
|
/* 02C61640 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t30);
|
|
/* 02C61644 */ cpu->f[13] = fma(cpu->f[5], cpu->f[12], -(cpu->f[10]));
|
|
/* 02C61648 */ _t31 = cpu->r[11] + 0x00000020u;
|
|
/* 02C61648 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t31);
|
|
/* 02C6164C */ cpu->f[7] = fma(cpu->f[6], cpu->f[0], cpu->f[13]);
|
|
/* 02C61650 */ _t32 = cpu->r[12] + 0x00000010u;
|
|
/* 02C61650 */ rbrew_write_f32(cpu->mem, _t32, cpu->f[7]);
|
|
/* 02C61654 */ _t33 = cpu->r[11] + 0x00000014u;
|
|
/* 02C61654 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t33);
|
|
/* 02C61658 */ _t34 = cpu->r[11] + 0x00000004u;
|
|
/* 02C61658 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t34);
|
|
/* 02C6165C */ cpu->f[9] = cpu->f[4] * cpu->f[10];
|
|
/* 02C61660 */ cpu->f[11] = fma(cpu->f[2], cpu->f[8], cpu->f[9]);
|
|
/* 02C61664 */ _t35 = cpu->r[11] + 0x00000024u;
|
|
/* 02C61664 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t35);
|
|
/* 02C61668 */ cpu->f[13] = fma(cpu->f[1], cpu->f[12], cpu->f[11]);
|
|
/* 02C6166C */ _t36 = cpu->r[12] + 0x00000004u;
|
|
/* 02C6166C */ rbrew_write_f32(cpu->mem, _t36, cpu->f[13]);
|
|
/* 02C61670 */ _t37 = cpu->r[11] + 0x00000004u;
|
|
/* 02C61670 */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t37);
|
|
/* 02C61674 */ cpu->f[0] = cpu->f[3] * cpu->f[7];
|
|
/* 02C61678 */ _t38 = cpu->r[11] + 0x00000014u;
|
|
/* 02C61678 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t38);
|
|
/* 02C6167C */ cpu->f[9] = fma(cpu->f[5], cpu->f[8], -(cpu->f[0]));
|
|
/* 02C61680 */ _t39 = cpu->r[11] + 0x00000024u;
|
|
/* 02C61680 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t39);
|
|
/* 02C61684 */ cpu->f[11] = fma(cpu->f[6], cpu->f[10], cpu->f[9]);
|
|
/* 02C61688 */ _t40 = cpu->r[12] + 0x00000014u;
|
|
/* 02C61688 */ rbrew_write_f32(cpu->mem, _t40, cpu->f[11]);
|
|
/* 02C6168C */ _t41 = cpu->r[11] + 0x00000018u;
|
|
/* 02C6168C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t41);
|
|
/* 02C61690 */ _t42 = cpu->r[11] + 0x00000008u;
|
|
/* 02C61690 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t42);
|
|
/* 02C61694 */ cpu->f[13] = cpu->f[4] * cpu->f[0];
|
|
/* 02C61698 */ cpu->f[7] = fma(cpu->f[2], cpu->f[12], cpu->f[13]);
|
|
/* 02C6169C */ _t43 = cpu->r[11] + 0x00000028u;
|
|
/* 02C6169C */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t43);
|
|
/* 02C616A0 */ cpu->f[9] = fma(cpu->f[1], cpu->f[8], cpu->f[7]);
|
|
/* 02C616A4 */ _t44 = cpu->r[12] + 0x00000008u;
|
|
/* 02C616A4 */ rbrew_write_f32(cpu->mem, _t44, cpu->f[9]);
|
|
/* 02C616A8 */ _t45 = cpu->r[11] + 0x00000008u;
|
|
/* 02C616A8 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t45);
|
|
/* 02C616AC */ cpu->f[10] = cpu->f[3] * cpu->f[11];
|
|
/* 02C616B0 */ _t46 = cpu->r[11] + 0x00000018u;
|
|
/* 02C616B0 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t46);
|
|
/* 02C616B4 */ cpu->f[13] = fma(cpu->f[5], cpu->f[12], -(cpu->f[10]));
|
|
/* 02C616B8 */ _t47 = cpu->r[11] + 0x00000028u;
|
|
/* 02C616B8 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t47);
|
|
/* 02C616BC */ cpu->f[7] = fma(cpu->f[6], cpu->f[0], cpu->f[13]);
|
|
/* 02C616C0 */ _t48 = cpu->r[12] + 0x00000018u;
|
|
/* 02C616C0 */ rbrew_write_f32(cpu->mem, _t48, cpu->f[7]);
|
|
/* 02C616C4 */ _t49 = cpu->r[11] + 0x0000001Cu;
|
|
/* 02C616C4 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t49);
|
|
/* 02C616C8 */ _t50 = cpu->r[11] + 0x0000000Cu;
|
|
/* 02C616C8 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t50);
|
|
/* 02C616CC */ cpu->f[0] = cpu->f[4] * cpu->f[8];
|
|
/* 02C616D0 */ cpu->f[9] = fma(cpu->f[2], cpu->f[13], cpu->f[0]);
|
|
/* 02C616D4 */ _t51 = cpu->r[11] + 0x0000002Cu;
|
|
/* 02C616D4 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t51);
|
|
/* 02C616D8 */ cpu->f[0] = fma(cpu->f[1], cpu->f[12], cpu->f[9]);
|
|
/* 02C616DC */ _t52 = cpu->r[12] + 0x0000000Cu;
|
|
/* 02C616DC */ rbrew_write_f32(cpu->mem, _t52, cpu->f[0]);
|
|
/* 02C616E0 */ _t53 = cpu->r[11] + 0x0000000Cu;
|
|
/* 02C616E0 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t53);
|
|
/* 02C616E4 */ cpu->f[7] = cpu->f[3] * cpu->f[8];
|
|
/* 02C616E8 */ _t54 = cpu->r[11] + 0x0000001Cu;
|
|
/* 02C616E8 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t54);
|
|
/* 02C616EC */ cpu->f[10] = fma(cpu->f[5], cpu->f[9], -(cpu->f[7]));
|
|
/* 02C616F0 */ _t55 = cpu->r[11] + 0x0000002Cu;
|
|
/* 02C616F0 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t55);
|
|
/* 02C616F4 */ cpu->f[12] = fma(cpu->f[6], cpu->f[11], cpu->f[10]);
|
|
/* 02C616F8 */ cpu->r[5] = 0x00000010u;
|
|
/* 02C616FC */ cpu->r[4] = cpu->r[11] + 0x00000020u;
|
|
/* 02C61700 */ cpu->r[3] = cpu->r[12] + 0x00000020u;
|
|
/* 02C61704 */ _t56 = cpu->r[12] + 0x0000001Cu;
|
|
/* 02C61704 */ rbrew_write_f32(cpu->mem, _t56, cpu->f[12]);
|
|
/* 02C61708 */ rbrew_dispatch(cpu, 0x02d0b870u);
|
|
/* 02C6170C */ cpu->r[3] = 0x00000030u;
|
|
/* 02C61710 */ goto L_02C61754;
|
|
L_02C61714: ; // 0x2c61714
|
|
/* 02C61714 */ cpu->f[7] = -cpu->f[3];
|
|
/* 02C61718 */ cpu->r[9] = 0x101B0000u;
|
|
/* 02C6171C */ _t57 = cpu->r[12] + 0x00000000u;
|
|
/* 02C6171C */ rbrew_write_f32(cpu->mem, _t57, cpu->f[2]);
|
|
/* 02C61720 */ _t58 = cpu->r[9] + 0xFFFFF184u;
|
|
/* 02C61720 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t58);
|
|
/* 02C61724 */ _t59 = cpu->r[12] + 0x00000010u;
|
|
/* 02C61724 */ rbrew_write_f32(cpu->mem, _t59, cpu->f[7]);
|
|
/* 02C61728 */ _t60 = cpu->r[12] + 0x00000004u;
|
|
/* 02C61728 */ rbrew_write_f32(cpu->mem, _t60, cpu->f[4]);
|
|
/* 02C6172C */ _t61 = cpu->r[12] + 0x00000014u;
|
|
/* 02C6172C */ rbrew_write_f32(cpu->mem, _t61, cpu->f[5]);
|
|
/* 02C61730 */ _t62 = cpu->r[12] + 0x00000008u;
|
|
/* 02C61730 */ rbrew_write_f32(cpu->mem, _t62, cpu->f[1]);
|
|
/* 02C61734 */ _t63 = cpu->r[12] + 0x00000018u;
|
|
/* 02C61734 */ rbrew_write_f32(cpu->mem, _t63, cpu->f[6]);
|
|
/* 02C61738 */ _t64 = cpu->r[12] + 0x0000002Cu;
|
|
/* 02C61738 */ rbrew_write_f32(cpu->mem, _t64, cpu->f[11]);
|
|
/* 02C6173C */ _t65 = cpu->r[12] + 0x00000024u;
|
|
/* 02C6173C */ rbrew_write_f32(cpu->mem, _t65, cpu->f[11]);
|
|
/* 02C61740 */ _t66 = cpu->r[12] + 0x00000020u;
|
|
/* 02C61740 */ rbrew_write_f32(cpu->mem, _t66, cpu->f[11]);
|
|
/* 02C61744 */ _t67 = cpu->r[12] + 0x0000001Cu;
|
|
/* 02C61744 */ rbrew_write_f32(cpu->mem, _t67, cpu->f[11]);
|
|
/* 02C61748 */ _t68 = cpu->r[12] + 0x0000000Cu;
|
|
/* 02C61748 */ rbrew_write_f32(cpu->mem, _t68, cpu->f[11]);
|
|
/* 02C6174C */ cpu->r[3] = 0x00000030u;
|
|
/* 02C61750 */ _t69 = cpu->r[12] + 0x00000028u;
|
|
/* 02C61750 */ rbrew_write_f32(cpu->mem, _t69, cpu->f[10]);
|
|
L_02C61754: ; // 0x2c61754
|
|
/* 02C61754 */ _t70 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C61754 */ cpu->r[0] = rbrew_read32(cpu->mem, _t70);
|
|
/* 02C61758 */ cpu->lr = cpu->r[0];
|
|
/* 02C6175C */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C61760 */ return;
|
|
}
|
|
|
|
// fn_02C61544 @ 0x2c61544
|
|
void Gambit_fn_02C61544(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;
|
|
|
|
L_02C61544: ; // 0x2c61544
|
|
/* 02C61544 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02C61544 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C61544 */ cpu->r[1] = _t0;
|
|
/* 02C61548 */ _t1 = cpu->r[12] + 0xFFFFF140u;
|
|
/* 02C61548 */ cpu->f[0] = rbrew_read_f64(cpu->mem, _t1);
|
|
/* 02C6154C */ cpu->r[10] = 0x101B0000u;
|
|
/* 02C61550 */ _t2 = cpu->r[4] + 0x0000000Cu;
|
|
/* 02C61550 */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t2);
|
|
/* 02C61554 */ _t3 = cpu->r[10] + 0xFFFFF148u;
|
|
/* 02C61554 */ cpu->f[13] = rbrew_read_f64(cpu->mem, _t3);
|
|
/* 02C61558 */ cpu->r[9] = 0x43300000u;
|
|
/* 02C6155C */ cpu->f[10] = fma(cpu->f[7], cpu->f[0], cpu->f[13]);
|
|
/* 02C61560 */ _t4 = cpu->r[1] + 0x00000008u;
|
|
/* 02C61560 */ rbrew_write32(cpu->mem, _t4, cpu->r[9]);
|
|
/* 02C61564 */ cpu->r[12] = 0x101B0000u;
|
|
/* 02C61568 */ cpu->r[11] = 0x101B0000u;
|
|
/* 02C6156C */ _t5 = cpu->r[1] + 0x00000010u;
|
|
/* 02C6156C */ rbrew_write_f64(cpu->mem, _t5, cpu->f[10]);
|
|
/* 02C61570 */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 02C61570 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02C61574 */ cpu->r[11] = cpu->r[11] + 0xFFFFF1DCu;
|
|
/* 02C61578 */ _t7 = cpu->r[12] + 0xFFFFF150u;
|
|
/* 02C61578 */ cpu->f[8] = rbrew_read_f64(cpu->mem, _t7);
|
|
/* 02C6157C */ cpu->r[10] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000008u, 0x0000001Fu);
|
|
/* 02C61580 */ _t8 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C61580 */ rbrew_write32(cpu->mem, _t8, cpu->r[10]);
|
|
/* 02C61584 */ _t9 = cpu->r[1] + 0x00000008u;
|
|
/* 02C61584 */ cpu->f[12] = rbrew_read_f64(cpu->mem, _t9);
|
|
/* 02C61588 */ cpu->r[10] = 0x101B0000u;
|
|
/* 02C6158C */ _t10 = cpu->r[4] + 0x00000004u;
|
|
/* 02C6158C */ cpu->f[6] = rbrew_read_f32(cpu->mem, _t10);
|
|
/* 02C61590 */ cpu->f[13] = cpu->f[12] - cpu->f[8];
|
|
/* 02C61594 */ _t11 = cpu->r[4] + 0x00000010u;
|
|
/* 02C61594 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t11);
|
|
/* 02C61598 */ _t12 = cpu->r[10] + 0xFFFFF158u;
|
|
/* 02C61598 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t12);
|
|
/* 02C6159C */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x0000000Cu, 0x00000014u, 0x0000001Bu);
|
|
/* 02C615A0 */ cpu->f[11] = (double)(float)cpu->f[13];
|
|
/* 02C615A4 */ _t13 = cpu->r[11] + cpu->r[0];
|
|
/* 02C615A4 */ cpu->r[7] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02C615A4 */ cpu->r[11] = _t13;
|
|
/* 02C615A8 */ _t14 = cpu->r[11] + 0x00000008u;
|
|
/* 02C615A8 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t14);
|
|
/* 02C615AC */ cpu->f[13] = cpu->f[11] * cpu->f[9];
|
|
/* 02C615B0 */ _t15 = cpu->r[11] + 0x0000000Cu;
|
|
/* 02C615B0 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t15);
|
|
/* 02C615B4 */ cpu->f[11] = cpu->f[12] * cpu->f[6];
|
|
/* 02C615B8 */ _t16 = cpu->r[11] + 0x00000004u;
|
|
/* 02C615B8 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t16);
|
|
/* 02C615BC */ cpu->f[10] = fma(cpu->f[0], cpu->f[13], cpu->f[7]);
|
|
/* 02C615C0 */ _t17 = cpu->r[4] + 0x00000008u;
|
|
/* 02C615C0 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t17);
|
|
/* 02C615C4 */ cpu->f[13] = fma(cpu->f[8], cpu->f[13], cpu->f[9]);
|
|
/* 02C615C8 */ cpu->f[3] = cpu->f[1] * cpu->f[10];
|
|
/* 02C615CC */ cpu->f[5] = cpu->f[1] * cpu->f[13];
|
|
/* 02C615D0 */ cpu->f[4] = cpu->f[6] * cpu->f[10];
|
|
/* 02C615D4 */ cpu->f[2] = cpu->f[6] * cpu->f[13];
|
|
/* 02C615D8 */ cpu->f[13] = cpu->f[5] - cpu->f[3];
|
|
/* 02C615DC */ cpu->f[10] = cpu->f[2] + cpu->f[4];
|
|
/* 02C615E0 */ _t18 = cpu->r[4] + 0x00000014u;
|
|
/* 02C615E0 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t18);
|
|
/* 02C615E4 */ cpu->f[0] = cpu->f[13] + cpu->f[1];
|
|
/* 02C615E8 */ cpu->r[9] = 0x101B0000u;
|
|
/* 02C615EC */ cpu->f[7] = cpu->f[8] * cpu->f[1];
|
|
/* 02C615F0 */ _t19 = cpu->r[9] + 0xFFFFF190u;
|
|
/* 02C615F0 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t19);
|
|
/* 02C615F4 */ cpu->f[6] = cpu->f[10] - cpu->f[6];
|
|
/* 02C615F8 */ _t20 = cpu->r[4] + 0x00000018u;
|
|
/* 02C615F8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02C615FC */ cpu->r[10] = 0x101B0000u;
|
|
/* 02C61600 */ cpu->f[9] = fma(cpu->f[12], cpu->f[0], cpu->f[7]);
|
|
/* 02C61604 */ _t21 = cpu->r[10] + 0xFFFFF188u;
|
|
/* 02C61604 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t21);
|
|
/* 02C61608 */ cpu->f[1] = fma(cpu->f[12], cpu->f[6], -(cpu->f[11]));
|
|
/* 02C6160C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02C61610 */ cpu->r[12] = cpu->r[3];
|
|
/* 02C61614 */ cpu->f[6] = cpu->f[9] + cpu->f[10];
|
|
/* 02C61618 */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C61618 */ _t23 = _t22 & 0x00000001u;
|
|
/* 02C61618 */ if (_t23) goto L_02C61714; else goto L_02C6161C;
|
|
L_02C6161C: ; // 0x2c6161c
|
|
/* 02C6161C */ _t24 = cpu->r[11] + 0x00000010u;
|
|
/* 02C6161C */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t24);
|
|
/* 02C61620 */ _t25 = cpu->r[11] + 0x00000000u;
|
|
/* 02C61620 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t25);
|
|
/* 02C61624 */ cpu->f[12] = cpu->f[4] * cpu->f[13];
|
|
/* 02C61628 */ cpu->f[0] = fma(cpu->f[2], cpu->f[11], cpu->f[12]);
|
|
/* 02C6162C */ _t26 = cpu->r[11] + 0x00000020u;
|
|
/* 02C6162C */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t26);
|
|
/* 02C61630 */ cpu->f[9] = fma(cpu->f[1], cpu->f[8], cpu->f[0]);
|
|
/* 02C61634 */ _t27 = cpu->r[12] + 0x00000000u;
|
|
/* 02C61634 */ rbrew_write_f32(cpu->mem, _t27, cpu->f[9]);
|
|
/* 02C61638 */ _t28 = cpu->r[11] + 0x00000000u;
|
|
/* 02C61638 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t28);
|
|
/* 02C6163C */ cpu->f[10] = cpu->f[3] * cpu->f[11];
|
|
/* 02C61640 */ _t29 = cpu->r[11] + 0x00000010u;
|
|
/* 02C61640 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t29);
|
|
/* 02C61644 */ cpu->f[13] = fma(cpu->f[5], cpu->f[12], -(cpu->f[10]));
|
|
/* 02C61648 */ _t30 = cpu->r[11] + 0x00000020u;
|
|
/* 02C61648 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t30);
|
|
/* 02C6164C */ cpu->f[7] = fma(cpu->f[6], cpu->f[0], cpu->f[13]);
|
|
/* 02C61650 */ _t31 = cpu->r[12] + 0x00000010u;
|
|
/* 02C61650 */ rbrew_write_f32(cpu->mem, _t31, cpu->f[7]);
|
|
/* 02C61654 */ _t32 = cpu->r[11] + 0x00000014u;
|
|
/* 02C61654 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t32);
|
|
/* 02C61658 */ _t33 = cpu->r[11] + 0x00000004u;
|
|
/* 02C61658 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t33);
|
|
/* 02C6165C */ cpu->f[9] = cpu->f[4] * cpu->f[10];
|
|
/* 02C61660 */ cpu->f[11] = fma(cpu->f[2], cpu->f[8], cpu->f[9]);
|
|
/* 02C61664 */ _t34 = cpu->r[11] + 0x00000024u;
|
|
/* 02C61664 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t34);
|
|
/* 02C61668 */ cpu->f[13] = fma(cpu->f[1], cpu->f[12], cpu->f[11]);
|
|
/* 02C6166C */ _t35 = cpu->r[12] + 0x00000004u;
|
|
/* 02C6166C */ rbrew_write_f32(cpu->mem, _t35, cpu->f[13]);
|
|
/* 02C61670 */ _t36 = cpu->r[11] + 0x00000004u;
|
|
/* 02C61670 */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t36);
|
|
/* 02C61674 */ cpu->f[0] = cpu->f[3] * cpu->f[7];
|
|
/* 02C61678 */ _t37 = cpu->r[11] + 0x00000014u;
|
|
/* 02C61678 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t37);
|
|
/* 02C6167C */ cpu->f[9] = fma(cpu->f[5], cpu->f[8], -(cpu->f[0]));
|
|
/* 02C61680 */ _t38 = cpu->r[11] + 0x00000024u;
|
|
/* 02C61680 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t38);
|
|
/* 02C61684 */ cpu->f[11] = fma(cpu->f[6], cpu->f[10], cpu->f[9]);
|
|
/* 02C61688 */ _t39 = cpu->r[12] + 0x00000014u;
|
|
/* 02C61688 */ rbrew_write_f32(cpu->mem, _t39, cpu->f[11]);
|
|
/* 02C6168C */ _t40 = cpu->r[11] + 0x00000018u;
|
|
/* 02C6168C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t40);
|
|
/* 02C61690 */ _t41 = cpu->r[11] + 0x00000008u;
|
|
/* 02C61690 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t41);
|
|
/* 02C61694 */ cpu->f[13] = cpu->f[4] * cpu->f[0];
|
|
/* 02C61698 */ cpu->f[7] = fma(cpu->f[2], cpu->f[12], cpu->f[13]);
|
|
/* 02C6169C */ _t42 = cpu->r[11] + 0x00000028u;
|
|
/* 02C6169C */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t42);
|
|
/* 02C616A0 */ cpu->f[9] = fma(cpu->f[1], cpu->f[8], cpu->f[7]);
|
|
/* 02C616A4 */ _t43 = cpu->r[12] + 0x00000008u;
|
|
/* 02C616A4 */ rbrew_write_f32(cpu->mem, _t43, cpu->f[9]);
|
|
/* 02C616A8 */ _t44 = cpu->r[11] + 0x00000008u;
|
|
/* 02C616A8 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t44);
|
|
/* 02C616AC */ cpu->f[10] = cpu->f[3] * cpu->f[11];
|
|
/* 02C616B0 */ _t45 = cpu->r[11] + 0x00000018u;
|
|
/* 02C616B0 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t45);
|
|
/* 02C616B4 */ cpu->f[13] = fma(cpu->f[5], cpu->f[12], -(cpu->f[10]));
|
|
/* 02C616B8 */ _t46 = cpu->r[11] + 0x00000028u;
|
|
/* 02C616B8 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t46);
|
|
/* 02C616BC */ cpu->f[7] = fma(cpu->f[6], cpu->f[0], cpu->f[13]);
|
|
/* 02C616C0 */ _t47 = cpu->r[12] + 0x00000018u;
|
|
/* 02C616C0 */ rbrew_write_f32(cpu->mem, _t47, cpu->f[7]);
|
|
/* 02C616C4 */ _t48 = cpu->r[11] + 0x0000001Cu;
|
|
/* 02C616C4 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t48);
|
|
/* 02C616C8 */ _t49 = cpu->r[11] + 0x0000000Cu;
|
|
/* 02C616C8 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t49);
|
|
/* 02C616CC */ cpu->f[0] = cpu->f[4] * cpu->f[8];
|
|
/* 02C616D0 */ cpu->f[9] = fma(cpu->f[2], cpu->f[13], cpu->f[0]);
|
|
/* 02C616D4 */ _t50 = cpu->r[11] + 0x0000002Cu;
|
|
/* 02C616D4 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t50);
|
|
/* 02C616D8 */ cpu->f[0] = fma(cpu->f[1], cpu->f[12], cpu->f[9]);
|
|
/* 02C616DC */ _t51 = cpu->r[12] + 0x0000000Cu;
|
|
/* 02C616DC */ rbrew_write_f32(cpu->mem, _t51, cpu->f[0]);
|
|
/* 02C616E0 */ _t52 = cpu->r[11] + 0x0000000Cu;
|
|
/* 02C616E0 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t52);
|
|
/* 02C616E4 */ cpu->f[7] = cpu->f[3] * cpu->f[8];
|
|
/* 02C616E8 */ _t53 = cpu->r[11] + 0x0000001Cu;
|
|
/* 02C616E8 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t53);
|
|
/* 02C616EC */ cpu->f[10] = fma(cpu->f[5], cpu->f[9], -(cpu->f[7]));
|
|
/* 02C616F0 */ _t54 = cpu->r[11] + 0x0000002Cu;
|
|
/* 02C616F0 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t54);
|
|
/* 02C616F4 */ cpu->f[12] = fma(cpu->f[6], cpu->f[11], cpu->f[10]);
|
|
/* 02C616F8 */ cpu->r[5] = 0x00000010u;
|
|
/* 02C616FC */ cpu->r[4] = cpu->r[11] + 0x00000020u;
|
|
/* 02C61700 */ cpu->r[3] = cpu->r[12] + 0x00000020u;
|
|
/* 02C61704 */ _t55 = cpu->r[12] + 0x0000001Cu;
|
|
/* 02C61704 */ rbrew_write_f32(cpu->mem, _t55, cpu->f[12]);
|
|
/* 02C61708 */ rbrew_dispatch(cpu, 0x02d0b870u);
|
|
/* 02C6170C */ cpu->r[3] = 0x00000030u;
|
|
/* 02C61710 */ goto L_02C61754;
|
|
L_02C61714: ; // 0x2c61714
|
|
/* 02C61714 */ cpu->f[7] = -cpu->f[3];
|
|
/* 02C61718 */ cpu->r[9] = 0x101B0000u;
|
|
/* 02C6171C */ _t56 = cpu->r[12] + 0x00000000u;
|
|
/* 02C6171C */ rbrew_write_f32(cpu->mem, _t56, cpu->f[2]);
|
|
/* 02C61720 */ _t57 = cpu->r[9] + 0xFFFFF184u;
|
|
/* 02C61720 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t57);
|
|
/* 02C61724 */ _t58 = cpu->r[12] + 0x00000010u;
|
|
/* 02C61724 */ rbrew_write_f32(cpu->mem, _t58, cpu->f[7]);
|
|
/* 02C61728 */ _t59 = cpu->r[12] + 0x00000004u;
|
|
/* 02C61728 */ rbrew_write_f32(cpu->mem, _t59, cpu->f[4]);
|
|
/* 02C6172C */ _t60 = cpu->r[12] + 0x00000014u;
|
|
/* 02C6172C */ rbrew_write_f32(cpu->mem, _t60, cpu->f[5]);
|
|
/* 02C61730 */ _t61 = cpu->r[12] + 0x00000008u;
|
|
/* 02C61730 */ rbrew_write_f32(cpu->mem, _t61, cpu->f[1]);
|
|
/* 02C61734 */ _t62 = cpu->r[12] + 0x00000018u;
|
|
/* 02C61734 */ rbrew_write_f32(cpu->mem, _t62, cpu->f[6]);
|
|
/* 02C61738 */ _t63 = cpu->r[12] + 0x0000002Cu;
|
|
/* 02C61738 */ rbrew_write_f32(cpu->mem, _t63, cpu->f[11]);
|
|
/* 02C6173C */ _t64 = cpu->r[12] + 0x00000024u;
|
|
/* 02C6173C */ rbrew_write_f32(cpu->mem, _t64, cpu->f[11]);
|
|
/* 02C61740 */ _t65 = cpu->r[12] + 0x00000020u;
|
|
/* 02C61740 */ rbrew_write_f32(cpu->mem, _t65, cpu->f[11]);
|
|
/* 02C61744 */ _t66 = cpu->r[12] + 0x0000001Cu;
|
|
/* 02C61744 */ rbrew_write_f32(cpu->mem, _t66, cpu->f[11]);
|
|
/* 02C61748 */ _t67 = cpu->r[12] + 0x0000000Cu;
|
|
/* 02C61748 */ rbrew_write_f32(cpu->mem, _t67, cpu->f[11]);
|
|
/* 02C6174C */ cpu->r[3] = 0x00000030u;
|
|
/* 02C61750 */ _t68 = cpu->r[12] + 0x00000028u;
|
|
/* 02C61750 */ rbrew_write_f32(cpu->mem, _t68, cpu->f[10]);
|
|
L_02C61754: ; // 0x2c61754
|
|
/* 02C61754 */ _t69 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C61754 */ cpu->r[0] = rbrew_read32(cpu->mem, _t69);
|
|
/* 02C61758 */ cpu->lr = cpu->r[0];
|
|
/* 02C6175C */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C61760 */ return;
|
|
}
|
|
|
|
// fn_02C61764 @ 0x2c61764
|
|
void Gambit_fn_02C61764(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;
|
|
|
|
L_02C61764: ; // 0x2c61764
|
|
/* 02C61764 */ cpu->r[0] = cpu->lr;
|
|
/* 02C61768 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 02C61768 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 02C6176C */ cpu->r[11] = 0x101B0000u;
|
|
/* 02C61770 */ _t1 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02C61770 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 02C61770 */ cpu->r[1] = _t1;
|
|
/* 02C61774 */ _t2 = cpu->r[11] + 0xFFFFF140u;
|
|
/* 02C61774 */ cpu->f[0] = rbrew_read_f64(cpu->mem, _t2);
|
|
/* 02C61778 */ cpu->r[11] = 0x101B0000u;
|
|
/* 02C6177C */ _t3 = cpu->r[4] + 0x0000000Cu;
|
|
/* 02C6177C */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t3);
|
|
/* 02C61780 */ _t4 = cpu->r[11] + 0xFFFFF148u;
|
|
/* 02C61780 */ cpu->f[12] = rbrew_read_f64(cpu->mem, _t4);
|
|
/* 02C61784 */ cpu->r[0] = 0x43300000u;
|
|
/* 02C61788 */ cpu->f[11] = fma(cpu->f[11], cpu->f[0], cpu->f[12]);
|
|
/* 02C6178C */ _t5 = cpu->r[1] + 0x00000008u;
|
|
/* 02C6178C */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02C61790 */ cpu->r[9] = 0x101B0000u;
|
|
/* 02C61794 */ _t6 = cpu->r[1] + 0x00000010u;
|
|
/* 02C61794 */ rbrew_write_f64(cpu->mem, _t6, cpu->f[11]);
|
|
/* 02C61798 */ _t7 = cpu->r[1] + 0x00000014u;
|
|
/* 02C61798 */ cpu->r[10] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02C6179C */ _t8 = cpu->r[9] + 0xFFFFF150u;
|
|
/* 02C6179C */ cpu->f[10] = rbrew_read_f64(cpu->mem, _t8);
|
|
/* 02C617A0 */ cpu->r[0] = rbrew_rlwinm(cpu->r[10], 0x00000000u, 0x00000008u, 0x0000001Fu);
|
|
/* 02C617A4 */ _t9 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C617A4 */ rbrew_write32(cpu->mem, _t9, cpu->r[0]);
|
|
/* 02C617A8 */ _t10 = cpu->r[1] + 0x00000008u;
|
|
/* 02C617A8 */ cpu->f[13] = rbrew_read_f64(cpu->mem, _t10);
|
|
/* 02C617AC */ cpu->r[10] = rbrew_rlwinm(cpu->r[10], 0x0000000Cu, 0x00000014u, 0x0000001Bu);
|
|
/* 02C617B0 */ cpu->f[0] = cpu->f[13] - cpu->f[10];
|
|
/* 02C617B4 */ cpu->r[9] = cpu->r[10] + 0x101B0000u;
|
|
/* 02C617B8 */ cpu->r[10] = 0x101B0000u;
|
|
/* 02C617BC */ _t11 = cpu->r[10] + 0xFFFFF158u;
|
|
/* 02C617BC */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t11);
|
|
/* 02C617C0 */ cpu->f[12] = (double)(float)cpu->f[0];
|
|
/* 02C617C4 */ cpu->r[11] = cpu->r[9] + 0xFFFFF1DCu;
|
|
/* 02C617C8 */ _t12 = cpu->r[9] + 0xFFFFF1DCu;
|
|
/* 02C617C8 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t12);
|
|
/* 02C617CC */ _t13 = cpu->r[11] + 0x00000004u;
|
|
/* 02C617CC */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t13);
|
|
/* 02C617D0 */ cpu->f[9] = cpu->f[12] * cpu->f[9];
|
|
/* 02C617D4 */ _t14 = cpu->r[11] + 0x00000008u;
|
|
/* 02C617D4 */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t14);
|
|
/* 02C617D8 */ _t15 = cpu->r[11] + 0x0000000Cu;
|
|
/* 02C617D8 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t15);
|
|
/* 02C617DC */ cpu->f[0] = fma(cpu->f[7], cpu->f[9], cpu->f[8]);
|
|
/* 02C617E0 */ _t16 = cpu->r[4] + 0x00000008u;
|
|
/* 02C617E0 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t16);
|
|
/* 02C617E4 */ cpu->f[7] = fma(cpu->f[10], cpu->f[9], cpu->f[11]);
|
|
/* 02C617E8 */ _t17 = cpu->r[4] + 0x00000014u;
|
|
/* 02C617E8 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t17);
|
|
/* 02C617EC */ _t18 = cpu->r[4] + 0x00000004u;
|
|
/* 02C617EC */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t18);
|
|
/* 02C617F0 */ cpu->r[9] = 0x101B0000u;
|
|
/* 02C617F4 */ cpu->f[1] = cpu->f[8] * cpu->f[0];
|
|
/* 02C617F8 */ _t19 = cpu->r[9] + 0xFFFFF18Cu;
|
|
/* 02C617F8 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t19);
|
|
/* 02C617FC */ cpu->f[3] = cpu->f[9] * cpu->f[7];
|
|
/* 02C61800 */ _t20 = cpu->r[4] + 0x00000010u;
|
|
/* 02C61800 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t20);
|
|
/* 02C61804 */ cpu->f[5] = cpu->f[8] * cpu->f[7];
|
|
/* 02C61808 */ cpu->f[12] = cpu->f[12] + cpu->f[11];
|
|
/* 02C6180C */ cpu->f[10] = cpu->f[13] - cpu->f[11];
|
|
/* 02C61810 */ cpu->f[4] = cpu->f[9] * cpu->f[0];
|
|
/* 02C61814 */ cpu->f[0] = cpu->f[3] * cpu->f[12];
|
|
/* 02C61818 */ cpu->f[8] = cpu->f[5] * cpu->f[10];
|
|
/* 02C6181C */ cpu->f[7] = fma(cpu->f[4], cpu->f[10], -(cpu->f[0]));
|
|
/* 02C61820 */ _t21 = cpu->r[4] + 0x00000018u;
|
|
/* 02C61820 */ cpu->r[9] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02C61824 */ cpu->f[9] = fma(cpu->f[1], cpu->f[12], cpu->f[8]);
|
|
/* 02C61828 */ cpu->r[12] = cpu->r[3];
|
|
/* 02C6182C */ cpu->f[6] = cpu->f[7] + cpu->f[11];
|
|
/* 02C61830 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 02C61834 */ cpu->f[2] = cpu->f[9] + cpu->f[11];
|
|
/* 02C61838 */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C61838 */ _t23 = _t22 & 0x00000001u;
|
|
/* 02C61838 */ if (_t23) goto L_02C61934; else goto L_02C6183C;
|
|
L_02C6183C: ; // 0x2c6183c
|
|
/* 02C6183C */ _t24 = cpu->r[9] + 0x00000010u;
|
|
/* 02C6183C */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t24);
|
|
/* 02C61840 */ _t25 = cpu->r[9] + 0x00000000u;
|
|
/* 02C61840 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t25);
|
|
/* 02C61844 */ cpu->f[11] = cpu->f[4] * cpu->f[12];
|
|
/* 02C61848 */ cpu->f[13] = fma(cpu->f[3], cpu->f[10], cpu->f[11]);
|
|
/* 02C6184C */ _t26 = cpu->r[9] + 0x00000020u;
|
|
/* 02C6184C */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t26);
|
|
/* 02C61850 */ cpu->f[8] = fma(cpu->f[6], cpu->f[7], cpu->f[13]);
|
|
/* 02C61854 */ _t27 = cpu->r[12] + 0x00000000u;
|
|
/* 02C61854 */ rbrew_write_f32(cpu->mem, _t27, cpu->f[8]);
|
|
/* 02C61858 */ _t28 = cpu->r[9] + 0x00000000u;
|
|
/* 02C61858 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t28);
|
|
/* 02C6185C */ cpu->f[9] = cpu->f[1] * cpu->f[10];
|
|
/* 02C61860 */ _t29 = cpu->r[9] + 0x00000010u;
|
|
/* 02C61860 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t29);
|
|
/* 02C61864 */ cpu->f[12] = fma(cpu->f[5], cpu->f[11], -(cpu->f[9]));
|
|
/* 02C61868 */ _t30 = cpu->r[9] + 0x00000020u;
|
|
/* 02C61868 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t30);
|
|
/* 02C6186C */ cpu->f[0] = fma(cpu->f[2], cpu->f[13], cpu->f[12]);
|
|
/* 02C61870 */ _t31 = cpu->r[12] + 0x00000010u;
|
|
/* 02C61870 */ rbrew_write_f32(cpu->mem, _t31, cpu->f[0]);
|
|
/* 02C61874 */ _t32 = cpu->r[9] + 0x00000014u;
|
|
/* 02C61874 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t32);
|
|
/* 02C61878 */ _t33 = cpu->r[9] + 0x00000004u;
|
|
/* 02C61878 */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t33);
|
|
/* 02C6187C */ cpu->f[8] = cpu->f[4] * cpu->f[9];
|
|
/* 02C61880 */ cpu->f[10] = fma(cpu->f[3], cpu->f[7], cpu->f[8]);
|
|
/* 02C61884 */ _t34 = cpu->r[9] + 0x00000024u;
|
|
/* 02C61884 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t34);
|
|
/* 02C61888 */ cpu->f[12] = fma(cpu->f[6], cpu->f[11], cpu->f[10]);
|
|
/* 02C6188C */ _t35 = cpu->r[12] + 0x00000004u;
|
|
/* 02C6188C */ rbrew_write_f32(cpu->mem, _t35, cpu->f[12]);
|
|
/* 02C61890 */ _t36 = cpu->r[9] + 0x00000004u;
|
|
/* 02C61890 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t36);
|
|
/* 02C61894 */ cpu->f[13] = cpu->f[1] * cpu->f[0];
|
|
/* 02C61898 */ _t37 = cpu->r[9] + 0x00000014u;
|
|
/* 02C61898 */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t37);
|
|
/* 02C6189C */ cpu->f[8] = fma(cpu->f[5], cpu->f[7], -(cpu->f[13]));
|
|
/* 02C618A0 */ _t38 = cpu->r[9] + 0x00000024u;
|
|
/* 02C618A0 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t38);
|
|
/* 02C618A4 */ cpu->f[10] = fma(cpu->f[2], cpu->f[9], cpu->f[8]);
|
|
/* 02C618A8 */ _t39 = cpu->r[12] + 0x00000014u;
|
|
/* 02C618A8 */ rbrew_write_f32(cpu->mem, _t39, cpu->f[10]);
|
|
/* 02C618AC */ _t40 = cpu->r[9] + 0x00000018u;
|
|
/* 02C618AC */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t40);
|
|
/* 02C618B0 */ _t41 = cpu->r[9] + 0x00000008u;
|
|
/* 02C618B0 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t41);
|
|
/* 02C618B4 */ cpu->f[12] = cpu->f[4] * cpu->f[13];
|
|
/* 02C618B8 */ cpu->f[0] = fma(cpu->f[3], cpu->f[11], cpu->f[12]);
|
|
/* 02C618BC */ _t42 = cpu->r[9] + 0x00000028u;
|
|
/* 02C618BC */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t42);
|
|
/* 02C618C0 */ cpu->f[8] = fma(cpu->f[6], cpu->f[7], cpu->f[0]);
|
|
/* 02C618C4 */ _t43 = cpu->r[12] + 0x00000008u;
|
|
/* 02C618C4 */ rbrew_write_f32(cpu->mem, _t43, cpu->f[8]);
|
|
/* 02C618C8 */ _t44 = cpu->r[9] + 0x00000008u;
|
|
/* 02C618C8 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t44);
|
|
/* 02C618CC */ cpu->f[9] = cpu->f[1] * cpu->f[10];
|
|
/* 02C618D0 */ _t45 = cpu->r[9] + 0x00000018u;
|
|
/* 02C618D0 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t45);
|
|
/* 02C618D4 */ cpu->f[12] = fma(cpu->f[5], cpu->f[11], -(cpu->f[9]));
|
|
/* 02C618D8 */ _t46 = cpu->r[9] + 0x00000028u;
|
|
/* 02C618D8 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t46);
|
|
/* 02C618DC */ cpu->f[0] = fma(cpu->f[2], cpu->f[13], cpu->f[12]);
|
|
/* 02C618E0 */ _t47 = cpu->r[12] + 0x00000018u;
|
|
/* 02C618E0 */ rbrew_write_f32(cpu->mem, _t47, cpu->f[0]);
|
|
/* 02C618E4 */ _t48 = cpu->r[9] + 0x0000001Cu;
|
|
/* 02C618E4 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t48);
|
|
/* 02C618E8 */ _t49 = cpu->r[9] + 0x0000000Cu;
|
|
/* 02C618E8 */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t49);
|
|
/* 02C618EC */ cpu->f[9] = cpu->f[4] * cpu->f[10];
|
|
/* 02C618F0 */ cpu->f[12] = fma(cpu->f[3], cpu->f[7], cpu->f[9]);
|
|
/* 02C618F4 */ _t50 = cpu->r[9] + 0x0000002Cu;
|
|
/* 02C618F4 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t50);
|
|
/* 02C618F8 */ cpu->f[0] = fma(cpu->f[6], cpu->f[13], cpu->f[12]);
|
|
/* 02C618FC */ _t51 = cpu->r[12] + 0x0000000Cu;
|
|
/* 02C618FC */ rbrew_write_f32(cpu->mem, _t51, cpu->f[0]);
|
|
/* 02C61900 */ _t52 = cpu->r[9] + 0x0000000Cu;
|
|
/* 02C61900 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t52);
|
|
/* 02C61904 */ cpu->f[11] = cpu->f[1] * cpu->f[12];
|
|
/* 02C61908 */ _t53 = cpu->r[9] + 0x0000001Cu;
|
|
/* 02C61908 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t53);
|
|
/* 02C6190C */ cpu->f[0] = fma(cpu->f[5], cpu->f[13], -(cpu->f[11]));
|
|
/* 02C61910 */ _t54 = cpu->r[9] + 0x0000002Cu;
|
|
/* 02C61910 */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t54);
|
|
/* 02C61914 */ cpu->f[8] = fma(cpu->f[2], cpu->f[7], cpu->f[0]);
|
|
/* 02C61918 */ cpu->r[5] = 0x00000010u;
|
|
/* 02C6191C */ cpu->r[4] = cpu->r[9] + 0x00000020u;
|
|
/* 02C61920 */ cpu->r[3] = cpu->r[12] + 0x00000020u;
|
|
/* 02C61924 */ _t55 = cpu->r[12] + 0x0000001Cu;
|
|
/* 02C61924 */ rbrew_write_f32(cpu->mem, _t55, cpu->f[8]);
|
|
/* 02C61928 */ rbrew_dispatch(cpu, 0x02d0b870u);
|
|
/* 02C6192C */ cpu->r[3] = 0x00000030u;
|
|
/* 02C61930 */ goto L_02C6197C;
|
|
L_02C61934: ; // 0x2c61934
|
|
/* 02C61934 */ _t56 = cpu->r[12] + 0x00000000u;
|
|
/* 02C61934 */ rbrew_write_f32(cpu->mem, _t56, cpu->f[3]);
|
|
/* 02C61938 */ cpu->r[11] = 0x101B0000u;
|
|
/* 02C6193C */ cpu->r[9] = 0x101B0000u;
|
|
/* 02C61940 */ cpu->f[0] = -cpu->f[1];
|
|
/* 02C61944 */ _t57 = cpu->r[11] + 0xFFFFF188u;
|
|
/* 02C61944 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t57);
|
|
/* 02C61948 */ _t58 = cpu->r[9] + 0xFFFFF184u;
|
|
/* 02C61948 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t58);
|
|
/* 02C6194C */ _t59 = cpu->r[12] + 0x00000010u;
|
|
/* 02C6194C */ rbrew_write_f32(cpu->mem, _t59, cpu->f[0]);
|
|
/* 02C61950 */ _t60 = cpu->r[12] + 0x00000004u;
|
|
/* 02C61950 */ rbrew_write_f32(cpu->mem, _t60, cpu->f[4]);
|
|
/* 02C61954 */ _t61 = cpu->r[12] + 0x00000014u;
|
|
/* 02C61954 */ rbrew_write_f32(cpu->mem, _t61, cpu->f[5]);
|
|
/* 02C61958 */ _t62 = cpu->r[12] + 0x00000008u;
|
|
/* 02C61958 */ rbrew_write_f32(cpu->mem, _t62, cpu->f[6]);
|
|
/* 02C6195C */ _t63 = cpu->r[12] + 0x00000018u;
|
|
/* 02C6195C */ rbrew_write_f32(cpu->mem, _t63, cpu->f[2]);
|
|
/* 02C61960 */ _t64 = cpu->r[12] + 0x0000002Cu;
|
|
/* 02C61960 */ rbrew_write_f32(cpu->mem, _t64, cpu->f[8]);
|
|
/* 02C61964 */ _t65 = cpu->r[12] + 0x00000024u;
|
|
/* 02C61964 */ rbrew_write_f32(cpu->mem, _t65, cpu->f[8]);
|
|
/* 02C61968 */ _t66 = cpu->r[12] + 0x00000020u;
|
|
/* 02C61968 */ rbrew_write_f32(cpu->mem, _t66, cpu->f[8]);
|
|
/* 02C6196C */ _t67 = cpu->r[12] + 0x0000001Cu;
|
|
/* 02C6196C */ rbrew_write_f32(cpu->mem, _t67, cpu->f[8]);
|
|
/* 02C61970 */ _t68 = cpu->r[12] + 0x0000000Cu;
|
|
/* 02C61970 */ rbrew_write_f32(cpu->mem, _t68, cpu->f[8]);
|
|
/* 02C61974 */ cpu->r[3] = 0x00000030u;
|
|
/* 02C61978 */ _t69 = cpu->r[12] + 0x00000028u;
|
|
/* 02C61978 */ rbrew_write_f32(cpu->mem, _t69, cpu->f[13]);
|
|
L_02C6197C: ; // 0x2c6197c
|
|
/* 02C6197C */ _t70 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C6197C */ cpu->r[0] = rbrew_read32(cpu->mem, _t70);
|
|
/* 02C61980 */ cpu->lr = cpu->r[0];
|
|
/* 02C61984 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C61988 */ return;
|
|
}
|
|
|
|
// fn_02C61770 @ 0x2c61770
|
|
void Gambit_fn_02C61770(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;
|
|
|
|
L_02C61770: ; // 0x2c61770
|
|
/* 02C61770 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02C61770 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C61770 */ cpu->r[1] = _t0;
|
|
/* 02C61774 */ _t1 = cpu->r[11] + 0xFFFFF140u;
|
|
/* 02C61774 */ cpu->f[0] = rbrew_read_f64(cpu->mem, _t1);
|
|
/* 02C61778 */ cpu->r[11] = 0x101B0000u;
|
|
/* 02C6177C */ _t2 = cpu->r[4] + 0x0000000Cu;
|
|
/* 02C6177C */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t2);
|
|
/* 02C61780 */ _t3 = cpu->r[11] + 0xFFFFF148u;
|
|
/* 02C61780 */ cpu->f[12] = rbrew_read_f64(cpu->mem, _t3);
|
|
/* 02C61784 */ cpu->r[0] = 0x43300000u;
|
|
/* 02C61788 */ cpu->f[11] = fma(cpu->f[11], cpu->f[0], cpu->f[12]);
|
|
/* 02C6178C */ _t4 = cpu->r[1] + 0x00000008u;
|
|
/* 02C6178C */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02C61790 */ cpu->r[9] = 0x101B0000u;
|
|
/* 02C61794 */ _t5 = cpu->r[1] + 0x00000010u;
|
|
/* 02C61794 */ rbrew_write_f64(cpu->mem, _t5, cpu->f[11]);
|
|
/* 02C61798 */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 02C61798 */ cpu->r[10] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02C6179C */ _t7 = cpu->r[9] + 0xFFFFF150u;
|
|
/* 02C6179C */ cpu->f[10] = rbrew_read_f64(cpu->mem, _t7);
|
|
/* 02C617A0 */ cpu->r[0] = rbrew_rlwinm(cpu->r[10], 0x00000000u, 0x00000008u, 0x0000001Fu);
|
|
/* 02C617A4 */ _t8 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C617A4 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
/* 02C617A8 */ _t9 = cpu->r[1] + 0x00000008u;
|
|
/* 02C617A8 */ cpu->f[13] = rbrew_read_f64(cpu->mem, _t9);
|
|
/* 02C617AC */ cpu->r[10] = rbrew_rlwinm(cpu->r[10], 0x0000000Cu, 0x00000014u, 0x0000001Bu);
|
|
/* 02C617B0 */ cpu->f[0] = cpu->f[13] - cpu->f[10];
|
|
/* 02C617B4 */ cpu->r[9] = cpu->r[10] + 0x101B0000u;
|
|
/* 02C617B8 */ cpu->r[10] = 0x101B0000u;
|
|
/* 02C617BC */ _t10 = cpu->r[10] + 0xFFFFF158u;
|
|
/* 02C617BC */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t10);
|
|
/* 02C617C0 */ cpu->f[12] = (double)(float)cpu->f[0];
|
|
/* 02C617C4 */ cpu->r[11] = cpu->r[9] + 0xFFFFF1DCu;
|
|
/* 02C617C8 */ _t11 = cpu->r[9] + 0xFFFFF1DCu;
|
|
/* 02C617C8 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t11);
|
|
/* 02C617CC */ _t12 = cpu->r[11] + 0x00000004u;
|
|
/* 02C617CC */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t12);
|
|
/* 02C617D0 */ cpu->f[9] = cpu->f[12] * cpu->f[9];
|
|
/* 02C617D4 */ _t13 = cpu->r[11] + 0x00000008u;
|
|
/* 02C617D4 */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t13);
|
|
/* 02C617D8 */ _t14 = cpu->r[11] + 0x0000000Cu;
|
|
/* 02C617D8 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t14);
|
|
/* 02C617DC */ cpu->f[0] = fma(cpu->f[7], cpu->f[9], cpu->f[8]);
|
|
/* 02C617E0 */ _t15 = cpu->r[4] + 0x00000008u;
|
|
/* 02C617E0 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t15);
|
|
/* 02C617E4 */ cpu->f[7] = fma(cpu->f[10], cpu->f[9], cpu->f[11]);
|
|
/* 02C617E8 */ _t16 = cpu->r[4] + 0x00000014u;
|
|
/* 02C617E8 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t16);
|
|
/* 02C617EC */ _t17 = cpu->r[4] + 0x00000004u;
|
|
/* 02C617EC */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t17);
|
|
/* 02C617F0 */ cpu->r[9] = 0x101B0000u;
|
|
/* 02C617F4 */ cpu->f[1] = cpu->f[8] * cpu->f[0];
|
|
/* 02C617F8 */ _t18 = cpu->r[9] + 0xFFFFF18Cu;
|
|
/* 02C617F8 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t18);
|
|
/* 02C617FC */ cpu->f[3] = cpu->f[9] * cpu->f[7];
|
|
/* 02C61800 */ _t19 = cpu->r[4] + 0x00000010u;
|
|
/* 02C61800 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t19);
|
|
/* 02C61804 */ cpu->f[5] = cpu->f[8] * cpu->f[7];
|
|
/* 02C61808 */ cpu->f[12] = cpu->f[12] + cpu->f[11];
|
|
/* 02C6180C */ cpu->f[10] = cpu->f[13] - cpu->f[11];
|
|
/* 02C61810 */ cpu->f[4] = cpu->f[9] * cpu->f[0];
|
|
/* 02C61814 */ cpu->f[0] = cpu->f[3] * cpu->f[12];
|
|
/* 02C61818 */ cpu->f[8] = cpu->f[5] * cpu->f[10];
|
|
/* 02C6181C */ cpu->f[7] = fma(cpu->f[4], cpu->f[10], -(cpu->f[0]));
|
|
/* 02C61820 */ _t20 = cpu->r[4] + 0x00000018u;
|
|
/* 02C61820 */ cpu->r[9] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02C61824 */ cpu->f[9] = fma(cpu->f[1], cpu->f[12], cpu->f[8]);
|
|
/* 02C61828 */ cpu->r[12] = cpu->r[3];
|
|
/* 02C6182C */ cpu->f[6] = cpu->f[7] + cpu->f[11];
|
|
/* 02C61830 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 02C61834 */ cpu->f[2] = cpu->f[9] + cpu->f[11];
|
|
/* 02C61838 */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C61838 */ _t22 = _t21 & 0x00000001u;
|
|
/* 02C61838 */ if (_t22) goto L_02C61934; else goto L_02C6183C;
|
|
L_02C6183C: ; // 0x2c6183c
|
|
/* 02C6183C */ _t23 = cpu->r[9] + 0x00000010u;
|
|
/* 02C6183C */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t23);
|
|
/* 02C61840 */ _t24 = cpu->r[9] + 0x00000000u;
|
|
/* 02C61840 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t24);
|
|
/* 02C61844 */ cpu->f[11] = cpu->f[4] * cpu->f[12];
|
|
/* 02C61848 */ cpu->f[13] = fma(cpu->f[3], cpu->f[10], cpu->f[11]);
|
|
/* 02C6184C */ _t25 = cpu->r[9] + 0x00000020u;
|
|
/* 02C6184C */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t25);
|
|
/* 02C61850 */ cpu->f[8] = fma(cpu->f[6], cpu->f[7], cpu->f[13]);
|
|
/* 02C61854 */ _t26 = cpu->r[12] + 0x00000000u;
|
|
/* 02C61854 */ rbrew_write_f32(cpu->mem, _t26, cpu->f[8]);
|
|
/* 02C61858 */ _t27 = cpu->r[9] + 0x00000000u;
|
|
/* 02C61858 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t27);
|
|
/* 02C6185C */ cpu->f[9] = cpu->f[1] * cpu->f[10];
|
|
/* 02C61860 */ _t28 = cpu->r[9] + 0x00000010u;
|
|
/* 02C61860 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t28);
|
|
/* 02C61864 */ cpu->f[12] = fma(cpu->f[5], cpu->f[11], -(cpu->f[9]));
|
|
/* 02C61868 */ _t29 = cpu->r[9] + 0x00000020u;
|
|
/* 02C61868 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t29);
|
|
/* 02C6186C */ cpu->f[0] = fma(cpu->f[2], cpu->f[13], cpu->f[12]);
|
|
/* 02C61870 */ _t30 = cpu->r[12] + 0x00000010u;
|
|
/* 02C61870 */ rbrew_write_f32(cpu->mem, _t30, cpu->f[0]);
|
|
/* 02C61874 */ _t31 = cpu->r[9] + 0x00000014u;
|
|
/* 02C61874 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t31);
|
|
/* 02C61878 */ _t32 = cpu->r[9] + 0x00000004u;
|
|
/* 02C61878 */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t32);
|
|
/* 02C6187C */ cpu->f[8] = cpu->f[4] * cpu->f[9];
|
|
/* 02C61880 */ cpu->f[10] = fma(cpu->f[3], cpu->f[7], cpu->f[8]);
|
|
/* 02C61884 */ _t33 = cpu->r[9] + 0x00000024u;
|
|
/* 02C61884 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t33);
|
|
/* 02C61888 */ cpu->f[12] = fma(cpu->f[6], cpu->f[11], cpu->f[10]);
|
|
/* 02C6188C */ _t34 = cpu->r[12] + 0x00000004u;
|
|
/* 02C6188C */ rbrew_write_f32(cpu->mem, _t34, cpu->f[12]);
|
|
/* 02C61890 */ _t35 = cpu->r[9] + 0x00000004u;
|
|
/* 02C61890 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t35);
|
|
/* 02C61894 */ cpu->f[13] = cpu->f[1] * cpu->f[0];
|
|
/* 02C61898 */ _t36 = cpu->r[9] + 0x00000014u;
|
|
/* 02C61898 */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t36);
|
|
/* 02C6189C */ cpu->f[8] = fma(cpu->f[5], cpu->f[7], -(cpu->f[13]));
|
|
/* 02C618A0 */ _t37 = cpu->r[9] + 0x00000024u;
|
|
/* 02C618A0 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t37);
|
|
/* 02C618A4 */ cpu->f[10] = fma(cpu->f[2], cpu->f[9], cpu->f[8]);
|
|
/* 02C618A8 */ _t38 = cpu->r[12] + 0x00000014u;
|
|
/* 02C618A8 */ rbrew_write_f32(cpu->mem, _t38, cpu->f[10]);
|
|
/* 02C618AC */ _t39 = cpu->r[9] + 0x00000018u;
|
|
/* 02C618AC */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t39);
|
|
/* 02C618B0 */ _t40 = cpu->r[9] + 0x00000008u;
|
|
/* 02C618B0 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t40);
|
|
/* 02C618B4 */ cpu->f[12] = cpu->f[4] * cpu->f[13];
|
|
/* 02C618B8 */ cpu->f[0] = fma(cpu->f[3], cpu->f[11], cpu->f[12]);
|
|
/* 02C618BC */ _t41 = cpu->r[9] + 0x00000028u;
|
|
/* 02C618BC */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t41);
|
|
/* 02C618C0 */ cpu->f[8] = fma(cpu->f[6], cpu->f[7], cpu->f[0]);
|
|
/* 02C618C4 */ _t42 = cpu->r[12] + 0x00000008u;
|
|
/* 02C618C4 */ rbrew_write_f32(cpu->mem, _t42, cpu->f[8]);
|
|
/* 02C618C8 */ _t43 = cpu->r[9] + 0x00000008u;
|
|
/* 02C618C8 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t43);
|
|
/* 02C618CC */ cpu->f[9] = cpu->f[1] * cpu->f[10];
|
|
/* 02C618D0 */ _t44 = cpu->r[9] + 0x00000018u;
|
|
/* 02C618D0 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t44);
|
|
/* 02C618D4 */ cpu->f[12] = fma(cpu->f[5], cpu->f[11], -(cpu->f[9]));
|
|
/* 02C618D8 */ _t45 = cpu->r[9] + 0x00000028u;
|
|
/* 02C618D8 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t45);
|
|
/* 02C618DC */ cpu->f[0] = fma(cpu->f[2], cpu->f[13], cpu->f[12]);
|
|
/* 02C618E0 */ _t46 = cpu->r[12] + 0x00000018u;
|
|
/* 02C618E0 */ rbrew_write_f32(cpu->mem, _t46, cpu->f[0]);
|
|
/* 02C618E4 */ _t47 = cpu->r[9] + 0x0000001Cu;
|
|
/* 02C618E4 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t47);
|
|
/* 02C618E8 */ _t48 = cpu->r[9] + 0x0000000Cu;
|
|
/* 02C618E8 */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t48);
|
|
/* 02C618EC */ cpu->f[9] = cpu->f[4] * cpu->f[10];
|
|
/* 02C618F0 */ cpu->f[12] = fma(cpu->f[3], cpu->f[7], cpu->f[9]);
|
|
/* 02C618F4 */ _t49 = cpu->r[9] + 0x0000002Cu;
|
|
/* 02C618F4 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t49);
|
|
/* 02C618F8 */ cpu->f[0] = fma(cpu->f[6], cpu->f[13], cpu->f[12]);
|
|
/* 02C618FC */ _t50 = cpu->r[12] + 0x0000000Cu;
|
|
/* 02C618FC */ rbrew_write_f32(cpu->mem, _t50, cpu->f[0]);
|
|
/* 02C61900 */ _t51 = cpu->r[9] + 0x0000000Cu;
|
|
/* 02C61900 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t51);
|
|
/* 02C61904 */ cpu->f[11] = cpu->f[1] * cpu->f[12];
|
|
/* 02C61908 */ _t52 = cpu->r[9] + 0x0000001Cu;
|
|
/* 02C61908 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t52);
|
|
/* 02C6190C */ cpu->f[0] = fma(cpu->f[5], cpu->f[13], -(cpu->f[11]));
|
|
/* 02C61910 */ _t53 = cpu->r[9] + 0x0000002Cu;
|
|
/* 02C61910 */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t53);
|
|
/* 02C61914 */ cpu->f[8] = fma(cpu->f[2], cpu->f[7], cpu->f[0]);
|
|
/* 02C61918 */ cpu->r[5] = 0x00000010u;
|
|
/* 02C6191C */ cpu->r[4] = cpu->r[9] + 0x00000020u;
|
|
/* 02C61920 */ cpu->r[3] = cpu->r[12] + 0x00000020u;
|
|
/* 02C61924 */ _t54 = cpu->r[12] + 0x0000001Cu;
|
|
/* 02C61924 */ rbrew_write_f32(cpu->mem, _t54, cpu->f[8]);
|
|
/* 02C61928 */ rbrew_dispatch(cpu, 0x02d0b870u);
|
|
/* 02C6192C */ cpu->r[3] = 0x00000030u;
|
|
/* 02C61930 */ goto L_02C6197C;
|
|
L_02C61934: ; // 0x2c61934
|
|
/* 02C61934 */ _t55 = cpu->r[12] + 0x00000000u;
|
|
/* 02C61934 */ rbrew_write_f32(cpu->mem, _t55, cpu->f[3]);
|
|
/* 02C61938 */ cpu->r[11] = 0x101B0000u;
|
|
/* 02C6193C */ cpu->r[9] = 0x101B0000u;
|
|
/* 02C61940 */ cpu->f[0] = -cpu->f[1];
|
|
/* 02C61944 */ _t56 = cpu->r[11] + 0xFFFFF188u;
|
|
/* 02C61944 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t56);
|
|
/* 02C61948 */ _t57 = cpu->r[9] + 0xFFFFF184u;
|
|
/* 02C61948 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t57);
|
|
/* 02C6194C */ _t58 = cpu->r[12] + 0x00000010u;
|
|
/* 02C6194C */ rbrew_write_f32(cpu->mem, _t58, cpu->f[0]);
|
|
/* 02C61950 */ _t59 = cpu->r[12] + 0x00000004u;
|
|
/* 02C61950 */ rbrew_write_f32(cpu->mem, _t59, cpu->f[4]);
|
|
/* 02C61954 */ _t60 = cpu->r[12] + 0x00000014u;
|
|
/* 02C61954 */ rbrew_write_f32(cpu->mem, _t60, cpu->f[5]);
|
|
/* 02C61958 */ _t61 = cpu->r[12] + 0x00000008u;
|
|
/* 02C61958 */ rbrew_write_f32(cpu->mem, _t61, cpu->f[6]);
|
|
/* 02C6195C */ _t62 = cpu->r[12] + 0x00000018u;
|
|
/* 02C6195C */ rbrew_write_f32(cpu->mem, _t62, cpu->f[2]);
|
|
/* 02C61960 */ _t63 = cpu->r[12] + 0x0000002Cu;
|
|
/* 02C61960 */ rbrew_write_f32(cpu->mem, _t63, cpu->f[8]);
|
|
/* 02C61964 */ _t64 = cpu->r[12] + 0x00000024u;
|
|
/* 02C61964 */ rbrew_write_f32(cpu->mem, _t64, cpu->f[8]);
|
|
/* 02C61968 */ _t65 = cpu->r[12] + 0x00000020u;
|
|
/* 02C61968 */ rbrew_write_f32(cpu->mem, _t65, cpu->f[8]);
|
|
/* 02C6196C */ _t66 = cpu->r[12] + 0x0000001Cu;
|
|
/* 02C6196C */ rbrew_write_f32(cpu->mem, _t66, cpu->f[8]);
|
|
/* 02C61970 */ _t67 = cpu->r[12] + 0x0000000Cu;
|
|
/* 02C61970 */ rbrew_write_f32(cpu->mem, _t67, cpu->f[8]);
|
|
/* 02C61974 */ cpu->r[3] = 0x00000030u;
|
|
/* 02C61978 */ _t68 = cpu->r[12] + 0x00000028u;
|
|
/* 02C61978 */ rbrew_write_f32(cpu->mem, _t68, cpu->f[13]);
|
|
L_02C6197C: ; // 0x2c6197c
|
|
/* 02C6197C */ _t69 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C6197C */ cpu->r[0] = rbrew_read32(cpu->mem, _t69);
|
|
/* 02C61980 */ cpu->lr = cpu->r[0];
|
|
/* 02C61984 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C61988 */ return;
|
|
}
|
|
|
|
// fn_02C6198C @ 0x2c6198c
|
|
void Gambit_fn_02C6198C(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;
|
|
|
|
L_02C6198C: ; // 0x2c6198c
|
|
/* 02C6198C */ cpu->r[0] = cpu->lr;
|
|
/* 02C61990 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 02C61990 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 02C61994 */ cpu->r[9] = 0x101B0000u;
|
|
/* 02C61998 */ _t1 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02C61998 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 02C61998 */ cpu->r[1] = _t1;
|
|
/* 02C6199C */ _t2 = cpu->r[9] + 0xFFFFF148u;
|
|
/* 02C6199C */ cpu->f[0] = rbrew_read_f64(cpu->mem, _t2);
|
|
/* 02C619A0 */ cpu->r[11] = 0x101B0000u;
|
|
/* 02C619A4 */ _t3 = cpu->r[4] + 0x0000000Cu;
|
|
/* 02C619A4 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t3);
|
|
/* 02C619A8 */ _t4 = cpu->r[11] + 0xFFFFF140u;
|
|
/* 02C619A8 */ cpu->f[13] = rbrew_read_f64(cpu->mem, _t4);
|
|
/* 02C619AC */ cpu->r[10] = 0x101B0000u;
|
|
/* 02C619B0 */ cpu->f[12] = fma(cpu->f[11], cpu->f[13], cpu->f[0]);
|
|
/* 02C619B4 */ _t5 = cpu->r[10] + 0xFFFFF150u;
|
|
/* 02C619B4 */ cpu->f[9] = rbrew_read_f64(cpu->mem, _t5);
|
|
/* 02C619B8 */ cpu->r[0] = 0x43300000u;
|
|
/* 02C619BC */ _t6 = cpu->r[1] + 0x00000010u;
|
|
/* 02C619BC */ rbrew_write_f64(cpu->mem, _t6, cpu->f[12]);
|
|
/* 02C619C0 */ _t7 = cpu->r[1] + 0x00000014u;
|
|
/* 02C619C0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02C619C4 */ _t8 = cpu->r[1] + 0x00000008u;
|
|
/* 02C619C4 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
/* 02C619C8 */ cpu->r[0] = rbrew_rlwinm(cpu->r[10], 0x00000000u, 0x00000008u, 0x0000001Fu);
|
|
/* 02C619CC */ _t9 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C619CC */ rbrew_write32(cpu->mem, _t9, cpu->r[0]);
|
|
/* 02C619D0 */ cpu->r[11] = rbrew_rlwinm(cpu->r[10], 0x0000000Cu, 0x00000014u, 0x0000001Bu);
|
|
/* 02C619D4 */ _t10 = cpu->r[1] + 0x00000008u;
|
|
/* 02C619D4 */ cpu->f[0] = rbrew_read_f64(cpu->mem, _t10);
|
|
/* 02C619D8 */ cpu->r[9] = cpu->r[11] + 0x101B0000u;
|
|
/* 02C619DC */ cpu->r[11] = 0x101B0000u;
|
|
/* 02C619E0 */ cpu->f[7] = cpu->f[0] - cpu->f[9];
|
|
/* 02C619E4 */ _t11 = cpu->r[11] + 0xFFFFF158u;
|
|
/* 02C619E4 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t11);
|
|
/* 02C619E8 */ _t12 = cpu->r[9] + 0xFFFFF1DCu;
|
|
/* 02C619E8 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t12);
|
|
/* 02C619E8 */ cpu->r[9] = _t12;
|
|
/* 02C619EC */ cpu->f[13] = (double)(float)cpu->f[7];
|
|
/* 02C619F0 */ _t13 = cpu->r[9] + 0x0000000Cu;
|
|
/* 02C619F0 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t13);
|
|
/* 02C619F4 */ _t14 = cpu->r[9] + 0x00000004u;
|
|
/* 02C619F4 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t14);
|
|
/* 02C619F8 */ cpu->f[12] = cpu->f[13] * cpu->f[12];
|
|
/* 02C619FC */ _t15 = cpu->r[9] + 0x00000008u;
|
|
/* 02C619FC */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t15);
|
|
/* 02C61A00 */ cpu->f[0] = fma(cpu->f[10], cpu->f[12], cpu->f[11]);
|
|
/* 02C61A04 */ cpu->f[7] = fma(cpu->f[8], cpu->f[12], cpu->f[9]);
|
|
/* 02C61A08 */ _t16 = cpu->r[4] + 0x00000008u;
|
|
/* 02C61A08 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t16);
|
|
/* 02C61A0C */ _t17 = cpu->r[4] + 0x00000004u;
|
|
/* 02C61A0C */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t17);
|
|
/* 02C61A10 */ cpu->f[4] = cpu->f[8] * cpu->f[0];
|
|
/* 02C61A14 */ cpu->f[2] = cpu->f[8] * cpu->f[7];
|
|
/* 02C61A18 */ cpu->f[13] = -cpu->f[4];
|
|
/* 02C61A1C */ cpu->f[3] = cpu->f[9] * cpu->f[0];
|
|
/* 02C61A20 */ cpu->f[1] = cpu->f[9] * cpu->f[7];
|
|
/* 02C61A24 */ _t18 = cpu->r[4] + 0x00000010u;
|
|
/* 02C61A24 */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t18);
|
|
/* 02C61A28 */ cpu->f[0] = -fma(cpu->f[2], cpu->f[7], -(cpu->f[13]));
|
|
/* 02C61A2C */ _t19 = cpu->r[4] + 0x00000014u;
|
|
/* 02C61A2C */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t19);
|
|
/* 02C61A30 */ cpu->f[12] = -fma(cpu->f[3], cpu->f[7], -(cpu->f[1]));
|
|
/* 02C61A34 */ _t20 = cpu->r[4] + 0x00000018u;
|
|
/* 02C61A34 */ cpu->r[11] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02C61A38 */ cpu->r[10] = 0x101B0000u;
|
|
/* 02C61A3C */ cpu->f[7] = fma(cpu->f[4], cpu->f[13], cpu->f[0]);
|
|
/* 02C61A40 */ _t21 = cpu->r[10] + 0xFFFFF188u;
|
|
/* 02C61A40 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t21);
|
|
/* 02C61A44 */ cpu->f[5] = -fma(cpu->f[1], cpu->f[13], -(cpu->f[12]));
|
|
/* 02C61A48 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02C61A4C */ cpu->r[12] = cpu->r[3];
|
|
/* 02C61A50 */ cpu->f[6] = cpu->f[7] + cpu->f[11];
|
|
/* 02C61A54 */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C61A54 */ _t23 = _t22 & 0x00000001u;
|
|
/* 02C61A54 */ if (_t23) goto L_02C61B50; else goto L_02C61A58;
|
|
L_02C61A58: ; // 0x2c61a58
|
|
/* 02C61A58 */ _t24 = cpu->r[11] + 0x00000010u;
|
|
/* 02C61A58 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t24);
|
|
/* 02C61A5C */ _t25 = cpu->r[11] + 0x00000000u;
|
|
/* 02C61A5C */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t25);
|
|
/* 02C61A60 */ cpu->f[10] = cpu->f[1] * cpu->f[11];
|
|
/* 02C61A64 */ cpu->f[12] = fma(cpu->f[3], cpu->f[9], -(cpu->f[10]));
|
|
/* 02C61A68 */ _t26 = cpu->r[11] + 0x00000020u;
|
|
/* 02C61A68 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t26);
|
|
/* 02C61A6C */ cpu->f[0] = fma(cpu->f[5], cpu->f[13], cpu->f[12]);
|
|
/* 02C61A70 */ _t27 = cpu->r[12] + 0x00000000u;
|
|
/* 02C61A70 */ rbrew_write_f32(cpu->mem, _t27, cpu->f[0]);
|
|
/* 02C61A74 */ _t28 = cpu->r[11] + 0x00000010u;
|
|
/* 02C61A74 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t28);
|
|
/* 02C61A78 */ _t29 = cpu->r[11] + 0x00000000u;
|
|
/* 02C61A78 */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t29);
|
|
/* 02C61A7C */ cpu->f[8] = cpu->f[4] * cpu->f[9];
|
|
/* 02C61A80 */ cpu->f[10] = fma(cpu->f[2], cpu->f[7], cpu->f[8]);
|
|
/* 02C61A84 */ _t30 = cpu->r[11] + 0x00000020u;
|
|
/* 02C61A84 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t30);
|
|
/* 02C61A88 */ cpu->f[12] = fma(cpu->f[6], cpu->f[11], cpu->f[10]);
|
|
/* 02C61A8C */ _t31 = cpu->r[12] + 0x00000010u;
|
|
/* 02C61A8C */ rbrew_write_f32(cpu->mem, _t31, cpu->f[12]);
|
|
/* 02C61A90 */ _t32 = cpu->r[11] + 0x00000014u;
|
|
/* 02C61A90 */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t32);
|
|
/* 02C61A94 */ _t33 = cpu->r[11] + 0x00000004u;
|
|
/* 02C61A94 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t33);
|
|
/* 02C61A98 */ cpu->f[0] = cpu->f[1] * cpu->f[7];
|
|
/* 02C61A9C */ cpu->f[8] = fma(cpu->f[3], cpu->f[13], -(cpu->f[0]));
|
|
/* 02C61AA0 */ _t34 = cpu->r[11] + 0x00000024u;
|
|
/* 02C61AA0 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t34);
|
|
/* 02C61AA4 */ cpu->f[10] = fma(cpu->f[5], cpu->f[9], cpu->f[8]);
|
|
/* 02C61AA8 */ _t35 = cpu->r[12] + 0x00000004u;
|
|
/* 02C61AA8 */ rbrew_write_f32(cpu->mem, _t35, cpu->f[10]);
|
|
/* 02C61AAC */ _t36 = cpu->r[11] + 0x00000014u;
|
|
/* 02C61AAC */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t36);
|
|
/* 02C61AB0 */ _t37 = cpu->r[11] + 0x00000004u;
|
|
/* 02C61AB0 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t37);
|
|
/* 02C61AB4 */ cpu->f[12] = cpu->f[4] * cpu->f[13];
|
|
/* 02C61AB8 */ cpu->f[0] = fma(cpu->f[2], cpu->f[11], cpu->f[12]);
|
|
/* 02C61ABC */ _t38 = cpu->r[11] + 0x00000024u;
|
|
/* 02C61ABC */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t38);
|
|
/* 02C61AC0 */ cpu->f[8] = fma(cpu->f[6], cpu->f[7], cpu->f[0]);
|
|
/* 02C61AC4 */ _t39 = cpu->r[12] + 0x00000014u;
|
|
/* 02C61AC4 */ rbrew_write_f32(cpu->mem, _t39, cpu->f[8]);
|
|
/* 02C61AC8 */ _t40 = cpu->r[11] + 0x00000018u;
|
|
/* 02C61AC8 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t40);
|
|
/* 02C61ACC */ _t41 = cpu->r[11] + 0x00000008u;
|
|
/* 02C61ACC */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t41);
|
|
/* 02C61AD0 */ cpu->f[10] = cpu->f[1] * cpu->f[11];
|
|
/* 02C61AD4 */ cpu->f[12] = fma(cpu->f[3], cpu->f[9], -(cpu->f[10]));
|
|
/* 02C61AD8 */ _t42 = cpu->r[11] + 0x00000028u;
|
|
/* 02C61AD8 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t42);
|
|
/* 02C61ADC */ cpu->f[0] = fma(cpu->f[5], cpu->f[13], cpu->f[12]);
|
|
/* 02C61AE0 */ _t43 = cpu->r[12] + 0x00000008u;
|
|
/* 02C61AE0 */ rbrew_write_f32(cpu->mem, _t43, cpu->f[0]);
|
|
/* 02C61AE4 */ _t44 = cpu->r[11] + 0x00000018u;
|
|
/* 02C61AE4 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t44);
|
|
/* 02C61AE8 */ _t45 = cpu->r[11] + 0x00000008u;
|
|
/* 02C61AE8 */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t45);
|
|
/* 02C61AEC */ cpu->f[8] = cpu->f[4] * cpu->f[9];
|
|
/* 02C61AF0 */ cpu->f[10] = fma(cpu->f[2], cpu->f[7], cpu->f[8]);
|
|
/* 02C61AF4 */ _t46 = cpu->r[11] + 0x00000028u;
|
|
/* 02C61AF4 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t46);
|
|
/* 02C61AF8 */ cpu->f[12] = fma(cpu->f[6], cpu->f[11], cpu->f[10]);
|
|
/* 02C61AFC */ _t47 = cpu->r[12] + 0x00000018u;
|
|
/* 02C61AFC */ rbrew_write_f32(cpu->mem, _t47, cpu->f[12]);
|
|
/* 02C61B00 */ _t48 = cpu->r[11] + 0x0000001Cu;
|
|
/* 02C61B00 */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t48);
|
|
/* 02C61B04 */ _t49 = cpu->r[11] + 0x0000000Cu;
|
|
/* 02C61B04 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t49);
|
|
/* 02C61B08 */ cpu->f[0] = cpu->f[1] * cpu->f[7];
|
|
/* 02C61B0C */ cpu->f[8] = fma(cpu->f[3], cpu->f[13], -(cpu->f[0]));
|
|
/* 02C61B10 */ _t50 = cpu->r[11] + 0x0000002Cu;
|
|
/* 02C61B10 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t50);
|
|
/* 02C61B14 */ cpu->f[10] = fma(cpu->f[5], cpu->f[9], cpu->f[8]);
|
|
/* 02C61B18 */ _t51 = cpu->r[12] + 0x0000000Cu;
|
|
/* 02C61B18 */ rbrew_write_f32(cpu->mem, _t51, cpu->f[10]);
|
|
/* 02C61B1C */ _t52 = cpu->r[11] + 0x0000001Cu;
|
|
/* 02C61B1C */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t52);
|
|
/* 02C61B20 */ _t53 = cpu->r[11] + 0x0000000Cu;
|
|
/* 02C61B20 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t53);
|
|
/* 02C61B24 */ cpu->f[0] = cpu->f[4] * cpu->f[13];
|
|
/* 02C61B28 */ cpu->f[9] = fma(cpu->f[2], cpu->f[12], cpu->f[0]);
|
|
/* 02C61B2C */ _t54 = cpu->r[11] + 0x0000002Cu;
|
|
/* 02C61B2C */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t54);
|
|
/* 02C61B30 */ cpu->f[11] = fma(cpu->f[6], cpu->f[10], cpu->f[9]);
|
|
/* 02C61B34 */ cpu->r[5] = 0x00000010u;
|
|
/* 02C61B38 */ cpu->r[4] = cpu->r[11] + 0x00000020u;
|
|
/* 02C61B3C */ cpu->r[3] = cpu->r[12] + 0x00000020u;
|
|
/* 02C61B40 */ _t55 = cpu->r[12] + 0x0000001Cu;
|
|
/* 02C61B40 */ rbrew_write_f32(cpu->mem, _t55, cpu->f[11]);
|
|
/* 02C61B44 */ rbrew_dispatch(cpu, 0x02d0b870u);
|
|
/* 02C61B48 */ cpu->r[3] = 0x00000030u;
|
|
/* 02C61B4C */ goto L_02C61B90;
|
|
L_02C61B50: ; // 0x2c61b50
|
|
/* 02C61B50 */ cpu->r[10] = 0x101B0000u;
|
|
/* 02C61B54 */ _t56 = cpu->r[12] + 0x00000000u;
|
|
/* 02C61B54 */ rbrew_write_f32(cpu->mem, _t56, cpu->f[3]);
|
|
/* 02C61B58 */ cpu->f[8] = -cpu->f[1];
|
|
/* 02C61B5C */ _t57 = cpu->r[10] + 0xFFFFF184u;
|
|
/* 02C61B5C */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t57);
|
|
/* 02C61B60 */ _t58 = cpu->r[12] + 0x00000010u;
|
|
/* 02C61B60 */ rbrew_write_f32(cpu->mem, _t58, cpu->f[2]);
|
|
/* 02C61B64 */ _t59 = cpu->r[12] + 0x00000004u;
|
|
/* 02C61B64 */ rbrew_write_f32(cpu->mem, _t59, cpu->f[8]);
|
|
/* 02C61B68 */ _t60 = cpu->r[12] + 0x00000014u;
|
|
/* 02C61B68 */ rbrew_write_f32(cpu->mem, _t60, cpu->f[4]);
|
|
/* 02C61B6C */ _t61 = cpu->r[12] + 0x00000008u;
|
|
/* 02C61B6C */ rbrew_write_f32(cpu->mem, _t61, cpu->f[5]);
|
|
/* 02C61B70 */ _t62 = cpu->r[12] + 0x00000018u;
|
|
/* 02C61B70 */ rbrew_write_f32(cpu->mem, _t62, cpu->f[6]);
|
|
/* 02C61B74 */ _t63 = cpu->r[12] + 0x0000002Cu;
|
|
/* 02C61B74 */ rbrew_write_f32(cpu->mem, _t63, cpu->f[10]);
|
|
/* 02C61B78 */ _t64 = cpu->r[12] + 0x00000024u;
|
|
/* 02C61B78 */ rbrew_write_f32(cpu->mem, _t64, cpu->f[10]);
|
|
/* 02C61B7C */ _t65 = cpu->r[12] + 0x00000020u;
|
|
/* 02C61B7C */ rbrew_write_f32(cpu->mem, _t65, cpu->f[10]);
|
|
/* 02C61B80 */ _t66 = cpu->r[12] + 0x0000001Cu;
|
|
/* 02C61B80 */ rbrew_write_f32(cpu->mem, _t66, cpu->f[10]);
|
|
/* 02C61B84 */ _t67 = cpu->r[12] + 0x0000000Cu;
|
|
/* 02C61B84 */ rbrew_write_f32(cpu->mem, _t67, cpu->f[10]);
|
|
/* 02C61B88 */ cpu->r[3] = 0x00000030u;
|
|
/* 02C61B8C */ _t68 = cpu->r[12] + 0x00000028u;
|
|
/* 02C61B8C */ rbrew_write_f32(cpu->mem, _t68, cpu->f[11]);
|
|
L_02C61B90: ; // 0x2c61b90
|
|
/* 02C61B90 */ _t69 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C61B90 */ cpu->r[0] = rbrew_read32(cpu->mem, _t69);
|
|
/* 02C61B94 */ cpu->lr = cpu->r[0];
|
|
/* 02C61B98 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C61B9C */ return;
|
|
}
|
|
|
|
// fn_02C61998 @ 0x2c61998
|
|
void Gambit_fn_02C61998(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_02C61998: ; // 0x2c61998
|
|
/* 02C61998 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02C61998 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C61998 */ cpu->r[1] = _t0;
|
|
/* 02C6199C */ _t1 = cpu->r[9] + 0xFFFFF148u;
|
|
/* 02C6199C */ cpu->f[0] = rbrew_read_f64(cpu->mem, _t1);
|
|
/* 02C619A0 */ cpu->r[11] = 0x101B0000u;
|
|
/* 02C619A4 */ _t2 = cpu->r[4] + 0x0000000Cu;
|
|
/* 02C619A4 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t2);
|
|
/* 02C619A8 */ _t3 = cpu->r[11] + 0xFFFFF140u;
|
|
/* 02C619A8 */ cpu->f[13] = rbrew_read_f64(cpu->mem, _t3);
|
|
/* 02C619AC */ cpu->r[10] = 0x101B0000u;
|
|
/* 02C619B0 */ cpu->f[12] = fma(cpu->f[11], cpu->f[13], cpu->f[0]);
|
|
/* 02C619B4 */ _t4 = cpu->r[10] + 0xFFFFF150u;
|
|
/* 02C619B4 */ cpu->f[9] = rbrew_read_f64(cpu->mem, _t4);
|
|
/* 02C619B8 */ cpu->r[0] = 0x43300000u;
|
|
/* 02C619BC */ _t5 = cpu->r[1] + 0x00000010u;
|
|
/* 02C619BC */ rbrew_write_f64(cpu->mem, _t5, cpu->f[12]);
|
|
/* 02C619C0 */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 02C619C0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02C619C4 */ _t7 = cpu->r[1] + 0x00000008u;
|
|
/* 02C619C4 */ rbrew_write32(cpu->mem, _t7, cpu->r[0]);
|
|
/* 02C619C8 */ cpu->r[0] = rbrew_rlwinm(cpu->r[10], 0x00000000u, 0x00000008u, 0x0000001Fu);
|
|
/* 02C619CC */ _t8 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C619CC */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
/* 02C619D0 */ cpu->r[11] = rbrew_rlwinm(cpu->r[10], 0x0000000Cu, 0x00000014u, 0x0000001Bu);
|
|
/* 02C619D4 */ _t9 = cpu->r[1] + 0x00000008u;
|
|
/* 02C619D4 */ cpu->f[0] = rbrew_read_f64(cpu->mem, _t9);
|
|
/* 02C619D8 */ cpu->r[9] = cpu->r[11] + 0x101B0000u;
|
|
/* 02C619DC */ cpu->r[11] = 0x101B0000u;
|
|
/* 02C619E0 */ cpu->f[7] = cpu->f[0] - cpu->f[9];
|
|
/* 02C619E4 */ _t10 = cpu->r[11] + 0xFFFFF158u;
|
|
/* 02C619E4 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t10);
|
|
/* 02C619E8 */ _t11 = cpu->r[9] + 0xFFFFF1DCu;
|
|
/* 02C619E8 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t11);
|
|
/* 02C619E8 */ cpu->r[9] = _t11;
|
|
/* 02C619EC */ cpu->f[13] = (double)(float)cpu->f[7];
|
|
/* 02C619F0 */ _t12 = cpu->r[9] + 0x0000000Cu;
|
|
/* 02C619F0 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t12);
|
|
/* 02C619F4 */ _t13 = cpu->r[9] + 0x00000004u;
|
|
/* 02C619F4 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t13);
|
|
/* 02C619F8 */ cpu->f[12] = cpu->f[13] * cpu->f[12];
|
|
/* 02C619FC */ _t14 = cpu->r[9] + 0x00000008u;
|
|
/* 02C619FC */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t14);
|
|
/* 02C61A00 */ cpu->f[0] = fma(cpu->f[10], cpu->f[12], cpu->f[11]);
|
|
/* 02C61A04 */ cpu->f[7] = fma(cpu->f[8], cpu->f[12], cpu->f[9]);
|
|
/* 02C61A08 */ _t15 = cpu->r[4] + 0x00000008u;
|
|
/* 02C61A08 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t15);
|
|
/* 02C61A0C */ _t16 = cpu->r[4] + 0x00000004u;
|
|
/* 02C61A0C */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t16);
|
|
/* 02C61A10 */ cpu->f[4] = cpu->f[8] * cpu->f[0];
|
|
/* 02C61A14 */ cpu->f[2] = cpu->f[8] * cpu->f[7];
|
|
/* 02C61A18 */ cpu->f[13] = -cpu->f[4];
|
|
/* 02C61A1C */ cpu->f[3] = cpu->f[9] * cpu->f[0];
|
|
/* 02C61A20 */ cpu->f[1] = cpu->f[9] * cpu->f[7];
|
|
/* 02C61A24 */ _t17 = cpu->r[4] + 0x00000010u;
|
|
/* 02C61A24 */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t17);
|
|
/* 02C61A28 */ cpu->f[0] = -fma(cpu->f[2], cpu->f[7], -(cpu->f[13]));
|
|
/* 02C61A2C */ _t18 = cpu->r[4] + 0x00000014u;
|
|
/* 02C61A2C */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t18);
|
|
/* 02C61A30 */ cpu->f[12] = -fma(cpu->f[3], cpu->f[7], -(cpu->f[1]));
|
|
/* 02C61A34 */ _t19 = cpu->r[4] + 0x00000018u;
|
|
/* 02C61A34 */ cpu->r[11] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02C61A38 */ cpu->r[10] = 0x101B0000u;
|
|
/* 02C61A3C */ cpu->f[7] = fma(cpu->f[4], cpu->f[13], cpu->f[0]);
|
|
/* 02C61A40 */ _t20 = cpu->r[10] + 0xFFFFF188u;
|
|
/* 02C61A40 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t20);
|
|
/* 02C61A44 */ cpu->f[5] = -fma(cpu->f[1], cpu->f[13], -(cpu->f[12]));
|
|
/* 02C61A48 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02C61A4C */ cpu->r[12] = cpu->r[3];
|
|
/* 02C61A50 */ cpu->f[6] = cpu->f[7] + cpu->f[11];
|
|
/* 02C61A54 */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C61A54 */ _t22 = _t21 & 0x00000001u;
|
|
/* 02C61A54 */ if (_t22) goto L_02C61B50; else goto L_02C61A58;
|
|
L_02C61A58: ; // 0x2c61a58
|
|
/* 02C61A58 */ _t23 = cpu->r[11] + 0x00000010u;
|
|
/* 02C61A58 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t23);
|
|
/* 02C61A5C */ _t24 = cpu->r[11] + 0x00000000u;
|
|
/* 02C61A5C */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t24);
|
|
/* 02C61A60 */ cpu->f[10] = cpu->f[1] * cpu->f[11];
|
|
/* 02C61A64 */ cpu->f[12] = fma(cpu->f[3], cpu->f[9], -(cpu->f[10]));
|
|
/* 02C61A68 */ _t25 = cpu->r[11] + 0x00000020u;
|
|
/* 02C61A68 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t25);
|
|
/* 02C61A6C */ cpu->f[0] = fma(cpu->f[5], cpu->f[13], cpu->f[12]);
|
|
/* 02C61A70 */ _t26 = cpu->r[12] + 0x00000000u;
|
|
/* 02C61A70 */ rbrew_write_f32(cpu->mem, _t26, cpu->f[0]);
|
|
/* 02C61A74 */ _t27 = cpu->r[11] + 0x00000010u;
|
|
/* 02C61A74 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t27);
|
|
/* 02C61A78 */ _t28 = cpu->r[11] + 0x00000000u;
|
|
/* 02C61A78 */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t28);
|
|
/* 02C61A7C */ cpu->f[8] = cpu->f[4] * cpu->f[9];
|
|
/* 02C61A80 */ cpu->f[10] = fma(cpu->f[2], cpu->f[7], cpu->f[8]);
|
|
/* 02C61A84 */ _t29 = cpu->r[11] + 0x00000020u;
|
|
/* 02C61A84 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t29);
|
|
/* 02C61A88 */ cpu->f[12] = fma(cpu->f[6], cpu->f[11], cpu->f[10]);
|
|
/* 02C61A8C */ _t30 = cpu->r[12] + 0x00000010u;
|
|
/* 02C61A8C */ rbrew_write_f32(cpu->mem, _t30, cpu->f[12]);
|
|
/* 02C61A90 */ _t31 = cpu->r[11] + 0x00000014u;
|
|
/* 02C61A90 */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t31);
|
|
/* 02C61A94 */ _t32 = cpu->r[11] + 0x00000004u;
|
|
/* 02C61A94 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t32);
|
|
/* 02C61A98 */ cpu->f[0] = cpu->f[1] * cpu->f[7];
|
|
/* 02C61A9C */ cpu->f[8] = fma(cpu->f[3], cpu->f[13], -(cpu->f[0]));
|
|
/* 02C61AA0 */ _t33 = cpu->r[11] + 0x00000024u;
|
|
/* 02C61AA0 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t33);
|
|
/* 02C61AA4 */ cpu->f[10] = fma(cpu->f[5], cpu->f[9], cpu->f[8]);
|
|
/* 02C61AA8 */ _t34 = cpu->r[12] + 0x00000004u;
|
|
/* 02C61AA8 */ rbrew_write_f32(cpu->mem, _t34, cpu->f[10]);
|
|
/* 02C61AAC */ _t35 = cpu->r[11] + 0x00000014u;
|
|
/* 02C61AAC */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t35);
|
|
/* 02C61AB0 */ _t36 = cpu->r[11] + 0x00000004u;
|
|
/* 02C61AB0 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t36);
|
|
/* 02C61AB4 */ cpu->f[12] = cpu->f[4] * cpu->f[13];
|
|
/* 02C61AB8 */ cpu->f[0] = fma(cpu->f[2], cpu->f[11], cpu->f[12]);
|
|
/* 02C61ABC */ _t37 = cpu->r[11] + 0x00000024u;
|
|
/* 02C61ABC */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t37);
|
|
/* 02C61AC0 */ cpu->f[8] = fma(cpu->f[6], cpu->f[7], cpu->f[0]);
|
|
/* 02C61AC4 */ _t38 = cpu->r[12] + 0x00000014u;
|
|
/* 02C61AC4 */ rbrew_write_f32(cpu->mem, _t38, cpu->f[8]);
|
|
/* 02C61AC8 */ _t39 = cpu->r[11] + 0x00000018u;
|
|
/* 02C61AC8 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t39);
|
|
/* 02C61ACC */ _t40 = cpu->r[11] + 0x00000008u;
|
|
/* 02C61ACC */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t40);
|
|
/* 02C61AD0 */ cpu->f[10] = cpu->f[1] * cpu->f[11];
|
|
/* 02C61AD4 */ cpu->f[12] = fma(cpu->f[3], cpu->f[9], -(cpu->f[10]));
|
|
/* 02C61AD8 */ _t41 = cpu->r[11] + 0x00000028u;
|
|
/* 02C61AD8 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t41);
|
|
/* 02C61ADC */ cpu->f[0] = fma(cpu->f[5], cpu->f[13], cpu->f[12]);
|
|
/* 02C61AE0 */ _t42 = cpu->r[12] + 0x00000008u;
|
|
/* 02C61AE0 */ rbrew_write_f32(cpu->mem, _t42, cpu->f[0]);
|
|
/* 02C61AE4 */ _t43 = cpu->r[11] + 0x00000018u;
|
|
/* 02C61AE4 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t43);
|
|
/* 02C61AE8 */ _t44 = cpu->r[11] + 0x00000008u;
|
|
/* 02C61AE8 */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t44);
|
|
/* 02C61AEC */ cpu->f[8] = cpu->f[4] * cpu->f[9];
|
|
/* 02C61AF0 */ cpu->f[10] = fma(cpu->f[2], cpu->f[7], cpu->f[8]);
|
|
/* 02C61AF4 */ _t45 = cpu->r[11] + 0x00000028u;
|
|
/* 02C61AF4 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t45);
|
|
/* 02C61AF8 */ cpu->f[12] = fma(cpu->f[6], cpu->f[11], cpu->f[10]);
|
|
/* 02C61AFC */ _t46 = cpu->r[12] + 0x00000018u;
|
|
/* 02C61AFC */ rbrew_write_f32(cpu->mem, _t46, cpu->f[12]);
|
|
/* 02C61B00 */ _t47 = cpu->r[11] + 0x0000001Cu;
|
|
/* 02C61B00 */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t47);
|
|
/* 02C61B04 */ _t48 = cpu->r[11] + 0x0000000Cu;
|
|
/* 02C61B04 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t48);
|
|
/* 02C61B08 */ cpu->f[0] = cpu->f[1] * cpu->f[7];
|
|
/* 02C61B0C */ cpu->f[8] = fma(cpu->f[3], cpu->f[13], -(cpu->f[0]));
|
|
/* 02C61B10 */ _t49 = cpu->r[11] + 0x0000002Cu;
|
|
/* 02C61B10 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t49);
|
|
/* 02C61B14 */ cpu->f[10] = fma(cpu->f[5], cpu->f[9], cpu->f[8]);
|
|
/* 02C61B18 */ _t50 = cpu->r[12] + 0x0000000Cu;
|
|
/* 02C61B18 */ rbrew_write_f32(cpu->mem, _t50, cpu->f[10]);
|
|
/* 02C61B1C */ _t51 = cpu->r[11] + 0x0000001Cu;
|
|
/* 02C61B1C */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t51);
|
|
/* 02C61B20 */ _t52 = cpu->r[11] + 0x0000000Cu;
|
|
/* 02C61B20 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t52);
|
|
/* 02C61B24 */ cpu->f[0] = cpu->f[4] * cpu->f[13];
|
|
/* 02C61B28 */ cpu->f[9] = fma(cpu->f[2], cpu->f[12], cpu->f[0]);
|
|
/* 02C61B2C */ _t53 = cpu->r[11] + 0x0000002Cu;
|
|
/* 02C61B2C */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t53);
|
|
/* 02C61B30 */ cpu->f[11] = fma(cpu->f[6], cpu->f[10], cpu->f[9]);
|
|
/* 02C61B34 */ cpu->r[5] = 0x00000010u;
|
|
/* 02C61B38 */ cpu->r[4] = cpu->r[11] + 0x00000020u;
|
|
/* 02C61B3C */ cpu->r[3] = cpu->r[12] + 0x00000020u;
|
|
/* 02C61B40 */ _t54 = cpu->r[12] + 0x0000001Cu;
|
|
/* 02C61B40 */ rbrew_write_f32(cpu->mem, _t54, cpu->f[11]);
|
|
/* 02C61B44 */ rbrew_dispatch(cpu, 0x02d0b870u);
|
|
/* 02C61B48 */ cpu->r[3] = 0x00000030u;
|
|
/* 02C61B4C */ goto L_02C61B90;
|
|
L_02C61B50: ; // 0x2c61b50
|
|
/* 02C61B50 */ cpu->r[10] = 0x101B0000u;
|
|
/* 02C61B54 */ _t55 = cpu->r[12] + 0x00000000u;
|
|
/* 02C61B54 */ rbrew_write_f32(cpu->mem, _t55, cpu->f[3]);
|
|
/* 02C61B58 */ cpu->f[8] = -cpu->f[1];
|
|
/* 02C61B5C */ _t56 = cpu->r[10] + 0xFFFFF184u;
|
|
/* 02C61B5C */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t56);
|
|
/* 02C61B60 */ _t57 = cpu->r[12] + 0x00000010u;
|
|
/* 02C61B60 */ rbrew_write_f32(cpu->mem, _t57, cpu->f[2]);
|
|
/* 02C61B64 */ _t58 = cpu->r[12] + 0x00000004u;
|
|
/* 02C61B64 */ rbrew_write_f32(cpu->mem, _t58, cpu->f[8]);
|
|
/* 02C61B68 */ _t59 = cpu->r[12] + 0x00000014u;
|
|
/* 02C61B68 */ rbrew_write_f32(cpu->mem, _t59, cpu->f[4]);
|
|
/* 02C61B6C */ _t60 = cpu->r[12] + 0x00000008u;
|
|
/* 02C61B6C */ rbrew_write_f32(cpu->mem, _t60, cpu->f[5]);
|
|
/* 02C61B70 */ _t61 = cpu->r[12] + 0x00000018u;
|
|
/* 02C61B70 */ rbrew_write_f32(cpu->mem, _t61, cpu->f[6]);
|
|
/* 02C61B74 */ _t62 = cpu->r[12] + 0x0000002Cu;
|
|
/* 02C61B74 */ rbrew_write_f32(cpu->mem, _t62, cpu->f[10]);
|
|
/* 02C61B78 */ _t63 = cpu->r[12] + 0x00000024u;
|
|
/* 02C61B78 */ rbrew_write_f32(cpu->mem, _t63, cpu->f[10]);
|
|
/* 02C61B7C */ _t64 = cpu->r[12] + 0x00000020u;
|
|
/* 02C61B7C */ rbrew_write_f32(cpu->mem, _t64, cpu->f[10]);
|
|
/* 02C61B80 */ _t65 = cpu->r[12] + 0x0000001Cu;
|
|
/* 02C61B80 */ rbrew_write_f32(cpu->mem, _t65, cpu->f[10]);
|
|
/* 02C61B84 */ _t66 = cpu->r[12] + 0x0000000Cu;
|
|
/* 02C61B84 */ rbrew_write_f32(cpu->mem, _t66, cpu->f[10]);
|
|
/* 02C61B88 */ cpu->r[3] = 0x00000030u;
|
|
/* 02C61B8C */ _t67 = cpu->r[12] + 0x00000028u;
|
|
/* 02C61B8C */ rbrew_write_f32(cpu->mem, _t67, cpu->f[11]);
|
|
L_02C61B90: ; // 0x2c61b90
|
|
/* 02C61B90 */ _t68 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C61B90 */ cpu->r[0] = rbrew_read32(cpu->mem, _t68);
|
|
/* 02C61B94 */ cpu->lr = cpu->r[0];
|
|
/* 02C61B98 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C61B9C */ return;
|
|
}
|
|
|
|
// fn_02C61BA0 @ 0x2c61ba0
|
|
void Gambit_fn_02C61BA0(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_02C61BA0: ; // 0x2c61ba0
|
|
/* 02C61BA0 */ _t0 = cpu->r[3] + 0x00000000u;
|
|
/* 02C61BA0 */ cpu->r[8] = rbrew_read8(cpu->mem, _t0);
|
|
/* 02C61BA4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x0000000Fu);
|
|
/* 02C61BA8 */ _t1 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C61BA8 */ _t2 = _t1 & 0x00000001u;
|
|
/* 02C61BA8 */ if (_t2) goto L_02C61BDC; else goto L_02C61BAC;
|
|
L_02C61BAC: ; // 0x2c61bac
|
|
/* 02C61BAC */ cpu->r[9] = rbrew_rlwinm(cpu->r[8], 0x00000002u, 0x0000001Cu, 0x0000001Du);
|
|
/* 02C61BB0 */ cpu->r[11] = cpu->r[5] + cpu->r[9];
|
|
/* 02C61BB4 */ cpu->r[0] = cpu->r[11] + 0x00000004u;
|
|
/* 02C61BB8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], cpu->r[0]);
|
|
/* 02C61BBC */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C61BBC */ _t4 = _t3 & 0x00000001u;
|
|
/* 02C61BBC */ if (_t4) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02C61BBC */ goto L_02C61BC0;
|
|
L_02C61BC0: ; // 0x2c61bc0
|
|
/* 02C61BC0 */ _t5 = cpu->r[5] + 0x00000000u;
|
|
/* 02C61BC0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02C61BC4 */ cpu->r[5] = cpu->r[5] + 0x00000004u;
|
|
/* 02C61BC8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], cpu->r[0]);
|
|
/* 02C61BCC */ /* nop */
|
|
/* 02C61BD0 */ cpu->r[4] = cpu->r[4] + 0x00000004u;
|
|
/* 02C61BD4 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C61BD4 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02C61BD4 */ if (_t7) goto L_02C61BD8; else goto L_02C61BC0;
|
|
L_02C61BD8: ; // 0x2c61bd8
|
|
/* 02C61BD8 */ return;
|
|
L_02C61BDC: ; // 0x2c61bdc
|
|
/* 02C61BDC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x0000001Bu);
|
|
/* 02C61BE0 */ _t8 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C61BE0 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02C61BE0 */ if (_t9) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02C61BE0 */ goto L_02C61BE4;
|
|
L_02C61BE4: ; // 0x2c61be4
|
|
/* 02C61BE4 */ cpu->r[0] = cpu->r[8] + 0xFFFFFFF0u;
|
|
/* 02C61BE8 */ cpu->r[9] = rbrew_rlwinm(cpu->r[8], 0x00000000u, 0x0000001Eu, 0x0000001Fu);
|
|
/* 02C61BEC */ /* nop */
|
|
/* 02C61BF0 */ cpu->r[8] = cpu->r[9] + 0x00000001u;
|
|
/* 02C61BF4 */ cpu->r[11] = cpu->r[11] + 0x00000002u;
|
|
/* 02C61BF4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02C61BF8 */ cpu->r[12] = rbrew_rlwinm(cpu->r[8], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02C61BFC */ _t10 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C61BFC */ _t11 = _t10 & 0x00000001u;
|
|
/* 02C61BFC */ _t12 = _t11 ^ 0x00000001u;
|
|
/* 02C61BFC */ if (_t12) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02C61BFC */ goto L_02C61C00;
|
|
L_02C61C00: ; // 0x2c61c00
|
|
/* 02C61C00 */ cpu->r[0] = rbrew_rlwinm(cpu->r[8], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
L_02C61C04: ; // 0x2c61c04
|
|
/* 02C61C04 */ cpu->r[8] = cpu->r[5];
|
|
/* 02C61C08 */ cpu->r[10] = cpu->r[8] + cpu->r[0];
|
|
/* 02C61C0C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[10]);
|
|
/* 02C61C10 */ cpu->r[7] = cpu->r[4];
|
|
/* 02C61C14 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C61C14 */ _t14 = _t13 & 0x00000001u;
|
|
/* 02C61C14 */ if (_t14) goto L_02C61C30; else goto L_02C61C18;
|
|
L_02C61C18: ; // 0x2c61c18
|
|
/* 02C61C18 */ _t15 = cpu->r[8] + 0x00000000u;
|
|
/* 02C61C18 */ cpu->r[9] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02C61C1C */ cpu->r[8] = cpu->r[8] + 0x00000004u;
|
|
/* 02C61C20 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[10]);
|
|
/* 02C61C24 */ /* nop */
|
|
/* 02C61C28 */ cpu->r[7] = cpu->r[7] + 0x00000004u;
|
|
/* 02C61C2C */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C61C2C */ _t17 = _t16 & 0x00000001u;
|
|
/* 02C61C2C */ if (_t17) goto L_02C61C30; else goto L_02C61C18;
|
|
L_02C61C30: ; // 0x2c61c30
|
|
/* 02C61C30 */ cpu->r[11] = cpu->r[11] + 0xFFFFFFFFu;
|
|
/* 02C61C30 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02C61C34 */ cpu->r[5] = cpu->r[5] + cpu->r[12];
|
|
/* 02C61C38 */ cpu->r[4] = cpu->r[4] + 0x00000010u;
|
|
/* 02C61C3C */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C61C3C */ _t19 = _t18 & 0x00000001u;
|
|
/* 02C61C3C */ if (_t19) goto L_02C61C40; else goto L_02C61C04;
|
|
L_02C61C40: ; // 0x2c61c40
|
|
/* 02C61C40 */ return;
|
|
}
|
|
|
|
// fn_02C61C44 @ 0x2c61c44
|
|
void Gambit_fn_02C61C44(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12;
|
|
|
|
L_02C61C44: ; // 0x2c61c44
|
|
/* 02C61C44 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 02C61C44 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C61C44 */ cpu->r[1] = _t0;
|
|
/* 02C61C48 */ /* nop */
|
|
/* 02C61C4C */ cpu->r[0] = cpu->lr;
|
|
/* 02C61C50 */ _t1 = cpu->r[1] + 0x00000024u;
|
|
/* 02C61C50 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02C61C54 */ _t2 = cpu->r[3] + 0x00000000u;
|
|
/* 02C61C54 */ cpu->r[10] = rbrew_read8(cpu->mem, _t2);
|
|
/* 02C61C58 */ cpu->r[30] = cpu->r[4];
|
|
/* 02C61C5C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x0000000Fu);
|
|
/* 02C61C60 */ cpu->r[31] = cpu->r[5];
|
|
/* 02C61C64 */ _t3 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C61C64 */ _t4 = _t3 & 0x00000001u;
|
|
/* 02C61C64 */ if (_t4) goto L_02C61C94; else goto L_02C61C68;
|
|
L_02C61C68: ; // 0x2c61c68
|
|
/* 02C61C68 */ cpu->r[10] = rbrew_rlwinm(cpu->r[10], 0x00000000u, 0x0000001Eu, 0x0000001Fu);
|
|
/* 02C61C6C */ cpu->r[3] = cpu->r[30];
|
|
/* 02C61C70 */ cpu->r[11] = cpu->r[10] + 0x00000001u;
|
|
/* 02C61C74 */ cpu->r[4] = cpu->r[31];
|
|
/* 02C61C78 */ cpu->r[5] = rbrew_rlwinm(cpu->r[11], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02C61C7C */ rbrew_dispatch(cpu, 0x02d0b870u);
|
|
/* 02C61C80 */ /* nop */
|
|
/* 02C61C84 */ _t5 = cpu->r[1] + 0x00000024u;
|
|
/* 02C61C84 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02C61C88 */ cpu->lr = cpu->r[0];
|
|
/* 02C61C8C */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02C61C90 */ return;
|
|
L_02C61C94: ; // 0x2c61c94
|
|
/* 02C61C94 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x0000001Bu);
|
|
/* 02C61C98 */ _t6 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C61C98 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02C61C98 */ if (_t7) goto L_02C61CDC; else goto L_02C61C9C;
|
|
L_02C61C9C: ; // 0x2c61c9c
|
|
/* 02C61C9C */ cpu->r[9] = cpu->r[10] + 0xFFFFFFF0u;
|
|
/* 02C61CA0 */ cpu->r[11] = rbrew_rlwinm(cpu->r[10], 0x00000000u, 0x0000001Eu, 0x0000001Fu);
|
|
/* 02C61CA4 */ /* nop */
|
|
/* 02C61CA8 */ cpu->r[0] = cpu->r[11] + 0x00000001u;
|
|
/* 02C61CAC */ cpu->r[28] = cpu->r[12] + 0x00000002u;
|
|
/* 02C61CAC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 02C61CB0 */ cpu->r[27] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02C61CB4 */ _t8 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C61CB4 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02C61CB4 */ if (_t9) goto L_02C61CB8; else goto L_02C61CDC;
|
|
L_02C61CB8: ; // 0x2c61cb8
|
|
/* 02C61CB8 */ cpu->r[29] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
L_02C61CBC: ; // 0x2c61cbc
|
|
/* 02C61CBC */ cpu->r[5] = cpu->r[29];
|
|
/* 02C61CC0 */ cpu->r[4] = cpu->r[31];
|
|
/* 02C61CC4 */ cpu->r[3] = cpu->r[30];
|
|
/* 02C61CC8 */ rbrew_dispatch(cpu, 0x02d0b870u);
|
|
/* 02C61CCC */ cpu->r[28] = cpu->r[28] + 0xFFFFFFFFu;
|
|
/* 02C61CCC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 02C61CD0 */ cpu->r[31] = cpu->r[31] + cpu->r[27];
|
|
/* 02C61CD4 */ cpu->r[30] = cpu->r[30] + 0x00000010u;
|
|
/* 02C61CD8 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C61CD8 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02C61CD8 */ if (_t11) goto L_02C61CDC; else goto L_02C61CBC;
|
|
L_02C61CDC: ; // 0x2c61cdc
|
|
/* 02C61CDC */ /* nop */
|
|
/* 02C61CE0 */ _t12 = cpu->r[1] + 0x00000024u;
|
|
/* 02C61CE0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02C61CE4 */ cpu->lr = cpu->r[0];
|
|
/* 02C61CE8 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02C61CEC */ return;
|
|
}
|
|
|
|
// fn_02C61CF0 @ 0x2c61cf0
|
|
void Gambit_fn_02C61CF0(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_02C61CF0: ; // 0x2c61cf0
|
|
/* 02C61CF0 */ cpu->r[0] = cpu->lr;
|
|
/* 02C61CF4 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02C61CF4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C61CF4 */ cpu->r[1] = _t0;
|
|
/* 02C61CF8 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C61CF8 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
|
|
/* 02C61CFC */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02C61CFC */ rbrew_write32(cpu->mem, _t2, cpu->r[28]);
|
|
/* 02C61D00 */ _t3 = cpu->r[1] + 0x00000010u;
|
|
/* 02C61D00 */ rbrew_write32(cpu->mem, _t3, cpu->r[30]);
|
|
/* 02C61D04 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 02C61D04 */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
|
|
/* 02C61D08 */ cpu->r[30] = cpu->r[3];
|
|
/* 02C61D0C */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C61D0C */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02C61D10 */ _t6 = cpu->r[30] + 0x00000024u;
|
|
/* 02C61D10 */ cpu->r[31] = rbrew_read16(cpu->mem, _t6);
|
|
/* 02C61D14 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02C61D18 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C61D18 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02C61D18 */ if (_t8) goto L_02C61D64; else goto L_02C61D1C;
|
|
L_02C61D1C: ; // 0x2c61d1c
|
|
/* 02C61D1C */ cpu->r[29] = cpu->r[30] + 0x00000018u;
|
|
/* 02C61D20 */ cpu->r[28] = 0x00000000u;
|
|
L_02C61D24: ; // 0x2c61d24
|
|
/* 02C61D24 */ _t9 = cpu->r[29] + 0x00000000u;
|
|
/* 02C61D24 */ cpu->r[12] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02C61D28 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02C61D2C */ cpu->r[7] = 0x00000000u;
|
|
/* 02C61D30 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C61D30 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02C61D30 */ if (_t11) goto L_02C61D38; else goto L_02C61D34;
|
|
L_02C61D34: ; // 0x2c61d34
|
|
/* 02C61D34 */ cpu->r[7] = cpu->r[29] + cpu->r[12];
|
|
L_02C61D38: ; // 0x2c61d38
|
|
/* 02C61D38 */ cpu->r[9] = cpu->r[7] + cpu->r[28];
|
|
/* 02C61D3C */ _t12 = cpu->r[9] + 0x00000024u;
|
|
/* 02C61D3C */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02C61D40 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C61D44 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C61D48 */ cpu->r[10] = cpu->r[9] + 0x00000024u;
|
|
/* 02C61D4C */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C61D4C */ _t14 = _t13 & 0x00000001u;
|
|
/* 02C61D4C */ if (_t14) goto L_02C61D54; else goto L_02C61D50;
|
|
L_02C61D50: ; // 0x2c61d50
|
|
/* 02C61D50 */ cpu->r[3] = cpu->r[10] + cpu->r[0];
|
|
L_02C61D54: ; // 0x2c61d54
|
|
/* 02C61D54 */ Gambit_fn_02C60FF4(cpu);
|
|
/* 02C61D58 */ cpu->r[31] = cpu->r[31] + 0xFFFFFFFFu;
|
|
/* 02C61D58 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02C61D5C */ cpu->r[28] = cpu->r[28] + 0x00000010u;
|
|
/* 02C61D60 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C61D60 */ _t16 = _t15 & 0x00000001u;
|
|
/* 02C61D60 */ if (_t16) goto L_02C61D64; else goto L_02C61D24;
|
|
L_02C61D64: ; // 0x2c61d64
|
|
/* 02C61D64 */ _t17 = cpu->r[30] + 0x00000022u;
|
|
/* 02C61D64 */ cpu->r[28] = rbrew_read16(cpu->mem, _t17);
|
|
/* 02C61D68 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 02C61D6C */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C61D6C */ _t19 = _t18 & 0x00000001u;
|
|
/* 02C61D6C */ if (_t19) goto L_02C61DB8; else goto L_02C61D70;
|
|
L_02C61D70: ; // 0x2c61d70
|
|
/* 02C61D70 */ cpu->r[31] = cpu->r[30] + 0x00000014u;
|
|
/* 02C61D74 */ cpu->r[29] = 0x00000000u;
|
|
L_02C61D78: ; // 0x2c61d78
|
|
/* 02C61D78 */ _t20 = cpu->r[31] + 0x00000000u;
|
|
/* 02C61D78 */ cpu->r[8] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02C61D7C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 02C61D80 */ cpu->r[12] = 0x00000000u;
|
|
/* 02C61D84 */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C61D84 */ _t22 = _t21 & 0x00000001u;
|
|
/* 02C61D84 */ if (_t22) goto L_02C61D8C; else goto L_02C61D88;
|
|
L_02C61D88: ; // 0x2c61d88
|
|
/* 02C61D88 */ cpu->r[12] = cpu->r[31] + cpu->r[8];
|
|
L_02C61D8C: ; // 0x2c61d8c
|
|
/* 02C61D8C */ cpu->r[11] = cpu->r[12] + cpu->r[29];
|
|
/* 02C61D90 */ _t23 = cpu->r[11] + 0x00000024u;
|
|
/* 02C61D90 */ cpu->r[9] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02C61D94 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C61D98 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 02C61D9C */ cpu->r[7] = cpu->r[11] + 0x00000024u;
|
|
/* 02C61DA0 */ _t24 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C61DA0 */ _t25 = _t24 & 0x00000001u;
|
|
/* 02C61DA0 */ if (_t25) goto L_02C61DA8; else goto L_02C61DA4;
|
|
L_02C61DA4: ; // 0x2c61da4
|
|
/* 02C61DA4 */ cpu->r[3] = cpu->r[7] + cpu->r[9];
|
|
L_02C61DA8: ; // 0x2c61da8
|
|
/* 02C61DA8 */ Gambit_fn_02C64234(cpu);
|
|
/* 02C61DAC */ cpu->r[28] = cpu->r[28] + 0xFFFFFFFFu;
|
|
/* 02C61DAC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 02C61DB0 */ cpu->r[29] = cpu->r[29] + 0x00000010u;
|
|
/* 02C61DB4 */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C61DB4 */ _t27 = _t26 & 0x00000001u;
|
|
/* 02C61DB4 */ if (_t27) goto L_02C61DB8; else goto L_02C61D78;
|
|
L_02C61DB8: ; // 0x2c61db8
|
|
/* 02C61DB8 */ _t28 = cpu->r[30] + 0x00000020u;
|
|
/* 02C61DB8 */ cpu->r[28] = rbrew_read16(cpu->mem, _t28);
|
|
/* 02C61DBC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 02C61DC0 */ _t29 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C61DC0 */ _t30 = _t29 & 0x00000001u;
|
|
/* 02C61DC0 */ if (_t30) goto L_02C61DF4; else goto L_02C61DC4;
|
|
L_02C61DC4: ; // 0x2c61dc4
|
|
/* 02C61DC4 */ cpu->r[31] = cpu->r[30] + 0x00000010u;
|
|
/* 02C61DC8 */ cpu->r[29] = 0x00000000u;
|
|
L_02C61DCC: ; // 0x2c61dcc
|
|
/* 02C61DCC */ _t31 = cpu->r[31] + 0x00000000u;
|
|
/* 02C61DCC */ cpu->r[0] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02C61DD0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C61DD4 */ cpu->r[12] = 0x00000000u;
|
|
/* 02C61DD8 */ _t32 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C61DD8 */ _t33 = _t32 & 0x00000001u;
|
|
/* 02C61DD8 */ if (_t33) goto L_02C61DE0; else goto L_02C61DDC;
|
|
L_02C61DDC: ; // 0x2c61ddc
|
|
/* 02C61DDC */ cpu->r[12] = cpu->r[31] + cpu->r[0];
|
|
L_02C61DE0: ; // 0x2c61de0
|
|
/* 02C61DE0 */ cpu->r[3] = cpu->r[12] + cpu->r[29];
|
|
/* 02C61DE4 */ Gambit_fn_02C6407C(cpu);
|
|
/* 02C61DE8 */ cpu->r[28] = cpu->r[28] + 0xFFFFFFFFu;
|
|
/* 02C61DE8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 02C61DEC */ cpu->r[29] = cpu->r[29] + 0x00000020u;
|
|
/* 02C61DF0 */ _t34 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C61DF0 */ _t35 = _t34 & 0x00000001u;
|
|
/* 02C61DF0 */ if (_t35) goto L_02C61DF4; else goto L_02C61DCC;
|
|
L_02C61DF4: ; // 0x2c61df4
|
|
/* 02C61DF4 */ _t36 = cpu->r[1] + 0x00000008u;
|
|
/* 02C61DF4 */ cpu->r[28] = rbrew_read32(cpu->mem, _t36);
|
|
/* 02C61DF8 */ _t37 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C61DF8 */ cpu->r[29] = rbrew_read32(cpu->mem, _t37);
|
|
/* 02C61DFC */ _t38 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C61DFC */ cpu->r[0] = rbrew_read32(cpu->mem, _t38);
|
|
/* 02C61E00 */ _t39 = cpu->r[1] + 0x00000010u;
|
|
/* 02C61E00 */ cpu->r[30] = rbrew_read32(cpu->mem, _t39);
|
|
/* 02C61E04 */ cpu->lr = cpu->r[0];
|
|
/* 02C61E08 */ _t40 = cpu->r[1] + 0x00000014u;
|
|
/* 02C61E08 */ cpu->r[31] = rbrew_read32(cpu->mem, _t40);
|
|
/* 02C61E0C */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C61E10 */ return;
|
|
}
|
|
|
|
// fn_02C61CF4 @ 0x2c61cf4
|
|
void Gambit_fn_02C61CF4(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_02C61CF4: ; // 0x2c61cf4
|
|
/* 02C61CF4 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02C61CF4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C61CF4 */ cpu->r[1] = _t0;
|
|
/* 02C61CF8 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C61CF8 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
|
|
/* 02C61CFC */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02C61CFC */ rbrew_write32(cpu->mem, _t2, cpu->r[28]);
|
|
/* 02C61D00 */ _t3 = cpu->r[1] + 0x00000010u;
|
|
/* 02C61D00 */ rbrew_write32(cpu->mem, _t3, cpu->r[30]);
|
|
/* 02C61D04 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 02C61D04 */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
|
|
/* 02C61D08 */ cpu->r[30] = cpu->r[3];
|
|
/* 02C61D0C */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C61D0C */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02C61D10 */ _t6 = cpu->r[30] + 0x00000024u;
|
|
/* 02C61D10 */ cpu->r[31] = rbrew_read16(cpu->mem, _t6);
|
|
/* 02C61D14 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02C61D18 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C61D18 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02C61D18 */ if (_t8) goto L_02C61D64; else goto L_02C61D1C;
|
|
L_02C61D1C: ; // 0x2c61d1c
|
|
/* 02C61D1C */ cpu->r[29] = cpu->r[30] + 0x00000018u;
|
|
/* 02C61D20 */ cpu->r[28] = 0x00000000u;
|
|
L_02C61D24: ; // 0x2c61d24
|
|
/* 02C61D24 */ _t9 = cpu->r[29] + 0x00000000u;
|
|
/* 02C61D24 */ cpu->r[12] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02C61D28 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02C61D2C */ cpu->r[7] = 0x00000000u;
|
|
/* 02C61D30 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C61D30 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02C61D30 */ if (_t11) goto L_02C61D38; else goto L_02C61D34;
|
|
L_02C61D34: ; // 0x2c61d34
|
|
/* 02C61D34 */ cpu->r[7] = cpu->r[29] + cpu->r[12];
|
|
L_02C61D38: ; // 0x2c61d38
|
|
/* 02C61D38 */ cpu->r[9] = cpu->r[7] + cpu->r[28];
|
|
/* 02C61D3C */ _t12 = cpu->r[9] + 0x00000024u;
|
|
/* 02C61D3C */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02C61D40 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C61D44 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C61D48 */ cpu->r[10] = cpu->r[9] + 0x00000024u;
|
|
/* 02C61D4C */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C61D4C */ _t14 = _t13 & 0x00000001u;
|
|
/* 02C61D4C */ if (_t14) goto L_02C61D54; else goto L_02C61D50;
|
|
L_02C61D50: ; // 0x2c61d50
|
|
/* 02C61D50 */ cpu->r[3] = cpu->r[10] + cpu->r[0];
|
|
L_02C61D54: ; // 0x2c61d54
|
|
/* 02C61D54 */ Gambit_fn_02C60FF4(cpu);
|
|
/* 02C61D58 */ cpu->r[31] = cpu->r[31] + 0xFFFFFFFFu;
|
|
/* 02C61D58 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02C61D5C */ cpu->r[28] = cpu->r[28] + 0x00000010u;
|
|
/* 02C61D60 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C61D60 */ _t16 = _t15 & 0x00000001u;
|
|
/* 02C61D60 */ if (_t16) goto L_02C61D64; else goto L_02C61D24;
|
|
L_02C61D64: ; // 0x2c61d64
|
|
/* 02C61D64 */ _t17 = cpu->r[30] + 0x00000022u;
|
|
/* 02C61D64 */ cpu->r[28] = rbrew_read16(cpu->mem, _t17);
|
|
/* 02C61D68 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 02C61D6C */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C61D6C */ _t19 = _t18 & 0x00000001u;
|
|
/* 02C61D6C */ if (_t19) goto L_02C61DB8; else goto L_02C61D70;
|
|
L_02C61D70: ; // 0x2c61d70
|
|
/* 02C61D70 */ cpu->r[31] = cpu->r[30] + 0x00000014u;
|
|
/* 02C61D74 */ cpu->r[29] = 0x00000000u;
|
|
L_02C61D78: ; // 0x2c61d78
|
|
/* 02C61D78 */ _t20 = cpu->r[31] + 0x00000000u;
|
|
/* 02C61D78 */ cpu->r[8] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02C61D7C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 02C61D80 */ cpu->r[12] = 0x00000000u;
|
|
/* 02C61D84 */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C61D84 */ _t22 = _t21 & 0x00000001u;
|
|
/* 02C61D84 */ if (_t22) goto L_02C61D8C; else goto L_02C61D88;
|
|
L_02C61D88: ; // 0x2c61d88
|
|
/* 02C61D88 */ cpu->r[12] = cpu->r[31] + cpu->r[8];
|
|
L_02C61D8C: ; // 0x2c61d8c
|
|
/* 02C61D8C */ cpu->r[11] = cpu->r[12] + cpu->r[29];
|
|
/* 02C61D90 */ _t23 = cpu->r[11] + 0x00000024u;
|
|
/* 02C61D90 */ cpu->r[9] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02C61D94 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C61D98 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 02C61D9C */ cpu->r[7] = cpu->r[11] + 0x00000024u;
|
|
/* 02C61DA0 */ _t24 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C61DA0 */ _t25 = _t24 & 0x00000001u;
|
|
/* 02C61DA0 */ if (_t25) goto L_02C61DA8; else goto L_02C61DA4;
|
|
L_02C61DA4: ; // 0x2c61da4
|
|
/* 02C61DA4 */ cpu->r[3] = cpu->r[7] + cpu->r[9];
|
|
L_02C61DA8: ; // 0x2c61da8
|
|
/* 02C61DA8 */ Gambit_fn_02C64234(cpu);
|
|
/* 02C61DAC */ cpu->r[28] = cpu->r[28] + 0xFFFFFFFFu;
|
|
/* 02C61DAC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 02C61DB0 */ cpu->r[29] = cpu->r[29] + 0x00000010u;
|
|
/* 02C61DB4 */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C61DB4 */ _t27 = _t26 & 0x00000001u;
|
|
/* 02C61DB4 */ if (_t27) goto L_02C61DB8; else goto L_02C61D78;
|
|
L_02C61DB8: ; // 0x2c61db8
|
|
/* 02C61DB8 */ _t28 = cpu->r[30] + 0x00000020u;
|
|
/* 02C61DB8 */ cpu->r[28] = rbrew_read16(cpu->mem, _t28);
|
|
/* 02C61DBC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 02C61DC0 */ _t29 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C61DC0 */ _t30 = _t29 & 0x00000001u;
|
|
/* 02C61DC0 */ if (_t30) goto L_02C61DF4; else goto L_02C61DC4;
|
|
L_02C61DC4: ; // 0x2c61dc4
|
|
/* 02C61DC4 */ cpu->r[31] = cpu->r[30] + 0x00000010u;
|
|
/* 02C61DC8 */ cpu->r[29] = 0x00000000u;
|
|
L_02C61DCC: ; // 0x2c61dcc
|
|
/* 02C61DCC */ _t31 = cpu->r[31] + 0x00000000u;
|
|
/* 02C61DCC */ cpu->r[0] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02C61DD0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C61DD4 */ cpu->r[12] = 0x00000000u;
|
|
/* 02C61DD8 */ _t32 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C61DD8 */ _t33 = _t32 & 0x00000001u;
|
|
/* 02C61DD8 */ if (_t33) goto L_02C61DE0; else goto L_02C61DDC;
|
|
L_02C61DDC: ; // 0x2c61ddc
|
|
/* 02C61DDC */ cpu->r[12] = cpu->r[31] + cpu->r[0];
|
|
L_02C61DE0: ; // 0x2c61de0
|
|
/* 02C61DE0 */ cpu->r[3] = cpu->r[12] + cpu->r[29];
|
|
/* 02C61DE4 */ Gambit_fn_02C6407C(cpu);
|
|
/* 02C61DE8 */ cpu->r[28] = cpu->r[28] + 0xFFFFFFFFu;
|
|
/* 02C61DE8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 02C61DEC */ cpu->r[29] = cpu->r[29] + 0x00000020u;
|
|
/* 02C61DF0 */ _t34 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C61DF0 */ _t35 = _t34 & 0x00000001u;
|
|
/* 02C61DF0 */ if (_t35) goto L_02C61DF4; else goto L_02C61DCC;
|
|
L_02C61DF4: ; // 0x2c61df4
|
|
/* 02C61DF4 */ _t36 = cpu->r[1] + 0x00000008u;
|
|
/* 02C61DF4 */ cpu->r[28] = rbrew_read32(cpu->mem, _t36);
|
|
/* 02C61DF8 */ _t37 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C61DF8 */ cpu->r[29] = rbrew_read32(cpu->mem, _t37);
|
|
/* 02C61DFC */ _t38 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C61DFC */ cpu->r[0] = rbrew_read32(cpu->mem, _t38);
|
|
/* 02C61E00 */ _t39 = cpu->r[1] + 0x00000010u;
|
|
/* 02C61E00 */ cpu->r[30] = rbrew_read32(cpu->mem, _t39);
|
|
/* 02C61E04 */ cpu->lr = cpu->r[0];
|
|
/* 02C61E08 */ _t40 = cpu->r[1] + 0x00000014u;
|
|
/* 02C61E08 */ cpu->r[31] = rbrew_read32(cpu->mem, _t40);
|
|
/* 02C61E0C */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C61E10 */ return;
|
|
}
|
|
|
|
// fn_02C61E14 @ 0x2c61e14
|
|
void Gambit_fn_02C61E14(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_02C61E14: ; // 0x2c61e14
|
|
/* 02C61E14 */ cpu->r[0] = cpu->lr;
|
|
/* 02C61E18 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02C61E18 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C61E18 */ cpu->r[1] = _t0;
|
|
/* 02C61E1C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C61E1C */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
|
|
/* 02C61E20 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02C61E20 */ rbrew_write32(cpu->mem, _t2, cpu->r[28]);
|
|
/* 02C61E24 */ _t3 = cpu->r[1] + 0x00000010u;
|
|
/* 02C61E24 */ rbrew_write32(cpu->mem, _t3, cpu->r[30]);
|
|
/* 02C61E28 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 02C61E28 */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
|
|
/* 02C61E2C */ cpu->r[30] = cpu->r[3];
|
|
/* 02C61E30 */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C61E30 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02C61E34 */ _t6 = cpu->r[30] + 0x00000024u;
|
|
/* 02C61E34 */ cpu->r[31] = rbrew_read16(cpu->mem, _t6);
|
|
/* 02C61E38 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02C61E3C */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C61E3C */ _t8 = _t7 & 0x00000001u;
|
|
/* 02C61E3C */ if (_t8) goto L_02C61E88; else goto L_02C61E40;
|
|
L_02C61E40: ; // 0x2c61e40
|
|
/* 02C61E40 */ cpu->r[29] = cpu->r[30] + 0x00000018u;
|
|
/* 02C61E44 */ cpu->r[28] = 0x00000000u;
|
|
L_02C61E48: ; // 0x2c61e48
|
|
/* 02C61E48 */ _t9 = cpu->r[29] + 0x00000000u;
|
|
/* 02C61E48 */ cpu->r[12] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02C61E4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02C61E50 */ cpu->r[7] = 0x00000000u;
|
|
/* 02C61E54 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C61E54 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02C61E54 */ if (_t11) goto L_02C61E5C; else goto L_02C61E58;
|
|
L_02C61E58: ; // 0x2c61e58
|
|
/* 02C61E58 */ cpu->r[7] = cpu->r[29] + cpu->r[12];
|
|
L_02C61E5C: ; // 0x2c61e5c
|
|
/* 02C61E5C */ cpu->r[9] = cpu->r[7] + cpu->r[28];
|
|
/* 02C61E60 */ _t12 = cpu->r[9] + 0x00000024u;
|
|
/* 02C61E60 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02C61E64 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C61E68 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C61E6C */ cpu->r[10] = cpu->r[9] + 0x00000024u;
|
|
/* 02C61E70 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C61E70 */ _t14 = _t13 & 0x00000001u;
|
|
/* 02C61E70 */ if (_t14) goto L_02C61E78; else goto L_02C61E74;
|
|
L_02C61E74: ; // 0x2c61e74
|
|
/* 02C61E74 */ cpu->r[3] = cpu->r[10] + cpu->r[0];
|
|
L_02C61E78: ; // 0x2c61e78
|
|
/* 02C61E78 */ Gambit_fn_02C610D4(cpu);
|
|
/* 02C61E7C */ cpu->r[31] = cpu->r[31] + 0xFFFFFFFFu;
|
|
/* 02C61E7C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02C61E80 */ cpu->r[28] = cpu->r[28] + 0x00000010u;
|
|
/* 02C61E84 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C61E84 */ _t16 = _t15 & 0x00000001u;
|
|
/* 02C61E84 */ if (_t16) goto L_02C61E88; else goto L_02C61E48;
|
|
L_02C61E88: ; // 0x2c61e88
|
|
/* 02C61E88 */ _t17 = cpu->r[30] + 0x00000022u;
|
|
/* 02C61E88 */ cpu->r[28] = rbrew_read16(cpu->mem, _t17);
|
|
/* 02C61E8C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 02C61E90 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C61E90 */ _t19 = _t18 & 0x00000001u;
|
|
/* 02C61E90 */ if (_t19) goto L_02C61EDC; else goto L_02C61E94;
|
|
L_02C61E94: ; // 0x2c61e94
|
|
/* 02C61E94 */ cpu->r[31] = cpu->r[30] + 0x00000014u;
|
|
/* 02C61E98 */ cpu->r[29] = 0x00000000u;
|
|
L_02C61E9C: ; // 0x2c61e9c
|
|
/* 02C61E9C */ _t20 = cpu->r[31] + 0x00000000u;
|
|
/* 02C61E9C */ cpu->r[8] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02C61EA0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 02C61EA4 */ cpu->r[12] = 0x00000000u;
|
|
/* 02C61EA8 */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C61EA8 */ _t22 = _t21 & 0x00000001u;
|
|
/* 02C61EA8 */ if (_t22) goto L_02C61EB0; else goto L_02C61EAC;
|
|
L_02C61EAC: ; // 0x2c61eac
|
|
/* 02C61EAC */ cpu->r[12] = cpu->r[31] + cpu->r[8];
|
|
L_02C61EB0: ; // 0x2c61eb0
|
|
/* 02C61EB0 */ cpu->r[11] = cpu->r[12] + cpu->r[29];
|
|
/* 02C61EB4 */ _t23 = cpu->r[11] + 0x00000024u;
|
|
/* 02C61EB4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02C61EB8 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C61EBC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 02C61EC0 */ cpu->r[7] = cpu->r[11] + 0x00000024u;
|
|
/* 02C61EC4 */ _t24 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C61EC4 */ _t25 = _t24 & 0x00000001u;
|
|
/* 02C61EC4 */ if (_t25) goto L_02C61ECC; else goto L_02C61EC8;
|
|
L_02C61EC8: ; // 0x2c61ec8
|
|
/* 02C61EC8 */ cpu->r[3] = cpu->r[7] + cpu->r[9];
|
|
L_02C61ECC: ; // 0x2c61ecc
|
|
/* 02C61ECC */ Gambit_fn_02C642FC(cpu);
|
|
/* 02C61ED0 */ cpu->r[28] = cpu->r[28] + 0xFFFFFFFFu;
|
|
/* 02C61ED0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 02C61ED4 */ cpu->r[29] = cpu->r[29] + 0x00000010u;
|
|
/* 02C61ED8 */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C61ED8 */ _t27 = _t26 & 0x00000001u;
|
|
/* 02C61ED8 */ if (_t27) goto L_02C61EDC; else goto L_02C61E9C;
|
|
L_02C61EDC: ; // 0x2c61edc
|
|
/* 02C61EDC */ _t28 = cpu->r[30] + 0x00000020u;
|
|
/* 02C61EDC */ cpu->r[28] = rbrew_read16(cpu->mem, _t28);
|
|
/* 02C61EE0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 02C61EE4 */ _t29 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C61EE4 */ _t30 = _t29 & 0x00000001u;
|
|
/* 02C61EE4 */ if (_t30) goto L_02C61F18; else goto L_02C61EE8;
|
|
L_02C61EE8: ; // 0x2c61ee8
|
|
/* 02C61EE8 */ cpu->r[31] = cpu->r[30] + 0x00000010u;
|
|
/* 02C61EEC */ cpu->r[29] = 0x00000000u;
|
|
L_02C61EF0: ; // 0x2c61ef0
|
|
/* 02C61EF0 */ _t31 = cpu->r[31] + 0x00000000u;
|
|
/* 02C61EF0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02C61EF4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C61EF8 */ cpu->r[12] = 0x00000000u;
|
|
/* 02C61EFC */ _t32 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C61EFC */ _t33 = _t32 & 0x00000001u;
|
|
/* 02C61EFC */ if (_t33) goto L_02C61F04; else goto L_02C61F00;
|
|
L_02C61F00: ; // 0x2c61f00
|
|
/* 02C61F00 */ cpu->r[12] = cpu->r[31] + cpu->r[0];
|
|
L_02C61F04: ; // 0x2c61f04
|
|
/* 02C61F04 */ cpu->r[3] = cpu->r[12] + cpu->r[29];
|
|
/* 02C61F08 */ Gambit_fn_02C640EC(cpu);
|
|
/* 02C61F0C */ cpu->r[28] = cpu->r[28] + 0xFFFFFFFFu;
|
|
/* 02C61F0C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 02C61F10 */ cpu->r[29] = cpu->r[29] + 0x00000020u;
|
|
/* 02C61F14 */ _t34 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C61F14 */ _t35 = _t34 & 0x00000001u;
|
|
/* 02C61F14 */ if (_t35) goto L_02C61F18; else goto L_02C61EF0;
|
|
L_02C61F18: ; // 0x2c61f18
|
|
/* 02C61F18 */ _t36 = cpu->r[1] + 0x00000008u;
|
|
/* 02C61F18 */ cpu->r[28] = rbrew_read32(cpu->mem, _t36);
|
|
/* 02C61F1C */ _t37 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C61F1C */ cpu->r[29] = rbrew_read32(cpu->mem, _t37);
|
|
/* 02C61F20 */ _t38 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C61F20 */ cpu->r[0] = rbrew_read32(cpu->mem, _t38);
|
|
/* 02C61F24 */ _t39 = cpu->r[1] + 0x00000010u;
|
|
/* 02C61F24 */ cpu->r[30] = rbrew_read32(cpu->mem, _t39);
|
|
/* 02C61F28 */ cpu->lr = cpu->r[0];
|
|
/* 02C61F2C */ _t40 = cpu->r[1] + 0x00000014u;
|
|
/* 02C61F2C */ cpu->r[31] = rbrew_read32(cpu->mem, _t40);
|
|
/* 02C61F30 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C61F34 */ return;
|
|
}
|
|
|
|
// fn_02C61E18 @ 0x2c61e18
|
|
void Gambit_fn_02C61E18(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_02C61E18: ; // 0x2c61e18
|
|
/* 02C61E18 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02C61E18 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C61E18 */ cpu->r[1] = _t0;
|
|
/* 02C61E1C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C61E1C */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
|
|
/* 02C61E20 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02C61E20 */ rbrew_write32(cpu->mem, _t2, cpu->r[28]);
|
|
/* 02C61E24 */ _t3 = cpu->r[1] + 0x00000010u;
|
|
/* 02C61E24 */ rbrew_write32(cpu->mem, _t3, cpu->r[30]);
|
|
/* 02C61E28 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 02C61E28 */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
|
|
/* 02C61E2C */ cpu->r[30] = cpu->r[3];
|
|
/* 02C61E30 */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C61E30 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02C61E34 */ _t6 = cpu->r[30] + 0x00000024u;
|
|
/* 02C61E34 */ cpu->r[31] = rbrew_read16(cpu->mem, _t6);
|
|
/* 02C61E38 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02C61E3C */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C61E3C */ _t8 = _t7 & 0x00000001u;
|
|
/* 02C61E3C */ if (_t8) goto L_02C61E88; else goto L_02C61E40;
|
|
L_02C61E40: ; // 0x2c61e40
|
|
/* 02C61E40 */ cpu->r[29] = cpu->r[30] + 0x00000018u;
|
|
/* 02C61E44 */ cpu->r[28] = 0x00000000u;
|
|
L_02C61E48: ; // 0x2c61e48
|
|
/* 02C61E48 */ _t9 = cpu->r[29] + 0x00000000u;
|
|
/* 02C61E48 */ cpu->r[12] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02C61E4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02C61E50 */ cpu->r[7] = 0x00000000u;
|
|
/* 02C61E54 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C61E54 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02C61E54 */ if (_t11) goto L_02C61E5C; else goto L_02C61E58;
|
|
L_02C61E58: ; // 0x2c61e58
|
|
/* 02C61E58 */ cpu->r[7] = cpu->r[29] + cpu->r[12];
|
|
L_02C61E5C: ; // 0x2c61e5c
|
|
/* 02C61E5C */ cpu->r[9] = cpu->r[7] + cpu->r[28];
|
|
/* 02C61E60 */ _t12 = cpu->r[9] + 0x00000024u;
|
|
/* 02C61E60 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02C61E64 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C61E68 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C61E6C */ cpu->r[10] = cpu->r[9] + 0x00000024u;
|
|
/* 02C61E70 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C61E70 */ _t14 = _t13 & 0x00000001u;
|
|
/* 02C61E70 */ if (_t14) goto L_02C61E78; else goto L_02C61E74;
|
|
L_02C61E74: ; // 0x2c61e74
|
|
/* 02C61E74 */ cpu->r[3] = cpu->r[10] + cpu->r[0];
|
|
L_02C61E78: ; // 0x2c61e78
|
|
/* 02C61E78 */ Gambit_fn_02C610D4(cpu);
|
|
/* 02C61E7C */ cpu->r[31] = cpu->r[31] + 0xFFFFFFFFu;
|
|
/* 02C61E7C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02C61E80 */ cpu->r[28] = cpu->r[28] + 0x00000010u;
|
|
/* 02C61E84 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C61E84 */ _t16 = _t15 & 0x00000001u;
|
|
/* 02C61E84 */ if (_t16) goto L_02C61E88; else goto L_02C61E48;
|
|
L_02C61E88: ; // 0x2c61e88
|
|
/* 02C61E88 */ _t17 = cpu->r[30] + 0x00000022u;
|
|
/* 02C61E88 */ cpu->r[28] = rbrew_read16(cpu->mem, _t17);
|
|
/* 02C61E8C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 02C61E90 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C61E90 */ _t19 = _t18 & 0x00000001u;
|
|
/* 02C61E90 */ if (_t19) goto L_02C61EDC; else goto L_02C61E94;
|
|
L_02C61E94: ; // 0x2c61e94
|
|
/* 02C61E94 */ cpu->r[31] = cpu->r[30] + 0x00000014u;
|
|
/* 02C61E98 */ cpu->r[29] = 0x00000000u;
|
|
L_02C61E9C: ; // 0x2c61e9c
|
|
/* 02C61E9C */ _t20 = cpu->r[31] + 0x00000000u;
|
|
/* 02C61E9C */ cpu->r[8] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02C61EA0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 02C61EA4 */ cpu->r[12] = 0x00000000u;
|
|
/* 02C61EA8 */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C61EA8 */ _t22 = _t21 & 0x00000001u;
|
|
/* 02C61EA8 */ if (_t22) goto L_02C61EB0; else goto L_02C61EAC;
|
|
L_02C61EAC: ; // 0x2c61eac
|
|
/* 02C61EAC */ cpu->r[12] = cpu->r[31] + cpu->r[8];
|
|
L_02C61EB0: ; // 0x2c61eb0
|
|
/* 02C61EB0 */ cpu->r[11] = cpu->r[12] + cpu->r[29];
|
|
/* 02C61EB4 */ _t23 = cpu->r[11] + 0x00000024u;
|
|
/* 02C61EB4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02C61EB8 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C61EBC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 02C61EC0 */ cpu->r[7] = cpu->r[11] + 0x00000024u;
|
|
/* 02C61EC4 */ _t24 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C61EC4 */ _t25 = _t24 & 0x00000001u;
|
|
/* 02C61EC4 */ if (_t25) goto L_02C61ECC; else goto L_02C61EC8;
|
|
L_02C61EC8: ; // 0x2c61ec8
|
|
/* 02C61EC8 */ cpu->r[3] = cpu->r[7] + cpu->r[9];
|
|
L_02C61ECC: ; // 0x2c61ecc
|
|
/* 02C61ECC */ Gambit_fn_02C642FC(cpu);
|
|
/* 02C61ED0 */ cpu->r[28] = cpu->r[28] + 0xFFFFFFFFu;
|
|
/* 02C61ED0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 02C61ED4 */ cpu->r[29] = cpu->r[29] + 0x00000010u;
|
|
/* 02C61ED8 */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C61ED8 */ _t27 = _t26 & 0x00000001u;
|
|
/* 02C61ED8 */ if (_t27) goto L_02C61EDC; else goto L_02C61E9C;
|
|
L_02C61EDC: ; // 0x2c61edc
|
|
/* 02C61EDC */ _t28 = cpu->r[30] + 0x00000020u;
|
|
/* 02C61EDC */ cpu->r[28] = rbrew_read16(cpu->mem, _t28);
|
|
/* 02C61EE0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 02C61EE4 */ _t29 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C61EE4 */ _t30 = _t29 & 0x00000001u;
|
|
/* 02C61EE4 */ if (_t30) goto L_02C61F18; else goto L_02C61EE8;
|
|
L_02C61EE8: ; // 0x2c61ee8
|
|
/* 02C61EE8 */ cpu->r[31] = cpu->r[30] + 0x00000010u;
|
|
/* 02C61EEC */ cpu->r[29] = 0x00000000u;
|
|
L_02C61EF0: ; // 0x2c61ef0
|
|
/* 02C61EF0 */ _t31 = cpu->r[31] + 0x00000000u;
|
|
/* 02C61EF0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02C61EF4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C61EF8 */ cpu->r[12] = 0x00000000u;
|
|
/* 02C61EFC */ _t32 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C61EFC */ _t33 = _t32 & 0x00000001u;
|
|
/* 02C61EFC */ if (_t33) goto L_02C61F04; else goto L_02C61F00;
|
|
L_02C61F00: ; // 0x2c61f00
|
|
/* 02C61F00 */ cpu->r[12] = cpu->r[31] + cpu->r[0];
|
|
L_02C61F04: ; // 0x2c61f04
|
|
/* 02C61F04 */ cpu->r[3] = cpu->r[12] + cpu->r[29];
|
|
/* 02C61F08 */ Gambit_fn_02C640EC(cpu);
|
|
/* 02C61F0C */ cpu->r[28] = cpu->r[28] + 0xFFFFFFFFu;
|
|
/* 02C61F0C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 02C61F10 */ cpu->r[29] = cpu->r[29] + 0x00000020u;
|
|
/* 02C61F14 */ _t34 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C61F14 */ _t35 = _t34 & 0x00000001u;
|
|
/* 02C61F14 */ if (_t35) goto L_02C61F18; else goto L_02C61EF0;
|
|
L_02C61F18: ; // 0x2c61f18
|
|
/* 02C61F18 */ _t36 = cpu->r[1] + 0x00000008u;
|
|
/* 02C61F18 */ cpu->r[28] = rbrew_read32(cpu->mem, _t36);
|
|
/* 02C61F1C */ _t37 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C61F1C */ cpu->r[29] = rbrew_read32(cpu->mem, _t37);
|
|
/* 02C61F20 */ _t38 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C61F20 */ cpu->r[0] = rbrew_read32(cpu->mem, _t38);
|
|
/* 02C61F24 */ _t39 = cpu->r[1] + 0x00000010u;
|
|
/* 02C61F24 */ cpu->r[30] = rbrew_read32(cpu->mem, _t39);
|
|
/* 02C61F28 */ cpu->lr = cpu->r[0];
|
|
/* 02C61F2C */ _t40 = cpu->r[1] + 0x00000014u;
|
|
/* 02C61F2C */ cpu->r[31] = rbrew_read32(cpu->mem, _t40);
|
|
/* 02C61F30 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C61F34 */ return;
|
|
}
|
|
|
|
// fn_02C61F38 @ 0x2c61f38
|
|
void Gambit_fn_02C61F38(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;
|
|
|
|
L_02C61F38: ; // 0x2c61f38
|
|
/* 02C61F38 */ cpu->r[0] = cpu->lr;
|
|
/* 02C61F3C */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02C61F3C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C61F3C */ cpu->r[1] = _t0;
|
|
/* 02C61F40 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C61F40 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
|
|
/* 02C61F44 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02C61F44 */ rbrew_write32(cpu->mem, _t2, cpu->r[28]);
|
|
/* 02C61F48 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02C61F48 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 02C61F4C */ _t4 = cpu->r[1] + 0x00000010u;
|
|
/* 02C61F4C */ rbrew_write32(cpu->mem, _t4, cpu->r[30]);
|
|
/* 02C61F50 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C61F54 */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C61F54 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02C61F58 */ _t6 = cpu->r[31] + 0x00000024u;
|
|
/* 02C61F58 */ cpu->r[28] = rbrew_read16(cpu->mem, _t6);
|
|
/* 02C61F5C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 02C61F60 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C61F60 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02C61F60 */ if (_t8) goto L_02C61FAC; else goto L_02C61F64;
|
|
L_02C61F64: ; // 0x2c61f64
|
|
/* 02C61F64 */ cpu->r[30] = cpu->r[31] + 0x00000018u;
|
|
/* 02C61F68 */ cpu->r[29] = 0x00000000u;
|
|
L_02C61F6C: ; // 0x2c61f6c
|
|
/* 02C61F6C */ _t9 = cpu->r[30] + 0x00000000u;
|
|
/* 02C61F6C */ cpu->r[12] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02C61F70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02C61F74 */ cpu->r[7] = 0x00000000u;
|
|
/* 02C61F78 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C61F78 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02C61F78 */ if (_t11) goto L_02C61F80; else goto L_02C61F7C;
|
|
L_02C61F7C: ; // 0x2c61f7c
|
|
/* 02C61F7C */ cpu->r[7] = cpu->r[30] + cpu->r[12];
|
|
L_02C61F80: ; // 0x2c61f80
|
|
/* 02C61F80 */ cpu->r[9] = cpu->r[7] + cpu->r[29];
|
|
/* 02C61F84 */ _t12 = cpu->r[9] + 0x00000024u;
|
|
/* 02C61F84 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02C61F88 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C61F8C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C61F90 */ cpu->r[10] = cpu->r[9] + 0x00000024u;
|
|
/* 02C61F94 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C61F94 */ _t14 = _t13 & 0x00000001u;
|
|
/* 02C61F94 */ if (_t14) goto L_02C61F9C; else goto L_02C61F98;
|
|
L_02C61F98: ; // 0x2c61f98
|
|
/* 02C61F98 */ cpu->r[3] = cpu->r[10] + cpu->r[0];
|
|
L_02C61F9C: ; // 0x2c61f9c
|
|
/* 02C61F9C */ Gambit_fn_02C61144(cpu);
|
|
/* 02C61FA0 */ cpu->r[28] = cpu->r[28] + 0xFFFFFFFFu;
|
|
/* 02C61FA0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 02C61FA4 */ cpu->r[29] = cpu->r[29] + 0x00000010u;
|
|
/* 02C61FA8 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C61FA8 */ _t16 = _t15 & 0x00000001u;
|
|
/* 02C61FA8 */ if (_t16) goto L_02C61FAC; else goto L_02C61F6C;
|
|
L_02C61FAC: ; // 0x2c61fac
|
|
/* 02C61FAC */ _t17 = cpu->r[31] + 0x00000022u;
|
|
/* 02C61FAC */ cpu->r[28] = rbrew_read16(cpu->mem, _t17);
|
|
/* 02C61FB0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 02C61FB4 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C61FB4 */ _t19 = _t18 & 0x00000001u;
|
|
/* 02C61FB4 */ if (_t19) goto L_02C62000; else goto L_02C61FB8;
|
|
L_02C61FB8: ; // 0x2c61fb8
|
|
/* 02C61FB8 */ cpu->r[30] = cpu->r[31] + 0x00000014u;
|
|
/* 02C61FBC */ cpu->r[29] = 0x00000000u;
|
|
L_02C61FC0: ; // 0x2c61fc0
|
|
/* 02C61FC0 */ _t20 = cpu->r[30] + 0x00000000u;
|
|
/* 02C61FC0 */ cpu->r[8] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02C61FC4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 02C61FC8 */ cpu->r[12] = 0x00000000u;
|
|
/* 02C61FCC */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C61FCC */ _t22 = _t21 & 0x00000001u;
|
|
/* 02C61FCC */ if (_t22) goto L_02C61FD4; else goto L_02C61FD0;
|
|
L_02C61FD0: ; // 0x2c61fd0
|
|
/* 02C61FD0 */ cpu->r[12] = cpu->r[30] + cpu->r[8];
|
|
L_02C61FD4: ; // 0x2c61fd4
|
|
/* 02C61FD4 */ cpu->r[11] = cpu->r[12] + cpu->r[29];
|
|
/* 02C61FD8 */ _t23 = cpu->r[11] + 0x00000024u;
|
|
/* 02C61FD8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02C61FDC */ cpu->r[3] = 0x00000000u;
|
|
/* 02C61FE0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 02C61FE4 */ cpu->r[7] = cpu->r[11] + 0x00000024u;
|
|
/* 02C61FE8 */ _t24 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C61FE8 */ _t25 = _t24 & 0x00000001u;
|
|
/* 02C61FE8 */ if (_t25) goto L_02C61FF0; else goto L_02C61FEC;
|
|
L_02C61FEC: ; // 0x2c61fec
|
|
/* 02C61FEC */ cpu->r[3] = cpu->r[7] + cpu->r[9];
|
|
L_02C61FF0: ; // 0x2c61ff0
|
|
/* 02C61FF0 */ Gambit_fn_02C643A4(cpu);
|
|
/* 02C61FF4 */ cpu->r[28] = cpu->r[28] + 0xFFFFFFFFu;
|
|
/* 02C61FF4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 02C61FF8 */ cpu->r[29] = cpu->r[29] + 0x00000010u;
|
|
/* 02C61FFC */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C61FFC */ _t27 = _t26 & 0x00000001u;
|
|
/* 02C61FFC */ if (_t27) goto L_02C62000; else goto L_02C61FC0;
|
|
L_02C62000: ; // 0x2c62000
|
|
/* 02C62000 */ _t28 = cpu->r[31] + 0x00000020u;
|
|
/* 02C62000 */ cpu->r[28] = rbrew_read16(cpu->mem, _t28);
|
|
/* 02C62004 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 02C62008 */ _t29 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C62008 */ _t30 = _t29 & 0x00000001u;
|
|
/* 02C62008 */ if (_t30) goto L_02C6203C; else goto L_02C6200C;
|
|
L_02C6200C: ; // 0x2c6200c
|
|
/* 02C6200C */ cpu->r[30] = cpu->r[31] + 0x00000010u;
|
|
/* 02C62010 */ cpu->r[29] = 0x00000000u;
|
|
L_02C62014: ; // 0x2c62014
|
|
/* 02C62014 */ _t31 = cpu->r[30] + 0x00000000u;
|
|
/* 02C62014 */ cpu->r[0] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02C62018 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C6201C */ cpu->r[12] = 0x00000000u;
|
|
/* 02C62020 */ _t32 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C62020 */ _t33 = _t32 & 0x00000001u;
|
|
/* 02C62020 */ if (_t33) goto L_02C62028; else goto L_02C62024;
|
|
L_02C62024: ; // 0x2c62024
|
|
/* 02C62024 */ cpu->r[12] = cpu->r[30] + cpu->r[0];
|
|
L_02C62028: ; // 0x2c62028
|
|
/* 02C62028 */ cpu->r[3] = cpu->r[12] + cpu->r[29];
|
|
/* 02C6202C */ Gambit_fn_02C6415C(cpu);
|
|
/* 02C62030 */ cpu->r[28] = cpu->r[28] + 0xFFFFFFFFu;
|
|
/* 02C62030 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 02C62034 */ cpu->r[29] = cpu->r[29] + 0x00000020u;
|
|
/* 02C62038 */ _t34 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C62038 */ _t35 = _t34 & 0x00000001u;
|
|
/* 02C62038 */ if (_t35) goto L_02C6203C; else goto L_02C62014;
|
|
L_02C6203C: ; // 0x2c6203c
|
|
/* 02C6203C */ cpu->r[0] = 0x00000000u;
|
|
/* 02C62040 */ _t36 = cpu->r[31] + 0x0000002Cu;
|
|
/* 02C62040 */ rbrew_write32(cpu->mem, _t36, cpu->r[0]);
|
|
/* 02C62044 */ _t37 = cpu->r[1] + 0x00000008u;
|
|
/* 02C62044 */ cpu->r[28] = rbrew_read32(cpu->mem, _t37);
|
|
/* 02C62048 */ _t38 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C62048 */ cpu->r[29] = rbrew_read32(cpu->mem, _t38);
|
|
/* 02C6204C */ _t39 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C6204C */ cpu->r[0] = rbrew_read32(cpu->mem, _t39);
|
|
/* 02C62050 */ _t40 = cpu->r[1] + 0x00000010u;
|
|
/* 02C62050 */ cpu->r[30] = rbrew_read32(cpu->mem, _t40);
|
|
/* 02C62054 */ cpu->lr = cpu->r[0];
|
|
/* 02C62058 */ _t41 = cpu->r[1] + 0x00000014u;
|
|
/* 02C62058 */ cpu->r[31] = rbrew_read32(cpu->mem, _t41);
|
|
/* 02C6205C */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C62060 */ return;
|
|
}
|
|
|
|
// fn_02C61F3C @ 0x2c61f3c
|
|
void Gambit_fn_02C61F3C(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;
|
|
|
|
L_02C61F3C: ; // 0x2c61f3c
|
|
/* 02C61F3C */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02C61F3C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C61F3C */ cpu->r[1] = _t0;
|
|
/* 02C61F40 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C61F40 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
|
|
/* 02C61F44 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02C61F44 */ rbrew_write32(cpu->mem, _t2, cpu->r[28]);
|
|
/* 02C61F48 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02C61F48 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 02C61F4C */ _t4 = cpu->r[1] + 0x00000010u;
|
|
/* 02C61F4C */ rbrew_write32(cpu->mem, _t4, cpu->r[30]);
|
|
/* 02C61F50 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C61F54 */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C61F54 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02C61F58 */ _t6 = cpu->r[31] + 0x00000024u;
|
|
/* 02C61F58 */ cpu->r[28] = rbrew_read16(cpu->mem, _t6);
|
|
/* 02C61F5C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 02C61F60 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C61F60 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02C61F60 */ if (_t8) goto L_02C61FAC; else goto L_02C61F64;
|
|
L_02C61F64: ; // 0x2c61f64
|
|
/* 02C61F64 */ cpu->r[30] = cpu->r[31] + 0x00000018u;
|
|
/* 02C61F68 */ cpu->r[29] = 0x00000000u;
|
|
L_02C61F6C: ; // 0x2c61f6c
|
|
/* 02C61F6C */ _t9 = cpu->r[30] + 0x00000000u;
|
|
/* 02C61F6C */ cpu->r[12] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02C61F70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02C61F74 */ cpu->r[7] = 0x00000000u;
|
|
/* 02C61F78 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C61F78 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02C61F78 */ if (_t11) goto L_02C61F80; else goto L_02C61F7C;
|
|
L_02C61F7C: ; // 0x2c61f7c
|
|
/* 02C61F7C */ cpu->r[7] = cpu->r[30] + cpu->r[12];
|
|
L_02C61F80: ; // 0x2c61f80
|
|
/* 02C61F80 */ cpu->r[9] = cpu->r[7] + cpu->r[29];
|
|
/* 02C61F84 */ _t12 = cpu->r[9] + 0x00000024u;
|
|
/* 02C61F84 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02C61F88 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C61F8C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C61F90 */ cpu->r[10] = cpu->r[9] + 0x00000024u;
|
|
/* 02C61F94 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C61F94 */ _t14 = _t13 & 0x00000001u;
|
|
/* 02C61F94 */ if (_t14) goto L_02C61F9C; else goto L_02C61F98;
|
|
L_02C61F98: ; // 0x2c61f98
|
|
/* 02C61F98 */ cpu->r[3] = cpu->r[10] + cpu->r[0];
|
|
L_02C61F9C: ; // 0x2c61f9c
|
|
/* 02C61F9C */ Gambit_fn_02C61144(cpu);
|
|
/* 02C61FA0 */ cpu->r[28] = cpu->r[28] + 0xFFFFFFFFu;
|
|
/* 02C61FA0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 02C61FA4 */ cpu->r[29] = cpu->r[29] + 0x00000010u;
|
|
/* 02C61FA8 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C61FA8 */ _t16 = _t15 & 0x00000001u;
|
|
/* 02C61FA8 */ if (_t16) goto L_02C61FAC; else goto L_02C61F6C;
|
|
L_02C61FAC: ; // 0x2c61fac
|
|
/* 02C61FAC */ _t17 = cpu->r[31] + 0x00000022u;
|
|
/* 02C61FAC */ cpu->r[28] = rbrew_read16(cpu->mem, _t17);
|
|
/* 02C61FB0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 02C61FB4 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C61FB4 */ _t19 = _t18 & 0x00000001u;
|
|
/* 02C61FB4 */ if (_t19) goto L_02C62000; else goto L_02C61FB8;
|
|
L_02C61FB8: ; // 0x2c61fb8
|
|
/* 02C61FB8 */ cpu->r[30] = cpu->r[31] + 0x00000014u;
|
|
/* 02C61FBC */ cpu->r[29] = 0x00000000u;
|
|
L_02C61FC0: ; // 0x2c61fc0
|
|
/* 02C61FC0 */ _t20 = cpu->r[30] + 0x00000000u;
|
|
/* 02C61FC0 */ cpu->r[8] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02C61FC4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 02C61FC8 */ cpu->r[12] = 0x00000000u;
|
|
/* 02C61FCC */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C61FCC */ _t22 = _t21 & 0x00000001u;
|
|
/* 02C61FCC */ if (_t22) goto L_02C61FD4; else goto L_02C61FD0;
|
|
L_02C61FD0: ; // 0x2c61fd0
|
|
/* 02C61FD0 */ cpu->r[12] = cpu->r[30] + cpu->r[8];
|
|
L_02C61FD4: ; // 0x2c61fd4
|
|
/* 02C61FD4 */ cpu->r[11] = cpu->r[12] + cpu->r[29];
|
|
/* 02C61FD8 */ _t23 = cpu->r[11] + 0x00000024u;
|
|
/* 02C61FD8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02C61FDC */ cpu->r[3] = 0x00000000u;
|
|
/* 02C61FE0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 02C61FE4 */ cpu->r[7] = cpu->r[11] + 0x00000024u;
|
|
/* 02C61FE8 */ _t24 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C61FE8 */ _t25 = _t24 & 0x00000001u;
|
|
/* 02C61FE8 */ if (_t25) goto L_02C61FF0; else goto L_02C61FEC;
|
|
L_02C61FEC: ; // 0x2c61fec
|
|
/* 02C61FEC */ cpu->r[3] = cpu->r[7] + cpu->r[9];
|
|
L_02C61FF0: ; // 0x2c61ff0
|
|
/* 02C61FF0 */ Gambit_fn_02C643A4(cpu);
|
|
/* 02C61FF4 */ cpu->r[28] = cpu->r[28] + 0xFFFFFFFFu;
|
|
/* 02C61FF4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 02C61FF8 */ cpu->r[29] = cpu->r[29] + 0x00000010u;
|
|
/* 02C61FFC */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C61FFC */ _t27 = _t26 & 0x00000001u;
|
|
/* 02C61FFC */ if (_t27) goto L_02C62000; else goto L_02C61FC0;
|
|
L_02C62000: ; // 0x2c62000
|
|
/* 02C62000 */ _t28 = cpu->r[31] + 0x00000020u;
|
|
/* 02C62000 */ cpu->r[28] = rbrew_read16(cpu->mem, _t28);
|
|
/* 02C62004 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 02C62008 */ _t29 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C62008 */ _t30 = _t29 & 0x00000001u;
|
|
/* 02C62008 */ if (_t30) goto L_02C6203C; else goto L_02C6200C;
|
|
L_02C6200C: ; // 0x2c6200c
|
|
/* 02C6200C */ cpu->r[30] = cpu->r[31] + 0x00000010u;
|
|
/* 02C62010 */ cpu->r[29] = 0x00000000u;
|
|
L_02C62014: ; // 0x2c62014
|
|
/* 02C62014 */ _t31 = cpu->r[30] + 0x00000000u;
|
|
/* 02C62014 */ cpu->r[0] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02C62018 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C6201C */ cpu->r[12] = 0x00000000u;
|
|
/* 02C62020 */ _t32 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C62020 */ _t33 = _t32 & 0x00000001u;
|
|
/* 02C62020 */ if (_t33) goto L_02C62028; else goto L_02C62024;
|
|
L_02C62024: ; // 0x2c62024
|
|
/* 02C62024 */ cpu->r[12] = cpu->r[30] + cpu->r[0];
|
|
L_02C62028: ; // 0x2c62028
|
|
/* 02C62028 */ cpu->r[3] = cpu->r[12] + cpu->r[29];
|
|
/* 02C6202C */ Gambit_fn_02C6415C(cpu);
|
|
/* 02C62030 */ cpu->r[28] = cpu->r[28] + 0xFFFFFFFFu;
|
|
/* 02C62030 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 02C62034 */ cpu->r[29] = cpu->r[29] + 0x00000020u;
|
|
/* 02C62038 */ _t34 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C62038 */ _t35 = _t34 & 0x00000001u;
|
|
/* 02C62038 */ if (_t35) goto L_02C6203C; else goto L_02C62014;
|
|
L_02C6203C: ; // 0x2c6203c
|
|
/* 02C6203C */ cpu->r[0] = 0x00000000u;
|
|
/* 02C62040 */ _t36 = cpu->r[31] + 0x0000002Cu;
|
|
/* 02C62040 */ rbrew_write32(cpu->mem, _t36, cpu->r[0]);
|
|
/* 02C62044 */ _t37 = cpu->r[1] + 0x00000008u;
|
|
/* 02C62044 */ cpu->r[28] = rbrew_read32(cpu->mem, _t37);
|
|
/* 02C62048 */ _t38 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C62048 */ cpu->r[29] = rbrew_read32(cpu->mem, _t38);
|
|
/* 02C6204C */ _t39 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C6204C */ cpu->r[0] = rbrew_read32(cpu->mem, _t39);
|
|
/* 02C62050 */ _t40 = cpu->r[1] + 0x00000010u;
|
|
/* 02C62050 */ cpu->r[30] = rbrew_read32(cpu->mem, _t40);
|
|
/* 02C62054 */ cpu->lr = cpu->r[0];
|
|
/* 02C62058 */ _t41 = cpu->r[1] + 0x00000014u;
|
|
/* 02C62058 */ cpu->r[31] = rbrew_read32(cpu->mem, _t41);
|
|
/* 02C6205C */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C62060 */ return;
|
|
}
|
|
|
|
// fn_02C62064 @ 0x2c62064
|
|
void Gambit_fn_02C62064(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
|
|
|
|
L_02C62064: ; // 0x2c62064
|
|
/* 02C62064 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 02C62064 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C62064 */ cpu->r[1] = _t0;
|
|
/* 02C62068 */ /* nop */
|
|
/* 02C6206C */ cpu->r[0] = cpu->lr;
|
|
/* 02C62070 */ _t1 = cpu->r[1] + 0x00000024u;
|
|
/* 02C62070 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02C62074 */ _t2 = cpu->r[3] + 0x00000024u;
|
|
/* 02C62074 */ cpu->r[27] = rbrew_read16(cpu->mem, _t2);
|
|
/* 02C62078 */ cpu->r[30] = cpu->r[4];
|
|
/* 02C6207C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 02C62080 */ cpu->r[31] = 0x00000000u;
|
|
/* 02C62084 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C62084 */ _t4 = _t3 & 0x00000001u;
|
|
/* 02C62084 */ if (_t4) goto L_02C620D8; else goto L_02C62088;
|
|
L_02C62088: ; // 0x2c62088
|
|
/* 02C62088 */ cpu->r[29] = cpu->r[3] + 0x00000018u;
|
|
/* 02C6208C */ cpu->r[28] = 0x00000000u;
|
|
L_02C62090: ; // 0x2c62090
|
|
/* 02C62090 */ _t5 = cpu->r[29] + 0x00000000u;
|
|
/* 02C62090 */ cpu->r[8] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02C62094 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 02C62098 */ cpu->r[7] = 0x00000000u;
|
|
/* 02C6209C */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6209C */ _t7 = _t6 & 0x00000001u;
|
|
/* 02C6209C */ if (_t7) goto L_02C620A4; else goto L_02C620A0;
|
|
L_02C620A0: ; // 0x2c620a0
|
|
/* 02C620A0 */ cpu->r[7] = cpu->r[29] + cpu->r[8];
|
|
L_02C620A4: ; // 0x2c620a4
|
|
/* 02C620A4 */ cpu->r[12] = cpu->r[7] + cpu->r[28];
|
|
/* 02C620A8 */ _t8 = cpu->r[12] + 0x00000024u;
|
|
/* 02C620A8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C620AC */ cpu->r[3] = 0x00000000u;
|
|
/* 02C620B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C620B4 */ cpu->r[10] = cpu->r[12] + 0x00000024u;
|
|
/* 02C620B8 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C620B8 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02C620B8 */ if (_t10) goto L_02C620C0; else goto L_02C620BC;
|
|
L_02C620BC: ; // 0x2c620bc
|
|
/* 02C620BC */ cpu->r[3] = cpu->r[10] + cpu->r[0];
|
|
L_02C620C0: ; // 0x2c620c0
|
|
/* 02C620C0 */ cpu->r[4] = cpu->r[30];
|
|
/* 02C620C4 */ Gambit_fn_02C611C8(cpu);
|
|
/* 02C620C8 */ cpu->r[27] = cpu->r[27] + 0xFFFFFFFFu;
|
|
/* 02C620C8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 02C620CC */ cpu->r[28] = cpu->r[28] + 0x00000010u;
|
|
/* 02C620D0 */ cpu->r[31] = cpu->r[31] | cpu->r[3];
|
|
/* 02C620D4 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C620D4 */ _t12 = _t11 & 0x00000001u;
|
|
/* 02C620D4 */ if (_t12) goto L_02C620D8; else goto L_02C62090;
|
|
L_02C620D8: ; // 0x2c620d8
|
|
/* 02C620D8 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C620DC */ /* nop */
|
|
/* 02C620E0 */ _t13 = cpu->r[1] + 0x00000024u;
|
|
/* 02C620E0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02C620E4 */ cpu->lr = cpu->r[0];
|
|
/* 02C620E8 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02C620EC */ return;
|
|
}
|
|
|
|
// fn_02C620F0 @ 0x2c620f0
|
|
void Gambit_fn_02C620F0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7;
|
|
|
|
L_02C620F0: ; // 0x2c620f0
|
|
/* 02C620F0 */ _t0 = cpu->r[3] + 0x0000001Cu;
|
|
/* 02C620F0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02C620F4 */ cpu->r[7] = 0x00000000u;
|
|
/* 02C620F8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02C620FC */ cpu->r[12] = cpu->r[3] + 0x0000001Cu;
|
|
/* 02C62100 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C62100 */ _t2 = _t1 & 0x00000001u;
|
|
/* 02C62100 */ if (_t2) goto L_02C62108; else goto L_02C62104;
|
|
L_02C62104: ; // 0x2c62104
|
|
/* 02C62104 */ cpu->r[7] = cpu->r[12] + cpu->r[10];
|
|
L_02C62108: ; // 0x2c62108
|
|
/* 02C62108 */ cpu->r[11] = 0x0000000Bu;
|
|
/* 02C6210C */ cpu->r[8] = cpu->r[7] + 0xFFFFFFFCu;
|
|
/* 02C62110 */ cpu->ctr = cpu->r[11];
|
|
/* 02C62114 */ cpu->r[9] = cpu->r[4] + 0xFFFFFFFCu;
|
|
L_02C62118: ; // 0x2c62118
|
|
/* 02C62118 */ _t3 = cpu->r[8] + 0x00000004u;
|
|
/* 02C62118 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02C62118 */ cpu->r[8] = _t3;
|
|
/* 02C6211C */ _t4 = cpu->r[9] + 0x00000004u;
|
|
/* 02C6211C */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02C6211C */ cpu->r[9] = _t4;
|
|
/* 02C62120 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02C62120 */ _t5 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02C62120 */ _t6 = _t5 >> (0x00000002u & 31u);
|
|
/* 02C62120 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02C62120 */ if (_t7) goto L_02C62118; else goto L_02C62124;
|
|
L_02C62124: ; // 0x2c62124
|
|
/* 02C62124 */ return;
|
|
}
|
|
|
|
// fn_02C62128 @ 0x2c62128
|
|
void Gambit_fn_02C62128(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_02C62128: ; // 0x2c62128
|
|
/* 02C62128 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 02C62128 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C62128 */ cpu->r[1] = _t0;
|
|
/* 02C6212C */ /* nop */
|
|
/* 02C62130 */ cpu->r[0] = cpu->lr;
|
|
/* 02C62134 */ _t1 = cpu->r[1] + 0x00000024u;
|
|
/* 02C62134 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02C62138 */ cpu->r[30] = cpu->r[3];
|
|
/* 02C6213C */ _t2 = cpu->r[30] + 0x00000004u;
|
|
/* 02C6213C */ cpu->r[0] = rbrew_read16(cpu->mem, _t2);
|
|
/* 02C62140 */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02C62140 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02C62144 */ cpu->r[31] = 0x00000000u;
|
|
/* 02C62148 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C62148 */ _t4 = _t3 & 0x00000001u;
|
|
/* 02C62148 */ if (_t4) goto L_02C621E8; else goto L_02C6214C;
|
|
L_02C6214C: ; // 0x2c6214c
|
|
/* 02C6214C */ _t5 = cpu->r[30] + 0x0000000Cu;
|
|
/* 02C6214C */ cpu->r[27] = rbrew_read8(cpu->mem, _t5);
|
|
/* 02C62150 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 02C62154 */ cpu->r[26] = 0x00000000u;
|
|
/* 02C62158 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C62158 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02C62158 */ if (_t7) goto L_02C621E0; else goto L_02C6215C;
|
|
L_02C6215C: ; // 0x2c6215c
|
|
/* 02C6215C */ cpu->r[29] = cpu->r[30] + 0x00000018u;
|
|
/* 02C62160 */ cpu->r[28] = 0x00000000u;
|
|
L_02C62164: ; // 0x2c62164
|
|
/* 02C62164 */ _t8 = cpu->r[29] + 0x00000000u;
|
|
/* 02C62164 */ cpu->r[8] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C62168 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 02C6216C */ cpu->r[7] = 0x00000000u;
|
|
/* 02C62170 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C62170 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02C62170 */ if (_t10) goto L_02C62178; else goto L_02C62174;
|
|
L_02C62174: ; // 0x2c62174
|
|
/* 02C62174 */ cpu->r[7] = cpu->r[29] + cpu->r[8];
|
|
L_02C62178: ; // 0x2c62178
|
|
/* 02C62178 */ _t11 = cpu->r[7] + cpu->r[28];
|
|
/* 02C62178 */ cpu->r[5] = rbrew_read16(cpu->mem, _t11);
|
|
/* 02C6217C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u);
|
|
/* 02C62180 */ cpu->r[3] = cpu->r[7] + cpu->r[28];
|
|
/* 02C62184 */ cpu->r[0] = rbrew_rlwinm(cpu->r[5], 0x00000000u, 0x00000019u, 0x0000001Bu);
|
|
/* 02C62188 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C62188 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02C62188 */ if (_t13) goto L_02C6218C; else goto L_02C621B0;
|
|
L_02C6218C: ; // 0x2c6218c
|
|
/* 02C6218C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000020u);
|
|
/* 02C62190 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C62190 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02C62190 */ if (_t15) goto L_02C62194; else goto L_02C621B0;
|
|
L_02C62194: ; // 0x2c62194
|
|
/* 02C62194 */ _t16 = cpu->r[3] + 0x00000020u;
|
|
/* 02C62194 */ cpu->r[10] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02C62198 */ cpu->r[9] = cpu->r[3] + 0x00000020u;
|
|
/* 02C6219C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02C621A0 */ cpu->r[31] = 0x00000000u;
|
|
/* 02C621A4 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C621A4 */ _t18 = _t17 & 0x00000001u;
|
|
/* 02C621A4 */ if (_t18) goto L_02C621AC; else goto L_02C621A8;
|
|
L_02C621A8: ; // 0x2c621a8
|
|
/* 02C621A8 */ cpu->r[31] = cpu->r[9] + cpu->r[10];
|
|
L_02C621AC: ; // 0x2c621ac
|
|
/* 02C621AC */ cpu->r[26] = 0x00000001u;
|
|
L_02C621B0: ; // 0x2c621b0
|
|
/* 02C621B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000040u);
|
|
/* 02C621B4 */ _t19 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C621B4 */ _t20 = _t19 & 0x00000001u;
|
|
/* 02C621B4 */ if (_t20) goto L_02C621B8; else goto L_02C621CC;
|
|
L_02C621B8: ; // 0x2c621b8
|
|
/* 02C621B8 */ Gambit_fn_02C5F538(cpu);
|
|
/* 02C621BC */ cpu->r[27] = cpu->r[27] + 0xFFFFFFFFu;
|
|
/* 02C621BC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 02C621C0 */ cpu->r[28] = cpu->r[28] + 0x00000024u;
|
|
/* 02C621C4 */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C621C4 */ _t22 = _t21 & 0x00000001u;
|
|
/* 02C621C4 */ if (_t22) goto L_02C621C8; else goto L_02C62164;
|
|
L_02C621C8: ; // 0x2c621c8
|
|
/* 02C621C8 */ goto L_02C621DC;
|
|
L_02C621CC: ; // 0x2c621cc
|
|
/* 02C621CC */ Gambit_fn_02C5F5DC(cpu);
|
|
/* 02C621D0 */ cpu->r[27] = cpu->r[27] + 0xFFFFFFFFu;
|
|
/* 02C621D0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 02C621D4 */ cpu->r[28] = cpu->r[28] + 0x00000024u;
|
|
/* 02C621D8 */ _t23 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C621D8 */ _t24 = _t23 & 0x00000001u;
|
|
/* 02C621D8 */ if (_t24) goto L_02C621DC; else goto L_02C62164;
|
|
L_02C621DC: ; // 0x2c621dc
|
|
/* 02C621DC */ _t25 = cpu->r[30] + 0x00000004u;
|
|
/* 02C621DC */ cpu->r[0] = rbrew_read16(cpu->mem, _t25);
|
|
L_02C621E0: ; // 0x2c621e0
|
|
/* 02C621E0 */ cpu->r[0] = cpu->r[0] ^ 0x00000001u;
|
|
/* 02C621E4 */ _t26 = cpu->r[30] + 0x00000004u;
|
|
/* 02C621E4 */ rbrew_write16(cpu->mem, _t26, (uint16_t)cpu->r[0]);
|
|
L_02C621E8: ; // 0x2c621e8
|
|
/* 02C621E8 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C621EC */ /* nop */
|
|
/* 02C621F0 */ _t27 = cpu->r[1] + 0x00000024u;
|
|
/* 02C621F0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02C621F4 */ cpu->lr = cpu->r[0];
|
|
/* 02C621F8 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02C621FC */ return;
|
|
}
|
|
|
|
// fn_02C62200 @ 0x2c62200
|
|
void Gambit_fn_02C62200(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_02C62128: ; // 0x2c62128
|
|
/* 02C62128 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 02C62128 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C62128 */ cpu->r[1] = _t0;
|
|
/* 02C6212C */ /* nop */
|
|
/* 02C62130 */ cpu->r[0] = cpu->lr;
|
|
/* 02C62134 */ _t1 = cpu->r[1] + 0x00000024u;
|
|
/* 02C62134 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02C62138 */ cpu->r[30] = cpu->r[3];
|
|
/* 02C6213C */ _t2 = cpu->r[30] + 0x00000004u;
|
|
/* 02C6213C */ cpu->r[0] = rbrew_read16(cpu->mem, _t2);
|
|
/* 02C62140 */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02C62140 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02C62144 */ cpu->r[31] = 0x00000000u;
|
|
/* 02C62148 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C62148 */ _t4 = _t3 & 0x00000001u;
|
|
/* 02C62148 */ if (_t4) goto L_02C621E8; else goto L_02C6214C;
|
|
L_02C6214C: ; // 0x2c6214c
|
|
/* 02C6214C */ _t5 = cpu->r[30] + 0x0000000Cu;
|
|
/* 02C6214C */ cpu->r[27] = rbrew_read8(cpu->mem, _t5);
|
|
/* 02C62150 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 02C62154 */ cpu->r[26] = 0x00000000u;
|
|
/* 02C62158 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C62158 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02C62158 */ if (_t7) goto L_02C621E0; else goto L_02C6215C;
|
|
L_02C6215C: ; // 0x2c6215c
|
|
/* 02C6215C */ cpu->r[29] = cpu->r[30] + 0x00000018u;
|
|
/* 02C62160 */ cpu->r[28] = 0x00000000u;
|
|
L_02C62164: ; // 0x2c62164
|
|
/* 02C62164 */ _t8 = cpu->r[29] + 0x00000000u;
|
|
/* 02C62164 */ cpu->r[8] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C62168 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 02C6216C */ cpu->r[7] = 0x00000000u;
|
|
/* 02C62170 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C62170 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02C62170 */ if (_t10) goto L_02C62178; else goto L_02C62174;
|
|
L_02C62174: ; // 0x2c62174
|
|
/* 02C62174 */ cpu->r[7] = cpu->r[29] + cpu->r[8];
|
|
L_02C62178: ; // 0x2c62178
|
|
/* 02C62178 */ _t11 = cpu->r[7] + cpu->r[28];
|
|
/* 02C62178 */ cpu->r[5] = rbrew_read16(cpu->mem, _t11);
|
|
/* 02C6217C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u);
|
|
/* 02C62180 */ cpu->r[3] = cpu->r[7] + cpu->r[28];
|
|
/* 02C62184 */ cpu->r[0] = rbrew_rlwinm(cpu->r[5], 0x00000000u, 0x00000019u, 0x0000001Bu);
|
|
/* 02C62188 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C62188 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02C62188 */ if (_t13) goto L_02C6218C; else goto L_02C621B0;
|
|
L_02C6218C: ; // 0x2c6218c
|
|
/* 02C6218C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000020u);
|
|
/* 02C62190 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C62190 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02C62190 */ if (_t15) goto L_02C62194; else goto L_02C621B0;
|
|
L_02C62194: ; // 0x2c62194
|
|
/* 02C62194 */ _t16 = cpu->r[3] + 0x00000020u;
|
|
/* 02C62194 */ cpu->r[10] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02C62198 */ cpu->r[9] = cpu->r[3] + 0x00000020u;
|
|
/* 02C6219C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02C621A0 */ cpu->r[31] = 0x00000000u;
|
|
/* 02C621A4 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C621A4 */ _t18 = _t17 & 0x00000001u;
|
|
/* 02C621A4 */ if (_t18) goto L_02C621AC; else goto L_02C621A8;
|
|
L_02C621A8: ; // 0x2c621a8
|
|
/* 02C621A8 */ cpu->r[31] = cpu->r[9] + cpu->r[10];
|
|
L_02C621AC: ; // 0x2c621ac
|
|
/* 02C621AC */ cpu->r[26] = 0x00000001u;
|
|
L_02C621B0: ; // 0x2c621b0
|
|
/* 02C621B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000040u);
|
|
/* 02C621B4 */ _t19 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C621B4 */ _t20 = _t19 & 0x00000001u;
|
|
/* 02C621B4 */ if (_t20) goto L_02C621B8; else goto L_02C621CC;
|
|
L_02C621B8: ; // 0x2c621b8
|
|
/* 02C621B8 */ Gambit_fn_02C5F538(cpu);
|
|
/* 02C621BC */ cpu->r[27] = cpu->r[27] + 0xFFFFFFFFu;
|
|
/* 02C621BC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 02C621C0 */ cpu->r[28] = cpu->r[28] + 0x00000024u;
|
|
/* 02C621C4 */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C621C4 */ _t22 = _t21 & 0x00000001u;
|
|
/* 02C621C4 */ if (_t22) goto L_02C621C8; else goto L_02C62164;
|
|
L_02C621C8: ; // 0x2c621c8
|
|
/* 02C621C8 */ goto L_02C621DC;
|
|
L_02C621CC: ; // 0x2c621cc
|
|
/* 02C621CC */ Gambit_fn_02C5F5DC(cpu);
|
|
/* 02C621D0 */ cpu->r[27] = cpu->r[27] + 0xFFFFFFFFu;
|
|
/* 02C621D0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 02C621D4 */ cpu->r[28] = cpu->r[28] + 0x00000024u;
|
|
/* 02C621D8 */ _t23 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C621D8 */ _t24 = _t23 & 0x00000001u;
|
|
/* 02C621D8 */ if (_t24) goto L_02C621DC; else goto L_02C62164;
|
|
L_02C621DC: ; // 0x2c621dc
|
|
/* 02C621DC */ _t25 = cpu->r[30] + 0x00000004u;
|
|
/* 02C621DC */ cpu->r[0] = rbrew_read16(cpu->mem, _t25);
|
|
L_02C621E0: ; // 0x2c621e0
|
|
/* 02C621E0 */ cpu->r[0] = cpu->r[0] ^ 0x00000001u;
|
|
/* 02C621E4 */ _t26 = cpu->r[30] + 0x00000004u;
|
|
/* 02C621E4 */ rbrew_write16(cpu->mem, _t26, (uint16_t)cpu->r[0]);
|
|
L_02C621E8: ; // 0x2c621e8
|
|
/* 02C621E8 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C621EC */ /* nop */
|
|
/* 02C621F0 */ _t27 = cpu->r[1] + 0x00000024u;
|
|
/* 02C621F0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02C621F4 */ cpu->lr = cpu->r[0];
|
|
/* 02C621F8 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02C621FC */ return;
|
|
L_02C62200: ; // 0x2c62200
|
|
/* 02C62200 */ goto L_02C62128;
|
|
}
|
|
|
|
// fn_02C62204 @ 0x2c62204
|
|
void Gambit_fn_02C62204(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;
|
|
|
|
L_02C62204: ; // 0x2c62204
|
|
/* 02C62204 */ _t0 = cpu->r[1] + 0xFFFFFFB8u;
|
|
/* 02C62204 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C62204 */ cpu->r[1] = _t0;
|
|
/* 02C62208 */ /* nop */
|
|
/* 02C6220C */ cpu->r[0] = cpu->lr;
|
|
/* 02C62210 */ _t1 = cpu->r[1] + 0x00000038u;
|
|
/* 02C62210 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[31]);
|
|
/* 02C62214 */ /* nop */
|
|
/* 02C62218 */ _t2 = cpu->r[1] + 0x00000028u;
|
|
/* 02C62218 */ rbrew_write_f64(cpu->mem, _t2, cpu->f[30]);
|
|
/* 02C6221C */ _t3 = cpu->r[1] + 0x00000040u;
|
|
/* 02C6221C */ rbrew_write_f32(cpu->mem, _t3, cpu->f[31]);
|
|
/* 02C62220 */ /* nop */
|
|
/* 02C62224 */ _t4 = cpu->r[1] + 0x00000030u;
|
|
/* 02C62224 */ rbrew_write_f32(cpu->mem, _t4, cpu->f[30]);
|
|
/* 02C62228 */ _t5 = cpu->r[1] + 0x0000004Cu;
|
|
/* 02C62228 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02C6222C */ _t6 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02C6222C */ cpu->r[28] = rbrew_read8(cpu->mem, _t6);
|
|
/* 02C62230 */ cpu->r[27] = cpu->r[4];
|
|
/* 02C62234 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 02C62238 */ cpu->f[30] = cpu->f[1];
|
|
/* 02C6223C */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6223C */ _t8 = _t7 & 0x00000001u;
|
|
/* 02C6223C */ if (_t8) goto L_02C6228C; else goto L_02C62240;
|
|
L_02C62240: ; // 0x2c62240
|
|
/* 02C62240 */ cpu->r[12] = 0x101B0000u;
|
|
/* 02C62244 */ cpu->r[31] = cpu->r[3] + 0x00000018u;
|
|
/* 02C62248 */ _t9 = cpu->r[12] + 0xFFFFF194u;
|
|
/* 02C62248 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t9);
|
|
/* 02C6224C */ cpu->r[29] = 0x00000000u;
|
|
L_02C62250: ; // 0x2c62250
|
|
/* 02C62250 */ _t10 = cpu->r[31] + 0x00000000u;
|
|
/* 02C62250 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02C62254 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C62258 */ cpu->r[11] = 0x00000000u;
|
|
/* 02C6225C */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6225C */ _t12 = _t11 & 0x00000001u;
|
|
/* 02C6225C */ if (_t12) goto L_02C62264; else goto L_02C62260;
|
|
L_02C62260: ; // 0x2c62260
|
|
/* 02C62260 */ cpu->r[11] = cpu->r[31] + cpu->r[0];
|
|
L_02C62264: ; // 0x2c62264
|
|
/* 02C62264 */ cpu->r[3] = cpu->r[11] + cpu->r[29];
|
|
/* 02C62268 */ cpu->f[1] = cpu->f[30];
|
|
/* 02C6226C */ _t13 = cpu->r[3] + 0x00000004u;
|
|
/* 02C6226C */ cpu->r[30] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02C62270 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02C62274 */ _t14 = cpu->r[1] + 0x00000008u;
|
|
/* 02C62274 */ rbrew_write_f32(cpu->mem, _t14, cpu->f[31]);
|
|
/* 02C62278 */ Gambit_fn_02C5F21C(cpu);
|
|
/* 02C6227C */ cpu->r[29] = cpu->r[29] + 0x00000024u;
|
|
/* 02C62280 */ cpu->r[28] = cpu->r[28] + 0xFFFFFFFFu;
|
|
/* 02C62280 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 02C62284 */ _t15 = cpu->r[27] + cpu->r[30];
|
|
/* 02C62284 */ rbrew_write32(cpu->mem, _t15, cpu->r[1]);
|
|
/* 02C62288 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C62288 */ _t17 = _t16 & 0x00000001u;
|
|
/* 02C62288 */ if (_t17) goto L_02C6228C; else goto L_02C62250;
|
|
L_02C6228C: ; // 0x2c6228c
|
|
/* 02C6228C */ /* nop */
|
|
/* 02C62290 */ _t18 = cpu->r[1] + 0x00000030u;
|
|
/* 02C62290 */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t18);
|
|
/* 02C62294 */ _t19 = cpu->r[1] + 0x00000040u;
|
|
/* 02C62294 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t19);
|
|
/* 02C62298 */ _t20 = cpu->r[1] + 0x00000028u;
|
|
/* 02C62298 */ cpu->f[30] = rbrew_read_f64(cpu->mem, _t20);
|
|
/* 02C6229C */ _t21 = cpu->r[1] + 0x00000038u;
|
|
/* 02C6229C */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t21);
|
|
/* 02C622A0 */ _t22 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C622A0 */ _t23 = _t22 & 0x00000001u;
|
|
/* 02C622A0 */ if (_t23) goto L_02C622A4; // else: addr-0 trap, fall-through
|
|
L_02C622A4: ; // 0x2c622a4
|
|
/* 02C622A4 */ _t24 = cpu->r[1] + 0x0000004Cu;
|
|
/* 02C622A4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02C622A8 */ cpu->lr = cpu->r[0];
|
|
/* 02C622AC */ cpu->r[1] = cpu->r[1] + 0x00000048u;
|
|
/* 02C622B0 */ return;
|
|
}
|
|
|
|
// fn_02C622B4 @ 0x2c622b4
|
|
void Gambit_fn_02C622B4(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;
|
|
|
|
L_02C622B4: ; // 0x2c622b4
|
|
/* 02C622B4 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 02C622B4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C622B4 */ cpu->r[1] = _t0;
|
|
/* 02C622B8 */ /* nop */
|
|
/* 02C622BC */ cpu->r[0] = cpu->lr;
|
|
/* 02C622C0 */ _t1 = cpu->r[1] + 0x00000024u;
|
|
/* 02C622C0 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02C622C4 */ cpu->r[30] = cpu->r[3];
|
|
/* 02C622C8 */ _t2 = cpu->r[30] + 0x00000004u;
|
|
/* 02C622C8 */ cpu->r[0] = rbrew_read16(cpu->mem, _t2);
|
|
/* 02C622CC */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02C622CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02C622D0 */ cpu->r[31] = 0x00000000u;
|
|
/* 02C622D4 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C622D4 */ _t4 = _t3 & 0x00000001u;
|
|
/* 02C622D4 */ if (_t4) goto L_02C6237C; else goto L_02C622D8;
|
|
L_02C622D8: ; // 0x2c622d8
|
|
/* 02C622D8 */ _t5 = cpu->r[30] + 0x0000000Cu;
|
|
/* 02C622D8 */ cpu->r[27] = rbrew_read8(cpu->mem, _t5);
|
|
/* 02C622DC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 02C622E0 */ cpu->r[26] = 0x00000000u;
|
|
/* 02C622E4 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C622E4 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02C622E4 */ if (_t7) goto L_02C62374; else goto L_02C622E8;
|
|
L_02C622E8: ; // 0x2c622e8
|
|
/* 02C622E8 */ cpu->r[29] = cpu->r[30] + 0x00000024u;
|
|
/* 02C622EC */ cpu->r[28] = 0x00000000u;
|
|
L_02C622F0: ; // 0x2c622f0
|
|
/* 02C622F0 */ _t8 = cpu->r[29] + 0x00000000u;
|
|
/* 02C622F0 */ cpu->r[8] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C622F4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 02C622F8 */ cpu->r[7] = 0x00000000u;
|
|
/* 02C622FC */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C622FC */ _t10 = _t9 & 0x00000001u;
|
|
/* 02C622FC */ if (_t10) goto L_02C62304; else goto L_02C62300;
|
|
L_02C62300: ; // 0x2c62300
|
|
/* 02C62300 */ cpu->r[7] = cpu->r[29] + cpu->r[8];
|
|
L_02C62304: ; // 0x2c62304
|
|
/* 02C62304 */ _t11 = cpu->r[7] + cpu->r[28];
|
|
/* 02C62304 */ cpu->r[5] = rbrew_read16(cpu->mem, _t11);
|
|
/* 02C62308 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u);
|
|
/* 02C6230C */ cpu->r[3] = cpu->r[7] + cpu->r[28];
|
|
/* 02C62310 */ cpu->r[0] = rbrew_rlwinm(cpu->r[5], 0x00000000u, 0x00000019u, 0x0000001Bu);
|
|
/* 02C62314 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C62314 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02C62314 */ if (_t13) goto L_02C62318; else goto L_02C62344;
|
|
L_02C62318: ; // 0x2c62318
|
|
/* 02C62318 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000020u);
|
|
/* 02C6231C */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6231C */ _t15 = _t14 & 0x00000001u;
|
|
/* 02C6231C */ if (_t15) goto L_02C62328; else goto L_02C62320;
|
|
L_02C62320: ; // 0x2c62320
|
|
/* 02C62320 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000070u);
|
|
/* 02C62324 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C62324 */ _t17 = _t16 & 0x00000001u;
|
|
/* 02C62324 */ if (_t17) goto L_02C62328; else goto L_02C62344;
|
|
L_02C62328: ; // 0x2c62328
|
|
/* 02C62328 */ _t18 = cpu->r[3] + 0x00000020u;
|
|
/* 02C62328 */ cpu->r[10] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02C6232C */ cpu->r[9] = cpu->r[3] + 0x00000020u;
|
|
/* 02C62330 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02C62334 */ cpu->r[31] = 0x00000000u;
|
|
/* 02C62338 */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C62338 */ _t20 = _t19 & 0x00000001u;
|
|
/* 02C62338 */ if (_t20) goto L_02C62340; else goto L_02C6233C;
|
|
L_02C6233C: ; // 0x2c6233c
|
|
/* 02C6233C */ cpu->r[31] = cpu->r[9] + cpu->r[10];
|
|
L_02C62340: ; // 0x2c62340
|
|
/* 02C62340 */ cpu->r[26] = 0x00000001u;
|
|
L_02C62344: ; // 0x2c62344
|
|
/* 02C62344 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000040u);
|
|
/* 02C62348 */ _t21 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C62348 */ _t22 = _t21 & 0x00000001u;
|
|
/* 02C62348 */ if (_t22) goto L_02C6234C; else goto L_02C62360;
|
|
L_02C6234C: ; // 0x2c6234c
|
|
/* 02C6234C */ Gambit_fn_02C5F538(cpu);
|
|
/* 02C62350 */ cpu->r[27] = cpu->r[27] + 0xFFFFFFFFu;
|
|
/* 02C62350 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 02C62354 */ cpu->r[28] = cpu->r[28] + 0x00000024u;
|
|
/* 02C62358 */ _t23 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C62358 */ _t24 = _t23 & 0x00000001u;
|
|
/* 02C62358 */ if (_t24) goto L_02C6235C; else goto L_02C622F0;
|
|
L_02C6235C: ; // 0x2c6235c
|
|
/* 02C6235C */ goto L_02C62370;
|
|
L_02C62360: ; // 0x2c62360
|
|
/* 02C62360 */ Gambit_fn_02C5F5DC(cpu);
|
|
/* 02C62364 */ cpu->r[27] = cpu->r[27] + 0xFFFFFFFFu;
|
|
/* 02C62364 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 02C62368 */ cpu->r[28] = cpu->r[28] + 0x00000024u;
|
|
/* 02C6236C */ _t25 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6236C */ _t26 = _t25 & 0x00000001u;
|
|
/* 02C6236C */ if (_t26) goto L_02C62370; else goto L_02C622F0;
|
|
L_02C62370: ; // 0x2c62370
|
|
/* 02C62370 */ _t27 = cpu->r[30] + 0x00000004u;
|
|
/* 02C62370 */ cpu->r[0] = rbrew_read16(cpu->mem, _t27);
|
|
L_02C62374: ; // 0x2c62374
|
|
/* 02C62374 */ cpu->r[0] = cpu->r[0] ^ 0x00000001u;
|
|
/* 02C62378 */ _t28 = cpu->r[30] + 0x00000004u;
|
|
/* 02C62378 */ rbrew_write16(cpu->mem, _t28, (uint16_t)cpu->r[0]);
|
|
L_02C6237C: ; // 0x2c6237c
|
|
/* 02C6237C */ cpu->r[3] = cpu->r[31];
|
|
/* 02C62380 */ /* nop */
|
|
/* 02C62384 */ _t29 = cpu->r[1] + 0x00000024u;
|
|
/* 02C62384 */ cpu->r[0] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02C62388 */ cpu->lr = cpu->r[0];
|
|
/* 02C6238C */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02C62390 */ return;
|
|
}
|
|
|
|
// fn_02C62394 @ 0x2c62394
|
|
void Gambit_fn_02C62394(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;
|
|
|
|
L_02C622B4: ; // 0x2c622b4
|
|
/* 02C622B4 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 02C622B4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C622B4 */ cpu->r[1] = _t0;
|
|
/* 02C622B8 */ /* nop */
|
|
/* 02C622BC */ cpu->r[0] = cpu->lr;
|
|
/* 02C622C0 */ _t1 = cpu->r[1] + 0x00000024u;
|
|
/* 02C622C0 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02C622C4 */ cpu->r[30] = cpu->r[3];
|
|
/* 02C622C8 */ _t2 = cpu->r[30] + 0x00000004u;
|
|
/* 02C622C8 */ cpu->r[0] = rbrew_read16(cpu->mem, _t2);
|
|
/* 02C622CC */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02C622CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02C622D0 */ cpu->r[31] = 0x00000000u;
|
|
/* 02C622D4 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C622D4 */ _t4 = _t3 & 0x00000001u;
|
|
/* 02C622D4 */ if (_t4) goto L_02C6237C; else goto L_02C622D8;
|
|
L_02C622D8: ; // 0x2c622d8
|
|
/* 02C622D8 */ _t5 = cpu->r[30] + 0x0000000Cu;
|
|
/* 02C622D8 */ cpu->r[27] = rbrew_read8(cpu->mem, _t5);
|
|
/* 02C622DC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 02C622E0 */ cpu->r[26] = 0x00000000u;
|
|
/* 02C622E4 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C622E4 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02C622E4 */ if (_t7) goto L_02C62374; else goto L_02C622E8;
|
|
L_02C622E8: ; // 0x2c622e8
|
|
/* 02C622E8 */ cpu->r[29] = cpu->r[30] + 0x00000024u;
|
|
/* 02C622EC */ cpu->r[28] = 0x00000000u;
|
|
L_02C622F0: ; // 0x2c622f0
|
|
/* 02C622F0 */ _t8 = cpu->r[29] + 0x00000000u;
|
|
/* 02C622F0 */ cpu->r[8] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C622F4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 02C622F8 */ cpu->r[7] = 0x00000000u;
|
|
/* 02C622FC */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C622FC */ _t10 = _t9 & 0x00000001u;
|
|
/* 02C622FC */ if (_t10) goto L_02C62304; else goto L_02C62300;
|
|
L_02C62300: ; // 0x2c62300
|
|
/* 02C62300 */ cpu->r[7] = cpu->r[29] + cpu->r[8];
|
|
L_02C62304: ; // 0x2c62304
|
|
/* 02C62304 */ _t11 = cpu->r[7] + cpu->r[28];
|
|
/* 02C62304 */ cpu->r[5] = rbrew_read16(cpu->mem, _t11);
|
|
/* 02C62308 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u);
|
|
/* 02C6230C */ cpu->r[3] = cpu->r[7] + cpu->r[28];
|
|
/* 02C62310 */ cpu->r[0] = rbrew_rlwinm(cpu->r[5], 0x00000000u, 0x00000019u, 0x0000001Bu);
|
|
/* 02C62314 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C62314 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02C62314 */ if (_t13) goto L_02C62318; else goto L_02C62344;
|
|
L_02C62318: ; // 0x2c62318
|
|
/* 02C62318 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000020u);
|
|
/* 02C6231C */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6231C */ _t15 = _t14 & 0x00000001u;
|
|
/* 02C6231C */ if (_t15) goto L_02C62328; else goto L_02C62320;
|
|
L_02C62320: ; // 0x2c62320
|
|
/* 02C62320 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000070u);
|
|
/* 02C62324 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C62324 */ _t17 = _t16 & 0x00000001u;
|
|
/* 02C62324 */ if (_t17) goto L_02C62328; else goto L_02C62344;
|
|
L_02C62328: ; // 0x2c62328
|
|
/* 02C62328 */ _t18 = cpu->r[3] + 0x00000020u;
|
|
/* 02C62328 */ cpu->r[10] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02C6232C */ cpu->r[9] = cpu->r[3] + 0x00000020u;
|
|
/* 02C62330 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02C62334 */ cpu->r[31] = 0x00000000u;
|
|
/* 02C62338 */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C62338 */ _t20 = _t19 & 0x00000001u;
|
|
/* 02C62338 */ if (_t20) goto L_02C62340; else goto L_02C6233C;
|
|
L_02C6233C: ; // 0x2c6233c
|
|
/* 02C6233C */ cpu->r[31] = cpu->r[9] + cpu->r[10];
|
|
L_02C62340: ; // 0x2c62340
|
|
/* 02C62340 */ cpu->r[26] = 0x00000001u;
|
|
L_02C62344: ; // 0x2c62344
|
|
/* 02C62344 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000040u);
|
|
/* 02C62348 */ _t21 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C62348 */ _t22 = _t21 & 0x00000001u;
|
|
/* 02C62348 */ if (_t22) goto L_02C6234C; else goto L_02C62360;
|
|
L_02C6234C: ; // 0x2c6234c
|
|
/* 02C6234C */ Gambit_fn_02C5F538(cpu);
|
|
/* 02C62350 */ cpu->r[27] = cpu->r[27] + 0xFFFFFFFFu;
|
|
/* 02C62350 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 02C62354 */ cpu->r[28] = cpu->r[28] + 0x00000024u;
|
|
/* 02C62358 */ _t23 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C62358 */ _t24 = _t23 & 0x00000001u;
|
|
/* 02C62358 */ if (_t24) goto L_02C6235C; else goto L_02C622F0;
|
|
L_02C6235C: ; // 0x2c6235c
|
|
/* 02C6235C */ goto L_02C62370;
|
|
L_02C62360: ; // 0x2c62360
|
|
/* 02C62360 */ Gambit_fn_02C5F5DC(cpu);
|
|
/* 02C62364 */ cpu->r[27] = cpu->r[27] + 0xFFFFFFFFu;
|
|
/* 02C62364 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 02C62368 */ cpu->r[28] = cpu->r[28] + 0x00000024u;
|
|
/* 02C6236C */ _t25 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6236C */ _t26 = _t25 & 0x00000001u;
|
|
/* 02C6236C */ if (_t26) goto L_02C62370; else goto L_02C622F0;
|
|
L_02C62370: ; // 0x2c62370
|
|
/* 02C62370 */ _t27 = cpu->r[30] + 0x00000004u;
|
|
/* 02C62370 */ cpu->r[0] = rbrew_read16(cpu->mem, _t27);
|
|
L_02C62374: ; // 0x2c62374
|
|
/* 02C62374 */ cpu->r[0] = cpu->r[0] ^ 0x00000001u;
|
|
/* 02C62378 */ _t28 = cpu->r[30] + 0x00000004u;
|
|
/* 02C62378 */ rbrew_write16(cpu->mem, _t28, (uint16_t)cpu->r[0]);
|
|
L_02C6237C: ; // 0x2c6237c
|
|
/* 02C6237C */ cpu->r[3] = cpu->r[31];
|
|
/* 02C62380 */ /* nop */
|
|
/* 02C62384 */ _t29 = cpu->r[1] + 0x00000024u;
|
|
/* 02C62384 */ cpu->r[0] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02C62388 */ cpu->lr = cpu->r[0];
|
|
/* 02C6238C */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02C62390 */ return;
|
|
L_02C62394: ; // 0x2c62394
|
|
/* 02C62394 */ goto L_02C622B4;
|
|
}
|
|
|
|
// fn_02C62398 @ 0x2c62398
|
|
void Gambit_fn_02C62398(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_02C62398: ; // 0x2c62398
|
|
/* 02C62398 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 02C62398 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C62398 */ cpu->r[1] = _t0;
|
|
/* 02C6239C */ /* nop */
|
|
/* 02C623A0 */ cpu->r[0] = cpu->lr;
|
|
/* 02C623A4 */ _t1 = cpu->r[1] + 0x00000024u;
|
|
/* 02C623A4 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02C623A8 */ cpu->r[30] = cpu->r[3];
|
|
/* 02C623AC */ _t2 = cpu->r[30] + 0x00000004u;
|
|
/* 02C623AC */ cpu->r[0] = rbrew_read16(cpu->mem, _t2);
|
|
/* 02C623B0 */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02C623B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02C623B4 */ cpu->r[31] = 0x00000000u;
|
|
/* 02C623B8 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C623B8 */ _t4 = _t3 & 0x00000001u;
|
|
/* 02C623B8 */ if (_t4) goto L_02C62458; else goto L_02C623BC;
|
|
L_02C623BC: ; // 0x2c623bc
|
|
/* 02C623BC */ _t5 = cpu->r[30] + 0x0000000Cu;
|
|
/* 02C623BC */ cpu->r[27] = rbrew_read8(cpu->mem, _t5);
|
|
/* 02C623C0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 02C623C4 */ cpu->r[26] = 0x00000000u;
|
|
/* 02C623C8 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C623C8 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02C623C8 */ if (_t7) goto L_02C62450; else goto L_02C623CC;
|
|
L_02C623CC: ; // 0x2c623cc
|
|
/* 02C623CC */ cpu->r[29] = cpu->r[30] + 0x0000001Cu;
|
|
/* 02C623D0 */ cpu->r[28] = 0x00000000u;
|
|
L_02C623D4: ; // 0x2c623d4
|
|
/* 02C623D4 */ _t8 = cpu->r[29] + 0x00000000u;
|
|
/* 02C623D4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C623D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 02C623DC */ cpu->r[7] = 0x00000000u;
|
|
/* 02C623E0 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C623E0 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02C623E0 */ if (_t10) goto L_02C623E8; else goto L_02C623E4;
|
|
L_02C623E4: ; // 0x2c623e4
|
|
/* 02C623E4 */ cpu->r[7] = cpu->r[29] + cpu->r[8];
|
|
L_02C623E8: ; // 0x2c623e8
|
|
/* 02C623E8 */ _t11 = cpu->r[7] + cpu->r[28];
|
|
/* 02C623E8 */ cpu->r[5] = rbrew_read16(cpu->mem, _t11);
|
|
/* 02C623EC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u);
|
|
/* 02C623F0 */ cpu->r[3] = cpu->r[7] + cpu->r[28];
|
|
/* 02C623F4 */ cpu->r[0] = rbrew_rlwinm(cpu->r[5], 0x00000000u, 0x00000019u, 0x0000001Bu);
|
|
/* 02C623F8 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C623F8 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02C623F8 */ if (_t13) goto L_02C623FC; else goto L_02C62420;
|
|
L_02C623FC: ; // 0x2c623fc
|
|
/* 02C623FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000020u);
|
|
/* 02C62400 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C62400 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02C62400 */ if (_t15) goto L_02C62404; else goto L_02C62420;
|
|
L_02C62404: ; // 0x2c62404
|
|
/* 02C62404 */ _t16 = cpu->r[3] + 0x00000020u;
|
|
/* 02C62404 */ cpu->r[10] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02C62408 */ cpu->r[9] = cpu->r[3] + 0x00000020u;
|
|
/* 02C6240C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02C62410 */ cpu->r[31] = 0x00000000u;
|
|
/* 02C62414 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C62414 */ _t18 = _t17 & 0x00000001u;
|
|
/* 02C62414 */ if (_t18) goto L_02C6241C; else goto L_02C62418;
|
|
L_02C62418: ; // 0x2c62418
|
|
/* 02C62418 */ cpu->r[31] = cpu->r[9] + cpu->r[10];
|
|
L_02C6241C: ; // 0x2c6241c
|
|
/* 02C6241C */ cpu->r[26] = 0x00000001u;
|
|
L_02C62420: ; // 0x2c62420
|
|
/* 02C62420 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000040u);
|
|
/* 02C62424 */ _t19 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C62424 */ _t20 = _t19 & 0x00000001u;
|
|
/* 02C62424 */ if (_t20) goto L_02C62428; else goto L_02C6243C;
|
|
L_02C62428: ; // 0x2c62428
|
|
/* 02C62428 */ Gambit_fn_02C5F538(cpu);
|
|
/* 02C6242C */ cpu->r[27] = cpu->r[27] + 0xFFFFFFFFu;
|
|
/* 02C6242C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 02C62430 */ cpu->r[28] = cpu->r[28] + 0x00000024u;
|
|
/* 02C62434 */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C62434 */ _t22 = _t21 & 0x00000001u;
|
|
/* 02C62434 */ if (_t22) goto L_02C62438; else goto L_02C623D4;
|
|
L_02C62438: ; // 0x2c62438
|
|
/* 02C62438 */ goto L_02C6244C;
|
|
L_02C6243C: ; // 0x2c6243c
|
|
/* 02C6243C */ Gambit_fn_02C5F5DC(cpu);
|
|
/* 02C62440 */ cpu->r[27] = cpu->r[27] + 0xFFFFFFFFu;
|
|
/* 02C62440 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 02C62444 */ cpu->r[28] = cpu->r[28] + 0x00000024u;
|
|
/* 02C62448 */ _t23 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C62448 */ _t24 = _t23 & 0x00000001u;
|
|
/* 02C62448 */ if (_t24) goto L_02C6244C; else goto L_02C623D4;
|
|
L_02C6244C: ; // 0x2c6244c
|
|
/* 02C6244C */ _t25 = cpu->r[30] + 0x00000004u;
|
|
/* 02C6244C */ cpu->r[0] = rbrew_read16(cpu->mem, _t25);
|
|
L_02C62450: ; // 0x2c62450
|
|
/* 02C62450 */ cpu->r[0] = cpu->r[0] ^ 0x00000001u;
|
|
/* 02C62454 */ _t26 = cpu->r[30] + 0x00000004u;
|
|
/* 02C62454 */ rbrew_write16(cpu->mem, _t26, (uint16_t)cpu->r[0]);
|
|
L_02C62458: ; // 0x2c62458
|
|
/* 02C62458 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C6245C */ /* nop */
|
|
/* 02C62460 */ _t27 = cpu->r[1] + 0x00000024u;
|
|
/* 02C62460 */ cpu->r[0] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02C62464 */ cpu->lr = cpu->r[0];
|
|
/* 02C62468 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02C6246C */ return;
|
|
}
|
|
|
|
// fn_02C62470 @ 0x2c62470
|
|
void Gambit_fn_02C62470(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_02C62398: ; // 0x2c62398
|
|
/* 02C62398 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 02C62398 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C62398 */ cpu->r[1] = _t0;
|
|
/* 02C6239C */ /* nop */
|
|
/* 02C623A0 */ cpu->r[0] = cpu->lr;
|
|
/* 02C623A4 */ _t1 = cpu->r[1] + 0x00000024u;
|
|
/* 02C623A4 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02C623A8 */ cpu->r[30] = cpu->r[3];
|
|
/* 02C623AC */ _t2 = cpu->r[30] + 0x00000004u;
|
|
/* 02C623AC */ cpu->r[0] = rbrew_read16(cpu->mem, _t2);
|
|
/* 02C623B0 */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02C623B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02C623B4 */ cpu->r[31] = 0x00000000u;
|
|
/* 02C623B8 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C623B8 */ _t4 = _t3 & 0x00000001u;
|
|
/* 02C623B8 */ if (_t4) goto L_02C62458; else goto L_02C623BC;
|
|
L_02C623BC: ; // 0x2c623bc
|
|
/* 02C623BC */ _t5 = cpu->r[30] + 0x0000000Cu;
|
|
/* 02C623BC */ cpu->r[27] = rbrew_read8(cpu->mem, _t5);
|
|
/* 02C623C0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 02C623C4 */ cpu->r[26] = 0x00000000u;
|
|
/* 02C623C8 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C623C8 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02C623C8 */ if (_t7) goto L_02C62450; else goto L_02C623CC;
|
|
L_02C623CC: ; // 0x2c623cc
|
|
/* 02C623CC */ cpu->r[29] = cpu->r[30] + 0x0000001Cu;
|
|
/* 02C623D0 */ cpu->r[28] = 0x00000000u;
|
|
L_02C623D4: ; // 0x2c623d4
|
|
/* 02C623D4 */ _t8 = cpu->r[29] + 0x00000000u;
|
|
/* 02C623D4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C623D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 02C623DC */ cpu->r[7] = 0x00000000u;
|
|
/* 02C623E0 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C623E0 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02C623E0 */ if (_t10) goto L_02C623E8; else goto L_02C623E4;
|
|
L_02C623E4: ; // 0x2c623e4
|
|
/* 02C623E4 */ cpu->r[7] = cpu->r[29] + cpu->r[8];
|
|
L_02C623E8: ; // 0x2c623e8
|
|
/* 02C623E8 */ _t11 = cpu->r[7] + cpu->r[28];
|
|
/* 02C623E8 */ cpu->r[5] = rbrew_read16(cpu->mem, _t11);
|
|
/* 02C623EC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u);
|
|
/* 02C623F0 */ cpu->r[3] = cpu->r[7] + cpu->r[28];
|
|
/* 02C623F4 */ cpu->r[0] = rbrew_rlwinm(cpu->r[5], 0x00000000u, 0x00000019u, 0x0000001Bu);
|
|
/* 02C623F8 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C623F8 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02C623F8 */ if (_t13) goto L_02C623FC; else goto L_02C62420;
|
|
L_02C623FC: ; // 0x2c623fc
|
|
/* 02C623FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000020u);
|
|
/* 02C62400 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C62400 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02C62400 */ if (_t15) goto L_02C62404; else goto L_02C62420;
|
|
L_02C62404: ; // 0x2c62404
|
|
/* 02C62404 */ _t16 = cpu->r[3] + 0x00000020u;
|
|
/* 02C62404 */ cpu->r[10] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02C62408 */ cpu->r[9] = cpu->r[3] + 0x00000020u;
|
|
/* 02C6240C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02C62410 */ cpu->r[31] = 0x00000000u;
|
|
/* 02C62414 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C62414 */ _t18 = _t17 & 0x00000001u;
|
|
/* 02C62414 */ if (_t18) goto L_02C6241C; else goto L_02C62418;
|
|
L_02C62418: ; // 0x2c62418
|
|
/* 02C62418 */ cpu->r[31] = cpu->r[9] + cpu->r[10];
|
|
L_02C6241C: ; // 0x2c6241c
|
|
/* 02C6241C */ cpu->r[26] = 0x00000001u;
|
|
L_02C62420: ; // 0x2c62420
|
|
/* 02C62420 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000040u);
|
|
/* 02C62424 */ _t19 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C62424 */ _t20 = _t19 & 0x00000001u;
|
|
/* 02C62424 */ if (_t20) goto L_02C62428; else goto L_02C6243C;
|
|
L_02C62428: ; // 0x2c62428
|
|
/* 02C62428 */ Gambit_fn_02C5F538(cpu);
|
|
/* 02C6242C */ cpu->r[27] = cpu->r[27] + 0xFFFFFFFFu;
|
|
/* 02C6242C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 02C62430 */ cpu->r[28] = cpu->r[28] + 0x00000024u;
|
|
/* 02C62434 */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C62434 */ _t22 = _t21 & 0x00000001u;
|
|
/* 02C62434 */ if (_t22) goto L_02C62438; else goto L_02C623D4;
|
|
L_02C62438: ; // 0x2c62438
|
|
/* 02C62438 */ goto L_02C6244C;
|
|
L_02C6243C: ; // 0x2c6243c
|
|
/* 02C6243C */ Gambit_fn_02C5F5DC(cpu);
|
|
/* 02C62440 */ cpu->r[27] = cpu->r[27] + 0xFFFFFFFFu;
|
|
/* 02C62440 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 02C62444 */ cpu->r[28] = cpu->r[28] + 0x00000024u;
|
|
/* 02C62448 */ _t23 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C62448 */ _t24 = _t23 & 0x00000001u;
|
|
/* 02C62448 */ if (_t24) goto L_02C6244C; else goto L_02C623D4;
|
|
L_02C6244C: ; // 0x2c6244c
|
|
/* 02C6244C */ _t25 = cpu->r[30] + 0x00000004u;
|
|
/* 02C6244C */ cpu->r[0] = rbrew_read16(cpu->mem, _t25);
|
|
L_02C62450: ; // 0x2c62450
|
|
/* 02C62450 */ cpu->r[0] = cpu->r[0] ^ 0x00000001u;
|
|
/* 02C62454 */ _t26 = cpu->r[30] + 0x00000004u;
|
|
/* 02C62454 */ rbrew_write16(cpu->mem, _t26, (uint16_t)cpu->r[0]);
|
|
L_02C62458: ; // 0x2c62458
|
|
/* 02C62458 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C6245C */ /* nop */
|
|
/* 02C62460 */ _t27 = cpu->r[1] + 0x00000024u;
|
|
/* 02C62460 */ cpu->r[0] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02C62464 */ cpu->lr = cpu->r[0];
|
|
/* 02C62468 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02C6246C */ return;
|
|
L_02C62470: ; // 0x2c62470
|
|
/* 02C62470 */ goto L_02C62398;
|
|
}
|
|
|
|
// fn_02C62474 @ 0x2c62474
|
|
void Gambit_fn_02C62474(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;
|
|
|
|
L_02C62474: ; // 0x2c62474
|
|
/* 02C62474 */ cpu->r[0] = cpu->lr;
|
|
/* 02C62478 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02C62478 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C62478 */ cpu->r[1] = _t0;
|
|
/* 02C6247C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C6247C */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
|
|
/* 02C62480 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02C62480 */ rbrew_write32(cpu->mem, _t2, cpu->r[28]);
|
|
/* 02C62484 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02C62484 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 02C62488 */ _t4 = cpu->r[1] + 0x00000010u;
|
|
/* 02C62488 */ rbrew_write32(cpu->mem, _t4, cpu->r[30]);
|
|
/* 02C6248C */ cpu->r[31] = cpu->r[3];
|
|
/* 02C62490 */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C62490 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02C62494 */ _t6 = cpu->r[31] + 0x0000000Eu;
|
|
/* 02C62494 */ cpu->r[28] = rbrew_read16(cpu->mem, _t6);
|
|
/* 02C62498 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 02C6249C */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6249C */ _t8 = _t7 & 0x00000001u;
|
|
/* 02C6249C */ if (_t8) goto L_02C624E8; else goto L_02C624A0;
|
|
L_02C624A0: ; // 0x2c624a0
|
|
/* 02C624A0 */ cpu->r[30] = cpu->r[31] + 0x00000014u;
|
|
/* 02C624A4 */ cpu->r[29] = 0x00000000u;
|
|
L_02C624A8: ; // 0x2c624a8
|
|
/* 02C624A8 */ _t9 = cpu->r[30] + 0x00000000u;
|
|
/* 02C624A8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02C624AC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02C624B0 */ cpu->r[10] = 0x00000000u;
|
|
/* 02C624B4 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C624B4 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02C624B4 */ if (_t11) goto L_02C624BC; else goto L_02C624B8;
|
|
L_02C624B8: ; // 0x2c624b8
|
|
/* 02C624B8 */ cpu->r[10] = cpu->r[30] + cpu->r[12];
|
|
L_02C624BC: ; // 0x2c624bc
|
|
/* 02C624BC */ cpu->r[7] = cpu->r[10] + cpu->r[29];
|
|
/* 02C624C0 */ _t12 = cpu->r[7] + 0x00000024u;
|
|
/* 02C624C0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02C624C4 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C624C8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C624CC */ cpu->r[11] = cpu->r[7] + 0x00000024u;
|
|
/* 02C624D0 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C624D0 */ _t14 = _t13 & 0x00000001u;
|
|
/* 02C624D0 */ if (_t14) goto L_02C624D8; else goto L_02C624D4;
|
|
L_02C624D4: ; // 0x2c624d4
|
|
/* 02C624D4 */ cpu->r[3] = cpu->r[11] + cpu->r[0];
|
|
L_02C624D8: ; // 0x2c624d8
|
|
/* 02C624D8 */ Gambit_fn_02C62200(cpu);
|
|
/* 02C624DC */ cpu->r[28] = cpu->r[28] + 0xFFFFFFFFu;
|
|
/* 02C624DC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 02C624E0 */ cpu->r[29] = cpu->r[29] + 0x00000010u;
|
|
/* 02C624E4 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C624E4 */ _t16 = _t15 & 0x00000001u;
|
|
/* 02C624E4 */ if (_t16) goto L_02C624E8; else goto L_02C624A8;
|
|
L_02C624E8: ; // 0x2c624e8
|
|
/* 02C624E8 */ _t17 = cpu->r[31] + 0x00000010u;
|
|
/* 02C624E8 */ cpu->r[28] = rbrew_read16(cpu->mem, _t17);
|
|
/* 02C624EC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 02C624F0 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C624F0 */ _t19 = _t18 & 0x00000001u;
|
|
/* 02C624F0 */ if (_t19) goto L_02C6253C; else goto L_02C624F4;
|
|
L_02C624F4: ; // 0x2c624f4
|
|
/* 02C624F4 */ cpu->r[30] = cpu->r[31] + 0x00000018u;
|
|
/* 02C624F8 */ cpu->r[29] = 0x00000000u;
|
|
L_02C624FC: ; // 0x2c624fc
|
|
/* 02C624FC */ _t20 = cpu->r[30] + 0x00000000u;
|
|
/* 02C624FC */ cpu->r[6] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02C62500 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u);
|
|
/* 02C62504 */ cpu->r[8] = 0x00000000u;
|
|
/* 02C62508 */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C62508 */ _t22 = _t21 & 0x00000001u;
|
|
/* 02C62508 */ if (_t22) goto L_02C62510; else goto L_02C6250C;
|
|
L_02C6250C: ; // 0x2c6250c
|
|
/* 02C6250C */ cpu->r[8] = cpu->r[30] + cpu->r[6];
|
|
L_02C62510: ; // 0x2c62510
|
|
/* 02C62510 */ cpu->r[10] = cpu->r[8] + cpu->r[29];
|
|
/* 02C62514 */ _t23 = cpu->r[10] + 0x00000024u;
|
|
/* 02C62514 */ cpu->r[7] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02C62518 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C6251C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 02C62520 */ cpu->r[11] = cpu->r[10] + 0x00000024u;
|
|
/* 02C62524 */ _t24 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C62524 */ _t25 = _t24 & 0x00000001u;
|
|
/* 02C62524 */ if (_t25) goto L_02C6252C; else goto L_02C62528;
|
|
L_02C62528: ; // 0x2c62528
|
|
/* 02C62528 */ cpu->r[3] = cpu->r[11] + cpu->r[7];
|
|
L_02C6252C: ; // 0x2c6252c
|
|
/* 02C6252C */ Gambit_fn_02C62394(cpu);
|
|
/* 02C62530 */ cpu->r[28] = cpu->r[28] + 0xFFFFFFFFu;
|
|
/* 02C62530 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 02C62534 */ cpu->r[29] = cpu->r[29] + 0x00000010u;
|
|
/* 02C62538 */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C62538 */ _t27 = _t26 & 0x00000001u;
|
|
/* 02C62538 */ if (_t27) goto L_02C6253C; else goto L_02C624FC;
|
|
L_02C6253C: ; // 0x2c6253c
|
|
/* 02C6253C */ _t28 = cpu->r[31] + 0x00000012u;
|
|
/* 02C6253C */ cpu->r[29] = rbrew_read16(cpu->mem, _t28);
|
|
/* 02C62540 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 02C62544 */ _t29 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C62544 */ _t30 = _t29 & 0x00000001u;
|
|
/* 02C62544 */ if (_t30) goto L_02C62594; else goto L_02C62548;
|
|
L_02C62548: ; // 0x2c62548
|
|
/* 02C62548 */ cpu->r[31] = cpu->r[31] + 0x0000001Cu;
|
|
/* 02C6254C */ cpu->r[30] = 0x00000000u;
|
|
L_02C62550: ; // 0x2c62550
|
|
/* 02C62550 */ _t31 = cpu->r[31] + 0x00000000u;
|
|
/* 02C62550 */ cpu->r[9] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02C62554 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 02C62558 */ cpu->r[12] = 0x00000000u;
|
|
/* 02C6255C */ _t32 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6255C */ _t33 = _t32 & 0x00000001u;
|
|
/* 02C6255C */ if (_t33) goto L_02C62564; else goto L_02C62560;
|
|
L_02C62560: ; // 0x2c62560
|
|
/* 02C62560 */ cpu->r[12] = cpu->r[31] + cpu->r[9];
|
|
L_02C62564: ; // 0x2c62564
|
|
/* 02C62564 */ cpu->r[11] = cpu->r[12] + 0x00000008u;
|
|
/* 02C62568 */ cpu->r[12] = cpu->r[11] + cpu->r[30];
|
|
/* 02C6256C */ _t34 = cpu->r[12] + 0x0000001Cu;
|
|
/* 02C6256C */ cpu->r[0] = rbrew_read32(cpu->mem, _t34);
|
|
/* 02C62570 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C62574 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C62578 */ cpu->r[8] = cpu->r[12] + 0x0000001Cu;
|
|
/* 02C6257C */ _t35 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6257C */ _t36 = _t35 & 0x00000001u;
|
|
/* 02C6257C */ if (_t36) goto L_02C62584; else goto L_02C62580;
|
|
L_02C62580: ; // 0x2c62580
|
|
/* 02C62580 */ cpu->r[3] = cpu->r[8] + cpu->r[0];
|
|
L_02C62584: ; // 0x2c62584
|
|
/* 02C62584 */ Gambit_fn_02C62470(cpu);
|
|
/* 02C62588 */ cpu->r[29] = cpu->r[29] + 0xFFFFFFFFu;
|
|
/* 02C62588 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 02C6258C */ cpu->r[30] = cpu->r[30] + 0x00000010u;
|
|
/* 02C62590 */ _t37 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C62590 */ _t38 = _t37 & 0x00000001u;
|
|
/* 02C62590 */ if (_t38) goto L_02C62594; else goto L_02C62550;
|
|
L_02C62594: ; // 0x2c62594
|
|
/* 02C62594 */ _t39 = cpu->r[1] + 0x00000008u;
|
|
/* 02C62594 */ cpu->r[28] = rbrew_read32(cpu->mem, _t39);
|
|
/* 02C62598 */ _t40 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C62598 */ cpu->r[29] = rbrew_read32(cpu->mem, _t40);
|
|
/* 02C6259C */ _t41 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C6259C */ cpu->r[0] = rbrew_read32(cpu->mem, _t41);
|
|
/* 02C625A0 */ _t42 = cpu->r[1] + 0x00000010u;
|
|
/* 02C625A0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t42);
|
|
/* 02C625A4 */ cpu->lr = cpu->r[0];
|
|
/* 02C625A8 */ _t43 = cpu->r[1] + 0x00000014u;
|
|
/* 02C625A8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t43);
|
|
/* 02C625AC */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C625B0 */ return;
|
|
}
|
|
|
|
// fn_02C62478 @ 0x2c62478
|
|
void Gambit_fn_02C62478(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;
|
|
|
|
L_02C62478: ; // 0x2c62478
|
|
/* 02C62478 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02C62478 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C62478 */ cpu->r[1] = _t0;
|
|
/* 02C6247C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C6247C */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
|
|
/* 02C62480 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02C62480 */ rbrew_write32(cpu->mem, _t2, cpu->r[28]);
|
|
/* 02C62484 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02C62484 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 02C62488 */ _t4 = cpu->r[1] + 0x00000010u;
|
|
/* 02C62488 */ rbrew_write32(cpu->mem, _t4, cpu->r[30]);
|
|
/* 02C6248C */ cpu->r[31] = cpu->r[3];
|
|
/* 02C62490 */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C62490 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02C62494 */ _t6 = cpu->r[31] + 0x0000000Eu;
|
|
/* 02C62494 */ cpu->r[28] = rbrew_read16(cpu->mem, _t6);
|
|
/* 02C62498 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 02C6249C */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6249C */ _t8 = _t7 & 0x00000001u;
|
|
/* 02C6249C */ if (_t8) goto L_02C624E8; else goto L_02C624A0;
|
|
L_02C624A0: ; // 0x2c624a0
|
|
/* 02C624A0 */ cpu->r[30] = cpu->r[31] + 0x00000014u;
|
|
/* 02C624A4 */ cpu->r[29] = 0x00000000u;
|
|
L_02C624A8: ; // 0x2c624a8
|
|
/* 02C624A8 */ _t9 = cpu->r[30] + 0x00000000u;
|
|
/* 02C624A8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02C624AC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02C624B0 */ cpu->r[10] = 0x00000000u;
|
|
/* 02C624B4 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C624B4 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02C624B4 */ if (_t11) goto L_02C624BC; else goto L_02C624B8;
|
|
L_02C624B8: ; // 0x2c624b8
|
|
/* 02C624B8 */ cpu->r[10] = cpu->r[30] + cpu->r[12];
|
|
L_02C624BC: ; // 0x2c624bc
|
|
/* 02C624BC */ cpu->r[7] = cpu->r[10] + cpu->r[29];
|
|
/* 02C624C0 */ _t12 = cpu->r[7] + 0x00000024u;
|
|
/* 02C624C0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02C624C4 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C624C8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C624CC */ cpu->r[11] = cpu->r[7] + 0x00000024u;
|
|
/* 02C624D0 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C624D0 */ _t14 = _t13 & 0x00000001u;
|
|
/* 02C624D0 */ if (_t14) goto L_02C624D8; else goto L_02C624D4;
|
|
L_02C624D4: ; // 0x2c624d4
|
|
/* 02C624D4 */ cpu->r[3] = cpu->r[11] + cpu->r[0];
|
|
L_02C624D8: ; // 0x2c624d8
|
|
/* 02C624D8 */ Gambit_fn_02C62200(cpu);
|
|
/* 02C624DC */ cpu->r[28] = cpu->r[28] + 0xFFFFFFFFu;
|
|
/* 02C624DC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 02C624E0 */ cpu->r[29] = cpu->r[29] + 0x00000010u;
|
|
/* 02C624E4 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C624E4 */ _t16 = _t15 & 0x00000001u;
|
|
/* 02C624E4 */ if (_t16) goto L_02C624E8; else goto L_02C624A8;
|
|
L_02C624E8: ; // 0x2c624e8
|
|
/* 02C624E8 */ _t17 = cpu->r[31] + 0x00000010u;
|
|
/* 02C624E8 */ cpu->r[28] = rbrew_read16(cpu->mem, _t17);
|
|
/* 02C624EC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 02C624F0 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C624F0 */ _t19 = _t18 & 0x00000001u;
|
|
/* 02C624F0 */ if (_t19) goto L_02C6253C; else goto L_02C624F4;
|
|
L_02C624F4: ; // 0x2c624f4
|
|
/* 02C624F4 */ cpu->r[30] = cpu->r[31] + 0x00000018u;
|
|
/* 02C624F8 */ cpu->r[29] = 0x00000000u;
|
|
L_02C624FC: ; // 0x2c624fc
|
|
/* 02C624FC */ _t20 = cpu->r[30] + 0x00000000u;
|
|
/* 02C624FC */ cpu->r[6] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02C62500 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u);
|
|
/* 02C62504 */ cpu->r[8] = 0x00000000u;
|
|
/* 02C62508 */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C62508 */ _t22 = _t21 & 0x00000001u;
|
|
/* 02C62508 */ if (_t22) goto L_02C62510; else goto L_02C6250C;
|
|
L_02C6250C: ; // 0x2c6250c
|
|
/* 02C6250C */ cpu->r[8] = cpu->r[30] + cpu->r[6];
|
|
L_02C62510: ; // 0x2c62510
|
|
/* 02C62510 */ cpu->r[10] = cpu->r[8] + cpu->r[29];
|
|
/* 02C62514 */ _t23 = cpu->r[10] + 0x00000024u;
|
|
/* 02C62514 */ cpu->r[7] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02C62518 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C6251C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 02C62520 */ cpu->r[11] = cpu->r[10] + 0x00000024u;
|
|
/* 02C62524 */ _t24 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C62524 */ _t25 = _t24 & 0x00000001u;
|
|
/* 02C62524 */ if (_t25) goto L_02C6252C; else goto L_02C62528;
|
|
L_02C62528: ; // 0x2c62528
|
|
/* 02C62528 */ cpu->r[3] = cpu->r[11] + cpu->r[7];
|
|
L_02C6252C: ; // 0x2c6252c
|
|
/* 02C6252C */ Gambit_fn_02C62394(cpu);
|
|
/* 02C62530 */ cpu->r[28] = cpu->r[28] + 0xFFFFFFFFu;
|
|
/* 02C62530 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 02C62534 */ cpu->r[29] = cpu->r[29] + 0x00000010u;
|
|
/* 02C62538 */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C62538 */ _t27 = _t26 & 0x00000001u;
|
|
/* 02C62538 */ if (_t27) goto L_02C6253C; else goto L_02C624FC;
|
|
L_02C6253C: ; // 0x2c6253c
|
|
/* 02C6253C */ _t28 = cpu->r[31] + 0x00000012u;
|
|
/* 02C6253C */ cpu->r[29] = rbrew_read16(cpu->mem, _t28);
|
|
/* 02C62540 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 02C62544 */ _t29 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C62544 */ _t30 = _t29 & 0x00000001u;
|
|
/* 02C62544 */ if (_t30) goto L_02C62594; else goto L_02C62548;
|
|
L_02C62548: ; // 0x2c62548
|
|
/* 02C62548 */ cpu->r[31] = cpu->r[31] + 0x0000001Cu;
|
|
/* 02C6254C */ cpu->r[30] = 0x00000000u;
|
|
L_02C62550: ; // 0x2c62550
|
|
/* 02C62550 */ _t31 = cpu->r[31] + 0x00000000u;
|
|
/* 02C62550 */ cpu->r[9] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02C62554 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 02C62558 */ cpu->r[12] = 0x00000000u;
|
|
/* 02C6255C */ _t32 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6255C */ _t33 = _t32 & 0x00000001u;
|
|
/* 02C6255C */ if (_t33) goto L_02C62564; else goto L_02C62560;
|
|
L_02C62560: ; // 0x2c62560
|
|
/* 02C62560 */ cpu->r[12] = cpu->r[31] + cpu->r[9];
|
|
L_02C62564: ; // 0x2c62564
|
|
/* 02C62564 */ cpu->r[11] = cpu->r[12] + 0x00000008u;
|
|
/* 02C62568 */ cpu->r[12] = cpu->r[11] + cpu->r[30];
|
|
/* 02C6256C */ _t34 = cpu->r[12] + 0x0000001Cu;
|
|
/* 02C6256C */ cpu->r[0] = rbrew_read32(cpu->mem, _t34);
|
|
/* 02C62570 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C62574 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C62578 */ cpu->r[8] = cpu->r[12] + 0x0000001Cu;
|
|
/* 02C6257C */ _t35 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6257C */ _t36 = _t35 & 0x00000001u;
|
|
/* 02C6257C */ if (_t36) goto L_02C62584; else goto L_02C62580;
|
|
L_02C62580: ; // 0x2c62580
|
|
/* 02C62580 */ cpu->r[3] = cpu->r[8] + cpu->r[0];
|
|
L_02C62584: ; // 0x2c62584
|
|
/* 02C62584 */ Gambit_fn_02C62470(cpu);
|
|
/* 02C62588 */ cpu->r[29] = cpu->r[29] + 0xFFFFFFFFu;
|
|
/* 02C62588 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 02C6258C */ cpu->r[30] = cpu->r[30] + 0x00000010u;
|
|
/* 02C62590 */ _t37 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C62590 */ _t38 = _t37 & 0x00000001u;
|
|
/* 02C62590 */ if (_t38) goto L_02C62594; else goto L_02C62550;
|
|
L_02C62594: ; // 0x2c62594
|
|
/* 02C62594 */ _t39 = cpu->r[1] + 0x00000008u;
|
|
/* 02C62594 */ cpu->r[28] = rbrew_read32(cpu->mem, _t39);
|
|
/* 02C62598 */ _t40 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C62598 */ cpu->r[29] = rbrew_read32(cpu->mem, _t40);
|
|
/* 02C6259C */ _t41 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C6259C */ cpu->r[0] = rbrew_read32(cpu->mem, _t41);
|
|
/* 02C625A0 */ _t42 = cpu->r[1] + 0x00000010u;
|
|
/* 02C625A0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t42);
|
|
/* 02C625A4 */ cpu->lr = cpu->r[0];
|
|
/* 02C625A8 */ _t43 = cpu->r[1] + 0x00000014u;
|
|
/* 02C625A8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t43);
|
|
/* 02C625AC */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C625B0 */ return;
|
|
}
|
|
|
|
// fn_02C625B4 @ 0x2c625b4
|
|
void Gambit_fn_02C625B4(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, _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, _t182, _t183, _t184, _t185, _t186, _t187, _t188, _t189, _t190, _t191, _t192;
|
|
|
|
L_02C625B4: ; // 0x2c625b4
|
|
/* 02C625B4 */ _t0 = cpu->r[1] + 0xFFFFFFD0u;
|
|
/* 02C625B4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C625B4 */ cpu->r[1] = _t0;
|
|
/* 02C625B8 */ /* nop */
|
|
/* 02C625BC */ cpu->r[0] = cpu->lr;
|
|
/* 02C625C0 */ _t1 = cpu->r[1] + 0x00000034u;
|
|
/* 02C625C0 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02C625C4 */ cpu->r[30] = cpu->r[3];
|
|
/* 02C625C8 */ _t2 = cpu->r[30] + 0x00000000u;
|
|
/* 02C625C8 */ cpu->r[8] = rbrew_read16(cpu->mem, _t2);
|
|
/* 02C625CC */ cpu->r[11] = rbrew_rlwinm(cpu->r[8], 0x0000001Fu, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02C625CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02C625D0 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C625D0 */ _t4 = _t3 & 0x00000001u;
|
|
/* 02C625D0 */ if (_t4) goto L_02C625D4; else goto L_02C62B30;
|
|
L_02C625D4: ; // 0x2c625d4
|
|
/* 02C625D4 */ cpu->r[12] = rbrew_rlwinm(cpu->r[8], 0x00000000u, 0x00000017u, 0x00000017u);
|
|
/* 02C625D4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02C625D8 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C625D8 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02C625D8 */ if (_t6) goto L_02C62960; else goto L_02C625DC;
|
|
L_02C625DC: ; // 0x2c625dc
|
|
/* 02C625DC */ cpu->r[31] = 0x101B0000u;
|
|
/* 02C625E0 */ cpu->r[0] = rbrew_rlwinm(cpu->r[8], 0x00000000u, 0x0000001Du, 0x0000001Du);
|
|
/* 02C625E0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C625E4 */ cpu->r[31] = cpu->r[31] + 0xFFFFF198u;
|
|
/* 02C625E8 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C625E8 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02C625E8 */ if (_t8) goto L_02C62698; else goto L_02C625EC;
|
|
L_02C625EC: ; // 0x2c625ec
|
|
/* 02C625EC */ _t9 = cpu->r[30] + 0x00000034u;
|
|
/* 02C625EC */ cpu->r[9] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02C625F0 */ cpu->r[27] = 0x00000000u;
|
|
/* 02C625F4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 02C625F8 */ cpu->r[5] = cpu->r[30] + 0x00000034u;
|
|
/* 02C625FC */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C625FC */ _t11 = _t10 & 0x00000001u;
|
|
/* 02C625FC */ if (_t11) goto L_02C62604; else goto L_02C62600;
|
|
L_02C62600: ; // 0x2c62600
|
|
/* 02C62600 */ cpu->r[27] = cpu->r[5] + cpu->r[9];
|
|
L_02C62604: ; // 0x2c62604
|
|
/* 02C62604 */ cpu->r[28] = cpu->r[27] + 0x00000010u;
|
|
/* 02C62608 */ cpu->r[29] = cpu->r[28];
|
|
/* 02C6260C */ _t12 = cpu->r[29] + 0x00000000u;
|
|
/* 02C6260C */ cpu->r[10] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02C62610 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02C62614 */ cpu->r[0] = 0x00000000u;
|
|
/* 02C62618 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C62618 */ _t14 = _t13 & 0x00000001u;
|
|
/* 02C62618 */ if (_t14) goto L_02C62620; else goto L_02C6261C;
|
|
L_02C6261C: ; // 0x2c6261c
|
|
/* 02C6261C */ cpu->r[0] = cpu->r[29] + cpu->r[10];
|
|
L_02C62620: ; // 0x2c62620
|
|
/* 02C62620 */ cpu->r[29] = cpu->r[27] + 0x00000014u;
|
|
/* 02C62624 */ _t15 = cpu->r[1] + 0x00000008u;
|
|
/* 02C62624 */ rbrew_write32(cpu->mem, _t15, cpu->r[0]);
|
|
/* 02C62628 */ _t16 = cpu->r[27] + 0x00000014u;
|
|
/* 02C62628 */ cpu->r[10] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02C6262C */ cpu->r[3] = 0x00000000u;
|
|
/* 02C62630 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02C62634 */ _t17 = cpu->r[27] + 0x00000000u;
|
|
/* 02C62634 */ cpu->r[4] = rbrew_read8(cpu->mem, _t17);
|
|
/* 02C62638 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C62638 */ _t19 = _t18 & 0x00000001u;
|
|
/* 02C62638 */ if (_t19) goto L_02C62640; else goto L_02C6263C;
|
|
L_02C6263C: ; // 0x2c6263c
|
|
/* 02C6263C */ cpu->r[3] = cpu->r[29] + cpu->r[10];
|
|
L_02C62640: ; // 0x2c62640
|
|
/* 02C62640 */ cpu->r[10] = rbrew_rlwinm(cpu->r[4], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02C62644 */ _t20 = cpu->r[10] + cpu->r[31];
|
|
/* 02C62644 */ cpu->r[12] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02C62648 */ cpu->r[0] = cpu->r[1] + 0x00000008u;
|
|
/* 02C6264C */ _t21 = cpu->r[27] + 0x00000004u;
|
|
/* 02C6264C */ cpu->r[5] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02C62650 */ cpu->r[6] = cpu->r[0] - cpu->r[12];
|
|
/* 02C62654 */ rbrew_dispatch(cpu, 0x02d05cc8u);
|
|
/* 02C62658 */ _t22 = cpu->r[29] + 0x00000000u;
|
|
/* 02C62658 */ cpu->r[10] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02C6265C */ cpu->r[3] = 0x00000000u;
|
|
/* 02C62660 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02C62664 */ _t23 = cpu->r[27] + 0x0000000Cu;
|
|
/* 02C62664 */ cpu->r[4] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02C62668 */ _t24 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C62668 */ _t25 = _t24 & 0x00000001u;
|
|
/* 02C62668 */ if (_t25) goto L_02C62670; else goto L_02C6266C;
|
|
L_02C6266C: ; // 0x2c6266c
|
|
/* 02C6266C */ cpu->r[3] = cpu->r[29] + cpu->r[10];
|
|
L_02C62670: ; // 0x2c62670
|
|
/* 02C62670 */ rbrew_dispatch(cpu, 0x02d09320u);
|
|
/* 02C62674 */ cpu->r[29] = cpu->r[28];
|
|
/* 02C62678 */ _t26 = cpu->r[29] + 0x00000000u;
|
|
/* 02C62678 */ cpu->r[10] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02C6267C */ cpu->r[3] = 0x00000000u;
|
|
/* 02C62680 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02C62684 */ _t27 = cpu->r[27] + 0x00000008u;
|
|
/* 02C62684 */ cpu->r[4] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02C62688 */ _t28 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C62688 */ _t29 = _t28 & 0x00000001u;
|
|
/* 02C62688 */ if (_t29) goto L_02C62690; else goto L_02C6268C;
|
|
L_02C6268C: ; // 0x2c6268c
|
|
/* 02C6268C */ cpu->r[3] = cpu->r[29] + cpu->r[10];
|
|
L_02C62690: ; // 0x2c62690
|
|
/* 02C62690 */ rbrew_dispatch(cpu, 0x02d09320u);
|
|
/* 02C62694 */ _t30 = cpu->r[30] + 0x00000000u;
|
|
/* 02C62694 */ cpu->r[8] = rbrew_read16(cpu->mem, _t30);
|
|
L_02C62698: ; // 0x2c62698
|
|
/* 02C62698 */ cpu->r[10] = rbrew_rlwinm(cpu->r[8], 0x00000000u, 0x0000001Cu, 0x0000001Cu);
|
|
/* 02C62698 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02C6269C */ _t31 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6269C */ _t32 = _t31 & 0x00000001u;
|
|
/* 02C6269C */ if (_t32) goto L_02C627F4; else goto L_02C626A0;
|
|
L_02C626A0: ; // 0x2c626a0
|
|
/* 02C626A0 */ _t33 = cpu->r[30] + 0x00000038u;
|
|
/* 02C626A0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t33);
|
|
/* 02C626A4 */ cpu->r[27] = 0x00000000u;
|
|
/* 02C626A8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C626AC */ cpu->r[6] = cpu->r[30] + 0x00000038u;
|
|
/* 02C626B0 */ _t34 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C626B0 */ _t35 = _t34 & 0x00000001u;
|
|
/* 02C626B0 */ if (_t35) goto L_02C626B8; else goto L_02C626B4;
|
|
L_02C626B4: ; // 0x2c626b4
|
|
/* 02C626B4 */ cpu->r[27] = cpu->r[6] + cpu->r[0];
|
|
L_02C626B8: ; // 0x2c626b8
|
|
/* 02C626B8 */ cpu->r[28] = cpu->r[27] + 0x00000010u;
|
|
/* 02C626BC */ cpu->r[29] = cpu->r[28];
|
|
/* 02C626C0 */ _t36 = cpu->r[29] + 0x00000000u;
|
|
/* 02C626C0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t36);
|
|
/* 02C626C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02C626C8 */ cpu->r[0] = 0x00000000u;
|
|
/* 02C626CC */ _t37 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C626CC */ _t38 = _t37 & 0x00000001u;
|
|
/* 02C626CC */ if (_t38) goto L_02C626D4; else goto L_02C626D0;
|
|
L_02C626D0: ; // 0x2c626d0
|
|
/* 02C626D0 */ cpu->r[0] = cpu->r[29] + cpu->r[12];
|
|
L_02C626D4: ; // 0x2c626d4
|
|
/* 02C626D4 */ cpu->r[29] = cpu->r[27] + 0x00000014u;
|
|
/* 02C626D8 */ _t39 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C626D8 */ rbrew_write32(cpu->mem, _t39, cpu->r[0]);
|
|
/* 02C626DC */ _t40 = cpu->r[27] + 0x00000014u;
|
|
/* 02C626DC */ cpu->r[12] = rbrew_read32(cpu->mem, _t40);
|
|
/* 02C626E0 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C626E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02C626E8 */ _t41 = cpu->r[27] + 0x00000000u;
|
|
/* 02C626E8 */ cpu->r[4] = rbrew_read8(cpu->mem, _t41);
|
|
/* 02C626EC */ _t42 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C626EC */ _t43 = _t42 & 0x00000001u;
|
|
/* 02C626EC */ if (_t43) goto L_02C626F4; else goto L_02C626F0;
|
|
L_02C626F0: ; // 0x2c626f0
|
|
/* 02C626F0 */ cpu->r[3] = cpu->r[29] + cpu->r[12];
|
|
L_02C626F4: ; // 0x2c626f4
|
|
/* 02C626F4 */ cpu->r[11] = rbrew_rlwinm(cpu->r[4], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02C626F8 */ _t44 = cpu->r[11] + cpu->r[31];
|
|
/* 02C626F8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t44);
|
|
/* 02C626FC */ cpu->r[0] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C62700 */ _t45 = cpu->r[27] + 0x00000004u;
|
|
/* 02C62700 */ cpu->r[5] = rbrew_read32(cpu->mem, _t45);
|
|
/* 02C62704 */ cpu->r[6] = cpu->r[0] - cpu->r[12];
|
|
/* 02C62708 */ rbrew_dispatch(cpu, 0x02d05cc8u);
|
|
/* 02C6270C */ _t46 = cpu->r[29] + 0x00000000u;
|
|
/* 02C6270C */ cpu->r[12] = rbrew_read32(cpu->mem, _t46);
|
|
/* 02C62710 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C62714 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02C62718 */ _t47 = cpu->r[27] + 0x0000000Cu;
|
|
/* 02C62718 */ cpu->r[4] = rbrew_read32(cpu->mem, _t47);
|
|
/* 02C6271C */ _t48 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6271C */ _t49 = _t48 & 0x00000001u;
|
|
/* 02C6271C */ if (_t49) goto L_02C62724; else goto L_02C62720;
|
|
L_02C62720: ; // 0x2c62720
|
|
/* 02C62720 */ cpu->r[3] = cpu->r[29] + cpu->r[12];
|
|
L_02C62724: ; // 0x2c62724
|
|
/* 02C62724 */ rbrew_dispatch(cpu, 0x02d09320u);
|
|
/* 02C62728 */ cpu->r[29] = cpu->r[28];
|
|
/* 02C6272C */ _t50 = cpu->r[29] + 0x00000000u;
|
|
/* 02C6272C */ cpu->r[12] = rbrew_read32(cpu->mem, _t50);
|
|
/* 02C62730 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C62734 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02C62738 */ _t51 = cpu->r[27] + 0x00000008u;
|
|
/* 02C62738 */ cpu->r[4] = rbrew_read32(cpu->mem, _t51);
|
|
/* 02C6273C */ _t52 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6273C */ _t53 = _t52 & 0x00000001u;
|
|
/* 02C6273C */ if (_t53) goto L_02C62744; else goto L_02C62740;
|
|
L_02C62740: ; // 0x2c62740
|
|
/* 02C62740 */ cpu->r[3] = cpu->r[29] + cpu->r[12];
|
|
L_02C62744: ; // 0x2c62744
|
|
/* 02C62744 */ rbrew_dispatch(cpu, 0x02d09320u);
|
|
/* 02C62748 */ _t54 = cpu->r[30] + 0x0000003Cu;
|
|
/* 02C62748 */ cpu->r[0] = rbrew_read32(cpu->mem, _t54);
|
|
/* 02C6274C */ cpu->r[27] = 0x00000000u;
|
|
/* 02C62750 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C62754 */ cpu->r[10] = cpu->r[30] + 0x0000003Cu;
|
|
/* 02C62758 */ _t55 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C62758 */ _t56 = _t55 & 0x00000001u;
|
|
/* 02C62758 */ if (_t56) goto L_02C62760; else goto L_02C6275C;
|
|
L_02C6275C: ; // 0x2c6275c
|
|
/* 02C6275C */ cpu->r[27] = cpu->r[10] + cpu->r[0];
|
|
L_02C62760: ; // 0x2c62760
|
|
/* 02C62760 */ cpu->r[28] = cpu->r[27] + 0x00000010u;
|
|
/* 02C62764 */ cpu->r[29] = cpu->r[28];
|
|
/* 02C62768 */ _t57 = cpu->r[29] + 0x00000000u;
|
|
/* 02C62768 */ cpu->r[0] = rbrew_read32(cpu->mem, _t57);
|
|
/* 02C6276C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C62770 */ cpu->r[7] = 0x00000000u;
|
|
/* 02C62774 */ _t58 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C62774 */ _t59 = _t58 & 0x00000001u;
|
|
/* 02C62774 */ if (_t59) goto L_02C6277C; else goto L_02C62778;
|
|
L_02C62778: ; // 0x2c62778
|
|
/* 02C62778 */ cpu->r[7] = cpu->r[29] + cpu->r[0];
|
|
L_02C6277C: ; // 0x2c6277c
|
|
/* 02C6277C */ cpu->r[29] = cpu->r[27] + 0x00000014u;
|
|
/* 02C62780 */ _t60 = cpu->r[1] + 0x00000010u;
|
|
/* 02C62780 */ rbrew_write32(cpu->mem, _t60, cpu->r[7]);
|
|
/* 02C62784 */ _t61 = cpu->r[27] + 0x00000014u;
|
|
/* 02C62784 */ cpu->r[0] = rbrew_read32(cpu->mem, _t61);
|
|
/* 02C62788 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C6278C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C62790 */ _t62 = cpu->r[27] + 0x00000000u;
|
|
/* 02C62790 */ cpu->r[4] = rbrew_read8(cpu->mem, _t62);
|
|
/* 02C62794 */ _t63 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C62794 */ _t64 = _t63 & 0x00000001u;
|
|
/* 02C62794 */ if (_t64) goto L_02C6279C; else goto L_02C62798;
|
|
L_02C62798: ; // 0x2c62798
|
|
/* 02C62798 */ cpu->r[3] = cpu->r[29] + cpu->r[0];
|
|
L_02C6279C: ; // 0x2c6279c
|
|
/* 02C6279C */ cpu->r[5] = rbrew_rlwinm(cpu->r[4], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02C627A0 */ _t65 = cpu->r[5] + cpu->r[31];
|
|
/* 02C627A0 */ cpu->r[6] = rbrew_read32(cpu->mem, _t65);
|
|
/* 02C627A4 */ cpu->r[7] = cpu->r[1] + 0x00000010u;
|
|
/* 02C627A8 */ _t66 = cpu->r[27] + 0x00000004u;
|
|
/* 02C627A8 */ cpu->r[5] = rbrew_read32(cpu->mem, _t66);
|
|
/* 02C627AC */ cpu->r[6] = cpu->r[7] - cpu->r[6];
|
|
/* 02C627B0 */ rbrew_dispatch(cpu, 0x02d05cc8u);
|
|
/* 02C627B4 */ _t67 = cpu->r[29] + 0x00000000u;
|
|
/* 02C627B4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t67);
|
|
/* 02C627B8 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C627BC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C627C0 */ _t68 = cpu->r[27] + 0x0000000Cu;
|
|
/* 02C627C0 */ cpu->r[4] = rbrew_read32(cpu->mem, _t68);
|
|
/* 02C627C4 */ _t69 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C627C4 */ _t70 = _t69 & 0x00000001u;
|
|
/* 02C627C4 */ if (_t70) goto L_02C627CC; else goto L_02C627C8;
|
|
L_02C627C8: ; // 0x2c627c8
|
|
/* 02C627C8 */ cpu->r[3] = cpu->r[29] + cpu->r[0];
|
|
L_02C627CC: ; // 0x2c627cc
|
|
/* 02C627CC */ rbrew_dispatch(cpu, 0x02d09320u);
|
|
/* 02C627D0 */ cpu->r[29] = cpu->r[28];
|
|
/* 02C627D4 */ _t71 = cpu->r[29] + 0x00000000u;
|
|
/* 02C627D4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t71);
|
|
/* 02C627D8 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C627DC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C627E0 */ _t72 = cpu->r[27] + 0x00000008u;
|
|
/* 02C627E0 */ cpu->r[4] = rbrew_read32(cpu->mem, _t72);
|
|
/* 02C627E4 */ _t73 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C627E4 */ _t74 = _t73 & 0x00000001u;
|
|
/* 02C627E4 */ if (_t74) goto L_02C627EC; else goto L_02C627E8;
|
|
L_02C627E8: ; // 0x2c627e8
|
|
/* 02C627E8 */ cpu->r[3] = cpu->r[29] + cpu->r[0];
|
|
L_02C627EC: ; // 0x2c627ec
|
|
/* 02C627EC */ rbrew_dispatch(cpu, 0x02d09320u);
|
|
/* 02C627F0 */ _t75 = cpu->r[30] + 0x00000000u;
|
|
/* 02C627F0 */ cpu->r[8] = rbrew_read16(cpu->mem, _t75);
|
|
L_02C627F4: ; // 0x2c627f4
|
|
/* 02C627F4 */ cpu->r[9] = rbrew_rlwinm(cpu->r[8], 0x00000000u, 0x0000001Bu, 0x0000001Bu);
|
|
/* 02C627F4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 02C627F8 */ _t76 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C627F8 */ _t77 = _t76 & 0x00000001u;
|
|
/* 02C627F8 */ if (_t77) goto L_02C628A8; else goto L_02C627FC;
|
|
L_02C627FC: ; // 0x2c627fc
|
|
/* 02C627FC */ _t78 = cpu->r[30] + 0x00000040u;
|
|
/* 02C627FC */ cpu->r[5] = rbrew_read32(cpu->mem, _t78);
|
|
/* 02C62800 */ cpu->r[27] = 0x00000000u;
|
|
/* 02C62804 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u);
|
|
/* 02C62808 */ cpu->r[8] = cpu->r[30] + 0x00000040u;
|
|
/* 02C6280C */ _t79 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6280C */ _t80 = _t79 & 0x00000001u;
|
|
/* 02C6280C */ if (_t80) goto L_02C62814; else goto L_02C62810;
|
|
L_02C62810: ; // 0x2c62810
|
|
/* 02C62810 */ cpu->r[27] = cpu->r[8] + cpu->r[5];
|
|
L_02C62814: ; // 0x2c62814
|
|
/* 02C62814 */ cpu->r[28] = cpu->r[27] + 0x00000010u;
|
|
/* 02C62818 */ cpu->r[29] = cpu->r[28];
|
|
/* 02C6281C */ _t81 = cpu->r[29] + 0x00000000u;
|
|
/* 02C6281C */ cpu->r[5] = rbrew_read32(cpu->mem, _t81);
|
|
/* 02C62820 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u);
|
|
/* 02C62824 */ cpu->r[0] = 0x00000000u;
|
|
/* 02C62828 */ _t82 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C62828 */ _t83 = _t82 & 0x00000001u;
|
|
/* 02C62828 */ if (_t83) goto L_02C62830; else goto L_02C6282C;
|
|
L_02C6282C: ; // 0x2c6282c
|
|
/* 02C6282C */ cpu->r[0] = cpu->r[29] + cpu->r[5];
|
|
L_02C62830: ; // 0x2c62830
|
|
/* 02C62830 */ cpu->r[29] = cpu->r[27] + 0x00000014u;
|
|
/* 02C62834 */ _t84 = cpu->r[1] + 0x00000014u;
|
|
/* 02C62834 */ rbrew_write32(cpu->mem, _t84, cpu->r[0]);
|
|
/* 02C62838 */ _t85 = cpu->r[27] + 0x00000014u;
|
|
/* 02C62838 */ cpu->r[5] = rbrew_read32(cpu->mem, _t85);
|
|
/* 02C6283C */ cpu->r[3] = 0x00000000u;
|
|
/* 02C62840 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u);
|
|
/* 02C62844 */ _t86 = cpu->r[27] + 0x00000000u;
|
|
/* 02C62844 */ cpu->r[4] = rbrew_read8(cpu->mem, _t86);
|
|
/* 02C62848 */ _t87 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C62848 */ _t88 = _t87 & 0x00000001u;
|
|
/* 02C62848 */ if (_t88) goto L_02C62850; else goto L_02C6284C;
|
|
L_02C6284C: ; // 0x2c6284c
|
|
/* 02C6284C */ cpu->r[3] = cpu->r[29] + cpu->r[5];
|
|
L_02C62850: ; // 0x2c62850
|
|
/* 02C62850 */ cpu->r[11] = rbrew_rlwinm(cpu->r[4], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02C62854 */ _t89 = cpu->r[11] + cpu->r[31];
|
|
/* 02C62854 */ cpu->r[6] = rbrew_read32(cpu->mem, _t89);
|
|
/* 02C62858 */ cpu->r[8] = cpu->r[1] + 0x00000014u;
|
|
/* 02C6285C */ _t90 = cpu->r[27] + 0x00000004u;
|
|
/* 02C6285C */ cpu->r[5] = rbrew_read32(cpu->mem, _t90);
|
|
/* 02C62860 */ cpu->r[6] = cpu->r[8] - cpu->r[6];
|
|
/* 02C62864 */ rbrew_dispatch(cpu, 0x02d05cc8u);
|
|
/* 02C62868 */ _t91 = cpu->r[29] + 0x00000000u;
|
|
/* 02C62868 */ cpu->r[5] = rbrew_read32(cpu->mem, _t91);
|
|
/* 02C6286C */ cpu->r[3] = 0x00000000u;
|
|
/* 02C62870 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u);
|
|
/* 02C62874 */ _t92 = cpu->r[27] + 0x0000000Cu;
|
|
/* 02C62874 */ cpu->r[4] = rbrew_read32(cpu->mem, _t92);
|
|
/* 02C62878 */ _t93 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C62878 */ _t94 = _t93 & 0x00000001u;
|
|
/* 02C62878 */ if (_t94) goto L_02C62880; else goto L_02C6287C;
|
|
L_02C6287C: ; // 0x2c6287c
|
|
/* 02C6287C */ cpu->r[3] = cpu->r[29] + cpu->r[5];
|
|
L_02C62880: ; // 0x2c62880
|
|
/* 02C62880 */ rbrew_dispatch(cpu, 0x02d09320u);
|
|
/* 02C62884 */ cpu->r[29] = cpu->r[28];
|
|
/* 02C62888 */ _t95 = cpu->r[29] + 0x00000000u;
|
|
/* 02C62888 */ cpu->r[5] = rbrew_read32(cpu->mem, _t95);
|
|
/* 02C6288C */ cpu->r[3] = 0x00000000u;
|
|
/* 02C62890 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u);
|
|
/* 02C62894 */ _t96 = cpu->r[27] + 0x00000008u;
|
|
/* 02C62894 */ cpu->r[4] = rbrew_read32(cpu->mem, _t96);
|
|
/* 02C62898 */ _t97 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C62898 */ _t98 = _t97 & 0x00000001u;
|
|
/* 02C62898 */ if (_t98) goto L_02C628A0; else goto L_02C6289C;
|
|
L_02C6289C: ; // 0x2c6289c
|
|
/* 02C6289C */ cpu->r[3] = cpu->r[29] + cpu->r[5];
|
|
L_02C628A0: ; // 0x2c628a0
|
|
/* 02C628A0 */ rbrew_dispatch(cpu, 0x02d09320u);
|
|
/* 02C628A4 */ _t99 = cpu->r[30] + 0x00000000u;
|
|
/* 02C628A4 */ cpu->r[8] = rbrew_read16(cpu->mem, _t99);
|
|
L_02C628A8: ; // 0x2c628a8
|
|
/* 02C628A8 */ cpu->r[10] = rbrew_rlwinm(cpu->r[8], 0x00000000u, 0x0000001Au, 0x0000001Au);
|
|
/* 02C628A8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02C628AC */ _t100 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C628AC */ _t101 = _t100 & 0x00000001u;
|
|
/* 02C628AC */ if (_t101) goto L_02C62B28; else goto L_02C628B0;
|
|
L_02C628B0: ; // 0x2c628b0
|
|
/* 02C628B0 */ _t102 = cpu->r[30] + 0x00000044u;
|
|
/* 02C628B0 */ cpu->r[6] = rbrew_read32(cpu->mem, _t102);
|
|
/* 02C628B4 */ cpu->r[27] = 0x00000000u;
|
|
/* 02C628B8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u);
|
|
/* 02C628BC */ cpu->r[9] = cpu->r[30] + 0x00000044u;
|
|
/* 02C628C0 */ _t103 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C628C0 */ _t104 = _t103 & 0x00000001u;
|
|
/* 02C628C0 */ if (_t104) goto L_02C628C8; else goto L_02C628C4;
|
|
L_02C628C4: ; // 0x2c628c4
|
|
/* 02C628C4 */ cpu->r[27] = cpu->r[9] + cpu->r[6];
|
|
L_02C628C8: ; // 0x2c628c8
|
|
/* 02C628C8 */ cpu->r[28] = cpu->r[27] + 0x00000010u;
|
|
/* 02C628CC */ cpu->r[29] = cpu->r[28];
|
|
/* 02C628D0 */ _t105 = cpu->r[29] + 0x00000000u;
|
|
/* 02C628D0 */ cpu->r[7] = rbrew_read32(cpu->mem, _t105);
|
|
/* 02C628D4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 02C628D8 */ cpu->r[9] = 0x00000000u;
|
|
/* 02C628DC */ _t106 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C628DC */ _t107 = _t106 & 0x00000001u;
|
|
/* 02C628DC */ if (_t107) goto L_02C628E4; else goto L_02C628E0;
|
|
L_02C628E0: ; // 0x2c628e0
|
|
/* 02C628E0 */ cpu->r[9] = cpu->r[29] + cpu->r[7];
|
|
L_02C628E4: ; // 0x2c628e4
|
|
/* 02C628E4 */ cpu->r[29] = cpu->r[27] + 0x00000014u;
|
|
/* 02C628E8 */ _t108 = cpu->r[1] + 0x00000018u;
|
|
/* 02C628E8 */ rbrew_write32(cpu->mem, _t108, cpu->r[9]);
|
|
/* 02C628EC */ _t109 = cpu->r[27] + 0x00000014u;
|
|
/* 02C628EC */ cpu->r[7] = rbrew_read32(cpu->mem, _t109);
|
|
/* 02C628F0 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C628F4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 02C628F8 */ _t110 = cpu->r[27] + 0x00000000u;
|
|
/* 02C628F8 */ cpu->r[4] = rbrew_read8(cpu->mem, _t110);
|
|
/* 02C628FC */ _t111 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C628FC */ _t112 = _t111 & 0x00000001u;
|
|
/* 02C628FC */ if (_t112) goto L_02C62904; else goto L_02C62900;
|
|
L_02C62900: ; // 0x2c62900
|
|
/* 02C62900 */ cpu->r[3] = cpu->r[29] + cpu->r[7];
|
|
L_02C62904: ; // 0x2c62904
|
|
/* 02C62904 */ cpu->r[12] = rbrew_rlwinm(cpu->r[4], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02C62908 */ _t113 = cpu->r[12] + cpu->r[31];
|
|
/* 02C62908 */ cpu->r[8] = rbrew_read32(cpu->mem, _t113);
|
|
/* 02C6290C */ cpu->r[10] = cpu->r[1] + 0x00000018u;
|
|
/* 02C62910 */ _t114 = cpu->r[27] + 0x00000004u;
|
|
/* 02C62910 */ cpu->r[5] = rbrew_read32(cpu->mem, _t114);
|
|
/* 02C62914 */ cpu->r[6] = cpu->r[10] - cpu->r[8];
|
|
/* 02C62918 */ rbrew_dispatch(cpu, 0x02d05cc8u);
|
|
/* 02C6291C */ _t115 = cpu->r[29] + 0x00000000u;
|
|
/* 02C6291C */ cpu->r[7] = rbrew_read32(cpu->mem, _t115);
|
|
/* 02C62920 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C62924 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 02C62928 */ _t116 = cpu->r[27] + 0x0000000Cu;
|
|
/* 02C62928 */ cpu->r[4] = rbrew_read32(cpu->mem, _t116);
|
|
/* 02C6292C */ _t117 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6292C */ _t118 = _t117 & 0x00000001u;
|
|
/* 02C6292C */ if (_t118) goto L_02C62934; else goto L_02C62930;
|
|
L_02C62930: ; // 0x2c62930
|
|
/* 02C62930 */ cpu->r[3] = cpu->r[29] + cpu->r[7];
|
|
L_02C62934: ; // 0x2c62934
|
|
/* 02C62934 */ rbrew_dispatch(cpu, 0x02d09320u);
|
|
/* 02C62938 */ cpu->r[29] = cpu->r[28];
|
|
/* 02C6293C */ _t119 = cpu->r[29] + 0x00000000u;
|
|
/* 02C6293C */ cpu->r[7] = rbrew_read32(cpu->mem, _t119);
|
|
/* 02C62940 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C62944 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 02C62948 */ _t120 = cpu->r[27] + 0x00000008u;
|
|
/* 02C62948 */ cpu->r[4] = rbrew_read32(cpu->mem, _t120);
|
|
/* 02C6294C */ _t121 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6294C */ _t122 = _t121 & 0x00000001u;
|
|
/* 02C6294C */ if (_t122) goto L_02C62954; else goto L_02C62950;
|
|
L_02C62950: ; // 0x2c62950
|
|
/* 02C62950 */ cpu->r[3] = cpu->r[29] + cpu->r[7];
|
|
L_02C62954: ; // 0x2c62954
|
|
/* 02C62954 */ rbrew_dispatch(cpu, 0x02d09320u);
|
|
/* 02C62958 */ _t123 = cpu->r[30] + 0x00000000u;
|
|
/* 02C62958 */ cpu->r[8] = rbrew_read16(cpu->mem, _t123);
|
|
/* 02C6295C */ goto L_02C62B28;
|
|
L_02C62960: ; // 0x2c62960
|
|
/* 02C62960 */ cpu->r[12] = rbrew_rlwinm(cpu->r[8], 0x00000000u, 0x0000001Du, 0x0000001Du);
|
|
/* 02C62960 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02C62964 */ _t124 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C62964 */ _t125 = _t124 & 0x00000001u;
|
|
/* 02C62964 */ if (_t125) goto L_02C629C8; else goto L_02C62968;
|
|
L_02C62968: ; // 0x2c62968
|
|
/* 02C62968 */ _t126 = cpu->r[30] + 0x00000034u;
|
|
/* 02C62968 */ cpu->r[9] = rbrew_read32(cpu->mem, _t126);
|
|
/* 02C6296C */ cpu->r[12] = 0x00000000u;
|
|
/* 02C62970 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 02C62974 */ cpu->r[5] = cpu->r[30] + 0x00000034u;
|
|
/* 02C62978 */ _t127 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C62978 */ _t128 = _t127 & 0x00000001u;
|
|
/* 02C62978 */ if (_t128) goto L_02C62980; else goto L_02C6297C;
|
|
L_02C6297C: ; // 0x2c6297c
|
|
/* 02C6297C */ cpu->r[12] = cpu->r[5] + cpu->r[9];
|
|
L_02C62980: ; // 0x2c62980
|
|
/* 02C62980 */ _t129 = cpu->r[12] + 0x000000D4u;
|
|
/* 02C62980 */ cpu->r[7] = rbrew_read32(cpu->mem, _t129);
|
|
/* 02C62984 */ cpu->r[5] = cpu->r[12] + 0x000000D4u;
|
|
/* 02C62988 */ cpu->r[10] = 0x00000000u;
|
|
/* 02C6298C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 02C62990 */ _t130 = cpu->r[12] + 0x000000F8u;
|
|
/* 02C62990 */ cpu->r[9] = rbrew_read32(cpu->mem, _t130);
|
|
/* 02C62994 */ _t131 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C62994 */ _t132 = _t131 & 0x00000001u;
|
|
/* 02C62994 */ if (_t132) goto L_02C6299C; else goto L_02C62998;
|
|
L_02C62998: ; // 0x2c62998
|
|
/* 02C62998 */ cpu->r[10] = cpu->r[5] + cpu->r[7];
|
|
L_02C6299C: ; // 0x2c6299c
|
|
/* 02C6299C */ cpu->r[6] = cpu->r[12] + 0x000000F8u;
|
|
/* 02C629A0 */ cpu->r[0] = 0x00000000u;
|
|
/* 02C629A4 */ _t133 = cpu->r[12] + 0x000000D4u;
|
|
/* 02C629A4 */ rbrew_write32(cpu->mem, _t133, cpu->r[10]);
|
|
/* 02C629A8 */ cpu->r[3] = cpu->r[10];
|
|
/* 02C629AC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 02C629B0 */ _t134 = cpu->r[12] + 0x000000D0u;
|
|
/* 02C629B0 */ cpu->r[4] = rbrew_read32(cpu->mem, _t134);
|
|
/* 02C629B4 */ _t135 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C629B4 */ _t136 = _t135 & 0x00000001u;
|
|
/* 02C629B4 */ if (_t136) goto L_02C629BC; else goto L_02C629B8;
|
|
L_02C629B8: ; // 0x2c629b8
|
|
/* 02C629B8 */ cpu->r[0] = cpu->r[6] + cpu->r[9];
|
|
L_02C629BC: ; // 0x2c629bc
|
|
/* 02C629BC */ _t137 = cpu->r[12] + 0x000000F8u;
|
|
/* 02C629BC */ rbrew_write32(cpu->mem, _t137, cpu->r[0]);
|
|
/* 02C629C0 */ rbrew_dispatch(cpu, 0x02d09320u);
|
|
/* 02C629C4 */ _t138 = cpu->r[30] + 0x00000000u;
|
|
/* 02C629C4 */ cpu->r[8] = rbrew_read16(cpu->mem, _t138);
|
|
L_02C629C8: ; // 0x2c629c8
|
|
/* 02C629C8 */ cpu->r[5] = rbrew_rlwinm(cpu->r[8], 0x00000000u, 0x0000001Cu, 0x0000001Cu);
|
|
/* 02C629C8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u);
|
|
/* 02C629CC */ _t139 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C629CC */ _t140 = _t139 & 0x00000001u;
|
|
/* 02C629CC */ if (_t140) goto L_02C62A58; else goto L_02C629D0;
|
|
L_02C629D0: ; // 0x2c629d0
|
|
/* 02C629D0 */ _t141 = cpu->r[30] + 0x00000038u;
|
|
/* 02C629D0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t141);
|
|
/* 02C629D4 */ cpu->r[31] = 0x00000000u;
|
|
/* 02C629D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C629DC */ cpu->r[6] = cpu->r[30] + 0x00000038u;
|
|
/* 02C629E0 */ _t142 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C629E0 */ _t143 = _t142 & 0x00000001u;
|
|
/* 02C629E0 */ if (_t143) goto L_02C629E8; else goto L_02C629E4;
|
|
L_02C629E4: ; // 0x2c629e4
|
|
/* 02C629E4 */ cpu->r[31] = cpu->r[6] + cpu->r[0];
|
|
L_02C629E8: ; // 0x2c629e8
|
|
/* 02C629E8 */ _t144 = cpu->r[31] + 0x00000050u;
|
|
/* 02C629E8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t144);
|
|
/* 02C629EC */ cpu->r[10] = cpu->r[31] + 0x00000050u;
|
|
/* 02C629F0 */ cpu->r[7] = 0x00000000u;
|
|
/* 02C629F4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02C629F8 */ _t145 = cpu->r[31] + 0x00000058u;
|
|
/* 02C629F8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t145);
|
|
/* 02C629FC */ _t146 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C629FC */ _t147 = _t146 & 0x00000001u;
|
|
/* 02C629FC */ if (_t147) goto L_02C62A04; else goto L_02C62A00;
|
|
L_02C62A00: ; // 0x2c62a00
|
|
/* 02C62A00 */ cpu->r[7] = cpu->r[10] + cpu->r[11];
|
|
L_02C62A04: ; // 0x2c62a04
|
|
/* 02C62A04 */ cpu->r[12] = cpu->r[31] + 0x00000058u;
|
|
/* 02C62A08 */ _t148 = cpu->r[31] + 0x00000050u;
|
|
/* 02C62A08 */ rbrew_write32(cpu->mem, _t148, cpu->r[7]);
|
|
/* 02C62A0C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C62A10 */ cpu->r[8] = 0x00000000u;
|
|
/* 02C62A14 */ _t149 = cpu->r[31] + 0x0000007Cu;
|
|
/* 02C62A14 */ cpu->r[6] = rbrew_read32(cpu->mem, _t149);
|
|
/* 02C62A18 */ _t150 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C62A18 */ _t151 = _t150 & 0x00000001u;
|
|
/* 02C62A18 */ if (_t151) goto L_02C62A20; else goto L_02C62A1C;
|
|
L_02C62A1C: ; // 0x2c62a1c
|
|
/* 02C62A1C */ cpu->r[8] = cpu->r[12] + cpu->r[0];
|
|
L_02C62A20: ; // 0x2c62a20
|
|
/* 02C62A20 */ _t152 = cpu->r[31] + 0x0000004Cu;
|
|
/* 02C62A20 */ cpu->r[4] = rbrew_read32(cpu->mem, _t152);
|
|
/* 02C62A24 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u);
|
|
/* 02C62A28 */ _t153 = cpu->r[31] + 0x00000058u;
|
|
/* 02C62A28 */ rbrew_write32(cpu->mem, _t153, cpu->r[8]);
|
|
/* 02C62A2C */ cpu->r[0] = 0x00000000u;
|
|
/* 02C62A30 */ cpu->r[5] = cpu->r[31] + 0x0000007Cu;
|
|
/* 02C62A34 */ _t154 = cpu->r[31] + 0x00000050u;
|
|
/* 02C62A34 */ cpu->r[3] = rbrew_read32(cpu->mem, _t154);
|
|
/* 02C62A38 */ _t155 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C62A38 */ _t156 = _t155 & 0x00000001u;
|
|
/* 02C62A38 */ if (_t156) goto L_02C62A40; else goto L_02C62A3C;
|
|
L_02C62A3C: ; // 0x2c62a3c
|
|
/* 02C62A3C */ cpu->r[0] = cpu->r[5] + cpu->r[6];
|
|
L_02C62A40: ; // 0x2c62a40
|
|
/* 02C62A40 */ _t157 = cpu->r[31] + 0x0000007Cu;
|
|
/* 02C62A40 */ rbrew_write32(cpu->mem, _t157, cpu->r[0]);
|
|
/* 02C62A44 */ rbrew_dispatch(cpu, 0x02d09320u);
|
|
/* 02C62A48 */ _t158 = cpu->r[31] + 0x00000054u;
|
|
/* 02C62A48 */ cpu->r[4] = rbrew_read32(cpu->mem, _t158);
|
|
/* 02C62A4C */ _t159 = cpu->r[31] + 0x00000058u;
|
|
/* 02C62A4C */ cpu->r[3] = rbrew_read32(cpu->mem, _t159);
|
|
/* 02C62A50 */ rbrew_dispatch(cpu, 0x02d09320u);
|
|
/* 02C62A54 */ _t160 = cpu->r[30] + 0x00000000u;
|
|
/* 02C62A54 */ cpu->r[8] = rbrew_read16(cpu->mem, _t160);
|
|
L_02C62A58: ; // 0x2c62a58
|
|
/* 02C62A58 */ cpu->r[7] = rbrew_rlwinm(cpu->r[8], 0x00000000u, 0x0000001Bu, 0x0000001Bu);
|
|
/* 02C62A58 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 02C62A5C */ _t161 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C62A5C */ _t162 = _t161 & 0x00000001u;
|
|
/* 02C62A5C */ if (_t162) goto L_02C62AC0; else goto L_02C62A60;
|
|
L_02C62A60: ; // 0x2c62a60
|
|
/* 02C62A60 */ _t163 = cpu->r[30] + 0x00000040u;
|
|
/* 02C62A60 */ cpu->r[5] = rbrew_read32(cpu->mem, _t163);
|
|
/* 02C62A64 */ cpu->r[9] = 0x00000000u;
|
|
/* 02C62A68 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u);
|
|
/* 02C62A6C */ cpu->r[8] = cpu->r[30] + 0x00000040u;
|
|
/* 02C62A70 */ _t164 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C62A70 */ _t165 = _t164 & 0x00000001u;
|
|
/* 02C62A70 */ if (_t165) goto L_02C62A78; else goto L_02C62A74;
|
|
L_02C62A74: ; // 0x2c62a74
|
|
/* 02C62A74 */ cpu->r[9] = cpu->r[8] + cpu->r[5];
|
|
L_02C62A78: ; // 0x2c62a78
|
|
/* 02C62A78 */ _t166 = cpu->r[9] + 0x000000A8u;
|
|
/* 02C62A78 */ cpu->r[8] = rbrew_read32(cpu->mem, _t166);
|
|
/* 02C62A7C */ cpu->r[11] = cpu->r[9] + 0x000000A8u;
|
|
/* 02C62A80 */ cpu->r[7] = 0x00000000u;
|
|
/* 02C62A84 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 02C62A88 */ _t167 = cpu->r[9] + 0x000000CCu;
|
|
/* 02C62A88 */ cpu->r[10] = rbrew_read32(cpu->mem, _t167);
|
|
/* 02C62A8C */ _t168 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C62A8C */ _t169 = _t168 & 0x00000001u;
|
|
/* 02C62A8C */ if (_t169) goto L_02C62A94; else goto L_02C62A90;
|
|
L_02C62A90: ; // 0x2c62a90
|
|
/* 02C62A90 */ cpu->r[7] = cpu->r[11] + cpu->r[8];
|
|
L_02C62A94: ; // 0x2c62a94
|
|
/* 02C62A94 */ cpu->r[12] = cpu->r[9] + 0x000000CCu;
|
|
/* 02C62A98 */ cpu->r[0] = 0x00000000u;
|
|
/* 02C62A9C */ _t170 = cpu->r[9] + 0x000000A8u;
|
|
/* 02C62A9C */ rbrew_write32(cpu->mem, _t170, cpu->r[7]);
|
|
/* 02C62AA0 */ cpu->r[3] = cpu->r[7];
|
|
/* 02C62AA4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02C62AA8 */ _t171 = cpu->r[9] + 0x000000A4u;
|
|
/* 02C62AA8 */ cpu->r[4] = rbrew_read32(cpu->mem, _t171);
|
|
/* 02C62AAC */ _t172 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C62AAC */ _t173 = _t172 & 0x00000001u;
|
|
/* 02C62AAC */ if (_t173) goto L_02C62AB4; else goto L_02C62AB0;
|
|
L_02C62AB0: ; // 0x2c62ab0
|
|
/* 02C62AB0 */ cpu->r[0] = cpu->r[12] + cpu->r[10];
|
|
L_02C62AB4: ; // 0x2c62ab4
|
|
/* 02C62AB4 */ _t174 = cpu->r[9] + 0x000000CCu;
|
|
/* 02C62AB4 */ rbrew_write32(cpu->mem, _t174, cpu->r[0]);
|
|
/* 02C62AB8 */ rbrew_dispatch(cpu, 0x02d09320u);
|
|
/* 02C62ABC */ _t175 = cpu->r[30] + 0x00000000u;
|
|
/* 02C62ABC */ cpu->r[8] = rbrew_read16(cpu->mem, _t175);
|
|
L_02C62AC0: ; // 0x2c62ac0
|
|
/* 02C62AC0 */ cpu->r[9] = rbrew_rlwinm(cpu->r[8], 0x00000000u, 0x0000001Au, 0x0000001Au);
|
|
/* 02C62AC0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 02C62AC4 */ _t176 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C62AC4 */ _t177 = _t176 & 0x00000001u;
|
|
/* 02C62AC4 */ if (_t177) goto L_02C62B28; else goto L_02C62AC8;
|
|
L_02C62AC8: ; // 0x2c62ac8
|
|
/* 02C62AC8 */ _t178 = cpu->r[30] + 0x00000044u;
|
|
/* 02C62AC8 */ cpu->r[6] = rbrew_read32(cpu->mem, _t178);
|
|
/* 02C62ACC */ cpu->r[7] = 0x00000000u;
|
|
/* 02C62AD0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u);
|
|
/* 02C62AD4 */ cpu->r[9] = cpu->r[30] + 0x00000044u;
|
|
/* 02C62AD8 */ _t179 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C62AD8 */ _t180 = _t179 & 0x00000001u;
|
|
/* 02C62AD8 */ if (_t180) goto L_02C62AE0; else goto L_02C62ADC;
|
|
L_02C62ADC: ; // 0x2c62adc
|
|
/* 02C62ADC */ cpu->r[7] = cpu->r[9] + cpu->r[6];
|
|
L_02C62AE0: ; // 0x2c62ae0
|
|
/* 02C62AE0 */ _t181 = cpu->r[7] + 0x00000034u;
|
|
/* 02C62AE0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t181);
|
|
/* 02C62AE4 */ cpu->r[8] = cpu->r[7] + 0x00000034u;
|
|
/* 02C62AE8 */ cpu->r[5] = 0x00000000u;
|
|
/* 02C62AEC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02C62AF0 */ _t182 = cpu->r[7] + 0x00000054u;
|
|
/* 02C62AF0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t182);
|
|
/* 02C62AF4 */ _t183 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C62AF4 */ _t184 = _t183 & 0x00000001u;
|
|
/* 02C62AF4 */ if (_t184) goto L_02C62AFC; else goto L_02C62AF8;
|
|
L_02C62AF8: ; // 0x2c62af8
|
|
/* 02C62AF8 */ cpu->r[5] = cpu->r[8] + cpu->r[12];
|
|
L_02C62AFC: ; // 0x2c62afc
|
|
/* 02C62AFC */ cpu->r[9] = cpu->r[7] + 0x00000054u;
|
|
/* 02C62B00 */ _t185 = cpu->r[7] + 0x00000034u;
|
|
/* 02C62B00 */ rbrew_write32(cpu->mem, _t185, cpu->r[5]);
|
|
/* 02C62B04 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C62B08 */ cpu->r[6] = 0x00000000u;
|
|
/* 02C62B0C */ _t186 = cpu->r[7] + 0x00000030u;
|
|
/* 02C62B0C */ cpu->r[4] = rbrew_read32(cpu->mem, _t186);
|
|
/* 02C62B10 */ cpu->r[3] = cpu->r[5];
|
|
/* 02C62B14 */ _t187 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C62B14 */ _t188 = _t187 & 0x00000001u;
|
|
/* 02C62B14 */ if (_t188) goto L_02C62B1C; else goto L_02C62B18;
|
|
L_02C62B18: ; // 0x2c62b18
|
|
/* 02C62B18 */ cpu->r[6] = cpu->r[9] + cpu->r[0];
|
|
L_02C62B1C: ; // 0x2c62b1c
|
|
/* 02C62B1C */ _t189 = cpu->r[7] + 0x00000054u;
|
|
/* 02C62B1C */ rbrew_write32(cpu->mem, _t189, cpu->r[6]);
|
|
/* 02C62B20 */ rbrew_dispatch(cpu, 0x02d09320u);
|
|
/* 02C62B24 */ _t190 = cpu->r[30] + 0x00000000u;
|
|
/* 02C62B24 */ cpu->r[8] = rbrew_read16(cpu->mem, _t190);
|
|
L_02C62B28: ; // 0x2c62b28
|
|
/* 02C62B28 */ cpu->r[11] = cpu->r[8] | 0x00000002u;
|
|
/* 02C62B2C */ _t191 = cpu->r[30] + 0x00000000u;
|
|
/* 02C62B2C */ rbrew_write16(cpu->mem, _t191, (uint16_t)cpu->r[11]);
|
|
L_02C62B30: ; // 0x2c62b30
|
|
/* 02C62B30 */ /* nop */
|
|
/* 02C62B34 */ _t192 = cpu->r[1] + 0x00000034u;
|
|
/* 02C62B34 */ cpu->r[0] = rbrew_read32(cpu->mem, _t192);
|
|
/* 02C62B38 */ cpu->lr = cpu->r[0];
|
|
/* 02C62B3C */ cpu->r[1] = cpu->r[1] + 0x00000030u;
|
|
/* 02C62B40 */ return;
|
|
}
|
|
|
|
// fn_02C62B44 @ 0x2c62b44
|
|
void Gambit_fn_02C62B44(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;
|
|
|
|
L_02C62B44: ; // 0x2c62b44
|
|
/* 02C62B44 */ _t0 = cpu->r[3] + 0x00000000u;
|
|
/* 02C62B44 */ cpu->r[0] = rbrew_read16(cpu->mem, _t0);
|
|
/* 02C62B48 */ cpu->r[7] = rbrew_rlwinm(cpu->r[0], 0x0000001Fu, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02C62B48 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 02C62B4C */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C62B4C */ _t2 = _t1 & 0x00000001u;
|
|
/* 02C62B4C */ if (_t2) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02C62B4C */ goto L_02C62B50;
|
|
L_02C62B50: ; // 0x2c62b50
|
|
/* 02C62B50 */ cpu->r[8] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000017u, 0x00000017u);
|
|
/* 02C62B50 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 02C62B54 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C62B54 */ _t4 = _t3 & 0x00000001u;
|
|
/* 02C62B54 */ if (_t4) goto L_02C62B58; else goto L_02C62CE4;
|
|
L_02C62B58: ; // 0x2c62b58
|
|
/* 02C62B58 */ cpu->r[9] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x0000001Du, 0x0000001Du);
|
|
/* 02C62B58 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 02C62B5C */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C62B5C */ _t6 = _t5 & 0x00000001u;
|
|
/* 02C62B5C */ if (_t6) goto L_02C62BB4; else goto L_02C62B60;
|
|
L_02C62B60: ; // 0x2c62b60
|
|
/* 02C62B60 */ _t7 = cpu->r[3] + 0x00000034u;
|
|
/* 02C62B60 */ cpu->r[6] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02C62B64 */ cpu->r[8] = 0x00000000u;
|
|
/* 02C62B68 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u);
|
|
/* 02C62B6C */ cpu->r[10] = cpu->r[3] + 0x00000034u;
|
|
/* 02C62B70 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C62B70 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02C62B70 */ if (_t9) goto L_02C62B78; else goto L_02C62B74;
|
|
L_02C62B74: ; // 0x2c62b74
|
|
/* 02C62B74 */ cpu->r[8] = cpu->r[10] + cpu->r[6];
|
|
L_02C62B78: ; // 0x2c62b78
|
|
/* 02C62B78 */ _t10 = cpu->r[8] + 0x000000D4u;
|
|
/* 02C62B78 */ cpu->r[6] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02C62B7C */ cpu->r[9] = cpu->r[8] + 0x000000D4u;
|
|
/* 02C62B80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u);
|
|
/* 02C62B84 */ cpu->r[11] = 0x00000000u;
|
|
/* 02C62B88 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C62B88 */ _t12 = _t11 & 0x00000001u;
|
|
/* 02C62B88 */ if (_t12) goto L_02C62B90; else goto L_02C62B8C;
|
|
L_02C62B8C: ; // 0x2c62b8c
|
|
/* 02C62B8C */ cpu->r[11] = cpu->r[6] - cpu->r[9];
|
|
L_02C62B90: ; // 0x2c62b90
|
|
/* 02C62B90 */ _t13 = cpu->r[9] + 0x00000000u;
|
|
/* 02C62B90 */ rbrew_write32(cpu->mem, _t13, cpu->r[11]);
|
|
/* 02C62B94 */ _t14 = cpu->r[8] + 0x000000F8u;
|
|
/* 02C62B94 */ cpu->r[7] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02C62B98 */ cpu->r[10] = cpu->r[8] + 0x000000F8u;
|
|
/* 02C62B9C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 02C62BA0 */ cpu->r[12] = 0x00000000u;
|
|
/* 02C62BA4 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C62BA4 */ _t16 = _t15 & 0x00000001u;
|
|
/* 02C62BA4 */ if (_t16) goto L_02C62BAC; else goto L_02C62BA8;
|
|
L_02C62BA8: ; // 0x2c62ba8
|
|
/* 02C62BA8 */ cpu->r[12] = cpu->r[7] - cpu->r[10];
|
|
L_02C62BAC: ; // 0x2c62bac
|
|
/* 02C62BAC */ _t17 = cpu->r[10] + 0x00000000u;
|
|
/* 02C62BAC */ rbrew_write32(cpu->mem, _t17, cpu->r[12]);
|
|
/* 02C62BB0 */ _t18 = cpu->r[3] + 0x00000000u;
|
|
/* 02C62BB0 */ cpu->r[0] = rbrew_read16(cpu->mem, _t18);
|
|
L_02C62BB4: ; // 0x2c62bb4
|
|
/* 02C62BB4 */ cpu->r[10] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x0000001Cu, 0x0000001Cu);
|
|
/* 02C62BB4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02C62BB8 */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C62BB8 */ _t20 = _t19 & 0x00000001u;
|
|
/* 02C62BB8 */ if (_t20) goto L_02C62C2C; else goto L_02C62BBC;
|
|
L_02C62BBC: ; // 0x2c62bbc
|
|
/* 02C62BBC */ _t21 = cpu->r[3] + 0x00000038u;
|
|
/* 02C62BBC */ cpu->r[7] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02C62BC0 */ cpu->r[8] = 0x00000000u;
|
|
/* 02C62BC4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 02C62BC8 */ cpu->r[11] = cpu->r[3] + 0x00000038u;
|
|
/* 02C62BCC */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C62BCC */ _t23 = _t22 & 0x00000001u;
|
|
/* 02C62BCC */ if (_t23) goto L_02C62BD4; else goto L_02C62BD0;
|
|
L_02C62BD0: ; // 0x2c62bd0
|
|
/* 02C62BD0 */ cpu->r[8] = cpu->r[11] + cpu->r[7];
|
|
L_02C62BD4: ; // 0x2c62bd4
|
|
/* 02C62BD4 */ _t24 = cpu->r[8] + 0x00000050u;
|
|
/* 02C62BD4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02C62BD8 */ cpu->r[9] = cpu->r[8] + 0x00000050u;
|
|
/* 02C62BDC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C62BE0 */ cpu->r[12] = 0x00000000u;
|
|
/* 02C62BE4 */ _t25 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C62BE4 */ _t26 = _t25 & 0x00000001u;
|
|
/* 02C62BE4 */ if (_t26) goto L_02C62BEC; else goto L_02C62BE8;
|
|
L_02C62BE8: ; // 0x2c62be8
|
|
/* 02C62BE8 */ cpu->r[12] = cpu->r[0] - cpu->r[9];
|
|
L_02C62BEC: ; // 0x2c62bec
|
|
/* 02C62BEC */ _t27 = cpu->r[9] + 0x00000000u;
|
|
/* 02C62BEC */ rbrew_write32(cpu->mem, _t27, cpu->r[12]);
|
|
/* 02C62BF0 */ _t28 = cpu->r[8] + 0x00000058u;
|
|
/* 02C62BF0 */ cpu->r[6] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02C62BF4 */ cpu->r[10] = cpu->r[8] + 0x00000058u;
|
|
/* 02C62BF8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u);
|
|
/* 02C62BFC */ cpu->r[0] = 0x00000000u;
|
|
/* 02C62C00 */ _t29 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C62C00 */ _t30 = _t29 & 0x00000001u;
|
|
/* 02C62C00 */ if (_t30) goto L_02C62C08; else goto L_02C62C04;
|
|
L_02C62C04: ; // 0x2c62c04
|
|
/* 02C62C04 */ cpu->r[0] = cpu->r[6] - cpu->r[10];
|
|
L_02C62C08: ; // 0x2c62c08
|
|
/* 02C62C08 */ _t31 = cpu->r[10] + 0x00000000u;
|
|
/* 02C62C08 */ rbrew_write32(cpu->mem, _t31, cpu->r[0]);
|
|
/* 02C62C0C */ _t32 = cpu->r[8] + 0x0000007Cu;
|
|
/* 02C62C0C */ cpu->r[7] = rbrew_read32(cpu->mem, _t32);
|
|
/* 02C62C10 */ cpu->r[11] = cpu->r[8] + 0x0000007Cu;
|
|
/* 02C62C14 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 02C62C18 */ cpu->r[6] = 0x00000000u;
|
|
/* 02C62C1C */ _t33 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C62C1C */ _t34 = _t33 & 0x00000001u;
|
|
/* 02C62C1C */ if (_t34) goto L_02C62C24; else goto L_02C62C20;
|
|
L_02C62C20: ; // 0x2c62c20
|
|
/* 02C62C20 */ cpu->r[6] = cpu->r[7] - cpu->r[11];
|
|
L_02C62C24: ; // 0x2c62c24
|
|
/* 02C62C24 */ _t35 = cpu->r[11] + 0x00000000u;
|
|
/* 02C62C24 */ rbrew_write32(cpu->mem, _t35, cpu->r[6]);
|
|
/* 02C62C28 */ _t36 = cpu->r[3] + 0x00000000u;
|
|
/* 02C62C28 */ cpu->r[0] = rbrew_read16(cpu->mem, _t36);
|
|
L_02C62C2C: ; // 0x2c62c2c
|
|
/* 02C62C2C */ cpu->r[11] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x0000001Bu, 0x0000001Bu);
|
|
/* 02C62C2C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02C62C30 */ _t37 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C62C30 */ _t38 = _t37 & 0x00000001u;
|
|
/* 02C62C30 */ if (_t38) goto L_02C62C88; else goto L_02C62C34;
|
|
L_02C62C34: ; // 0x2c62c34
|
|
/* 02C62C34 */ _t39 = cpu->r[3] + 0x00000040u;
|
|
/* 02C62C34 */ cpu->r[8] = rbrew_read32(cpu->mem, _t39);
|
|
/* 02C62C38 */ cpu->r[9] = 0x00000000u;
|
|
/* 02C62C3C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 02C62C40 */ cpu->r[12] = cpu->r[3] + 0x00000040u;
|
|
/* 02C62C44 */ _t40 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C62C44 */ _t41 = _t40 & 0x00000001u;
|
|
/* 02C62C44 */ if (_t41) goto L_02C62C4C; else goto L_02C62C48;
|
|
L_02C62C48: ; // 0x2c62c48
|
|
/* 02C62C48 */ cpu->r[9] = cpu->r[12] + cpu->r[8];
|
|
L_02C62C4C: ; // 0x2c62c4c
|
|
/* 02C62C4C */ _t42 = cpu->r[9] + 0x000000A8u;
|
|
/* 02C62C4C */ cpu->r[7] = rbrew_read32(cpu->mem, _t42);
|
|
/* 02C62C50 */ cpu->r[10] = cpu->r[9] + 0x000000A8u;
|
|
/* 02C62C54 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 02C62C58 */ cpu->r[12] = 0x00000000u;
|
|
/* 02C62C5C */ _t43 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C62C5C */ _t44 = _t43 & 0x00000001u;
|
|
/* 02C62C5C */ if (_t44) goto L_02C62C64; else goto L_02C62C60;
|
|
L_02C62C60: ; // 0x2c62c60
|
|
/* 02C62C60 */ cpu->r[12] = cpu->r[7] - cpu->r[10];
|
|
L_02C62C64: ; // 0x2c62c64
|
|
/* 02C62C64 */ _t45 = cpu->r[10] + 0x00000000u;
|
|
/* 02C62C64 */ rbrew_write32(cpu->mem, _t45, cpu->r[12]);
|
|
/* 02C62C68 */ _t46 = cpu->r[9] + 0x000000CCu;
|
|
/* 02C62C68 */ cpu->r[8] = rbrew_read32(cpu->mem, _t46);
|
|
/* 02C62C6C */ cpu->r[11] = cpu->r[9] + 0x000000CCu;
|
|
/* 02C62C70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 02C62C74 */ cpu->r[0] = 0x00000000u;
|
|
/* 02C62C78 */ _t47 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C62C78 */ _t48 = _t47 & 0x00000001u;
|
|
/* 02C62C78 */ if (_t48) goto L_02C62C80; else goto L_02C62C7C;
|
|
L_02C62C7C: ; // 0x2c62c7c
|
|
/* 02C62C7C */ cpu->r[0] = cpu->r[8] - cpu->r[11];
|
|
L_02C62C80: ; // 0x2c62c80
|
|
/* 02C62C80 */ _t49 = cpu->r[11] + 0x00000000u;
|
|
/* 02C62C80 */ rbrew_write32(cpu->mem, _t49, cpu->r[0]);
|
|
/* 02C62C84 */ _t50 = cpu->r[3] + 0x00000000u;
|
|
/* 02C62C84 */ cpu->r[0] = rbrew_read16(cpu->mem, _t50);
|
|
L_02C62C88: ; // 0x2c62c88
|
|
/* 02C62C88 */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x0000001Au, 0x0000001Au);
|
|
/* 02C62C88 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02C62C8C */ _t51 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C62C8C */ _t52 = _t51 & 0x00000001u;
|
|
/* 02C62C8C */ if (_t52) goto L_02C62CE4; else goto L_02C62C90;
|
|
L_02C62C90: ; // 0x2c62c90
|
|
/* 02C62C90 */ _t53 = cpu->r[3] + 0x00000044u;
|
|
/* 02C62C90 */ cpu->r[0] = rbrew_read32(cpu->mem, _t53);
|
|
/* 02C62C94 */ cpu->r[8] = 0x00000000u;
|
|
/* 02C62C98 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C62C9C */ cpu->r[6] = cpu->r[3] + 0x00000044u;
|
|
/* 02C62CA0 */ _t54 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C62CA0 */ _t55 = _t54 & 0x00000001u;
|
|
/* 02C62CA0 */ if (_t55) goto L_02C62CA8; else goto L_02C62CA4;
|
|
L_02C62CA4: ; // 0x2c62ca4
|
|
/* 02C62CA4 */ cpu->r[8] = cpu->r[6] + cpu->r[0];
|
|
L_02C62CA8: ; // 0x2c62ca8
|
|
/* 02C62CA8 */ _t56 = cpu->r[8] + 0x00000034u;
|
|
/* 02C62CA8 */ cpu->r[6] = rbrew_read32(cpu->mem, _t56);
|
|
/* 02C62CAC */ cpu->r[9] = cpu->r[8] + 0x00000034u;
|
|
/* 02C62CB0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u);
|
|
/* 02C62CB4 */ cpu->r[11] = 0x00000000u;
|
|
/* 02C62CB8 */ _t57 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C62CB8 */ _t58 = _t57 & 0x00000001u;
|
|
/* 02C62CB8 */ if (_t58) goto L_02C62CC0; else goto L_02C62CBC;
|
|
L_02C62CBC: ; // 0x2c62cbc
|
|
/* 02C62CBC */ cpu->r[11] = cpu->r[6] - cpu->r[9];
|
|
L_02C62CC0: ; // 0x2c62cc0
|
|
/* 02C62CC0 */ _t59 = cpu->r[9] + 0x00000000u;
|
|
/* 02C62CC0 */ rbrew_write32(cpu->mem, _t59, cpu->r[11]);
|
|
/* 02C62CC4 */ _t60 = cpu->r[8] + 0x00000054u;
|
|
/* 02C62CC4 */ cpu->r[7] = rbrew_read32(cpu->mem, _t60);
|
|
/* 02C62CC8 */ cpu->r[10] = cpu->r[8] + 0x00000054u;
|
|
/* 02C62CCC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 02C62CD0 */ cpu->r[12] = 0x00000000u;
|
|
/* 02C62CD4 */ _t61 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C62CD4 */ _t62 = _t61 & 0x00000001u;
|
|
/* 02C62CD4 */ if (_t62) goto L_02C62CDC; else goto L_02C62CD8;
|
|
L_02C62CD8: ; // 0x2c62cd8
|
|
/* 02C62CD8 */ cpu->r[12] = cpu->r[7] - cpu->r[10];
|
|
L_02C62CDC: ; // 0x2c62cdc
|
|
/* 02C62CDC */ _t63 = cpu->r[10] + 0x00000000u;
|
|
/* 02C62CDC */ rbrew_write32(cpu->mem, _t63, cpu->r[12]);
|
|
/* 02C62CE0 */ _t64 = cpu->r[3] + 0x00000000u;
|
|
/* 02C62CE0 */ cpu->r[0] = rbrew_read16(cpu->mem, _t64);
|
|
L_02C62CE4: ; // 0x2c62ce4
|
|
/* 02C62CE4 */ cpu->r[0] = cpu->r[0] & 0x0000FFFDu;
|
|
/* 02C62CE4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C62CE8 */ _t65 = cpu->r[3] + 0x00000000u;
|
|
/* 02C62CE8 */ rbrew_write16(cpu->mem, _t65, (uint16_t)cpu->r[0]);
|
|
/* 02C62CEC */ return;
|
|
}
|
|
|
|
// fn_02C62CF0 @ 0x2c62cf0
|
|
void Gambit_fn_02C62CF0(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_02C62CF0: ; // 0x2c62cf0
|
|
/* 02C62CF0 */ cpu->r[0] = cpu->lr;
|
|
/* 02C62CF4 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C62CF4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C62CF4 */ cpu->r[1] = _t0;
|
|
/* 02C62CF8 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C62CF8 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02C62CFC */ cpu->r[31] = cpu->r[3];
|
|
/* 02C62D00 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02C62D00 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02C62D04 */ _t3 = cpu->r[31] + 0x00000000u;
|
|
/* 02C62D04 */ cpu->r[12] = rbrew_read16(cpu->mem, _t3);
|
|
/* 02C62D08 */ _t4 = cpu->r[31] + 0x00000034u;
|
|
/* 02C62D08 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02C62D0C */ cpu->r[11] = rbrew_rlwinm(cpu->r[12], 0x00000000u, 0x00000017u, 0x00000017u);
|
|
/* 02C62D0C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02C62D10 */ cpu->r[12] = cpu->r[31] + 0x00000034u;
|
|
/* 02C62D14 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C62D14 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02C62D14 */ if (_t6) goto L_02C62E04; else goto L_02C62D18;
|
|
L_02C62D18: ; // 0x2c62d18
|
|
/* 02C62D18 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C62D1C */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C62D1C */ _t8 = _t7 & 0x00000001u;
|
|
/* 02C62D1C */ if (_t8) goto L_02C62D48; else goto L_02C62D20;
|
|
L_02C62D20: ; // 0x2c62d20
|
|
/* 02C62D20 */ cpu->r[11] = cpu->r[12] + cpu->r[0];
|
|
/* 02C62D20 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02C62D24 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C62D24 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02C62D24 */ if (_t10) goto L_02C62D48; else goto L_02C62D28;
|
|
L_02C62D28: ; // 0x2c62d28
|
|
/* 02C62D28 */ _t11 = cpu->r[11] + 0x00000014u;
|
|
/* 02C62D28 */ cpu->r[9] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02C62D2C */ cpu->r[12] = cpu->r[11] + 0x00000014u;
|
|
/* 02C62D30 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C62D34 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 02C62D38 */ _t12 = cpu->r[11] + 0x0000000Cu;
|
|
/* 02C62D38 */ cpu->r[4] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02C62D3C */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C62D3C */ _t14 = _t13 & 0x00000001u;
|
|
/* 02C62D3C */ if (_t14) goto L_02C62D44; else goto L_02C62D40;
|
|
L_02C62D40: ; // 0x2c62d40
|
|
/* 02C62D40 */ cpu->r[3] = cpu->r[12] + cpu->r[9];
|
|
L_02C62D44: ; // 0x2c62d44
|
|
/* 02C62D44 */ rbrew_dispatch(cpu, 0x02d058c0u);
|
|
L_02C62D48: ; // 0x2c62d48
|
|
/* 02C62D48 */ _t15 = cpu->r[31] + 0x00000038u;
|
|
/* 02C62D48 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02C62D4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C62D50 */ cpu->r[10] = cpu->r[31] + 0x00000038u;
|
|
/* 02C62D54 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C62D54 */ _t17 = _t16 & 0x00000001u;
|
|
/* 02C62D54 */ if (_t17) goto L_02C62D80; else goto L_02C62D58;
|
|
L_02C62D58: ; // 0x2c62d58
|
|
/* 02C62D58 */ cpu->r[10] = cpu->r[10] + cpu->r[0];
|
|
/* 02C62D58 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02C62D5C */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C62D5C */ _t19 = _t18 & 0x00000001u;
|
|
/* 02C62D5C */ if (_t19) goto L_02C62D80; else goto L_02C62D60;
|
|
L_02C62D60: ; // 0x2c62d60
|
|
/* 02C62D60 */ _t20 = cpu->r[10] + 0x00000014u;
|
|
/* 02C62D60 */ cpu->r[11] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02C62D64 */ cpu->r[12] = cpu->r[10] + 0x00000014u;
|
|
/* 02C62D68 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C62D6C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02C62D70 */ _t21 = cpu->r[10] + 0x0000000Cu;
|
|
/* 02C62D70 */ cpu->r[4] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02C62D74 */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C62D74 */ _t23 = _t22 & 0x00000001u;
|
|
/* 02C62D74 */ if (_t23) goto L_02C62D7C; else goto L_02C62D78;
|
|
L_02C62D78: ; // 0x2c62d78
|
|
/* 02C62D78 */ cpu->r[3] = cpu->r[12] + cpu->r[11];
|
|
L_02C62D7C: ; // 0x2c62d7c
|
|
/* 02C62D7C */ rbrew_dispatch(cpu, 0x02d058c0u);
|
|
L_02C62D80: ; // 0x2c62d80
|
|
/* 02C62D80 */ _t24 = cpu->r[31] + 0x00000040u;
|
|
/* 02C62D80 */ cpu->r[9] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02C62D84 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 02C62D88 */ cpu->r[12] = cpu->r[31] + 0x00000040u;
|
|
/* 02C62D8C */ _t25 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C62D8C */ _t26 = _t25 & 0x00000001u;
|
|
/* 02C62D8C */ if (_t26) goto L_02C62DB8; else goto L_02C62D90;
|
|
L_02C62D90: ; // 0x2c62d90
|
|
/* 02C62D90 */ cpu->r[9] = cpu->r[12] + cpu->r[9];
|
|
/* 02C62D90 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 02C62D94 */ _t27 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C62D94 */ _t28 = _t27 & 0x00000001u;
|
|
/* 02C62D94 */ if (_t28) goto L_02C62DB8; else goto L_02C62D98;
|
|
L_02C62D98: ; // 0x2c62d98
|
|
/* 02C62D98 */ _t29 = cpu->r[9] + 0x00000014u;
|
|
/* 02C62D98 */ cpu->r[0] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02C62D9C */ cpu->r[10] = cpu->r[9] + 0x00000014u;
|
|
/* 02C62DA0 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C62DA4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C62DA8 */ _t30 = cpu->r[9] + 0x0000000Cu;
|
|
/* 02C62DA8 */ cpu->r[4] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02C62DAC */ _t31 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C62DAC */ _t32 = _t31 & 0x00000001u;
|
|
/* 02C62DAC */ if (_t32) goto L_02C62DB4; else goto L_02C62DB0;
|
|
L_02C62DB0: ; // 0x2c62db0
|
|
/* 02C62DB0 */ cpu->r[3] = cpu->r[10] + cpu->r[0];
|
|
L_02C62DB4: ; // 0x2c62db4
|
|
/* 02C62DB4 */ rbrew_dispatch(cpu, 0x02d058c0u);
|
|
L_02C62DB8: ; // 0x2c62db8
|
|
/* 02C62DB8 */ _t33 = cpu->r[31] + 0x00000044u;
|
|
/* 02C62DB8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t33);
|
|
/* 02C62DBC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C62DC0 */ cpu->r[9] = cpu->r[31] + 0x00000044u;
|
|
/* 02C62DC4 */ _t34 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C62DC4 */ _t35 = _t34 & 0x00000001u;
|
|
/* 02C62DC4 */ if (_t35) goto L_02C62E6C; else goto L_02C62DC8;
|
|
L_02C62DC8: ; // 0x2c62dc8
|
|
/* 02C62DC8 */ cpu->r[12] = cpu->r[9] + cpu->r[0];
|
|
/* 02C62DC8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02C62DCC */ _t36 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C62DCC */ _t37 = _t36 & 0x00000001u;
|
|
/* 02C62DCC */ if (_t37) goto L_02C62E6C; else goto L_02C62DD0;
|
|
L_02C62DD0: ; // 0x2c62dd0
|
|
/* 02C62DD0 */ _t38 = cpu->r[12] + 0x00000014u;
|
|
/* 02C62DD0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t38);
|
|
/* 02C62DD4 */ cpu->r[10] = cpu->r[12] + 0x00000014u;
|
|
/* 02C62DD8 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C62DDC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C62DE0 */ _t39 = cpu->r[12] + 0x0000000Cu;
|
|
/* 02C62DE0 */ cpu->r[4] = rbrew_read32(cpu->mem, _t39);
|
|
/* 02C62DE4 */ _t40 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C62DE4 */ _t41 = _t40 & 0x00000001u;
|
|
/* 02C62DE4 */ if (_t41) goto L_02C62DEC; else goto L_02C62DE8;
|
|
L_02C62DE8: ; // 0x2c62de8
|
|
/* 02C62DE8 */ cpu->r[3] = cpu->r[10] + cpu->r[0];
|
|
L_02C62DEC: ; // 0x2c62dec
|
|
/* 02C62DEC */ rbrew_dispatch(cpu, 0x02d058c0u);
|
|
/* 02C62DF0 */ _t42 = cpu->r[1] + 0x00000014u;
|
|
/* 02C62DF0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t42);
|
|
/* 02C62DF4 */ _t43 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C62DF4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t43);
|
|
/* 02C62DF8 */ cpu->lr = cpu->r[0];
|
|
/* 02C62DFC */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C62E00 */ return;
|
|
L_02C62E04: ; // 0x2c62e04
|
|
/* 02C62E04 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C62E08 */ _t44 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C62E08 */ _t45 = _t44 & 0x00000001u;
|
|
/* 02C62E08 */ if (_t45) goto L_02C62E18; else goto L_02C62E0C;
|
|
L_02C62E0C: ; // 0x2c62e0c
|
|
/* 02C62E0C */ cpu->r[3] = cpu->r[12] + cpu->r[0];
|
|
/* 02C62E0C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C62E10 */ _t46 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C62E10 */ _t47 = _t46 & 0x00000001u;
|
|
/* 02C62E10 */ if (_t47) goto L_02C62E18; else goto L_02C62E14;
|
|
L_02C62E14: ; // 0x2c62e14
|
|
/* 02C62E14 */ rbrew_dispatch(cpu, 0x02d06290u);
|
|
L_02C62E18: ; // 0x2c62e18
|
|
/* 02C62E18 */ _t48 = cpu->r[31] + 0x00000038u;
|
|
/* 02C62E18 */ cpu->r[0] = rbrew_read32(cpu->mem, _t48);
|
|
/* 02C62E1C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C62E20 */ cpu->r[10] = cpu->r[31] + 0x00000038u;
|
|
/* 02C62E24 */ _t49 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C62E24 */ _t50 = _t49 & 0x00000001u;
|
|
/* 02C62E24 */ if (_t50) goto L_02C62E34; else goto L_02C62E28;
|
|
L_02C62E28: ; // 0x2c62e28
|
|
/* 02C62E28 */ cpu->r[3] = cpu->r[10] + cpu->r[0];
|
|
/* 02C62E28 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C62E2C */ _t51 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C62E2C */ _t52 = _t51 & 0x00000001u;
|
|
/* 02C62E2C */ if (_t52) goto L_02C62E34; else goto L_02C62E30;
|
|
L_02C62E30: ; // 0x2c62e30
|
|
/* 02C62E30 */ rbrew_dispatch(cpu, 0x02d060d8u);
|
|
L_02C62E34: ; // 0x2c62e34
|
|
/* 02C62E34 */ _t53 = cpu->r[31] + 0x00000040u;
|
|
/* 02C62E34 */ cpu->r[9] = rbrew_read32(cpu->mem, _t53);
|
|
/* 02C62E38 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 02C62E3C */ cpu->r[12] = cpu->r[31] + 0x00000040u;
|
|
/* 02C62E40 */ _t54 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C62E40 */ _t55 = _t54 & 0x00000001u;
|
|
/* 02C62E40 */ if (_t55) goto L_02C62E50; else goto L_02C62E44;
|
|
L_02C62E44: ; // 0x2c62e44
|
|
/* 02C62E44 */ cpu->r[3] = cpu->r[12] + cpu->r[9];
|
|
/* 02C62E44 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C62E48 */ _t56 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C62E48 */ _t57 = _t56 & 0x00000001u;
|
|
/* 02C62E48 */ if (_t57) goto L_02C62E50; else goto L_02C62E4C;
|
|
L_02C62E4C: ; // 0x2c62e4c
|
|
/* 02C62E4C */ rbrew_dispatch(cpu, 0x02d06148u);
|
|
L_02C62E50: ; // 0x2c62e50
|
|
/* 02C62E50 */ _t58 = cpu->r[31] + 0x00000044u;
|
|
/* 02C62E50 */ cpu->r[0] = rbrew_read32(cpu->mem, _t58);
|
|
/* 02C62E54 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C62E58 */ cpu->r[9] = cpu->r[31] + 0x00000044u;
|
|
/* 02C62E5C */ _t59 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C62E5C */ _t60 = _t59 & 0x00000001u;
|
|
/* 02C62E5C */ if (_t60) goto L_02C62E6C; else goto L_02C62E60;
|
|
L_02C62E60: ; // 0x2c62e60
|
|
/* 02C62E60 */ cpu->r[3] = cpu->r[9] + cpu->r[0];
|
|
/* 02C62E60 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C62E64 */ _t61 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C62E64 */ _t62 = _t61 & 0x00000001u;
|
|
/* 02C62E64 */ if (_t62) goto L_02C62E6C; else goto L_02C62E68;
|
|
L_02C62E68: ; // 0x2c62e68
|
|
/* 02C62E68 */ rbrew_dispatch(cpu, 0x02d06018u);
|
|
L_02C62E6C: ; // 0x2c62e6c
|
|
/* 02C62E6C */ _t63 = cpu->r[1] + 0x00000014u;
|
|
/* 02C62E6C */ cpu->r[0] = rbrew_read32(cpu->mem, _t63);
|
|
/* 02C62E70 */ _t64 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C62E70 */ cpu->r[31] = rbrew_read32(cpu->mem, _t64);
|
|
/* 02C62E74 */ cpu->lr = cpu->r[0];
|
|
/* 02C62E78 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C62E7C */ return;
|
|
}
|
|
|
|
// fn_02C62CF4 @ 0x2c62cf4
|
|
void Gambit_fn_02C62CF4(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_02C62CF4: ; // 0x2c62cf4
|
|
/* 02C62CF4 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C62CF4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C62CF4 */ cpu->r[1] = _t0;
|
|
/* 02C62CF8 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C62CF8 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02C62CFC */ cpu->r[31] = cpu->r[3];
|
|
/* 02C62D00 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02C62D00 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02C62D04 */ _t3 = cpu->r[31] + 0x00000000u;
|
|
/* 02C62D04 */ cpu->r[12] = rbrew_read16(cpu->mem, _t3);
|
|
/* 02C62D08 */ _t4 = cpu->r[31] + 0x00000034u;
|
|
/* 02C62D08 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02C62D0C */ cpu->r[11] = rbrew_rlwinm(cpu->r[12], 0x00000000u, 0x00000017u, 0x00000017u);
|
|
/* 02C62D0C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02C62D10 */ cpu->r[12] = cpu->r[31] + 0x00000034u;
|
|
/* 02C62D14 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C62D14 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02C62D14 */ if (_t6) goto L_02C62E04; else goto L_02C62D18;
|
|
L_02C62D18: ; // 0x2c62d18
|
|
/* 02C62D18 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C62D1C */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C62D1C */ _t8 = _t7 & 0x00000001u;
|
|
/* 02C62D1C */ if (_t8) goto L_02C62D48; else goto L_02C62D20;
|
|
L_02C62D20: ; // 0x2c62d20
|
|
/* 02C62D20 */ cpu->r[11] = cpu->r[12] + cpu->r[0];
|
|
/* 02C62D20 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02C62D24 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C62D24 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02C62D24 */ if (_t10) goto L_02C62D48; else goto L_02C62D28;
|
|
L_02C62D28: ; // 0x2c62d28
|
|
/* 02C62D28 */ _t11 = cpu->r[11] + 0x00000014u;
|
|
/* 02C62D28 */ cpu->r[9] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02C62D2C */ cpu->r[12] = cpu->r[11] + 0x00000014u;
|
|
/* 02C62D30 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C62D34 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 02C62D38 */ _t12 = cpu->r[11] + 0x0000000Cu;
|
|
/* 02C62D38 */ cpu->r[4] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02C62D3C */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C62D3C */ _t14 = _t13 & 0x00000001u;
|
|
/* 02C62D3C */ if (_t14) goto L_02C62D44; else goto L_02C62D40;
|
|
L_02C62D40: ; // 0x2c62d40
|
|
/* 02C62D40 */ cpu->r[3] = cpu->r[12] + cpu->r[9];
|
|
L_02C62D44: ; // 0x2c62d44
|
|
/* 02C62D44 */ rbrew_dispatch(cpu, 0x02d058c0u);
|
|
L_02C62D48: ; // 0x2c62d48
|
|
/* 02C62D48 */ _t15 = cpu->r[31] + 0x00000038u;
|
|
/* 02C62D48 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02C62D4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C62D50 */ cpu->r[10] = cpu->r[31] + 0x00000038u;
|
|
/* 02C62D54 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C62D54 */ _t17 = _t16 & 0x00000001u;
|
|
/* 02C62D54 */ if (_t17) goto L_02C62D80; else goto L_02C62D58;
|
|
L_02C62D58: ; // 0x2c62d58
|
|
/* 02C62D58 */ cpu->r[10] = cpu->r[10] + cpu->r[0];
|
|
/* 02C62D58 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02C62D5C */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C62D5C */ _t19 = _t18 & 0x00000001u;
|
|
/* 02C62D5C */ if (_t19) goto L_02C62D80; else goto L_02C62D60;
|
|
L_02C62D60: ; // 0x2c62d60
|
|
/* 02C62D60 */ _t20 = cpu->r[10] + 0x00000014u;
|
|
/* 02C62D60 */ cpu->r[11] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02C62D64 */ cpu->r[12] = cpu->r[10] + 0x00000014u;
|
|
/* 02C62D68 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C62D6C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02C62D70 */ _t21 = cpu->r[10] + 0x0000000Cu;
|
|
/* 02C62D70 */ cpu->r[4] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02C62D74 */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C62D74 */ _t23 = _t22 & 0x00000001u;
|
|
/* 02C62D74 */ if (_t23) goto L_02C62D7C; else goto L_02C62D78;
|
|
L_02C62D78: ; // 0x2c62d78
|
|
/* 02C62D78 */ cpu->r[3] = cpu->r[12] + cpu->r[11];
|
|
L_02C62D7C: ; // 0x2c62d7c
|
|
/* 02C62D7C */ rbrew_dispatch(cpu, 0x02d058c0u);
|
|
L_02C62D80: ; // 0x2c62d80
|
|
/* 02C62D80 */ _t24 = cpu->r[31] + 0x00000040u;
|
|
/* 02C62D80 */ cpu->r[9] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02C62D84 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 02C62D88 */ cpu->r[12] = cpu->r[31] + 0x00000040u;
|
|
/* 02C62D8C */ _t25 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C62D8C */ _t26 = _t25 & 0x00000001u;
|
|
/* 02C62D8C */ if (_t26) goto L_02C62DB8; else goto L_02C62D90;
|
|
L_02C62D90: ; // 0x2c62d90
|
|
/* 02C62D90 */ cpu->r[9] = cpu->r[12] + cpu->r[9];
|
|
/* 02C62D90 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 02C62D94 */ _t27 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C62D94 */ _t28 = _t27 & 0x00000001u;
|
|
/* 02C62D94 */ if (_t28) goto L_02C62DB8; else goto L_02C62D98;
|
|
L_02C62D98: ; // 0x2c62d98
|
|
/* 02C62D98 */ _t29 = cpu->r[9] + 0x00000014u;
|
|
/* 02C62D98 */ cpu->r[0] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02C62D9C */ cpu->r[10] = cpu->r[9] + 0x00000014u;
|
|
/* 02C62DA0 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C62DA4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C62DA8 */ _t30 = cpu->r[9] + 0x0000000Cu;
|
|
/* 02C62DA8 */ cpu->r[4] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02C62DAC */ _t31 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C62DAC */ _t32 = _t31 & 0x00000001u;
|
|
/* 02C62DAC */ if (_t32) goto L_02C62DB4; else goto L_02C62DB0;
|
|
L_02C62DB0: ; // 0x2c62db0
|
|
/* 02C62DB0 */ cpu->r[3] = cpu->r[10] + cpu->r[0];
|
|
L_02C62DB4: ; // 0x2c62db4
|
|
/* 02C62DB4 */ rbrew_dispatch(cpu, 0x02d058c0u);
|
|
L_02C62DB8: ; // 0x2c62db8
|
|
/* 02C62DB8 */ _t33 = cpu->r[31] + 0x00000044u;
|
|
/* 02C62DB8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t33);
|
|
/* 02C62DBC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C62DC0 */ cpu->r[9] = cpu->r[31] + 0x00000044u;
|
|
/* 02C62DC4 */ _t34 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C62DC4 */ _t35 = _t34 & 0x00000001u;
|
|
/* 02C62DC4 */ if (_t35) goto L_02C62E6C; else goto L_02C62DC8;
|
|
L_02C62DC8: ; // 0x2c62dc8
|
|
/* 02C62DC8 */ cpu->r[12] = cpu->r[9] + cpu->r[0];
|
|
/* 02C62DC8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02C62DCC */ _t36 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C62DCC */ _t37 = _t36 & 0x00000001u;
|
|
/* 02C62DCC */ if (_t37) goto L_02C62E6C; else goto L_02C62DD0;
|
|
L_02C62DD0: ; // 0x2c62dd0
|
|
/* 02C62DD0 */ _t38 = cpu->r[12] + 0x00000014u;
|
|
/* 02C62DD0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t38);
|
|
/* 02C62DD4 */ cpu->r[10] = cpu->r[12] + 0x00000014u;
|
|
/* 02C62DD8 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C62DDC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C62DE0 */ _t39 = cpu->r[12] + 0x0000000Cu;
|
|
/* 02C62DE0 */ cpu->r[4] = rbrew_read32(cpu->mem, _t39);
|
|
/* 02C62DE4 */ _t40 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C62DE4 */ _t41 = _t40 & 0x00000001u;
|
|
/* 02C62DE4 */ if (_t41) goto L_02C62DEC; else goto L_02C62DE8;
|
|
L_02C62DE8: ; // 0x2c62de8
|
|
/* 02C62DE8 */ cpu->r[3] = cpu->r[10] + cpu->r[0];
|
|
L_02C62DEC: ; // 0x2c62dec
|
|
/* 02C62DEC */ rbrew_dispatch(cpu, 0x02d058c0u);
|
|
/* 02C62DF0 */ _t42 = cpu->r[1] + 0x00000014u;
|
|
/* 02C62DF0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t42);
|
|
/* 02C62DF4 */ _t43 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C62DF4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t43);
|
|
/* 02C62DF8 */ cpu->lr = cpu->r[0];
|
|
/* 02C62DFC */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C62E00 */ return;
|
|
L_02C62E04: ; // 0x2c62e04
|
|
/* 02C62E04 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C62E08 */ _t44 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C62E08 */ _t45 = _t44 & 0x00000001u;
|
|
/* 02C62E08 */ if (_t45) goto L_02C62E18; else goto L_02C62E0C;
|
|
L_02C62E0C: ; // 0x2c62e0c
|
|
/* 02C62E0C */ cpu->r[3] = cpu->r[12] + cpu->r[0];
|
|
/* 02C62E0C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C62E10 */ _t46 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C62E10 */ _t47 = _t46 & 0x00000001u;
|
|
/* 02C62E10 */ if (_t47) goto L_02C62E18; else goto L_02C62E14;
|
|
L_02C62E14: ; // 0x2c62e14
|
|
/* 02C62E14 */ rbrew_dispatch(cpu, 0x02d06290u);
|
|
L_02C62E18: ; // 0x2c62e18
|
|
/* 02C62E18 */ _t48 = cpu->r[31] + 0x00000038u;
|
|
/* 02C62E18 */ cpu->r[0] = rbrew_read32(cpu->mem, _t48);
|
|
/* 02C62E1C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C62E20 */ cpu->r[10] = cpu->r[31] + 0x00000038u;
|
|
/* 02C62E24 */ _t49 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C62E24 */ _t50 = _t49 & 0x00000001u;
|
|
/* 02C62E24 */ if (_t50) goto L_02C62E34; else goto L_02C62E28;
|
|
L_02C62E28: ; // 0x2c62e28
|
|
/* 02C62E28 */ cpu->r[3] = cpu->r[10] + cpu->r[0];
|
|
/* 02C62E28 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C62E2C */ _t51 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C62E2C */ _t52 = _t51 & 0x00000001u;
|
|
/* 02C62E2C */ if (_t52) goto L_02C62E34; else goto L_02C62E30;
|
|
L_02C62E30: ; // 0x2c62e30
|
|
/* 02C62E30 */ rbrew_dispatch(cpu, 0x02d060d8u);
|
|
L_02C62E34: ; // 0x2c62e34
|
|
/* 02C62E34 */ _t53 = cpu->r[31] + 0x00000040u;
|
|
/* 02C62E34 */ cpu->r[9] = rbrew_read32(cpu->mem, _t53);
|
|
/* 02C62E38 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 02C62E3C */ cpu->r[12] = cpu->r[31] + 0x00000040u;
|
|
/* 02C62E40 */ _t54 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C62E40 */ _t55 = _t54 & 0x00000001u;
|
|
/* 02C62E40 */ if (_t55) goto L_02C62E50; else goto L_02C62E44;
|
|
L_02C62E44: ; // 0x2c62e44
|
|
/* 02C62E44 */ cpu->r[3] = cpu->r[12] + cpu->r[9];
|
|
/* 02C62E44 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C62E48 */ _t56 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C62E48 */ _t57 = _t56 & 0x00000001u;
|
|
/* 02C62E48 */ if (_t57) goto L_02C62E50; else goto L_02C62E4C;
|
|
L_02C62E4C: ; // 0x2c62e4c
|
|
/* 02C62E4C */ rbrew_dispatch(cpu, 0x02d06148u);
|
|
L_02C62E50: ; // 0x2c62e50
|
|
/* 02C62E50 */ _t58 = cpu->r[31] + 0x00000044u;
|
|
/* 02C62E50 */ cpu->r[0] = rbrew_read32(cpu->mem, _t58);
|
|
/* 02C62E54 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C62E58 */ cpu->r[9] = cpu->r[31] + 0x00000044u;
|
|
/* 02C62E5C */ _t59 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C62E5C */ _t60 = _t59 & 0x00000001u;
|
|
/* 02C62E5C */ if (_t60) goto L_02C62E6C; else goto L_02C62E60;
|
|
L_02C62E60: ; // 0x2c62e60
|
|
/* 02C62E60 */ cpu->r[3] = cpu->r[9] + cpu->r[0];
|
|
/* 02C62E60 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C62E64 */ _t61 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C62E64 */ _t62 = _t61 & 0x00000001u;
|
|
/* 02C62E64 */ if (_t62) goto L_02C62E6C; else goto L_02C62E68;
|
|
L_02C62E68: ; // 0x2c62e68
|
|
/* 02C62E68 */ rbrew_dispatch(cpu, 0x02d06018u);
|
|
L_02C62E6C: ; // 0x2c62e6c
|
|
/* 02C62E6C */ _t63 = cpu->r[1] + 0x00000014u;
|
|
/* 02C62E6C */ cpu->r[0] = rbrew_read32(cpu->mem, _t63);
|
|
/* 02C62E70 */ _t64 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C62E70 */ cpu->r[31] = rbrew_read32(cpu->mem, _t64);
|
|
/* 02C62E74 */ cpu->lr = cpu->r[0];
|
|
/* 02C62E78 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C62E7C */ return;
|
|
}
|
|
|
|
// fn_02C62E80 @ 0x2c62e80
|
|
void Gambit_fn_02C62E80(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_02C62E80: ; // 0x2c62e80
|
|
/* 02C62E80 */ cpu->r[0] = cpu->lr;
|
|
/* 02C62E84 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C62E84 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C62E84 */ cpu->r[1] = _t0;
|
|
/* 02C62E88 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C62E88 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02C62E8C */ cpu->r[31] = cpu->r[3];
|
|
/* 02C62E90 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02C62E90 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02C62E94 */ _t3 = cpu->r[31] + 0x00000034u;
|
|
/* 02C62E94 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02C62E98 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C62E9C */ cpu->r[9] = cpu->r[31] + 0x00000034u;
|
|
/* 02C62EA0 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C62EA0 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02C62EA0 */ if (_t5) goto L_02C62ECC; else goto L_02C62EA4;
|
|
L_02C62EA4: ; // 0x2c62ea4
|
|
/* 02C62EA4 */ cpu->r[12] = cpu->r[9] + cpu->r[0];
|
|
/* 02C62EA4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02C62EA8 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C62EA8 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02C62EA8 */ if (_t7) goto L_02C62ECC; else goto L_02C62EAC;
|
|
L_02C62EAC: ; // 0x2c62eac
|
|
/* 02C62EAC */ _t8 = cpu->r[12] + 0x00000014u;
|
|
/* 02C62EAC */ cpu->r[9] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C62EB0 */ cpu->r[10] = cpu->r[12] + 0x00000014u;
|
|
/* 02C62EB4 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C62EB8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 02C62EBC */ _t9 = cpu->r[12] + 0x0000000Cu;
|
|
/* 02C62EBC */ cpu->r[4] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02C62EC0 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C62EC0 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02C62EC0 */ if (_t11) goto L_02C62EC8; else goto L_02C62EC4;
|
|
L_02C62EC4: ; // 0x2c62ec4
|
|
/* 02C62EC4 */ cpu->r[3] = cpu->r[10] + cpu->r[9];
|
|
L_02C62EC8: ; // 0x2c62ec8
|
|
/* 02C62EC8 */ rbrew_dispatch(cpu, 0x02d05888u);
|
|
L_02C62ECC: ; // 0x2c62ecc
|
|
/* 02C62ECC */ _t12 = cpu->r[31] + 0x00000038u;
|
|
/* 02C62ECC */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02C62ED0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C62ED4 */ cpu->r[10] = cpu->r[31] + 0x00000038u;
|
|
/* 02C62ED8 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C62ED8 */ _t14 = _t13 & 0x00000001u;
|
|
/* 02C62ED8 */ if (_t14) goto L_02C62F04; else goto L_02C62EDC;
|
|
L_02C62EDC: ; // 0x2c62edc
|
|
/* 02C62EDC */ cpu->r[10] = cpu->r[10] + cpu->r[0];
|
|
/* 02C62EDC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02C62EE0 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C62EE0 */ _t16 = _t15 & 0x00000001u;
|
|
/* 02C62EE0 */ if (_t16) goto L_02C62F04; else goto L_02C62EE4;
|
|
L_02C62EE4: ; // 0x2c62ee4
|
|
/* 02C62EE4 */ _t17 = cpu->r[10] + 0x00000014u;
|
|
/* 02C62EE4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02C62EE8 */ cpu->r[12] = cpu->r[10] + 0x00000014u;
|
|
/* 02C62EEC */ cpu->r[3] = 0x00000000u;
|
|
/* 02C62EF0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 02C62EF4 */ _t18 = cpu->r[10] + 0x0000000Cu;
|
|
/* 02C62EF4 */ cpu->r[4] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02C62EF8 */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C62EF8 */ _t20 = _t19 & 0x00000001u;
|
|
/* 02C62EF8 */ if (_t20) goto L_02C62F00; else goto L_02C62EFC;
|
|
L_02C62EFC: ; // 0x2c62efc
|
|
/* 02C62EFC */ cpu->r[3] = cpu->r[12] + cpu->r[9];
|
|
L_02C62F00: ; // 0x2c62f00
|
|
/* 02C62F00 */ rbrew_dispatch(cpu, 0x02d05888u);
|
|
L_02C62F04: ; // 0x2c62f04
|
|
/* 02C62F04 */ _t21 = cpu->r[31] + 0x00000040u;
|
|
/* 02C62F04 */ cpu->r[11] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02C62F08 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02C62F0C */ cpu->r[12] = cpu->r[31] + 0x00000040u;
|
|
/* 02C62F10 */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C62F10 */ _t23 = _t22 & 0x00000001u;
|
|
/* 02C62F10 */ if (_t23) goto L_02C62F3C; else goto L_02C62F14;
|
|
L_02C62F14: ; // 0x2c62f14
|
|
/* 02C62F14 */ cpu->r[11] = cpu->r[12] + cpu->r[11];
|
|
/* 02C62F14 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02C62F18 */ _t24 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C62F18 */ _t25 = _t24 & 0x00000001u;
|
|
/* 02C62F18 */ if (_t25) goto L_02C62F3C; else goto L_02C62F1C;
|
|
L_02C62F1C: ; // 0x2c62f1c
|
|
/* 02C62F1C */ _t26 = cpu->r[11] + 0x00000014u;
|
|
/* 02C62F1C */ cpu->r[0] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02C62F20 */ cpu->r[9] = cpu->r[11] + 0x00000014u;
|
|
/* 02C62F24 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C62F28 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C62F2C */ _t27 = cpu->r[11] + 0x0000000Cu;
|
|
/* 02C62F2C */ cpu->r[4] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02C62F30 */ _t28 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C62F30 */ _t29 = _t28 & 0x00000001u;
|
|
/* 02C62F30 */ if (_t29) goto L_02C62F38; else goto L_02C62F34;
|
|
L_02C62F34: ; // 0x2c62f34
|
|
/* 02C62F34 */ cpu->r[3] = cpu->r[9] + cpu->r[0];
|
|
L_02C62F38: ; // 0x2c62f38
|
|
/* 02C62F38 */ rbrew_dispatch(cpu, 0x02d05888u);
|
|
L_02C62F3C: ; // 0x2c62f3c
|
|
/* 02C62F3C */ _t30 = cpu->r[31] + 0x00000044u;
|
|
/* 02C62F3C */ cpu->r[11] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02C62F40 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02C62F44 */ cpu->r[10] = cpu->r[31] + 0x00000044u;
|
|
/* 02C62F48 */ _t31 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C62F48 */ _t32 = _t31 & 0x00000001u;
|
|
/* 02C62F48 */ if (_t32) goto L_02C62F74; else goto L_02C62F4C;
|
|
L_02C62F4C: ; // 0x2c62f4c
|
|
/* 02C62F4C */ cpu->r[11] = cpu->r[10] + cpu->r[11];
|
|
/* 02C62F4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02C62F50 */ _t33 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C62F50 */ _t34 = _t33 & 0x00000001u;
|
|
/* 02C62F50 */ if (_t34) goto L_02C62F74; else goto L_02C62F54;
|
|
L_02C62F54: ; // 0x2c62f54
|
|
/* 02C62F54 */ _t35 = cpu->r[11] + 0x00000014u;
|
|
/* 02C62F54 */ cpu->r[0] = rbrew_read32(cpu->mem, _t35);
|
|
/* 02C62F58 */ cpu->r[12] = cpu->r[11] + 0x00000014u;
|
|
/* 02C62F5C */ cpu->r[3] = 0x00000000u;
|
|
/* 02C62F60 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C62F64 */ _t36 = cpu->r[11] + 0x0000000Cu;
|
|
/* 02C62F64 */ cpu->r[4] = rbrew_read32(cpu->mem, _t36);
|
|
/* 02C62F68 */ _t37 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C62F68 */ _t38 = _t37 & 0x00000001u;
|
|
/* 02C62F68 */ if (_t38) goto L_02C62F70; else goto L_02C62F6C;
|
|
L_02C62F6C: ; // 0x2c62f6c
|
|
/* 02C62F6C */ cpu->r[3] = cpu->r[12] + cpu->r[0];
|
|
L_02C62F70: ; // 0x2c62f70
|
|
/* 02C62F70 */ rbrew_dispatch(cpu, 0x02d05888u);
|
|
L_02C62F74: ; // 0x2c62f74
|
|
/* 02C62F74 */ _t39 = cpu->r[1] + 0x00000014u;
|
|
/* 02C62F74 */ cpu->r[0] = rbrew_read32(cpu->mem, _t39);
|
|
/* 02C62F78 */ _t40 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C62F78 */ cpu->r[31] = rbrew_read32(cpu->mem, _t40);
|
|
/* 02C62F7C */ cpu->lr = cpu->r[0];
|
|
/* 02C62F80 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C62F84 */ return;
|
|
}
|
|
|
|
// fn_02C62E84 @ 0x2c62e84
|
|
void Gambit_fn_02C62E84(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_02C62E84: ; // 0x2c62e84
|
|
/* 02C62E84 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C62E84 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C62E84 */ cpu->r[1] = _t0;
|
|
/* 02C62E88 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C62E88 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02C62E8C */ cpu->r[31] = cpu->r[3];
|
|
/* 02C62E90 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02C62E90 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02C62E94 */ _t3 = cpu->r[31] + 0x00000034u;
|
|
/* 02C62E94 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02C62E98 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C62E9C */ cpu->r[9] = cpu->r[31] + 0x00000034u;
|
|
/* 02C62EA0 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C62EA0 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02C62EA0 */ if (_t5) goto L_02C62ECC; else goto L_02C62EA4;
|
|
L_02C62EA4: ; // 0x2c62ea4
|
|
/* 02C62EA4 */ cpu->r[12] = cpu->r[9] + cpu->r[0];
|
|
/* 02C62EA4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02C62EA8 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C62EA8 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02C62EA8 */ if (_t7) goto L_02C62ECC; else goto L_02C62EAC;
|
|
L_02C62EAC: ; // 0x2c62eac
|
|
/* 02C62EAC */ _t8 = cpu->r[12] + 0x00000014u;
|
|
/* 02C62EAC */ cpu->r[9] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C62EB0 */ cpu->r[10] = cpu->r[12] + 0x00000014u;
|
|
/* 02C62EB4 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C62EB8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 02C62EBC */ _t9 = cpu->r[12] + 0x0000000Cu;
|
|
/* 02C62EBC */ cpu->r[4] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02C62EC0 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C62EC0 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02C62EC0 */ if (_t11) goto L_02C62EC8; else goto L_02C62EC4;
|
|
L_02C62EC4: ; // 0x2c62ec4
|
|
/* 02C62EC4 */ cpu->r[3] = cpu->r[10] + cpu->r[9];
|
|
L_02C62EC8: ; // 0x2c62ec8
|
|
/* 02C62EC8 */ rbrew_dispatch(cpu, 0x02d05888u);
|
|
L_02C62ECC: ; // 0x2c62ecc
|
|
/* 02C62ECC */ _t12 = cpu->r[31] + 0x00000038u;
|
|
/* 02C62ECC */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02C62ED0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C62ED4 */ cpu->r[10] = cpu->r[31] + 0x00000038u;
|
|
/* 02C62ED8 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C62ED8 */ _t14 = _t13 & 0x00000001u;
|
|
/* 02C62ED8 */ if (_t14) goto L_02C62F04; else goto L_02C62EDC;
|
|
L_02C62EDC: ; // 0x2c62edc
|
|
/* 02C62EDC */ cpu->r[10] = cpu->r[10] + cpu->r[0];
|
|
/* 02C62EDC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02C62EE0 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C62EE0 */ _t16 = _t15 & 0x00000001u;
|
|
/* 02C62EE0 */ if (_t16) goto L_02C62F04; else goto L_02C62EE4;
|
|
L_02C62EE4: ; // 0x2c62ee4
|
|
/* 02C62EE4 */ _t17 = cpu->r[10] + 0x00000014u;
|
|
/* 02C62EE4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02C62EE8 */ cpu->r[12] = cpu->r[10] + 0x00000014u;
|
|
/* 02C62EEC */ cpu->r[3] = 0x00000000u;
|
|
/* 02C62EF0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 02C62EF4 */ _t18 = cpu->r[10] + 0x0000000Cu;
|
|
/* 02C62EF4 */ cpu->r[4] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02C62EF8 */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C62EF8 */ _t20 = _t19 & 0x00000001u;
|
|
/* 02C62EF8 */ if (_t20) goto L_02C62F00; else goto L_02C62EFC;
|
|
L_02C62EFC: ; // 0x2c62efc
|
|
/* 02C62EFC */ cpu->r[3] = cpu->r[12] + cpu->r[9];
|
|
L_02C62F00: ; // 0x2c62f00
|
|
/* 02C62F00 */ rbrew_dispatch(cpu, 0x02d05888u);
|
|
L_02C62F04: ; // 0x2c62f04
|
|
/* 02C62F04 */ _t21 = cpu->r[31] + 0x00000040u;
|
|
/* 02C62F04 */ cpu->r[11] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02C62F08 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02C62F0C */ cpu->r[12] = cpu->r[31] + 0x00000040u;
|
|
/* 02C62F10 */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C62F10 */ _t23 = _t22 & 0x00000001u;
|
|
/* 02C62F10 */ if (_t23) goto L_02C62F3C; else goto L_02C62F14;
|
|
L_02C62F14: ; // 0x2c62f14
|
|
/* 02C62F14 */ cpu->r[11] = cpu->r[12] + cpu->r[11];
|
|
/* 02C62F14 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02C62F18 */ _t24 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C62F18 */ _t25 = _t24 & 0x00000001u;
|
|
/* 02C62F18 */ if (_t25) goto L_02C62F3C; else goto L_02C62F1C;
|
|
L_02C62F1C: ; // 0x2c62f1c
|
|
/* 02C62F1C */ _t26 = cpu->r[11] + 0x00000014u;
|
|
/* 02C62F1C */ cpu->r[0] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02C62F20 */ cpu->r[9] = cpu->r[11] + 0x00000014u;
|
|
/* 02C62F24 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C62F28 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C62F2C */ _t27 = cpu->r[11] + 0x0000000Cu;
|
|
/* 02C62F2C */ cpu->r[4] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02C62F30 */ _t28 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C62F30 */ _t29 = _t28 & 0x00000001u;
|
|
/* 02C62F30 */ if (_t29) goto L_02C62F38; else goto L_02C62F34;
|
|
L_02C62F34: ; // 0x2c62f34
|
|
/* 02C62F34 */ cpu->r[3] = cpu->r[9] + cpu->r[0];
|
|
L_02C62F38: ; // 0x2c62f38
|
|
/* 02C62F38 */ rbrew_dispatch(cpu, 0x02d05888u);
|
|
L_02C62F3C: ; // 0x2c62f3c
|
|
/* 02C62F3C */ _t30 = cpu->r[31] + 0x00000044u;
|
|
/* 02C62F3C */ cpu->r[11] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02C62F40 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02C62F44 */ cpu->r[10] = cpu->r[31] + 0x00000044u;
|
|
/* 02C62F48 */ _t31 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C62F48 */ _t32 = _t31 & 0x00000001u;
|
|
/* 02C62F48 */ if (_t32) goto L_02C62F74; else goto L_02C62F4C;
|
|
L_02C62F4C: ; // 0x2c62f4c
|
|
/* 02C62F4C */ cpu->r[11] = cpu->r[10] + cpu->r[11];
|
|
/* 02C62F4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02C62F50 */ _t33 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C62F50 */ _t34 = _t33 & 0x00000001u;
|
|
/* 02C62F50 */ if (_t34) goto L_02C62F74; else goto L_02C62F54;
|
|
L_02C62F54: ; // 0x2c62f54
|
|
/* 02C62F54 */ _t35 = cpu->r[11] + 0x00000014u;
|
|
/* 02C62F54 */ cpu->r[0] = rbrew_read32(cpu->mem, _t35);
|
|
/* 02C62F58 */ cpu->r[12] = cpu->r[11] + 0x00000014u;
|
|
/* 02C62F5C */ cpu->r[3] = 0x00000000u;
|
|
/* 02C62F60 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C62F64 */ _t36 = cpu->r[11] + 0x0000000Cu;
|
|
/* 02C62F64 */ cpu->r[4] = rbrew_read32(cpu->mem, _t36);
|
|
/* 02C62F68 */ _t37 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C62F68 */ _t38 = _t37 & 0x00000001u;
|
|
/* 02C62F68 */ if (_t38) goto L_02C62F70; else goto L_02C62F6C;
|
|
L_02C62F6C: ; // 0x2c62f6c
|
|
/* 02C62F6C */ cpu->r[3] = cpu->r[12] + cpu->r[0];
|
|
L_02C62F70: ; // 0x2c62f70
|
|
/* 02C62F70 */ rbrew_dispatch(cpu, 0x02d05888u);
|
|
L_02C62F74: ; // 0x2c62f74
|
|
/* 02C62F74 */ _t39 = cpu->r[1] + 0x00000014u;
|
|
/* 02C62F74 */ cpu->r[0] = rbrew_read32(cpu->mem, _t39);
|
|
/* 02C62F78 */ _t40 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C62F78 */ cpu->r[31] = rbrew_read32(cpu->mem, _t40);
|
|
/* 02C62F7C */ cpu->lr = cpu->r[0];
|
|
/* 02C62F80 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C62F84 */ return;
|
|
}
|
|
|
|
// fn_02C62F88 @ 0x2c62f88
|
|
void Gambit_fn_02C62F88(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14;
|
|
|
|
L_02C62F88: ; // 0x2c62f88
|
|
/* 02C62F88 */ _t0 = cpu->r[3] + 0x00000044u;
|
|
/* 02C62F88 */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02C62F8C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C62F90 */ cpu->r[12] = cpu->r[3] + 0x00000044u;
|
|
/* 02C62F94 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C62F94 */ _t2 = _t1 & 0x00000001u;
|
|
/* 02C62F94 */ if (_t2) goto L_02C62FA8; else goto L_02C62F98;
|
|
L_02C62F98: ; // 0x2c62f98
|
|
/* 02C62F98 */ cpu->r[12] = cpu->r[12] + cpu->r[0];
|
|
/* 02C62F98 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02C62F9C */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C62F9C */ _t4 = _t3 & 0x00000001u;
|
|
/* 02C62F9C */ if (_t4) goto L_02C62FA8; else goto L_02C62FA0;
|
|
L_02C62FA0: ; // 0x2c62fa0
|
|
/* 02C62FA0 */ cpu->r[3] = 0x00000003u;
|
|
/* 02C62FA4 */ return;
|
|
L_02C62FA8: ; // 0x2c62fa8
|
|
/* 02C62FA8 */ _t5 = cpu->r[3] + 0x00000000u;
|
|
/* 02C62FA8 */ cpu->r[0] = rbrew_read16(cpu->mem, _t5);
|
|
/* 02C62FAC */ cpu->r[10] = cpu->r[3] + 0x00000034u;
|
|
/* 02C62FB0 */ cpu->r[11] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000017u, 0x00000017u);
|
|
/* 02C62FB0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02C62FB4 */ _t6 = cpu->r[3] + 0x00000034u;
|
|
/* 02C62FB4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02C62FB8 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C62FB8 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02C62FB8 */ if (_t8) goto L_02C62FD4; else goto L_02C62FBC;
|
|
L_02C62FBC: ; // 0x2c62fbc
|
|
/* 02C62FBC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C62FC0 */ cpu->r[12] = 0x00000000u;
|
|
/* 02C62FC4 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C62FC4 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02C62FC4 */ if (_t10) goto L_02C62FCC; else goto L_02C62FC8;
|
|
L_02C62FC8: ; // 0x2c62fc8
|
|
/* 02C62FC8 */ cpu->r[12] = cpu->r[10] + cpu->r[0];
|
|
L_02C62FCC: ; // 0x2c62fcc
|
|
/* 02C62FCC */ _t11 = cpu->r[12] + 0x00000001u;
|
|
/* 02C62FCC */ cpu->r[3] = rbrew_read8(cpu->mem, _t11);
|
|
/* 02C62FD0 */ return;
|
|
L_02C62FD4: ; // 0x2c62fd4
|
|
/* 02C62FD4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C62FD8 */ cpu->r[11] = 0x00000000u;
|
|
/* 02C62FDC */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C62FDC */ _t13 = _t12 & 0x00000001u;
|
|
/* 02C62FDC */ if (_t13) goto L_02C62FE4; else goto L_02C62FE0;
|
|
L_02C62FE0: ; // 0x2c62fe0
|
|
/* 02C62FE0 */ cpu->r[11] = cpu->r[10] + cpu->r[0];
|
|
L_02C62FE4: ; // 0x2c62fe4
|
|
/* 02C62FE4 */ _t14 = cpu->r[11] + 0x000000D8u;
|
|
/* 02C62FE4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02C62FE8 */ return;
|
|
}
|
|
|
|
// fn_02C62FEC @ 0x2c62fec
|
|
void Gambit_fn_02C62FEC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_02C62FEC: ; // 0x2c62fec
|
|
/* 02C62FEC */ _t0 = cpu->r[3] + 0x00000006u;
|
|
/* 02C62FEC */ cpu->r[12] = rbrew_read8(cpu->mem, _t0);
|
|
/* 02C62FF0 */ _t1 = cpu->r[3] + 0x00000008u;
|
|
/* 02C62FF0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02C62FF4 */ cpu->r[0] = rbrew_rlwinm(cpu->r[12], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02C62FF8 */ _t2 = cpu->r[3] + 0x00000007u;
|
|
/* 02C62FF8 */ cpu->r[11] = rbrew_read8(cpu->mem, _t2);
|
|
/* 02C62FFC */ _t3 = cpu->r[4] + cpu->r[0];
|
|
/* 02C62FFC */ cpu->r[8] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02C63000 */ /* nop */
|
|
/* 02C63004 */ cpu->r[7] = cpu->r[4] + cpu->r[0];
|
|
/* 02C63008 */ _t4 = ~cpu->r[9];
|
|
/* 02C63008 */ cpu->r[0] = cpu->r[8] & _t4;
|
|
/* 02C6300C */ cpu->r[12] = cpu->r[0] | cpu->r[10];
|
|
/* 02C63010 */ _t5 = cpu->r[7] + 0x00000000u;
|
|
/* 02C63010 */ rbrew_write32(cpu->mem, _t5, cpu->r[12]);
|
|
/* 02C63014 */ return;
|
|
}
|
|
|
|
// fn_02C63018 @ 0x2c63018
|
|
void Gambit_fn_02C63018(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3;
|
|
|
|
L_02C63018: ; // 0x2c63018
|
|
/* 02C63018 */ _t0 = cpu->r[3] + 0x00000006u;
|
|
/* 02C63018 */ cpu->r[0] = rbrew_read8(cpu->mem, _t0);
|
|
/* 02C6301C */ _t1 = cpu->r[3] + 0x00000008u;
|
|
/* 02C6301C */ cpu->r[10] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02C63020 */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02C63024 */ _t2 = cpu->r[12] + cpu->r[4];
|
|
/* 02C63024 */ cpu->r[9] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02C63028 */ _t3 = cpu->r[3] + 0x00000007u;
|
|
/* 02C63028 */ cpu->r[11] = rbrew_read8(cpu->mem, _t3);
|
|
/* 02C6302C */ cpu->r[8] = cpu->r[9] & cpu->r[10];
|
|
/* 02C63030 */ /* nop */
|
|
/* 02C63034 */ return;
|
|
}
|
|
|
|
// fn_02C63038 @ 0x2c63038
|
|
void Gambit_fn_02C63038(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6;
|
|
|
|
L_02C63038: ; // 0x2c63038
|
|
/* 02C63038 */ _t0 = cpu->r[3] + 0x00000006u;
|
|
/* 02C63038 */ cpu->r[12] = rbrew_read8(cpu->mem, _t0);
|
|
/* 02C6303C */ _t1 = cpu->r[3] + 0x00000005u;
|
|
/* 02C6303C */ cpu->r[0] = rbrew_read8(cpu->mem, _t1);
|
|
/* 02C63040 */ _t2 = cpu->r[3] + 0x00000007u;
|
|
/* 02C63040 */ cpu->r[11] = rbrew_read8(cpu->mem, _t2);
|
|
/* 02C63044 */ cpu->r[0] = cpu->r[12] - cpu->r[0];
|
|
/* 02C63048 */ cpu->r[6] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02C6304C */ /* nop */
|
|
/* 02C63050 */ _t3 = cpu->r[6] + cpu->r[4];
|
|
/* 02C63050 */ cpu->r[8] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02C63054 */ _t4 = cpu->r[3] + 0x00000008u;
|
|
/* 02C63054 */ cpu->r[9] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02C63058 */ _t5 = ~cpu->r[9];
|
|
/* 02C63058 */ cpu->r[7] = cpu->r[8] & _t5;
|
|
/* 02C6305C */ cpu->r[12] = cpu->r[7] | cpu->r[10];
|
|
/* 02C63060 */ _t6 = cpu->r[6] + cpu->r[4];
|
|
/* 02C63060 */ rbrew_write32(cpu->mem, _t6, cpu->r[12]);
|
|
/* 02C63064 */ return;
|
|
}
|
|
|
|
// fn_02C63068 @ 0x2c63068
|
|
void Gambit_fn_02C63068(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16;
|
|
|
|
L_02C63068: ; // 0x2c63068
|
|
/* 02C63068 */ cpu->r[0] = cpu->lr;
|
|
/* 02C6306C */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02C6306C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C6306C */ cpu->r[1] = _t0;
|
|
/* 02C63070 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C63070 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
|
|
/* 02C63074 */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 02C63074 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02C63078 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02C63078 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 02C6307C */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C6307C */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02C63080 */ _t5 = cpu->r[3] + 0x00000006u;
|
|
/* 02C63080 */ cpu->r[29] = rbrew_read16(cpu->mem, _t5);
|
|
/* 02C63084 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 02C63088 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C63088 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02C63088 */ if (_t7) goto L_02C630BC; else goto L_02C6308C;
|
|
L_02C6308C: ; // 0x2c6308c
|
|
/* 02C6308C */ cpu->r[31] = cpu->r[3] + 0x00000058u;
|
|
/* 02C63090 */ cpu->r[30] = 0x00000000u;
|
|
L_02C63094: ; // 0x2c63094
|
|
/* 02C63094 */ _t8 = cpu->r[31] + 0x00000000u;
|
|
/* 02C63094 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C63098 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C6309C */ cpu->r[12] = 0x00000000u;
|
|
/* 02C630A0 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C630A0 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02C630A0 */ if (_t10) goto L_02C630A8; else goto L_02C630A4;
|
|
L_02C630A4: ; // 0x2c630a4
|
|
/* 02C630A4 */ cpu->r[12] = cpu->r[31] + cpu->r[0];
|
|
L_02C630A8: ; // 0x2c630a8
|
|
/* 02C630A8 */ cpu->r[3] = cpu->r[12] + cpu->r[30];
|
|
/* 02C630AC */ Gambit_fn_02C625B4(cpu);
|
|
/* 02C630B0 */ cpu->r[29] = cpu->r[29] + 0xFFFFFFFFu;
|
|
/* 02C630B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 02C630B4 */ cpu->r[30] = cpu->r[30] + 0x0000004Cu;
|
|
/* 02C630B8 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C630B8 */ _t12 = _t11 & 0x00000001u;
|
|
/* 02C630B8 */ if (_t12) goto L_02C630BC; else goto L_02C63094;
|
|
L_02C630BC: ; // 0x2c630bc
|
|
/* 02C630BC */ _t13 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C630BC */ cpu->r[29] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02C630C0 */ _t14 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C630C0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02C630C4 */ _t15 = cpu->r[1] + 0x00000010u;
|
|
/* 02C630C4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02C630C8 */ cpu->lr = cpu->r[0];
|
|
/* 02C630CC */ _t16 = cpu->r[1] + 0x00000014u;
|
|
/* 02C630CC */ cpu->r[31] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02C630D0 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C630D4 */ return;
|
|
}
|
|
|
|
// fn_02C6306C @ 0x2c6306c
|
|
void Gambit_fn_02C6306C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16;
|
|
|
|
L_02C6306C: ; // 0x2c6306c
|
|
/* 02C6306C */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02C6306C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C6306C */ cpu->r[1] = _t0;
|
|
/* 02C63070 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C63070 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
|
|
/* 02C63074 */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 02C63074 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02C63078 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02C63078 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 02C6307C */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C6307C */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02C63080 */ _t5 = cpu->r[3] + 0x00000006u;
|
|
/* 02C63080 */ cpu->r[29] = rbrew_read16(cpu->mem, _t5);
|
|
/* 02C63084 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 02C63088 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C63088 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02C63088 */ if (_t7) goto L_02C630BC; else goto L_02C6308C;
|
|
L_02C6308C: ; // 0x2c6308c
|
|
/* 02C6308C */ cpu->r[31] = cpu->r[3] + 0x00000058u;
|
|
/* 02C63090 */ cpu->r[30] = 0x00000000u;
|
|
L_02C63094: ; // 0x2c63094
|
|
/* 02C63094 */ _t8 = cpu->r[31] + 0x00000000u;
|
|
/* 02C63094 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C63098 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C6309C */ cpu->r[12] = 0x00000000u;
|
|
/* 02C630A0 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C630A0 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02C630A0 */ if (_t10) goto L_02C630A8; else goto L_02C630A4;
|
|
L_02C630A4: ; // 0x2c630a4
|
|
/* 02C630A4 */ cpu->r[12] = cpu->r[31] + cpu->r[0];
|
|
L_02C630A8: ; // 0x2c630a8
|
|
/* 02C630A8 */ cpu->r[3] = cpu->r[12] + cpu->r[30];
|
|
/* 02C630AC */ Gambit_fn_02C625B4(cpu);
|
|
/* 02C630B0 */ cpu->r[29] = cpu->r[29] + 0xFFFFFFFFu;
|
|
/* 02C630B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 02C630B4 */ cpu->r[30] = cpu->r[30] + 0x0000004Cu;
|
|
/* 02C630B8 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C630B8 */ _t12 = _t11 & 0x00000001u;
|
|
/* 02C630B8 */ if (_t12) goto L_02C630BC; else goto L_02C63094;
|
|
L_02C630BC: ; // 0x2c630bc
|
|
/* 02C630BC */ _t13 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C630BC */ cpu->r[29] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02C630C0 */ _t14 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C630C0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02C630C4 */ _t15 = cpu->r[1] + 0x00000010u;
|
|
/* 02C630C4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02C630C8 */ cpu->lr = cpu->r[0];
|
|
/* 02C630CC */ _t16 = cpu->r[1] + 0x00000014u;
|
|
/* 02C630CC */ cpu->r[31] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02C630D0 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C630D4 */ return;
|
|
}
|
|
|
|
// fn_02C630D8 @ 0x2c630d8
|
|
void Gambit_fn_02C630D8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12;
|
|
|
|
L_02C630D8: ; // 0x2c630d8
|
|
/* 02C630D8 */ cpu->r[0] = cpu->lr;
|
|
/* 02C630DC */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C630DC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C630DC */ cpu->r[1] = _t0;
|
|
/* 02C630E0 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C630E0 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02C630E4 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02C630E4 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02C630E8 */ _t3 = cpu->r[3] + 0x00000006u;
|
|
/* 02C630E8 */ cpu->r[31] = rbrew_read16(cpu->mem, _t3);
|
|
/* 02C630EC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02C630F0 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C630F0 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02C630F0 */ if (_t5) goto L_02C63124; else goto L_02C630F4;
|
|
L_02C630F4: ; // 0x2c630f4
|
|
/* 02C630F4 */ cpu->r[5] = cpu->r[3] + 0x00000058u;
|
|
/* 02C630F8 */ cpu->r[4] = 0x00000000u;
|
|
L_02C630FC: ; // 0x2c630fc
|
|
/* 02C630FC */ _t6 = cpu->r[5] + 0x00000000u;
|
|
/* 02C630FC */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02C63100 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C63104 */ cpu->r[12] = 0x00000000u;
|
|
/* 02C63108 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C63108 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02C63108 */ if (_t8) goto L_02C63110; else goto L_02C6310C;
|
|
L_02C6310C: ; // 0x2c6310c
|
|
/* 02C6310C */ cpu->r[12] = cpu->r[5] + cpu->r[0];
|
|
L_02C63110: ; // 0x2c63110
|
|
/* 02C63110 */ cpu->r[3] = cpu->r[12] + cpu->r[4];
|
|
/* 02C63114 */ Gambit_fn_02C62B44(cpu);
|
|
/* 02C63118 */ cpu->r[31] = cpu->r[31] + 0xFFFFFFFFu;
|
|
/* 02C63118 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02C6311C */ cpu->r[4] = cpu->r[4] + 0x0000004Cu;
|
|
/* 02C63120 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C63120 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02C63120 */ if (_t10) goto L_02C63124; else goto L_02C630FC;
|
|
L_02C63124: ; // 0x2c63124
|
|
/* 02C63124 */ _t11 = cpu->r[1] + 0x00000014u;
|
|
/* 02C63124 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02C63128 */ _t12 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C63128 */ cpu->r[31] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02C6312C */ cpu->lr = cpu->r[0];
|
|
/* 02C63130 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C63134 */ return;
|
|
}
|
|
|
|
// fn_02C630DC @ 0x2c630dc
|
|
void Gambit_fn_02C630DC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12;
|
|
|
|
L_02C630DC: ; // 0x2c630dc
|
|
/* 02C630DC */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C630DC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C630DC */ cpu->r[1] = _t0;
|
|
/* 02C630E0 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C630E0 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02C630E4 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02C630E4 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02C630E8 */ _t3 = cpu->r[3] + 0x00000006u;
|
|
/* 02C630E8 */ cpu->r[31] = rbrew_read16(cpu->mem, _t3);
|
|
/* 02C630EC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02C630F0 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C630F0 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02C630F0 */ if (_t5) goto L_02C63124; else goto L_02C630F4;
|
|
L_02C630F4: ; // 0x2c630f4
|
|
/* 02C630F4 */ cpu->r[5] = cpu->r[3] + 0x00000058u;
|
|
/* 02C630F8 */ cpu->r[4] = 0x00000000u;
|
|
L_02C630FC: ; // 0x2c630fc
|
|
/* 02C630FC */ _t6 = cpu->r[5] + 0x00000000u;
|
|
/* 02C630FC */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02C63100 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C63104 */ cpu->r[12] = 0x00000000u;
|
|
/* 02C63108 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C63108 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02C63108 */ if (_t8) goto L_02C63110; else goto L_02C6310C;
|
|
L_02C6310C: ; // 0x2c6310c
|
|
/* 02C6310C */ cpu->r[12] = cpu->r[5] + cpu->r[0];
|
|
L_02C63110: ; // 0x2c63110
|
|
/* 02C63110 */ cpu->r[3] = cpu->r[12] + cpu->r[4];
|
|
/* 02C63114 */ Gambit_fn_02C62B44(cpu);
|
|
/* 02C63118 */ cpu->r[31] = cpu->r[31] + 0xFFFFFFFFu;
|
|
/* 02C63118 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02C6311C */ cpu->r[4] = cpu->r[4] + 0x0000004Cu;
|
|
/* 02C63120 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C63120 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02C63120 */ if (_t10) goto L_02C63124; else goto L_02C630FC;
|
|
L_02C63124: ; // 0x2c63124
|
|
/* 02C63124 */ _t11 = cpu->r[1] + 0x00000014u;
|
|
/* 02C63124 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02C63128 */ _t12 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C63128 */ cpu->r[31] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02C6312C */ cpu->lr = cpu->r[0];
|
|
/* 02C63130 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C63134 */ return;
|
|
}
|
|
|
|
// fn_02C63138 @ 0x2c63138
|
|
void Gambit_fn_02C63138(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4;
|
|
|
|
L_02C63138: ; // 0x2c63138
|
|
/* 02C63138 */ _t0 = cpu->r[3] + 0x0000005Cu;
|
|
/* 02C63138 */ cpu->r[10] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02C6313C */ cpu->r[7] = 0x00000000u;
|
|
/* 02C63140 */ cpu->r[12] = cpu->r[3] + 0x0000005Cu;
|
|
/* 02C63144 */ _t1 = cpu->r[3] + 0x00000001u;
|
|
/* 02C63144 */ cpu->r[11] = rbrew_read8(cpu->mem, _t1);
|
|
/* 02C63148 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02C6314C */ _t2 = cpu->r[3] + 0x00000000u;
|
|
/* 02C6314C */ cpu->r[9] = rbrew_read8(cpu->mem, _t2);
|
|
/* 02C63150 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C63150 */ _t4 = _t3 & 0x00000001u;
|
|
/* 02C63150 */ if (_t4) goto L_02C63158; else goto L_02C63154;
|
|
L_02C63154: ; // 0x2c63154
|
|
/* 02C63154 */ cpu->r[7] = cpu->r[12] + cpu->r[10];
|
|
L_02C63158: ; // 0x2c63158
|
|
/* 02C63158 */ cpu->r[8] = cpu->r[9] + cpu->r[11];
|
|
/* 02C6315C */ cpu->r[0] = rbrew_rlwinm(cpu->r[8], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02C63160 */ cpu->r[6] = (uint32_t)((int32_t)cpu->r[0] * (int32_t)cpu->r[4]);
|
|
/* 02C63164 */ cpu->r[3] = cpu->r[7] + cpu->r[6];
|
|
/* 02C63168 */ return;
|
|
}
|
|
|
|
// fn_02C6316C @ 0x2c6316c
|
|
void Gambit_fn_02C6316C(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;
|
|
|
|
L_02C6316C: ; // 0x2c6316c
|
|
/* 02C6316C */ cpu->r[0] = cpu->lr;
|
|
/* 02C63170 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02C63170 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C63170 */ cpu->r[1] = _t0;
|
|
/* 02C63174 */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 02C63174 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02C63178 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C63178 */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
|
|
/* 02C6317C */ cpu->r[31] = cpu->r[4];
|
|
/* 02C63180 */ _t3 = cpu->r[1] + 0x00000010u;
|
|
/* 02C63180 */ rbrew_write32(cpu->mem, _t3, cpu->r[30]);
|
|
/* 02C63184 */ cpu->r[5] = cpu->r[3];
|
|
/* 02C63188 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C63188 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02C6318C */ _t5 = cpu->r[5] + 0x00000020u;
|
|
/* 02C6318C */ cpu->r[4] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02C63190 */ /* nop */
|
|
/* 02C63194 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0xFFFFFFFFu);
|
|
/* 02C63198 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C63198 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02C63198 */ if (_t7) goto L_02C6319C; else goto L_02C63228;
|
|
L_02C6319C: ; // 0x2c6319c
|
|
/* 02C6319C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0xFFFFFFFFu);
|
|
/* 02C631A0 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C631A0 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02C631A0 */ if (_t9) goto L_02C631A4; else goto L_02C63228;
|
|
L_02C631A4: ; // 0x2c631a4
|
|
/* 02C631A4 */ _t10 = cpu->r[5] + 0x00000000u;
|
|
/* 02C631A4 */ cpu->r[9] = rbrew_read8(cpu->mem, _t10);
|
|
/* 02C631A8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 02C631AC */ cpu->r[8] = cpu->r[31];
|
|
/* 02C631B0 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C631B0 */ _t12 = _t11 & 0x00000001u;
|
|
/* 02C631B0 */ if (_t12) goto L_02C631C8; else goto L_02C631B4;
|
|
L_02C631B4: ; // 0x2c631b4
|
|
/* 02C631B4 */ cpu->r[8] = cpu->r[8] + 0xFFFFFFFCu;
|
|
/* 02C631B8 */ cpu->r[10] = 0x00000000u;
|
|
L_02C631BC: ; // 0x2c631bc
|
|
/* 02C631BC */ cpu->r[9] = cpu->r[9] + 0xFFFFFFFFu;
|
|
/* 02C631BC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 02C631C0 */ _t13 = cpu->r[8] + 0x00000004u;
|
|
/* 02C631C0 */ rbrew_write32(cpu->mem, _t13, cpu->r[10]);
|
|
/* 02C631C0 */ cpu->r[8] = _t13;
|
|
/* 02C631C4 */ _t14 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C631C4 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02C631C4 */ if (_t15) goto L_02C631BC; else goto L_02C631C8;
|
|
L_02C631C8: ; // 0x2c631c8
|
|
/* 02C631C8 */ _t16 = cpu->r[5] + 0x00000002u;
|
|
/* 02C631C8 */ cpu->r[6] = rbrew_read16(cpu->mem, _t16);
|
|
/* 02C631CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u);
|
|
/* 02C631D0 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C631D0 */ _t18 = _t17 & 0x00000001u;
|
|
/* 02C631D0 */ if (_t18) goto L_02C632C0; else goto L_02C631D4;
|
|
L_02C631D4: ; // 0x2c631d4
|
|
/* 02C631D4 */ cpu->r[30] = cpu->r[5] + 0x0000002Cu;
|
|
/* 02C631D8 */ cpu->r[29] = 0x00000000u;
|
|
L_02C631DC: ; // 0x2c631dc
|
|
/* 02C631DC */ _t19 = cpu->r[30] + 0x00000000u;
|
|
/* 02C631DC */ cpu->r[0] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02C631E0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C631E4 */ cpu->r[12] = 0x00000000u;
|
|
/* 02C631E8 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C631E8 */ _t21 = _t20 & 0x00000001u;
|
|
/* 02C631E8 */ if (_t21) goto L_02C631F0; else goto L_02C631EC;
|
|
L_02C631EC: ; // 0x2c631ec
|
|
/* 02C631EC */ cpu->r[12] = cpu->r[30] + cpu->r[0];
|
|
L_02C631F0: ; // 0x2c631f0
|
|
/* 02C631F0 */ cpu->r[3] = cpu->r[12] + cpu->r[29];
|
|
/* 02C631F4 */ _t22 = cpu->r[3] + 0x00000001u;
|
|
/* 02C631F4 */ cpu->r[5] = rbrew_read8(cpu->mem, _t22);
|
|
/* 02C631F8 */ cpu->r[4] = cpu->r[31];
|
|
/* 02C631FC */ Gambit_fn_02C62FEC(cpu);
|
|
/* 02C63200 */ cpu->r[6] = cpu->r[6] + 0xFFFFFFFFu;
|
|
/* 02C63200 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u);
|
|
/* 02C63204 */ cpu->r[29] = cpu->r[29] + 0x00000018u;
|
|
/* 02C63208 */ _t23 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C63208 */ _t24 = _t23 & 0x00000001u;
|
|
/* 02C63208 */ if (_t24) goto L_02C6320C; else goto L_02C631DC;
|
|
L_02C6320C: ; // 0x2c6320c
|
|
/* 02C6320C */ _t25 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C6320C */ cpu->r[29] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02C63210 */ _t26 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C63210 */ cpu->r[0] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02C63214 */ _t27 = cpu->r[1] + 0x00000010u;
|
|
/* 02C63214 */ cpu->r[30] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02C63218 */ cpu->lr = cpu->r[0];
|
|
/* 02C6321C */ _t28 = cpu->r[1] + 0x00000014u;
|
|
/* 02C6321C */ cpu->r[31] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02C63220 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C63224 */ return;
|
|
L_02C63228: ; // 0x2c63228
|
|
/* 02C63228 */ cpu->r[3] = cpu->r[5];
|
|
/* 02C6322C */ Gambit_fn_02C63138(cpu);
|
|
/* 02C63230 */ _t29 = cpu->r[5] + 0x00000000u;
|
|
/* 02C63230 */ cpu->r[8] = rbrew_read8(cpu->mem, _t29);
|
|
/* 02C63234 */ cpu->r[12] = rbrew_rlwinm(cpu->r[8], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02C63234 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02C63238 */ _t30 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C63238 */ _t31 = _t30 & 0x00000001u;
|
|
/* 02C63238 */ if (_t31) goto L_02C632C0; else goto L_02C6323C;
|
|
L_02C6323C: ; // 0x2c6323c
|
|
/* 02C6323C */ cpu->r[9] = cpu->r[31] - cpu->r[3];
|
|
/* 02C63240 */ /* nop */
|
|
/* 02C63244 */ /* nop */
|
|
/* 02C63248 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[0]);
|
|
/* 02C6324C */ _t32 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C6324C */ _t33 = _t32 & 0x00000001u;
|
|
/* 02C6324C */ if (_t33) goto L_02C6329C; else goto L_02C63250;
|
|
L_02C63250: ; // 0x2c63250
|
|
/* 02C63250 */ _t34 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C63250 */ _t35 = _t34 & 0x00000001u;
|
|
/* 02C63250 */ if (_t35) goto L_02C6325C; else goto L_02C63254;
|
|
L_02C63254: ; // 0x2c63254
|
|
/* 02C63254 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[12]);
|
|
/* 02C63258 */ _t36 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C63258 */ _t37 = _t36 & 0x00000001u;
|
|
/* 02C63258 */ if (_t37) goto L_02C6329C; else goto L_02C6325C;
|
|
L_02C6325C: ; // 0x2c6325c
|
|
/* 02C6325C */ cpu->r[0] = cpu->r[12] + 0xFFFFFFFFu;
|
|
/* 02C6325C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C63260 */ cpu->r[3] = cpu->r[3] + cpu->r[12];
|
|
/* 02C63264 */ cpu->r[31] = cpu->r[31] + cpu->r[12];
|
|
/* 02C63268 */ _t38 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C63268 */ _t39 = _t38 & 0x00000001u;
|
|
/* 02C63268 */ if (_t39) goto L_02C6326C; else goto L_02C63270;
|
|
L_02C6326C: ; // 0x2c6326c
|
|
/* 02C6326C */ cpu->r[12] = 0x00000001u;
|
|
L_02C63270: ; // 0x2c63270
|
|
/* 02C63270 */ cpu->ctr = cpu->r[12];
|
|
L_02C63274: ; // 0x2c63274
|
|
/* 02C63274 */ _t40 = cpu->r[3] + 0xFFFFFFFFu;
|
|
/* 02C63274 */ cpu->r[0] = rbrew_read8(cpu->mem, _t40);
|
|
/* 02C63274 */ cpu->r[3] = _t40;
|
|
/* 02C63278 */ _t41 = cpu->r[31] + 0xFFFFFFFFu;
|
|
/* 02C63278 */ rbrew_write8(cpu->mem, _t41, (uint8_t)cpu->r[0]);
|
|
/* 02C63278 */ cpu->r[31] = _t41;
|
|
/* 02C6327C */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02C6327C */ _t42 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02C6327C */ _t43 = _t42 >> (0x00000002u & 31u);
|
|
/* 02C6327C */ _t44 = _t43 & 0x00000001u;
|
|
/* 02C6327C */ if (_t44) goto L_02C63274; else goto L_02C63280;
|
|
L_02C63280: ; // 0x2c63280
|
|
/* 02C63280 */ _t45 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C63280 */ cpu->r[29] = rbrew_read32(cpu->mem, _t45);
|
|
/* 02C63284 */ _t46 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C63284 */ cpu->r[0] = rbrew_read32(cpu->mem, _t46);
|
|
/* 02C63288 */ _t47 = cpu->r[1] + 0x00000010u;
|
|
/* 02C63288 */ cpu->r[30] = rbrew_read32(cpu->mem, _t47);
|
|
/* 02C6328C */ cpu->lr = cpu->r[0];
|
|
/* 02C63290 */ _t48 = cpu->r[1] + 0x00000014u;
|
|
/* 02C63290 */ cpu->r[31] = rbrew_read32(cpu->mem, _t48);
|
|
/* 02C63294 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C63298 */ return;
|
|
L_02C6329C: ; // 0x2c6329c
|
|
/* 02C6329C */ cpu->r[11] = cpu->r[12] + 0xFFFFFFFFu;
|
|
/* 02C6329C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02C632A0 */ cpu->r[31] = cpu->r[31] + 0xFFFFFFFFu;
|
|
/* 02C632A4 */ cpu->r[3] = cpu->r[3] + 0xFFFFFFFFu;
|
|
/* 02C632A8 */ _t49 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C632A8 */ _t50 = _t49 & 0x00000001u;
|
|
/* 02C632A8 */ if (_t50) goto L_02C632AC; else goto L_02C632B0;
|
|
L_02C632AC: ; // 0x2c632ac
|
|
/* 02C632AC */ cpu->r[12] = 0x00000001u;
|
|
L_02C632B0: ; // 0x2c632b0
|
|
/* 02C632B0 */ cpu->ctr = cpu->r[12];
|
|
L_02C632B4: ; // 0x2c632b4
|
|
/* 02C632B4 */ _t51 = cpu->r[3] + 0x00000001u;
|
|
/* 02C632B4 */ cpu->r[0] = rbrew_read8(cpu->mem, _t51);
|
|
/* 02C632B4 */ cpu->r[3] = _t51;
|
|
/* 02C632B8 */ _t52 = cpu->r[31] + 0x00000001u;
|
|
/* 02C632B8 */ rbrew_write8(cpu->mem, _t52, (uint8_t)cpu->r[0]);
|
|
/* 02C632B8 */ cpu->r[31] = _t52;
|
|
/* 02C632BC */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02C632BC */ _t53 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02C632BC */ _t54 = _t53 >> (0x00000002u & 31u);
|
|
/* 02C632BC */ _t55 = _t54 & 0x00000001u;
|
|
/* 02C632BC */ if (_t55) goto L_02C632B4; else goto L_02C632C0;
|
|
L_02C632C0: ; // 0x2c632c0
|
|
/* 02C632C0 */ _t56 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C632C0 */ cpu->r[29] = rbrew_read32(cpu->mem, _t56);
|
|
/* 02C632C4 */ _t57 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C632C4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t57);
|
|
/* 02C632C8 */ _t58 = cpu->r[1] + 0x00000010u;
|
|
/* 02C632C8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t58);
|
|
/* 02C632CC */ cpu->lr = cpu->r[0];
|
|
/* 02C632D0 */ _t59 = cpu->r[1] + 0x00000014u;
|
|
/* 02C632D0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t59);
|
|
/* 02C632D4 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C632D8 */ return;
|
|
}
|
|
|
|
// fn_02C63170 @ 0x2c63170
|
|
void Gambit_fn_02C63170(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;
|
|
|
|
L_02C63170: ; // 0x2c63170
|
|
/* 02C63170 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02C63170 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C63170 */ cpu->r[1] = _t0;
|
|
/* 02C63174 */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 02C63174 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02C63178 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C63178 */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
|
|
/* 02C6317C */ cpu->r[31] = cpu->r[4];
|
|
/* 02C63180 */ _t3 = cpu->r[1] + 0x00000010u;
|
|
/* 02C63180 */ rbrew_write32(cpu->mem, _t3, cpu->r[30]);
|
|
/* 02C63184 */ cpu->r[5] = cpu->r[3];
|
|
/* 02C63188 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C63188 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02C6318C */ _t5 = cpu->r[5] + 0x00000020u;
|
|
/* 02C6318C */ cpu->r[4] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02C63190 */ /* nop */
|
|
/* 02C63194 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0xFFFFFFFFu);
|
|
/* 02C63198 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C63198 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02C63198 */ if (_t7) goto L_02C6319C; else goto L_02C63228;
|
|
L_02C6319C: ; // 0x2c6319c
|
|
/* 02C6319C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0xFFFFFFFFu);
|
|
/* 02C631A0 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C631A0 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02C631A0 */ if (_t9) goto L_02C631A4; else goto L_02C63228;
|
|
L_02C631A4: ; // 0x2c631a4
|
|
/* 02C631A4 */ _t10 = cpu->r[5] + 0x00000000u;
|
|
/* 02C631A4 */ cpu->r[9] = rbrew_read8(cpu->mem, _t10);
|
|
/* 02C631A8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 02C631AC */ cpu->r[8] = cpu->r[31];
|
|
/* 02C631B0 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C631B0 */ _t12 = _t11 & 0x00000001u;
|
|
/* 02C631B0 */ if (_t12) goto L_02C631C8; else goto L_02C631B4;
|
|
L_02C631B4: ; // 0x2c631b4
|
|
/* 02C631B4 */ cpu->r[8] = cpu->r[8] + 0xFFFFFFFCu;
|
|
/* 02C631B8 */ cpu->r[10] = 0x00000000u;
|
|
L_02C631BC: ; // 0x2c631bc
|
|
/* 02C631BC */ cpu->r[9] = cpu->r[9] + 0xFFFFFFFFu;
|
|
/* 02C631BC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 02C631C0 */ _t13 = cpu->r[8] + 0x00000004u;
|
|
/* 02C631C0 */ rbrew_write32(cpu->mem, _t13, cpu->r[10]);
|
|
/* 02C631C0 */ cpu->r[8] = _t13;
|
|
/* 02C631C4 */ _t14 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C631C4 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02C631C4 */ if (_t15) goto L_02C631BC; else goto L_02C631C8;
|
|
L_02C631C8: ; // 0x2c631c8
|
|
/* 02C631C8 */ _t16 = cpu->r[5] + 0x00000002u;
|
|
/* 02C631C8 */ cpu->r[6] = rbrew_read16(cpu->mem, _t16);
|
|
/* 02C631CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u);
|
|
/* 02C631D0 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C631D0 */ _t18 = _t17 & 0x00000001u;
|
|
/* 02C631D0 */ if (_t18) goto L_02C632C0; else goto L_02C631D4;
|
|
L_02C631D4: ; // 0x2c631d4
|
|
/* 02C631D4 */ cpu->r[30] = cpu->r[5] + 0x0000002Cu;
|
|
/* 02C631D8 */ cpu->r[29] = 0x00000000u;
|
|
L_02C631DC: ; // 0x2c631dc
|
|
/* 02C631DC */ _t19 = cpu->r[30] + 0x00000000u;
|
|
/* 02C631DC */ cpu->r[0] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02C631E0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C631E4 */ cpu->r[12] = 0x00000000u;
|
|
/* 02C631E8 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C631E8 */ _t21 = _t20 & 0x00000001u;
|
|
/* 02C631E8 */ if (_t21) goto L_02C631F0; else goto L_02C631EC;
|
|
L_02C631EC: ; // 0x2c631ec
|
|
/* 02C631EC */ cpu->r[12] = cpu->r[30] + cpu->r[0];
|
|
L_02C631F0: ; // 0x2c631f0
|
|
/* 02C631F0 */ cpu->r[3] = cpu->r[12] + cpu->r[29];
|
|
/* 02C631F4 */ _t22 = cpu->r[3] + 0x00000001u;
|
|
/* 02C631F4 */ cpu->r[5] = rbrew_read8(cpu->mem, _t22);
|
|
/* 02C631F8 */ cpu->r[4] = cpu->r[31];
|
|
/* 02C631FC */ Gambit_fn_02C62FEC(cpu);
|
|
/* 02C63200 */ cpu->r[6] = cpu->r[6] + 0xFFFFFFFFu;
|
|
/* 02C63200 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u);
|
|
/* 02C63204 */ cpu->r[29] = cpu->r[29] + 0x00000018u;
|
|
/* 02C63208 */ _t23 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C63208 */ _t24 = _t23 & 0x00000001u;
|
|
/* 02C63208 */ if (_t24) goto L_02C6320C; else goto L_02C631DC;
|
|
L_02C6320C: ; // 0x2c6320c
|
|
/* 02C6320C */ _t25 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C6320C */ cpu->r[29] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02C63210 */ _t26 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C63210 */ cpu->r[0] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02C63214 */ _t27 = cpu->r[1] + 0x00000010u;
|
|
/* 02C63214 */ cpu->r[30] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02C63218 */ cpu->lr = cpu->r[0];
|
|
/* 02C6321C */ _t28 = cpu->r[1] + 0x00000014u;
|
|
/* 02C6321C */ cpu->r[31] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02C63220 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C63224 */ return;
|
|
L_02C63228: ; // 0x2c63228
|
|
/* 02C63228 */ cpu->r[3] = cpu->r[5];
|
|
/* 02C6322C */ Gambit_fn_02C63138(cpu);
|
|
/* 02C63230 */ _t29 = cpu->r[5] + 0x00000000u;
|
|
/* 02C63230 */ cpu->r[8] = rbrew_read8(cpu->mem, _t29);
|
|
/* 02C63234 */ cpu->r[12] = rbrew_rlwinm(cpu->r[8], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02C63234 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02C63238 */ _t30 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C63238 */ _t31 = _t30 & 0x00000001u;
|
|
/* 02C63238 */ if (_t31) goto L_02C632C0; else goto L_02C6323C;
|
|
L_02C6323C: ; // 0x2c6323c
|
|
/* 02C6323C */ cpu->r[9] = cpu->r[31] - cpu->r[3];
|
|
/* 02C63240 */ /* nop */
|
|
/* 02C63244 */ /* nop */
|
|
/* 02C63248 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[0]);
|
|
/* 02C6324C */ _t32 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C6324C */ _t33 = _t32 & 0x00000001u;
|
|
/* 02C6324C */ if (_t33) goto L_02C6329C; else goto L_02C63250;
|
|
L_02C63250: ; // 0x2c63250
|
|
/* 02C63250 */ _t34 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C63250 */ _t35 = _t34 & 0x00000001u;
|
|
/* 02C63250 */ if (_t35) goto L_02C6325C; else goto L_02C63254;
|
|
L_02C63254: ; // 0x2c63254
|
|
/* 02C63254 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[12]);
|
|
/* 02C63258 */ _t36 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C63258 */ _t37 = _t36 & 0x00000001u;
|
|
/* 02C63258 */ if (_t37) goto L_02C6329C; else goto L_02C6325C;
|
|
L_02C6325C: ; // 0x2c6325c
|
|
/* 02C6325C */ cpu->r[0] = cpu->r[12] + 0xFFFFFFFFu;
|
|
/* 02C6325C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C63260 */ cpu->r[3] = cpu->r[3] + cpu->r[12];
|
|
/* 02C63264 */ cpu->r[31] = cpu->r[31] + cpu->r[12];
|
|
/* 02C63268 */ _t38 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C63268 */ _t39 = _t38 & 0x00000001u;
|
|
/* 02C63268 */ if (_t39) goto L_02C6326C; else goto L_02C63270;
|
|
L_02C6326C: ; // 0x2c6326c
|
|
/* 02C6326C */ cpu->r[12] = 0x00000001u;
|
|
L_02C63270: ; // 0x2c63270
|
|
/* 02C63270 */ cpu->ctr = cpu->r[12];
|
|
L_02C63274: ; // 0x2c63274
|
|
/* 02C63274 */ _t40 = cpu->r[3] + 0xFFFFFFFFu;
|
|
/* 02C63274 */ cpu->r[0] = rbrew_read8(cpu->mem, _t40);
|
|
/* 02C63274 */ cpu->r[3] = _t40;
|
|
/* 02C63278 */ _t41 = cpu->r[31] + 0xFFFFFFFFu;
|
|
/* 02C63278 */ rbrew_write8(cpu->mem, _t41, (uint8_t)cpu->r[0]);
|
|
/* 02C63278 */ cpu->r[31] = _t41;
|
|
/* 02C6327C */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02C6327C */ _t42 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02C6327C */ _t43 = _t42 >> (0x00000002u & 31u);
|
|
/* 02C6327C */ _t44 = _t43 & 0x00000001u;
|
|
/* 02C6327C */ if (_t44) goto L_02C63274; else goto L_02C63280;
|
|
L_02C63280: ; // 0x2c63280
|
|
/* 02C63280 */ _t45 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C63280 */ cpu->r[29] = rbrew_read32(cpu->mem, _t45);
|
|
/* 02C63284 */ _t46 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C63284 */ cpu->r[0] = rbrew_read32(cpu->mem, _t46);
|
|
/* 02C63288 */ _t47 = cpu->r[1] + 0x00000010u;
|
|
/* 02C63288 */ cpu->r[30] = rbrew_read32(cpu->mem, _t47);
|
|
/* 02C6328C */ cpu->lr = cpu->r[0];
|
|
/* 02C63290 */ _t48 = cpu->r[1] + 0x00000014u;
|
|
/* 02C63290 */ cpu->r[31] = rbrew_read32(cpu->mem, _t48);
|
|
/* 02C63294 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C63298 */ return;
|
|
L_02C6329C: ; // 0x2c6329c
|
|
/* 02C6329C */ cpu->r[11] = cpu->r[12] + 0xFFFFFFFFu;
|
|
/* 02C6329C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02C632A0 */ cpu->r[31] = cpu->r[31] + 0xFFFFFFFFu;
|
|
/* 02C632A4 */ cpu->r[3] = cpu->r[3] + 0xFFFFFFFFu;
|
|
/* 02C632A8 */ _t49 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C632A8 */ _t50 = _t49 & 0x00000001u;
|
|
/* 02C632A8 */ if (_t50) goto L_02C632AC; else goto L_02C632B0;
|
|
L_02C632AC: ; // 0x2c632ac
|
|
/* 02C632AC */ cpu->r[12] = 0x00000001u;
|
|
L_02C632B0: ; // 0x2c632b0
|
|
/* 02C632B0 */ cpu->ctr = cpu->r[12];
|
|
L_02C632B4: ; // 0x2c632b4
|
|
/* 02C632B4 */ _t51 = cpu->r[3] + 0x00000001u;
|
|
/* 02C632B4 */ cpu->r[0] = rbrew_read8(cpu->mem, _t51);
|
|
/* 02C632B4 */ cpu->r[3] = _t51;
|
|
/* 02C632B8 */ _t52 = cpu->r[31] + 0x00000001u;
|
|
/* 02C632B8 */ rbrew_write8(cpu->mem, _t52, (uint8_t)cpu->r[0]);
|
|
/* 02C632B8 */ cpu->r[31] = _t52;
|
|
/* 02C632BC */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02C632BC */ _t53 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02C632BC */ _t54 = _t53 >> (0x00000002u & 31u);
|
|
/* 02C632BC */ _t55 = _t54 & 0x00000001u;
|
|
/* 02C632BC */ if (_t55) goto L_02C632B4; else goto L_02C632C0;
|
|
L_02C632C0: ; // 0x2c632c0
|
|
/* 02C632C0 */ _t56 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C632C0 */ cpu->r[29] = rbrew_read32(cpu->mem, _t56);
|
|
/* 02C632C4 */ _t57 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C632C4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t57);
|
|
/* 02C632C8 */ _t58 = cpu->r[1] + 0x00000010u;
|
|
/* 02C632C8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t58);
|
|
/* 02C632CC */ cpu->lr = cpu->r[0];
|
|
/* 02C632D0 */ _t59 = cpu->r[1] + 0x00000014u;
|
|
/* 02C632D0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t59);
|
|
/* 02C632D4 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C632D8 */ return;
|
|
}
|
|
|
|
// fn_02C632DC @ 0x2c632dc
|
|
void Gambit_fn_02C632DC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4;
|
|
|
|
L_02C632DC: ; // 0x2c632dc
|
|
/* 02C632DC */ _t0 = cpu->r[3] + 0x0000005Cu;
|
|
/* 02C632DC */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02C632E0 */ cpu->r[6] = 0x00000000u;
|
|
/* 02C632E4 */ cpu->r[5] = cpu->r[3] + 0x0000005Cu;
|
|
/* 02C632E8 */ _t1 = cpu->r[3] + 0x00000000u;
|
|
/* 02C632E8 */ cpu->r[12] = rbrew_read8(cpu->mem, _t1);
|
|
/* 02C632EC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C632F0 */ _t2 = cpu->r[3] + 0x00000001u;
|
|
/* 02C632F0 */ cpu->r[10] = rbrew_read8(cpu->mem, _t2);
|
|
/* 02C632F4 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C632F4 */ _t4 = _t3 & 0x00000001u;
|
|
/* 02C632F4 */ if (_t4) goto L_02C632FC; else goto L_02C632F8;
|
|
L_02C632F8: ; // 0x2c632f8
|
|
/* 02C632F8 */ cpu->r[6] = cpu->r[5] + cpu->r[0];
|
|
L_02C632FC: ; // 0x2c632fc
|
|
/* 02C632FC */ cpu->r[9] = cpu->r[12] + cpu->r[10];
|
|
/* 02C63300 */ cpu->r[11] = rbrew_rlwinm(cpu->r[9], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02C63304 */ cpu->r[7] = rbrew_rlwinm(cpu->r[12], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02C63308 */ cpu->r[12] = (uint32_t)((int32_t)cpu->r[11] * (int32_t)cpu->r[4]);
|
|
/* 02C6330C */ cpu->r[8] = cpu->r[6] + cpu->r[7];
|
|
/* 02C63310 */ cpu->r[3] = cpu->r[8] + cpu->r[12];
|
|
/* 02C63314 */ return;
|
|
}
|
|
|
|
// fn_02C63318 @ 0x2c63318
|
|
void Gambit_fn_02C63318(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;
|
|
|
|
L_02C63318: ; // 0x2c63318
|
|
/* 02C63318 */ cpu->r[0] = cpu->lr;
|
|
/* 02C6331C */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02C6331C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C6331C */ cpu->r[1] = _t0;
|
|
/* 02C63320 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02C63320 */ rbrew_write32(cpu->mem, _t1, cpu->r[28]);
|
|
/* 02C63324 */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 02C63324 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02C63328 */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C63328 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 02C6332C */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 02C6332C */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
|
|
/* 02C63330 */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C63330 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02C63334 */ cpu->r[29] = cpu->r[3];
|
|
/* 02C63338 */ cpu->r[31] = cpu->r[4];
|
|
/* 02C6333C */ _t6 = cpu->r[29] + 0x00000020u;
|
|
/* 02C6333C */ cpu->r[4] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02C63340 */ /* nop */
|
|
/* 02C63344 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0xFFFFFFFFu);
|
|
/* 02C63348 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C63348 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02C63348 */ if (_t8) goto L_02C6334C; else goto L_02C633DC;
|
|
L_02C6334C: ; // 0x2c6334c
|
|
/* 02C6334C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0xFFFFFFFFu);
|
|
/* 02C63350 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C63350 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02C63350 */ if (_t10) goto L_02C63354; else goto L_02C633DC;
|
|
L_02C63354: ; // 0x2c63354
|
|
/* 02C63354 */ _t11 = cpu->r[29] + 0x00000001u;
|
|
/* 02C63354 */ cpu->r[9] = rbrew_read8(cpu->mem, _t11);
|
|
/* 02C63358 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 02C6335C */ cpu->r[8] = cpu->r[31];
|
|
/* 02C63360 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C63360 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02C63360 */ if (_t13) goto L_02C63378; else goto L_02C63364;
|
|
L_02C63364: ; // 0x2c63364
|
|
/* 02C63364 */ cpu->r[8] = cpu->r[8] + 0xFFFFFFFCu;
|
|
/* 02C63368 */ cpu->r[10] = 0x00000000u;
|
|
L_02C6336C: ; // 0x2c6336c
|
|
/* 02C6336C */ cpu->r[9] = cpu->r[9] + 0xFFFFFFFFu;
|
|
/* 02C6336C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 02C63370 */ _t14 = cpu->r[8] + 0x00000004u;
|
|
/* 02C63370 */ rbrew_write32(cpu->mem, _t14, cpu->r[10]);
|
|
/* 02C63370 */ cpu->r[8] = _t14;
|
|
/* 02C63374 */ _t15 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C63374 */ _t16 = _t15 & 0x00000001u;
|
|
/* 02C63374 */ if (_t16) goto L_02C6336C; else goto L_02C63378;
|
|
L_02C63378: ; // 0x2c63378
|
|
/* 02C63378 */ _t17 = cpu->r[29] + 0x00000004u;
|
|
/* 02C63378 */ cpu->r[30] = rbrew_read16(cpu->mem, _t17);
|
|
/* 02C6337C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02C63380 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C63380 */ _t19 = _t18 & 0x00000001u;
|
|
/* 02C63380 */ if (_t19) goto L_02C63478; else goto L_02C63384;
|
|
L_02C63384: ; // 0x2c63384
|
|
/* 02C63384 */ cpu->r[29] = cpu->r[29] + 0x00000034u;
|
|
/* 02C63388 */ cpu->r[28] = 0x00000000u;
|
|
L_02C6338C: ; // 0x2c6338c
|
|
/* 02C6338C */ _t20 = cpu->r[29] + 0x00000000u;
|
|
/* 02C6338C */ cpu->r[0] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02C63390 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C63394 */ cpu->r[12] = 0x00000000u;
|
|
/* 02C63398 */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C63398 */ _t22 = _t21 & 0x00000001u;
|
|
/* 02C63398 */ if (_t22) goto L_02C633A0; else goto L_02C6339C;
|
|
L_02C6339C: ; // 0x2c6339c
|
|
/* 02C6339C */ cpu->r[12] = cpu->r[29] + cpu->r[0];
|
|
L_02C633A0: ; // 0x2c633a0
|
|
/* 02C633A0 */ cpu->r[3] = cpu->r[12] + cpu->r[28];
|
|
/* 02C633A4 */ _t23 = cpu->r[3] + 0x00000001u;
|
|
/* 02C633A4 */ cpu->r[5] = rbrew_read8(cpu->mem, _t23);
|
|
/* 02C633A8 */ cpu->r[4] = cpu->r[31];
|
|
/* 02C633AC */ Gambit_fn_02C63038(cpu);
|
|
/* 02C633B0 */ cpu->r[30] = cpu->r[30] + 0xFFFFFFFFu;
|
|
/* 02C633B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02C633B4 */ cpu->r[28] = cpu->r[28] + 0x00000018u;
|
|
/* 02C633B8 */ _t24 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C633B8 */ _t25 = _t24 & 0x00000001u;
|
|
/* 02C633B8 */ if (_t25) goto L_02C633BC; else goto L_02C6338C;
|
|
L_02C633BC: ; // 0x2c633bc
|
|
/* 02C633BC */ _t26 = cpu->r[1] + 0x00000008u;
|
|
/* 02C633BC */ cpu->r[28] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02C633C0 */ _t27 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C633C0 */ cpu->r[29] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02C633C4 */ _t28 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C633C4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02C633C8 */ _t29 = cpu->r[1] + 0x00000010u;
|
|
/* 02C633C8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02C633CC */ cpu->lr = cpu->r[0];
|
|
/* 02C633D0 */ _t30 = cpu->r[1] + 0x00000014u;
|
|
/* 02C633D0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02C633D4 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C633D8 */ return;
|
|
L_02C633DC: ; // 0x2c633dc
|
|
/* 02C633DC */ cpu->r[3] = cpu->r[29];
|
|
/* 02C633E0 */ Gambit_fn_02C632DC(cpu);
|
|
/* 02C633E4 */ _t31 = cpu->r[29] + 0x00000001u;
|
|
/* 02C633E4 */ cpu->r[8] = rbrew_read8(cpu->mem, _t31);
|
|
/* 02C633E8 */ cpu->r[12] = rbrew_rlwinm(cpu->r[8], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02C633E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02C633EC */ _t32 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C633EC */ _t33 = _t32 & 0x00000001u;
|
|
/* 02C633EC */ if (_t33) goto L_02C63478; else goto L_02C633F0;
|
|
L_02C633F0: ; // 0x2c633f0
|
|
/* 02C633F0 */ cpu->r[9] = cpu->r[31] - cpu->r[3];
|
|
/* 02C633F4 */ /* nop */
|
|
/* 02C633F8 */ /* nop */
|
|
/* 02C633FC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[0]);
|
|
/* 02C63400 */ _t34 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C63400 */ _t35 = _t34 & 0x00000001u;
|
|
/* 02C63400 */ if (_t35) goto L_02C63454; else goto L_02C63404;
|
|
L_02C63404: ; // 0x2c63404
|
|
/* 02C63404 */ _t36 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C63404 */ _t37 = _t36 & 0x00000001u;
|
|
/* 02C63404 */ if (_t37) goto L_02C63410; else goto L_02C63408;
|
|
L_02C63408: ; // 0x2c63408
|
|
/* 02C63408 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[12]);
|
|
/* 02C6340C */ _t38 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C6340C */ _t39 = _t38 & 0x00000001u;
|
|
/* 02C6340C */ if (_t39) goto L_02C63454; else goto L_02C63410;
|
|
L_02C63410: ; // 0x2c63410
|
|
/* 02C63410 */ cpu->r[0] = cpu->r[12] + 0xFFFFFFFFu;
|
|
/* 02C63410 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C63414 */ cpu->r[3] = cpu->r[3] + cpu->r[12];
|
|
/* 02C63418 */ cpu->r[31] = cpu->r[31] + cpu->r[12];
|
|
/* 02C6341C */ _t40 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6341C */ _t41 = _t40 & 0x00000001u;
|
|
/* 02C6341C */ if (_t41) goto L_02C63420; else goto L_02C63424;
|
|
L_02C63420: ; // 0x2c63420
|
|
/* 02C63420 */ cpu->r[12] = 0x00000001u;
|
|
L_02C63424: ; // 0x2c63424
|
|
/* 02C63424 */ cpu->ctr = cpu->r[12];
|
|
L_02C63428: ; // 0x2c63428
|
|
/* 02C63428 */ _t42 = cpu->r[3] + 0xFFFFFFFFu;
|
|
/* 02C63428 */ cpu->r[0] = rbrew_read8(cpu->mem, _t42);
|
|
/* 02C63428 */ cpu->r[3] = _t42;
|
|
/* 02C6342C */ _t43 = cpu->r[31] + 0xFFFFFFFFu;
|
|
/* 02C6342C */ rbrew_write8(cpu->mem, _t43, (uint8_t)cpu->r[0]);
|
|
/* 02C6342C */ cpu->r[31] = _t43;
|
|
/* 02C63430 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02C63430 */ _t44 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02C63430 */ _t45 = _t44 >> (0x00000002u & 31u);
|
|
/* 02C63430 */ _t46 = _t45 & 0x00000001u;
|
|
/* 02C63430 */ if (_t46) goto L_02C63428; else goto L_02C63434;
|
|
L_02C63434: ; // 0x2c63434
|
|
/* 02C63434 */ _t47 = cpu->r[1] + 0x00000008u;
|
|
/* 02C63434 */ cpu->r[28] = rbrew_read32(cpu->mem, _t47);
|
|
/* 02C63438 */ _t48 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C63438 */ cpu->r[29] = rbrew_read32(cpu->mem, _t48);
|
|
/* 02C6343C */ _t49 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C6343C */ cpu->r[0] = rbrew_read32(cpu->mem, _t49);
|
|
/* 02C63440 */ _t50 = cpu->r[1] + 0x00000010u;
|
|
/* 02C63440 */ cpu->r[30] = rbrew_read32(cpu->mem, _t50);
|
|
/* 02C63444 */ cpu->lr = cpu->r[0];
|
|
/* 02C63448 */ _t51 = cpu->r[1] + 0x00000014u;
|
|
/* 02C63448 */ cpu->r[31] = rbrew_read32(cpu->mem, _t51);
|
|
/* 02C6344C */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C63450 */ return;
|
|
L_02C63454: ; // 0x2c63454
|
|
/* 02C63454 */ cpu->r[11] = cpu->r[12] + 0xFFFFFFFFu;
|
|
/* 02C63454 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02C63458 */ cpu->r[31] = cpu->r[31] + 0xFFFFFFFFu;
|
|
/* 02C6345C */ cpu->r[3] = cpu->r[3] + 0xFFFFFFFFu;
|
|
/* 02C63460 */ _t52 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C63460 */ _t53 = _t52 & 0x00000001u;
|
|
/* 02C63460 */ if (_t53) goto L_02C63464; else goto L_02C63468;
|
|
L_02C63464: ; // 0x2c63464
|
|
/* 02C63464 */ cpu->r[12] = 0x00000001u;
|
|
L_02C63468: ; // 0x2c63468
|
|
/* 02C63468 */ cpu->ctr = cpu->r[12];
|
|
L_02C6346C: ; // 0x2c6346c
|
|
/* 02C6346C */ _t54 = cpu->r[3] + 0x00000001u;
|
|
/* 02C6346C */ cpu->r[0] = rbrew_read8(cpu->mem, _t54);
|
|
/* 02C6346C */ cpu->r[3] = _t54;
|
|
/* 02C63470 */ _t55 = cpu->r[31] + 0x00000001u;
|
|
/* 02C63470 */ rbrew_write8(cpu->mem, _t55, (uint8_t)cpu->r[0]);
|
|
/* 02C63470 */ cpu->r[31] = _t55;
|
|
/* 02C63474 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02C63474 */ _t56 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02C63474 */ _t57 = _t56 >> (0x00000002u & 31u);
|
|
/* 02C63474 */ _t58 = _t57 & 0x00000001u;
|
|
/* 02C63474 */ if (_t58) goto L_02C6346C; else goto L_02C63478;
|
|
L_02C63478: ; // 0x2c63478
|
|
/* 02C63478 */ _t59 = cpu->r[1] + 0x00000008u;
|
|
/* 02C63478 */ cpu->r[28] = rbrew_read32(cpu->mem, _t59);
|
|
/* 02C6347C */ _t60 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C6347C */ cpu->r[29] = rbrew_read32(cpu->mem, _t60);
|
|
/* 02C63480 */ _t61 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C63480 */ cpu->r[0] = rbrew_read32(cpu->mem, _t61);
|
|
/* 02C63484 */ _t62 = cpu->r[1] + 0x00000010u;
|
|
/* 02C63484 */ cpu->r[30] = rbrew_read32(cpu->mem, _t62);
|
|
/* 02C63488 */ cpu->lr = cpu->r[0];
|
|
/* 02C6348C */ _t63 = cpu->r[1] + 0x00000014u;
|
|
/* 02C6348C */ cpu->r[31] = rbrew_read32(cpu->mem, _t63);
|
|
/* 02C63490 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C63494 */ return;
|
|
}
|
|
|
|
// fn_02C6331C @ 0x2c6331c
|
|
void Gambit_fn_02C6331C(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;
|
|
|
|
L_02C6331C: ; // 0x2c6331c
|
|
/* 02C6331C */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02C6331C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C6331C */ cpu->r[1] = _t0;
|
|
/* 02C63320 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02C63320 */ rbrew_write32(cpu->mem, _t1, cpu->r[28]);
|
|
/* 02C63324 */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 02C63324 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02C63328 */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C63328 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 02C6332C */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 02C6332C */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
|
|
/* 02C63330 */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C63330 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02C63334 */ cpu->r[29] = cpu->r[3];
|
|
/* 02C63338 */ cpu->r[31] = cpu->r[4];
|
|
/* 02C6333C */ _t6 = cpu->r[29] + 0x00000020u;
|
|
/* 02C6333C */ cpu->r[4] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02C63340 */ /* nop */
|
|
/* 02C63344 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0xFFFFFFFFu);
|
|
/* 02C63348 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C63348 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02C63348 */ if (_t8) goto L_02C6334C; else goto L_02C633DC;
|
|
L_02C6334C: ; // 0x2c6334c
|
|
/* 02C6334C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0xFFFFFFFFu);
|
|
/* 02C63350 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C63350 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02C63350 */ if (_t10) goto L_02C63354; else goto L_02C633DC;
|
|
L_02C63354: ; // 0x2c63354
|
|
/* 02C63354 */ _t11 = cpu->r[29] + 0x00000001u;
|
|
/* 02C63354 */ cpu->r[9] = rbrew_read8(cpu->mem, _t11);
|
|
/* 02C63358 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 02C6335C */ cpu->r[8] = cpu->r[31];
|
|
/* 02C63360 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C63360 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02C63360 */ if (_t13) goto L_02C63378; else goto L_02C63364;
|
|
L_02C63364: ; // 0x2c63364
|
|
/* 02C63364 */ cpu->r[8] = cpu->r[8] + 0xFFFFFFFCu;
|
|
/* 02C63368 */ cpu->r[10] = 0x00000000u;
|
|
L_02C6336C: ; // 0x2c6336c
|
|
/* 02C6336C */ cpu->r[9] = cpu->r[9] + 0xFFFFFFFFu;
|
|
/* 02C6336C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 02C63370 */ _t14 = cpu->r[8] + 0x00000004u;
|
|
/* 02C63370 */ rbrew_write32(cpu->mem, _t14, cpu->r[10]);
|
|
/* 02C63370 */ cpu->r[8] = _t14;
|
|
/* 02C63374 */ _t15 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C63374 */ _t16 = _t15 & 0x00000001u;
|
|
/* 02C63374 */ if (_t16) goto L_02C6336C; else goto L_02C63378;
|
|
L_02C63378: ; // 0x2c63378
|
|
/* 02C63378 */ _t17 = cpu->r[29] + 0x00000004u;
|
|
/* 02C63378 */ cpu->r[30] = rbrew_read16(cpu->mem, _t17);
|
|
/* 02C6337C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02C63380 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C63380 */ _t19 = _t18 & 0x00000001u;
|
|
/* 02C63380 */ if (_t19) goto L_02C63478; else goto L_02C63384;
|
|
L_02C63384: ; // 0x2c63384
|
|
/* 02C63384 */ cpu->r[29] = cpu->r[29] + 0x00000034u;
|
|
/* 02C63388 */ cpu->r[28] = 0x00000000u;
|
|
L_02C6338C: ; // 0x2c6338c
|
|
/* 02C6338C */ _t20 = cpu->r[29] + 0x00000000u;
|
|
/* 02C6338C */ cpu->r[0] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02C63390 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C63394 */ cpu->r[12] = 0x00000000u;
|
|
/* 02C63398 */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C63398 */ _t22 = _t21 & 0x00000001u;
|
|
/* 02C63398 */ if (_t22) goto L_02C633A0; else goto L_02C6339C;
|
|
L_02C6339C: ; // 0x2c6339c
|
|
/* 02C6339C */ cpu->r[12] = cpu->r[29] + cpu->r[0];
|
|
L_02C633A0: ; // 0x2c633a0
|
|
/* 02C633A0 */ cpu->r[3] = cpu->r[12] + cpu->r[28];
|
|
/* 02C633A4 */ _t23 = cpu->r[3] + 0x00000001u;
|
|
/* 02C633A4 */ cpu->r[5] = rbrew_read8(cpu->mem, _t23);
|
|
/* 02C633A8 */ cpu->r[4] = cpu->r[31];
|
|
/* 02C633AC */ Gambit_fn_02C63038(cpu);
|
|
/* 02C633B0 */ cpu->r[30] = cpu->r[30] + 0xFFFFFFFFu;
|
|
/* 02C633B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02C633B4 */ cpu->r[28] = cpu->r[28] + 0x00000018u;
|
|
/* 02C633B8 */ _t24 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C633B8 */ _t25 = _t24 & 0x00000001u;
|
|
/* 02C633B8 */ if (_t25) goto L_02C633BC; else goto L_02C6338C;
|
|
L_02C633BC: ; // 0x2c633bc
|
|
/* 02C633BC */ _t26 = cpu->r[1] + 0x00000008u;
|
|
/* 02C633BC */ cpu->r[28] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02C633C0 */ _t27 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C633C0 */ cpu->r[29] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02C633C4 */ _t28 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C633C4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02C633C8 */ _t29 = cpu->r[1] + 0x00000010u;
|
|
/* 02C633C8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02C633CC */ cpu->lr = cpu->r[0];
|
|
/* 02C633D0 */ _t30 = cpu->r[1] + 0x00000014u;
|
|
/* 02C633D0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02C633D4 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C633D8 */ return;
|
|
L_02C633DC: ; // 0x2c633dc
|
|
/* 02C633DC */ cpu->r[3] = cpu->r[29];
|
|
/* 02C633E0 */ Gambit_fn_02C632DC(cpu);
|
|
/* 02C633E4 */ _t31 = cpu->r[29] + 0x00000001u;
|
|
/* 02C633E4 */ cpu->r[8] = rbrew_read8(cpu->mem, _t31);
|
|
/* 02C633E8 */ cpu->r[12] = rbrew_rlwinm(cpu->r[8], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02C633E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02C633EC */ _t32 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C633EC */ _t33 = _t32 & 0x00000001u;
|
|
/* 02C633EC */ if (_t33) goto L_02C63478; else goto L_02C633F0;
|
|
L_02C633F0: ; // 0x2c633f0
|
|
/* 02C633F0 */ cpu->r[9] = cpu->r[31] - cpu->r[3];
|
|
/* 02C633F4 */ /* nop */
|
|
/* 02C633F8 */ /* nop */
|
|
/* 02C633FC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[0]);
|
|
/* 02C63400 */ _t34 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C63400 */ _t35 = _t34 & 0x00000001u;
|
|
/* 02C63400 */ if (_t35) goto L_02C63454; else goto L_02C63404;
|
|
L_02C63404: ; // 0x2c63404
|
|
/* 02C63404 */ _t36 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C63404 */ _t37 = _t36 & 0x00000001u;
|
|
/* 02C63404 */ if (_t37) goto L_02C63410; else goto L_02C63408;
|
|
L_02C63408: ; // 0x2c63408
|
|
/* 02C63408 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[12]);
|
|
/* 02C6340C */ _t38 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C6340C */ _t39 = _t38 & 0x00000001u;
|
|
/* 02C6340C */ if (_t39) goto L_02C63454; else goto L_02C63410;
|
|
L_02C63410: ; // 0x2c63410
|
|
/* 02C63410 */ cpu->r[0] = cpu->r[12] + 0xFFFFFFFFu;
|
|
/* 02C63410 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C63414 */ cpu->r[3] = cpu->r[3] + cpu->r[12];
|
|
/* 02C63418 */ cpu->r[31] = cpu->r[31] + cpu->r[12];
|
|
/* 02C6341C */ _t40 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6341C */ _t41 = _t40 & 0x00000001u;
|
|
/* 02C6341C */ if (_t41) goto L_02C63420; else goto L_02C63424;
|
|
L_02C63420: ; // 0x2c63420
|
|
/* 02C63420 */ cpu->r[12] = 0x00000001u;
|
|
L_02C63424: ; // 0x2c63424
|
|
/* 02C63424 */ cpu->ctr = cpu->r[12];
|
|
L_02C63428: ; // 0x2c63428
|
|
/* 02C63428 */ _t42 = cpu->r[3] + 0xFFFFFFFFu;
|
|
/* 02C63428 */ cpu->r[0] = rbrew_read8(cpu->mem, _t42);
|
|
/* 02C63428 */ cpu->r[3] = _t42;
|
|
/* 02C6342C */ _t43 = cpu->r[31] + 0xFFFFFFFFu;
|
|
/* 02C6342C */ rbrew_write8(cpu->mem, _t43, (uint8_t)cpu->r[0]);
|
|
/* 02C6342C */ cpu->r[31] = _t43;
|
|
/* 02C63430 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02C63430 */ _t44 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02C63430 */ _t45 = _t44 >> (0x00000002u & 31u);
|
|
/* 02C63430 */ _t46 = _t45 & 0x00000001u;
|
|
/* 02C63430 */ if (_t46) goto L_02C63428; else goto L_02C63434;
|
|
L_02C63434: ; // 0x2c63434
|
|
/* 02C63434 */ _t47 = cpu->r[1] + 0x00000008u;
|
|
/* 02C63434 */ cpu->r[28] = rbrew_read32(cpu->mem, _t47);
|
|
/* 02C63438 */ _t48 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C63438 */ cpu->r[29] = rbrew_read32(cpu->mem, _t48);
|
|
/* 02C6343C */ _t49 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C6343C */ cpu->r[0] = rbrew_read32(cpu->mem, _t49);
|
|
/* 02C63440 */ _t50 = cpu->r[1] + 0x00000010u;
|
|
/* 02C63440 */ cpu->r[30] = rbrew_read32(cpu->mem, _t50);
|
|
/* 02C63444 */ cpu->lr = cpu->r[0];
|
|
/* 02C63448 */ _t51 = cpu->r[1] + 0x00000014u;
|
|
/* 02C63448 */ cpu->r[31] = rbrew_read32(cpu->mem, _t51);
|
|
/* 02C6344C */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C63450 */ return;
|
|
L_02C63454: ; // 0x2c63454
|
|
/* 02C63454 */ cpu->r[11] = cpu->r[12] + 0xFFFFFFFFu;
|
|
/* 02C63454 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02C63458 */ cpu->r[31] = cpu->r[31] + 0xFFFFFFFFu;
|
|
/* 02C6345C */ cpu->r[3] = cpu->r[3] + 0xFFFFFFFFu;
|
|
/* 02C63460 */ _t52 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C63460 */ _t53 = _t52 & 0x00000001u;
|
|
/* 02C63460 */ if (_t53) goto L_02C63464; else goto L_02C63468;
|
|
L_02C63464: ; // 0x2c63464
|
|
/* 02C63464 */ cpu->r[12] = 0x00000001u;
|
|
L_02C63468: ; // 0x2c63468
|
|
/* 02C63468 */ cpu->ctr = cpu->r[12];
|
|
L_02C6346C: ; // 0x2c6346c
|
|
/* 02C6346C */ _t54 = cpu->r[3] + 0x00000001u;
|
|
/* 02C6346C */ cpu->r[0] = rbrew_read8(cpu->mem, _t54);
|
|
/* 02C6346C */ cpu->r[3] = _t54;
|
|
/* 02C63470 */ _t55 = cpu->r[31] + 0x00000001u;
|
|
/* 02C63470 */ rbrew_write8(cpu->mem, _t55, (uint8_t)cpu->r[0]);
|
|
/* 02C63470 */ cpu->r[31] = _t55;
|
|
/* 02C63474 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02C63474 */ _t56 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02C63474 */ _t57 = _t56 >> (0x00000002u & 31u);
|
|
/* 02C63474 */ _t58 = _t57 & 0x00000001u;
|
|
/* 02C63474 */ if (_t58) goto L_02C6346C; else goto L_02C63478;
|
|
L_02C63478: ; // 0x2c63478
|
|
/* 02C63478 */ _t59 = cpu->r[1] + 0x00000008u;
|
|
/* 02C63478 */ cpu->r[28] = rbrew_read32(cpu->mem, _t59);
|
|
/* 02C6347C */ _t60 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C6347C */ cpu->r[29] = rbrew_read32(cpu->mem, _t60);
|
|
/* 02C63480 */ _t61 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C63480 */ cpu->r[0] = rbrew_read32(cpu->mem, _t61);
|
|
/* 02C63484 */ _t62 = cpu->r[1] + 0x00000010u;
|
|
/* 02C63484 */ cpu->r[30] = rbrew_read32(cpu->mem, _t62);
|
|
/* 02C63488 */ cpu->lr = cpu->r[0];
|
|
/* 02C6348C */ _t63 = cpu->r[1] + 0x00000014u;
|
|
/* 02C6348C */ cpu->r[31] = rbrew_read32(cpu->mem, _t63);
|
|
/* 02C63490 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C63494 */ return;
|
|
}
|
|
|
|
// fn_02C63498 @ 0x2c63498
|
|
void Gambit_fn_02C63498(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_02C63498: ; // 0x2c63498
|
|
/* 02C63498 */ _t0 = cpu->r[3] + 0x00000001u;
|
|
/* 02C63498 */ cpu->r[12] = rbrew_read8(cpu->mem, _t0);
|
|
/* 02C6349C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02C634A0 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C634A0 */ _t2 = _t1 & 0x00000001u;
|
|
/* 02C634A0 */ if (_t2) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02C634A0 */ goto L_02C634A4;
|
|
L_02C634A4: ; // 0x2c634a4
|
|
/* 02C634A4 */ cpu->r[4] = cpu->r[4] + 0xFFFFFFFCu;
|
|
/* 02C634A8 */ cpu->r[0] = 0xFFFFFFFFu;
|
|
L_02C634AC: ; // 0x2c634ac
|
|
/* 02C634AC */ cpu->r[12] = cpu->r[12] + 0xFFFFFFFFu;
|
|
/* 02C634AC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02C634B0 */ _t3 = cpu->r[4] + 0x00000004u;
|
|
/* 02C634B0 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02C634B0 */ cpu->r[4] = _t3;
|
|
/* 02C634B4 */ _t4 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C634B4 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02C634B4 */ if (_t5) goto L_02C634AC; else goto L_02C634B8;
|
|
L_02C634B8: ; // 0x2c634b8
|
|
/* 02C634B8 */ return;
|
|
}
|
|
|
|
// fn_02C634BC @ 0x2c634bc
|
|
void Gambit_fn_02C634BC(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;
|
|
|
|
L_02C634BC: ; // 0x2c634bc
|
|
/* 02C634BC */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 02C634BC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C634BC */ cpu->r[1] = _t0;
|
|
/* 02C634C0 */ /* nop */
|
|
/* 02C634C4 */ _t1 = cpu->r[4] + 0x00000004u;
|
|
/* 02C634C4 */ cpu->r[28] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02C634C8 */ _t2 = cpu->r[4] + 0x00000000u;
|
|
/* 02C634C8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02C634CC */ _t3 = cpu->r[3] + 0x00000001u;
|
|
/* 02C634CC */ cpu->r[12] = rbrew_read8(cpu->mem, _t3);
|
|
/* 02C634D0 */ cpu->r[11] = cpu->r[28] - cpu->r[10];
|
|
/* 02C634D4 */ _t4 = cpu->r[3] + 0x00000000u;
|
|
/* 02C634D4 */ cpu->r[9] = rbrew_read8(cpu->mem, _t4);
|
|
/* 02C634D8 */ /* nop */
|
|
/* 02C634DC */ cpu->r[11] = cpu->r[9] + cpu->r[12];
|
|
/* 02C634E0 */ cpu->r[31] = cpu->r[8] / cpu->r[11];
|
|
/* 02C634E0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02C634E4 */ _t5 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C634E4 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02C634E4 */ if (_t6) goto L_02C634E8; else goto L_02C63570;
|
|
L_02C634E8: ; // 0x2c634e8
|
|
/* 02C634E8 */ /* nop */
|
|
/* 02C634EC */ cpu->r[4] = cpu->r[8];
|
|
/* 02C634F0 */ cpu->r[7] = (uint32_t)((int32_t)cpu->r[11] * (int32_t)cpu->r[4]);
|
|
/* 02C634F4 */ cpu->r[8] = 0x00000000u;
|
|
/* 02C634F8 */ cpu->r[6] = rbrew_rlwinm(cpu->r[7], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02C634FC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[12]);
|
|
/* 02C63500 */ cpu->r[27] = cpu->r[10] + cpu->r[6];
|
|
/* 02C63504 */ cpu->r[7] = cpu->r[5];
|
|
/* 02C63508 */ cpu->r[6] = cpu->r[27];
|
|
/* 02C6350C */ _t7 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C6350C */ _t8 = _t7 & 0x00000001u;
|
|
/* 02C6350C */ if (_t8) goto L_02C63510; else goto L_02C63564;
|
|
L_02C63510: ; // 0x2c63510
|
|
/* 02C63510 */ _t9 = cpu->r[7] + 0x00000000u;
|
|
/* 02C63510 */ cpu->r[29] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02C63514 */ _t10 = cpu->r[6] + 0x00000000u;
|
|
/* 02C63514 */ cpu->r[30] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02C63518 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[29]);
|
|
/* 02C6351C */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6351C */ _t12 = _t11 & 0x00000001u;
|
|
/* 02C6351C */ if (_t12) goto L_02C63520; else goto L_02C6353C;
|
|
L_02C63520: ; // 0x2c63520
|
|
/* 02C63520 */ cpu->r[8] = cpu->r[8] + 0x00000001u;
|
|
/* 02C63524 */ cpu->r[6] = cpu->r[6] + 0x00000004u;
|
|
/* 02C63528 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[12]);
|
|
/* 02C6352C */ cpu->r[7] = cpu->r[7] + 0x00000004u;
|
|
/* 02C63530 */ _t13 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C63530 */ _t14 = _t13 & 0x00000001u;
|
|
/* 02C63530 */ if (_t14) goto L_02C63510; else goto L_02C63534;
|
|
L_02C63534: ; // 0x2c63534
|
|
/* 02C63534 */ cpu->r[31] = cpu->r[4];
|
|
/* 02C63538 */ goto L_02C63568;
|
|
L_02C6353C: ; // 0x2c6353c
|
|
/* 02C6353C */ cpu->r[8] = cpu->r[30] - cpu->r[29];
|
|
/* 02C63540 */ cpu->r[8] = cpu->r[8] - cpu->r[8];
|
|
/* 02C63544 */ cpu->r[8] = (uint32_t)(-(int32_t)cpu->r[8]);
|
|
/* 02C63544 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 02C63548 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C63548 */ _t16 = _t15 & 0x00000001u;
|
|
/* 02C63548 */ if (_t16) goto L_02C63564; else goto L_02C6354C;
|
|
L_02C6354C: ; // 0x2c6354c
|
|
/* 02C6354C */ cpu->r[8] = cpu->r[4] + 0x00000001u;
|
|
/* 02C63550 */ cpu->r[10] = rbrew_rlwinm(cpu->r[11], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02C63554 */ cpu->r[31] = cpu->r[31] - cpu->r[8];
|
|
/* 02C63554 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02C63558 */ cpu->r[10] = cpu->r[27] + cpu->r[10];
|
|
/* 02C6355C */ _t17 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C6355C */ _t18 = _t17 & 0x00000001u;
|
|
/* 02C6355C */ if (_t18) goto L_02C634E8; else goto L_02C63560;
|
|
L_02C63560: ; // 0x2c63560
|
|
/* 02C63560 */ goto L_02C63570;
|
|
L_02C63564: ; // 0x2c63564
|
|
/* 02C63564 */ cpu->r[31] = cpu->r[4];
|
|
L_02C63568: ; // 0x2c63568
|
|
/* 02C63568 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02C6356C */ _t19 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C6356C */ _t20 = _t19 & 0x00000001u;
|
|
/* 02C6356C */ if (_t20) goto L_02C634E8; else goto L_02C63570;
|
|
L_02C63570: ; // 0x2c63570
|
|
/* 02C63570 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[28]);
|
|
/* 02C63574 */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C63574 */ _t22 = _t21 & 0x00000001u;
|
|
/* 02C63574 */ if (_t22) goto L_02C635D4; else goto L_02C63578;
|
|
L_02C63578: ; // 0x2c63578
|
|
/* 02C63578 */ cpu->r[8] = 0x00000000u;
|
|
/* 02C6357C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[12]);
|
|
/* 02C63580 */ cpu->r[7] = cpu->r[10];
|
|
/* 02C63584 */ _t23 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C63584 */ _t24 = _t23 & 0x00000001u;
|
|
/* 02C63584 */ if (_t24) goto L_02C63588; else goto L_02C635E4;
|
|
L_02C63588: ; // 0x2c63588
|
|
/* 02C63588 */ _t25 = cpu->r[5] + 0x00000000u;
|
|
/* 02C63588 */ cpu->r[6] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02C6358C */ _t26 = cpu->r[7] + 0x00000000u;
|
|
/* 02C6358C */ cpu->r[4] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02C63590 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[4]);
|
|
/* 02C63594 */ _t27 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C63594 */ _t28 = _t27 & 0x00000001u;
|
|
/* 02C63594 */ if (_t28) goto L_02C63598; else goto L_02C635C4;
|
|
L_02C63598: ; // 0x2c63598
|
|
/* 02C63598 */ cpu->r[8] = cpu->r[8] + 0x00000001u;
|
|
/* 02C6359C */ cpu->r[5] = cpu->r[5] + 0x00000004u;
|
|
/* 02C635A0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[12]);
|
|
/* 02C635A4 */ cpu->r[7] = cpu->r[7] + 0x00000004u;
|
|
/* 02C635A8 */ _t29 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C635A8 */ _t30 = _t29 & 0x00000001u;
|
|
/* 02C635A8 */ if (_t30) goto L_02C63588; else goto L_02C635AC;
|
|
L_02C635AC: ; // 0x2c635ac
|
|
/* 02C635AC */ _t31 = cpu->r[3] + 0x0000005Cu;
|
|
/* 02C635AC */ cpu->r[7] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02C635B0 */ cpu->r[12] = 0x00000000u;
|
|
/* 02C635B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 02C635B8 */ cpu->r[8] = cpu->r[3] + 0x0000005Cu;
|
|
/* 02C635BC */ _t32 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C635BC */ _t33 = _t32 & 0x00000001u;
|
|
/* 02C635BC */ if (_t33) goto L_02C635FC; else goto L_02C635C0;
|
|
L_02C635C0: ; // 0x2c635c0
|
|
/* 02C635C0 */ goto L_02C635F8;
|
|
L_02C635C4: ; // 0x2c635c4
|
|
/* 02C635C4 */ cpu->r[12] = cpu->r[6] - cpu->r[4];
|
|
/* 02C635C8 */ cpu->r[12] = cpu->r[12] - cpu->r[12];
|
|
/* 02C635CC */ cpu->r[12] = (uint32_t)(-(int32_t)cpu->r[12]);
|
|
/* 02C635CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02C635D0 */ _t34 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C635D0 */ _t35 = _t34 & 0x00000001u;
|
|
/* 02C635D0 */ if (_t35) goto L_02C635E4; else goto L_02C635D4;
|
|
L_02C635D4: ; // 0x2c635d4
|
|
/* 02C635D4 */ /* nop */
|
|
/* 02C635D8 */ cpu->r[3] = 0xFFFFFFFFu;
|
|
/* 02C635DC */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02C635E0 */ return;
|
|
L_02C635E4: ; // 0x2c635e4
|
|
/* 02C635E4 */ _t36 = cpu->r[3] + 0x0000005Cu;
|
|
/* 02C635E4 */ cpu->r[7] = rbrew_read32(cpu->mem, _t36);
|
|
/* 02C635E8 */ cpu->r[12] = 0x00000000u;
|
|
/* 02C635EC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 02C635F0 */ cpu->r[8] = cpu->r[3] + 0x0000005Cu;
|
|
/* 02C635F4 */ _t37 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C635F4 */ _t38 = _t37 & 0x00000001u;
|
|
/* 02C635F4 */ if (_t38) goto L_02C635FC; else goto L_02C635F8;
|
|
L_02C635F8: ; // 0x2c635f8
|
|
/* 02C635F8 */ cpu->r[12] = cpu->r[8] + cpu->r[7];
|
|
L_02C635FC: ; // 0x2c635fc
|
|
/* 02C635FC */ cpu->r[9] = rbrew_rlwinm(cpu->r[9], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02C63600 */ /* nop */
|
|
/* 02C63604 */ cpu->r[12] = cpu->r[12] + cpu->r[9];
|
|
/* 02C63608 */ cpu->r[12] = cpu->r[10] - cpu->r[12];
|
|
/* 02C6360C */ /* nop */
|
|
/* 02C63610 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02C63614 */ cpu->r[3] = cpu->r[12] / cpu->r[11];
|
|
/* 02C63618 */ return;
|
|
}
|
|
|
|
// fn_02C6361C @ 0x2c6361c
|
|
void Gambit_fn_02C6361C(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;
|
|
|
|
L_02C6361C: ; // 0x2c6361c
|
|
/* 02C6361C */ _t0 = cpu->r[1] + 0xFFFFFF20u;
|
|
/* 02C6361C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C6361C */ cpu->r[1] = _t0;
|
|
/* 02C63620 */ /* nop */
|
|
/* 02C63624 */ _t1 = cpu->r[3] + 0x00000001u;
|
|
/* 02C63624 */ cpu->r[12] = rbrew_read8(cpu->mem, _t1);
|
|
/* 02C63628 */ _t2 = cpu->r[3] + 0x00000000u;
|
|
/* 02C63628 */ cpu->r[10] = rbrew_read8(cpu->mem, _t2);
|
|
/* 02C6362C */ _t3 = cpu->r[3] + 0x0000005Cu;
|
|
/* 02C6362C */ cpu->r[8] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02C63630 */ cpu->r[11] = cpu->r[10] + cpu->r[12];
|
|
/* 02C63634 */ cpu->r[9] = 0x00000000u;
|
|
/* 02C63638 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 02C6363C */ cpu->r[12] = cpu->r[3] + 0x0000005Cu;
|
|
/* 02C63640 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C63640 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02C63640 */ if (_t5) goto L_02C63648; else goto L_02C63644;
|
|
L_02C63644: ; // 0x2c63644
|
|
/* 02C63644 */ cpu->r[9] = cpu->r[12] + cpu->r[8];
|
|
L_02C63648: ; // 0x2c63648
|
|
/* 02C63648 */ _t6 = cpu->r[3] + 0x00000006u;
|
|
/* 02C63648 */ cpu->r[12] = rbrew_read16(cpu->mem, _t6);
|
|
/* 02C6364C */ cpu->r[12] = (uint32_t)((int32_t)cpu->r[11] * (int32_t)cpu->r[12]);
|
|
/* 02C63650 */ cpu->r[12] = rbrew_rlwinm(cpu->r[12], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02C63654 */ cpu->r[8] = cpu->r[9] + cpu->r[12];
|
|
/* 02C63658 */ /* nop */
|
|
/* 02C6365C */ cpu->r[24] = cpu->r[12] / cpu->r[11];
|
|
/* 02C6365C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], 0x00000000u);
|
|
/* 02C63660 */ _t7 = cpu->r[1] + 0x000000B0u;
|
|
/* 02C63660 */ rbrew_write32(cpu->mem, _t7, cpu->r[8]);
|
|
/* 02C63664 */ cpu->r[12] = cpu->r[10];
|
|
/* 02C63668 */ _t8 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C63668 */ rbrew_write32(cpu->mem, _t8, cpu->r[10]);
|
|
/* 02C6366C */ _t9 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C6366C */ _t10 = _t9 & 0x00000001u;
|
|
/* 02C6366C */ if (_t10) goto L_02C63670; else goto L_02C63998;
|
|
L_02C63670: ; // 0x2c63670
|
|
/* 02C63670 */ /* nop */
|
|
/* 02C63674 */ cpu->r[29] = cpu->r[8];
|
|
/* 02C63678 */ cpu->r[8] = (uint32_t)((int32_t)cpu->r[11] * (int32_t)cpu->r[29]);
|
|
/* 02C6367C */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C6367C */ cpu->r[7] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02C63680 */ cpu->r[3] = cpu->r[5];
|
|
/* 02C63684 */ cpu->r[6] = 0x00000000u;
|
|
/* 02C63688 */ cpu->r[8] = rbrew_rlwinm(cpu->r[8], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02C6368C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[12]);
|
|
/* 02C63690 */ cpu->r[30] = cpu->r[9] + cpu->r[8];
|
|
/* 02C63694 */ _t12 = cpu->r[1] + 0x00000030u;
|
|
/* 02C63694 */ rbrew_write32(cpu->mem, _t12, cpu->r[7]);
|
|
/* 02C63698 */ cpu->r[31] = cpu->r[30];
|
|
/* 02C6369C */ _t13 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C6369C */ _t14 = _t13 & 0x00000001u;
|
|
/* 02C6369C */ if (_t14) goto L_02C636A0; else goto L_02C6370C;
|
|
L_02C636A0: ; // 0x2c636a0
|
|
/* 02C636A0 */ _t15 = cpu->r[31] + 0x00000000u;
|
|
/* 02C636A0 */ cpu->r[8] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02C636A4 */ _t16 = cpu->r[3] + 0x00000000u;
|
|
/* 02C636A4 */ cpu->r[7] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02C636A8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[7]);
|
|
/* 02C636AC */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C636AC */ _t18 = _t17 & 0x00000001u;
|
|
/* 02C636AC */ if (_t18) goto L_02C636B0; else goto L_02C636DC;
|
|
L_02C636B0: ; // 0x2c636b0
|
|
/* 02C636B0 */ cpu->r[6] = cpu->r[6] + 0x00000001u;
|
|
/* 02C636B4 */ cpu->r[31] = cpu->r[31] + 0x00000004u;
|
|
/* 02C636B8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[12]);
|
|
/* 02C636BC */ cpu->r[3] = cpu->r[3] + 0x00000004u;
|
|
/* 02C636C0 */ _t19 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C636C0 */ _t20 = _t19 & 0x00000001u;
|
|
/* 02C636C0 */ if (_t20) goto L_02C636A0; else goto L_02C636C4;
|
|
L_02C636C4: ; // 0x2c636c4
|
|
/* 02C636C4 */ cpu->r[6] = 0x00000000u;
|
|
/* 02C636C8 */ cpu->r[31] = cpu->r[5];
|
|
/* 02C636CC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[12]);
|
|
/* 02C636D0 */ cpu->r[3] = cpu->r[30];
|
|
/* 02C636D4 */ _t21 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C636D4 */ _t22 = _t21 & 0x00000001u;
|
|
/* 02C636D4 */ if (_t22) goto L_02C63720; else goto L_02C636D8;
|
|
L_02C636D8: ; // 0x2c636d8
|
|
/* 02C636D8 */ goto L_02C63784;
|
|
L_02C636DC: ; // 0x2c636dc
|
|
/* 02C636DC */ cpu->r[8] = cpu->r[8] - cpu->r[7];
|
|
/* 02C636E0 */ cpu->r[8] = cpu->r[8] - cpu->r[8];
|
|
/* 02C636E4 */ cpu->r[8] = (uint32_t)(-(int32_t)cpu->r[8]);
|
|
/* 02C636E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 02C636E8 */ _t23 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C636E8 */ _t24 = _t23 & 0x00000001u;
|
|
/* 02C636E8 */ if (_t24) goto L_02C6370C; else goto L_02C636EC;
|
|
L_02C636EC: ; // 0x2c636ec
|
|
/* 02C636EC */ cpu->r[9] = rbrew_rlwinm(cpu->r[11], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02C636F0 */ _t25 = cpu->r[1] + 0x00000030u;
|
|
/* 02C636F0 */ cpu->r[7] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02C636F4 */ cpu->r[8] = cpu->r[29] + 0x00000001u;
|
|
/* 02C636F8 */ cpu->r[9] = cpu->r[30] + cpu->r[9];
|
|
/* 02C636FC */ cpu->r[24] = cpu->r[24] - cpu->r[8];
|
|
/* 02C636FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], 0x00000000u);
|
|
/* 02C63700 */ _t26 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C63700 */ rbrew_write32(cpu->mem, _t26, cpu->r[7]);
|
|
/* 02C63704 */ _t27 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C63704 */ _t28 = _t27 & 0x00000001u;
|
|
/* 02C63704 */ if (_t28) goto L_02C63670; else goto L_02C63708;
|
|
L_02C63708: ; // 0x2c63708
|
|
/* 02C63708 */ goto L_02C63998;
|
|
L_02C6370C: ; // 0x2c6370c
|
|
/* 02C6370C */ cpu->r[6] = 0x00000000u;
|
|
/* 02C63710 */ cpu->r[31] = cpu->r[5];
|
|
/* 02C63714 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[12]);
|
|
/* 02C63718 */ cpu->r[3] = cpu->r[30];
|
|
/* 02C6371C */ _t29 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C6371C */ _t30 = _t29 & 0x00000001u;
|
|
/* 02C6371C */ if (_t30) goto L_02C63720; else goto L_02C63784;
|
|
L_02C63720: ; // 0x2c63720
|
|
/* 02C63720 */ _t31 = cpu->r[31] + 0x00000000u;
|
|
/* 02C63720 */ cpu->r[8] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02C63724 */ _t32 = cpu->r[3] + 0x00000000u;
|
|
/* 02C63724 */ cpu->r[7] = rbrew_read32(cpu->mem, _t32);
|
|
/* 02C63728 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[7]);
|
|
/* 02C6372C */ _t33 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6372C */ _t34 = _t33 & 0x00000001u;
|
|
/* 02C6372C */ if (_t34) goto L_02C63730; else goto L_02C63768;
|
|
L_02C63730: ; // 0x2c63730
|
|
/* 02C63730 */ cpu->r[6] = cpu->r[6] + 0x00000001u;
|
|
/* 02C63734 */ cpu->r[31] = cpu->r[31] + 0x00000004u;
|
|
/* 02C63738 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[12]);
|
|
/* 02C6373C */ cpu->r[3] = cpu->r[3] + 0x00000004u;
|
|
/* 02C63740 */ _t35 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C63740 */ _t36 = _t35 & 0x00000001u;
|
|
/* 02C63740 */ if (_t36) goto L_02C63720; else goto L_02C63744;
|
|
L_02C63744: ; // 0x2c63744
|
|
/* 02C63744 */ cpu->r[8] = cpu->r[30] - cpu->r[9];
|
|
/* 02C63748 */ /* nop */
|
|
/* 02C6374C */ _t37 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C6374C */ cpu->r[7] = rbrew_read32(cpu->mem, _t37);
|
|
/* 02C63750 */ cpu->r[25] = cpu->r[8] / cpu->r[11];
|
|
/* 02C63750 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000000u);
|
|
/* 02C63754 */ _t38 = cpu->r[1] + 0x00000018u;
|
|
/* 02C63754 */ rbrew_write32(cpu->mem, _t38, cpu->r[7]);
|
|
/* 02C63758 */ cpu->r[8] = cpu->r[11];
|
|
/* 02C6375C */ cpu->r[3] = cpu->r[9];
|
|
/* 02C63760 */ _t39 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C63760 */ _t40 = _t39 & 0x00000001u;
|
|
/* 02C63760 */ if (_t40) goto L_02C637A4; else goto L_02C63764;
|
|
L_02C63764: ; // 0x2c63764
|
|
/* 02C63764 */ goto L_02C6383C;
|
|
L_02C63768: ; // 0x2c63768
|
|
/* 02C63768 */ cpu->r[8] = cpu->r[8] - cpu->r[7];
|
|
/* 02C6376C */ cpu->r[8] = cpu->r[8] - cpu->r[8];
|
|
/* 02C63770 */ cpu->r[8] = (uint32_t)(-(int32_t)cpu->r[8]);
|
|
/* 02C63770 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 02C63774 */ _t41 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C63774 */ _t42 = _t41 & 0x00000001u;
|
|
/* 02C63774 */ if (_t42) goto L_02C63784; else goto L_02C63778;
|
|
L_02C63778: ; // 0x2c63778
|
|
/* 02C63778 */ cpu->r[24] = cpu->r[29];
|
|
/* 02C63778 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], 0x00000000u);
|
|
/* 02C6377C */ _t43 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C6377C */ _t44 = _t43 & 0x00000001u;
|
|
/* 02C6377C */ if (_t44) goto L_02C63670; else goto L_02C63780;
|
|
L_02C63780: ; // 0x2c63780
|
|
/* 02C63780 */ goto L_02C63998;
|
|
L_02C63784: ; // 0x2c63784
|
|
/* 02C63784 */ cpu->r[8] = cpu->r[30] - cpu->r[9];
|
|
/* 02C63788 */ /* nop */
|
|
/* 02C6378C */ _t45 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C6378C */ cpu->r[7] = rbrew_read32(cpu->mem, _t45);
|
|
/* 02C63790 */ cpu->r[25] = cpu->r[8] / cpu->r[11];
|
|
/* 02C63790 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000000u);
|
|
/* 02C63794 */ _t46 = cpu->r[1] + 0x00000018u;
|
|
/* 02C63794 */ rbrew_write32(cpu->mem, _t46, cpu->r[7]);
|
|
/* 02C63798 */ cpu->r[8] = cpu->r[11];
|
|
/* 02C6379C */ cpu->r[3] = cpu->r[9];
|
|
/* 02C637A0 */ _t47 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C637A0 */ _t48 = _t47 & 0x00000001u;
|
|
/* 02C637A0 */ if (_t48) goto L_02C637A4; else goto L_02C6383C;
|
|
L_02C637A4: ; // 0x2c637a4
|
|
/* 02C637A4 */ /* nop */
|
|
/* 02C637A8 */ cpu->r[26] = cpu->r[7];
|
|
/* 02C637AC */ _t49 = cpu->r[1] + 0x00000018u;
|
|
/* 02C637AC */ cpu->r[6] = rbrew_read32(cpu->mem, _t49);
|
|
/* 02C637B0 */ cpu->r[7] = (uint32_t)((int32_t)cpu->r[8] * (int32_t)cpu->r[26]);
|
|
/* 02C637B4 */ cpu->r[28] = cpu->r[5];
|
|
/* 02C637B8 */ cpu->r[29] = 0x00000000u;
|
|
/* 02C637BC */ cpu->r[7] = rbrew_rlwinm(cpu->r[7], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02C637C0 */ _t50 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02C637C0 */ rbrew_write32(cpu->mem, _t50, cpu->r[6]);
|
|
/* 02C637C4 */ cpu->r[31] = cpu->r[3] + cpu->r[7];
|
|
/* 02C637C8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], cpu->r[12]);
|
|
/* 02C637CC */ cpu->r[27] = cpu->r[31];
|
|
/* 02C637D0 */ _t51 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C637D0 */ _t52 = _t51 & 0x00000001u;
|
|
/* 02C637D0 */ if (_t52) goto L_02C637D4; else goto L_02C63830;
|
|
L_02C637D4: ; // 0x2c637d4
|
|
/* 02C637D4 */ _t53 = cpu->r[27] + 0x00000000u;
|
|
/* 02C637D4 */ cpu->r[7] = rbrew_read32(cpu->mem, _t53);
|
|
/* 02C637D8 */ _t54 = cpu->r[28] + 0x00000000u;
|
|
/* 02C637D8 */ cpu->r[6] = rbrew_read32(cpu->mem, _t54);
|
|
/* 02C637DC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[6]);
|
|
/* 02C637E0 */ _t55 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C637E0 */ _t56 = _t55 & 0x00000001u;
|
|
/* 02C637E0 */ if (_t56) goto L_02C637E4; else goto L_02C63800;
|
|
L_02C637E4: ; // 0x2c637e4
|
|
/* 02C637E4 */ cpu->r[29] = cpu->r[29] + 0x00000001u;
|
|
/* 02C637E8 */ cpu->r[27] = cpu->r[27] + 0x00000004u;
|
|
/* 02C637EC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], cpu->r[12]);
|
|
/* 02C637F0 */ cpu->r[28] = cpu->r[28] + 0x00000004u;
|
|
/* 02C637F4 */ _t57 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C637F4 */ _t58 = _t57 & 0x00000001u;
|
|
/* 02C637F4 */ if (_t58) goto L_02C637D4; else goto L_02C637F8;
|
|
L_02C637F8: ; // 0x2c637f8
|
|
/* 02C637F8 */ cpu->r[25] = cpu->r[26];
|
|
/* 02C637FC */ goto L_02C63834;
|
|
L_02C63800: ; // 0x2c63800
|
|
/* 02C63800 */ cpu->r[7] = cpu->r[7] - cpu->r[6];
|
|
/* 02C63804 */ cpu->r[7] = cpu->r[7] - cpu->r[7];
|
|
/* 02C63808 */ cpu->r[7] = (uint32_t)(-(int32_t)cpu->r[7]);
|
|
/* 02C63808 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 02C6380C */ _t59 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6380C */ _t60 = _t59 & 0x00000001u;
|
|
/* 02C6380C */ if (_t60) goto L_02C63830; else goto L_02C63810;
|
|
L_02C63810: ; // 0x2c63810
|
|
/* 02C63810 */ cpu->r[3] = rbrew_rlwinm(cpu->r[8], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02C63814 */ _t61 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02C63814 */ cpu->r[6] = rbrew_read32(cpu->mem, _t61);
|
|
/* 02C63818 */ cpu->r[7] = cpu->r[26] + 0x00000001u;
|
|
/* 02C6381C */ cpu->r[3] = cpu->r[31] + cpu->r[3];
|
|
/* 02C63820 */ cpu->r[25] = cpu->r[25] - cpu->r[7];
|
|
/* 02C63820 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000000u);
|
|
/* 02C63824 */ _t62 = cpu->r[1] + 0x00000018u;
|
|
/* 02C63824 */ rbrew_write32(cpu->mem, _t62, cpu->r[6]);
|
|
/* 02C63828 */ _t63 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C63828 */ _t64 = _t63 & 0x00000001u;
|
|
/* 02C63828 */ if (_t64) goto L_02C637A4; else goto L_02C6382C;
|
|
L_02C6382C: ; // 0x2c6382c
|
|
/* 02C6382C */ goto L_02C6383C;
|
|
L_02C63830: ; // 0x2c63830
|
|
/* 02C63830 */ cpu->r[25] = cpu->r[26];
|
|
L_02C63834: ; // 0x2c63834
|
|
/* 02C63834 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000000u);
|
|
/* 02C63838 */ _t65 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C63838 */ _t66 = _t65 & 0x00000001u;
|
|
/* 02C63838 */ if (_t66) goto L_02C637A4; else goto L_02C6383C;
|
|
L_02C6383C: ; // 0x2c6383c
|
|
/* 02C6383C */ cpu->r[6] = (uint32_t)((int32_t)cpu->r[11] * (int32_t)cpu->r[24]);
|
|
/* 02C63840 */ _t67 = cpu->r[1] + 0x00000050u;
|
|
/* 02C63840 */ rbrew_write32(cpu->mem, _t67, cpu->r[3]);
|
|
/* 02C63844 */ cpu->r[7] = rbrew_rlwinm(cpu->r[11], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02C63848 */ cpu->r[6] = rbrew_rlwinm(cpu->r[6], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02C6384C */ cpu->r[7] = cpu->r[30] + cpu->r[7];
|
|
/* 02C63850 */ cpu->r[9] = cpu->r[9] + cpu->r[6];
|
|
/* 02C63854 */ cpu->r[9] = cpu->r[9] - cpu->r[7];
|
|
/* 02C63858 */ /* nop */
|
|
/* 02C6385C */ _t68 = cpu->r[1] + 0x00000018u;
|
|
/* 02C6385C */ cpu->r[6] = rbrew_read32(cpu->mem, _t68);
|
|
/* 02C63860 */ cpu->r[28] = cpu->r[9] / cpu->r[11];
|
|
/* 02C63860 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 02C63864 */ _t69 = cpu->r[1] + 0x00000054u;
|
|
/* 02C63864 */ rbrew_write32(cpu->mem, _t69, cpu->r[6]);
|
|
/* 02C63868 */ _t70 = cpu->r[1] + 0x00000030u;
|
|
/* 02C63868 */ cpu->r[9] = rbrew_read32(cpu->mem, _t70);
|
|
/* 02C6386C */ _t71 = cpu->r[1] + 0x00000024u;
|
|
/* 02C6386C */ rbrew_write32(cpu->mem, _t71, cpu->r[9]);
|
|
/* 02C63870 */ _t72 = cpu->r[1] + 0x00000058u;
|
|
/* 02C63870 */ rbrew_write32(cpu->mem, _t72, cpu->r[8]);
|
|
/* 02C63874 */ _t73 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C63874 */ _t74 = _t73 & 0x00000001u;
|
|
/* 02C63874 */ if (_t74) goto L_02C63878; else goto L_02C63924;
|
|
L_02C63878: ; // 0x2c63878
|
|
/* 02C63878 */ /* nop */
|
|
/* 02C6387C */ cpu->r[29] = cpu->r[9];
|
|
/* 02C63880 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C63884 */ cpu->r[9] = (uint32_t)((int32_t)cpu->r[11] * (int32_t)cpu->r[29]);
|
|
/* 02C63888 */ _t75 = cpu->r[1] + 0x00000024u;
|
|
/* 02C63888 */ cpu->r[8] = rbrew_read32(cpu->mem, _t75);
|
|
/* 02C6388C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], cpu->r[12]);
|
|
/* 02C63890 */ cpu->r[9] = rbrew_rlwinm(cpu->r[9], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02C63894 */ cpu->r[30] = cpu->r[5];
|
|
/* 02C63898 */ cpu->r[6] = cpu->r[7] + cpu->r[9];
|
|
/* 02C6389C */ _t76 = cpu->r[1] + 0x00000048u;
|
|
/* 02C6389C */ rbrew_write32(cpu->mem, _t76, cpu->r[8]);
|
|
/* 02C638A0 */ cpu->r[31] = cpu->r[6];
|
|
/* 02C638A4 */ _t77 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C638A4 */ _t78 = _t77 & 0x00000001u;
|
|
/* 02C638A4 */ if (_t78) goto L_02C638A8; else goto L_02C638FC;
|
|
L_02C638A8: ; // 0x2c638a8
|
|
/* 02C638A8 */ _t79 = cpu->r[30] + 0x00000000u;
|
|
/* 02C638A8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t79);
|
|
/* 02C638AC */ _t80 = cpu->r[31] + 0x00000000u;
|
|
/* 02C638AC */ cpu->r[8] = rbrew_read32(cpu->mem, _t80);
|
|
/* 02C638B0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[8]);
|
|
/* 02C638B4 */ _t81 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C638B4 */ _t82 = _t81 & 0x00000001u;
|
|
/* 02C638B4 */ if (_t82) goto L_02C638B8; else goto L_02C638EC;
|
|
L_02C638B8: ; // 0x2c638b8
|
|
/* 02C638B8 */ cpu->r[3] = cpu->r[3] + 0x00000001u;
|
|
/* 02C638BC */ cpu->r[30] = cpu->r[30] + 0x00000004u;
|
|
/* 02C638C0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], cpu->r[12]);
|
|
/* 02C638C4 */ cpu->r[31] = cpu->r[31] + 0x00000004u;
|
|
/* 02C638C8 */ _t83 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C638C8 */ _t84 = _t83 & 0x00000001u;
|
|
/* 02C638C8 */ if (_t84) goto L_02C638A8; else goto L_02C638CC;
|
|
L_02C638CC: ; // 0x2c638cc
|
|
/* 02C638CC */ cpu->r[7] = rbrew_rlwinm(cpu->r[11], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02C638D0 */ _t85 = cpu->r[1] + 0x00000048u;
|
|
/* 02C638D0 */ cpu->r[8] = rbrew_read32(cpu->mem, _t85);
|
|
/* 02C638D4 */ cpu->r[9] = cpu->r[29] + 0x00000001u;
|
|
/* 02C638D8 */ cpu->r[7] = cpu->r[6] + cpu->r[7];
|
|
/* 02C638DC */ cpu->r[28] = cpu->r[28] - cpu->r[9];
|
|
/* 02C638DC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 02C638E0 */ _t86 = cpu->r[1] + 0x00000024u;
|
|
/* 02C638E0 */ rbrew_write32(cpu->mem, _t86, cpu->r[8]);
|
|
/* 02C638E4 */ _t87 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C638E4 */ _t88 = _t87 & 0x00000001u;
|
|
/* 02C638E4 */ if (_t88) goto L_02C63878; else goto L_02C638E8;
|
|
L_02C638E8: ; // 0x2c638e8
|
|
/* 02C638E8 */ goto L_02C63924;
|
|
L_02C638EC: ; // 0x2c638ec
|
|
/* 02C638EC */ cpu->r[9] = cpu->r[9] - cpu->r[8];
|
|
/* 02C638F0 */ cpu->r[9] = cpu->r[9] - cpu->r[9];
|
|
/* 02C638F4 */ cpu->r[9] = (uint32_t)(-(int32_t)cpu->r[9]);
|
|
/* 02C638F4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 02C638F8 */ _t89 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C638F8 */ _t90 = _t89 & 0x00000001u;
|
|
/* 02C638F8 */ if (_t90) goto L_02C638FC; else goto L_02C6391C;
|
|
L_02C638FC: ; // 0x2c638fc
|
|
/* 02C638FC */ cpu->r[7] = rbrew_rlwinm(cpu->r[11], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02C63900 */ _t91 = cpu->r[1] + 0x00000048u;
|
|
/* 02C63900 */ cpu->r[8] = rbrew_read32(cpu->mem, _t91);
|
|
/* 02C63904 */ cpu->r[9] = cpu->r[29] + 0x00000001u;
|
|
/* 02C63908 */ cpu->r[7] = cpu->r[6] + cpu->r[7];
|
|
/* 02C6390C */ cpu->r[28] = cpu->r[28] - cpu->r[9];
|
|
/* 02C6390C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 02C63910 */ _t92 = cpu->r[1] + 0x00000024u;
|
|
/* 02C63910 */ rbrew_write32(cpu->mem, _t92, cpu->r[8]);
|
|
/* 02C63914 */ _t93 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C63914 */ _t94 = _t93 & 0x00000001u;
|
|
/* 02C63914 */ if (_t94) goto L_02C63878; else goto L_02C63918;
|
|
L_02C63918: ; // 0x2c63918
|
|
/* 02C63918 */ goto L_02C63924;
|
|
L_02C6391C: ; // 0x2c6391c
|
|
/* 02C6391C */ cpu->r[28] = cpu->r[29];
|
|
/* 02C6391C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 02C63920 */ _t95 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C63920 */ _t96 = _t95 & 0x00000001u;
|
|
/* 02C63920 */ if (_t96) goto L_02C63878; else goto L_02C63924;
|
|
L_02C63924: ; // 0x2c63924
|
|
/* 02C63924 */ _t97 = cpu->r[1] + 0x0000005Cu;
|
|
/* 02C63924 */ rbrew_write32(cpu->mem, _t97, cpu->r[7]);
|
|
/* 02C63928 */ cpu->r[9] = cpu->r[7];
|
|
/* 02C6392C */ _t98 = cpu->r[1] + 0x000000A4u;
|
|
/* 02C6392C */ rbrew_write32(cpu->mem, _t98, cpu->r[7]);
|
|
/* 02C63930 */ _t99 = cpu->r[1] + 0x00000024u;
|
|
/* 02C63930 */ cpu->r[12] = rbrew_read32(cpu->mem, _t99);
|
|
/* 02C63934 */ _t100 = cpu->r[1] + 0x00000050u;
|
|
/* 02C63934 */ cpu->r[7] = rbrew_read32(cpu->mem, _t100);
|
|
/* 02C63938 */ _t101 = cpu->r[1] + 0x00000058u;
|
|
/* 02C63938 */ cpu->r[8] = rbrew_read32(cpu->mem, _t101);
|
|
/* 02C6393C */ _t102 = cpu->r[1] + 0x00000094u;
|
|
/* 02C6393C */ rbrew_write32(cpu->mem, _t102, cpu->r[11]);
|
|
/* 02C63940 */ cpu->r[10] = rbrew_rlwinm(cpu->r[10], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02C63944 */ _t103 = cpu->r[1] + 0x000000A0u;
|
|
/* 02C63944 */ rbrew_write32(cpu->mem, _t103, cpu->r[8]);
|
|
/* 02C63948 */ _t104 = cpu->r[1] + 0x000000ACu;
|
|
/* 02C63948 */ rbrew_write32(cpu->mem, _t104, cpu->r[11]);
|
|
/* 02C6394C */ _t105 = cpu->r[1] + 0x00000064u;
|
|
/* 02C6394C */ rbrew_write32(cpu->mem, _t105, cpu->r[11]);
|
|
/* 02C63950 */ cpu->r[11] = cpu->r[7] + cpu->r[10];
|
|
/* 02C63954 */ _t106 = cpu->r[1] + 0x00000090u;
|
|
/* 02C63954 */ rbrew_write32(cpu->mem, _t106, cpu->r[12]);
|
|
/* 02C63958 */ _t107 = cpu->r[4] + 0x00000000u;
|
|
/* 02C63958 */ rbrew_write32(cpu->mem, _t107, cpu->r[11]);
|
|
/* 02C6395C */ _t108 = cpu->r[1] + 0x00000054u;
|
|
/* 02C6395C */ cpu->r[31] = rbrew_read32(cpu->mem, _t108);
|
|
/* 02C63960 */ _t109 = cpu->r[1] + 0x00000060u;
|
|
/* 02C63960 */ rbrew_write32(cpu->mem, _t109, cpu->r[12]);
|
|
/* 02C63964 */ _t110 = cpu->r[1] + 0x0000009Cu;
|
|
/* 02C63964 */ rbrew_write32(cpu->mem, _t110, cpu->r[31]);
|
|
/* 02C63968 */ _t111 = cpu->r[1] + 0x000000A8u;
|
|
/* 02C63968 */ rbrew_write32(cpu->mem, _t111, cpu->r[12]);
|
|
/* 02C6396C */ _t112 = cpu->r[1] + 0x00000080u;
|
|
/* 02C6396C */ rbrew_write32(cpu->mem, _t112, cpu->r[7]);
|
|
/* 02C63970 */ cpu->r[12] = cpu->r[9] + cpu->r[10];
|
|
/* 02C63974 */ _t113 = cpu->r[1] + 0x00000084u;
|
|
/* 02C63974 */ rbrew_write32(cpu->mem, _t113, cpu->r[31]);
|
|
/* 02C63978 */ cpu->r[11] = cpu->r[11] ^ cpu->r[12];
|
|
/* 02C6397C */ _t114 = cpu->r[1] + 0x00000088u;
|
|
/* 02C6397C */ rbrew_write32(cpu->mem, _t114, cpu->r[8]);
|
|
/* 02C63980 */ _t115 = cpu->r[4] + 0x00000004u;
|
|
/* 02C63980 */ rbrew_write32(cpu->mem, _t115, cpu->r[12]);
|
|
/* 02C63984 */ _t116 = cpu->r[1] + 0x0000008Cu;
|
|
/* 02C63984 */ rbrew_write32(cpu->mem, _t116, cpu->r[9]);
|
|
/* 02C63988 */ _t117 = cpu->r[1] + 0x00000098u;
|
|
/* 02C63988 */ rbrew_write32(cpu->mem, _t117, cpu->r[7]);
|
|
/* 02C6398C */ cpu->r[12] = cpu->r[11] + 0xFFFFFFFFu;
|
|
/* 02C63990 */ cpu->r[3] = cpu->r[11] - cpu->r[12];
|
|
/* 02C63994 */ goto L_02C639E8;
|
|
L_02C63998: ; // 0x2c63998
|
|
/* 02C63998 */ _t118 = cpu->r[1] + 0x00000094u;
|
|
/* 02C63998 */ rbrew_write32(cpu->mem, _t118, cpu->r[11]);
|
|
/* 02C6399C */ cpu->r[10] = rbrew_rlwinm(cpu->r[10], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02C639A0 */ _t119 = cpu->r[1] + 0x0000007Cu;
|
|
/* 02C639A0 */ rbrew_write32(cpu->mem, _t119, cpu->r[11]);
|
|
/* 02C639A4 */ _t120 = cpu->r[1] + 0x00000088u;
|
|
/* 02C639A4 */ rbrew_write32(cpu->mem, _t120, cpu->r[11]);
|
|
/* 02C639A8 */ _t121 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C639A8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t121);
|
|
/* 02C639AC */ _t122 = cpu->r[1] + 0x00000070u;
|
|
/* 02C639AC */ rbrew_write32(cpu->mem, _t122, cpu->r[11]);
|
|
/* 02C639B0 */ cpu->r[11] = cpu->r[9] + cpu->r[10];
|
|
/* 02C639B4 */ _t123 = cpu->r[1] + 0x0000006Cu;
|
|
/* 02C639B4 */ rbrew_write32(cpu->mem, _t123, cpu->r[3]);
|
|
/* 02C639B8 */ _t124 = cpu->r[4] + 0x00000000u;
|
|
/* 02C639B8 */ rbrew_write32(cpu->mem, _t124, cpu->r[11]);
|
|
/* 02C639BC */ _t125 = cpu->r[4] + 0x00000004u;
|
|
/* 02C639BC */ rbrew_write32(cpu->mem, _t125, cpu->r[11]);
|
|
/* 02C639C0 */ _t126 = cpu->r[1] + 0x00000068u;
|
|
/* 02C639C0 */ rbrew_write32(cpu->mem, _t126, cpu->r[9]);
|
|
/* 02C639C4 */ _t127 = cpu->r[1] + 0x00000080u;
|
|
/* 02C639C4 */ rbrew_write32(cpu->mem, _t127, cpu->r[9]);
|
|
/* 02C639C8 */ _t128 = cpu->r[1] + 0x00000074u;
|
|
/* 02C639C8 */ rbrew_write32(cpu->mem, _t128, cpu->r[9]);
|
|
/* 02C639CC */ _t129 = cpu->r[1] + 0x00000084u;
|
|
/* 02C639CC */ rbrew_write32(cpu->mem, _t129, cpu->r[3]);
|
|
/* 02C639D0 */ _t130 = cpu->r[1] + 0x0000008Cu;
|
|
/* 02C639D0 */ rbrew_write32(cpu->mem, _t130, cpu->r[9]);
|
|
/* 02C639D4 */ cpu->r[11] = 0x00000000u;
|
|
/* 02C639D8 */ _t131 = cpu->r[1] + 0x00000078u;
|
|
/* 02C639D8 */ rbrew_write32(cpu->mem, _t131, cpu->r[3]);
|
|
/* 02C639DC */ _t132 = cpu->r[1] + 0x00000090u;
|
|
/* 02C639DC */ rbrew_write32(cpu->mem, _t132, cpu->r[3]);
|
|
/* 02C639E0 */ cpu->r[12] = cpu->r[11] + 0xFFFFFFFFu;
|
|
/* 02C639E4 */ cpu->r[3] = ~cpu->r[12];
|
|
L_02C639E8: ; // 0x2c639e8
|
|
/* 02C639E8 */ /* nop */
|
|
/* 02C639EC */ cpu->r[1] = cpu->r[1] + 0x000000E0u;
|
|
/* 02C639F0 */ return;
|
|
}
|
|
|
|
// fn_02C639F4 @ 0x2c639f4
|
|
void Gambit_fn_02C639F4(CPUState* cpu) {
|
|
L_02C639F4: ; // 0x2c639f4
|
|
/* 02C639F4 */ return;
|
|
}
|
|
|
|
// fn_02C639F8 @ 0x2c639f8
|
|
void Gambit_fn_02C639F8(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_02C639F8: ; // 0x2c639f8
|
|
/* 02C639F8 */ cpu->r[0] = cpu->lr;
|
|
/* 02C639FC */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02C639FC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C639FC */ cpu->r[1] = _t0;
|
|
/* 02C63A00 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C63A00 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
|
|
/* 02C63A04 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02C63A04 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02C63A08 */ _t3 = cpu->r[1] + 0x00000010u;
|
|
/* 02C63A08 */ rbrew_write32(cpu->mem, _t3, cpu->r[30]);
|
|
/* 02C63A0C */ cpu->r[31] = cpu->r[3];
|
|
/* 02C63A10 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C63A10 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02C63A14 */ _t5 = cpu->r[31] + 0x00000024u;
|
|
/* 02C63A14 */ cpu->r[29] = rbrew_read16(cpu->mem, _t5);
|
|
/* 02C63A18 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 02C63A1C */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C63A1C */ _t7 = _t6 & 0x00000001u;
|
|
/* 02C63A1C */ if (_t7) goto L_02C63A68; else goto L_02C63A20;
|
|
L_02C63A20: ; // 0x2c63a20
|
|
/* 02C63A20 */ cpu->r[30] = 0x00000000u;
|
|
L_02C63A24: ; // 0x2c63a24
|
|
/* 02C63A24 */ _t8 = cpu->r[31] + 0x0000002Cu;
|
|
/* 02C63A24 */ cpu->r[12] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C63A28 */ cpu->r[11] = 0x00000000u;
|
|
/* 02C63A2C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02C63A30 */ cpu->r[10] = cpu->r[31] + 0x0000002Cu;
|
|
/* 02C63A34 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C63A34 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02C63A34 */ if (_t10) goto L_02C63A3C; else goto L_02C63A38;
|
|
L_02C63A38: ; // 0x2c63a38
|
|
/* 02C63A38 */ cpu->r[11] = cpu->r[10] + cpu->r[12];
|
|
L_02C63A3C: ; // 0x2c63a3c
|
|
/* 02C63A3C */ cpu->r[12] = cpu->r[11] + cpu->r[30];
|
|
/* 02C63A40 */ _t11 = cpu->r[12] + 0x00000024u;
|
|
/* 02C63A40 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02C63A44 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C63A48 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C63A4C */ cpu->r[9] = cpu->r[12] + 0x00000024u;
|
|
/* 02C63A50 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C63A50 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02C63A50 */ if (_t13) goto L_02C63A58; else goto L_02C63A54;
|
|
L_02C63A54: ; // 0x2c63a54
|
|
/* 02C63A54 */ cpu->r[3] = cpu->r[9] + cpu->r[0];
|
|
L_02C63A58: ; // 0x2c63a58
|
|
/* 02C63A58 */ Gambit_fn_02C63068(cpu);
|
|
/* 02C63A5C */ cpu->r[29] = cpu->r[29] + 0xFFFFFFFFu;
|
|
/* 02C63A5C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 02C63A60 */ cpu->r[30] = cpu->r[30] + 0x00000010u;
|
|
/* 02C63A64 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C63A64 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02C63A64 */ if (_t15) goto L_02C63A68; else goto L_02C63A24;
|
|
L_02C63A68: ; // 0x2c63a68
|
|
/* 02C63A68 */ _t16 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C63A68 */ cpu->r[29] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02C63A6C */ _t17 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C63A6C */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02C63A70 */ _t18 = cpu->r[1] + 0x00000010u;
|
|
/* 02C63A70 */ cpu->r[30] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02C63A74 */ cpu->lr = cpu->r[0];
|
|
/* 02C63A78 */ _t19 = cpu->r[1] + 0x00000014u;
|
|
/* 02C63A78 */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02C63A7C */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C63A80 */ return;
|
|
}
|
|
|
|
// fn_02C639FC @ 0x2c639fc
|
|
void Gambit_fn_02C639FC(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_02C639FC: ; // 0x2c639fc
|
|
/* 02C639FC */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02C639FC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C639FC */ cpu->r[1] = _t0;
|
|
/* 02C63A00 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C63A00 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
|
|
/* 02C63A04 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02C63A04 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02C63A08 */ _t3 = cpu->r[1] + 0x00000010u;
|
|
/* 02C63A08 */ rbrew_write32(cpu->mem, _t3, cpu->r[30]);
|
|
/* 02C63A0C */ cpu->r[31] = cpu->r[3];
|
|
/* 02C63A10 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C63A10 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02C63A14 */ _t5 = cpu->r[31] + 0x00000024u;
|
|
/* 02C63A14 */ cpu->r[29] = rbrew_read16(cpu->mem, _t5);
|
|
/* 02C63A18 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 02C63A1C */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C63A1C */ _t7 = _t6 & 0x00000001u;
|
|
/* 02C63A1C */ if (_t7) goto L_02C63A68; else goto L_02C63A20;
|
|
L_02C63A20: ; // 0x2c63a20
|
|
/* 02C63A20 */ cpu->r[30] = 0x00000000u;
|
|
L_02C63A24: ; // 0x2c63a24
|
|
/* 02C63A24 */ _t8 = cpu->r[31] + 0x0000002Cu;
|
|
/* 02C63A24 */ cpu->r[12] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C63A28 */ cpu->r[11] = 0x00000000u;
|
|
/* 02C63A2C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02C63A30 */ cpu->r[10] = cpu->r[31] + 0x0000002Cu;
|
|
/* 02C63A34 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C63A34 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02C63A34 */ if (_t10) goto L_02C63A3C; else goto L_02C63A38;
|
|
L_02C63A38: ; // 0x2c63a38
|
|
/* 02C63A38 */ cpu->r[11] = cpu->r[10] + cpu->r[12];
|
|
L_02C63A3C: ; // 0x2c63a3c
|
|
/* 02C63A3C */ cpu->r[12] = cpu->r[11] + cpu->r[30];
|
|
/* 02C63A40 */ _t11 = cpu->r[12] + 0x00000024u;
|
|
/* 02C63A40 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02C63A44 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C63A48 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C63A4C */ cpu->r[9] = cpu->r[12] + 0x00000024u;
|
|
/* 02C63A50 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C63A50 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02C63A50 */ if (_t13) goto L_02C63A58; else goto L_02C63A54;
|
|
L_02C63A54: ; // 0x2c63a54
|
|
/* 02C63A54 */ cpu->r[3] = cpu->r[9] + cpu->r[0];
|
|
L_02C63A58: ; // 0x2c63a58
|
|
/* 02C63A58 */ Gambit_fn_02C63068(cpu);
|
|
/* 02C63A5C */ cpu->r[29] = cpu->r[29] + 0xFFFFFFFFu;
|
|
/* 02C63A5C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 02C63A60 */ cpu->r[30] = cpu->r[30] + 0x00000010u;
|
|
/* 02C63A64 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C63A64 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02C63A64 */ if (_t15) goto L_02C63A68; else goto L_02C63A24;
|
|
L_02C63A68: ; // 0x2c63a68
|
|
/* 02C63A68 */ _t16 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C63A68 */ cpu->r[29] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02C63A6C */ _t17 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C63A6C */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02C63A70 */ _t18 = cpu->r[1] + 0x00000010u;
|
|
/* 02C63A70 */ cpu->r[30] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02C63A74 */ cpu->lr = cpu->r[0];
|
|
/* 02C63A78 */ _t19 = cpu->r[1] + 0x00000014u;
|
|
/* 02C63A78 */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02C63A7C */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C63A80 */ return;
|
|
}
|
|
|
|
// fn_02C63A84 @ 0x2c63a84
|
|
void Gambit_fn_02C63A84(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_02C63A84: ; // 0x2c63a84
|
|
/* 02C63A84 */ cpu->r[0] = cpu->lr;
|
|
/* 02C63A88 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02C63A88 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C63A88 */ cpu->r[1] = _t0;
|
|
/* 02C63A8C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C63A8C */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
|
|
/* 02C63A90 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02C63A90 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02C63A94 */ _t3 = cpu->r[1] + 0x00000010u;
|
|
/* 02C63A94 */ rbrew_write32(cpu->mem, _t3, cpu->r[30]);
|
|
/* 02C63A98 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C63A9C */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C63A9C */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02C63AA0 */ _t5 = cpu->r[31] + 0x00000024u;
|
|
/* 02C63AA0 */ cpu->r[29] = rbrew_read16(cpu->mem, _t5);
|
|
/* 02C63AA4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 02C63AA8 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C63AA8 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02C63AA8 */ if (_t7) goto L_02C63AF4; else goto L_02C63AAC;
|
|
L_02C63AAC: ; // 0x2c63aac
|
|
/* 02C63AAC */ cpu->r[30] = 0x00000000u;
|
|
L_02C63AB0: ; // 0x2c63ab0
|
|
/* 02C63AB0 */ _t8 = cpu->r[31] + 0x0000002Cu;
|
|
/* 02C63AB0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C63AB4 */ cpu->r[11] = 0x00000000u;
|
|
/* 02C63AB8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02C63ABC */ cpu->r[10] = cpu->r[31] + 0x0000002Cu;
|
|
/* 02C63AC0 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C63AC0 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02C63AC0 */ if (_t10) goto L_02C63AC8; else goto L_02C63AC4;
|
|
L_02C63AC4: ; // 0x2c63ac4
|
|
/* 02C63AC4 */ cpu->r[11] = cpu->r[10] + cpu->r[12];
|
|
L_02C63AC8: ; // 0x2c63ac8
|
|
/* 02C63AC8 */ cpu->r[12] = cpu->r[11] + cpu->r[30];
|
|
/* 02C63ACC */ _t11 = cpu->r[12] + 0x00000024u;
|
|
/* 02C63ACC */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02C63AD0 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C63AD4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C63AD8 */ cpu->r[9] = cpu->r[12] + 0x00000024u;
|
|
/* 02C63ADC */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C63ADC */ _t13 = _t12 & 0x00000001u;
|
|
/* 02C63ADC */ if (_t13) goto L_02C63AE4; else goto L_02C63AE0;
|
|
L_02C63AE0: ; // 0x2c63ae0
|
|
/* 02C63AE0 */ cpu->r[3] = cpu->r[9] + cpu->r[0];
|
|
L_02C63AE4: ; // 0x2c63ae4
|
|
/* 02C63AE4 */ Gambit_fn_02C630D8(cpu);
|
|
/* 02C63AE8 */ cpu->r[29] = cpu->r[29] + 0xFFFFFFFFu;
|
|
/* 02C63AE8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 02C63AEC */ cpu->r[30] = cpu->r[30] + 0x00000010u;
|
|
/* 02C63AF0 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C63AF0 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02C63AF0 */ if (_t15) goto L_02C63AF4; else goto L_02C63AB0;
|
|
L_02C63AF4: ; // 0x2c63af4
|
|
/* 02C63AF4 */ _t16 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C63AF4 */ cpu->r[29] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02C63AF8 */ _t17 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C63AF8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02C63AFC */ _t18 = cpu->r[1] + 0x00000010u;
|
|
/* 02C63AFC */ cpu->r[30] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02C63B00 */ cpu->lr = cpu->r[0];
|
|
/* 02C63B04 */ _t19 = cpu->r[1] + 0x00000014u;
|
|
/* 02C63B04 */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02C63B08 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C63B0C */ return;
|
|
}
|
|
|
|
// fn_02C63A88 @ 0x2c63a88
|
|
void Gambit_fn_02C63A88(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_02C63A88: ; // 0x2c63a88
|
|
/* 02C63A88 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02C63A88 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C63A88 */ cpu->r[1] = _t0;
|
|
/* 02C63A8C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C63A8C */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
|
|
/* 02C63A90 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02C63A90 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02C63A94 */ _t3 = cpu->r[1] + 0x00000010u;
|
|
/* 02C63A94 */ rbrew_write32(cpu->mem, _t3, cpu->r[30]);
|
|
/* 02C63A98 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C63A9C */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C63A9C */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02C63AA0 */ _t5 = cpu->r[31] + 0x00000024u;
|
|
/* 02C63AA0 */ cpu->r[29] = rbrew_read16(cpu->mem, _t5);
|
|
/* 02C63AA4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 02C63AA8 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C63AA8 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02C63AA8 */ if (_t7) goto L_02C63AF4; else goto L_02C63AAC;
|
|
L_02C63AAC: ; // 0x2c63aac
|
|
/* 02C63AAC */ cpu->r[30] = 0x00000000u;
|
|
L_02C63AB0: ; // 0x2c63ab0
|
|
/* 02C63AB0 */ _t8 = cpu->r[31] + 0x0000002Cu;
|
|
/* 02C63AB0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C63AB4 */ cpu->r[11] = 0x00000000u;
|
|
/* 02C63AB8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02C63ABC */ cpu->r[10] = cpu->r[31] + 0x0000002Cu;
|
|
/* 02C63AC0 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C63AC0 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02C63AC0 */ if (_t10) goto L_02C63AC8; else goto L_02C63AC4;
|
|
L_02C63AC4: ; // 0x2c63ac4
|
|
/* 02C63AC4 */ cpu->r[11] = cpu->r[10] + cpu->r[12];
|
|
L_02C63AC8: ; // 0x2c63ac8
|
|
/* 02C63AC8 */ cpu->r[12] = cpu->r[11] + cpu->r[30];
|
|
/* 02C63ACC */ _t11 = cpu->r[12] + 0x00000024u;
|
|
/* 02C63ACC */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02C63AD0 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C63AD4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C63AD8 */ cpu->r[9] = cpu->r[12] + 0x00000024u;
|
|
/* 02C63ADC */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C63ADC */ _t13 = _t12 & 0x00000001u;
|
|
/* 02C63ADC */ if (_t13) goto L_02C63AE4; else goto L_02C63AE0;
|
|
L_02C63AE0: ; // 0x2c63ae0
|
|
/* 02C63AE0 */ cpu->r[3] = cpu->r[9] + cpu->r[0];
|
|
L_02C63AE4: ; // 0x2c63ae4
|
|
/* 02C63AE4 */ Gambit_fn_02C630D8(cpu);
|
|
/* 02C63AE8 */ cpu->r[29] = cpu->r[29] + 0xFFFFFFFFu;
|
|
/* 02C63AE8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 02C63AEC */ cpu->r[30] = cpu->r[30] + 0x00000010u;
|
|
/* 02C63AF0 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C63AF0 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02C63AF0 */ if (_t15) goto L_02C63AF4; else goto L_02C63AB0;
|
|
L_02C63AF4: ; // 0x2c63af4
|
|
/* 02C63AF4 */ _t16 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C63AF4 */ cpu->r[29] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02C63AF8 */ _t17 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C63AF8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02C63AFC */ _t18 = cpu->r[1] + 0x00000010u;
|
|
/* 02C63AFC */ cpu->r[30] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02C63B00 */ cpu->lr = cpu->r[0];
|
|
/* 02C63B04 */ _t19 = cpu->r[1] + 0x00000014u;
|
|
/* 02C63B04 */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02C63B08 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C63B0C */ return;
|
|
}
|
|
|
|
// fn_02C63B10 @ 0x2c63b10
|
|
void Gambit_fn_02C63B10(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8;
|
|
|
|
L_02C63B10: ; // 0x2c63b10
|
|
/* 02C63B10 */ cpu->r[0] = 0x46530000u;
|
|
/* 02C63B14 */ _t0 = cpu->r[3] + 0x00000000u;
|
|
/* 02C63B14 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02C63B18 */ cpu->r[0] = cpu->r[0] | 0x00004841u;
|
|
/* 02C63B1C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[0]);
|
|
/* 02C63B20 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C63B20 */ _t2 = _t1 & 0x00000001u;
|
|
/* 02C63B20 */ if (_t2) goto L_02C63B24; else goto L_02C63B44;
|
|
L_02C63B24: ; // 0x2c63b24
|
|
/* 02C63B24 */ cpu->r[0] = 0x03050000u;
|
|
/* 02C63B28 */ _t3 = cpu->r[3] + 0x00000004u;
|
|
/* 02C63B28 */ cpu->r[12] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02C63B2C */ cpu->r[0] = cpu->r[0] | 0x00000004u;
|
|
/* 02C63B30 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[0]);
|
|
/* 02C63B34 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C63B34 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02C63B34 */ if (_t5) goto L_02C63B38; else goto L_02C63B44;
|
|
L_02C63B38: ; // 0x2c63b38
|
|
/* 02C63B38 */ _t6 = cpu->r[3] + 0x00000008u;
|
|
/* 02C63B38 */ cpu->r[11] = rbrew_read16(cpu->mem, _t6);
|
|
/* 02C63B3C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], 0x0000FEFFu);
|
|
/* 02C63B40 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C63B40 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02C63B40 */ if (_t8) goto L_02C63B4C; else goto L_02C63B44;
|
|
L_02C63B44: ; // 0x2c63b44
|
|
/* 02C63B44 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C63B48 */ return;
|
|
L_02C63B4C: ; // 0x2c63b4c
|
|
/* 02C63B4C */ cpu->r[3] = 0x00000001u;
|
|
/* 02C63B50 */ return;
|
|
}
|
|
|
|
// fn_02C63B54 @ 0x2c63b54
|
|
void Gambit_fn_02C63B54(CPUState* cpu) {
|
|
L_02C63B54: ; // 0x2c63b54
|
|
/* 02C63B54 */ return;
|
|
}
|
|
|
|
// fn_02C63B58 @ 0x2c63b58
|
|
void Gambit_fn_02C63B58(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_02C63B58: ; // 0x2c63b58
|
|
/* 02C63B58 */ _t0 = cpu->r[1] + 0xFFFFFFD0u;
|
|
/* 02C63B58 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C63B58 */ cpu->r[1] = _t0;
|
|
/* 02C63B5C */ /* nop */
|
|
/* 02C63B60 */ cpu->r[0] = cpu->lr;
|
|
/* 02C63B64 */ _t1 = cpu->r[1] + 0x00000034u;
|
|
/* 02C63B64 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02C63B68 */ cpu->r[26] = cpu->r[3];
|
|
/* 02C63B6C */ _t2 = cpu->r[26] + 0x0000000Cu;
|
|
/* 02C63B6C */ cpu->r[5] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02C63B70 */ cpu->r[0] = rbrew_rlwinm(cpu->r[5], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02C63B70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C63B74 */ cpu->r[31] = 0x00000000u;
|
|
/* 02C63B78 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C63B78 */ _t4 = _t3 & 0x00000001u;
|
|
/* 02C63B78 */ if (_t4) goto L_02C63C60; else goto L_02C63B7C;
|
|
L_02C63B7C: ; // 0x2c63b7c
|
|
/* 02C63B7C */ _t5 = cpu->r[26] + 0x00000014u;
|
|
/* 02C63B7C */ cpu->r[28] = rbrew_read16(cpu->mem, _t5);
|
|
/* 02C63B80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 02C63B84 */ cpu->r[23] = 0x00000000u;
|
|
/* 02C63B88 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C63B88 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02C63B88 */ if (_t7) goto L_02C63C58; else goto L_02C63B8C;
|
|
L_02C63B8C: ; // 0x2c63b8c
|
|
/* 02C63B8C */ cpu->r[24] = cpu->r[26] + 0x0000002Cu;
|
|
/* 02C63B90 */ cpu->r[30] = 0x00000000u;
|
|
L_02C63B94: ; // 0x2c63b94
|
|
/* 02C63B94 */ _t8 = cpu->r[24] + 0x00000000u;
|
|
/* 02C63B94 */ cpu->r[12] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C63B98 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02C63B9C */ cpu->r[6] = 0x00000000u;
|
|
/* 02C63BA0 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C63BA0 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02C63BA0 */ if (_t10) goto L_02C63BA8; else goto L_02C63BA4;
|
|
L_02C63BA4: ; // 0x2c63ba4
|
|
/* 02C63BA4 */ cpu->r[6] = cpu->r[24] + cpu->r[12];
|
|
L_02C63BA8: ; // 0x2c63ba8
|
|
/* 02C63BA8 */ cpu->r[8] = cpu->r[6] + cpu->r[30];
|
|
/* 02C63BAC */ _t11 = cpu->r[8] + 0x00000002u;
|
|
/* 02C63BAC */ cpu->r[27] = rbrew_read16(cpu->mem, _t11);
|
|
/* 02C63BB0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 02C63BB4 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C63BB4 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02C63BB4 */ if (_t13) goto L_02C63C48; else goto L_02C63BB8;
|
|
L_02C63BB8: ; // 0x2c63bb8
|
|
/* 02C63BB8 */ cpu->r[25] = cpu->r[8] + 0x00000018u;
|
|
/* 02C63BBC */ cpu->r[29] = 0x00000000u;
|
|
L_02C63BC0: ; // 0x2c63bc0
|
|
/* 02C63BC0 */ _t14 = cpu->r[25] + 0x00000000u;
|
|
/* 02C63BC0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02C63BC4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C63BC8 */ cpu->r[11] = 0x00000000u;
|
|
/* 02C63BCC */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C63BCC */ _t16 = _t15 & 0x00000001u;
|
|
/* 02C63BCC */ if (_t16) goto L_02C63BD4; else goto L_02C63BD0;
|
|
L_02C63BD0: ; // 0x2c63bd0
|
|
/* 02C63BD0 */ cpu->r[11] = cpu->r[25] + cpu->r[0];
|
|
L_02C63BD4: ; // 0x2c63bd4
|
|
/* 02C63BD4 */ _t17 = cpu->r[11] + cpu->r[29];
|
|
/* 02C63BD4 */ cpu->r[9] = rbrew_read16(cpu->mem, _t17);
|
|
/* 02C63BD8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[23], 0x00000000u);
|
|
/* 02C63BDC */ cpu->r[3] = cpu->r[11] + cpu->r[29];
|
|
/* 02C63BE0 */ cpu->r[0] = rbrew_rlwinm(cpu->r[9], 0x00000000u, 0x00000019u, 0x0000001Bu);
|
|
/* 02C63BE4 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C63BE4 */ _t19 = _t18 & 0x00000001u;
|
|
/* 02C63BE4 */ if (_t19) goto L_02C63BE8; else goto L_02C63C1C;
|
|
L_02C63BE8: ; // 0x2c63be8
|
|
/* 02C63BE8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000020u);
|
|
/* 02C63BEC */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C63BEC */ _t21 = _t20 & 0x00000001u;
|
|
/* 02C63BEC */ if (_t21) goto L_02C63C00; else goto L_02C63BF0;
|
|
L_02C63BF0: ; // 0x2c63bf0
|
|
/* 02C63BF0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000050u);
|
|
/* 02C63BF4 */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C63BF4 */ _t23 = _t22 & 0x00000001u;
|
|
/* 02C63BF4 */ if (_t23) goto L_02C63C00; else goto L_02C63BF8;
|
|
L_02C63BF8: ; // 0x2c63bf8
|
|
/* 02C63BF8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000070u);
|
|
/* 02C63BFC */ _t24 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C63BFC */ _t25 = _t24 & 0x00000001u;
|
|
/* 02C63BFC */ if (_t25) goto L_02C63C00; else goto L_02C63C1C;
|
|
L_02C63C00: ; // 0x2c63c00
|
|
/* 02C63C00 */ _t26 = cpu->r[3] + 0x00000020u;
|
|
/* 02C63C00 */ cpu->r[4] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02C63C04 */ cpu->r[12] = cpu->r[3] + 0x00000020u;
|
|
/* 02C63C08 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
|
|
/* 02C63C0C */ cpu->r[31] = 0x00000000u;
|
|
/* 02C63C10 */ _t27 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C63C10 */ _t28 = _t27 & 0x00000001u;
|
|
/* 02C63C10 */ if (_t28) goto L_02C63C18; else goto L_02C63C14;
|
|
L_02C63C14: ; // 0x2c63c14
|
|
/* 02C63C14 */ cpu->r[31] = cpu->r[12] + cpu->r[4];
|
|
L_02C63C18: ; // 0x2c63c18
|
|
/* 02C63C18 */ cpu->r[23] = 0x00000001u;
|
|
L_02C63C1C: ; // 0x2c63c1c
|
|
/* 02C63C1C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000040u);
|
|
/* 02C63C20 */ _t29 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C63C20 */ _t30 = _t29 & 0x00000001u;
|
|
/* 02C63C20 */ if (_t30) goto L_02C63C24; else goto L_02C63C38;
|
|
L_02C63C24: ; // 0x2c63c24
|
|
/* 02C63C24 */ Gambit_fn_02C5F538(cpu);
|
|
/* 02C63C28 */ cpu->r[27] = cpu->r[27] + 0xFFFFFFFFu;
|
|
/* 02C63C28 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 02C63C2C */ cpu->r[29] = cpu->r[29] + 0x00000024u;
|
|
/* 02C63C30 */ _t31 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C63C30 */ _t32 = _t31 & 0x00000001u;
|
|
/* 02C63C30 */ if (_t32) goto L_02C63C34; else goto L_02C63BC0;
|
|
L_02C63C34: ; // 0x2c63c34
|
|
/* 02C63C34 */ goto L_02C63C48;
|
|
L_02C63C38: ; // 0x2c63c38
|
|
/* 02C63C38 */ Gambit_fn_02C5F5DC(cpu);
|
|
/* 02C63C3C */ cpu->r[27] = cpu->r[27] + 0xFFFFFFFFu;
|
|
/* 02C63C3C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 02C63C40 */ cpu->r[29] = cpu->r[29] + 0x00000024u;
|
|
/* 02C63C44 */ _t33 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C63C44 */ _t34 = _t33 & 0x00000001u;
|
|
/* 02C63C44 */ if (_t34) goto L_02C63C48; else goto L_02C63BC0;
|
|
L_02C63C48: ; // 0x2c63c48
|
|
/* 02C63C48 */ cpu->r[28] = cpu->r[28] + 0xFFFFFFFFu;
|
|
/* 02C63C48 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 02C63C4C */ cpu->r[30] = cpu->r[30] + 0x00000020u;
|
|
/* 02C63C50 */ _t35 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C63C50 */ _t36 = _t35 & 0x00000001u;
|
|
/* 02C63C50 */ if (_t36) goto L_02C63C54; else goto L_02C63B94;
|
|
L_02C63C54: ; // 0x2c63c54
|
|
/* 02C63C54 */ _t37 = cpu->r[26] + 0x0000000Cu;
|
|
/* 02C63C54 */ cpu->r[5] = rbrew_read32(cpu->mem, _t37);
|
|
L_02C63C58: ; // 0x2c63c58
|
|
/* 02C63C58 */ cpu->r[0] = cpu->r[5] ^ 0x00000001u;
|
|
/* 02C63C5C */ _t38 = cpu->r[26] + 0x0000000Cu;
|
|
/* 02C63C5C */ rbrew_write32(cpu->mem, _t38, cpu->r[0]);
|
|
L_02C63C60: ; // 0x2c63c60
|
|
/* 02C63C60 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C63C64 */ /* nop */
|
|
/* 02C63C68 */ _t39 = cpu->r[1] + 0x00000034u;
|
|
/* 02C63C68 */ cpu->r[0] = rbrew_read32(cpu->mem, _t39);
|
|
/* 02C63C6C */ cpu->lr = cpu->r[0];
|
|
/* 02C63C70 */ cpu->r[1] = cpu->r[1] + 0x00000030u;
|
|
/* 02C63C74 */ return;
|
|
}
|
|
|
|
// fn_02C63C78 @ 0x2c63c78
|
|
void Gambit_fn_02C63C78(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_02C63B58: ; // 0x2c63b58
|
|
/* 02C63B58 */ _t0 = cpu->r[1] + 0xFFFFFFD0u;
|
|
/* 02C63B58 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C63B58 */ cpu->r[1] = _t0;
|
|
/* 02C63B5C */ /* nop */
|
|
/* 02C63B60 */ cpu->r[0] = cpu->lr;
|
|
/* 02C63B64 */ _t1 = cpu->r[1] + 0x00000034u;
|
|
/* 02C63B64 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02C63B68 */ cpu->r[26] = cpu->r[3];
|
|
/* 02C63B6C */ _t2 = cpu->r[26] + 0x0000000Cu;
|
|
/* 02C63B6C */ cpu->r[5] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02C63B70 */ cpu->r[0] = rbrew_rlwinm(cpu->r[5], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02C63B70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C63B74 */ cpu->r[31] = 0x00000000u;
|
|
/* 02C63B78 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C63B78 */ _t4 = _t3 & 0x00000001u;
|
|
/* 02C63B78 */ if (_t4) goto L_02C63C60; else goto L_02C63B7C;
|
|
L_02C63B7C: ; // 0x2c63b7c
|
|
/* 02C63B7C */ _t5 = cpu->r[26] + 0x00000014u;
|
|
/* 02C63B7C */ cpu->r[28] = rbrew_read16(cpu->mem, _t5);
|
|
/* 02C63B80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 02C63B84 */ cpu->r[23] = 0x00000000u;
|
|
/* 02C63B88 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C63B88 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02C63B88 */ if (_t7) goto L_02C63C58; else goto L_02C63B8C;
|
|
L_02C63B8C: ; // 0x2c63b8c
|
|
/* 02C63B8C */ cpu->r[24] = cpu->r[26] + 0x0000002Cu;
|
|
/* 02C63B90 */ cpu->r[30] = 0x00000000u;
|
|
L_02C63B94: ; // 0x2c63b94
|
|
/* 02C63B94 */ _t8 = cpu->r[24] + 0x00000000u;
|
|
/* 02C63B94 */ cpu->r[12] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C63B98 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02C63B9C */ cpu->r[6] = 0x00000000u;
|
|
/* 02C63BA0 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C63BA0 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02C63BA0 */ if (_t10) goto L_02C63BA8; else goto L_02C63BA4;
|
|
L_02C63BA4: ; // 0x2c63ba4
|
|
/* 02C63BA4 */ cpu->r[6] = cpu->r[24] + cpu->r[12];
|
|
L_02C63BA8: ; // 0x2c63ba8
|
|
/* 02C63BA8 */ cpu->r[8] = cpu->r[6] + cpu->r[30];
|
|
/* 02C63BAC */ _t11 = cpu->r[8] + 0x00000002u;
|
|
/* 02C63BAC */ cpu->r[27] = rbrew_read16(cpu->mem, _t11);
|
|
/* 02C63BB0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 02C63BB4 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C63BB4 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02C63BB4 */ if (_t13) goto L_02C63C48; else goto L_02C63BB8;
|
|
L_02C63BB8: ; // 0x2c63bb8
|
|
/* 02C63BB8 */ cpu->r[25] = cpu->r[8] + 0x00000018u;
|
|
/* 02C63BBC */ cpu->r[29] = 0x00000000u;
|
|
L_02C63BC0: ; // 0x2c63bc0
|
|
/* 02C63BC0 */ _t14 = cpu->r[25] + 0x00000000u;
|
|
/* 02C63BC0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02C63BC4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C63BC8 */ cpu->r[11] = 0x00000000u;
|
|
/* 02C63BCC */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C63BCC */ _t16 = _t15 & 0x00000001u;
|
|
/* 02C63BCC */ if (_t16) goto L_02C63BD4; else goto L_02C63BD0;
|
|
L_02C63BD0: ; // 0x2c63bd0
|
|
/* 02C63BD0 */ cpu->r[11] = cpu->r[25] + cpu->r[0];
|
|
L_02C63BD4: ; // 0x2c63bd4
|
|
/* 02C63BD4 */ _t17 = cpu->r[11] + cpu->r[29];
|
|
/* 02C63BD4 */ cpu->r[9] = rbrew_read16(cpu->mem, _t17);
|
|
/* 02C63BD8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[23], 0x00000000u);
|
|
/* 02C63BDC */ cpu->r[3] = cpu->r[11] + cpu->r[29];
|
|
/* 02C63BE0 */ cpu->r[0] = rbrew_rlwinm(cpu->r[9], 0x00000000u, 0x00000019u, 0x0000001Bu);
|
|
/* 02C63BE4 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C63BE4 */ _t19 = _t18 & 0x00000001u;
|
|
/* 02C63BE4 */ if (_t19) goto L_02C63BE8; else goto L_02C63C1C;
|
|
L_02C63BE8: ; // 0x2c63be8
|
|
/* 02C63BE8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000020u);
|
|
/* 02C63BEC */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C63BEC */ _t21 = _t20 & 0x00000001u;
|
|
/* 02C63BEC */ if (_t21) goto L_02C63C00; else goto L_02C63BF0;
|
|
L_02C63BF0: ; // 0x2c63bf0
|
|
/* 02C63BF0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000050u);
|
|
/* 02C63BF4 */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C63BF4 */ _t23 = _t22 & 0x00000001u;
|
|
/* 02C63BF4 */ if (_t23) goto L_02C63C00; else goto L_02C63BF8;
|
|
L_02C63BF8: ; // 0x2c63bf8
|
|
/* 02C63BF8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000070u);
|
|
/* 02C63BFC */ _t24 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C63BFC */ _t25 = _t24 & 0x00000001u;
|
|
/* 02C63BFC */ if (_t25) goto L_02C63C00; else goto L_02C63C1C;
|
|
L_02C63C00: ; // 0x2c63c00
|
|
/* 02C63C00 */ _t26 = cpu->r[3] + 0x00000020u;
|
|
/* 02C63C00 */ cpu->r[4] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02C63C04 */ cpu->r[12] = cpu->r[3] + 0x00000020u;
|
|
/* 02C63C08 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
|
|
/* 02C63C0C */ cpu->r[31] = 0x00000000u;
|
|
/* 02C63C10 */ _t27 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C63C10 */ _t28 = _t27 & 0x00000001u;
|
|
/* 02C63C10 */ if (_t28) goto L_02C63C18; else goto L_02C63C14;
|
|
L_02C63C14: ; // 0x2c63c14
|
|
/* 02C63C14 */ cpu->r[31] = cpu->r[12] + cpu->r[4];
|
|
L_02C63C18: ; // 0x2c63c18
|
|
/* 02C63C18 */ cpu->r[23] = 0x00000001u;
|
|
L_02C63C1C: ; // 0x2c63c1c
|
|
/* 02C63C1C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000040u);
|
|
/* 02C63C20 */ _t29 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C63C20 */ _t30 = _t29 & 0x00000001u;
|
|
/* 02C63C20 */ if (_t30) goto L_02C63C24; else goto L_02C63C38;
|
|
L_02C63C24: ; // 0x2c63c24
|
|
/* 02C63C24 */ Gambit_fn_02C5F538(cpu);
|
|
/* 02C63C28 */ cpu->r[27] = cpu->r[27] + 0xFFFFFFFFu;
|
|
/* 02C63C28 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 02C63C2C */ cpu->r[29] = cpu->r[29] + 0x00000024u;
|
|
/* 02C63C30 */ _t31 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C63C30 */ _t32 = _t31 & 0x00000001u;
|
|
/* 02C63C30 */ if (_t32) goto L_02C63C34; else goto L_02C63BC0;
|
|
L_02C63C34: ; // 0x2c63c34
|
|
/* 02C63C34 */ goto L_02C63C48;
|
|
L_02C63C38: ; // 0x2c63c38
|
|
/* 02C63C38 */ Gambit_fn_02C5F5DC(cpu);
|
|
/* 02C63C3C */ cpu->r[27] = cpu->r[27] + 0xFFFFFFFFu;
|
|
/* 02C63C3C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 02C63C40 */ cpu->r[29] = cpu->r[29] + 0x00000024u;
|
|
/* 02C63C44 */ _t33 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C63C44 */ _t34 = _t33 & 0x00000001u;
|
|
/* 02C63C44 */ if (_t34) goto L_02C63C48; else goto L_02C63BC0;
|
|
L_02C63C48: ; // 0x2c63c48
|
|
/* 02C63C48 */ cpu->r[28] = cpu->r[28] + 0xFFFFFFFFu;
|
|
/* 02C63C48 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 02C63C4C */ cpu->r[30] = cpu->r[30] + 0x00000020u;
|
|
/* 02C63C50 */ _t35 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C63C50 */ _t36 = _t35 & 0x00000001u;
|
|
/* 02C63C50 */ if (_t36) goto L_02C63C54; else goto L_02C63B94;
|
|
L_02C63C54: ; // 0x2c63c54
|
|
/* 02C63C54 */ _t37 = cpu->r[26] + 0x0000000Cu;
|
|
/* 02C63C54 */ cpu->r[5] = rbrew_read32(cpu->mem, _t37);
|
|
L_02C63C58: ; // 0x2c63c58
|
|
/* 02C63C58 */ cpu->r[0] = cpu->r[5] ^ 0x00000001u;
|
|
/* 02C63C5C */ _t38 = cpu->r[26] + 0x0000000Cu;
|
|
/* 02C63C5C */ rbrew_write32(cpu->mem, _t38, cpu->r[0]);
|
|
L_02C63C60: ; // 0x2c63c60
|
|
/* 02C63C60 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C63C64 */ /* nop */
|
|
/* 02C63C68 */ _t39 = cpu->r[1] + 0x00000034u;
|
|
/* 02C63C68 */ cpu->r[0] = rbrew_read32(cpu->mem, _t39);
|
|
/* 02C63C6C */ cpu->lr = cpu->r[0];
|
|
/* 02C63C70 */ cpu->r[1] = cpu->r[1] + 0x00000030u;
|
|
/* 02C63C74 */ return;
|
|
L_02C63C78: ; // 0x2c63c78
|
|
/* 02C63C78 */ _t40 = cpu->r[3] + 0x00000028u;
|
|
/* 02C63C78 */ cpu->r[9] = rbrew_read32(cpu->mem, _t40);
|
|
/* 02C63C7C */ cpu->r[5] = 0x00000000u;
|
|
/* 02C63C80 */ cpu->r[12] = cpu->r[3] + 0x00000028u;
|
|
/* 02C63C84 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 02C63C88 */ _t41 = cpu->r[3] + 0x00000024u;
|
|
/* 02C63C88 */ rbrew_write32(cpu->mem, _t41, cpu->r[5]);
|
|
/* 02C63C8C */ _t42 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C63C8C */ _t43 = _t42 & 0x00000001u;
|
|
/* 02C63C8C */ if (_t43) goto L_02C63C94; else goto L_02C63C90;
|
|
L_02C63C90: ; // 0x2c63c90
|
|
/* 02C63C90 */ cpu->r[5] = cpu->r[12] + cpu->r[9];
|
|
L_02C63C94: ; // 0x2c63c94
|
|
/* 02C63C94 */ _t44 = cpu->r[3] + 0x00000014u;
|
|
/* 02C63C94 */ cpu->r[9] = rbrew_read16(cpu->mem, _t44);
|
|
/* 02C63C98 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 02C63C9C */ _t45 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C63C9C */ _t46 = _t45 & 0x00000001u;
|
|
/* 02C63C9C */ if (_t46) goto L_02C63D18; else goto L_02C63CA0;
|
|
L_02C63CA0: ; // 0x2c63ca0
|
|
/* 02C63CA0 */ cpu->r[0] = 0x00000000u;
|
|
/* 02C63CA4 */ cpu->r[8] = 0x00000000u;
|
|
/* 02C63CA8 */ cpu->r[6] = cpu->r[5] + 0xFFFFFFFEu;
|
|
/* 02C63CAC */ cpu->r[0] = cpu->r[0] | 0x0000FFFFu;
|
|
/* 02C63CB0 */ cpu->r[4] = cpu->r[3] + 0x0000002Cu;
|
|
L_02C63CB4: ; // 0x2c63cb4
|
|
/* 02C63CB4 */ _t47 = cpu->r[4] + 0x00000000u;
|
|
/* 02C63CB4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t47);
|
|
/* 02C63CB8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02C63CBC */ cpu->r[7] = 0x00000000u;
|
|
/* 02C63CC0 */ _t48 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C63CC0 */ _t49 = _t48 & 0x00000001u;
|
|
/* 02C63CC0 */ if (_t49) goto L_02C63CC8; else goto L_02C63CC4;
|
|
L_02C63CC4: ; // 0x2c63cc4
|
|
/* 02C63CC4 */ cpu->r[7] = cpu->r[4] + cpu->r[10];
|
|
L_02C63CC8: ; // 0x2c63cc8
|
|
/* 02C63CC8 */ cpu->r[10] = cpu->r[7] + cpu->r[8];
|
|
/* 02C63CCC */ _t50 = cpu->r[10] + 0x00000014u;
|
|
/* 02C63CCC */ cpu->r[11] = rbrew_read32(cpu->mem, _t50);
|
|
/* 02C63CD0 */ cpu->r[12] = 0x00000000u;
|
|
/* 02C63CD4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02C63CD8 */ cpu->r[7] = cpu->r[10] + 0x00000014u;
|
|
/* 02C63CDC */ _t51 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C63CDC */ _t52 = _t51 & 0x00000001u;
|
|
/* 02C63CDC */ if (_t52) goto L_02C63CE4; else goto L_02C63CE0;
|
|
L_02C63CE0: ; // 0x2c63ce0
|
|
/* 02C63CE0 */ cpu->r[12] = cpu->r[7] + cpu->r[11];
|
|
L_02C63CE4: ; // 0x2c63ce4
|
|
/* 02C63CE4 */ _t53 = cpu->r[10] + 0x00000000u;
|
|
/* 02C63CE4 */ cpu->r[7] = rbrew_read16(cpu->mem, _t53);
|
|
/* 02C63CE8 */ cpu->r[5] = 0x00000000u;
|
|
/* 02C63CEC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], cpu->r[7]);
|
|
/* 02C63CF0 */ _t54 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C63CF0 */ _t55 = _t54 & 0x00000001u;
|
|
/* 02C63CF0 */ if (_t55) goto L_02C63CF4; else goto L_02C63D08;
|
|
L_02C63CF4: ; // 0x2c63cf4
|
|
/* 02C63CF4 */ cpu->r[5] = cpu->r[5] + 0x00000001u;
|
|
/* 02C63CF8 */ _t56 = cpu->r[12] + 0x0000000Au;
|
|
/* 02C63CF8 */ rbrew_write16(cpu->mem, _t56, (uint16_t)cpu->r[0]);
|
|
/* 02C63CFC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], cpu->r[7]);
|
|
/* 02C63D00 */ cpu->r[12] = cpu->r[12] + 0x00000010u;
|
|
/* 02C63D04 */ _t57 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C63D04 */ _t58 = _t57 & 0x00000001u;
|
|
/* 02C63D04 */ if (_t58) goto L_02C63CF4; else goto L_02C63D08;
|
|
L_02C63D08: ; // 0x2c63d08
|
|
/* 02C63D08 */ cpu->r[9] = cpu->r[9] + 0xFFFFFFFFu;
|
|
/* 02C63D08 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 02C63D0C */ cpu->r[8] = cpu->r[8] + 0x00000020u;
|
|
/* 02C63D10 */ _t59 = cpu->r[6] + 0x00000002u;
|
|
/* 02C63D10 */ rbrew_write16(cpu->mem, _t59, (uint16_t)cpu->r[0]);
|
|
/* 02C63D10 */ cpu->r[6] = _t59;
|
|
/* 02C63D14 */ _t60 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C63D14 */ _t61 = _t60 & 0x00000001u;
|
|
/* 02C63D14 */ if (_t61) goto L_02C63D18; else goto L_02C63CB4;
|
|
L_02C63D18: ; // 0x2c63d18
|
|
/* 02C63D18 */ goto L_02C63B58;
|
|
}
|
|
|
|
// fn_02C63D1C @ 0x2c63d1c
|
|
void Gambit_fn_02C63D1C(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;
|
|
|
|
L_02C63D1C: ; // 0x2c63d1c
|
|
/* 02C63D1C */ _t0 = cpu->r[1] + 0xFFFFFF88u;
|
|
/* 02C63D1C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C63D1C */ cpu->r[1] = _t0;
|
|
/* 02C63D20 */ /* nop */
|
|
/* 02C63D24 */ _t1 = cpu->r[1] + 0x00000048u;
|
|
/* 02C63D24 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[29]);
|
|
/* 02C63D28 */ /* nop */
|
|
/* 02C63D2C */ _t2 = cpu->r[1] + 0x00000058u;
|
|
/* 02C63D2C */ rbrew_write_f64(cpu->mem, _t2, cpu->f[30]);
|
|
/* 02C63D30 */ _t3 = cpu->r[1] + 0x00000050u;
|
|
/* 02C63D30 */ rbrew_write_f32(cpu->mem, _t3, cpu->f[29]);
|
|
/* 02C63D34 */ /* nop */
|
|
/* 02C63D38 */ _t4 = cpu->r[1] + 0x00000060u;
|
|
/* 02C63D38 */ rbrew_write_f32(cpu->mem, _t4, cpu->f[30]);
|
|
/* 02C63D3C */ cpu->r[0] = cpu->lr;
|
|
/* 02C63D40 */ _t5 = cpu->r[1] + 0x00000068u;
|
|
/* 02C63D40 */ rbrew_write_f64(cpu->mem, _t5, cpu->f[31]);
|
|
/* 02C63D44 */ _t6 = cpu->r[1] + 0x0000007Cu;
|
|
/* 02C63D44 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02C63D48 */ /* nop */
|
|
/* 02C63D4C */ _t7 = cpu->r[1] + 0x00000070u;
|
|
/* 02C63D4C */ rbrew_write_f32(cpu->mem, _t7, cpu->f[31]);
|
|
/* 02C63D50 */ cpu->r[26] = cpu->r[4];
|
|
/* 02C63D54 */ cpu->r[25] = 0x00000000u;
|
|
/* 02C63D58 */ _t8 = cpu->r[3] + 0x00000014u;
|
|
/* 02C63D58 */ cpu->r[8] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C63D5C */ cpu->f[30] = cpu->f[1];
|
|
/* 02C63D60 */ cpu->r[31] = cpu->r[25];
|
|
/* 02C63D64 */ cpu->r[4] = cpu->r[3] + 0x00000014u;
|
|
/* 02C63D68 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 02C63D6C */ _t9 = cpu->r[3] + 0x00000018u;
|
|
/* 02C63D6C */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02C63D70 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C63D70 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02C63D70 */ if (_t11) goto L_02C63D78; else goto L_02C63D74;
|
|
L_02C63D74: ; // 0x2c63d74
|
|
/* 02C63D74 */ cpu->r[31] = cpu->r[4] + cpu->r[8];
|
|
L_02C63D78: ; // 0x2c63d78
|
|
/* 02C63D78 */ cpu->r[24] = 0x00000000u;
|
|
/* 02C63D7C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C63D80 */ cpu->r[10] = cpu->r[3] + 0x00000018u;
|
|
/* 02C63D84 */ _t12 = cpu->r[3] + 0x00000000u;
|
|
/* 02C63D84 */ cpu->r[22] = rbrew_read16(cpu->mem, _t12);
|
|
/* 02C63D88 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C63D88 */ _t14 = _t13 & 0x00000001u;
|
|
/* 02C63D88 */ if (_t14) goto L_02C63D90; else goto L_02C63D8C;
|
|
L_02C63D8C: ; // 0x2c63d8c
|
|
/* 02C63D8C */ cpu->r[24] = cpu->r[10] + cpu->r[0];
|
|
L_02C63D90: ; // 0x2c63d90
|
|
/* 02C63D90 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[22], 0x00000000u);
|
|
/* 02C63D94 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C63D94 */ _t16 = _t15 & 0x00000001u;
|
|
/* 02C63D94 */ if (_t16) goto L_02C63E64; else goto L_02C63D98;
|
|
L_02C63D98: ; // 0x2c63d98
|
|
/* 02C63D98 */ cpu->r[12] = 0x101B0000u;
|
|
/* 02C63D9C */ _t17 = cpu->r[12] + 0xFFFFF1B4u;
|
|
/* 02C63D9C */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t17);
|
|
/* 02C63DA0 */ cpu->r[23] = cpu->r[5] + 0xFFFFFFFEu;
|
|
L_02C63DA4: ; // 0x2c63da4
|
|
/* 02C63DA4 */ _t18 = cpu->r[23] + 0x00000002u;
|
|
/* 02C63DA4 */ cpu->r[12] = rbrew_read16(cpu->mem, _t18);
|
|
/* 02C63DA4 */ cpu->r[23] = _t18;
|
|
/* 02C63DA8 */ _t19 = cpu->r[31] + 0x00000004u;
|
|
/* 02C63DA8 */ cpu->r[30] = rbrew_read16(cpu->mem, _t19);
|
|
/* 02C63DAC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], 0x0000FFFFu);
|
|
/* 02C63DB0 */ _t20 = cpu->r[31] + 0x00000002u;
|
|
/* 02C63DB0 */ cpu->r[29] = rbrew_read16(cpu->mem, _t20);
|
|
/* 02C63DB4 */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C63DB4 */ _t22 = _t21 & 0x00000001u;
|
|
/* 02C63DB4 */ if (_t22) goto L_02C63DB8; else goto L_02C63DD0;
|
|
L_02C63DB8: ; // 0x2c63db8
|
|
/* 02C63DB8 */ cpu->r[0] = cpu->r[30] + cpu->r[29];
|
|
/* 02C63DBC */ cpu->r[22] = cpu->r[22] + 0xFFFFFFFFu;
|
|
/* 02C63DBC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[22], 0x00000000u);
|
|
/* 02C63DC0 */ cpu->r[31] = cpu->r[31] + 0x00000010u;
|
|
/* 02C63DC4 */ cpu->r[25] = cpu->r[25] + cpu->r[0];
|
|
/* 02C63DC8 */ _t23 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C63DC8 */ _t24 = _t23 & 0x00000001u;
|
|
/* 02C63DC8 */ if (_t24) goto L_02C63DCC; else goto L_02C63DA4;
|
|
L_02C63DCC: ; // 0x2c63dcc
|
|
/* 02C63DCC */ goto L_02C63E64;
|
|
L_02C63DD0: ; // 0x2c63dd0
|
|
/* 02C63DD0 */ cpu->r[0] = rbrew_rlwinm(cpu->r[25], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02C63DD4 */ cpu->r[6] = (uint32_t)((int32_t)cpu->r[25] * (int32_t)0x00000024u);
|
|
/* 02C63DD8 */ cpu->r[25] = cpu->r[25] + cpu->r[30];
|
|
/* 02C63DDC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02C63DE0 */ cpu->r[28] = cpu->r[26] + cpu->r[0];
|
|
/* 02C63DE4 */ cpu->r[27] = cpu->r[24] + cpu->r[6];
|
|
/* 02C63DE8 */ _t25 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C63DE8 */ _t26 = _t25 & 0x00000001u;
|
|
/* 02C63DE8 */ if (_t26) goto L_02C63DEC; else goto L_02C63E18;
|
|
L_02C63DEC: ; // 0x2c63dec
|
|
/* 02C63DEC */ cpu->f[29] = cpu->f[31];
|
|
/* 02C63DF0 */ cpu->r[28] = cpu->r[28] + 0xFFFFFFFCu;
|
|
L_02C63DF4: ; // 0x2c63df4
|
|
/* 02C63DF4 */ cpu->f[1] = cpu->f[30];
|
|
/* 02C63DF8 */ _t27 = cpu->r[1] + 0x00000008u;
|
|
/* 02C63DF8 */ rbrew_write_f32(cpu->mem, _t27, cpu->f[29]);
|
|
/* 02C63DFC */ cpu->r[3] = cpu->r[27];
|
|
/* 02C63E00 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02C63E04 */ Gambit_fn_02C5F678(cpu);
|
|
/* 02C63E08 */ cpu->r[30] = cpu->r[30] + 0xFFFFFFFFu;
|
|
/* 02C63E08 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02C63E0C */ cpu->r[27] = cpu->r[27] + 0x00000024u;
|
|
/* 02C63E10 */ _t28 = cpu->r[28] + 0x00000004u;
|
|
/* 02C63E10 */ rbrew_write32(cpu->mem, _t28, cpu->r[3]);
|
|
/* 02C63E10 */ cpu->r[28] = _t28;
|
|
/* 02C63E14 */ _t29 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C63E14 */ _t30 = _t29 & 0x00000001u;
|
|
/* 02C63E14 */ if (_t30) goto L_02C63E18; else goto L_02C63DF4;
|
|
L_02C63E18: ; // 0x2c63e18
|
|
/* 02C63E18 */ cpu->r[0] = rbrew_rlwinm(cpu->r[25], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02C63E1C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 02C63E20 */ cpu->r[25] = cpu->r[25] + cpu->r[29];
|
|
/* 02C63E24 */ cpu->r[30] = cpu->r[26] + cpu->r[0];
|
|
/* 02C63E28 */ _t31 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C63E28 */ _t32 = _t31 & 0x00000001u;
|
|
/* 02C63E28 */ if (_t32) goto L_02C63E2C; else goto L_02C63E58;
|
|
L_02C63E2C: ; // 0x2c63e2c
|
|
/* 02C63E2C */ cpu->f[29] = cpu->f[31];
|
|
/* 02C63E30 */ cpu->r[30] = cpu->r[30] + 0xFFFFFFFCu;
|
|
L_02C63E34: ; // 0x2c63e34
|
|
/* 02C63E34 */ cpu->f[1] = cpu->f[30];
|
|
/* 02C63E38 */ _t33 = cpu->r[1] + 0x00000014u;
|
|
/* 02C63E38 */ rbrew_write_f32(cpu->mem, _t33, cpu->f[29]);
|
|
/* 02C63E3C */ cpu->r[3] = cpu->r[27];
|
|
/* 02C63E40 */ cpu->r[4] = cpu->r[1] + 0x00000014u;
|
|
/* 02C63E44 */ Gambit_fn_02C5F21C(cpu);
|
|
/* 02C63E48 */ cpu->r[29] = cpu->r[29] + 0xFFFFFFFFu;
|
|
/* 02C63E48 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 02C63E4C */ cpu->r[27] = cpu->r[27] + 0x00000024u;
|
|
/* 02C63E50 */ _t34 = cpu->r[30] + 0x00000004u;
|
|
/* 02C63E50 */ rbrew_write_f32(cpu->mem, _t34, cpu->f[1]);
|
|
/* 02C63E50 */ cpu->r[30] = _t34;
|
|
/* 02C63E54 */ _t35 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C63E54 */ _t36 = _t35 & 0x00000001u;
|
|
/* 02C63E54 */ if (_t36) goto L_02C63E58; else goto L_02C63E34;
|
|
L_02C63E58: ; // 0x2c63e58
|
|
/* 02C63E58 */ cpu->r[22] = cpu->r[22] + 0xFFFFFFFFu;
|
|
/* 02C63E58 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[22], 0x00000000u);
|
|
/* 02C63E5C */ cpu->r[31] = cpu->r[31] + 0x00000010u;
|
|
/* 02C63E60 */ _t37 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C63E60 */ _t38 = _t37 & 0x00000001u;
|
|
/* 02C63E60 */ if (_t38) goto L_02C63E64; else goto L_02C63DA4;
|
|
L_02C63E64: ; // 0x2c63e64
|
|
/* 02C63E64 */ /* nop */
|
|
/* 02C63E68 */ _t39 = cpu->r[1] + 0x00000050u;
|
|
/* 02C63E68 */ cpu->f[29] = rbrew_read_f32(cpu->mem, _t39);
|
|
/* 02C63E6C */ _t40 = cpu->r[1] + 0x00000060u;
|
|
/* 02C63E6C */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t40);
|
|
/* 02C63E70 */ _t41 = cpu->r[1] + 0x00000048u;
|
|
/* 02C63E70 */ cpu->f[29] = rbrew_read_f64(cpu->mem, _t41);
|
|
/* 02C63E74 */ _t42 = cpu->r[1] + 0x00000070u;
|
|
/* 02C63E74 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t42);
|
|
/* 02C63E78 */ _t43 = cpu->r[1] + 0x00000058u;
|
|
/* 02C63E78 */ cpu->f[30] = rbrew_read_f64(cpu->mem, _t43);
|
|
/* 02C63E7C */ _t44 = cpu->r[1] + 0x00000068u;
|
|
/* 02C63E7C */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t44);
|
|
/* 02C63E80 */ _t45 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C63E80 */ _t46 = _t45 & 0x00000001u;
|
|
/* 02C63E80 */ if (_t46) goto L_02C63E84; // else: addr-0 trap, fall-through
|
|
L_02C63E84: ; // 0x2c63e84
|
|
/* 02C63E84 */ _t47 = cpu->r[1] + 0x0000007Cu;
|
|
/* 02C63E84 */ cpu->r[0] = rbrew_read32(cpu->mem, _t47);
|
|
/* 02C63E88 */ cpu->lr = cpu->r[0];
|
|
/* 02C63E8C */ cpu->r[1] = cpu->r[1] + 0x00000078u;
|
|
/* 02C63E90 */ return;
|
|
}
|
|
|
|
// fn_02C63E94 @ 0x2c63e94
|
|
void Gambit_fn_02C63E94(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;
|
|
|
|
L_02C63E94: ; // 0x2c63e94
|
|
/* 02C63E94 */ _t0 = cpu->r[1] + 0xFFFFFFB8u;
|
|
/* 02C63E94 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C63E94 */ cpu->r[1] = _t0;
|
|
/* 02C63E98 */ /* nop */
|
|
/* 02C63E9C */ _t1 = cpu->r[1] + 0x00000038u;
|
|
/* 02C63E9C */ rbrew_write_f64(cpu->mem, _t1, cpu->f[31]);
|
|
/* 02C63EA0 */ cpu->r[0] = cpu->lr;
|
|
/* 02C63EA4 */ _t2 = cpu->r[1] + 0x0000004Cu;
|
|
/* 02C63EA4 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02C63EA8 */ /* nop */
|
|
/* 02C63EAC */ _t3 = cpu->r[1] + 0x00000040u;
|
|
/* 02C63EAC */ rbrew_write_f32(cpu->mem, _t3, cpu->f[31]);
|
|
/* 02C63EB0 */ cpu->r[25] = cpu->r[4];
|
|
/* 02C63EB4 */ cpu->r[26] = cpu->r[6];
|
|
/* 02C63EB8 */ cpu->r[23] = 0x00000000u;
|
|
/* 02C63EBC */ _t4 = cpu->r[3] + 0x00000014u;
|
|
/* 02C63EBC */ cpu->r[7] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02C63EC0 */ cpu->f[31] = cpu->f[1];
|
|
/* 02C63EC4 */ cpu->r[6] = cpu->r[3] + 0x00000014u;
|
|
/* 02C63EC8 */ cpu->r[31] = cpu->r[23];
|
|
/* 02C63ECC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 02C63ED0 */ _t5 = cpu->r[3] + 0x00000018u;
|
|
/* 02C63ED0 */ cpu->r[8] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02C63ED4 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C63ED4 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02C63ED4 */ if (_t7) goto L_02C63EDC; else goto L_02C63ED8;
|
|
L_02C63ED8: ; // 0x2c63ed8
|
|
/* 02C63ED8 */ cpu->r[31] = cpu->r[6] + cpu->r[7];
|
|
L_02C63EDC: ; // 0x2c63edc
|
|
/* 02C63EDC */ cpu->r[24] = 0x00000000u;
|
|
/* 02C63EE0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 02C63EE4 */ cpu->r[9] = cpu->r[3] + 0x00000018u;
|
|
/* 02C63EE8 */ _t8 = cpu->r[3] + 0x00000000u;
|
|
/* 02C63EE8 */ cpu->r[22] = rbrew_read16(cpu->mem, _t8);
|
|
/* 02C63EEC */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C63EEC */ _t10 = _t9 & 0x00000001u;
|
|
/* 02C63EEC */ if (_t10) goto L_02C63EF4; else goto L_02C63EF0;
|
|
L_02C63EF0: ; // 0x2c63ef0
|
|
/* 02C63EF0 */ cpu->r[24] = cpu->r[9] + cpu->r[8];
|
|
L_02C63EF4: ; // 0x2c63ef4
|
|
/* 02C63EF4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[22], 0x00000000u);
|
|
/* 02C63EF8 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C63EF8 */ _t12 = _t11 & 0x00000001u;
|
|
/* 02C63EF8 */ if (_t12) goto L_02C63FB8; else goto L_02C63EFC;
|
|
L_02C63EFC: ; // 0x2c63efc
|
|
/* 02C63EFC */ cpu->r[21] = cpu->r[5] + 0xFFFFFFFEu;
|
|
L_02C63F00: ; // 0x2c63f00
|
|
/* 02C63F00 */ _t13 = cpu->r[21] + 0x00000002u;
|
|
/* 02C63F00 */ cpu->r[11] = rbrew_read16(cpu->mem, _t13);
|
|
/* 02C63F00 */ cpu->r[21] = _t13;
|
|
/* 02C63F04 */ _t14 = cpu->r[31] + 0x00000004u;
|
|
/* 02C63F04 */ cpu->r[30] = rbrew_read16(cpu->mem, _t14);
|
|
/* 02C63F08 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], 0x0000FFFFu);
|
|
/* 02C63F0C */ _t15 = cpu->r[31] + 0x00000002u;
|
|
/* 02C63F0C */ cpu->r[29] = rbrew_read16(cpu->mem, _t15);
|
|
/* 02C63F10 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C63F10 */ _t17 = _t16 & 0x00000001u;
|
|
/* 02C63F10 */ if (_t17) goto L_02C63F14; else goto L_02C63F2C;
|
|
L_02C63F14: ; // 0x2c63f14
|
|
/* 02C63F14 */ cpu->r[12] = cpu->r[30] + cpu->r[29];
|
|
/* 02C63F18 */ cpu->r[22] = cpu->r[22] + 0xFFFFFFFFu;
|
|
/* 02C63F18 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[22], 0x00000000u);
|
|
/* 02C63F1C */ cpu->r[31] = cpu->r[31] + 0x00000010u;
|
|
/* 02C63F20 */ cpu->r[23] = cpu->r[23] + cpu->r[12];
|
|
/* 02C63F24 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C63F24 */ _t19 = _t18 & 0x00000001u;
|
|
/* 02C63F24 */ if (_t19) goto L_02C63F28; else goto L_02C63F00;
|
|
L_02C63F28: ; // 0x2c63f28
|
|
/* 02C63F28 */ goto L_02C63FB8;
|
|
L_02C63F2C: ; // 0x2c63f2c
|
|
/* 02C63F2C */ cpu->r[5] = rbrew_rlwinm(cpu->r[23], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02C63F30 */ cpu->r[0] = (uint32_t)((int32_t)cpu->r[23] * (int32_t)0x00000024u);
|
|
/* 02C63F34 */ cpu->r[23] = cpu->r[23] + cpu->r[30];
|
|
/* 02C63F38 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02C63F3C */ cpu->r[28] = cpu->r[25] + cpu->r[5];
|
|
/* 02C63F40 */ cpu->r[27] = cpu->r[24] + cpu->r[0];
|
|
/* 02C63F44 */ _t20 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C63F44 */ _t21 = _t20 & 0x00000001u;
|
|
/* 02C63F44 */ if (_t21) goto L_02C63F48; else goto L_02C63F70;
|
|
L_02C63F48: ; // 0x2c63f48
|
|
/* 02C63F48 */ cpu->r[28] = cpu->r[28] + 0xFFFFFFFCu;
|
|
L_02C63F4C: ; // 0x2c63f4c
|
|
/* 02C63F4C */ cpu->f[1] = cpu->f[31];
|
|
/* 02C63F50 */ cpu->r[4] = cpu->r[26];
|
|
/* 02C63F54 */ cpu->r[3] = cpu->r[27];
|
|
/* 02C63F58 */ Gambit_fn_02C5F678(cpu);
|
|
/* 02C63F5C */ _t22 = cpu->r[28] + 0x00000004u;
|
|
/* 02C63F5C */ rbrew_write32(cpu->mem, _t22, cpu->r[3]);
|
|
/* 02C63F5C */ cpu->r[28] = _t22;
|
|
/* 02C63F60 */ cpu->r[30] = cpu->r[30] + 0xFFFFFFFFu;
|
|
/* 02C63F60 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02C63F64 */ cpu->r[26] = cpu->r[26] + 0x0000000Cu;
|
|
/* 02C63F68 */ cpu->r[27] = cpu->r[27] + 0x00000024u;
|
|
/* 02C63F6C */ _t23 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C63F6C */ _t24 = _t23 & 0x00000001u;
|
|
/* 02C63F6C */ if (_t24) goto L_02C63F70; else goto L_02C63F4C;
|
|
L_02C63F70: ; // 0x2c63f70
|
|
/* 02C63F70 */ cpu->r[0] = rbrew_rlwinm(cpu->r[23], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02C63F74 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 02C63F78 */ cpu->r[23] = cpu->r[23] + cpu->r[29];
|
|
/* 02C63F7C */ cpu->r[30] = cpu->r[25] + cpu->r[0];
|
|
/* 02C63F80 */ _t25 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C63F80 */ _t26 = _t25 & 0x00000001u;
|
|
/* 02C63F80 */ if (_t26) goto L_02C63F84; else goto L_02C63FAC;
|
|
L_02C63F84: ; // 0x2c63f84
|
|
/* 02C63F84 */ cpu->r[30] = cpu->r[30] + 0xFFFFFFFCu;
|
|
L_02C63F88: ; // 0x2c63f88
|
|
/* 02C63F88 */ cpu->f[1] = cpu->f[31];
|
|
/* 02C63F8C */ cpu->r[4] = cpu->r[26];
|
|
/* 02C63F90 */ cpu->r[3] = cpu->r[27];
|
|
/* 02C63F94 */ Gambit_fn_02C5F21C(cpu);
|
|
/* 02C63F98 */ _t27 = cpu->r[30] + 0x00000004u;
|
|
/* 02C63F98 */ rbrew_write_f32(cpu->mem, _t27, cpu->f[1]);
|
|
/* 02C63F98 */ cpu->r[30] = _t27;
|
|
/* 02C63F9C */ cpu->r[29] = cpu->r[29] + 0xFFFFFFFFu;
|
|
/* 02C63F9C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 02C63FA0 */ cpu->r[26] = cpu->r[26] + 0x0000000Cu;
|
|
/* 02C63FA4 */ cpu->r[27] = cpu->r[27] + 0x00000024u;
|
|
/* 02C63FA8 */ _t28 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C63FA8 */ _t29 = _t28 & 0x00000001u;
|
|
/* 02C63FA8 */ if (_t29) goto L_02C63FAC; else goto L_02C63F88;
|
|
L_02C63FAC: ; // 0x2c63fac
|
|
/* 02C63FAC */ cpu->r[22] = cpu->r[22] + 0xFFFFFFFFu;
|
|
/* 02C63FAC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[22], 0x00000000u);
|
|
/* 02C63FB0 */ cpu->r[31] = cpu->r[31] + 0x00000010u;
|
|
/* 02C63FB4 */ _t30 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C63FB4 */ _t31 = _t30 & 0x00000001u;
|
|
/* 02C63FB4 */ if (_t31) goto L_02C63FB8; else goto L_02C63F00;
|
|
L_02C63FB8: ; // 0x2c63fb8
|
|
/* 02C63FB8 */ /* nop */
|
|
/* 02C63FBC */ _t32 = cpu->r[1] + 0x00000040u;
|
|
/* 02C63FBC */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t32);
|
|
/* 02C63FC0 */ _t33 = cpu->r[1] + 0x00000038u;
|
|
/* 02C63FC0 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t33);
|
|
/* 02C63FC4 */ _t34 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C63FC4 */ _t35 = _t34 & 0x00000001u;
|
|
/* 02C63FC4 */ if (_t35) goto L_02C63FC8; // else: addr-0 trap, fall-through
|
|
L_02C63FC8: ; // 0x2c63fc8
|
|
/* 02C63FC8 */ _t36 = cpu->r[1] + 0x0000004Cu;
|
|
/* 02C63FC8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t36);
|
|
/* 02C63FCC */ cpu->lr = cpu->r[0];
|
|
/* 02C63FD0 */ cpu->r[1] = cpu->r[1] + 0x00000048u;
|
|
/* 02C63FD4 */ return;
|
|
}
|
|
|
|
// fn_02C63FD8 @ 0x2c63fd8
|
|
void Gambit_fn_02C63FD8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8;
|
|
|
|
L_02C63FD8: ; // 0x2c63fd8
|
|
/* 02C63FD8 */ cpu->r[0] = cpu->lr;
|
|
/* 02C63FDC */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C63FDC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C63FDC */ cpu->r[1] = _t0;
|
|
/* 02C63FE0 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C63FE0 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02C63FE4 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C63FE8 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02C63FE8 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02C63FEC */ _t3 = cpu->r[31] + 0x00000014u;
|
|
/* 02C63FEC */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02C63FF0 */ cpu->r[4] = 0x00000000u;
|
|
/* 02C63FF4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C63FF8 */ cpu->r[12] = cpu->r[31] + 0x00000014u;
|
|
/* 02C63FFC */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C63FFC */ _t5 = _t4 & 0x00000001u;
|
|
/* 02C63FFC */ if (_t5) goto L_02C64004; else goto L_02C64000;
|
|
L_02C64000: ; // 0x2c64000
|
|
/* 02C64000 */ cpu->r[4] = cpu->r[12] + cpu->r[0];
|
|
L_02C64004: ; // 0x2c64004
|
|
/* 02C64004 */ _t6 = cpu->r[31] + 0x00000004u;
|
|
/* 02C64004 */ cpu->r[5] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02C64008 */ cpu->r[6] = 0x00000001u;
|
|
/* 02C6400C */ cpu->r[3] = cpu->r[31];
|
|
/* 02C64010 */ Gambit_fn_02C6542C(cpu);
|
|
/* 02C64014 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C64018 */ Gambit_fn_02C65AB0(cpu);
|
|
/* 02C6401C */ cpu->r[3] = cpu->r[31];
|
|
/* 02C64020 */ cpu->r[4] = 0x00000000u;
|
|
/* 02C64024 */ Gambit_fn_02C6530C(cpu);
|
|
/* 02C64028 */ _t7 = cpu->r[1] + 0x00000014u;
|
|
/* 02C64028 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02C6402C */ _t8 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C6402C */ cpu->r[31] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C64030 */ cpu->lr = cpu->r[0];
|
|
/* 02C64034 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C64038 */ return;
|
|
}
|
|
|
|
// fn_02C63FDC @ 0x2c63fdc
|
|
void Gambit_fn_02C63FDC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8;
|
|
|
|
L_02C63FDC: ; // 0x2c63fdc
|
|
/* 02C63FDC */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C63FDC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C63FDC */ cpu->r[1] = _t0;
|
|
/* 02C63FE0 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C63FE0 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02C63FE4 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C63FE8 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02C63FE8 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02C63FEC */ _t3 = cpu->r[31] + 0x00000014u;
|
|
/* 02C63FEC */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02C63FF0 */ cpu->r[4] = 0x00000000u;
|
|
/* 02C63FF4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C63FF8 */ cpu->r[12] = cpu->r[31] + 0x00000014u;
|
|
/* 02C63FFC */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C63FFC */ _t5 = _t4 & 0x00000001u;
|
|
/* 02C63FFC */ if (_t5) goto L_02C64004; else goto L_02C64000;
|
|
L_02C64000: ; // 0x2c64000
|
|
/* 02C64000 */ cpu->r[4] = cpu->r[12] + cpu->r[0];
|
|
L_02C64004: ; // 0x2c64004
|
|
/* 02C64004 */ _t6 = cpu->r[31] + 0x00000004u;
|
|
/* 02C64004 */ cpu->r[5] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02C64008 */ cpu->r[6] = 0x00000001u;
|
|
/* 02C6400C */ cpu->r[3] = cpu->r[31];
|
|
/* 02C64010 */ Gambit_fn_02C6542C(cpu);
|
|
/* 02C64014 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C64018 */ Gambit_fn_02C65AB0(cpu);
|
|
/* 02C6401C */ cpu->r[3] = cpu->r[31];
|
|
/* 02C64020 */ cpu->r[4] = 0x00000000u;
|
|
/* 02C64024 */ Gambit_fn_02C6530C(cpu);
|
|
/* 02C64028 */ _t7 = cpu->r[1] + 0x00000014u;
|
|
/* 02C64028 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02C6402C */ _t8 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C6402C */ cpu->r[31] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C64030 */ cpu->lr = cpu->r[0];
|
|
/* 02C64034 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C64038 */ return;
|
|
}
|
|
|
|
// fn_02C6403C @ 0x2c6403c
|
|
void Gambit_fn_02C6403C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_02C6403C: ; // 0x2c6403c
|
|
/* 02C6403C */ cpu->r[0] = cpu->lr;
|
|
/* 02C64040 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C64040 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C64040 */ cpu->r[1] = _t0;
|
|
/* 02C64044 */ cpu->r[6] = 0x00000001u;
|
|
/* 02C64048 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C64048 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02C6404C */ cpu->r[4] = 0x00000000u;
|
|
/* 02C64050 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02C64050 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02C64054 */ _t3 = cpu->r[3] + 0x00000004u;
|
|
/* 02C64054 */ cpu->r[5] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02C64058 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C6405C */ Gambit_fn_02C6542C(cpu);
|
|
/* 02C64060 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C64064 */ Gambit_fn_02C65AB4(cpu);
|
|
/* 02C64068 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 02C64068 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02C6406C */ cpu->lr = cpu->r[0];
|
|
/* 02C64070 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C64070 */ cpu->r[31] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02C64074 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C64078 */ return;
|
|
}
|
|
|
|
// fn_02C64040 @ 0x2c64040
|
|
void Gambit_fn_02C64040(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_02C64040: ; // 0x2c64040
|
|
/* 02C64040 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C64040 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C64040 */ cpu->r[1] = _t0;
|
|
/* 02C64044 */ cpu->r[6] = 0x00000001u;
|
|
/* 02C64048 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C64048 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02C6404C */ cpu->r[4] = 0x00000000u;
|
|
/* 02C64050 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02C64050 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02C64054 */ _t3 = cpu->r[3] + 0x00000004u;
|
|
/* 02C64054 */ cpu->r[5] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02C64058 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C6405C */ Gambit_fn_02C6542C(cpu);
|
|
/* 02C64060 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C64064 */ Gambit_fn_02C65AB4(cpu);
|
|
/* 02C64068 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 02C64068 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02C6406C */ cpu->lr = cpu->r[0];
|
|
/* 02C64070 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C64070 */ cpu->r[31] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02C64074 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C64078 */ return;
|
|
}
|
|
|
|
// fn_02C6407C @ 0x2c6407c
|
|
void Gambit_fn_02C6407C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16;
|
|
|
|
L_02C6407C: ; // 0x2c6407c
|
|
/* 02C6407C */ cpu->r[0] = cpu->lr;
|
|
/* 02C64080 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02C64080 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C64080 */ cpu->r[1] = _t0;
|
|
/* 02C64084 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C64084 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
|
|
/* 02C64088 */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 02C64088 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02C6408C */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02C6408C */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 02C64090 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C64090 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02C64094 */ _t5 = cpu->r[3] + 0x00000005u;
|
|
/* 02C64094 */ cpu->r[31] = rbrew_read8(cpu->mem, _t5);
|
|
/* 02C64098 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02C6409C */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6409C */ _t7 = _t6 & 0x00000001u;
|
|
/* 02C6409C */ if (_t7) goto L_02C640D0; else goto L_02C640A0;
|
|
L_02C640A0: ; // 0x2c640a0
|
|
/* 02C640A0 */ cpu->r[30] = cpu->r[3] + 0x00000018u;
|
|
/* 02C640A4 */ cpu->r[29] = 0x00000000u;
|
|
L_02C640A8: ; // 0x2c640a8
|
|
/* 02C640A8 */ _t8 = cpu->r[30] + 0x00000000u;
|
|
/* 02C640A8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C640AC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C640B0 */ cpu->r[12] = 0x00000000u;
|
|
/* 02C640B4 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C640B4 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02C640B4 */ if (_t10) goto L_02C640BC; else goto L_02C640B8;
|
|
L_02C640B8: ; // 0x2c640b8
|
|
/* 02C640B8 */ cpu->r[12] = cpu->r[30] + cpu->r[0];
|
|
L_02C640BC: ; // 0x2c640bc
|
|
/* 02C640BC */ cpu->r[3] = cpu->r[12] + cpu->r[29];
|
|
/* 02C640C0 */ Gambit_fn_02C63FD8(cpu);
|
|
/* 02C640C4 */ cpu->r[31] = cpu->r[31] + 0xFFFFFFFFu;
|
|
/* 02C640C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02C640C8 */ cpu->r[29] = cpu->r[29] + 0x00000018u;
|
|
/* 02C640CC */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C640CC */ _t12 = _t11 & 0x00000001u;
|
|
/* 02C640CC */ if (_t12) goto L_02C640D0; else goto L_02C640A8;
|
|
L_02C640D0: ; // 0x2c640d0
|
|
/* 02C640D0 */ _t13 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C640D0 */ cpu->r[29] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02C640D4 */ _t14 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C640D4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02C640D8 */ _t15 = cpu->r[1] + 0x00000010u;
|
|
/* 02C640D8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02C640DC */ cpu->lr = cpu->r[0];
|
|
/* 02C640E0 */ _t16 = cpu->r[1] + 0x00000014u;
|
|
/* 02C640E0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02C640E4 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C640E8 */ return;
|
|
}
|
|
|
|
// fn_02C64080 @ 0x2c64080
|
|
void Gambit_fn_02C64080(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16;
|
|
|
|
L_02C64080: ; // 0x2c64080
|
|
/* 02C64080 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02C64080 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C64080 */ cpu->r[1] = _t0;
|
|
/* 02C64084 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C64084 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
|
|
/* 02C64088 */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 02C64088 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02C6408C */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02C6408C */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 02C64090 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C64090 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02C64094 */ _t5 = cpu->r[3] + 0x00000005u;
|
|
/* 02C64094 */ cpu->r[31] = rbrew_read8(cpu->mem, _t5);
|
|
/* 02C64098 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02C6409C */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6409C */ _t7 = _t6 & 0x00000001u;
|
|
/* 02C6409C */ if (_t7) goto L_02C640D0; else goto L_02C640A0;
|
|
L_02C640A0: ; // 0x2c640a0
|
|
/* 02C640A0 */ cpu->r[30] = cpu->r[3] + 0x00000018u;
|
|
/* 02C640A4 */ cpu->r[29] = 0x00000000u;
|
|
L_02C640A8: ; // 0x2c640a8
|
|
/* 02C640A8 */ _t8 = cpu->r[30] + 0x00000000u;
|
|
/* 02C640A8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C640AC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C640B0 */ cpu->r[12] = 0x00000000u;
|
|
/* 02C640B4 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C640B4 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02C640B4 */ if (_t10) goto L_02C640BC; else goto L_02C640B8;
|
|
L_02C640B8: ; // 0x2c640b8
|
|
/* 02C640B8 */ cpu->r[12] = cpu->r[30] + cpu->r[0];
|
|
L_02C640BC: ; // 0x2c640bc
|
|
/* 02C640BC */ cpu->r[3] = cpu->r[12] + cpu->r[29];
|
|
/* 02C640C0 */ Gambit_fn_02C63FD8(cpu);
|
|
/* 02C640C4 */ cpu->r[31] = cpu->r[31] + 0xFFFFFFFFu;
|
|
/* 02C640C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02C640C8 */ cpu->r[29] = cpu->r[29] + 0x00000018u;
|
|
/* 02C640CC */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C640CC */ _t12 = _t11 & 0x00000001u;
|
|
/* 02C640CC */ if (_t12) goto L_02C640D0; else goto L_02C640A8;
|
|
L_02C640D0: ; // 0x2c640d0
|
|
/* 02C640D0 */ _t13 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C640D0 */ cpu->r[29] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02C640D4 */ _t14 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C640D4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02C640D8 */ _t15 = cpu->r[1] + 0x00000010u;
|
|
/* 02C640D8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02C640DC */ cpu->lr = cpu->r[0];
|
|
/* 02C640E0 */ _t16 = cpu->r[1] + 0x00000014u;
|
|
/* 02C640E0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02C640E4 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C640E8 */ return;
|
|
}
|
|
|
|
// fn_02C640EC @ 0x2c640ec
|
|
void Gambit_fn_02C640EC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16;
|
|
|
|
L_02C640EC: ; // 0x2c640ec
|
|
/* 02C640EC */ cpu->r[0] = cpu->lr;
|
|
/* 02C640F0 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02C640F0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C640F0 */ cpu->r[1] = _t0;
|
|
/* 02C640F4 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C640F4 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
|
|
/* 02C640F8 */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 02C640F8 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02C640FC */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02C640FC */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 02C64100 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C64100 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02C64104 */ _t5 = cpu->r[3] + 0x00000005u;
|
|
/* 02C64104 */ cpu->r[31] = rbrew_read8(cpu->mem, _t5);
|
|
/* 02C64108 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02C6410C */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6410C */ _t7 = _t6 & 0x00000001u;
|
|
/* 02C6410C */ if (_t7) goto L_02C64140; else goto L_02C64110;
|
|
L_02C64110: ; // 0x2c64110
|
|
/* 02C64110 */ cpu->r[30] = cpu->r[3] + 0x00000018u;
|
|
/* 02C64114 */ cpu->r[29] = 0x00000000u;
|
|
L_02C64118: ; // 0x2c64118
|
|
/* 02C64118 */ _t8 = cpu->r[30] + 0x00000000u;
|
|
/* 02C64118 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C6411C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C64120 */ cpu->r[12] = 0x00000000u;
|
|
/* 02C64124 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C64124 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02C64124 */ if (_t10) goto L_02C6412C; else goto L_02C64128;
|
|
L_02C64128: ; // 0x2c64128
|
|
/* 02C64128 */ cpu->r[12] = cpu->r[30] + cpu->r[0];
|
|
L_02C6412C: ; // 0x2c6412c
|
|
/* 02C6412C */ cpu->r[3] = cpu->r[12] + cpu->r[29];
|
|
/* 02C64130 */ Gambit_fn_02C6403C(cpu);
|
|
/* 02C64134 */ cpu->r[31] = cpu->r[31] + 0xFFFFFFFFu;
|
|
/* 02C64134 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02C64138 */ cpu->r[29] = cpu->r[29] + 0x00000018u;
|
|
/* 02C6413C */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6413C */ _t12 = _t11 & 0x00000001u;
|
|
/* 02C6413C */ if (_t12) goto L_02C64140; else goto L_02C64118;
|
|
L_02C64140: ; // 0x2c64140
|
|
/* 02C64140 */ _t13 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C64140 */ cpu->r[29] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02C64144 */ _t14 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C64144 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02C64148 */ _t15 = cpu->r[1] + 0x00000010u;
|
|
/* 02C64148 */ cpu->r[30] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02C6414C */ cpu->lr = cpu->r[0];
|
|
/* 02C64150 */ _t16 = cpu->r[1] + 0x00000014u;
|
|
/* 02C64150 */ cpu->r[31] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02C64154 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C64158 */ return;
|
|
}
|
|
|
|
// fn_02C640F0 @ 0x2c640f0
|
|
void Gambit_fn_02C640F0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16;
|
|
|
|
L_02C640F0: ; // 0x2c640f0
|
|
/* 02C640F0 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02C640F0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C640F0 */ cpu->r[1] = _t0;
|
|
/* 02C640F4 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C640F4 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
|
|
/* 02C640F8 */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 02C640F8 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02C640FC */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02C640FC */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 02C64100 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C64100 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02C64104 */ _t5 = cpu->r[3] + 0x00000005u;
|
|
/* 02C64104 */ cpu->r[31] = rbrew_read8(cpu->mem, _t5);
|
|
/* 02C64108 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02C6410C */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6410C */ _t7 = _t6 & 0x00000001u;
|
|
/* 02C6410C */ if (_t7) goto L_02C64140; else goto L_02C64110;
|
|
L_02C64110: ; // 0x2c64110
|
|
/* 02C64110 */ cpu->r[30] = cpu->r[3] + 0x00000018u;
|
|
/* 02C64114 */ cpu->r[29] = 0x00000000u;
|
|
L_02C64118: ; // 0x2c64118
|
|
/* 02C64118 */ _t8 = cpu->r[30] + 0x00000000u;
|
|
/* 02C64118 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C6411C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C64120 */ cpu->r[12] = 0x00000000u;
|
|
/* 02C64124 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C64124 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02C64124 */ if (_t10) goto L_02C6412C; else goto L_02C64128;
|
|
L_02C64128: ; // 0x2c64128
|
|
/* 02C64128 */ cpu->r[12] = cpu->r[30] + cpu->r[0];
|
|
L_02C6412C: ; // 0x2c6412c
|
|
/* 02C6412C */ cpu->r[3] = cpu->r[12] + cpu->r[29];
|
|
/* 02C64130 */ Gambit_fn_02C6403C(cpu);
|
|
/* 02C64134 */ cpu->r[31] = cpu->r[31] + 0xFFFFFFFFu;
|
|
/* 02C64134 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02C64138 */ cpu->r[29] = cpu->r[29] + 0x00000018u;
|
|
/* 02C6413C */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6413C */ _t12 = _t11 & 0x00000001u;
|
|
/* 02C6413C */ if (_t12) goto L_02C64140; else goto L_02C64118;
|
|
L_02C64140: ; // 0x2c64140
|
|
/* 02C64140 */ _t13 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C64140 */ cpu->r[29] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02C64144 */ _t14 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C64144 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02C64148 */ _t15 = cpu->r[1] + 0x00000010u;
|
|
/* 02C64148 */ cpu->r[30] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02C6414C */ cpu->lr = cpu->r[0];
|
|
/* 02C64150 */ _t16 = cpu->r[1] + 0x00000014u;
|
|
/* 02C64150 */ cpu->r[31] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02C64154 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C64158 */ return;
|
|
}
|
|
|
|
// fn_02C6415C @ 0x2c6415c
|
|
void Gambit_fn_02C6415C(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_02C6415C: ; // 0x2c6415c
|
|
/* 02C6415C */ cpu->r[0] = 0x00000000u;
|
|
/* 02C64160 */ _t0 = cpu->r[3] + 0x0000001Cu;
|
|
/* 02C64160 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 02C64164 */ return;
|
|
}
|
|
|
|
// fn_02C64168 @ 0x2c64168
|
|
void Gambit_fn_02C64168(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16;
|
|
|
|
L_02C64168: ; // 0x2c64168
|
|
/* 02C64168 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 02C64168 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C64168 */ cpu->r[1] = _t0;
|
|
/* 02C6416C */ /* nop */
|
|
/* 02C64170 */ cpu->r[0] = cpu->lr;
|
|
/* 02C64174 */ _t1 = cpu->r[1] + 0x00000024u;
|
|
/* 02C64174 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02C64178 */ cpu->r[26] = cpu->r[3];
|
|
/* 02C6417C */ _t2 = cpu->r[26] + 0x00000004u;
|
|
/* 02C6417C */ cpu->r[31] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02C64180 */ cpu->r[27] = cpu->r[6];
|
|
/* 02C64184 */ _t3 = cpu->r[26] + 0x00000010u;
|
|
/* 02C64184 */ cpu->r[9] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02C64188 */ cpu->r[7] = 0x00000000u;
|
|
/* 02C6418C */ cpu->r[12] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02C64190 */ cpu->r[10] = cpu->r[26] + 0x00000010u;
|
|
/* 02C64194 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 02C64198 */ cpu->r[11] = cpu->r[12] + 0x00000001u;
|
|
/* 02C6419C */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6419C */ _t5 = _t4 & 0x00000001u;
|
|
/* 02C6419C */ if (_t5) goto L_02C641A4; else goto L_02C641A0;
|
|
L_02C641A0: ; // 0x2c641a0
|
|
/* 02C641A0 */ cpu->r[7] = cpu->r[10] + cpu->r[9];
|
|
L_02C641A4: ; // 0x2c641a4
|
|
/* 02C641A4 */ cpu->r[8] = cpu->r[4] + cpu->r[5];
|
|
/* 02C641A8 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 02C641AC */ cpu->r[8] = cpu->r[8] + 0xFFFFFFFFu;
|
|
/* 02C641B0 */ _t6 = cpu->r[7] + cpu->r[0];
|
|
/* 02C641B0 */ cpu->r[28] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02C641B4 */ cpu->r[7] = 0x00000000u;
|
|
/* 02C641B8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 02C641BC */ _t7 = cpu->r[26] + 0x00000014u;
|
|
/* 02C641BC */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02C641C0 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C641C0 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02C641C0 */ if (_t9) goto L_02C641C8; else goto L_02C641C4;
|
|
L_02C641C4: ; // 0x2c641c4
|
|
/* 02C641C4 */ cpu->r[7] = cpu->r[10] + cpu->r[9];
|
|
L_02C641C8: ; // 0x2c641c8
|
|
/* 02C641C8 */ cpu->r[9] = rbrew_rlwinm(cpu->r[8], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 02C641CC */ cpu->r[3] = 0x00000000u;
|
|
/* 02C641D0 */ _t10 = cpu->r[7] + cpu->r[9];
|
|
/* 02C641D0 */ cpu->r[5] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02C641D4 */ cpu->r[12] = cpu->r[26] + 0x00000014u;
|
|
/* 02C641D8 */ cpu->r[8] = cpu->r[7] + cpu->r[9];
|
|
/* 02C641DC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C641E0 */ cpu->r[10] = cpu->r[5] - cpu->r[28];
|
|
/* 02C641E4 */ _t11 = cpu->r[8] + 0x00000004u;
|
|
/* 02C641E4 */ cpu->r[7] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02C641E8 */ /* nop */
|
|
/* 02C641EC */ _t12 = cpu->r[26] + 0x00000000u;
|
|
/* 02C641EC */ cpu->r[30] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02C641F0 */ cpu->r[29] = cpu->r[6] + cpu->r[7];
|
|
/* 02C641F4 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C641F4 */ _t14 = _t13 & 0x00000001u;
|
|
/* 02C641F4 */ if (_t14) goto L_02C641FC; else goto L_02C641F8;
|
|
L_02C641F8: ; // 0x2c641f8
|
|
/* 02C641F8 */ cpu->r[3] = cpu->r[12] + cpu->r[0];
|
|
L_02C641FC: ; // 0x2c641fc
|
|
/* 02C641FC */ cpu->r[4] = 0x00000000u;
|
|
/* 02C64200 */ Gambit_fn_02C652F8(cpu);
|
|
/* 02C64204 */ _t15 = cpu->r[26] + 0x00000018u;
|
|
/* 02C64204 */ cpu->r[7] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02C64208 */ cpu->r[6] = cpu->r[3] + cpu->r[28];
|
|
/* 02C6420C */ cpu->r[8] = cpu->r[27];
|
|
/* 02C64210 */ cpu->r[3] = cpu->r[30];
|
|
/* 02C64214 */ cpu->r[5] = cpu->r[31];
|
|
/* 02C64218 */ cpu->r[4] = cpu->r[29];
|
|
/* 02C6421C */ rbrew_dispatch(cpu, 0x02d05930u);
|
|
/* 02C64220 */ /* nop */
|
|
/* 02C64224 */ _t16 = cpu->r[1] + 0x00000024u;
|
|
/* 02C64224 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02C64228 */ cpu->lr = cpu->r[0];
|
|
/* 02C6422C */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02C64230 */ return;
|
|
}
|
|
|
|
// fn_02C64234 @ 0x2c64234
|
|
void Gambit_fn_02C64234(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;
|
|
|
|
L_02C64234: ; // 0x2c64234
|
|
/* 02C64234 */ cpu->r[0] = cpu->lr;
|
|
/* 02C64238 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02C64238 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C64238 */ cpu->r[1] = _t0;
|
|
/* 02C6423C */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 02C6423C */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02C64240 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02C64240 */ rbrew_write32(cpu->mem, _t2, cpu->r[28]);
|
|
/* 02C64244 */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C64244 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 02C64248 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 02C64248 */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
|
|
/* 02C6424C */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C6424C */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02C64250 */ _t6 = cpu->r[3] + 0x00000017u;
|
|
/* 02C64250 */ cpu->r[28] = rbrew_read8(cpu->mem, _t6);
|
|
/* 02C64254 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 02C64258 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C64258 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02C64258 */ if (_t8) goto L_02C642DC; else goto L_02C6425C;
|
|
L_02C6425C: ; // 0x2c6425c
|
|
/* 02C6425C */ cpu->r[30] = cpu->r[3] + 0x00000024u;
|
|
/* 02C64260 */ cpu->r[29] = 0x00000000u;
|
|
L_02C64264: ; // 0x2c64264
|
|
/* 02C64264 */ _t9 = cpu->r[30] + 0x00000000u;
|
|
/* 02C64264 */ cpu->r[8] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02C64268 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 02C6426C */ cpu->r[12] = 0x00000000u;
|
|
/* 02C64270 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C64270 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02C64270 */ if (_t11) goto L_02C64278; else goto L_02C64274;
|
|
L_02C64274: ; // 0x2c64274
|
|
/* 02C64274 */ cpu->r[12] = cpu->r[30] + cpu->r[8];
|
|
L_02C64278: ; // 0x2c64278
|
|
/* 02C64278 */ cpu->r[11] = cpu->r[12] + cpu->r[29];
|
|
/* 02C6427C */ _t12 = cpu->r[11] + 0x00000014u;
|
|
/* 02C6427C */ cpu->r[9] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02C64280 */ cpu->r[31] = 0x00000000u;
|
|
/* 02C64284 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 02C64288 */ cpu->r[12] = cpu->r[11] + 0x00000014u;
|
|
/* 02C6428C */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6428C */ _t14 = _t13 & 0x00000001u;
|
|
/* 02C6428C */ if (_t14) goto L_02C64294; else goto L_02C64290;
|
|
L_02C64290: ; // 0x2c64290
|
|
/* 02C64290 */ cpu->r[31] = cpu->r[12] + cpu->r[9];
|
|
L_02C64294: ; // 0x2c64294
|
|
/* 02C64294 */ _t15 = cpu->r[31] + 0x00000014u;
|
|
/* 02C64294 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02C64298 */ cpu->r[4] = 0x00000000u;
|
|
/* 02C6429C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C642A0 */ cpu->r[7] = cpu->r[31] + 0x00000014u;
|
|
/* 02C642A4 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C642A4 */ _t17 = _t16 & 0x00000001u;
|
|
/* 02C642A4 */ if (_t17) goto L_02C642AC; else goto L_02C642A8;
|
|
L_02C642A8: ; // 0x2c642a8
|
|
/* 02C642A8 */ cpu->r[4] = cpu->r[7] + cpu->r[0];
|
|
L_02C642AC: ; // 0x2c642ac
|
|
/* 02C642AC */ _t18 = cpu->r[31] + 0x00000004u;
|
|
/* 02C642AC */ cpu->r[5] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02C642B0 */ cpu->r[6] = 0x00000001u;
|
|
/* 02C642B4 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C642B8 */ Gambit_fn_02C6542C(cpu);
|
|
/* 02C642BC */ cpu->r[3] = cpu->r[31];
|
|
/* 02C642C0 */ Gambit_fn_02C65AB0(cpu);
|
|
/* 02C642C4 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C642C8 */ cpu->r[4] = 0x00000000u;
|
|
/* 02C642CC */ Gambit_fn_02C6530C(cpu);
|
|
/* 02C642D0 */ cpu->r[28] = cpu->r[28] + 0xFFFFFFFFu;
|
|
/* 02C642D0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 02C642D4 */ cpu->r[29] = cpu->r[29] + 0x0000001Cu;
|
|
/* 02C642D8 */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C642D8 */ _t20 = _t19 & 0x00000001u;
|
|
/* 02C642D8 */ if (_t20) goto L_02C642DC; else goto L_02C64264;
|
|
L_02C642DC: ; // 0x2c642dc
|
|
/* 02C642DC */ _t21 = cpu->r[1] + 0x00000008u;
|
|
/* 02C642DC */ cpu->r[28] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02C642E0 */ _t22 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C642E0 */ cpu->r[29] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02C642E4 */ _t23 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C642E4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02C642E8 */ _t24 = cpu->r[1] + 0x00000010u;
|
|
/* 02C642E8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02C642EC */ cpu->lr = cpu->r[0];
|
|
/* 02C642F0 */ _t25 = cpu->r[1] + 0x00000014u;
|
|
/* 02C642F0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02C642F4 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C642F8 */ return;
|
|
}
|
|
|
|
// fn_02C64238 @ 0x2c64238
|
|
void Gambit_fn_02C64238(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;
|
|
|
|
L_02C64238: ; // 0x2c64238
|
|
/* 02C64238 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02C64238 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C64238 */ cpu->r[1] = _t0;
|
|
/* 02C6423C */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 02C6423C */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02C64240 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02C64240 */ rbrew_write32(cpu->mem, _t2, cpu->r[28]);
|
|
/* 02C64244 */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C64244 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 02C64248 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 02C64248 */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
|
|
/* 02C6424C */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C6424C */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02C64250 */ _t6 = cpu->r[3] + 0x00000017u;
|
|
/* 02C64250 */ cpu->r[28] = rbrew_read8(cpu->mem, _t6);
|
|
/* 02C64254 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 02C64258 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C64258 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02C64258 */ if (_t8) goto L_02C642DC; else goto L_02C6425C;
|
|
L_02C6425C: ; // 0x2c6425c
|
|
/* 02C6425C */ cpu->r[30] = cpu->r[3] + 0x00000024u;
|
|
/* 02C64260 */ cpu->r[29] = 0x00000000u;
|
|
L_02C64264: ; // 0x2c64264
|
|
/* 02C64264 */ _t9 = cpu->r[30] + 0x00000000u;
|
|
/* 02C64264 */ cpu->r[8] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02C64268 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 02C6426C */ cpu->r[12] = 0x00000000u;
|
|
/* 02C64270 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C64270 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02C64270 */ if (_t11) goto L_02C64278; else goto L_02C64274;
|
|
L_02C64274: ; // 0x2c64274
|
|
/* 02C64274 */ cpu->r[12] = cpu->r[30] + cpu->r[8];
|
|
L_02C64278: ; // 0x2c64278
|
|
/* 02C64278 */ cpu->r[11] = cpu->r[12] + cpu->r[29];
|
|
/* 02C6427C */ _t12 = cpu->r[11] + 0x00000014u;
|
|
/* 02C6427C */ cpu->r[9] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02C64280 */ cpu->r[31] = 0x00000000u;
|
|
/* 02C64284 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 02C64288 */ cpu->r[12] = cpu->r[11] + 0x00000014u;
|
|
/* 02C6428C */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6428C */ _t14 = _t13 & 0x00000001u;
|
|
/* 02C6428C */ if (_t14) goto L_02C64294; else goto L_02C64290;
|
|
L_02C64290: ; // 0x2c64290
|
|
/* 02C64290 */ cpu->r[31] = cpu->r[12] + cpu->r[9];
|
|
L_02C64294: ; // 0x2c64294
|
|
/* 02C64294 */ _t15 = cpu->r[31] + 0x00000014u;
|
|
/* 02C64294 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02C64298 */ cpu->r[4] = 0x00000000u;
|
|
/* 02C6429C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C642A0 */ cpu->r[7] = cpu->r[31] + 0x00000014u;
|
|
/* 02C642A4 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C642A4 */ _t17 = _t16 & 0x00000001u;
|
|
/* 02C642A4 */ if (_t17) goto L_02C642AC; else goto L_02C642A8;
|
|
L_02C642A8: ; // 0x2c642a8
|
|
/* 02C642A8 */ cpu->r[4] = cpu->r[7] + cpu->r[0];
|
|
L_02C642AC: ; // 0x2c642ac
|
|
/* 02C642AC */ _t18 = cpu->r[31] + 0x00000004u;
|
|
/* 02C642AC */ cpu->r[5] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02C642B0 */ cpu->r[6] = 0x00000001u;
|
|
/* 02C642B4 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C642B8 */ Gambit_fn_02C6542C(cpu);
|
|
/* 02C642BC */ cpu->r[3] = cpu->r[31];
|
|
/* 02C642C0 */ Gambit_fn_02C65AB0(cpu);
|
|
/* 02C642C4 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C642C8 */ cpu->r[4] = 0x00000000u;
|
|
/* 02C642CC */ Gambit_fn_02C6530C(cpu);
|
|
/* 02C642D0 */ cpu->r[28] = cpu->r[28] + 0xFFFFFFFFu;
|
|
/* 02C642D0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 02C642D4 */ cpu->r[29] = cpu->r[29] + 0x0000001Cu;
|
|
/* 02C642D8 */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C642D8 */ _t20 = _t19 & 0x00000001u;
|
|
/* 02C642D8 */ if (_t20) goto L_02C642DC; else goto L_02C64264;
|
|
L_02C642DC: ; // 0x2c642dc
|
|
/* 02C642DC */ _t21 = cpu->r[1] + 0x00000008u;
|
|
/* 02C642DC */ cpu->r[28] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02C642E0 */ _t22 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C642E0 */ cpu->r[29] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02C642E4 */ _t23 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C642E4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02C642E8 */ _t24 = cpu->r[1] + 0x00000010u;
|
|
/* 02C642E8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02C642EC */ cpu->lr = cpu->r[0];
|
|
/* 02C642F0 */ _t25 = cpu->r[1] + 0x00000014u;
|
|
/* 02C642F0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02C642F4 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C642F8 */ return;
|
|
}
|
|
|
|
// fn_02C642FC @ 0x2c642fc
|
|
void Gambit_fn_02C642FC(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_02C642FC: ; // 0x2c642fc
|
|
/* 02C642FC */ cpu->r[0] = cpu->lr;
|
|
/* 02C64300 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02C64300 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C64300 */ cpu->r[1] = _t0;
|
|
/* 02C64304 */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 02C64304 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02C64308 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02C64308 */ rbrew_write32(cpu->mem, _t2, cpu->r[28]);
|
|
/* 02C6430C */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C6430C */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 02C64310 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 02C64310 */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
|
|
/* 02C64314 */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C64314 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02C64318 */ _t6 = cpu->r[3] + 0x00000017u;
|
|
/* 02C64318 */ cpu->r[28] = rbrew_read8(cpu->mem, _t6);
|
|
/* 02C6431C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 02C64320 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C64320 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02C64320 */ if (_t8) goto L_02C64384; else goto L_02C64324;
|
|
L_02C64324: ; // 0x2c64324
|
|
/* 02C64324 */ cpu->r[31] = cpu->r[3] + 0x00000024u;
|
|
/* 02C64328 */ cpu->r[29] = 0x00000000u;
|
|
L_02C6432C: ; // 0x2c6432c
|
|
/* 02C6432C */ _t9 = cpu->r[31] + 0x00000000u;
|
|
/* 02C6432C */ cpu->r[9] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02C64330 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 02C64334 */ cpu->r[8] = 0x00000000u;
|
|
/* 02C64338 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C64338 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02C64338 */ if (_t11) goto L_02C64340; else goto L_02C6433C;
|
|
L_02C6433C: ; // 0x2c6433c
|
|
/* 02C6433C */ cpu->r[8] = cpu->r[31] + cpu->r[9];
|
|
L_02C64340: ; // 0x2c64340
|
|
/* 02C64340 */ cpu->r[11] = cpu->r[8] + cpu->r[29];
|
|
/* 02C64344 */ _t12 = cpu->r[11] + 0x00000014u;
|
|
/* 02C64344 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02C64348 */ cpu->r[30] = 0x00000000u;
|
|
/* 02C6434C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C64350 */ cpu->r[12] = cpu->r[11] + 0x00000014u;
|
|
/* 02C64354 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C64354 */ _t14 = _t13 & 0x00000001u;
|
|
/* 02C64354 */ if (_t14) goto L_02C6435C; else goto L_02C64358;
|
|
L_02C64358: ; // 0x2c64358
|
|
/* 02C64358 */ cpu->r[30] = cpu->r[12] + cpu->r[0];
|
|
L_02C6435C: ; // 0x2c6435c
|
|
/* 02C6435C */ _t15 = cpu->r[30] + 0x00000004u;
|
|
/* 02C6435C */ cpu->r[5] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02C64360 */ cpu->r[6] = 0x00000001u;
|
|
/* 02C64364 */ cpu->r[4] = 0x00000000u;
|
|
/* 02C64368 */ cpu->r[3] = cpu->r[30];
|
|
/* 02C6436C */ Gambit_fn_02C6542C(cpu);
|
|
/* 02C64370 */ cpu->r[3] = cpu->r[30];
|
|
/* 02C64374 */ Gambit_fn_02C65AB4(cpu);
|
|
/* 02C64378 */ cpu->r[28] = cpu->r[28] + 0xFFFFFFFFu;
|
|
/* 02C64378 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 02C6437C */ cpu->r[29] = cpu->r[29] + 0x0000001Cu;
|
|
/* 02C64380 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C64380 */ _t17 = _t16 & 0x00000001u;
|
|
/* 02C64380 */ if (_t17) goto L_02C64384; else goto L_02C6432C;
|
|
L_02C64384: ; // 0x2c64384
|
|
/* 02C64384 */ _t18 = cpu->r[1] + 0x00000008u;
|
|
/* 02C64384 */ cpu->r[28] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02C64388 */ _t19 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C64388 */ cpu->r[29] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02C6438C */ _t20 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C6438C */ cpu->r[0] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02C64390 */ _t21 = cpu->r[1] + 0x00000010u;
|
|
/* 02C64390 */ cpu->r[30] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02C64394 */ cpu->lr = cpu->r[0];
|
|
/* 02C64398 */ _t22 = cpu->r[1] + 0x00000014u;
|
|
/* 02C64398 */ cpu->r[31] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02C6439C */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C643A0 */ return;
|
|
}
|
|
|
|
// fn_02C64300 @ 0x2c64300
|
|
void Gambit_fn_02C64300(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_02C64300: ; // 0x2c64300
|
|
/* 02C64300 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02C64300 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C64300 */ cpu->r[1] = _t0;
|
|
/* 02C64304 */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 02C64304 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02C64308 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02C64308 */ rbrew_write32(cpu->mem, _t2, cpu->r[28]);
|
|
/* 02C6430C */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C6430C */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 02C64310 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 02C64310 */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
|
|
/* 02C64314 */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C64314 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02C64318 */ _t6 = cpu->r[3] + 0x00000017u;
|
|
/* 02C64318 */ cpu->r[28] = rbrew_read8(cpu->mem, _t6);
|
|
/* 02C6431C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 02C64320 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C64320 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02C64320 */ if (_t8) goto L_02C64384; else goto L_02C64324;
|
|
L_02C64324: ; // 0x2c64324
|
|
/* 02C64324 */ cpu->r[31] = cpu->r[3] + 0x00000024u;
|
|
/* 02C64328 */ cpu->r[29] = 0x00000000u;
|
|
L_02C6432C: ; // 0x2c6432c
|
|
/* 02C6432C */ _t9 = cpu->r[31] + 0x00000000u;
|
|
/* 02C6432C */ cpu->r[9] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02C64330 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 02C64334 */ cpu->r[8] = 0x00000000u;
|
|
/* 02C64338 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C64338 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02C64338 */ if (_t11) goto L_02C64340; else goto L_02C6433C;
|
|
L_02C6433C: ; // 0x2c6433c
|
|
/* 02C6433C */ cpu->r[8] = cpu->r[31] + cpu->r[9];
|
|
L_02C64340: ; // 0x2c64340
|
|
/* 02C64340 */ cpu->r[11] = cpu->r[8] + cpu->r[29];
|
|
/* 02C64344 */ _t12 = cpu->r[11] + 0x00000014u;
|
|
/* 02C64344 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02C64348 */ cpu->r[30] = 0x00000000u;
|
|
/* 02C6434C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C64350 */ cpu->r[12] = cpu->r[11] + 0x00000014u;
|
|
/* 02C64354 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C64354 */ _t14 = _t13 & 0x00000001u;
|
|
/* 02C64354 */ if (_t14) goto L_02C6435C; else goto L_02C64358;
|
|
L_02C64358: ; // 0x2c64358
|
|
/* 02C64358 */ cpu->r[30] = cpu->r[12] + cpu->r[0];
|
|
L_02C6435C: ; // 0x2c6435c
|
|
/* 02C6435C */ _t15 = cpu->r[30] + 0x00000004u;
|
|
/* 02C6435C */ cpu->r[5] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02C64360 */ cpu->r[6] = 0x00000001u;
|
|
/* 02C64364 */ cpu->r[4] = 0x00000000u;
|
|
/* 02C64368 */ cpu->r[3] = cpu->r[30];
|
|
/* 02C6436C */ Gambit_fn_02C6542C(cpu);
|
|
/* 02C64370 */ cpu->r[3] = cpu->r[30];
|
|
/* 02C64374 */ Gambit_fn_02C65AB4(cpu);
|
|
/* 02C64378 */ cpu->r[28] = cpu->r[28] + 0xFFFFFFFFu;
|
|
/* 02C64378 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 02C6437C */ cpu->r[29] = cpu->r[29] + 0x0000001Cu;
|
|
/* 02C64380 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C64380 */ _t17 = _t16 & 0x00000001u;
|
|
/* 02C64380 */ if (_t17) goto L_02C64384; else goto L_02C6432C;
|
|
L_02C64384: ; // 0x2c64384
|
|
/* 02C64384 */ _t18 = cpu->r[1] + 0x00000008u;
|
|
/* 02C64384 */ cpu->r[28] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02C64388 */ _t19 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C64388 */ cpu->r[29] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02C6438C */ _t20 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C6438C */ cpu->r[0] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02C64390 */ _t21 = cpu->r[1] + 0x00000010u;
|
|
/* 02C64390 */ cpu->r[30] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02C64394 */ cpu->lr = cpu->r[0];
|
|
/* 02C64398 */ _t22 = cpu->r[1] + 0x00000014u;
|
|
/* 02C64398 */ cpu->r[31] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02C6439C */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C643A0 */ return;
|
|
}
|
|
|
|
// fn_02C643A4 @ 0x2c643a4
|
|
void Gambit_fn_02C643A4(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_02C643A4: ; // 0x2c643a4
|
|
/* 02C643A4 */ cpu->r[0] = 0x00000000u;
|
|
/* 02C643A8 */ _t0 = cpu->r[3] + 0x00000034u;
|
|
/* 02C643A8 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 02C643AC */ return;
|
|
}
|
|
|
|
// fn_02C643B0 @ 0x2c643b0
|
|
void Gambit_fn_02C643B0(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_02C643B0: ; // 0x2c643b0
|
|
/* 02C643B0 */ _t0 = cpu->r[1] + 0xFFFFFFD0u;
|
|
/* 02C643B0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C643B0 */ cpu->r[1] = _t0;
|
|
/* 02C643B4 */ /* nop */
|
|
/* 02C643B8 */ cpu->r[0] = cpu->lr;
|
|
/* 02C643BC */ _t1 = cpu->r[1] + 0x00000034u;
|
|
/* 02C643BC */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02C643C0 */ cpu->r[26] = cpu->r[3];
|
|
/* 02C643C4 */ _t2 = cpu->r[26] + 0x0000000Cu;
|
|
/* 02C643C4 */ cpu->r[5] = rbrew_read16(cpu->mem, _t2);
|
|
/* 02C643C8 */ cpu->r[0] = rbrew_rlwinm(cpu->r[5], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02C643C8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C643CC */ cpu->r[31] = 0x00000000u;
|
|
/* 02C643D0 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C643D0 */ _t4 = _t3 & 0x00000001u;
|
|
/* 02C643D0 */ if (_t4) goto L_02C644A8; else goto L_02C643D4;
|
|
L_02C643D4: ; // 0x2c643d4
|
|
/* 02C643D4 */ _t5 = cpu->r[26] + 0x00000014u;
|
|
/* 02C643D4 */ cpu->r[28] = rbrew_read16(cpu->mem, _t5);
|
|
/* 02C643D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 02C643DC */ cpu->r[23] = 0x00000000u;
|
|
/* 02C643E0 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C643E0 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02C643E0 */ if (_t7) goto L_02C644A0; else goto L_02C643E4;
|
|
L_02C643E4: ; // 0x2c643e4
|
|
/* 02C643E4 */ cpu->r[24] = cpu->r[26] + 0x00000028u;
|
|
/* 02C643E8 */ cpu->r[30] = 0x00000000u;
|
|
L_02C643EC: ; // 0x2c643ec
|
|
/* 02C643EC */ _t8 = cpu->r[24] + 0x00000000u;
|
|
/* 02C643EC */ cpu->r[12] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C643F0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02C643F4 */ cpu->r[6] = 0x00000000u;
|
|
/* 02C643F8 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C643F8 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02C643F8 */ if (_t10) goto L_02C64400; else goto L_02C643FC;
|
|
L_02C643FC: ; // 0x2c643fc
|
|
/* 02C643FC */ cpu->r[6] = cpu->r[24] + cpu->r[12];
|
|
L_02C64400: ; // 0x2c64400
|
|
/* 02C64400 */ _t11 = cpu->r[6] + cpu->r[30];
|
|
/* 02C64400 */ cpu->r[27] = rbrew_read16(cpu->mem, _t11);
|
|
/* 02C64404 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 02C64408 */ cpu->r[8] = cpu->r[6] + cpu->r[30];
|
|
/* 02C6440C */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6440C */ _t13 = _t12 & 0x00000001u;
|
|
/* 02C6440C */ if (_t13) goto L_02C64490; else goto L_02C64410;
|
|
L_02C64410: ; // 0x2c64410
|
|
/* 02C64410 */ cpu->r[25] = cpu->r[8] + 0x00000014u;
|
|
/* 02C64414 */ cpu->r[29] = 0x00000000u;
|
|
L_02C64418: ; // 0x2c64418
|
|
/* 02C64418 */ _t14 = cpu->r[25] + 0x00000000u;
|
|
/* 02C64418 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02C6441C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C64420 */ cpu->r[11] = 0x00000000u;
|
|
/* 02C64424 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C64424 */ _t16 = _t15 & 0x00000001u;
|
|
/* 02C64424 */ if (_t16) goto L_02C6442C; else goto L_02C64428;
|
|
L_02C64428: ; // 0x2c64428
|
|
/* 02C64428 */ cpu->r[11] = cpu->r[25] + cpu->r[0];
|
|
L_02C6442C: ; // 0x2c6442c
|
|
/* 02C6442C */ _t17 = cpu->r[11] + cpu->r[29];
|
|
/* 02C6442C */ cpu->r[9] = rbrew_read16(cpu->mem, _t17);
|
|
/* 02C64430 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[23], 0x00000000u);
|
|
/* 02C64434 */ cpu->r[3] = cpu->r[11] + cpu->r[29];
|
|
/* 02C64438 */ cpu->r[0] = rbrew_rlwinm(cpu->r[9], 0x00000000u, 0x00000019u, 0x0000001Bu);
|
|
/* 02C6443C */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6443C */ _t19 = _t18 & 0x00000001u;
|
|
/* 02C6443C */ if (_t19) goto L_02C64440; else goto L_02C64464;
|
|
L_02C64440: ; // 0x2c64440
|
|
/* 02C64440 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000020u);
|
|
/* 02C64444 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C64444 */ _t21 = _t20 & 0x00000001u;
|
|
/* 02C64444 */ if (_t21) goto L_02C64448; else goto L_02C64464;
|
|
L_02C64448: ; // 0x2c64448
|
|
/* 02C64448 */ _t22 = cpu->r[3] + 0x00000020u;
|
|
/* 02C64448 */ cpu->r[4] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02C6444C */ cpu->r[12] = cpu->r[3] + 0x00000020u;
|
|
/* 02C64450 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
|
|
/* 02C64454 */ cpu->r[31] = 0x00000000u;
|
|
/* 02C64458 */ _t23 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C64458 */ _t24 = _t23 & 0x00000001u;
|
|
/* 02C64458 */ if (_t24) goto L_02C64460; else goto L_02C6445C;
|
|
L_02C6445C: ; // 0x2c6445c
|
|
/* 02C6445C */ cpu->r[31] = cpu->r[12] + cpu->r[4];
|
|
L_02C64460: ; // 0x2c64460
|
|
/* 02C64460 */ cpu->r[23] = 0x00000001u;
|
|
L_02C64464: ; // 0x2c64464
|
|
/* 02C64464 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000040u);
|
|
/* 02C64468 */ _t25 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C64468 */ _t26 = _t25 & 0x00000001u;
|
|
/* 02C64468 */ if (_t26) goto L_02C6446C; else goto L_02C64480;
|
|
L_02C6446C: ; // 0x2c6446c
|
|
/* 02C6446C */ Gambit_fn_02C5F538(cpu);
|
|
/* 02C64470 */ cpu->r[27] = cpu->r[27] + 0xFFFFFFFFu;
|
|
/* 02C64470 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 02C64474 */ cpu->r[29] = cpu->r[29] + 0x00000024u;
|
|
/* 02C64478 */ _t27 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C64478 */ _t28 = _t27 & 0x00000001u;
|
|
/* 02C64478 */ if (_t28) goto L_02C6447C; else goto L_02C64418;
|
|
L_02C6447C: ; // 0x2c6447c
|
|
/* 02C6447C */ goto L_02C64490;
|
|
L_02C64480: ; // 0x2c64480
|
|
/* 02C64480 */ Gambit_fn_02C5F5DC(cpu);
|
|
/* 02C64484 */ cpu->r[27] = cpu->r[27] + 0xFFFFFFFFu;
|
|
/* 02C64484 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 02C64488 */ cpu->r[29] = cpu->r[29] + 0x00000024u;
|
|
/* 02C6448C */ _t29 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6448C */ _t30 = _t29 & 0x00000001u;
|
|
/* 02C6448C */ if (_t30) goto L_02C64490; else goto L_02C64418;
|
|
L_02C64490: ; // 0x2c64490
|
|
/* 02C64490 */ cpu->r[28] = cpu->r[28] + 0xFFFFFFFFu;
|
|
/* 02C64490 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 02C64494 */ cpu->r[30] = cpu->r[30] + 0x0000001Cu;
|
|
/* 02C64498 */ _t31 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C64498 */ _t32 = _t31 & 0x00000001u;
|
|
/* 02C64498 */ if (_t32) goto L_02C6449C; else goto L_02C643EC;
|
|
L_02C6449C: ; // 0x2c6449c
|
|
/* 02C6449C */ _t33 = cpu->r[26] + 0x0000000Cu;
|
|
/* 02C6449C */ cpu->r[5] = rbrew_read16(cpu->mem, _t33);
|
|
L_02C644A0: ; // 0x2c644a0
|
|
/* 02C644A0 */ cpu->r[0] = cpu->r[5] ^ 0x00000001u;
|
|
/* 02C644A4 */ _t34 = cpu->r[26] + 0x0000000Cu;
|
|
/* 02C644A4 */ rbrew_write16(cpu->mem, _t34, (uint16_t)cpu->r[0]);
|
|
L_02C644A8: ; // 0x2c644a8
|
|
/* 02C644A8 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C644AC */ /* nop */
|
|
/* 02C644B0 */ _t35 = cpu->r[1] + 0x00000034u;
|
|
/* 02C644B0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t35);
|
|
/* 02C644B4 */ cpu->lr = cpu->r[0];
|
|
/* 02C644B8 */ cpu->r[1] = cpu->r[1] + 0x00000030u;
|
|
/* 02C644BC */ return;
|
|
}
|
|
|
|
// fn_02C644C0 @ 0x2c644c0
|
|
void Gambit_fn_02C644C0(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;
|
|
|
|
L_02C643B0: ; // 0x2c643b0
|
|
/* 02C643B0 */ _t0 = cpu->r[1] + 0xFFFFFFD0u;
|
|
/* 02C643B0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C643B0 */ cpu->r[1] = _t0;
|
|
/* 02C643B4 */ /* nop */
|
|
/* 02C643B8 */ cpu->r[0] = cpu->lr;
|
|
/* 02C643BC */ _t1 = cpu->r[1] + 0x00000034u;
|
|
/* 02C643BC */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02C643C0 */ cpu->r[26] = cpu->r[3];
|
|
/* 02C643C4 */ _t2 = cpu->r[26] + 0x0000000Cu;
|
|
/* 02C643C4 */ cpu->r[5] = rbrew_read16(cpu->mem, _t2);
|
|
/* 02C643C8 */ cpu->r[0] = rbrew_rlwinm(cpu->r[5], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02C643C8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C643CC */ cpu->r[31] = 0x00000000u;
|
|
/* 02C643D0 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C643D0 */ _t4 = _t3 & 0x00000001u;
|
|
/* 02C643D0 */ if (_t4) goto L_02C644A8; else goto L_02C643D4;
|
|
L_02C643D4: ; // 0x2c643d4
|
|
/* 02C643D4 */ _t5 = cpu->r[26] + 0x00000014u;
|
|
/* 02C643D4 */ cpu->r[28] = rbrew_read16(cpu->mem, _t5);
|
|
/* 02C643D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 02C643DC */ cpu->r[23] = 0x00000000u;
|
|
/* 02C643E0 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C643E0 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02C643E0 */ if (_t7) goto L_02C644A0; else goto L_02C643E4;
|
|
L_02C643E4: ; // 0x2c643e4
|
|
/* 02C643E4 */ cpu->r[24] = cpu->r[26] + 0x00000028u;
|
|
/* 02C643E8 */ cpu->r[30] = 0x00000000u;
|
|
L_02C643EC: ; // 0x2c643ec
|
|
/* 02C643EC */ _t8 = cpu->r[24] + 0x00000000u;
|
|
/* 02C643EC */ cpu->r[12] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C643F0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02C643F4 */ cpu->r[6] = 0x00000000u;
|
|
/* 02C643F8 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C643F8 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02C643F8 */ if (_t10) goto L_02C64400; else goto L_02C643FC;
|
|
L_02C643FC: ; // 0x2c643fc
|
|
/* 02C643FC */ cpu->r[6] = cpu->r[24] + cpu->r[12];
|
|
L_02C64400: ; // 0x2c64400
|
|
/* 02C64400 */ _t11 = cpu->r[6] + cpu->r[30];
|
|
/* 02C64400 */ cpu->r[27] = rbrew_read16(cpu->mem, _t11);
|
|
/* 02C64404 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 02C64408 */ cpu->r[8] = cpu->r[6] + cpu->r[30];
|
|
/* 02C6440C */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6440C */ _t13 = _t12 & 0x00000001u;
|
|
/* 02C6440C */ if (_t13) goto L_02C64490; else goto L_02C64410;
|
|
L_02C64410: ; // 0x2c64410
|
|
/* 02C64410 */ cpu->r[25] = cpu->r[8] + 0x00000014u;
|
|
/* 02C64414 */ cpu->r[29] = 0x00000000u;
|
|
L_02C64418: ; // 0x2c64418
|
|
/* 02C64418 */ _t14 = cpu->r[25] + 0x00000000u;
|
|
/* 02C64418 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02C6441C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C64420 */ cpu->r[11] = 0x00000000u;
|
|
/* 02C64424 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C64424 */ _t16 = _t15 & 0x00000001u;
|
|
/* 02C64424 */ if (_t16) goto L_02C6442C; else goto L_02C64428;
|
|
L_02C64428: ; // 0x2c64428
|
|
/* 02C64428 */ cpu->r[11] = cpu->r[25] + cpu->r[0];
|
|
L_02C6442C: ; // 0x2c6442c
|
|
/* 02C6442C */ _t17 = cpu->r[11] + cpu->r[29];
|
|
/* 02C6442C */ cpu->r[9] = rbrew_read16(cpu->mem, _t17);
|
|
/* 02C64430 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[23], 0x00000000u);
|
|
/* 02C64434 */ cpu->r[3] = cpu->r[11] + cpu->r[29];
|
|
/* 02C64438 */ cpu->r[0] = rbrew_rlwinm(cpu->r[9], 0x00000000u, 0x00000019u, 0x0000001Bu);
|
|
/* 02C6443C */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6443C */ _t19 = _t18 & 0x00000001u;
|
|
/* 02C6443C */ if (_t19) goto L_02C64440; else goto L_02C64464;
|
|
L_02C64440: ; // 0x2c64440
|
|
/* 02C64440 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000020u);
|
|
/* 02C64444 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C64444 */ _t21 = _t20 & 0x00000001u;
|
|
/* 02C64444 */ if (_t21) goto L_02C64448; else goto L_02C64464;
|
|
L_02C64448: ; // 0x2c64448
|
|
/* 02C64448 */ _t22 = cpu->r[3] + 0x00000020u;
|
|
/* 02C64448 */ cpu->r[4] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02C6444C */ cpu->r[12] = cpu->r[3] + 0x00000020u;
|
|
/* 02C64450 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
|
|
/* 02C64454 */ cpu->r[31] = 0x00000000u;
|
|
/* 02C64458 */ _t23 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C64458 */ _t24 = _t23 & 0x00000001u;
|
|
/* 02C64458 */ if (_t24) goto L_02C64460; else goto L_02C6445C;
|
|
L_02C6445C: ; // 0x2c6445c
|
|
/* 02C6445C */ cpu->r[31] = cpu->r[12] + cpu->r[4];
|
|
L_02C64460: ; // 0x2c64460
|
|
/* 02C64460 */ cpu->r[23] = 0x00000001u;
|
|
L_02C64464: ; // 0x2c64464
|
|
/* 02C64464 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000040u);
|
|
/* 02C64468 */ _t25 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C64468 */ _t26 = _t25 & 0x00000001u;
|
|
/* 02C64468 */ if (_t26) goto L_02C6446C; else goto L_02C64480;
|
|
L_02C6446C: ; // 0x2c6446c
|
|
/* 02C6446C */ Gambit_fn_02C5F538(cpu);
|
|
/* 02C64470 */ cpu->r[27] = cpu->r[27] + 0xFFFFFFFFu;
|
|
/* 02C64470 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 02C64474 */ cpu->r[29] = cpu->r[29] + 0x00000024u;
|
|
/* 02C64478 */ _t27 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C64478 */ _t28 = _t27 & 0x00000001u;
|
|
/* 02C64478 */ if (_t28) goto L_02C6447C; else goto L_02C64418;
|
|
L_02C6447C: ; // 0x2c6447c
|
|
/* 02C6447C */ goto L_02C64490;
|
|
L_02C64480: ; // 0x2c64480
|
|
/* 02C64480 */ Gambit_fn_02C5F5DC(cpu);
|
|
/* 02C64484 */ cpu->r[27] = cpu->r[27] + 0xFFFFFFFFu;
|
|
/* 02C64484 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 02C64488 */ cpu->r[29] = cpu->r[29] + 0x00000024u;
|
|
/* 02C6448C */ _t29 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6448C */ _t30 = _t29 & 0x00000001u;
|
|
/* 02C6448C */ if (_t30) goto L_02C64490; else goto L_02C64418;
|
|
L_02C64490: ; // 0x2c64490
|
|
/* 02C64490 */ cpu->r[28] = cpu->r[28] + 0xFFFFFFFFu;
|
|
/* 02C64490 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 02C64494 */ cpu->r[30] = cpu->r[30] + 0x0000001Cu;
|
|
/* 02C64498 */ _t31 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C64498 */ _t32 = _t31 & 0x00000001u;
|
|
/* 02C64498 */ if (_t32) goto L_02C6449C; else goto L_02C643EC;
|
|
L_02C6449C: ; // 0x2c6449c
|
|
/* 02C6449C */ _t33 = cpu->r[26] + 0x0000000Cu;
|
|
/* 02C6449C */ cpu->r[5] = rbrew_read16(cpu->mem, _t33);
|
|
L_02C644A0: ; // 0x2c644a0
|
|
/* 02C644A0 */ cpu->r[0] = cpu->r[5] ^ 0x00000001u;
|
|
/* 02C644A4 */ _t34 = cpu->r[26] + 0x0000000Cu;
|
|
/* 02C644A4 */ rbrew_write16(cpu->mem, _t34, (uint16_t)cpu->r[0]);
|
|
L_02C644A8: ; // 0x2c644a8
|
|
/* 02C644A8 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C644AC */ /* nop */
|
|
/* 02C644B0 */ _t35 = cpu->r[1] + 0x00000034u;
|
|
/* 02C644B0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t35);
|
|
/* 02C644B4 */ cpu->lr = cpu->r[0];
|
|
/* 02C644B8 */ cpu->r[1] = cpu->r[1] + 0x00000030u;
|
|
/* 02C644BC */ return;
|
|
L_02C644C0: ; // 0x2c644c0
|
|
/* 02C644C0 */ _t36 = cpu->r[3] + 0x00000024u;
|
|
/* 02C644C0 */ cpu->r[8] = rbrew_read32(cpu->mem, _t36);
|
|
/* 02C644C4 */ cpu->r[9] = 0x00000000u;
|
|
/* 02C644C8 */ cpu->r[11] = cpu->r[3] + 0x00000024u;
|
|
/* 02C644CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 02C644D0 */ _t37 = cpu->r[3] + 0x00000020u;
|
|
/* 02C644D0 */ rbrew_write32(cpu->mem, _t37, cpu->r[9]);
|
|
/* 02C644D4 */ _t38 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C644D4 */ _t39 = _t38 & 0x00000001u;
|
|
/* 02C644D4 */ if (_t39) goto L_02C644DC; else goto L_02C644D8;
|
|
L_02C644D8: ; // 0x2c644d8
|
|
/* 02C644D8 */ cpu->r[9] = cpu->r[11] + cpu->r[8];
|
|
L_02C644DC: ; // 0x2c644dc
|
|
/* 02C644DC */ _t40 = cpu->r[3] + 0x00000014u;
|
|
/* 02C644DC */ cpu->r[11] = rbrew_read16(cpu->mem, _t40);
|
|
/* 02C644E0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02C644E4 */ _t41 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C644E4 */ _t42 = _t41 & 0x00000001u;
|
|
/* 02C644E4 */ if (_t42) goto L_02C6455C; else goto L_02C644E8;
|
|
L_02C644E8: ; // 0x2c644e8
|
|
/* 02C644E8 */ cpu->r[7] = 0x00010000u;
|
|
/* 02C644EC */ cpu->r[5] = 0x00000000u;
|
|
/* 02C644F0 */ cpu->r[6] = cpu->r[9] + 0xFFFFFFFEu;
|
|
/* 02C644F4 */ cpu->r[7] = cpu->r[7] + 0xFFFFFFFFu;
|
|
/* 02C644F8 */ cpu->r[12] = cpu->r[3] + 0x00000028u;
|
|
L_02C644FC: ; // 0x2c644fc
|
|
/* 02C644FC */ _t43 = cpu->r[12] + 0x00000000u;
|
|
/* 02C644FC */ cpu->r[9] = rbrew_read32(cpu->mem, _t43);
|
|
/* 02C64500 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 02C64504 */ cpu->r[10] = 0x00000000u;
|
|
/* 02C64508 */ _t44 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C64508 */ _t45 = _t44 & 0x00000001u;
|
|
/* 02C64508 */ if (_t45) goto L_02C64510; else goto L_02C6450C;
|
|
L_02C6450C: ; // 0x2c6450c
|
|
/* 02C6450C */ cpu->r[10] = cpu->r[12] + cpu->r[9];
|
|
L_02C64510: ; // 0x2c64510
|
|
/* 02C64510 */ cpu->r[8] = cpu->r[10] + cpu->r[5];
|
|
/* 02C64514 */ _t46 = cpu->r[8] + 0x00000010u;
|
|
/* 02C64514 */ cpu->r[0] = rbrew_read32(cpu->mem, _t46);
|
|
/* 02C64518 */ cpu->r[9] = 0x00000000u;
|
|
/* 02C6451C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C64520 */ cpu->r[10] = cpu->r[8] + 0x00000010u;
|
|
/* 02C64524 */ _t47 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C64524 */ _t48 = _t47 & 0x00000001u;
|
|
/* 02C64524 */ if (_t48) goto L_02C6452C; else goto L_02C64528;
|
|
L_02C64528: ; // 0x2c64528
|
|
/* 02C64528 */ cpu->r[9] = cpu->r[10] + cpu->r[0];
|
|
L_02C6452C: ; // 0x2c6452c
|
|
/* 02C6452C */ _t49 = cpu->r[8] + 0x00000002u;
|
|
/* 02C6452C */ cpu->r[10] = rbrew_read16(cpu->mem, _t49);
|
|
/* 02C64530 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02C64534 */ _t50 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C64534 */ _t51 = _t50 & 0x00000001u;
|
|
/* 02C64534 */ if (_t51) goto L_02C6454C; else goto L_02C64538;
|
|
L_02C64538: ; // 0x2c64538
|
|
/* 02C64538 */ cpu->ctr = cpu->r[10];
|
|
/* 02C6453C */ cpu->r[0] = 0xFFFFFFFFu;
|
|
L_02C64540: ; // 0x2c64540
|
|
/* 02C64540 */ _t52 = cpu->r[9] + 0x00000001u;
|
|
/* 02C64540 */ rbrew_write8(cpu->mem, _t52, (uint8_t)cpu->r[0]);
|
|
/* 02C64544 */ cpu->r[9] = cpu->r[9] + 0x00000008u;
|
|
/* 02C64548 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02C64548 */ _t53 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02C64548 */ _t54 = _t53 >> (0x00000002u & 31u);
|
|
/* 02C64548 */ _t55 = _t54 & 0x00000001u;
|
|
/* 02C64548 */ if (_t55) goto L_02C64540; else goto L_02C6454C;
|
|
L_02C6454C: ; // 0x2c6454c
|
|
/* 02C6454C */ cpu->r[11] = cpu->r[11] + 0xFFFFFFFFu;
|
|
/* 02C6454C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02C64550 */ cpu->r[5] = cpu->r[5] + 0x0000001Cu;
|
|
/* 02C64554 */ _t56 = cpu->r[6] + 0x00000002u;
|
|
/* 02C64554 */ rbrew_write16(cpu->mem, _t56, (uint16_t)cpu->r[7]);
|
|
/* 02C64554 */ cpu->r[6] = _t56;
|
|
/* 02C64558 */ _t57 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C64558 */ _t58 = _t57 & 0x00000001u;
|
|
/* 02C64558 */ if (_t58) goto L_02C6455C; else goto L_02C644FC;
|
|
L_02C6455C: ; // 0x2c6455c
|
|
/* 02C6455C */ goto L_02C643B0;
|
|
}
|
|
|
|
// fn_02C64560 @ 0x2c64560
|
|
void Gambit_fn_02C64560(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_02C64560: ; // 0x2c64560
|
|
/* 02C64560 */ _t0 = cpu->r[3] + 0x00000014u;
|
|
/* 02C64560 */ cpu->r[10] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02C64564 */ cpu->r[6] = cpu->r[3] + 0x00000014u;
|
|
/* 02C64568 */ cpu->r[12] = 0x00000000u;
|
|
/* 02C6456C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02C64570 */ _t1 = cpu->r[3] + 0x00000000u;
|
|
/* 02C64570 */ cpu->r[11] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02C64574 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C64574 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02C64574 */ if (_t3) goto L_02C6457C; else goto L_02C64578;
|
|
L_02C64578: ; // 0x2c64578
|
|
/* 02C64578 */ cpu->r[12] = cpu->r[6] + cpu->r[10];
|
|
L_02C6457C: ; // 0x2c6457c
|
|
/* 02C6457C */ cpu->r[0] = rbrew_rlwinm(cpu->r[11], 0x00000000u, 0x0000001Cu, 0x0000001Cu);
|
|
/* 02C6457C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C64580 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C64580 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02C64580 */ if (_t5) goto L_02C645CC; else goto L_02C64584;
|
|
L_02C64584: ; // 0x2c64584
|
|
/* 02C64584 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02C64588 */ cpu->r[7] = 0x00000000u;
|
|
/* 02C6458C */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6458C */ _t7 = _t6 & 0x00000001u;
|
|
/* 02C6458C */ if (_t7) goto L_02C64594; else goto L_02C64590;
|
|
L_02C64590: ; // 0x2c64590
|
|
/* 02C64590 */ cpu->r[7] = cpu->r[6] + cpu->r[10];
|
|
L_02C64594: ; // 0x2c64594
|
|
/* 02C64594 */ cpu->r[0] = 0x00000003u;
|
|
/* 02C64598 */ cpu->ctr = cpu->r[0];
|
|
/* 02C6459C */ cpu->r[8] = 0x00000000u;
|
|
L_02C645A0: ; // 0x2c645a0
|
|
/* 02C645A0 */ _t8 = cpu->r[7] + cpu->r[8];
|
|
/* 02C645A0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C645A4 */ cpu->r[9] = cpu->r[4] + 0x00000004u;
|
|
/* 02C645A8 */ _t9 = cpu->r[9] + cpu->r[8];
|
|
/* 02C645A8 */ rbrew_write32(cpu->mem, _t9, cpu->r[0]);
|
|
/* 02C645AC */ cpu->r[8] = cpu->r[8] + 0x00000004u;
|
|
/* 02C645B0 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02C645B0 */ _t10 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02C645B0 */ _t11 = _t10 >> (0x00000002u & 31u);
|
|
/* 02C645B0 */ _t12 = _t11 & 0x00000001u;
|
|
/* 02C645B0 */ if (_t12) goto L_02C645A0; else goto L_02C645B4;
|
|
L_02C645B4: ; // 0x2c645b4
|
|
/* 02C645B4 */ cpu->r[10] = 0x101B0000u;
|
|
/* 02C645B8 */ cpu->r[6] = rbrew_rlwinm(cpu->r[11], 0x00000000u, 0x0000001Bu, 0x0000001Bu);
|
|
/* 02C645B8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u);
|
|
/* 02C645BC */ cpu->r[12] = cpu->r[12] + 0x0000000Cu;
|
|
/* 02C645C0 */ cpu->r[10] = cpu->r[10] + 0xFFFFF1B8u;
|
|
/* 02C645C4 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C645C4 */ _t14 = _t13 & 0x00000001u;
|
|
/* 02C645C4 */ if (_t14) goto L_02C64640; else goto L_02C645C8;
|
|
L_02C645C8: ; // 0x2c645c8
|
|
/* 02C645C8 */ goto L_02C64610;
|
|
L_02C645CC: ; // 0x2c645cc
|
|
/* 02C645CC */ cpu->r[7] = 0x101B0000u;
|
|
/* 02C645D0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u);
|
|
/* 02C645D4 */ cpu->r[7] = cpu->r[7] + 0xFFFFF1C8u;
|
|
/* 02C645D8 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C645D8 */ _t16 = _t15 & 0x00000001u;
|
|
/* 02C645D8 */ if (_t16) goto L_02C645E0; else goto L_02C645DC;
|
|
L_02C645DC: ; // 0x2c645dc
|
|
/* 02C645DC */ cpu->r[7] = cpu->r[5] + 0x00000014u;
|
|
L_02C645E0: ; // 0x2c645e0
|
|
/* 02C645E0 */ cpu->r[0] = 0x00000003u;
|
|
/* 02C645E4 */ cpu->ctr = cpu->r[0];
|
|
/* 02C645E8 */ cpu->r[9] = 0x00000000u;
|
|
L_02C645EC: ; // 0x2c645ec
|
|
/* 02C645EC */ _t17 = cpu->r[7] + cpu->r[9];
|
|
/* 02C645EC */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02C645F0 */ cpu->r[10] = cpu->r[4] + 0x00000004u;
|
|
/* 02C645F4 */ _t18 = cpu->r[10] + cpu->r[9];
|
|
/* 02C645F4 */ rbrew_write32(cpu->mem, _t18, cpu->r[0]);
|
|
/* 02C645F8 */ cpu->r[9] = cpu->r[9] + 0x00000004u;
|
|
/* 02C645FC */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02C645FC */ _t19 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02C645FC */ _t20 = _t19 >> (0x00000002u & 31u);
|
|
/* 02C645FC */ _t21 = _t20 & 0x00000001u;
|
|
/* 02C645FC */ if (_t21) goto L_02C645EC; else goto L_02C64600;
|
|
L_02C64600: ; // 0x2c64600
|
|
/* 02C64600 */ cpu->r[10] = 0x101B0000u;
|
|
/* 02C64604 */ cpu->r[6] = rbrew_rlwinm(cpu->r[11], 0x00000000u, 0x0000001Bu, 0x0000001Bu);
|
|
/* 02C64604 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u);
|
|
/* 02C64608 */ cpu->r[10] = cpu->r[10] + 0xFFFFF1B8u;
|
|
/* 02C6460C */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6460C */ _t23 = _t22 & 0x00000001u;
|
|
/* 02C6460C */ if (_t23) goto L_02C64640; else goto L_02C64610;
|
|
L_02C64610: ; // 0x2c64610
|
|
/* 02C64610 */ cpu->r[8] = 0x00000004u;
|
|
/* 02C64614 */ cpu->ctr = cpu->r[8];
|
|
/* 02C64618 */ cpu->r[9] = 0x00000000u;
|
|
L_02C6461C: ; // 0x2c6461c
|
|
/* 02C6461C */ _t24 = cpu->r[12] + cpu->r[9];
|
|
/* 02C6461C */ cpu->r[0] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02C64620 */ cpu->r[7] = cpu->r[4] + 0x00000020u;
|
|
/* 02C64624 */ _t25 = cpu->r[7] + cpu->r[9];
|
|
/* 02C64624 */ rbrew_write32(cpu->mem, _t25, cpu->r[0]);
|
|
/* 02C64628 */ cpu->r[9] = cpu->r[9] + 0x00000004u;
|
|
/* 02C6462C */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02C6462C */ _t26 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02C6462C */ _t27 = _t26 >> (0x00000002u & 31u);
|
|
/* 02C6462C */ _t28 = _t27 & 0x00000001u;
|
|
/* 02C6462C */ if (_t28) goto L_02C6461C; else goto L_02C64630;
|
|
L_02C64630: ; // 0x2c64630
|
|
/* 02C64630 */ cpu->r[7] = rbrew_rlwinm(cpu->r[11], 0x00000000u, 0x0000001Au, 0x0000001Au);
|
|
/* 02C64630 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 02C64634 */ cpu->r[12] = cpu->r[12] + 0x00000010u;
|
|
/* 02C64638 */ _t29 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C64638 */ _t30 = _t29 & 0x00000001u;
|
|
/* 02C64638 */ if (_t30) goto L_02C646A4; else goto L_02C6463C;
|
|
L_02C6463C: ; // 0x2c6463c
|
|
/* 02C6463C */ goto L_02C64678;
|
|
L_02C64640: ; // 0x2c64640
|
|
/* 02C64640 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u);
|
|
/* 02C64644 */ cpu->r[7] = cpu->r[10];
|
|
/* 02C64648 */ _t31 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C64648 */ _t32 = _t31 & 0x00000001u;
|
|
/* 02C64648 */ if (_t32) goto L_02C64650; else goto L_02C6464C;
|
|
L_02C6464C: ; // 0x2c6464c
|
|
/* 02C6464C */ cpu->r[7] = cpu->r[5] + 0x00000020u;
|
|
L_02C64650: ; // 0x2c64650
|
|
/* 02C64650 */ cpu->r[0] = 0x00000004u;
|
|
/* 02C64654 */ cpu->ctr = cpu->r[0];
|
|
/* 02C64658 */ cpu->r[6] = 0x00000000u;
|
|
L_02C6465C: ; // 0x2c6465c
|
|
/* 02C6465C */ _t33 = cpu->r[7] + cpu->r[6];
|
|
/* 02C6465C */ cpu->r[0] = rbrew_read32(cpu->mem, _t33);
|
|
/* 02C64660 */ cpu->r[8] = cpu->r[4] + 0x00000020u;
|
|
/* 02C64664 */ _t34 = cpu->r[8] + cpu->r[6];
|
|
/* 02C64664 */ rbrew_write32(cpu->mem, _t34, cpu->r[0]);
|
|
/* 02C64668 */ cpu->r[6] = cpu->r[6] + 0x00000004u;
|
|
/* 02C6466C */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02C6466C */ _t35 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02C6466C */ _t36 = _t35 >> (0x00000002u & 31u);
|
|
/* 02C6466C */ _t37 = _t36 & 0x00000001u;
|
|
/* 02C6466C */ if (_t37) goto L_02C6465C; else goto L_02C64670;
|
|
L_02C64670: ; // 0x2c64670
|
|
/* 02C64670 */ cpu->r[7] = rbrew_rlwinm(cpu->r[11], 0x00000000u, 0x0000001Au, 0x0000001Au);
|
|
/* 02C64670 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 02C64674 */ _t38 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C64674 */ _t39 = _t38 & 0x00000001u;
|
|
/* 02C64674 */ if (_t39) goto L_02C646A4; else goto L_02C64678;
|
|
L_02C64678: ; // 0x2c64678
|
|
/* 02C64678 */ cpu->r[0] = 0x00000003u;
|
|
/* 02C6467C */ cpu->ctr = cpu->r[0];
|
|
/* 02C64680 */ cpu->r[6] = 0x00000000u;
|
|
L_02C64684: ; // 0x2c64684
|
|
/* 02C64684 */ _t40 = cpu->r[12] + cpu->r[6];
|
|
/* 02C64684 */ cpu->r[0] = rbrew_read32(cpu->mem, _t40);
|
|
/* 02C64688 */ cpu->r[10] = cpu->r[4] + 0x00000010u;
|
|
/* 02C6468C */ _t41 = cpu->r[10] + cpu->r[6];
|
|
/* 02C6468C */ rbrew_write32(cpu->mem, _t41, cpu->r[0]);
|
|
/* 02C64690 */ cpu->r[6] = cpu->r[6] + 0x00000004u;
|
|
/* 02C64694 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02C64694 */ _t42 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02C64694 */ _t43 = _t42 >> (0x00000002u & 31u);
|
|
/* 02C64694 */ _t44 = _t43 & 0x00000001u;
|
|
/* 02C64694 */ if (_t44) goto L_02C64684; else goto L_02C64698;
|
|
L_02C64698: ; // 0x2c64698
|
|
/* 02C64698 */ cpu->r[0] = rbrew_rlwinm(cpu->r[11], 0x00000000u, 0x00000004u, 0x00000008u);
|
|
/* 02C6469C */ _t45 = cpu->r[4] + 0x00000000u;
|
|
/* 02C6469C */ rbrew_write32(cpu->mem, _t45, cpu->r[0]);
|
|
/* 02C646A0 */ return;
|
|
L_02C646A4: ; // 0x2c646a4
|
|
/* 02C646A4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u);
|
|
/* 02C646A8 */ _t46 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C646A8 */ _t47 = _t46 & 0x00000001u;
|
|
/* 02C646A8 */ if (_t47) goto L_02C646B0; else goto L_02C646AC;
|
|
L_02C646AC: ; // 0x2c646ac
|
|
/* 02C646AC */ cpu->r[10] = cpu->r[5] + 0x00000030u;
|
|
L_02C646B0: ; // 0x2c646b0
|
|
/* 02C646B0 */ cpu->r[6] = 0x00000003u;
|
|
/* 02C646B4 */ cpu->ctr = cpu->r[6];
|
|
/* 02C646B8 */ cpu->r[8] = 0x00000000u;
|
|
L_02C646BC: ; // 0x2c646bc
|
|
/* 02C646BC */ _t48 = cpu->r[10] + cpu->r[8];
|
|
/* 02C646BC */ cpu->r[0] = rbrew_read32(cpu->mem, _t48);
|
|
/* 02C646C0 */ cpu->r[9] = cpu->r[4] + 0x00000010u;
|
|
/* 02C646C4 */ _t49 = cpu->r[9] + cpu->r[8];
|
|
/* 02C646C4 */ rbrew_write32(cpu->mem, _t49, cpu->r[0]);
|
|
/* 02C646C8 */ cpu->r[8] = cpu->r[8] + 0x00000004u;
|
|
/* 02C646CC */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02C646CC */ _t50 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02C646CC */ _t51 = _t50 >> (0x00000002u & 31u);
|
|
/* 02C646CC */ _t52 = _t51 & 0x00000001u;
|
|
/* 02C646CC */ if (_t52) goto L_02C646BC; else goto L_02C646D0;
|
|
L_02C646D0: ; // 0x2c646d0
|
|
/* 02C646D0 */ cpu->r[0] = rbrew_rlwinm(cpu->r[11], 0x00000000u, 0x00000004u, 0x00000008u);
|
|
/* 02C646D4 */ _t53 = cpu->r[4] + 0x00000000u;
|
|
/* 02C646D4 */ rbrew_write32(cpu->mem, _t53, cpu->r[0]);
|
|
/* 02C646D8 */ return;
|
|
}
|
|
|
|
// fn_02C646DC @ 0x2c646dc
|
|
void Gambit_fn_02C646DC(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;
|
|
|
|
L_02C646DC: ; // 0x2c646dc
|
|
/* 02C646DC */ _t0 = cpu->r[1] + 0xFFFFFFB8u;
|
|
/* 02C646DC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C646DC */ cpu->r[1] = _t0;
|
|
/* 02C646E0 */ /* nop */
|
|
/* 02C646E4 */ cpu->r[0] = cpu->lr;
|
|
/* 02C646E8 */ _t1 = cpu->r[1] + 0x00000038u;
|
|
/* 02C646E8 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[31]);
|
|
/* 02C646EC */ /* nop */
|
|
/* 02C646F0 */ _t2 = cpu->r[1] + 0x00000028u;
|
|
/* 02C646F0 */ rbrew_write_f64(cpu->mem, _t2, cpu->f[30]);
|
|
/* 02C646F4 */ _t3 = cpu->r[1] + 0x00000040u;
|
|
/* 02C646F4 */ rbrew_write_f32(cpu->mem, _t3, cpu->f[31]);
|
|
/* 02C646F8 */ /* nop */
|
|
/* 02C646FC */ _t4 = cpu->r[1] + 0x00000030u;
|
|
/* 02C646FC */ rbrew_write_f32(cpu->mem, _t4, cpu->f[30]);
|
|
/* 02C64700 */ _t5 = cpu->r[1] + 0x0000004Cu;
|
|
/* 02C64700 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02C64704 */ _t6 = cpu->r[3] + 0x0000000Au;
|
|
/* 02C64704 */ cpu->r[28] = rbrew_read8(cpu->mem, _t6);
|
|
/* 02C64708 */ cpu->r[27] = cpu->r[4];
|
|
/* 02C6470C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 02C64710 */ cpu->f[30] = cpu->f[1];
|
|
/* 02C64714 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C64714 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02C64714 */ if (_t8) goto L_02C64764; else goto L_02C64718;
|
|
L_02C64718: ; // 0x2c64718
|
|
/* 02C64718 */ cpu->r[12] = 0x101B0000u;
|
|
/* 02C6471C */ cpu->r[31] = cpu->r[3] + 0x00000010u;
|
|
/* 02C64720 */ _t9 = cpu->r[12] + 0xFFFFF1D4u;
|
|
/* 02C64720 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t9);
|
|
/* 02C64724 */ cpu->r[29] = 0x00000000u;
|
|
L_02C64728: ; // 0x2c64728
|
|
/* 02C64728 */ _t10 = cpu->r[31] + 0x00000000u;
|
|
/* 02C64728 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02C6472C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C64730 */ cpu->r[11] = 0x00000000u;
|
|
/* 02C64734 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C64734 */ _t12 = _t11 & 0x00000001u;
|
|
/* 02C64734 */ if (_t12) goto L_02C6473C; else goto L_02C64738;
|
|
L_02C64738: ; // 0x2c64738
|
|
/* 02C64738 */ cpu->r[11] = cpu->r[31] + cpu->r[0];
|
|
L_02C6473C: ; // 0x2c6473c
|
|
/* 02C6473C */ cpu->r[3] = cpu->r[11] + cpu->r[29];
|
|
/* 02C64740 */ cpu->f[1] = cpu->f[30];
|
|
/* 02C64744 */ _t13 = cpu->r[3] + 0x00000004u;
|
|
/* 02C64744 */ cpu->r[30] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02C64748 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02C6474C */ _t14 = cpu->r[1] + 0x00000008u;
|
|
/* 02C6474C */ rbrew_write_f32(cpu->mem, _t14, cpu->f[31]);
|
|
/* 02C64750 */ Gambit_fn_02C5F21C(cpu);
|
|
/* 02C64754 */ cpu->r[29] = cpu->r[29] + 0x00000024u;
|
|
/* 02C64758 */ cpu->r[28] = cpu->r[28] + 0xFFFFFFFFu;
|
|
/* 02C64758 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 02C6475C */ _t15 = cpu->r[27] + cpu->r[30];
|
|
/* 02C6475C */ rbrew_write32(cpu->mem, _t15, cpu->r[1]);
|
|
/* 02C64760 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C64760 */ _t17 = _t16 & 0x00000001u;
|
|
/* 02C64760 */ if (_t17) goto L_02C64764; else goto L_02C64728;
|
|
L_02C64764: ; // 0x2c64764
|
|
/* 02C64764 */ /* nop */
|
|
/* 02C64768 */ _t18 = cpu->r[1] + 0x00000030u;
|
|
/* 02C64768 */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t18);
|
|
/* 02C6476C */ _t19 = cpu->r[1] + 0x00000040u;
|
|
/* 02C6476C */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t19);
|
|
/* 02C64770 */ _t20 = cpu->r[1] + 0x00000028u;
|
|
/* 02C64770 */ cpu->f[30] = rbrew_read_f64(cpu->mem, _t20);
|
|
/* 02C64774 */ _t21 = cpu->r[1] + 0x00000038u;
|
|
/* 02C64774 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t21);
|
|
/* 02C64778 */ _t22 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C64778 */ _t23 = _t22 & 0x00000001u;
|
|
/* 02C64778 */ if (_t23) goto L_02C6477C; // else: addr-0 trap, fall-through
|
|
L_02C6477C: ; // 0x2c6477c
|
|
/* 02C6477C */ _t24 = cpu->r[1] + 0x0000004Cu;
|
|
/* 02C6477C */ cpu->r[0] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02C64780 */ cpu->lr = cpu->r[0];
|
|
/* 02C64784 */ cpu->r[1] = cpu->r[1] + 0x00000048u;
|
|
/* 02C64788 */ return;
|
|
}
|
|
|
|
// fn_02C6478C @ 0x2c6478c
|
|
void Gambit_fn_02C6478C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18;
|
|
|
|
L_02C6478C: ; // 0x2c6478c
|
|
/* 02C6478C */ _t0 = cpu->r[1] + 0xFFFFFFD0u;
|
|
/* 02C6478C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C6478C */ cpu->r[1] = _t0;
|
|
/* 02C64790 */ /* nop */
|
|
/* 02C64794 */ cpu->r[0] = cpu->lr;
|
|
/* 02C64798 */ _t1 = cpu->r[1] + 0x00000020u;
|
|
/* 02C64798 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[31]);
|
|
/* 02C6479C */ _t2 = cpu->r[1] + 0x00000034u;
|
|
/* 02C6479C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02C647A0 */ /* nop */
|
|
/* 02C647A4 */ _t3 = cpu->r[1] + 0x00000028u;
|
|
/* 02C647A4 */ rbrew_write_f32(cpu->mem, _t3, cpu->f[31]);
|
|
/* 02C647A8 */ _t4 = cpu->r[3] + 0x0000000Au;
|
|
/* 02C647A8 */ cpu->r[26] = rbrew_read8(cpu->mem, _t4);
|
|
/* 02C647AC */ cpu->r[30] = cpu->r[4];
|
|
/* 02C647B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u);
|
|
/* 02C647B4 */ cpu->f[31] = cpu->f[1];
|
|
/* 02C647B8 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C647B8 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02C647B8 */ if (_t6) goto L_02C64804; else goto L_02C647BC;
|
|
L_02C647BC: ; // 0x2c647bc
|
|
/* 02C647BC */ cpu->r[29] = cpu->r[3] + 0x00000010u;
|
|
/* 02C647C0 */ cpu->r[27] = 0x00000000u;
|
|
/* 02C647C4 */ cpu->r[31] = cpu->r[5];
|
|
L_02C647C8: ; // 0x2c647c8
|
|
/* 02C647C8 */ _t7 = cpu->r[29] + 0x00000000u;
|
|
/* 02C647C8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02C647CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C647D0 */ cpu->r[12] = 0x00000000u;
|
|
/* 02C647D4 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C647D4 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02C647D4 */ if (_t9) goto L_02C647DC; else goto L_02C647D8;
|
|
L_02C647D8: ; // 0x2c647d8
|
|
/* 02C647D8 */ cpu->r[12] = cpu->r[29] + cpu->r[0];
|
|
L_02C647DC: ; // 0x2c647dc
|
|
/* 02C647DC */ cpu->f[1] = cpu->f[31];
|
|
/* 02C647E0 */ cpu->r[3] = cpu->r[12] + cpu->r[27];
|
|
/* 02C647E4 */ cpu->r[4] = cpu->r[31];
|
|
/* 02C647E8 */ _t10 = cpu->r[3] + 0x00000004u;
|
|
/* 02C647E8 */ cpu->r[28] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02C647EC */ Gambit_fn_02C5F21C(cpu);
|
|
/* 02C647F0 */ cpu->r[26] = cpu->r[26] + 0xFFFFFFFFu;
|
|
/* 02C647F0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u);
|
|
/* 02C647F4 */ cpu->r[27] = cpu->r[27] + 0x00000024u;
|
|
/* 02C647F8 */ _t11 = cpu->r[30] + cpu->r[28];
|
|
/* 02C647F8 */ rbrew_write32(cpu->mem, _t11, cpu->r[1]);
|
|
/* 02C647FC */ cpu->r[31] = cpu->r[31] + 0x0000000Cu;
|
|
/* 02C64800 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C64800 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02C64800 */ if (_t13) goto L_02C64804; else goto L_02C647C8;
|
|
L_02C64804: ; // 0x2c64804
|
|
/* 02C64804 */ /* nop */
|
|
/* 02C64808 */ _t14 = cpu->r[1] + 0x00000028u;
|
|
/* 02C64808 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t14);
|
|
/* 02C6480C */ _t15 = cpu->r[1] + 0x00000020u;
|
|
/* 02C6480C */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t15);
|
|
/* 02C64810 */ _t16 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C64810 */ _t17 = _t16 & 0x00000001u;
|
|
/* 02C64810 */ if (_t17) goto L_02C64814; // else: addr-0 trap, fall-through
|
|
L_02C64814: ; // 0x2c64814
|
|
/* 02C64814 */ _t18 = cpu->r[1] + 0x00000034u;
|
|
/* 02C64814 */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02C64818 */ cpu->lr = cpu->r[0];
|
|
/* 02C6481C */ cpu->r[1] = cpu->r[1] + 0x00000030u;
|
|
/* 02C64820 */ return;
|
|
}
|
|
|
|
// fn_02C64824 @ 0x2c64824
|
|
void Gambit_fn_02C64824(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_02C64824: ; // 0x2c64824
|
|
/* 02C64824 */ _t0 = cpu->r[1] + 0xFFFFFFD0u;
|
|
/* 02C64824 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C64824 */ cpu->r[1] = _t0;
|
|
/* 02C64828 */ /* nop */
|
|
/* 02C6482C */ cpu->r[0] = cpu->lr;
|
|
/* 02C64830 */ _t1 = cpu->r[1] + 0x00000034u;
|
|
/* 02C64830 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02C64834 */ cpu->r[26] = cpu->r[3];
|
|
/* 02C64838 */ _t2 = cpu->r[26] + 0x0000000Cu;
|
|
/* 02C64838 */ cpu->r[5] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02C6483C */ cpu->r[0] = rbrew_rlwinm(cpu->r[5], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02C6483C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C64840 */ cpu->r[31] = 0x00000000u;
|
|
/* 02C64844 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C64844 */ _t4 = _t3 & 0x00000001u;
|
|
/* 02C64844 */ if (_t4) goto L_02C6491C; else goto L_02C64848;
|
|
L_02C64848: ; // 0x2c64848
|
|
/* 02C64848 */ _t5 = cpu->r[26] + 0x00000014u;
|
|
/* 02C64848 */ cpu->r[28] = rbrew_read16(cpu->mem, _t5);
|
|
/* 02C6484C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 02C64850 */ cpu->r[23] = 0x00000000u;
|
|
/* 02C64854 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C64854 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02C64854 */ if (_t7) goto L_02C64914; else goto L_02C64858;
|
|
L_02C64858: ; // 0x2c64858
|
|
/* 02C64858 */ cpu->r[24] = cpu->r[26] + 0x00000020u;
|
|
/* 02C6485C */ cpu->r[30] = 0x00000000u;
|
|
L_02C64860: ; // 0x2c64860
|
|
/* 02C64860 */ _t8 = cpu->r[24] + 0x00000000u;
|
|
/* 02C64860 */ cpu->r[12] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C64864 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02C64868 */ cpu->r[6] = 0x00000000u;
|
|
/* 02C6486C */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6486C */ _t10 = _t9 & 0x00000001u;
|
|
/* 02C6486C */ if (_t10) goto L_02C64874; else goto L_02C64870;
|
|
L_02C64870: ; // 0x2c64870
|
|
/* 02C64870 */ cpu->r[6] = cpu->r[24] + cpu->r[12];
|
|
L_02C64874: ; // 0x2c64874
|
|
/* 02C64874 */ cpu->r[8] = cpu->r[6] + cpu->r[30];
|
|
/* 02C64878 */ _t11 = cpu->r[8] + 0x0000000Au;
|
|
/* 02C64878 */ cpu->r[27] = rbrew_read8(cpu->mem, _t11);
|
|
/* 02C6487C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 02C64880 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C64880 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02C64880 */ if (_t13) goto L_02C64904; else goto L_02C64884;
|
|
L_02C64884: ; // 0x2c64884
|
|
/* 02C64884 */ cpu->r[25] = cpu->r[8] + 0x00000010u;
|
|
/* 02C64888 */ cpu->r[29] = 0x00000000u;
|
|
L_02C6488C: ; // 0x2c6488c
|
|
/* 02C6488C */ _t14 = cpu->r[25] + 0x00000000u;
|
|
/* 02C6488C */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02C64890 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C64894 */ cpu->r[11] = 0x00000000u;
|
|
/* 02C64898 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C64898 */ _t16 = _t15 & 0x00000001u;
|
|
/* 02C64898 */ if (_t16) goto L_02C648A0; else goto L_02C6489C;
|
|
L_02C6489C: ; // 0x2c6489c
|
|
/* 02C6489C */ cpu->r[11] = cpu->r[25] + cpu->r[0];
|
|
L_02C648A0: ; // 0x2c648a0
|
|
/* 02C648A0 */ _t17 = cpu->r[11] + cpu->r[29];
|
|
/* 02C648A0 */ cpu->r[9] = rbrew_read16(cpu->mem, _t17);
|
|
/* 02C648A4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[23], 0x00000000u);
|
|
/* 02C648A8 */ cpu->r[3] = cpu->r[11] + cpu->r[29];
|
|
/* 02C648AC */ cpu->r[0] = rbrew_rlwinm(cpu->r[9], 0x00000000u, 0x00000019u, 0x0000001Bu);
|
|
/* 02C648B0 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C648B0 */ _t19 = _t18 & 0x00000001u;
|
|
/* 02C648B0 */ if (_t19) goto L_02C648B4; else goto L_02C648D8;
|
|
L_02C648B4: ; // 0x2c648b4
|
|
/* 02C648B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000020u);
|
|
/* 02C648B8 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C648B8 */ _t21 = _t20 & 0x00000001u;
|
|
/* 02C648B8 */ if (_t21) goto L_02C648BC; else goto L_02C648D8;
|
|
L_02C648BC: ; // 0x2c648bc
|
|
/* 02C648BC */ _t22 = cpu->r[3] + 0x00000020u;
|
|
/* 02C648BC */ cpu->r[4] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02C648C0 */ cpu->r[12] = cpu->r[3] + 0x00000020u;
|
|
/* 02C648C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
|
|
/* 02C648C8 */ cpu->r[31] = 0x00000000u;
|
|
/* 02C648CC */ _t23 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C648CC */ _t24 = _t23 & 0x00000001u;
|
|
/* 02C648CC */ if (_t24) goto L_02C648D4; else goto L_02C648D0;
|
|
L_02C648D0: ; // 0x2c648d0
|
|
/* 02C648D0 */ cpu->r[31] = cpu->r[12] + cpu->r[4];
|
|
L_02C648D4: ; // 0x2c648d4
|
|
/* 02C648D4 */ cpu->r[23] = 0x00000001u;
|
|
L_02C648D8: ; // 0x2c648d8
|
|
/* 02C648D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000040u);
|
|
/* 02C648DC */ _t25 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C648DC */ _t26 = _t25 & 0x00000001u;
|
|
/* 02C648DC */ if (_t26) goto L_02C648E0; else goto L_02C648F4;
|
|
L_02C648E0: ; // 0x2c648e0
|
|
/* 02C648E0 */ Gambit_fn_02C5F538(cpu);
|
|
/* 02C648E4 */ cpu->r[27] = cpu->r[27] + 0xFFFFFFFFu;
|
|
/* 02C648E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 02C648E8 */ cpu->r[29] = cpu->r[29] + 0x00000024u;
|
|
/* 02C648EC */ _t27 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C648EC */ _t28 = _t27 & 0x00000001u;
|
|
/* 02C648EC */ if (_t28) goto L_02C648F0; else goto L_02C6488C;
|
|
L_02C648F0: ; // 0x2c648f0
|
|
/* 02C648F0 */ goto L_02C64904;
|
|
L_02C648F4: ; // 0x2c648f4
|
|
/* 02C648F4 */ Gambit_fn_02C5F5DC(cpu);
|
|
/* 02C648F8 */ cpu->r[27] = cpu->r[27] + 0xFFFFFFFFu;
|
|
/* 02C648F8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 02C648FC */ cpu->r[29] = cpu->r[29] + 0x00000024u;
|
|
/* 02C64900 */ _t29 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C64900 */ _t30 = _t29 & 0x00000001u;
|
|
/* 02C64900 */ if (_t30) goto L_02C64904; else goto L_02C6488C;
|
|
L_02C64904: ; // 0x2c64904
|
|
/* 02C64904 */ cpu->r[28] = cpu->r[28] + 0xFFFFFFFFu;
|
|
/* 02C64904 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 02C64908 */ cpu->r[30] = cpu->r[30] + 0x00000018u;
|
|
/* 02C6490C */ _t31 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6490C */ _t32 = _t31 & 0x00000001u;
|
|
/* 02C6490C */ if (_t32) goto L_02C64910; else goto L_02C64860;
|
|
L_02C64910: ; // 0x2c64910
|
|
/* 02C64910 */ _t33 = cpu->r[26] + 0x0000000Cu;
|
|
/* 02C64910 */ cpu->r[5] = rbrew_read32(cpu->mem, _t33);
|
|
L_02C64914: ; // 0x2c64914
|
|
/* 02C64914 */ cpu->r[0] = cpu->r[5] ^ 0x00000001u;
|
|
/* 02C64918 */ _t34 = cpu->r[26] + 0x0000000Cu;
|
|
/* 02C64918 */ rbrew_write32(cpu->mem, _t34, cpu->r[0]);
|
|
L_02C6491C: ; // 0x2c6491c
|
|
/* 02C6491C */ cpu->r[3] = cpu->r[31];
|
|
/* 02C64920 */ /* nop */
|
|
/* 02C64924 */ _t35 = cpu->r[1] + 0x00000034u;
|
|
/* 02C64924 */ cpu->r[0] = rbrew_read32(cpu->mem, _t35);
|
|
/* 02C64928 */ cpu->lr = cpu->r[0];
|
|
/* 02C6492C */ cpu->r[1] = cpu->r[1] + 0x00000030u;
|
|
/* 02C64930 */ return;
|
|
}
|
|
|
|
// fn_02C64934 @ 0x2c64934
|
|
void Gambit_fn_02C64934(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;
|
|
|
|
L_02C64824: ; // 0x2c64824
|
|
/* 02C64824 */ _t0 = cpu->r[1] + 0xFFFFFFD0u;
|
|
/* 02C64824 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C64824 */ cpu->r[1] = _t0;
|
|
/* 02C64828 */ /* nop */
|
|
/* 02C6482C */ cpu->r[0] = cpu->lr;
|
|
/* 02C64830 */ _t1 = cpu->r[1] + 0x00000034u;
|
|
/* 02C64830 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02C64834 */ cpu->r[26] = cpu->r[3];
|
|
/* 02C64838 */ _t2 = cpu->r[26] + 0x0000000Cu;
|
|
/* 02C64838 */ cpu->r[5] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02C6483C */ cpu->r[0] = rbrew_rlwinm(cpu->r[5], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02C6483C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C64840 */ cpu->r[31] = 0x00000000u;
|
|
/* 02C64844 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C64844 */ _t4 = _t3 & 0x00000001u;
|
|
/* 02C64844 */ if (_t4) goto L_02C6491C; else goto L_02C64848;
|
|
L_02C64848: ; // 0x2c64848
|
|
/* 02C64848 */ _t5 = cpu->r[26] + 0x00000014u;
|
|
/* 02C64848 */ cpu->r[28] = rbrew_read16(cpu->mem, _t5);
|
|
/* 02C6484C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 02C64850 */ cpu->r[23] = 0x00000000u;
|
|
/* 02C64854 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C64854 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02C64854 */ if (_t7) goto L_02C64914; else goto L_02C64858;
|
|
L_02C64858: ; // 0x2c64858
|
|
/* 02C64858 */ cpu->r[24] = cpu->r[26] + 0x00000020u;
|
|
/* 02C6485C */ cpu->r[30] = 0x00000000u;
|
|
L_02C64860: ; // 0x2c64860
|
|
/* 02C64860 */ _t8 = cpu->r[24] + 0x00000000u;
|
|
/* 02C64860 */ cpu->r[12] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C64864 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02C64868 */ cpu->r[6] = 0x00000000u;
|
|
/* 02C6486C */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6486C */ _t10 = _t9 & 0x00000001u;
|
|
/* 02C6486C */ if (_t10) goto L_02C64874; else goto L_02C64870;
|
|
L_02C64870: ; // 0x2c64870
|
|
/* 02C64870 */ cpu->r[6] = cpu->r[24] + cpu->r[12];
|
|
L_02C64874: ; // 0x2c64874
|
|
/* 02C64874 */ cpu->r[8] = cpu->r[6] + cpu->r[30];
|
|
/* 02C64878 */ _t11 = cpu->r[8] + 0x0000000Au;
|
|
/* 02C64878 */ cpu->r[27] = rbrew_read8(cpu->mem, _t11);
|
|
/* 02C6487C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 02C64880 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C64880 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02C64880 */ if (_t13) goto L_02C64904; else goto L_02C64884;
|
|
L_02C64884: ; // 0x2c64884
|
|
/* 02C64884 */ cpu->r[25] = cpu->r[8] + 0x00000010u;
|
|
/* 02C64888 */ cpu->r[29] = 0x00000000u;
|
|
L_02C6488C: ; // 0x2c6488c
|
|
/* 02C6488C */ _t14 = cpu->r[25] + 0x00000000u;
|
|
/* 02C6488C */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02C64890 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C64894 */ cpu->r[11] = 0x00000000u;
|
|
/* 02C64898 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C64898 */ _t16 = _t15 & 0x00000001u;
|
|
/* 02C64898 */ if (_t16) goto L_02C648A0; else goto L_02C6489C;
|
|
L_02C6489C: ; // 0x2c6489c
|
|
/* 02C6489C */ cpu->r[11] = cpu->r[25] + cpu->r[0];
|
|
L_02C648A0: ; // 0x2c648a0
|
|
/* 02C648A0 */ _t17 = cpu->r[11] + cpu->r[29];
|
|
/* 02C648A0 */ cpu->r[9] = rbrew_read16(cpu->mem, _t17);
|
|
/* 02C648A4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[23], 0x00000000u);
|
|
/* 02C648A8 */ cpu->r[3] = cpu->r[11] + cpu->r[29];
|
|
/* 02C648AC */ cpu->r[0] = rbrew_rlwinm(cpu->r[9], 0x00000000u, 0x00000019u, 0x0000001Bu);
|
|
/* 02C648B0 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C648B0 */ _t19 = _t18 & 0x00000001u;
|
|
/* 02C648B0 */ if (_t19) goto L_02C648B4; else goto L_02C648D8;
|
|
L_02C648B4: ; // 0x2c648b4
|
|
/* 02C648B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000020u);
|
|
/* 02C648B8 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C648B8 */ _t21 = _t20 & 0x00000001u;
|
|
/* 02C648B8 */ if (_t21) goto L_02C648BC; else goto L_02C648D8;
|
|
L_02C648BC: ; // 0x2c648bc
|
|
/* 02C648BC */ _t22 = cpu->r[3] + 0x00000020u;
|
|
/* 02C648BC */ cpu->r[4] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02C648C0 */ cpu->r[12] = cpu->r[3] + 0x00000020u;
|
|
/* 02C648C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
|
|
/* 02C648C8 */ cpu->r[31] = 0x00000000u;
|
|
/* 02C648CC */ _t23 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C648CC */ _t24 = _t23 & 0x00000001u;
|
|
/* 02C648CC */ if (_t24) goto L_02C648D4; else goto L_02C648D0;
|
|
L_02C648D0: ; // 0x2c648d0
|
|
/* 02C648D0 */ cpu->r[31] = cpu->r[12] + cpu->r[4];
|
|
L_02C648D4: ; // 0x2c648d4
|
|
/* 02C648D4 */ cpu->r[23] = 0x00000001u;
|
|
L_02C648D8: ; // 0x2c648d8
|
|
/* 02C648D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000040u);
|
|
/* 02C648DC */ _t25 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C648DC */ _t26 = _t25 & 0x00000001u;
|
|
/* 02C648DC */ if (_t26) goto L_02C648E0; else goto L_02C648F4;
|
|
L_02C648E0: ; // 0x2c648e0
|
|
/* 02C648E0 */ Gambit_fn_02C5F538(cpu);
|
|
/* 02C648E4 */ cpu->r[27] = cpu->r[27] + 0xFFFFFFFFu;
|
|
/* 02C648E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 02C648E8 */ cpu->r[29] = cpu->r[29] + 0x00000024u;
|
|
/* 02C648EC */ _t27 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C648EC */ _t28 = _t27 & 0x00000001u;
|
|
/* 02C648EC */ if (_t28) goto L_02C648F0; else goto L_02C6488C;
|
|
L_02C648F0: ; // 0x2c648f0
|
|
/* 02C648F0 */ goto L_02C64904;
|
|
L_02C648F4: ; // 0x2c648f4
|
|
/* 02C648F4 */ Gambit_fn_02C5F5DC(cpu);
|
|
/* 02C648F8 */ cpu->r[27] = cpu->r[27] + 0xFFFFFFFFu;
|
|
/* 02C648F8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 02C648FC */ cpu->r[29] = cpu->r[29] + 0x00000024u;
|
|
/* 02C64900 */ _t29 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C64900 */ _t30 = _t29 & 0x00000001u;
|
|
/* 02C64900 */ if (_t30) goto L_02C64904; else goto L_02C6488C;
|
|
L_02C64904: ; // 0x2c64904
|
|
/* 02C64904 */ cpu->r[28] = cpu->r[28] + 0xFFFFFFFFu;
|
|
/* 02C64904 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 02C64908 */ cpu->r[30] = cpu->r[30] + 0x00000018u;
|
|
/* 02C6490C */ _t31 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6490C */ _t32 = _t31 & 0x00000001u;
|
|
/* 02C6490C */ if (_t32) goto L_02C64910; else goto L_02C64860;
|
|
L_02C64910: ; // 0x2c64910
|
|
/* 02C64910 */ _t33 = cpu->r[26] + 0x0000000Cu;
|
|
/* 02C64910 */ cpu->r[5] = rbrew_read32(cpu->mem, _t33);
|
|
L_02C64914: ; // 0x2c64914
|
|
/* 02C64914 */ cpu->r[0] = cpu->r[5] ^ 0x00000001u;
|
|
/* 02C64918 */ _t34 = cpu->r[26] + 0x0000000Cu;
|
|
/* 02C64918 */ rbrew_write32(cpu->mem, _t34, cpu->r[0]);
|
|
L_02C6491C: ; // 0x2c6491c
|
|
/* 02C6491C */ cpu->r[3] = cpu->r[31];
|
|
/* 02C64920 */ /* nop */
|
|
/* 02C64924 */ _t35 = cpu->r[1] + 0x00000034u;
|
|
/* 02C64924 */ cpu->r[0] = rbrew_read32(cpu->mem, _t35);
|
|
/* 02C64928 */ cpu->lr = cpu->r[0];
|
|
/* 02C6492C */ cpu->r[1] = cpu->r[1] + 0x00000030u;
|
|
/* 02C64930 */ return;
|
|
L_02C64934: ; // 0x2c64934
|
|
/* 02C64934 */ _t36 = cpu->r[3] + 0x00000028u;
|
|
/* 02C64934 */ cpu->r[11] = rbrew_read32(cpu->mem, _t36);
|
|
/* 02C64938 */ cpu->r[10] = 0x00000000u;
|
|
/* 02C6493C */ cpu->r[12] = cpu->r[3] + 0x00000028u;
|
|
/* 02C64940 */ _t37 = cpu->r[3] + 0x00000024u;
|
|
/* 02C64940 */ rbrew_write32(cpu->mem, _t37, cpu->r[10]);
|
|
/* 02C64944 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02C64948 */ _t38 = cpu->r[3] + 0x00000014u;
|
|
/* 02C64948 */ cpu->r[0] = rbrew_read16(cpu->mem, _t38);
|
|
/* 02C6494C */ _t39 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6494C */ _t40 = _t39 & 0x00000001u;
|
|
/* 02C6494C */ if (_t40) goto L_02C64954; else goto L_02C64950;
|
|
L_02C64950: ; // 0x2c64950
|
|
/* 02C64950 */ cpu->r[10] = cpu->r[12] + cpu->r[11];
|
|
L_02C64954: ; // 0x2c64954
|
|
/* 02C64954 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C64958 */ _t41 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C64958 */ _t42 = _t41 & 0x00000001u;
|
|
/* 02C64958 */ if (_t42) goto L_02C64974; else goto L_02C6495C;
|
|
L_02C6495C: ; // 0x2c6495c
|
|
/* 02C6495C */ cpu->r[9] = 0x00010000u;
|
|
/* 02C64960 */ cpu->ctr = cpu->r[0];
|
|
/* 02C64964 */ cpu->r[12] = cpu->r[10] + 0xFFFFFFFEu;
|
|
/* 02C64968 */ cpu->r[9] = cpu->r[9] + 0xFFFFFFFFu;
|
|
L_02C6496C: ; // 0x2c6496c
|
|
/* 02C6496C */ _t43 = cpu->r[12] + 0x00000002u;
|
|
/* 02C6496C */ rbrew_write16(cpu->mem, _t43, (uint16_t)cpu->r[9]);
|
|
/* 02C6496C */ cpu->r[12] = _t43;
|
|
/* 02C64970 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02C64970 */ _t44 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02C64970 */ _t45 = _t44 >> (0x00000002u & 31u);
|
|
/* 02C64970 */ _t46 = _t45 & 0x00000001u;
|
|
/* 02C64970 */ if (_t46) goto L_02C6496C; else goto L_02C64974;
|
|
L_02C64974: ; // 0x2c64974
|
|
/* 02C64974 */ goto L_02C64824;
|
|
}
|
|
|
|
// fn_02C64978 @ 0x2c64978
|
|
void Gambit_fn_02C64978(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15;
|
|
|
|
L_02C64978: ; // 0x2c64978
|
|
/* 02C64978 */ _t0 = cpu->r[3] + 0x00000014u;
|
|
/* 02C64978 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02C6497C */ cpu->r[6] = cpu->r[3] + 0x00000014u;
|
|
/* 02C64980 */ cpu->r[9] = 0x00000000u;
|
|
/* 02C64984 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02C64988 */ _t1 = cpu->r[3] + 0x00000008u;
|
|
/* 02C64988 */ cpu->r[5] = rbrew_read16(cpu->mem, _t1);
|
|
/* 02C6498C */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6498C */ _t3 = _t2 & 0x00000001u;
|
|
/* 02C6498C */ if (_t3) goto L_02C64994; else goto L_02C64990;
|
|
L_02C64990: ; // 0x2c64990
|
|
/* 02C64990 */ cpu->r[9] = cpu->r[6] + cpu->r[12];
|
|
L_02C64994: ; // 0x2c64994
|
|
/* 02C64994 */ cpu->r[11] = rbrew_rlwinm(cpu->r[4], 0x00000006u, 0x00000000u, 0x00000019u);
|
|
/* 02C64998 */ cpu->r[10] = cpu->r[9] + cpu->r[11];
|
|
/* 02C6499C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
|
|
/* 02C649A0 */ _t4 = cpu->r[10] + 0x00000006u;
|
|
/* 02C649A0 */ cpu->r[7] = rbrew_read16(cpu->mem, _t4);
|
|
/* 02C649A4 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C649A4 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02C649A4 */ if (_t6) goto L_02C649A8; else goto L_02C649AC;
|
|
L_02C649A8: ; // 0x2c649a8
|
|
/* 02C649A8 */ cpu->r[7] = 0xFFFFFFFFu;
|
|
L_02C649AC: ; // 0x2c649ac
|
|
/* 02C649AC */ cpu->r[4] = cpu->r[4] + 0x00000001u;
|
|
/* 02C649B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], cpu->r[5]);
|
|
/* 02C649B4 */ cpu->r[11] = cpu->r[11] + 0x00000040u;
|
|
/* 02C649B8 */ _t7 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C649B8 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02C649B8 */ if (_t8) goto L_02C649BC; else goto L_02C649EC;
|
|
L_02C649BC: ; // 0x2c649bc
|
|
/* 02C649BC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02C649C0 */ cpu->r[8] = 0x00000000u;
|
|
/* 02C649C4 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C649C4 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02C649C4 */ if (_t10) goto L_02C649CC; else goto L_02C649C8;
|
|
L_02C649C8: ; // 0x2c649c8
|
|
/* 02C649C8 */ cpu->r[8] = cpu->r[6] + cpu->r[12];
|
|
L_02C649CC: ; // 0x2c649cc
|
|
/* 02C649CC */ cpu->r[9] = cpu->r[8] + cpu->r[11];
|
|
/* 02C649D0 */ _t11 = cpu->r[9] + 0x00000006u;
|
|
/* 02C649D0 */ cpu->r[0] = rbrew_read16(cpu->mem, _t11);
|
|
/* 02C649D4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], cpu->r[7]);
|
|
/* 02C649D8 */ _t12 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C649D8 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02C649D8 */ if (_t13) goto L_02C649DC; else goto L_02C649EC;
|
|
L_02C649DC: ; // 0x2c649dc
|
|
/* 02C649DC */ cpu->r[4] = cpu->r[4] + 0x00000001u;
|
|
/* 02C649E0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], cpu->r[5]);
|
|
/* 02C649E4 */ cpu->r[11] = cpu->r[11] + 0x00000040u;
|
|
/* 02C649E8 */ _t14 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C649E8 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02C649E8 */ if (_t15) goto L_02C649BC; else goto L_02C649EC;
|
|
L_02C649EC: ; // 0x2c649ec
|
|
/* 02C649EC */ cpu->r[3] = cpu->r[4];
|
|
/* 02C649F0 */ return;
|
|
}
|
|
|
|
// fn_02C649F4 @ 0x2c649f4
|
|
void Gambit_fn_02C649F4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_02C649F4: ; // 0x2c649f4
|
|
/* 02C649F4 */ _t0 = cpu->r[3] + 0x00000018u;
|
|
/* 02C649F4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02C649F8 */ cpu->r[9] = 0x00000000u;
|
|
/* 02C649FC */ cpu->r[8] = cpu->r[3] + 0x00000018u;
|
|
/* 02C64A00 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C64A04 */ _t1 = cpu->r[3] + 0x00000000u;
|
|
/* 02C64A04 */ cpu->r[10] = rbrew_read16(cpu->mem, _t1);
|
|
/* 02C64A08 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C64A08 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02C64A08 */ if (_t3) goto L_02C64A10; else goto L_02C64A0C;
|
|
L_02C64A0C: ; // 0x2c64a0c
|
|
/* 02C64A0C */ cpu->r[9] = cpu->r[8] + cpu->r[0];
|
|
L_02C64A10: ; // 0x2c64a10
|
|
/* 02C64A10 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02C64A14 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C64A14 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02C64A14 */ if (_t5) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02C64A14 */ goto L_02C64A18;
|
|
L_02C64A18: ; // 0x2c64a18
|
|
/* 02C64A18 */ cpu->ctr = cpu->r[10];
|
|
/* 02C64A1C */ cpu->r[12] = 0x00000000u;
|
|
L_02C64A20: ; // 0x2c64a20
|
|
/* 02C64A20 */ _t6 = cpu->r[9] + cpu->r[12];
|
|
/* 02C64A20 */ cpu->r[0] = rbrew_read16(cpu->mem, _t6);
|
|
/* 02C64A24 */ _t7 = cpu->r[4] + cpu->r[12];
|
|
/* 02C64A24 */ rbrew_write16(cpu->mem, _t7, (uint16_t)cpu->r[0]);
|
|
/* 02C64A28 */ cpu->r[12] = cpu->r[12] + 0x00000002u;
|
|
/* 02C64A2C */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02C64A2C */ _t8 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02C64A2C */ _t9 = _t8 >> (0x00000002u & 31u);
|
|
/* 02C64A2C */ _t10 = _t9 & 0x00000001u;
|
|
/* 02C64A2C */ if (_t10) goto L_02C64A20; else goto L_02C64A30;
|
|
L_02C64A30: ; // 0x2c64a30
|
|
/* 02C64A30 */ return;
|
|
}
|
|
|
|
// fn_02C64A34 @ 0x2c64a34
|
|
void Gambit_fn_02C64A34(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_02C64A34: ; // 0x2c64a34
|
|
/* 02C64A34 */ _t0 = cpu->r[1] + 0xFFFFFFB0u;
|
|
/* 02C64A34 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C64A34 */ cpu->r[1] = _t0;
|
|
/* 02C64A38 */ /* nop */
|
|
/* 02C64A3C */ cpu->r[0] = cpu->lr;
|
|
/* 02C64A40 */ _t1 = cpu->r[1] + 0x00000030u;
|
|
/* 02C64A40 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[30]);
|
|
/* 02C64A44 */ /* nop */
|
|
/* 02C64A48 */ _t2 = cpu->r[1] + 0x00000040u;
|
|
/* 02C64A48 */ rbrew_write_f64(cpu->mem, _t2, cpu->f[31]);
|
|
/* 02C64A4C */ _t3 = cpu->r[1] + 0x00000038u;
|
|
/* 02C64A4C */ rbrew_write_f32(cpu->mem, _t3, cpu->f[30]);
|
|
/* 02C64A50 */ /* nop */
|
|
/* 02C64A54 */ _t4 = cpu->r[1] + 0x00000048u;
|
|
/* 02C64A54 */ rbrew_write_f32(cpu->mem, _t4, cpu->f[31]);
|
|
/* 02C64A58 */ _t5 = cpu->r[1] + 0x00000054u;
|
|
/* 02C64A58 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02C64A5C */ cpu->r[29] = cpu->r[3];
|
|
/* 02C64A60 */ cpu->r[10] = cpu->r[29] + 0x00000010u;
|
|
/* 02C64A64 */ cpu->r[30] = cpu->r[5];
|
|
/* 02C64A68 */ _t6 = cpu->r[29] + 0x00000010u;
|
|
/* 02C64A68 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02C64A6C */ cpu->f[30] = cpu->f[1];
|
|
/* 02C64A70 */ cpu->r[31] = cpu->r[4];
|
|
/* 02C64A74 */ cpu->r[26] = 0x00000000u;
|
|
/* 02C64A78 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C64A7C */ _t7 = cpu->r[29] + 0x00000000u;
|
|
/* 02C64A7C */ cpu->r[28] = rbrew_read16(cpu->mem, _t7);
|
|
/* 02C64A80 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C64A80 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02C64A80 */ if (_t9) goto L_02C64A88; else goto L_02C64A84;
|
|
L_02C64A84: ; // 0x2c64a84
|
|
/* 02C64A84 */ cpu->r[26] = cpu->r[10] + cpu->r[0];
|
|
L_02C64A88: ; // 0x2c64a88
|
|
/* 02C64A88 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 02C64A8C */ cpu->r[27] = 0x00000000u;
|
|
/* 02C64A90 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C64A90 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02C64A90 */ if (_t11) goto L_02C64B04; else goto L_02C64A94;
|
|
L_02C64A94: ; // 0x2c64a94
|
|
/* 02C64A94 */ cpu->r[12] = 0x101B0000u;
|
|
/* 02C64A98 */ _t12 = cpu->r[12] + 0xFFFFF1D8u;
|
|
/* 02C64A98 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t12);
|
|
L_02C64A9C: ; // 0x2c64a9c
|
|
/* 02C64A9C */ _t13 = cpu->r[30] + cpu->r[27];
|
|
/* 02C64A9C */ cpu->r[0] = rbrew_read8(cpu->mem, _t13);
|
|
/* 02C64AA0 */ /* nop */
|
|
/* 02C64AA4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0xFFFFFFFFu);
|
|
/* 02C64AA8 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C64AA8 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02C64AA8 */ if (_t15) goto L_02C64AF0; else goto L_02C64AAC;
|
|
L_02C64AAC: ; // 0x2c64aac
|
|
/* 02C64AAC */ _t16 = cpu->r[26] + 0x00000000u;
|
|
/* 02C64AAC */ cpu->r[0] = rbrew_read8(cpu->mem, _t16);
|
|
/* 02C64AB0 */ /* nop */
|
|
/* 02C64AB4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0xFFFFFFFFu);
|
|
/* 02C64AB8 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C64AB8 */ _t18 = _t17 & 0x00000001u;
|
|
/* 02C64AB8 */ if (_t18) goto L_02C64AF0; else goto L_02C64ABC;
|
|
L_02C64ABC: ; // 0x2c64abc
|
|
/* 02C64ABC */ _t19 = cpu->r[29] + 0x00000014u;
|
|
/* 02C64ABC */ cpu->r[9] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02C64AC0 */ cpu->r[7] = 0x00000000u;
|
|
/* 02C64AC4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 02C64AC8 */ cpu->r[11] = cpu->r[29] + 0x00000014u;
|
|
/* 02C64ACC */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C64ACC */ _t21 = _t20 & 0x00000001u;
|
|
/* 02C64ACC */ if (_t21) goto L_02C64AD4; else goto L_02C64AD0;
|
|
L_02C64AD0: ; // 0x2c64ad0
|
|
/* 02C64AD0 */ cpu->r[7] = cpu->r[11] + cpu->r[9];
|
|
L_02C64AD4: ; // 0x2c64ad4
|
|
/* 02C64AD4 */ cpu->r[6] = (uint32_t)((int32_t)cpu->r[0] * (int32_t)0x00000024u);
|
|
/* 02C64AD8 */ cpu->f[1] = cpu->f[30];
|
|
/* 02C64ADC */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02C64AE0 */ _t22 = cpu->r[1] + 0x00000008u;
|
|
/* 02C64AE0 */ rbrew_write_f32(cpu->mem, _t22, cpu->f[31]);
|
|
/* 02C64AE4 */ cpu->r[3] = cpu->r[7] + cpu->r[6];
|
|
/* 02C64AE8 */ Gambit_fn_02C5F678(cpu);
|
|
/* 02C64AEC */ _t23 = cpu->r[31] + 0x00000000u;
|
|
/* 02C64AEC */ rbrew_write16(cpu->mem, _t23, (uint16_t)cpu->r[3]);
|
|
L_02C64AF0: ; // 0x2c64af0
|
|
/* 02C64AF0 */ cpu->r[26] = cpu->r[26] + 0x00000008u;
|
|
/* 02C64AF4 */ cpu->r[28] = cpu->r[28] + 0xFFFFFFFFu;
|
|
/* 02C64AF4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 02C64AF8 */ cpu->r[27] = cpu->r[27] + 0x00000001u;
|
|
/* 02C64AFC */ cpu->r[31] = cpu->r[31] + 0x00000002u;
|
|
/* 02C64B00 */ _t24 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C64B00 */ _t25 = _t24 & 0x00000001u;
|
|
/* 02C64B00 */ if (_t25) goto L_02C64B04; else goto L_02C64A9C;
|
|
L_02C64B04: ; // 0x2c64b04
|
|
/* 02C64B04 */ /* nop */
|
|
/* 02C64B08 */ _t26 = cpu->r[1] + 0x00000038u;
|
|
/* 02C64B08 */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t26);
|
|
/* 02C64B0C */ _t27 = cpu->r[1] + 0x00000048u;
|
|
/* 02C64B0C */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t27);
|
|
/* 02C64B10 */ _t28 = cpu->r[1] + 0x00000030u;
|
|
/* 02C64B10 */ cpu->f[30] = rbrew_read_f64(cpu->mem, _t28);
|
|
/* 02C64B14 */ _t29 = cpu->r[1] + 0x00000040u;
|
|
/* 02C64B14 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t29);
|
|
/* 02C64B18 */ _t30 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C64B18 */ _t31 = _t30 & 0x00000001u;
|
|
/* 02C64B18 */ if (_t31) goto L_02C64B1C; // else: addr-0 trap, fall-through
|
|
L_02C64B1C: ; // 0x2c64b1c
|
|
/* 02C64B1C */ _t32 = cpu->r[1] + 0x00000054u;
|
|
/* 02C64B1C */ cpu->r[0] = rbrew_read32(cpu->mem, _t32);
|
|
/* 02C64B20 */ cpu->lr = cpu->r[0];
|
|
/* 02C64B24 */ cpu->r[1] = cpu->r[1] + 0x00000050u;
|
|
/* 02C64B28 */ return;
|
|
}
|
|
|
|
// fn_02C64B2C @ 0x2c64b2c
|
|
void Gambit_fn_02C64B2C(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_02C64B2C: ; // 0x2c64b2c
|
|
/* 02C64B2C */ _t0 = cpu->r[1] + 0xFFFFFFC8u;
|
|
/* 02C64B2C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C64B2C */ cpu->r[1] = _t0;
|
|
/* 02C64B30 */ /* nop */
|
|
/* 02C64B34 */ _t1 = cpu->r[1] + 0x00000028u;
|
|
/* 02C64B34 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[31]);
|
|
/* 02C64B38 */ /* nop */
|
|
/* 02C64B3C */ cpu->r[0] = cpu->lr;
|
|
/* 02C64B40 */ _t2 = cpu->r[1] + 0x00000030u;
|
|
/* 02C64B40 */ rbrew_write_f32(cpu->mem, _t2, cpu->f[31]);
|
|
/* 02C64B44 */ _t3 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02C64B44 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02C64B48 */ cpu->r[29] = cpu->r[5];
|
|
/* 02C64B4C */ cpu->r[28] = cpu->r[3];
|
|
/* 02C64B50 */ cpu->r[30] = cpu->r[6];
|
|
/* 02C64B54 */ _t4 = cpu->r[28] + 0x00000010u;
|
|
/* 02C64B54 */ cpu->r[8] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02C64B58 */ cpu->f[31] = cpu->f[1];
|
|
/* 02C64B5C */ cpu->r[11] = cpu->r[28] + 0x00000010u;
|
|
/* 02C64B60 */ cpu->r[25] = 0x00000000u;
|
|
/* 02C64B64 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 02C64B68 */ _t5 = cpu->r[28] + 0x00000000u;
|
|
/* 02C64B68 */ cpu->r[26] = rbrew_read16(cpu->mem, _t5);
|
|
/* 02C64B6C */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C64B6C */ _t7 = _t6 & 0x00000001u;
|
|
/* 02C64B6C */ if (_t7) goto L_02C64B74; else goto L_02C64B70;
|
|
L_02C64B70: ; // 0x2c64b70
|
|
/* 02C64B70 */ cpu->r[25] = cpu->r[11] + cpu->r[8];
|
|
L_02C64B74: ; // 0x2c64b74
|
|
/* 02C64B74 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u);
|
|
/* 02C64B78 */ cpu->r[27] = 0x00000000u;
|
|
/* 02C64B7C */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C64B7C */ _t9 = _t8 & 0x00000001u;
|
|
/* 02C64B7C */ if (_t9) goto L_02C64BF0; else goto L_02C64B80;
|
|
L_02C64B80: ; // 0x2c64b80
|
|
/* 02C64B80 */ cpu->r[31] = cpu->r[4];
|
|
L_02C64B84: ; // 0x2c64b84
|
|
/* 02C64B84 */ _t10 = cpu->r[29] + cpu->r[27];
|
|
/* 02C64B84 */ cpu->r[0] = rbrew_read8(cpu->mem, _t10);
|
|
/* 02C64B88 */ /* nop */
|
|
/* 02C64B8C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0xFFFFFFFFu);
|
|
/* 02C64B90 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C64B90 */ _t12 = _t11 & 0x00000001u;
|
|
/* 02C64B90 */ if (_t12) goto L_02C64BDC; else goto L_02C64B94;
|
|
L_02C64B94: ; // 0x2c64b94
|
|
/* 02C64B94 */ _t13 = cpu->r[25] + 0x00000000u;
|
|
/* 02C64B94 */ cpu->r[6] = rbrew_read8(cpu->mem, _t13);
|
|
/* 02C64B98 */ /* nop */
|
|
/* 02C64B9C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0xFFFFFFFFu);
|
|
/* 02C64BA0 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C64BA0 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02C64BA0 */ if (_t15) goto L_02C64BDC; else goto L_02C64BA4;
|
|
L_02C64BA4: ; // 0x2c64ba4
|
|
/* 02C64BA4 */ _t16 = cpu->r[28] + 0x00000014u;
|
|
/* 02C64BA4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02C64BA8 */ cpu->r[7] = cpu->r[6];
|
|
/* 02C64BAC */ cpu->r[10] = 0x00000000u;
|
|
/* 02C64BB0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 02C64BB4 */ cpu->r[12] = cpu->r[28] + 0x00000014u;
|
|
/* 02C64BB8 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C64BB8 */ _t18 = _t17 & 0x00000001u;
|
|
/* 02C64BB8 */ if (_t18) goto L_02C64BC0; else goto L_02C64BBC;
|
|
L_02C64BBC: ; // 0x2c64bbc
|
|
/* 02C64BBC */ cpu->r[10] = cpu->r[12] + cpu->r[9];
|
|
L_02C64BC0: ; // 0x2c64bc0
|
|
/* 02C64BC0 */ cpu->r[0] = (uint32_t)((int32_t)cpu->r[6] * (int32_t)0x0000000Cu);
|
|
/* 02C64BC4 */ cpu->r[5] = (uint32_t)((int32_t)cpu->r[7] * (int32_t)0x00000024u);
|
|
/* 02C64BC8 */ cpu->r[4] = cpu->r[30] + cpu->r[0];
|
|
/* 02C64BCC */ cpu->f[1] = cpu->f[31];
|
|
/* 02C64BD0 */ cpu->r[3] = cpu->r[10] + cpu->r[5];
|
|
/* 02C64BD4 */ Gambit_fn_02C5F678(cpu);
|
|
/* 02C64BD8 */ _t19 = cpu->r[31] + 0x00000000u;
|
|
/* 02C64BD8 */ rbrew_write16(cpu->mem, _t19, (uint16_t)cpu->r[3]);
|
|
L_02C64BDC: ; // 0x2c64bdc
|
|
/* 02C64BDC */ cpu->r[25] = cpu->r[25] + 0x00000008u;
|
|
/* 02C64BE0 */ cpu->r[26] = cpu->r[26] + 0xFFFFFFFFu;
|
|
/* 02C64BE0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u);
|
|
/* 02C64BE4 */ cpu->r[27] = cpu->r[27] + 0x00000001u;
|
|
/* 02C64BE8 */ cpu->r[31] = cpu->r[31] + 0x00000002u;
|
|
/* 02C64BEC */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C64BEC */ _t21 = _t20 & 0x00000001u;
|
|
/* 02C64BEC */ if (_t21) goto L_02C64BF0; else goto L_02C64B84;
|
|
L_02C64BF0: ; // 0x2c64bf0
|
|
/* 02C64BF0 */ /* nop */
|
|
/* 02C64BF4 */ _t22 = cpu->r[1] + 0x00000030u;
|
|
/* 02C64BF4 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t22);
|
|
/* 02C64BF8 */ _t23 = cpu->r[1] + 0x00000028u;
|
|
/* 02C64BF8 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t23);
|
|
/* 02C64BFC */ _t24 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C64BFC */ _t25 = _t24 & 0x00000001u;
|
|
/* 02C64BFC */ if (_t25) goto L_02C64C00; // else: addr-0 trap, fall-through
|
|
L_02C64C00: ; // 0x2c64c00
|
|
/* 02C64C00 */ _t26 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02C64C00 */ cpu->r[0] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02C64C04 */ cpu->lr = cpu->r[0];
|
|
/* 02C64C08 */ cpu->r[1] = cpu->r[1] + 0x00000038u;
|
|
/* 02C64C0C */ return;
|
|
}
|
|
|
|
// fn_02C64C10 @ 0x2c64c10
|
|
void Gambit_fn_02C64C10(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16;
|
|
|
|
L_02C64C10: ; // 0x2c64c10
|
|
/* 02C64C10 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 02C64C10 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C64C10 */ cpu->r[1] = _t0;
|
|
/* 02C64C14 */ /* nop */
|
|
/* 02C64C18 */ cpu->r[0] = cpu->lr;
|
|
/* 02C64C1C */ _t1 = cpu->r[1] + 0x00000024u;
|
|
/* 02C64C1C */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02C64C20 */ _t2 = cpu->r[3] + 0x00000014u;
|
|
/* 02C64C20 */ cpu->r[27] = rbrew_read16(cpu->mem, _t2);
|
|
/* 02C64C24 */ cpu->r[30] = cpu->r[4];
|
|
/* 02C64C28 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 02C64C2C */ cpu->r[31] = 0x00000000u;
|
|
/* 02C64C30 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C64C30 */ _t4 = _t3 & 0x00000001u;
|
|
/* 02C64C30 */ if (_t4) goto L_02C64C90; else goto L_02C64C34;
|
|
L_02C64C34: ; // 0x2c64c34
|
|
/* 02C64C34 */ cpu->r[29] = cpu->r[3] + 0x00000030u;
|
|
/* 02C64C38 */ cpu->r[28] = 0x00000000u;
|
|
L_02C64C3C: ; // 0x2c64c3c
|
|
/* 02C64C3C */ _t5 = cpu->r[29] + 0x00000000u;
|
|
/* 02C64C3C */ cpu->r[11] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02C64C40 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02C64C44 */ cpu->r[10] = 0x00000000u;
|
|
/* 02C64C48 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C64C48 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02C64C48 */ if (_t7) goto L_02C64C50; else goto L_02C64C4C;
|
|
L_02C64C4C: ; // 0x2c64c4c
|
|
/* 02C64C4C */ cpu->r[10] = cpu->r[29] + cpu->r[11];
|
|
L_02C64C50: ; // 0x2c64c50
|
|
/* 02C64C50 */ cpu->r[8] = cpu->r[10] + cpu->r[28];
|
|
/* 02C64C54 */ _t8 = cpu->r[8] + 0x00000024u;
|
|
/* 02C64C54 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C64C58 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C64C5C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C64C60 */ cpu->r[12] = cpu->r[8] + 0x00000024u;
|
|
/* 02C64C64 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C64C64 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02C64C64 */ if (_t10) goto L_02C64C6C; else goto L_02C64C68;
|
|
L_02C64C68: ; // 0x2c64c68
|
|
/* 02C64C68 */ cpu->r[3] = cpu->r[12] + cpu->r[0];
|
|
L_02C64C6C: ; // 0x2c64c6c
|
|
/* 02C64C6C */ _t11 = cpu->r[3] + 0x00000004u;
|
|
/* 02C64C6C */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02C64C70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C64C74 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C64C74 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02C64C74 */ if (_t13) goto L_02C64C78; else goto L_02C64C84;
|
|
L_02C64C78: ; // 0x2c64c78
|
|
/* 02C64C78 */ cpu->r[4] = cpu->r[30];
|
|
/* 02C64C7C */ Gambit_fn_02C64F08(cpu);
|
|
/* 02C64C80 */ cpu->r[31] = cpu->r[31] | cpu->r[3];
|
|
L_02C64C84: ; // 0x2c64c84
|
|
/* 02C64C84 */ cpu->r[27] = cpu->r[27] + 0xFFFFFFFFu;
|
|
/* 02C64C84 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 02C64C88 */ cpu->r[28] = cpu->r[28] + 0x00000010u;
|
|
/* 02C64C8C */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C64C8C */ _t15 = _t14 & 0x00000001u;
|
|
/* 02C64C8C */ if (_t15) goto L_02C64C90; else goto L_02C64C3C;
|
|
L_02C64C90: ; // 0x2c64c90
|
|
/* 02C64C90 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C64C94 */ /* nop */
|
|
/* 02C64C98 */ _t16 = cpu->r[1] + 0x00000024u;
|
|
/* 02C64C98 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02C64C9C */ cpu->lr = cpu->r[0];
|
|
/* 02C64CA0 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02C64CA4 */ return;
|
|
}
|
|
|
|
// fn_02C64CA8 @ 0x2c64ca8
|
|
void Gambit_fn_02C64CA8(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_02C64CA8: ; // 0x2c64ca8
|
|
/* 02C64CA8 */ _t0 = cpu->r[1] + 0xFFFFFFD0u;
|
|
/* 02C64CA8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C64CA8 */ cpu->r[1] = _t0;
|
|
/* 02C64CAC */ /* nop */
|
|
/* 02C64CB0 */ cpu->r[0] = cpu->lr;
|
|
/* 02C64CB4 */ _t1 = cpu->r[1] + 0x00000034u;
|
|
/* 02C64CB4 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02C64CB8 */ cpu->r[26] = cpu->r[3];
|
|
/* 02C64CBC */ _t2 = cpu->r[26] + 0x0000000Cu;
|
|
/* 02C64CBC */ cpu->r[5] = rbrew_read16(cpu->mem, _t2);
|
|
/* 02C64CC0 */ cpu->r[0] = rbrew_rlwinm(cpu->r[5], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02C64CC0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C64CC4 */ cpu->r[31] = 0x00000000u;
|
|
/* 02C64CC8 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C64CC8 */ _t4 = _t3 & 0x00000001u;
|
|
/* 02C64CC8 */ if (_t4) goto L_02C64DA0; else goto L_02C64CCC;
|
|
L_02C64CCC: ; // 0x2c64ccc
|
|
/* 02C64CCC */ _t5 = cpu->r[26] + 0x00000016u;
|
|
/* 02C64CCC */ cpu->r[28] = rbrew_read16(cpu->mem, _t5);
|
|
/* 02C64CD0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 02C64CD4 */ cpu->r[23] = 0x00000000u;
|
|
/* 02C64CD8 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C64CD8 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02C64CD8 */ if (_t7) goto L_02C64D98; else goto L_02C64CDC;
|
|
L_02C64CDC: ; // 0x2c64cdc
|
|
/* 02C64CDC */ cpu->r[24] = cpu->r[26] + 0x0000002Cu;
|
|
/* 02C64CE0 */ cpu->r[30] = 0x00000000u;
|
|
L_02C64CE4: ; // 0x2c64ce4
|
|
/* 02C64CE4 */ _t8 = cpu->r[24] + 0x00000000u;
|
|
/* 02C64CE4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C64CE8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02C64CEC */ cpu->r[6] = 0x00000000u;
|
|
/* 02C64CF0 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C64CF0 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02C64CF0 */ if (_t10) goto L_02C64CF8; else goto L_02C64CF4;
|
|
L_02C64CF4: ; // 0x2c64cf4
|
|
/* 02C64CF4 */ cpu->r[6] = cpu->r[24] + cpu->r[12];
|
|
L_02C64CF8: ; // 0x2c64cf8
|
|
/* 02C64CF8 */ cpu->r[8] = cpu->r[6] + cpu->r[30];
|
|
/* 02C64CFC */ _t11 = cpu->r[8] + 0x00000002u;
|
|
/* 02C64CFC */ cpu->r[27] = rbrew_read16(cpu->mem, _t11);
|
|
/* 02C64D00 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 02C64D04 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C64D04 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02C64D04 */ if (_t13) goto L_02C64D88; else goto L_02C64D08;
|
|
L_02C64D08: ; // 0x2c64d08
|
|
/* 02C64D08 */ cpu->r[25] = cpu->r[8] + 0x00000014u;
|
|
/* 02C64D0C */ cpu->r[29] = 0x00000000u;
|
|
L_02C64D10: ; // 0x2c64d10
|
|
/* 02C64D10 */ _t14 = cpu->r[25] + 0x00000000u;
|
|
/* 02C64D10 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02C64D14 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C64D18 */ cpu->r[11] = 0x00000000u;
|
|
/* 02C64D1C */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C64D1C */ _t16 = _t15 & 0x00000001u;
|
|
/* 02C64D1C */ if (_t16) goto L_02C64D24; else goto L_02C64D20;
|
|
L_02C64D20: ; // 0x2c64d20
|
|
/* 02C64D20 */ cpu->r[11] = cpu->r[25] + cpu->r[0];
|
|
L_02C64D24: ; // 0x2c64d24
|
|
/* 02C64D24 */ _t17 = cpu->r[11] + cpu->r[29];
|
|
/* 02C64D24 */ cpu->r[9] = rbrew_read16(cpu->mem, _t17);
|
|
/* 02C64D28 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[23], 0x00000000u);
|
|
/* 02C64D2C */ cpu->r[3] = cpu->r[11] + cpu->r[29];
|
|
/* 02C64D30 */ cpu->r[0] = rbrew_rlwinm(cpu->r[9], 0x00000000u, 0x00000019u, 0x0000001Bu);
|
|
/* 02C64D34 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C64D34 */ _t19 = _t18 & 0x00000001u;
|
|
/* 02C64D34 */ if (_t19) goto L_02C64D38; else goto L_02C64D5C;
|
|
L_02C64D38: ; // 0x2c64d38
|
|
/* 02C64D38 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000050u);
|
|
/* 02C64D3C */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C64D3C */ _t21 = _t20 & 0x00000001u;
|
|
/* 02C64D3C */ if (_t21) goto L_02C64D40; else goto L_02C64D5C;
|
|
L_02C64D40: ; // 0x2c64d40
|
|
/* 02C64D40 */ _t22 = cpu->r[3] + 0x00000020u;
|
|
/* 02C64D40 */ cpu->r[4] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02C64D44 */ cpu->r[12] = cpu->r[3] + 0x00000020u;
|
|
/* 02C64D48 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
|
|
/* 02C64D4C */ cpu->r[31] = 0x00000000u;
|
|
/* 02C64D50 */ _t23 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C64D50 */ _t24 = _t23 & 0x00000001u;
|
|
/* 02C64D50 */ if (_t24) goto L_02C64D58; else goto L_02C64D54;
|
|
L_02C64D54: ; // 0x2c64d54
|
|
/* 02C64D54 */ cpu->r[31] = cpu->r[12] + cpu->r[4];
|
|
L_02C64D58: ; // 0x2c64d58
|
|
/* 02C64D58 */ cpu->r[23] = 0x00000001u;
|
|
L_02C64D5C: ; // 0x2c64d5c
|
|
/* 02C64D5C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000040u);
|
|
/* 02C64D60 */ _t25 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C64D60 */ _t26 = _t25 & 0x00000001u;
|
|
/* 02C64D60 */ if (_t26) goto L_02C64D64; else goto L_02C64D78;
|
|
L_02C64D64: ; // 0x2c64d64
|
|
/* 02C64D64 */ Gambit_fn_02C5F538(cpu);
|
|
/* 02C64D68 */ cpu->r[27] = cpu->r[27] + 0xFFFFFFFFu;
|
|
/* 02C64D68 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 02C64D6C */ cpu->r[29] = cpu->r[29] + 0x00000024u;
|
|
/* 02C64D70 */ _t27 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C64D70 */ _t28 = _t27 & 0x00000001u;
|
|
/* 02C64D70 */ if (_t28) goto L_02C64D74; else goto L_02C64D10;
|
|
L_02C64D74: ; // 0x2c64d74
|
|
/* 02C64D74 */ goto L_02C64D88;
|
|
L_02C64D78: ; // 0x2c64d78
|
|
/* 02C64D78 */ Gambit_fn_02C5F5DC(cpu);
|
|
/* 02C64D7C */ cpu->r[27] = cpu->r[27] + 0xFFFFFFFFu;
|
|
/* 02C64D7C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 02C64D80 */ cpu->r[29] = cpu->r[29] + 0x00000024u;
|
|
/* 02C64D84 */ _t29 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C64D84 */ _t30 = _t29 & 0x00000001u;
|
|
/* 02C64D84 */ if (_t30) goto L_02C64D88; else goto L_02C64D10;
|
|
L_02C64D88: ; // 0x2c64d88
|
|
/* 02C64D88 */ cpu->r[28] = cpu->r[28] + 0xFFFFFFFFu;
|
|
/* 02C64D88 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 02C64D8C */ cpu->r[30] = cpu->r[30] + 0x0000001Cu;
|
|
/* 02C64D90 */ _t31 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C64D90 */ _t32 = _t31 & 0x00000001u;
|
|
/* 02C64D90 */ if (_t32) goto L_02C64D94; else goto L_02C64CE4;
|
|
L_02C64D94: ; // 0x2c64d94
|
|
/* 02C64D94 */ _t33 = cpu->r[26] + 0x0000000Cu;
|
|
/* 02C64D94 */ cpu->r[5] = rbrew_read16(cpu->mem, _t33);
|
|
L_02C64D98: ; // 0x2c64d98
|
|
/* 02C64D98 */ cpu->r[0] = cpu->r[5] ^ 0x00000001u;
|
|
/* 02C64D9C */ _t34 = cpu->r[26] + 0x0000000Cu;
|
|
/* 02C64D9C */ rbrew_write16(cpu->mem, _t34, (uint16_t)cpu->r[0]);
|
|
L_02C64DA0: ; // 0x2c64da0
|
|
/* 02C64DA0 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C64DA4 */ /* nop */
|
|
/* 02C64DA8 */ _t35 = cpu->r[1] + 0x00000034u;
|
|
/* 02C64DA8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t35);
|
|
/* 02C64DAC */ cpu->lr = cpu->r[0];
|
|
/* 02C64DB0 */ cpu->r[1] = cpu->r[1] + 0x00000030u;
|
|
/* 02C64DB4 */ return;
|
|
}
|
|
|
|
// fn_02C64DB8 @ 0x2c64db8
|
|
void Gambit_fn_02C64DB8(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;
|
|
|
|
L_02C64CA8: ; // 0x2c64ca8
|
|
/* 02C64CA8 */ _t0 = cpu->r[1] + 0xFFFFFFD0u;
|
|
/* 02C64CA8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C64CA8 */ cpu->r[1] = _t0;
|
|
/* 02C64CAC */ /* nop */
|
|
/* 02C64CB0 */ cpu->r[0] = cpu->lr;
|
|
/* 02C64CB4 */ _t1 = cpu->r[1] + 0x00000034u;
|
|
/* 02C64CB4 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02C64CB8 */ cpu->r[26] = cpu->r[3];
|
|
/* 02C64CBC */ _t2 = cpu->r[26] + 0x0000000Cu;
|
|
/* 02C64CBC */ cpu->r[5] = rbrew_read16(cpu->mem, _t2);
|
|
/* 02C64CC0 */ cpu->r[0] = rbrew_rlwinm(cpu->r[5], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02C64CC0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C64CC4 */ cpu->r[31] = 0x00000000u;
|
|
/* 02C64CC8 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C64CC8 */ _t4 = _t3 & 0x00000001u;
|
|
/* 02C64CC8 */ if (_t4) goto L_02C64DA0; else goto L_02C64CCC;
|
|
L_02C64CCC: ; // 0x2c64ccc
|
|
/* 02C64CCC */ _t5 = cpu->r[26] + 0x00000016u;
|
|
/* 02C64CCC */ cpu->r[28] = rbrew_read16(cpu->mem, _t5);
|
|
/* 02C64CD0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 02C64CD4 */ cpu->r[23] = 0x00000000u;
|
|
/* 02C64CD8 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C64CD8 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02C64CD8 */ if (_t7) goto L_02C64D98; else goto L_02C64CDC;
|
|
L_02C64CDC: ; // 0x2c64cdc
|
|
/* 02C64CDC */ cpu->r[24] = cpu->r[26] + 0x0000002Cu;
|
|
/* 02C64CE0 */ cpu->r[30] = 0x00000000u;
|
|
L_02C64CE4: ; // 0x2c64ce4
|
|
/* 02C64CE4 */ _t8 = cpu->r[24] + 0x00000000u;
|
|
/* 02C64CE4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C64CE8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02C64CEC */ cpu->r[6] = 0x00000000u;
|
|
/* 02C64CF0 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C64CF0 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02C64CF0 */ if (_t10) goto L_02C64CF8; else goto L_02C64CF4;
|
|
L_02C64CF4: ; // 0x2c64cf4
|
|
/* 02C64CF4 */ cpu->r[6] = cpu->r[24] + cpu->r[12];
|
|
L_02C64CF8: ; // 0x2c64cf8
|
|
/* 02C64CF8 */ cpu->r[8] = cpu->r[6] + cpu->r[30];
|
|
/* 02C64CFC */ _t11 = cpu->r[8] + 0x00000002u;
|
|
/* 02C64CFC */ cpu->r[27] = rbrew_read16(cpu->mem, _t11);
|
|
/* 02C64D00 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 02C64D04 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C64D04 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02C64D04 */ if (_t13) goto L_02C64D88; else goto L_02C64D08;
|
|
L_02C64D08: ; // 0x2c64d08
|
|
/* 02C64D08 */ cpu->r[25] = cpu->r[8] + 0x00000014u;
|
|
/* 02C64D0C */ cpu->r[29] = 0x00000000u;
|
|
L_02C64D10: ; // 0x2c64d10
|
|
/* 02C64D10 */ _t14 = cpu->r[25] + 0x00000000u;
|
|
/* 02C64D10 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02C64D14 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C64D18 */ cpu->r[11] = 0x00000000u;
|
|
/* 02C64D1C */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C64D1C */ _t16 = _t15 & 0x00000001u;
|
|
/* 02C64D1C */ if (_t16) goto L_02C64D24; else goto L_02C64D20;
|
|
L_02C64D20: ; // 0x2c64d20
|
|
/* 02C64D20 */ cpu->r[11] = cpu->r[25] + cpu->r[0];
|
|
L_02C64D24: ; // 0x2c64d24
|
|
/* 02C64D24 */ _t17 = cpu->r[11] + cpu->r[29];
|
|
/* 02C64D24 */ cpu->r[9] = rbrew_read16(cpu->mem, _t17);
|
|
/* 02C64D28 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[23], 0x00000000u);
|
|
/* 02C64D2C */ cpu->r[3] = cpu->r[11] + cpu->r[29];
|
|
/* 02C64D30 */ cpu->r[0] = rbrew_rlwinm(cpu->r[9], 0x00000000u, 0x00000019u, 0x0000001Bu);
|
|
/* 02C64D34 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C64D34 */ _t19 = _t18 & 0x00000001u;
|
|
/* 02C64D34 */ if (_t19) goto L_02C64D38; else goto L_02C64D5C;
|
|
L_02C64D38: ; // 0x2c64d38
|
|
/* 02C64D38 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000050u);
|
|
/* 02C64D3C */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C64D3C */ _t21 = _t20 & 0x00000001u;
|
|
/* 02C64D3C */ if (_t21) goto L_02C64D40; else goto L_02C64D5C;
|
|
L_02C64D40: ; // 0x2c64d40
|
|
/* 02C64D40 */ _t22 = cpu->r[3] + 0x00000020u;
|
|
/* 02C64D40 */ cpu->r[4] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02C64D44 */ cpu->r[12] = cpu->r[3] + 0x00000020u;
|
|
/* 02C64D48 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
|
|
/* 02C64D4C */ cpu->r[31] = 0x00000000u;
|
|
/* 02C64D50 */ _t23 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C64D50 */ _t24 = _t23 & 0x00000001u;
|
|
/* 02C64D50 */ if (_t24) goto L_02C64D58; else goto L_02C64D54;
|
|
L_02C64D54: ; // 0x2c64d54
|
|
/* 02C64D54 */ cpu->r[31] = cpu->r[12] + cpu->r[4];
|
|
L_02C64D58: ; // 0x2c64d58
|
|
/* 02C64D58 */ cpu->r[23] = 0x00000001u;
|
|
L_02C64D5C: ; // 0x2c64d5c
|
|
/* 02C64D5C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000040u);
|
|
/* 02C64D60 */ _t25 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C64D60 */ _t26 = _t25 & 0x00000001u;
|
|
/* 02C64D60 */ if (_t26) goto L_02C64D64; else goto L_02C64D78;
|
|
L_02C64D64: ; // 0x2c64d64
|
|
/* 02C64D64 */ Gambit_fn_02C5F538(cpu);
|
|
/* 02C64D68 */ cpu->r[27] = cpu->r[27] + 0xFFFFFFFFu;
|
|
/* 02C64D68 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 02C64D6C */ cpu->r[29] = cpu->r[29] + 0x00000024u;
|
|
/* 02C64D70 */ _t27 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C64D70 */ _t28 = _t27 & 0x00000001u;
|
|
/* 02C64D70 */ if (_t28) goto L_02C64D74; else goto L_02C64D10;
|
|
L_02C64D74: ; // 0x2c64d74
|
|
/* 02C64D74 */ goto L_02C64D88;
|
|
L_02C64D78: ; // 0x2c64d78
|
|
/* 02C64D78 */ Gambit_fn_02C5F5DC(cpu);
|
|
/* 02C64D7C */ cpu->r[27] = cpu->r[27] + 0xFFFFFFFFu;
|
|
/* 02C64D7C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 02C64D80 */ cpu->r[29] = cpu->r[29] + 0x00000024u;
|
|
/* 02C64D84 */ _t29 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C64D84 */ _t30 = _t29 & 0x00000001u;
|
|
/* 02C64D84 */ if (_t30) goto L_02C64D88; else goto L_02C64D10;
|
|
L_02C64D88: ; // 0x2c64d88
|
|
/* 02C64D88 */ cpu->r[28] = cpu->r[28] + 0xFFFFFFFFu;
|
|
/* 02C64D88 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 02C64D8C */ cpu->r[30] = cpu->r[30] + 0x0000001Cu;
|
|
/* 02C64D90 */ _t31 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C64D90 */ _t32 = _t31 & 0x00000001u;
|
|
/* 02C64D90 */ if (_t32) goto L_02C64D94; else goto L_02C64CE4;
|
|
L_02C64D94: ; // 0x2c64d94
|
|
/* 02C64D94 */ _t33 = cpu->r[26] + 0x0000000Cu;
|
|
/* 02C64D94 */ cpu->r[5] = rbrew_read16(cpu->mem, _t33);
|
|
L_02C64D98: ; // 0x2c64d98
|
|
/* 02C64D98 */ cpu->r[0] = cpu->r[5] ^ 0x00000001u;
|
|
/* 02C64D9C */ _t34 = cpu->r[26] + 0x0000000Cu;
|
|
/* 02C64D9C */ rbrew_write16(cpu->mem, _t34, (uint16_t)cpu->r[0]);
|
|
L_02C64DA0: ; // 0x2c64da0
|
|
/* 02C64DA0 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C64DA4 */ /* nop */
|
|
/* 02C64DA8 */ _t35 = cpu->r[1] + 0x00000034u;
|
|
/* 02C64DA8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t35);
|
|
/* 02C64DAC */ cpu->lr = cpu->r[0];
|
|
/* 02C64DB0 */ cpu->r[1] = cpu->r[1] + 0x00000030u;
|
|
/* 02C64DB4 */ return;
|
|
L_02C64DB8: ; // 0x2c64db8
|
|
/* 02C64DB8 */ _t36 = cpu->r[3] + 0x00000028u;
|
|
/* 02C64DB8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t36);
|
|
/* 02C64DBC */ cpu->r[9] = 0x00000000u;
|
|
/* 02C64DC0 */ cpu->r[11] = cpu->r[3] + 0x00000028u;
|
|
/* 02C64DC4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 02C64DC8 */ _t37 = cpu->r[3] + 0x00000024u;
|
|
/* 02C64DC8 */ rbrew_write32(cpu->mem, _t37, cpu->r[9]);
|
|
/* 02C64DCC */ _t38 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C64DCC */ _t39 = _t38 & 0x00000001u;
|
|
/* 02C64DCC */ if (_t39) goto L_02C64DD4; else goto L_02C64DD0;
|
|
L_02C64DD0: ; // 0x2c64dd0
|
|
/* 02C64DD0 */ cpu->r[9] = cpu->r[11] + cpu->r[8];
|
|
L_02C64DD4: ; // 0x2c64dd4
|
|
/* 02C64DD4 */ _t40 = cpu->r[3] + 0x00000016u;
|
|
/* 02C64DD4 */ cpu->r[11] = rbrew_read16(cpu->mem, _t40);
|
|
/* 02C64DD8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02C64DDC */ _t41 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C64DDC */ _t42 = _t41 & 0x00000001u;
|
|
/* 02C64DDC */ if (_t42) goto L_02C64E54; else goto L_02C64DE0;
|
|
L_02C64DE0: ; // 0x2c64de0
|
|
/* 02C64DE0 */ cpu->r[7] = 0x00010000u;
|
|
/* 02C64DE4 */ cpu->r[5] = 0x00000000u;
|
|
/* 02C64DE8 */ cpu->r[6] = cpu->r[9] + 0xFFFFFFFEu;
|
|
/* 02C64DEC */ cpu->r[7] = cpu->r[7] + 0xFFFFFFFFu;
|
|
/* 02C64DF0 */ cpu->r[12] = cpu->r[3] + 0x0000002Cu;
|
|
L_02C64DF4: ; // 0x2c64df4
|
|
/* 02C64DF4 */ _t43 = cpu->r[12] + 0x00000000u;
|
|
/* 02C64DF4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t43);
|
|
/* 02C64DF8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 02C64DFC */ cpu->r[10] = 0x00000000u;
|
|
/* 02C64E00 */ _t44 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C64E00 */ _t45 = _t44 & 0x00000001u;
|
|
/* 02C64E00 */ if (_t45) goto L_02C64E08; else goto L_02C64E04;
|
|
L_02C64E04: ; // 0x2c64e04
|
|
/* 02C64E04 */ cpu->r[10] = cpu->r[12] + cpu->r[9];
|
|
L_02C64E08: ; // 0x2c64e08
|
|
/* 02C64E08 */ cpu->r[8] = cpu->r[10] + cpu->r[5];
|
|
/* 02C64E0C */ _t46 = cpu->r[8] + 0x00000010u;
|
|
/* 02C64E0C */ cpu->r[0] = rbrew_read32(cpu->mem, _t46);
|
|
/* 02C64E10 */ cpu->r[9] = 0x00000000u;
|
|
/* 02C64E14 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C64E18 */ cpu->r[10] = cpu->r[8] + 0x00000010u;
|
|
/* 02C64E1C */ _t47 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C64E1C */ _t48 = _t47 & 0x00000001u;
|
|
/* 02C64E1C */ if (_t48) goto L_02C64E24; else goto L_02C64E20;
|
|
L_02C64E20: ; // 0x2c64e20
|
|
/* 02C64E20 */ cpu->r[9] = cpu->r[10] + cpu->r[0];
|
|
L_02C64E24: ; // 0x2c64e24
|
|
/* 02C64E24 */ _t49 = cpu->r[8] + 0x00000000u;
|
|
/* 02C64E24 */ cpu->r[10] = rbrew_read16(cpu->mem, _t49);
|
|
/* 02C64E28 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02C64E2C */ _t50 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C64E2C */ _t51 = _t50 & 0x00000001u;
|
|
/* 02C64E2C */ if (_t51) goto L_02C64E44; else goto L_02C64E30;
|
|
L_02C64E30: ; // 0x2c64e30
|
|
/* 02C64E30 */ cpu->ctr = cpu->r[10];
|
|
/* 02C64E34 */ cpu->r[0] = 0xFFFFFFFFu;
|
|
L_02C64E38: ; // 0x2c64e38
|
|
/* 02C64E38 */ _t52 = cpu->r[9] + 0x00000001u;
|
|
/* 02C64E38 */ rbrew_write8(cpu->mem, _t52, (uint8_t)cpu->r[0]);
|
|
/* 02C64E3C */ cpu->r[9] = cpu->r[9] + 0x00000008u;
|
|
/* 02C64E40 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02C64E40 */ _t53 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02C64E40 */ _t54 = _t53 >> (0x00000002u & 31u);
|
|
/* 02C64E40 */ _t55 = _t54 & 0x00000001u;
|
|
/* 02C64E40 */ if (_t55) goto L_02C64E38; else goto L_02C64E44;
|
|
L_02C64E44: ; // 0x2c64e44
|
|
/* 02C64E44 */ cpu->r[11] = cpu->r[11] + 0xFFFFFFFFu;
|
|
/* 02C64E44 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02C64E48 */ cpu->r[5] = cpu->r[5] + 0x0000001Cu;
|
|
/* 02C64E4C */ _t56 = cpu->r[6] + 0x00000002u;
|
|
/* 02C64E4C */ rbrew_write16(cpu->mem, _t56, (uint16_t)cpu->r[7]);
|
|
/* 02C64E4C */ cpu->r[6] = _t56;
|
|
/* 02C64E50 */ _t57 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C64E50 */ _t58 = _t57 & 0x00000001u;
|
|
/* 02C64E50 */ if (_t58) goto L_02C64E54; else goto L_02C64DF4;
|
|
L_02C64E54: ; // 0x2c64e54
|
|
/* 02C64E54 */ goto L_02C64CA8;
|
|
}
|
|
|
|
// fn_02C64E58 @ 0x2c64e58
|
|
void Gambit_fn_02C64E58(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_02C64E58: ; // 0x2c64e58
|
|
/* 02C64E58 */ cpu->r[0] = cpu->lr;
|
|
/* 02C64E5C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C64E5C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C64E5C */ cpu->r[1] = _t0;
|
|
/* 02C64E60 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C64E60 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02C64E64 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02C64E64 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02C64E68 */ _t3 = cpu->r[3] + 0x000000B0u;
|
|
/* 02C64E68 */ cpu->r[10] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02C64E6C */ cpu->r[9] = cpu->r[3] + 0x000000B0u;
|
|
/* 02C64E70 */ cpu->r[31] = cpu->r[3] + 0x00000004u;
|
|
/* 02C64E74 */ cpu->r[4] = 0x00000000u;
|
|
/* 02C64E78 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02C64E7C */ _t4 = cpu->r[3] + 0x000000B4u;
|
|
/* 02C64E7C */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02C64E80 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C64E80 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02C64E80 */ if (_t6) goto L_02C64E88; else goto L_02C64E84;
|
|
L_02C64E84: ; // 0x2c64e84
|
|
/* 02C64E84 */ cpu->r[4] = cpu->r[9] + cpu->r[10];
|
|
L_02C64E88: ; // 0x2c64e88
|
|
/* 02C64E88 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C64E8C */ cpu->r[5] = 0x00000000u;
|
|
/* 02C64E90 */ cpu->r[12] = cpu->r[3] + 0x000000B4u;
|
|
/* 02C64E94 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C64E94 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02C64E94 */ if (_t8) goto L_02C64E9C; else goto L_02C64E98;
|
|
L_02C64E98: ; // 0x2c64e98
|
|
/* 02C64E98 */ cpu->r[5] = cpu->r[12] + cpu->r[0];
|
|
L_02C64E9C: ; // 0x2c64e9c
|
|
/* 02C64E9C */ cpu->r[3] = cpu->r[31];
|
|
/* 02C64EA0 */ Gambit_fn_02C6557C(cpu);
|
|
/* 02C64EA4 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C64EA8 */ Gambit_fn_02C6550C(cpu);
|
|
/* 02C64EAC */ cpu->r[3] = cpu->r[31];
|
|
/* 02C64EB0 */ Gambit_fn_02C65524(cpu);
|
|
/* 02C64EB4 */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 02C64EB4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02C64EB8 */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C64EB8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02C64EBC */ cpu->lr = cpu->r[0];
|
|
/* 02C64EC0 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C64EC4 */ return;
|
|
}
|
|
|
|
// fn_02C64E5C @ 0x2c64e5c
|
|
void Gambit_fn_02C64E5C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_02C64E5C: ; // 0x2c64e5c
|
|
/* 02C64E5C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C64E5C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C64E5C */ cpu->r[1] = _t0;
|
|
/* 02C64E60 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C64E60 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02C64E64 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02C64E64 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02C64E68 */ _t3 = cpu->r[3] + 0x000000B0u;
|
|
/* 02C64E68 */ cpu->r[10] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02C64E6C */ cpu->r[9] = cpu->r[3] + 0x000000B0u;
|
|
/* 02C64E70 */ cpu->r[31] = cpu->r[3] + 0x00000004u;
|
|
/* 02C64E74 */ cpu->r[4] = 0x00000000u;
|
|
/* 02C64E78 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02C64E7C */ _t4 = cpu->r[3] + 0x000000B4u;
|
|
/* 02C64E7C */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02C64E80 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C64E80 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02C64E80 */ if (_t6) goto L_02C64E88; else goto L_02C64E84;
|
|
L_02C64E84: ; // 0x2c64e84
|
|
/* 02C64E84 */ cpu->r[4] = cpu->r[9] + cpu->r[10];
|
|
L_02C64E88: ; // 0x2c64e88
|
|
/* 02C64E88 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C64E8C */ cpu->r[5] = 0x00000000u;
|
|
/* 02C64E90 */ cpu->r[12] = cpu->r[3] + 0x000000B4u;
|
|
/* 02C64E94 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C64E94 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02C64E94 */ if (_t8) goto L_02C64E9C; else goto L_02C64E98;
|
|
L_02C64E98: ; // 0x2c64e98
|
|
/* 02C64E98 */ cpu->r[5] = cpu->r[12] + cpu->r[0];
|
|
L_02C64E9C: ; // 0x2c64e9c
|
|
/* 02C64E9C */ cpu->r[3] = cpu->r[31];
|
|
/* 02C64EA0 */ Gambit_fn_02C6557C(cpu);
|
|
/* 02C64EA4 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C64EA8 */ Gambit_fn_02C6550C(cpu);
|
|
/* 02C64EAC */ cpu->r[3] = cpu->r[31];
|
|
/* 02C64EB0 */ Gambit_fn_02C65524(cpu);
|
|
/* 02C64EB4 */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 02C64EB4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02C64EB8 */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C64EB8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02C64EBC */ cpu->lr = cpu->r[0];
|
|
/* 02C64EC0 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C64EC4 */ return;
|
|
}
|
|
|
|
// fn_02C64EC8 @ 0x2c64ec8
|
|
void Gambit_fn_02C64EC8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4;
|
|
|
|
L_02C64EC8: ; // 0x2c64ec8
|
|
/* 02C64EC8 */ cpu->r[0] = cpu->lr;
|
|
/* 02C64ECC */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C64ECC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C64ECC */ cpu->r[1] = _t0;
|
|
/* 02C64ED0 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C64ED0 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02C64ED4 */ cpu->r[31] = cpu->r[3] + 0x00000004u;
|
|
/* 02C64ED8 */ cpu->r[4] = 0x00000000u;
|
|
/* 02C64EDC */ cpu->r[3] = cpu->r[31];
|
|
/* 02C64EE0 */ cpu->r[5] = cpu->r[4];
|
|
/* 02C64EE4 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02C64EE4 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02C64EE8 */ Gambit_fn_02C6557C(cpu);
|
|
/* 02C64EEC */ cpu->r[3] = cpu->r[31];
|
|
/* 02C64EF0 */ Gambit_fn_02C65AC4(cpu);
|
|
/* 02C64EF4 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02C64EF4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02C64EF8 */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C64EF8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02C64EFC */ cpu->lr = cpu->r[0];
|
|
/* 02C64F00 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C64F04 */ return;
|
|
}
|
|
|
|
// fn_02C64ECC @ 0x2c64ecc
|
|
void Gambit_fn_02C64ECC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4;
|
|
|
|
L_02C64ECC: ; // 0x2c64ecc
|
|
/* 02C64ECC */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C64ECC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C64ECC */ cpu->r[1] = _t0;
|
|
/* 02C64ED0 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C64ED0 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02C64ED4 */ cpu->r[31] = cpu->r[3] + 0x00000004u;
|
|
/* 02C64ED8 */ cpu->r[4] = 0x00000000u;
|
|
/* 02C64EDC */ cpu->r[3] = cpu->r[31];
|
|
/* 02C64EE0 */ cpu->r[5] = cpu->r[4];
|
|
/* 02C64EE4 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02C64EE4 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02C64EE8 */ Gambit_fn_02C6557C(cpu);
|
|
/* 02C64EEC */ cpu->r[3] = cpu->r[31];
|
|
/* 02C64EF0 */ Gambit_fn_02C65AC4(cpu);
|
|
/* 02C64EF4 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02C64EF4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02C64EF8 */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C64EF8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02C64EFC */ cpu->lr = cpu->r[0];
|
|
/* 02C64F00 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C64F04 */ return;
|
|
}
|
|
|
|
// fn_02C64F08 @ 0x2c64f08
|
|
void Gambit_fn_02C64F08(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_02C64F08: ; // 0x2c64f08
|
|
/* 02C64F08 */ cpu->r[0] = cpu->lr;
|
|
/* 02C64F0C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C64F0C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C64F0C */ cpu->r[1] = _t0;
|
|
/* 02C64F10 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C64F10 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02C64F14 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02C64F14 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02C64F18 */ _t3 = cpu->r[3] + 0x00000004u;
|
|
/* 02C64F18 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02C64F1C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C64F20 */ cpu->r[31] = cpu->r[3] + 0x00000004u;
|
|
/* 02C64F24 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C64F24 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02C64F24 */ if (_t5) goto L_02C64F28; else goto L_02C64FAC;
|
|
L_02C64F28: ; // 0x2c64f28
|
|
/* 02C64F28 */ _t6 = cpu->r[3] + 0x00000000u;
|
|
/* 02C64F28 */ cpu->r[7] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02C64F2C */ cpu->r[0] = 0x00000000u;
|
|
/* 02C64F30 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 02C64F34 */ _t7 = cpu->r[4] + 0x00000024u;
|
|
/* 02C64F34 */ cpu->r[8] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02C64F38 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C64F38 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02C64F38 */ if (_t9) goto L_02C64F44; else goto L_02C64F3C;
|
|
L_02C64F3C: ; // 0x2c64f3c
|
|
/* 02C64F3C */ cpu->r[9] = cpu->r[3] + cpu->r[7];
|
|
/* 02C64F40 */ cpu->r[0] = cpu->r[9] + 0xFFFFFFFCu;
|
|
L_02C64F44: ; // 0x2c64f44
|
|
/* 02C64F44 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 02C64F48 */ cpu->r[10] = cpu->r[4] + 0x00000024u;
|
|
/* 02C64F4C */ cpu->r[3] = 0x00000000u;
|
|
/* 02C64F50 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C64F50 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02C64F50 */ if (_t11) goto L_02C64F58; else goto L_02C64F54;
|
|
L_02C64F54: ; // 0x2c64f54
|
|
/* 02C64F54 */ cpu->r[3] = cpu->r[10] + cpu->r[8];
|
|
L_02C64F58: ; // 0x2c64f58
|
|
/* 02C64F58 */ cpu->r[4] = cpu->r[0];
|
|
/* 02C64F5C */ Gambit_fn_02C605E4(cpu);
|
|
/* 02C64F60 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C64F64 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C64F64 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02C64F64 */ if (_t13) goto L_02C64F94; else goto L_02C64F68;
|
|
L_02C64F68: ; // 0x2c64f68
|
|
/* 02C64F68 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C64F6C */ cpu->r[6] = 0x00000000u;
|
|
/* 02C64F70 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C64F70 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02C64F70 */ if (_t15) goto L_02C64F78; else goto L_02C64F74;
|
|
L_02C64F74: ; // 0x2c64f74
|
|
/* 02C64F74 */ cpu->r[6] = cpu->r[3] - cpu->r[31];
|
|
L_02C64F78: ; // 0x2c64f78
|
|
/* 02C64F78 */ _t16 = cpu->r[31] + 0x00000000u;
|
|
/* 02C64F78 */ rbrew_write32(cpu->mem, _t16, cpu->r[6]);
|
|
/* 02C64F7C */ _t17 = cpu->r[1] + 0x00000014u;
|
|
/* 02C64F7C */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02C64F80 */ _t18 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C64F80 */ cpu->r[31] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02C64F84 */ cpu->lr = cpu->r[0];
|
|
/* 02C64F88 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C64F8C */ cpu->r[3] = 0x00010000u;
|
|
/* 02C64F90 */ return;
|
|
L_02C64F94: ; // 0x2c64f94
|
|
/* 02C64F94 */ _t19 = cpu->r[1] + 0x00000014u;
|
|
/* 02C64F94 */ cpu->r[0] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02C64F98 */ _t20 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C64F98 */ cpu->r[31] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02C64F9C */ cpu->lr = cpu->r[0];
|
|
/* 02C64FA0 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C64FA4 */ cpu->r[3] = 0x00000001u;
|
|
/* 02C64FA8 */ return;
|
|
L_02C64FAC: ; // 0x2c64fac
|
|
/* 02C64FAC */ _t21 = cpu->r[1] + 0x00000014u;
|
|
/* 02C64FAC */ cpu->r[0] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02C64FB0 */ _t22 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C64FB0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02C64FB4 */ cpu->lr = cpu->r[0];
|
|
/* 02C64FB8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C64FBC */ cpu->r[3] = 0x00000000u;
|
|
/* 02C64FC0 */ return;
|
|
}
|
|
|
|
// fn_02C64F0C @ 0x2c64f0c
|
|
void Gambit_fn_02C64F0C(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_02C64F0C: ; // 0x2c64f0c
|
|
/* 02C64F0C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C64F0C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C64F0C */ cpu->r[1] = _t0;
|
|
/* 02C64F10 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C64F10 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02C64F14 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02C64F14 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02C64F18 */ _t3 = cpu->r[3] + 0x00000004u;
|
|
/* 02C64F18 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02C64F1C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C64F20 */ cpu->r[31] = cpu->r[3] + 0x00000004u;
|
|
/* 02C64F24 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C64F24 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02C64F24 */ if (_t5) goto L_02C64F28; else goto L_02C64FAC;
|
|
L_02C64F28: ; // 0x2c64f28
|
|
/* 02C64F28 */ _t6 = cpu->r[3] + 0x00000000u;
|
|
/* 02C64F28 */ cpu->r[7] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02C64F2C */ cpu->r[0] = 0x00000000u;
|
|
/* 02C64F30 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 02C64F34 */ _t7 = cpu->r[4] + 0x00000024u;
|
|
/* 02C64F34 */ cpu->r[8] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02C64F38 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C64F38 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02C64F38 */ if (_t9) goto L_02C64F44; else goto L_02C64F3C;
|
|
L_02C64F3C: ; // 0x2c64f3c
|
|
/* 02C64F3C */ cpu->r[9] = cpu->r[3] + cpu->r[7];
|
|
/* 02C64F40 */ cpu->r[0] = cpu->r[9] + 0xFFFFFFFCu;
|
|
L_02C64F44: ; // 0x2c64f44
|
|
/* 02C64F44 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 02C64F48 */ cpu->r[10] = cpu->r[4] + 0x00000024u;
|
|
/* 02C64F4C */ cpu->r[3] = 0x00000000u;
|
|
/* 02C64F50 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C64F50 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02C64F50 */ if (_t11) goto L_02C64F58; else goto L_02C64F54;
|
|
L_02C64F54: ; // 0x2c64f54
|
|
/* 02C64F54 */ cpu->r[3] = cpu->r[10] + cpu->r[8];
|
|
L_02C64F58: ; // 0x2c64f58
|
|
/* 02C64F58 */ cpu->r[4] = cpu->r[0];
|
|
/* 02C64F5C */ Gambit_fn_02C605E4(cpu);
|
|
/* 02C64F60 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C64F64 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C64F64 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02C64F64 */ if (_t13) goto L_02C64F94; else goto L_02C64F68;
|
|
L_02C64F68: ; // 0x2c64f68
|
|
/* 02C64F68 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C64F6C */ cpu->r[6] = 0x00000000u;
|
|
/* 02C64F70 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C64F70 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02C64F70 */ if (_t15) goto L_02C64F78; else goto L_02C64F74;
|
|
L_02C64F74: ; // 0x2c64f74
|
|
/* 02C64F74 */ cpu->r[6] = cpu->r[3] - cpu->r[31];
|
|
L_02C64F78: ; // 0x2c64f78
|
|
/* 02C64F78 */ _t16 = cpu->r[31] + 0x00000000u;
|
|
/* 02C64F78 */ rbrew_write32(cpu->mem, _t16, cpu->r[6]);
|
|
/* 02C64F7C */ _t17 = cpu->r[1] + 0x00000014u;
|
|
/* 02C64F7C */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02C64F80 */ _t18 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C64F80 */ cpu->r[31] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02C64F84 */ cpu->lr = cpu->r[0];
|
|
/* 02C64F88 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C64F8C */ cpu->r[3] = 0x00010000u;
|
|
/* 02C64F90 */ return;
|
|
L_02C64F94: ; // 0x2c64f94
|
|
/* 02C64F94 */ _t19 = cpu->r[1] + 0x00000014u;
|
|
/* 02C64F94 */ cpu->r[0] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02C64F98 */ _t20 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C64F98 */ cpu->r[31] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02C64F9C */ cpu->lr = cpu->r[0];
|
|
/* 02C64FA0 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C64FA4 */ cpu->r[3] = 0x00000001u;
|
|
/* 02C64FA8 */ return;
|
|
L_02C64FAC: ; // 0x2c64fac
|
|
/* 02C64FAC */ _t21 = cpu->r[1] + 0x00000014u;
|
|
/* 02C64FAC */ cpu->r[0] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02C64FB0 */ _t22 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C64FB0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02C64FB4 */ cpu->lr = cpu->r[0];
|
|
/* 02C64FB8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C64FBC */ cpu->r[3] = 0x00000000u;
|
|
/* 02C64FC0 */ return;
|
|
}
|
|
|
|
// fn_02C64FC4 @ 0x2c64fc4
|
|
void Gambit_fn_02C64FC4(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_02C64FC4: ; // 0x2c64fc4
|
|
/* 02C64FC4 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 02C64FC4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C64FC4 */ cpu->r[1] = _t0;
|
|
/* 02C64FC8 */ /* nop */
|
|
/* 02C64FCC */ cpu->r[0] = cpu->lr;
|
|
/* 02C64FD0 */ _t1 = cpu->r[1] + 0x00000024u;
|
|
/* 02C64FD0 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02C64FD4 */ cpu->r[30] = cpu->r[3];
|
|
/* 02C64FD8 */ _t2 = cpu->r[30] + 0x0000000Cu;
|
|
/* 02C64FD8 */ cpu->r[0] = rbrew_read16(cpu->mem, _t2);
|
|
/* 02C64FDC */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02C64FDC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02C64FE0 */ cpu->r[31] = 0x00000000u;
|
|
/* 02C64FE4 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C64FE4 */ _t4 = _t3 & 0x00000001u;
|
|
/* 02C64FE4 */ if (_t4) goto L_02C65084; else goto L_02C64FE8;
|
|
L_02C64FE8: ; // 0x2c64fe8
|
|
/* 02C64FE8 */ _t5 = cpu->r[30] + 0x00000016u;
|
|
/* 02C64FE8 */ cpu->r[27] = rbrew_read16(cpu->mem, _t5);
|
|
/* 02C64FEC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 02C64FF0 */ cpu->r[26] = 0x00000000u;
|
|
/* 02C64FF4 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C64FF4 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02C64FF4 */ if (_t7) goto L_02C6507C; else goto L_02C64FF8;
|
|
L_02C64FF8: ; // 0x2c64ff8
|
|
/* 02C64FF8 */ cpu->r[29] = cpu->r[30] + 0x00000028u;
|
|
/* 02C64FFC */ cpu->r[28] = 0x00000000u;
|
|
L_02C65000: ; // 0x2c65000
|
|
/* 02C65000 */ _t8 = cpu->r[29] + 0x00000000u;
|
|
/* 02C65000 */ cpu->r[8] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C65004 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 02C65008 */ cpu->r[7] = 0x00000000u;
|
|
/* 02C6500C */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6500C */ _t10 = _t9 & 0x00000001u;
|
|
/* 02C6500C */ if (_t10) goto L_02C65014; else goto L_02C65010;
|
|
L_02C65010: ; // 0x2c65010
|
|
/* 02C65010 */ cpu->r[7] = cpu->r[29] + cpu->r[8];
|
|
L_02C65014: ; // 0x2c65014
|
|
/* 02C65014 */ _t11 = cpu->r[7] + cpu->r[28];
|
|
/* 02C65014 */ cpu->r[5] = rbrew_read16(cpu->mem, _t11);
|
|
/* 02C65018 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u);
|
|
/* 02C6501C */ cpu->r[3] = cpu->r[7] + cpu->r[28];
|
|
/* 02C65020 */ cpu->r[0] = rbrew_rlwinm(cpu->r[5], 0x00000000u, 0x00000019u, 0x0000001Bu);
|
|
/* 02C65024 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C65024 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02C65024 */ if (_t13) goto L_02C65028; else goto L_02C6504C;
|
|
L_02C65028: ; // 0x2c65028
|
|
/* 02C65028 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000070u);
|
|
/* 02C6502C */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6502C */ _t15 = _t14 & 0x00000001u;
|
|
/* 02C6502C */ if (_t15) goto L_02C65030; else goto L_02C6504C;
|
|
L_02C65030: ; // 0x2c65030
|
|
/* 02C65030 */ _t16 = cpu->r[3] + 0x00000020u;
|
|
/* 02C65030 */ cpu->r[10] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02C65034 */ cpu->r[9] = cpu->r[3] + 0x00000020u;
|
|
/* 02C65038 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02C6503C */ cpu->r[31] = 0x00000000u;
|
|
/* 02C65040 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C65040 */ _t18 = _t17 & 0x00000001u;
|
|
/* 02C65040 */ if (_t18) goto L_02C65048; else goto L_02C65044;
|
|
L_02C65044: ; // 0x2c65044
|
|
/* 02C65044 */ cpu->r[31] = cpu->r[9] + cpu->r[10];
|
|
L_02C65048: ; // 0x2c65048
|
|
/* 02C65048 */ cpu->r[26] = 0x00000001u;
|
|
L_02C6504C: ; // 0x2c6504c
|
|
/* 02C6504C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000040u);
|
|
/* 02C65050 */ _t19 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C65050 */ _t20 = _t19 & 0x00000001u;
|
|
/* 02C65050 */ if (_t20) goto L_02C65054; else goto L_02C65068;
|
|
L_02C65054: ; // 0x2c65054
|
|
/* 02C65054 */ Gambit_fn_02C5F538(cpu);
|
|
/* 02C65058 */ cpu->r[27] = cpu->r[27] + 0xFFFFFFFFu;
|
|
/* 02C65058 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 02C6505C */ cpu->r[28] = cpu->r[28] + 0x00000024u;
|
|
/* 02C65060 */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C65060 */ _t22 = _t21 & 0x00000001u;
|
|
/* 02C65060 */ if (_t22) goto L_02C65064; else goto L_02C65000;
|
|
L_02C65064: ; // 0x2c65064
|
|
/* 02C65064 */ goto L_02C65078;
|
|
L_02C65068: ; // 0x2c65068
|
|
/* 02C65068 */ Gambit_fn_02C5F5DC(cpu);
|
|
/* 02C6506C */ cpu->r[27] = cpu->r[27] + 0xFFFFFFFFu;
|
|
/* 02C6506C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 02C65070 */ cpu->r[28] = cpu->r[28] + 0x00000024u;
|
|
/* 02C65074 */ _t23 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C65074 */ _t24 = _t23 & 0x00000001u;
|
|
/* 02C65074 */ if (_t24) goto L_02C65078; else goto L_02C65000;
|
|
L_02C65078: ; // 0x2c65078
|
|
/* 02C65078 */ _t25 = cpu->r[30] + 0x0000000Cu;
|
|
/* 02C65078 */ cpu->r[0] = rbrew_read16(cpu->mem, _t25);
|
|
L_02C6507C: ; // 0x2c6507c
|
|
/* 02C6507C */ cpu->r[0] = cpu->r[0] ^ 0x00000001u;
|
|
/* 02C65080 */ _t26 = cpu->r[30] + 0x0000000Cu;
|
|
/* 02C65080 */ rbrew_write16(cpu->mem, _t26, (uint16_t)cpu->r[0]);
|
|
L_02C65084: ; // 0x2c65084
|
|
/* 02C65084 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C65088 */ /* nop */
|
|
/* 02C6508C */ _t27 = cpu->r[1] + 0x00000024u;
|
|
/* 02C6508C */ cpu->r[0] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02C65090 */ cpu->lr = cpu->r[0];
|
|
/* 02C65094 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02C65098 */ return;
|
|
}
|
|
|
|
// fn_02C6509C @ 0x2c6509c
|
|
void Gambit_fn_02C6509C(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;
|
|
|
|
L_02C64FC4: ; // 0x2c64fc4
|
|
/* 02C64FC4 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 02C64FC4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C64FC4 */ cpu->r[1] = _t0;
|
|
/* 02C64FC8 */ /* nop */
|
|
/* 02C64FCC */ cpu->r[0] = cpu->lr;
|
|
/* 02C64FD0 */ _t1 = cpu->r[1] + 0x00000024u;
|
|
/* 02C64FD0 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02C64FD4 */ cpu->r[30] = cpu->r[3];
|
|
/* 02C64FD8 */ _t2 = cpu->r[30] + 0x0000000Cu;
|
|
/* 02C64FD8 */ cpu->r[0] = rbrew_read16(cpu->mem, _t2);
|
|
/* 02C64FDC */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02C64FDC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02C64FE0 */ cpu->r[31] = 0x00000000u;
|
|
/* 02C64FE4 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C64FE4 */ _t4 = _t3 & 0x00000001u;
|
|
/* 02C64FE4 */ if (_t4) goto L_02C65084; else goto L_02C64FE8;
|
|
L_02C64FE8: ; // 0x2c64fe8
|
|
/* 02C64FE8 */ _t5 = cpu->r[30] + 0x00000016u;
|
|
/* 02C64FE8 */ cpu->r[27] = rbrew_read16(cpu->mem, _t5);
|
|
/* 02C64FEC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 02C64FF0 */ cpu->r[26] = 0x00000000u;
|
|
/* 02C64FF4 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C64FF4 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02C64FF4 */ if (_t7) goto L_02C6507C; else goto L_02C64FF8;
|
|
L_02C64FF8: ; // 0x2c64ff8
|
|
/* 02C64FF8 */ cpu->r[29] = cpu->r[30] + 0x00000028u;
|
|
/* 02C64FFC */ cpu->r[28] = 0x00000000u;
|
|
L_02C65000: ; // 0x2c65000
|
|
/* 02C65000 */ _t8 = cpu->r[29] + 0x00000000u;
|
|
/* 02C65000 */ cpu->r[8] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C65004 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 02C65008 */ cpu->r[7] = 0x00000000u;
|
|
/* 02C6500C */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6500C */ _t10 = _t9 & 0x00000001u;
|
|
/* 02C6500C */ if (_t10) goto L_02C65014; else goto L_02C65010;
|
|
L_02C65010: ; // 0x2c65010
|
|
/* 02C65010 */ cpu->r[7] = cpu->r[29] + cpu->r[8];
|
|
L_02C65014: ; // 0x2c65014
|
|
/* 02C65014 */ _t11 = cpu->r[7] + cpu->r[28];
|
|
/* 02C65014 */ cpu->r[5] = rbrew_read16(cpu->mem, _t11);
|
|
/* 02C65018 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u);
|
|
/* 02C6501C */ cpu->r[3] = cpu->r[7] + cpu->r[28];
|
|
/* 02C65020 */ cpu->r[0] = rbrew_rlwinm(cpu->r[5], 0x00000000u, 0x00000019u, 0x0000001Bu);
|
|
/* 02C65024 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C65024 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02C65024 */ if (_t13) goto L_02C65028; else goto L_02C6504C;
|
|
L_02C65028: ; // 0x2c65028
|
|
/* 02C65028 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000070u);
|
|
/* 02C6502C */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6502C */ _t15 = _t14 & 0x00000001u;
|
|
/* 02C6502C */ if (_t15) goto L_02C65030; else goto L_02C6504C;
|
|
L_02C65030: ; // 0x2c65030
|
|
/* 02C65030 */ _t16 = cpu->r[3] + 0x00000020u;
|
|
/* 02C65030 */ cpu->r[10] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02C65034 */ cpu->r[9] = cpu->r[3] + 0x00000020u;
|
|
/* 02C65038 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02C6503C */ cpu->r[31] = 0x00000000u;
|
|
/* 02C65040 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C65040 */ _t18 = _t17 & 0x00000001u;
|
|
/* 02C65040 */ if (_t18) goto L_02C65048; else goto L_02C65044;
|
|
L_02C65044: ; // 0x2c65044
|
|
/* 02C65044 */ cpu->r[31] = cpu->r[9] + cpu->r[10];
|
|
L_02C65048: ; // 0x2c65048
|
|
/* 02C65048 */ cpu->r[26] = 0x00000001u;
|
|
L_02C6504C: ; // 0x2c6504c
|
|
/* 02C6504C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000040u);
|
|
/* 02C65050 */ _t19 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C65050 */ _t20 = _t19 & 0x00000001u;
|
|
/* 02C65050 */ if (_t20) goto L_02C65054; else goto L_02C65068;
|
|
L_02C65054: ; // 0x2c65054
|
|
/* 02C65054 */ Gambit_fn_02C5F538(cpu);
|
|
/* 02C65058 */ cpu->r[27] = cpu->r[27] + 0xFFFFFFFFu;
|
|
/* 02C65058 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 02C6505C */ cpu->r[28] = cpu->r[28] + 0x00000024u;
|
|
/* 02C65060 */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C65060 */ _t22 = _t21 & 0x00000001u;
|
|
/* 02C65060 */ if (_t22) goto L_02C65064; else goto L_02C65000;
|
|
L_02C65064: ; // 0x2c65064
|
|
/* 02C65064 */ goto L_02C65078;
|
|
L_02C65068: ; // 0x2c65068
|
|
/* 02C65068 */ Gambit_fn_02C5F5DC(cpu);
|
|
/* 02C6506C */ cpu->r[27] = cpu->r[27] + 0xFFFFFFFFu;
|
|
/* 02C6506C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 02C65070 */ cpu->r[28] = cpu->r[28] + 0x00000024u;
|
|
/* 02C65074 */ _t23 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C65074 */ _t24 = _t23 & 0x00000001u;
|
|
/* 02C65074 */ if (_t24) goto L_02C65078; else goto L_02C65000;
|
|
L_02C65078: ; // 0x2c65078
|
|
/* 02C65078 */ _t25 = cpu->r[30] + 0x0000000Cu;
|
|
/* 02C65078 */ cpu->r[0] = rbrew_read16(cpu->mem, _t25);
|
|
L_02C6507C: ; // 0x2c6507c
|
|
/* 02C6507C */ cpu->r[0] = cpu->r[0] ^ 0x00000001u;
|
|
/* 02C65080 */ _t26 = cpu->r[30] + 0x0000000Cu;
|
|
/* 02C65080 */ rbrew_write16(cpu->mem, _t26, (uint16_t)cpu->r[0]);
|
|
L_02C65084: ; // 0x2c65084
|
|
/* 02C65084 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C65088 */ /* nop */
|
|
/* 02C6508C */ _t27 = cpu->r[1] + 0x00000024u;
|
|
/* 02C6508C */ cpu->r[0] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02C65090 */ cpu->lr = cpu->r[0];
|
|
/* 02C65094 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02C65098 */ return;
|
|
L_02C6509C: ; // 0x2c6509c
|
|
/* 02C6509C */ _t28 = cpu->r[3] + 0x00000020u;
|
|
/* 02C6509C */ cpu->r[0] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02C650A0 */ cpu->r[10] = 0x00000000u;
|
|
/* 02C650A4 */ cpu->r[11] = cpu->r[3] + 0x00000020u;
|
|
/* 02C650A8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C650AC */ _t29 = cpu->r[3] + 0x0000001Cu;
|
|
/* 02C650AC */ rbrew_write32(cpu->mem, _t29, cpu->r[10]);
|
|
/* 02C650B0 */ _t30 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C650B0 */ _t31 = _t30 & 0x00000001u;
|
|
/* 02C650B0 */ if (_t31) goto L_02C650B8; else goto L_02C650B4;
|
|
L_02C650B4: ; // 0x2c650b4
|
|
/* 02C650B4 */ cpu->r[10] = cpu->r[11] + cpu->r[0];
|
|
L_02C650B8: ; // 0x2c650b8
|
|
/* 02C650B8 */ _t32 = cpu->r[3] + 0x00000014u;
|
|
/* 02C650B8 */ cpu->r[0] = rbrew_read16(cpu->mem, _t32);
|
|
/* 02C650BC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C650C0 */ _t33 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C650C0 */ _t34 = _t33 & 0x00000001u;
|
|
/* 02C650C0 */ if (_t34) goto L_02C650DC; else goto L_02C650C4;
|
|
L_02C650C4: ; // 0x2c650c4
|
|
/* 02C650C4 */ cpu->r[12] = 0x00010000u;
|
|
/* 02C650C8 */ cpu->ctr = cpu->r[0];
|
|
/* 02C650CC */ cpu->r[11] = cpu->r[10] + 0xFFFFFFFEu;
|
|
/* 02C650D0 */ cpu->r[12] = cpu->r[12] + 0xFFFFFFFFu;
|
|
L_02C650D4: ; // 0x2c650d4
|
|
/* 02C650D4 */ _t35 = cpu->r[11] + 0x00000002u;
|
|
/* 02C650D4 */ rbrew_write16(cpu->mem, _t35, (uint16_t)cpu->r[12]);
|
|
/* 02C650D4 */ cpu->r[11] = _t35;
|
|
/* 02C650D8 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02C650D8 */ _t36 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02C650D8 */ _t37 = _t36 >> (0x00000002u & 31u);
|
|
/* 02C650D8 */ _t38 = _t37 & 0x00000001u;
|
|
/* 02C650D8 */ if (_t38) goto L_02C650D4; else goto L_02C650DC;
|
|
L_02C650DC: ; // 0x2c650dc
|
|
/* 02C650DC */ goto L_02C64FC4;
|
|
}
|
|
|
|
// fn_02C650E0 @ 0x2c650e0
|
|
void Gambit_fn_02C650E0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2;
|
|
|
|
L_02C650E0: ; // 0x2c650e0
|
|
/* 02C650E0 */ cpu->r[0] = cpu->lr;
|
|
/* 02C650E4 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 02C650E4 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 02C650E8 */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02C650E8 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 02C650E8 */ cpu->r[1] = _t1;
|
|
/* 02C650EC */ rbrew_dispatch(cpu, 0x02d0ac58u);
|
|
/* 02C650F0 */ cpu->r[0] = cpu->r[3] + 0xFFFFFFFFu;
|
|
/* 02C650F4 */ cpu->r[3] = cpu->r[3] - cpu->r[0];
|
|
/* 02C650F8 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C650F8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02C650FC */ cpu->lr = cpu->r[0];
|
|
/* 02C65100 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02C65104 */ return;
|
|
}
|
|
|
|
// fn_02C650E8 @ 0x2c650e8
|
|
void Gambit_fn_02C650E8(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_02C650E8: ; // 0x2c650e8
|
|
/* 02C650E8 */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02C650E8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C650E8 */ cpu->r[1] = _t0;
|
|
/* 02C650EC */ rbrew_dispatch(cpu, 0x02d0ac58u);
|
|
/* 02C650F0 */ cpu->r[0] = cpu->r[3] + 0xFFFFFFFFu;
|
|
/* 02C650F4 */ cpu->r[3] = cpu->r[3] - cpu->r[0];
|
|
/* 02C650F8 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C650F8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02C650FC */ cpu->lr = cpu->r[0];
|
|
/* 02C65100 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02C65104 */ return;
|
|
}
|
|
|
|
// fn_02C65108 @ 0x2c65108
|
|
void Gambit_fn_02C65108(CPUState* cpu) {
|
|
L_02C65108: ; // 0x2c65108
|
|
/* 02C65108 */ rbrew_dispatch(cpu, 0x02d09350u); return;
|
|
}
|
|
|
|
// fn_02C6510C @ 0x2c6510c
|
|
void Gambit_fn_02C6510C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16;
|
|
|
|
L_02C6510C: ; // 0x2c6510c
|
|
/* 02C6510C */ cpu->r[0] = cpu->lr;
|
|
/* 02C65110 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02C65110 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C65110 */ cpu->r[1] = _t0;
|
|
/* 02C65114 */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 02C65114 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02C65118 */ cpu->r[30] = cpu->r[4];
|
|
/* 02C6511C */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02C6511C */ rbrew_write32(cpu->mem, _t2, cpu->r[28]);
|
|
/* 02C65120 */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C65120 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 02C65124 */ cpu->r[28] = cpu->r[5];
|
|
/* 02C65124 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 02C65128 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 02C65128 */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
|
|
/* 02C6512C */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C6512C */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02C65130 */ cpu->r[0] = cpu->r[28] + 0x0000007Fu;
|
|
/* 02C65134 */ cpu->r[29] = cpu->r[3];
|
|
/* 02C65138 */ cpu->r[31] = rbrew_rlwinm(cpu->r[0], 0x00000019u, 0x00000007u, 0x0000001Fu);
|
|
/* 02C6513C */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6513C */ _t7 = _t6 & 0x00000001u;
|
|
/* 02C6513C */ if (_t7) goto L_02C65174; else goto L_02C65140;
|
|
L_02C65140: ; // 0x2c65140
|
|
/* 02C65140 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[28], 0x00000080u);
|
|
/* 02C65144 */ cpu->r[4] = cpu->r[30];
|
|
/* 02C65148 */ cpu->r[3] = cpu->r[29];
|
|
/* 02C6514C */ _t8 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C6514C */ _t9 = _t8 & 0x00000001u;
|
|
/* 02C6514C */ if (_t9) goto L_02C65150; else goto L_02C6515C;
|
|
L_02C65150: ; // 0x2c65150
|
|
/* 02C65150 */ cpu->r[5] = cpu->r[28];
|
|
/* 02C65154 */ rbrew_dispatch(cpu, 0x02d09db8u);
|
|
/* 02C65158 */ goto L_02C65174;
|
|
L_02C6515C: ; // 0x2c6515c
|
|
/* 02C6515C */ cpu->r[5] = 0x00000000u;
|
|
/* 02C65160 */ rbrew_dispatch(cpu, 0x02d09db8u);
|
|
/* 02C65164 */ cpu->r[28] = cpu->r[28] + 0xFFFFFF80u;
|
|
/* 02C65164 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 02C65168 */ cpu->r[30] = cpu->r[30] + 0x00001000u;
|
|
/* 02C6516C */ cpu->r[29] = cpu->r[29] + 0x00001000u;
|
|
/* 02C65170 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C65170 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02C65170 */ if (_t11) goto L_02C65174; else goto L_02C65140;
|
|
L_02C65174: ; // 0x2c65174
|
|
/* 02C65174 */ _t12 = cpu->r[1] + 0x00000008u;
|
|
/* 02C65174 */ cpu->r[28] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02C65178 */ _t13 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C65178 */ cpu->r[29] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02C6517C */ _t14 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C6517C */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02C65180 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C65184 */ _t15 = cpu->r[1] + 0x00000010u;
|
|
/* 02C65184 */ cpu->r[30] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02C65188 */ cpu->lr = cpu->r[0];
|
|
/* 02C6518C */ _t16 = cpu->r[1] + 0x00000014u;
|
|
/* 02C6518C */ cpu->r[31] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02C65190 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C65194 */ return;
|
|
}
|
|
|
|
// fn_02C65110 @ 0x2c65110
|
|
void Gambit_fn_02C65110(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16;
|
|
|
|
L_02C65110: ; // 0x2c65110
|
|
/* 02C65110 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02C65110 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C65110 */ cpu->r[1] = _t0;
|
|
/* 02C65114 */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 02C65114 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02C65118 */ cpu->r[30] = cpu->r[4];
|
|
/* 02C6511C */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02C6511C */ rbrew_write32(cpu->mem, _t2, cpu->r[28]);
|
|
/* 02C65120 */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C65120 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 02C65124 */ cpu->r[28] = cpu->r[5];
|
|
/* 02C65124 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 02C65128 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 02C65128 */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
|
|
/* 02C6512C */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C6512C */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02C65130 */ cpu->r[0] = cpu->r[28] + 0x0000007Fu;
|
|
/* 02C65134 */ cpu->r[29] = cpu->r[3];
|
|
/* 02C65138 */ cpu->r[31] = rbrew_rlwinm(cpu->r[0], 0x00000019u, 0x00000007u, 0x0000001Fu);
|
|
/* 02C6513C */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6513C */ _t7 = _t6 & 0x00000001u;
|
|
/* 02C6513C */ if (_t7) goto L_02C65174; else goto L_02C65140;
|
|
L_02C65140: ; // 0x2c65140
|
|
/* 02C65140 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[28], 0x00000080u);
|
|
/* 02C65144 */ cpu->r[4] = cpu->r[30];
|
|
/* 02C65148 */ cpu->r[3] = cpu->r[29];
|
|
/* 02C6514C */ _t8 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C6514C */ _t9 = _t8 & 0x00000001u;
|
|
/* 02C6514C */ if (_t9) goto L_02C65150; else goto L_02C6515C;
|
|
L_02C65150: ; // 0x2c65150
|
|
/* 02C65150 */ cpu->r[5] = cpu->r[28];
|
|
/* 02C65154 */ rbrew_dispatch(cpu, 0x02d09db8u);
|
|
/* 02C65158 */ goto L_02C65174;
|
|
L_02C6515C: ; // 0x2c6515c
|
|
/* 02C6515C */ cpu->r[5] = 0x00000000u;
|
|
/* 02C65160 */ rbrew_dispatch(cpu, 0x02d09db8u);
|
|
/* 02C65164 */ cpu->r[28] = cpu->r[28] + 0xFFFFFF80u;
|
|
/* 02C65164 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 02C65168 */ cpu->r[30] = cpu->r[30] + 0x00001000u;
|
|
/* 02C6516C */ cpu->r[29] = cpu->r[29] + 0x00001000u;
|
|
/* 02C65170 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C65170 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02C65170 */ if (_t11) goto L_02C65174; else goto L_02C65140;
|
|
L_02C65174: ; // 0x2c65174
|
|
/* 02C65174 */ _t12 = cpu->r[1] + 0x00000008u;
|
|
/* 02C65174 */ cpu->r[28] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02C65178 */ _t13 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C65178 */ cpu->r[29] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02C6517C */ _t14 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C6517C */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02C65180 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C65184 */ _t15 = cpu->r[1] + 0x00000010u;
|
|
/* 02C65184 */ cpu->r[30] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02C65188 */ cpu->lr = cpu->r[0];
|
|
/* 02C6518C */ _t16 = cpu->r[1] + 0x00000014u;
|
|
/* 02C6518C */ cpu->r[31] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02C65190 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C65194 */ return;
|
|
}
|
|
|
|
// fn_02C65198 @ 0x2c65198
|
|
void Gambit_fn_02C65198(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16;
|
|
|
|
L_02C65198: ; // 0x2c65198
|
|
/* 02C65198 */ cpu->r[0] = cpu->lr;
|
|
/* 02C6519C */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02C6519C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C6519C */ cpu->r[1] = _t0;
|
|
/* 02C651A0 */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 02C651A0 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02C651A4 */ cpu->r[30] = cpu->r[4];
|
|
/* 02C651A8 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02C651A8 */ rbrew_write32(cpu->mem, _t2, cpu->r[28]);
|
|
/* 02C651AC */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C651AC */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 02C651B0 */ cpu->r[28] = cpu->r[5];
|
|
/* 02C651B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 02C651B4 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 02C651B4 */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
|
|
/* 02C651B8 */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C651B8 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02C651BC */ cpu->r[0] = cpu->r[28] + 0x0000007Fu;
|
|
/* 02C651C0 */ cpu->r[29] = cpu->r[3];
|
|
/* 02C651C4 */ cpu->r[31] = rbrew_rlwinm(cpu->r[0], 0x00000019u, 0x00000007u, 0x0000001Fu);
|
|
/* 02C651C8 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C651C8 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02C651C8 */ if (_t7) goto L_02C65200; else goto L_02C651CC;
|
|
L_02C651CC: ; // 0x2c651cc
|
|
/* 02C651CC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[28], 0x00000080u);
|
|
/* 02C651D0 */ cpu->r[4] = cpu->r[30];
|
|
/* 02C651D4 */ cpu->r[3] = cpu->r[29];
|
|
/* 02C651D8 */ _t8 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C651D8 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02C651D8 */ if (_t9) goto L_02C651DC; else goto L_02C651E8;
|
|
L_02C651DC: ; // 0x2c651dc
|
|
/* 02C651DC */ cpu->r[5] = cpu->r[28];
|
|
/* 02C651E0 */ rbrew_dispatch(cpu, 0x02d09dc0u);
|
|
/* 02C651E4 */ goto L_02C65200;
|
|
L_02C651E8: ; // 0x2c651e8
|
|
/* 02C651E8 */ cpu->r[5] = 0x00000000u;
|
|
/* 02C651EC */ rbrew_dispatch(cpu, 0x02d09dc0u);
|
|
/* 02C651F0 */ cpu->r[28] = cpu->r[28] + 0xFFFFFF80u;
|
|
/* 02C651F0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 02C651F4 */ cpu->r[30] = cpu->r[30] + 0x00001000u;
|
|
/* 02C651F8 */ cpu->r[29] = cpu->r[29] + 0x00001000u;
|
|
/* 02C651FC */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C651FC */ _t11 = _t10 & 0x00000001u;
|
|
/* 02C651FC */ if (_t11) goto L_02C65200; else goto L_02C651CC;
|
|
L_02C65200: ; // 0x2c65200
|
|
/* 02C65200 */ _t12 = cpu->r[1] + 0x00000008u;
|
|
/* 02C65200 */ cpu->r[28] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02C65204 */ _t13 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C65204 */ cpu->r[29] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02C65208 */ _t14 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C65208 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02C6520C */ cpu->r[3] = cpu->r[31];
|
|
/* 02C65210 */ _t15 = cpu->r[1] + 0x00000010u;
|
|
/* 02C65210 */ cpu->r[30] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02C65214 */ cpu->lr = cpu->r[0];
|
|
/* 02C65218 */ _t16 = cpu->r[1] + 0x00000014u;
|
|
/* 02C65218 */ cpu->r[31] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02C6521C */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C65220 */ return;
|
|
}
|
|
|
|
// fn_02C6519C @ 0x2c6519c
|
|
void Gambit_fn_02C6519C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16;
|
|
|
|
L_02C6519C: ; // 0x2c6519c
|
|
/* 02C6519C */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02C6519C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C6519C */ cpu->r[1] = _t0;
|
|
/* 02C651A0 */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 02C651A0 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02C651A4 */ cpu->r[30] = cpu->r[4];
|
|
/* 02C651A8 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02C651A8 */ rbrew_write32(cpu->mem, _t2, cpu->r[28]);
|
|
/* 02C651AC */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C651AC */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 02C651B0 */ cpu->r[28] = cpu->r[5];
|
|
/* 02C651B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 02C651B4 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 02C651B4 */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
|
|
/* 02C651B8 */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C651B8 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02C651BC */ cpu->r[0] = cpu->r[28] + 0x0000007Fu;
|
|
/* 02C651C0 */ cpu->r[29] = cpu->r[3];
|
|
/* 02C651C4 */ cpu->r[31] = rbrew_rlwinm(cpu->r[0], 0x00000019u, 0x00000007u, 0x0000001Fu);
|
|
/* 02C651C8 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C651C8 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02C651C8 */ if (_t7) goto L_02C65200; else goto L_02C651CC;
|
|
L_02C651CC: ; // 0x2c651cc
|
|
/* 02C651CC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[28], 0x00000080u);
|
|
/* 02C651D0 */ cpu->r[4] = cpu->r[30];
|
|
/* 02C651D4 */ cpu->r[3] = cpu->r[29];
|
|
/* 02C651D8 */ _t8 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C651D8 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02C651D8 */ if (_t9) goto L_02C651DC; else goto L_02C651E8;
|
|
L_02C651DC: ; // 0x2c651dc
|
|
/* 02C651DC */ cpu->r[5] = cpu->r[28];
|
|
/* 02C651E0 */ rbrew_dispatch(cpu, 0x02d09dc0u);
|
|
/* 02C651E4 */ goto L_02C65200;
|
|
L_02C651E8: ; // 0x2c651e8
|
|
/* 02C651E8 */ cpu->r[5] = 0x00000000u;
|
|
/* 02C651EC */ rbrew_dispatch(cpu, 0x02d09dc0u);
|
|
/* 02C651F0 */ cpu->r[28] = cpu->r[28] + 0xFFFFFF80u;
|
|
/* 02C651F0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 02C651F4 */ cpu->r[30] = cpu->r[30] + 0x00001000u;
|
|
/* 02C651F8 */ cpu->r[29] = cpu->r[29] + 0x00001000u;
|
|
/* 02C651FC */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C651FC */ _t11 = _t10 & 0x00000001u;
|
|
/* 02C651FC */ if (_t11) goto L_02C65200; else goto L_02C651CC;
|
|
L_02C65200: ; // 0x2c65200
|
|
/* 02C65200 */ _t12 = cpu->r[1] + 0x00000008u;
|
|
/* 02C65200 */ cpu->r[28] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02C65204 */ _t13 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C65204 */ cpu->r[29] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02C65208 */ _t14 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C65208 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02C6520C */ cpu->r[3] = cpu->r[31];
|
|
/* 02C65210 */ _t15 = cpu->r[1] + 0x00000010u;
|
|
/* 02C65210 */ cpu->r[30] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02C65214 */ cpu->lr = cpu->r[0];
|
|
/* 02C65218 */ _t16 = cpu->r[1] + 0x00000014u;
|
|
/* 02C65218 */ cpu->r[31] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02C6521C */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C65220 */ return;
|
|
}
|
|
|
|
// fn_02C65224 @ 0x2c65224
|
|
void Gambit_fn_02C65224(CPUState* cpu) {
|
|
L_02C65224: ; // 0x2c65224
|
|
/* 02C65224 */ rbrew_dispatch(cpu, 0x02d09dc8u); return;
|
|
}
|
|
|
|
// fn_02C65228 @ 0x2c65228
|
|
void Gambit_fn_02C65228(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7;
|
|
|
|
L_02C65228: ; // 0x2c65228
|
|
/* 02C65228 */ cpu->r[0] = cpu->lr;
|
|
/* 02C6522C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C6522C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C6522C */ cpu->r[1] = _t0;
|
|
/* 02C65230 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C65230 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02C65234 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C65238 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02C65238 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02C6523C */ rbrew_dispatch(cpu, 0x02d0ab10u);
|
|
/* 02C65240 */ _t3 = cpu->r[3] + 0x00000000u;
|
|
/* 02C65240 */ cpu->r[12] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02C65244 */ cpu->r[0] = 0x00000000u;
|
|
/* 02C65248 */ _t4 = cpu->r[31] + 0x00000000u;
|
|
/* 02C65248 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02C6524C */ cpu->r[0] = rbrew_rlwinm(cpu->r[12], 0x0000001Eu, 0x00000002u, 0x0000001Fu);
|
|
/* 02C65250 */ _t5 = cpu->r[31] + 0x00000004u;
|
|
/* 02C65250 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02C65254 */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 02C65254 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02C65258 */ cpu->lr = cpu->r[0];
|
|
/* 02C6525C */ _t7 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C6525C */ cpu->r[31] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02C65260 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C65264 */ return;
|
|
}
|
|
|
|
// fn_02C6522C @ 0x2c6522c
|
|
void Gambit_fn_02C6522C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7;
|
|
|
|
L_02C6522C: ; // 0x2c6522c
|
|
/* 02C6522C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C6522C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C6522C */ cpu->r[1] = _t0;
|
|
/* 02C65230 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C65230 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02C65234 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C65238 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02C65238 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02C6523C */ rbrew_dispatch(cpu, 0x02d0ab10u);
|
|
/* 02C65240 */ _t3 = cpu->r[3] + 0x00000000u;
|
|
/* 02C65240 */ cpu->r[12] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02C65244 */ cpu->r[0] = 0x00000000u;
|
|
/* 02C65248 */ _t4 = cpu->r[31] + 0x00000000u;
|
|
/* 02C65248 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02C6524C */ cpu->r[0] = rbrew_rlwinm(cpu->r[12], 0x0000001Eu, 0x00000002u, 0x0000001Fu);
|
|
/* 02C65250 */ _t5 = cpu->r[31] + 0x00000004u;
|
|
/* 02C65250 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02C65254 */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 02C65254 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02C65258 */ cpu->lr = cpu->r[0];
|
|
/* 02C6525C */ _t7 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C6525C */ cpu->r[31] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02C65260 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C65264 */ return;
|
|
}
|
|
|
|
// fn_02C65268 @ 0x2c65268
|
|
void Gambit_fn_02C65268(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_02C65268: ; // 0x2c65268
|
|
/* 02C65268 */ cpu->r[0] = cpu->lr;
|
|
/* 02C6526C */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 02C6526C */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 02C65270 */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02C65270 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 02C65270 */ cpu->r[1] = _t1;
|
|
/* 02C65274 */ rbrew_dispatch(cpu, 0x02d0ab10u);
|
|
/* 02C65278 */ _t2 = cpu->r[3] + 0x00000000u;
|
|
/* 02C65278 */ cpu->r[12] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02C6527C */ cpu->r[10] = 0x10230000u;
|
|
/* 02C65280 */ cpu->r[0] = 0x00000000u;
|
|
/* 02C65284 */ cpu->r[3] = 0x10230000u;
|
|
/* 02C65288 */ cpu->r[11] = rbrew_rlwinm(cpu->r[12], 0x0000001Eu, 0x00000002u, 0x0000001Fu);
|
|
/* 02C6528C */ _t3 = cpu->r[10] + 0xFFFFAB10u;
|
|
/* 02C6528C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02C6528C */ cpu->r[10] = _t3;
|
|
/* 02C65290 */ cpu->r[3] = cpu->r[3] + 0xFFFFAB18u;
|
|
/* 02C65294 */ _t4 = cpu->r[10] + 0x00000004u;
|
|
/* 02C65294 */ rbrew_write32(cpu->mem, _t4, cpu->r[11]);
|
|
/* 02C65298 */ Gambit_fn_02C65228(cpu);
|
|
/* 02C6529C */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C6529C */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02C652A0 */ cpu->lr = cpu->r[0];
|
|
/* 02C652A4 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02C652A8 */ return;
|
|
}
|
|
|
|
// fn_02C65270 @ 0x2c65270
|
|
void Gambit_fn_02C65270(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4;
|
|
|
|
L_02C65270: ; // 0x2c65270
|
|
/* 02C65270 */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02C65270 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C65270 */ cpu->r[1] = _t0;
|
|
/* 02C65274 */ rbrew_dispatch(cpu, 0x02d0ab10u);
|
|
/* 02C65278 */ _t1 = cpu->r[3] + 0x00000000u;
|
|
/* 02C65278 */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02C6527C */ cpu->r[10] = 0x10230000u;
|
|
/* 02C65280 */ cpu->r[0] = 0x00000000u;
|
|
/* 02C65284 */ cpu->r[3] = 0x10230000u;
|
|
/* 02C65288 */ cpu->r[11] = rbrew_rlwinm(cpu->r[12], 0x0000001Eu, 0x00000002u, 0x0000001Fu);
|
|
/* 02C6528C */ _t2 = cpu->r[10] + 0xFFFFAB10u;
|
|
/* 02C6528C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02C6528C */ cpu->r[10] = _t2;
|
|
/* 02C65290 */ cpu->r[3] = cpu->r[3] + 0xFFFFAB18u;
|
|
/* 02C65294 */ _t3 = cpu->r[10] + 0x00000004u;
|
|
/* 02C65294 */ rbrew_write32(cpu->mem, _t3, cpu->r[11]);
|
|
/* 02C65298 */ Gambit_fn_02C65228(cpu);
|
|
/* 02C6529C */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C6529C */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02C652A0 */ cpu->lr = cpu->r[0];
|
|
/* 02C652A4 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02C652A8 */ return;
|
|
}
|
|
|
|
// fn_02C652AC @ 0x2c652ac
|
|
void Gambit_fn_02C652AC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8;
|
|
|
|
L_02C652AC: ; // 0x2c652ac
|
|
/* 02C652AC */ cpu->r[0] = cpu->lr;
|
|
/* 02C652B0 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C652B0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C652B0 */ cpu->r[1] = _t0;
|
|
/* 02C652B4 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C652B4 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02C652B8 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C652B8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02C652BC */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02C652BC */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02C652C0 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C652C0 */ _t4 = _t3 & 0x00000001u;
|
|
/* 02C652C0 */ if (_t4) goto L_02C652C4; else goto L_02C652D4;
|
|
L_02C652C4: ; // 0x2c652c4
|
|
/* 02C652C4 */ cpu->r[3] = 0x00000014u;
|
|
/* 02C652C8 */ Gambit_fn_02801A78(cpu);
|
|
/* 02C652CC */ cpu->r[31] = cpu->r[3];
|
|
/* 02C652CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02C652D0 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C652D0 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02C652D0 */ if (_t6) goto L_02C652E0; else goto L_02C652D4;
|
|
L_02C652D4: ; // 0x2c652d4
|
|
/* 02C652D4 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C652D8 */ cpu->r[4] = 0x00000005u;
|
|
/* 02C652DC */ Gambit_fn_02C89B44(cpu);
|
|
L_02C652E0: ; // 0x2c652e0
|
|
/* 02C652E0 */ _t7 = cpu->r[1] + 0x00000014u;
|
|
/* 02C652E0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02C652E4 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C652E8 */ _t8 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C652E8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C652EC */ cpu->lr = cpu->r[0];
|
|
/* 02C652F0 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C652F4 */ return;
|
|
}
|
|
|
|
// fn_02C652B0 @ 0x2c652b0
|
|
void Gambit_fn_02C652B0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8;
|
|
|
|
L_02C652B0: ; // 0x2c652b0
|
|
/* 02C652B0 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C652B0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C652B0 */ cpu->r[1] = _t0;
|
|
/* 02C652B4 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C652B4 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02C652B8 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C652B8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02C652BC */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02C652BC */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02C652C0 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C652C0 */ _t4 = _t3 & 0x00000001u;
|
|
/* 02C652C0 */ if (_t4) goto L_02C652C4; else goto L_02C652D4;
|
|
L_02C652C4: ; // 0x2c652c4
|
|
/* 02C652C4 */ cpu->r[3] = 0x00000014u;
|
|
/* 02C652C8 */ Gambit_fn_02801A78(cpu);
|
|
/* 02C652CC */ cpu->r[31] = cpu->r[3];
|
|
/* 02C652CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02C652D0 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C652D0 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02C652D0 */ if (_t6) goto L_02C652E0; else goto L_02C652D4;
|
|
L_02C652D4: ; // 0x2c652d4
|
|
/* 02C652D4 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C652D8 */ cpu->r[4] = 0x00000005u;
|
|
/* 02C652DC */ Gambit_fn_02C89B44(cpu);
|
|
L_02C652E0: ; // 0x2c652e0
|
|
/* 02C652E0 */ _t7 = cpu->r[1] + 0x00000014u;
|
|
/* 02C652E0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02C652E4 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C652E8 */ _t8 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C652E8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C652EC */ cpu->lr = cpu->r[0];
|
|
/* 02C652F0 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C652F4 */ return;
|
|
}
|
|
|
|
// fn_02C652F8 @ 0x2c652f8
|
|
void Gambit_fn_02C652F8(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_02C652F8: ; // 0x2c652f8
|
|
/* 02C652F8 */ _t0 = cpu->r[3] + 0x00000004u;
|
|
/* 02C652F8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02C652FC */ cpu->r[0] = (uint32_t)((int32_t)cpu->r[0] * (int32_t)cpu->r[4]);
|
|
/* 02C65300 */ _t1 = cpu->r[3] + 0x00000000u;
|
|
/* 02C65300 */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02C65304 */ cpu->r[3] = cpu->r[12] + cpu->r[0];
|
|
/* 02C65308 */ return;
|
|
}
|
|
|
|
// fn_02C6530C @ 0x2c6530c
|
|
void Gambit_fn_02C6530C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3;
|
|
|
|
L_02C6530C: ; // 0x2c6530c
|
|
/* 02C6530C */ cpu->r[0] = cpu->lr;
|
|
/* 02C65310 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 02C65310 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 02C65314 */ cpu->r[11] = cpu->r[3];
|
|
/* 02C65318 */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02C65318 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 02C65318 */ cpu->r[1] = _t1;
|
|
/* 02C6531C */ Gambit_fn_02C652F8(cpu);
|
|
/* 02C65320 */ _t2 = cpu->r[11] + 0x00000004u;
|
|
/* 02C65320 */ cpu->r[4] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02C65324 */ rbrew_dispatch(cpu, 0x02d09328u);
|
|
/* 02C65328 */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C65328 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02C6532C */ cpu->lr = cpu->r[0];
|
|
/* 02C65330 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02C65334 */ return;
|
|
}
|
|
|
|
// fn_02C65318 @ 0x2c65318
|
|
void Gambit_fn_02C65318(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2;
|
|
|
|
L_02C65318: ; // 0x2c65318
|
|
/* 02C65318 */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02C65318 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C65318 */ cpu->r[1] = _t0;
|
|
/* 02C6531C */ Gambit_fn_02C652F8(cpu);
|
|
/* 02C65320 */ _t1 = cpu->r[11] + 0x00000004u;
|
|
/* 02C65320 */ cpu->r[4] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02C65324 */ rbrew_dispatch(cpu, 0x02d09328u);
|
|
/* 02C65328 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C65328 */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02C6532C */ cpu->lr = cpu->r[0];
|
|
/* 02C65330 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02C65334 */ return;
|
|
}
|
|
|
|
// fn_02C65338 @ 0x2c65338
|
|
void Gambit_fn_02C65338(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4;
|
|
|
|
L_02C65338: ; // 0x2c65338
|
|
/* 02C65338 */ cpu->r[0] = cpu->lr;
|
|
/* 02C6533C */ cpu->r[10] = cpu->r[4];
|
|
/* 02C65340 */ cpu->r[4] = cpu->r[5];
|
|
/* 02C65344 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 02C65344 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 02C65348 */ cpu->r[11] = cpu->r[3];
|
|
/* 02C6534C */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02C6534C */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 02C6534C */ cpu->r[1] = _t1;
|
|
/* 02C65350 */ Gambit_fn_02C652F8(cpu);
|
|
/* 02C65354 */ _t2 = cpu->r[11] + 0x00000004u;
|
|
/* 02C65354 */ cpu->r[4] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02C65358 */ cpu->r[6] = cpu->r[3];
|
|
/* 02C6535C */ _t3 = cpu->r[11] + 0x0000000Cu;
|
|
/* 02C6535C */ cpu->r[5] = rbrew_read16(cpu->mem, _t3);
|
|
/* 02C65360 */ cpu->r[3] = cpu->r[10];
|
|
/* 02C65364 */ rbrew_dispatch(cpu, 0x02d05fb0u);
|
|
/* 02C65368 */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C65368 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02C6536C */ cpu->lr = cpu->r[0];
|
|
/* 02C65370 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02C65374 */ return;
|
|
}
|
|
|
|
// fn_02C6534C @ 0x2c6534c
|
|
void Gambit_fn_02C6534C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3;
|
|
|
|
L_02C6534C: ; // 0x2c6534c
|
|
/* 02C6534C */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02C6534C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C6534C */ cpu->r[1] = _t0;
|
|
/* 02C65350 */ Gambit_fn_02C652F8(cpu);
|
|
/* 02C65354 */ _t1 = cpu->r[11] + 0x00000004u;
|
|
/* 02C65354 */ cpu->r[4] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02C65358 */ cpu->r[6] = cpu->r[3];
|
|
/* 02C6535C */ _t2 = cpu->r[11] + 0x0000000Cu;
|
|
/* 02C6535C */ cpu->r[5] = rbrew_read16(cpu->mem, _t2);
|
|
/* 02C65360 */ cpu->r[3] = cpu->r[10];
|
|
/* 02C65364 */ rbrew_dispatch(cpu, 0x02d05fb0u);
|
|
/* 02C65368 */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C65368 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02C6536C */ cpu->lr = cpu->r[0];
|
|
/* 02C65370 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02C65374 */ return;
|
|
}
|
|
|
|
// fn_02C65378 @ 0x2c65378
|
|
void Gambit_fn_02C65378(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3;
|
|
|
|
L_02C65378: ; // 0x2c65378
|
|
/* 02C65378 */ cpu->r[0] = cpu->lr;
|
|
/* 02C6537C */ cpu->r[10] = cpu->r[4];
|
|
/* 02C65380 */ cpu->r[4] = cpu->r[5];
|
|
/* 02C65384 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 02C65384 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 02C65388 */ cpu->r[11] = cpu->r[3];
|
|
/* 02C6538C */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02C6538C */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 02C6538C */ cpu->r[1] = _t1;
|
|
/* 02C65390 */ Gambit_fn_02C652F8(cpu);
|
|
/* 02C65394 */ _t2 = cpu->r[11] + 0x00000004u;
|
|
/* 02C65394 */ cpu->r[4] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02C65398 */ cpu->r[5] = cpu->r[3];
|
|
/* 02C6539C */ cpu->r[3] = cpu->r[10];
|
|
/* 02C653A0 */ rbrew_dispatch(cpu, 0x02d062a0u);
|
|
/* 02C653A4 */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C653A4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02C653A8 */ cpu->lr = cpu->r[0];
|
|
/* 02C653AC */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02C653B0 */ return;
|
|
}
|
|
|
|
// fn_02C6538C @ 0x2c6538c
|
|
void Gambit_fn_02C6538C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2;
|
|
|
|
L_02C6538C: ; // 0x2c6538c
|
|
/* 02C6538C */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02C6538C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C6538C */ cpu->r[1] = _t0;
|
|
/* 02C65390 */ Gambit_fn_02C652F8(cpu);
|
|
/* 02C65394 */ _t1 = cpu->r[11] + 0x00000004u;
|
|
/* 02C65394 */ cpu->r[4] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02C65398 */ cpu->r[5] = cpu->r[3];
|
|
/* 02C6539C */ cpu->r[3] = cpu->r[10];
|
|
/* 02C653A0 */ rbrew_dispatch(cpu, 0x02d062a0u);
|
|
/* 02C653A4 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C653A4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02C653A8 */ cpu->lr = cpu->r[0];
|
|
/* 02C653AC */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02C653B0 */ return;
|
|
}
|
|
|
|
// fn_02C653B4 @ 0x2c653b4
|
|
void Gambit_fn_02C653B4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3;
|
|
|
|
L_02C653B4: ; // 0x2c653b4
|
|
/* 02C653B4 */ cpu->r[0] = cpu->lr;
|
|
/* 02C653B8 */ cpu->r[10] = cpu->r[4];
|
|
/* 02C653BC */ cpu->r[4] = cpu->r[5];
|
|
/* 02C653C0 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 02C653C0 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 02C653C4 */ cpu->r[11] = cpu->r[3];
|
|
/* 02C653C8 */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02C653C8 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 02C653C8 */ cpu->r[1] = _t1;
|
|
/* 02C653CC */ Gambit_fn_02C652F8(cpu);
|
|
/* 02C653D0 */ _t2 = cpu->r[11] + 0x00000004u;
|
|
/* 02C653D0 */ cpu->r[4] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02C653D4 */ cpu->r[5] = cpu->r[3];
|
|
/* 02C653D8 */ cpu->r[3] = cpu->r[10];
|
|
/* 02C653DC */ rbrew_dispatch(cpu, 0x02d060f8u);
|
|
/* 02C653E0 */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C653E0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02C653E4 */ cpu->lr = cpu->r[0];
|
|
/* 02C653E8 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02C653EC */ return;
|
|
}
|
|
|
|
// fn_02C653C8 @ 0x2c653c8
|
|
void Gambit_fn_02C653C8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2;
|
|
|
|
L_02C653C8: ; // 0x2c653c8
|
|
/* 02C653C8 */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02C653C8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C653C8 */ cpu->r[1] = _t0;
|
|
/* 02C653CC */ Gambit_fn_02C652F8(cpu);
|
|
/* 02C653D0 */ _t1 = cpu->r[11] + 0x00000004u;
|
|
/* 02C653D0 */ cpu->r[4] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02C653D4 */ cpu->r[5] = cpu->r[3];
|
|
/* 02C653D8 */ cpu->r[3] = cpu->r[10];
|
|
/* 02C653DC */ rbrew_dispatch(cpu, 0x02d060f8u);
|
|
/* 02C653E0 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C653E0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02C653E4 */ cpu->lr = cpu->r[0];
|
|
/* 02C653E8 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02C653EC */ return;
|
|
}
|
|
|
|
// fn_02C653F0 @ 0x2c653f0
|
|
void Gambit_fn_02C653F0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3;
|
|
|
|
L_02C653F0: ; // 0x2c653f0
|
|
/* 02C653F0 */ cpu->r[0] = cpu->lr;
|
|
/* 02C653F4 */ cpu->r[10] = cpu->r[4];
|
|
/* 02C653F8 */ cpu->r[4] = cpu->r[5];
|
|
/* 02C653FC */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 02C653FC */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 02C65400 */ cpu->r[11] = cpu->r[3];
|
|
/* 02C65404 */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02C65404 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 02C65404 */ cpu->r[1] = _t1;
|
|
/* 02C65408 */ Gambit_fn_02C652F8(cpu);
|
|
/* 02C6540C */ _t2 = cpu->r[11] + 0x00000004u;
|
|
/* 02C6540C */ cpu->r[4] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02C65410 */ cpu->r[5] = cpu->r[3];
|
|
/* 02C65414 */ cpu->r[3] = cpu->r[10];
|
|
/* 02C65418 */ rbrew_dispatch(cpu, 0x02d06158u);
|
|
/* 02C6541C */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C6541C */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02C65420 */ cpu->lr = cpu->r[0];
|
|
/* 02C65424 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02C65428 */ return;
|
|
}
|
|
|
|
// fn_02C65404 @ 0x2c65404
|
|
void Gambit_fn_02C65404(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2;
|
|
|
|
L_02C65404: ; // 0x2c65404
|
|
/* 02C65404 */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02C65404 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C65404 */ cpu->r[1] = _t0;
|
|
/* 02C65408 */ Gambit_fn_02C652F8(cpu);
|
|
/* 02C6540C */ _t1 = cpu->r[11] + 0x00000004u;
|
|
/* 02C6540C */ cpu->r[4] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02C65410 */ cpu->r[5] = cpu->r[3];
|
|
/* 02C65414 */ cpu->r[3] = cpu->r[10];
|
|
/* 02C65418 */ rbrew_dispatch(cpu, 0x02d06158u);
|
|
/* 02C6541C */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C6541C */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02C65420 */ cpu->lr = cpu->r[0];
|
|
/* 02C65424 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02C65428 */ return;
|
|
}
|
|
|
|
// fn_02C6542C @ 0x2c6542c
|
|
void Gambit_fn_02C6542C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4;
|
|
|
|
L_02C6542C: ; // 0x2c6542c
|
|
/* 02C6542C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u);
|
|
/* 02C65430 */ cpu->r[0] = 0x00000000u;
|
|
/* 02C65434 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C65434 */ _t1 = _t0 & 0x00000001u;
|
|
/* 02C65434 */ if (_t1) goto L_02C6543C; else goto L_02C65438;
|
|
L_02C65438: ; // 0x2c65438
|
|
/* 02C65438 */ cpu->r[0] = cpu->r[4];
|
|
L_02C6543C: ; // 0x2c6543c
|
|
/* 02C6543C */ _t2 = cpu->r[3] + 0x00000004u;
|
|
/* 02C6543C */ rbrew_write32(cpu->mem, _t2, cpu->r[5]);
|
|
/* 02C65440 */ _t3 = cpu->r[3] + 0x0000000Eu;
|
|
/* 02C65440 */ rbrew_write16(cpu->mem, _t3, (uint16_t)cpu->r[6]);
|
|
/* 02C65444 */ _t4 = cpu->r[3] + 0x00000000u;
|
|
/* 02C65444 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02C65448 */ return;
|
|
}
|
|
|
|
// fn_02C6544C @ 0x2c6544c
|
|
void Gambit_fn_02C6544C(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_02C6544C: ; // 0x2c6544c
|
|
/* 02C6544C */ _t0 = cpu->r[3] + 0x00000004u;
|
|
/* 02C6544C */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02C65450 */ cpu->r[0] = (uint32_t)((int32_t)cpu->r[0] * (int32_t)cpu->r[4]);
|
|
/* 02C65454 */ _t1 = cpu->r[3] + 0x00000000u;
|
|
/* 02C65454 */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02C65458 */ cpu->r[3] = cpu->r[12] + cpu->r[0];
|
|
/* 02C6545C */ return;
|
|
}
|
|
|
|
// fn_02C65460 @ 0x2c65460
|
|
void Gambit_fn_02C65460(CPUState* cpu) {
|
|
L_02C65460: ; // 0x2c65460
|
|
/* 02C65460 */ rbrew_dispatch(cpu, 0x02d06280u); return;
|
|
}
|
|
|
|
// fn_02C65464 @ 0x2c65464
|
|
void Gambit_fn_02C65464(CPUState* cpu) {
|
|
L_02C65464: ; // 0x2c65464
|
|
/* 02C65464 */ rbrew_dispatch(cpu, 0x02d060c8u); return;
|
|
}
|
|
|
|
// fn_02C65468 @ 0x2c65468
|
|
void Gambit_fn_02C65468(CPUState* cpu) {
|
|
L_02C65468: ; // 0x2c65468
|
|
/* 02C65468 */ rbrew_dispatch(cpu, 0x02d06138u); return;
|
|
}
|
|
|
|
// fn_02C6546C @ 0x2c6546c
|
|
void Gambit_fn_02C6546C(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_02C6546C: ; // 0x2c6546c
|
|
/* 02C6546C */ _t0 = cpu->r[3] + 0x00000000u;
|
|
/* 02C6546C */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02C65470 */ cpu->r[3] = rbrew_rlwinm(cpu->r[0], 0x0000000Fu, 0x0000001Eu, 0x0000001Fu);
|
|
/* 02C65474 */ return;
|
|
}
|
|
|
|
// fn_02C65478 @ 0x2c65478
|
|
void Gambit_fn_02C65478(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3;
|
|
|
|
L_02C65478: ; // 0x2c65478
|
|
/* 02C65478 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02C65478 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C65478 */ cpu->r[1] = _t0;
|
|
/* 02C6547C */ _t1 = cpu->r[3] + 0x00000004u;
|
|
/* 02C6547C */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02C65480 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000016u, 0x0000001Fu);
|
|
/* 02C65484 */ cpu->r[12] = cpu->r[1] + 0x00000008u;
|
|
/* 02C65488 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02C65488 */ rbrew_write16(cpu->mem, _t2, (uint16_t)cpu->r[0]);
|
|
/* 02C6548C */ /* nop */
|
|
/* 02C65490 */ cpu->r[11] = 0x101B0000u;
|
|
/* 02C65494 */ cpu->f[13] = cpu->f[0];
|
|
/* 02C65498 */ _t3 = cpu->r[11] + 0x000001E4u;
|
|
/* 02C65498 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t3);
|
|
/* 02C6549C */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C654A0 */ cpu->f[1] = cpu->f[13] * cpu->f[0];
|
|
/* 02C654A4 */ return;
|
|
}
|
|
|
|
// fn_02C654A8 @ 0x2c654a8
|
|
void Gambit_fn_02C654A8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3;
|
|
|
|
L_02C654A8: ; // 0x2c654a8
|
|
/* 02C654A8 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02C654A8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C654A8 */ cpu->r[1] = _t0;
|
|
/* 02C654AC */ _t1 = cpu->r[3] + 0x00000004u;
|
|
/* 02C654AC */ cpu->r[11] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02C654B0 */ cpu->r[0] = rbrew_rlwinm(cpu->r[11], 0x00000016u, 0x00000016u, 0x0000001Fu);
|
|
/* 02C654B4 */ cpu->r[12] = cpu->r[1] + 0x00000008u;
|
|
/* 02C654B8 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02C654B8 */ rbrew_write16(cpu->mem, _t2, (uint16_t)cpu->r[0]);
|
|
/* 02C654BC */ /* nop */
|
|
/* 02C654C0 */ cpu->r[12] = 0x101B0000u;
|
|
/* 02C654C4 */ cpu->f[13] = cpu->f[0];
|
|
/* 02C654C8 */ _t3 = cpu->r[12] + 0x000001E4u;
|
|
/* 02C654C8 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t3);
|
|
/* 02C654CC */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C654D0 */ cpu->f[1] = cpu->f[13] * cpu->f[0];
|
|
/* 02C654D4 */ return;
|
|
}
|
|
|
|
// fn_02C654D8 @ 0x2c654d8
|
|
void Gambit_fn_02C654D8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3;
|
|
|
|
L_02C654D8: ; // 0x2c654d8
|
|
/* 02C654D8 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02C654D8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C654D8 */ cpu->r[1] = _t0;
|
|
/* 02C654DC */ _t1 = cpu->r[3] + 0x00000004u;
|
|
/* 02C654DC */ cpu->r[11] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02C654E0 */ /* nop */
|
|
/* 02C654E4 */ cpu->r[12] = cpu->r[1] + 0x00000008u;
|
|
/* 02C654E8 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02C654E8 */ rbrew_write16(cpu->mem, _t2, (uint16_t)cpu->r[0]);
|
|
/* 02C654EC */ /* nop */
|
|
/* 02C654F0 */ cpu->r[12] = 0x101B0000u;
|
|
/* 02C654F4 */ cpu->f[13] = cpu->f[0];
|
|
/* 02C654F8 */ _t3 = cpu->r[12] + 0x000001E4u;
|
|
/* 02C654F8 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t3);
|
|
/* 02C654FC */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C65500 */ cpu->f[1] = cpu->f[13] * cpu->f[0];
|
|
/* 02C65504 */ return;
|
|
}
|
|
|
|
// fn_02C6550C @ 0x2c6550c
|
|
void Gambit_fn_02C6550C(CPUState* cpu) {
|
|
L_02C65508: ; // 0x2c65508
|
|
/* 02C65508 */ rbrew_dispatch(cpu, 0x02d05c88u); return;
|
|
L_02C6550C: ; // 0x2c6550c
|
|
/* 02C6550C */ goto L_02C65508;
|
|
}
|
|
|
|
// fn_02C65510 @ 0x2c65510
|
|
void Gambit_fn_02C65510(CPUState* cpu) {
|
|
L_02C65510: ; // 0x2c65510
|
|
/* 02C65510 */ rbrew_dispatch(cpu, 0x02d05878u); return;
|
|
}
|
|
|
|
// fn_02C65514 @ 0x2c65514
|
|
void Gambit_fn_02C65514(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_02C65514: ; // 0x2c65514
|
|
/* 02C65514 */ _t0 = cpu->r[3] + 0x00000024u;
|
|
/* 02C65514 */ cpu->r[3] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02C65518 */ return;
|
|
}
|
|
|
|
// fn_02C6551C @ 0x2c6551c
|
|
void Gambit_fn_02C6551C(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_02C6551C: ; // 0x2c6551c
|
|
/* 02C6551C */ _t0 = cpu->r[3] + 0x0000002Cu;
|
|
/* 02C6551C */ cpu->r[3] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02C65520 */ return;
|
|
}
|
|
|
|
// fn_02C65524 @ 0x2c65524
|
|
void Gambit_fn_02C65524(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8;
|
|
|
|
L_02C65524: ; // 0x2c65524
|
|
/* 02C65524 */ cpu->r[0] = cpu->lr;
|
|
/* 02C65528 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C65528 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C65528 */ cpu->r[1] = _t0;
|
|
/* 02C6552C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C6552C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02C65530 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C65534 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02C65534 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02C65538 */ Gambit_fn_02C65514(cpu);
|
|
/* 02C6553C */ _t3 = cpu->r[31] + 0x00000020u;
|
|
/* 02C6553C */ cpu->r[4] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02C65540 */ rbrew_dispatch(cpu, 0x02d09328u);
|
|
/* 02C65544 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C65548 */ Gambit_fn_02C6551C(cpu);
|
|
/* 02C6554C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C65550 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C65550 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02C65550 */ if (_t5) goto L_02C6555C; else goto L_02C65554;
|
|
L_02C65554: ; // 0x2c65554
|
|
/* 02C65554 */ _t6 = cpu->r[31] + 0x00000028u;
|
|
/* 02C65554 */ cpu->r[4] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02C65558 */ rbrew_dispatch(cpu, 0x02d09328u);
|
|
L_02C6555C: ; // 0x2c6555c
|
|
/* 02C6555C */ _t7 = cpu->r[1] + 0x00000014u;
|
|
/* 02C6555C */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02C65560 */ _t8 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C65560 */ cpu->r[31] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C65564 */ cpu->lr = cpu->r[0];
|
|
/* 02C65568 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C6556C */ return;
|
|
}
|
|
|
|
// fn_02C65528 @ 0x2c65528
|
|
void Gambit_fn_02C65528(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8;
|
|
|
|
L_02C65528: ; // 0x2c65528
|
|
/* 02C65528 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C65528 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C65528 */ cpu->r[1] = _t0;
|
|
/* 02C6552C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C6552C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02C65530 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C65534 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02C65534 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02C65538 */ Gambit_fn_02C65514(cpu);
|
|
/* 02C6553C */ _t3 = cpu->r[31] + 0x00000020u;
|
|
/* 02C6553C */ cpu->r[4] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02C65540 */ rbrew_dispatch(cpu, 0x02d09328u);
|
|
/* 02C65544 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C65548 */ Gambit_fn_02C6551C(cpu);
|
|
/* 02C6554C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C65550 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C65550 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02C65550 */ if (_t5) goto L_02C6555C; else goto L_02C65554;
|
|
L_02C65554: ; // 0x2c65554
|
|
/* 02C65554 */ _t6 = cpu->r[31] + 0x00000028u;
|
|
/* 02C65554 */ cpu->r[4] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02C65558 */ rbrew_dispatch(cpu, 0x02d09328u);
|
|
L_02C6555C: ; // 0x2c6555c
|
|
/* 02C6555C */ _t7 = cpu->r[1] + 0x00000014u;
|
|
/* 02C6555C */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02C65560 */ _t8 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C65560 */ cpu->r[31] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C65564 */ cpu->lr = cpu->r[0];
|
|
/* 02C65568 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C6556C */ return;
|
|
}
|
|
|
|
// fn_02C65570 @ 0x2c65570
|
|
void Gambit_fn_02C65570(CPUState* cpu) {
|
|
L_02C65570: ; // 0x2c65570
|
|
/* 02C65570 */ rbrew_dispatch(cpu, 0x02d06298u); return;
|
|
}
|
|
|
|
// fn_02C65574 @ 0x2c65574
|
|
void Gambit_fn_02C65574(CPUState* cpu) {
|
|
L_02C65574: ; // 0x2c65574
|
|
/* 02C65574 */ rbrew_dispatch(cpu, 0x02d060f0u); return;
|
|
}
|
|
|
|
// fn_02C65578 @ 0x2c65578
|
|
void Gambit_fn_02C65578(CPUState* cpu) {
|
|
L_02C65578: ; // 0x2c65578
|
|
/* 02C65578 */ rbrew_dispatch(cpu, 0x02d06150u); return;
|
|
}
|
|
|
|
// fn_02C6557C @ 0x2c6557c
|
|
void Gambit_fn_02C6557C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9;
|
|
|
|
L_02C6557C: ; // 0x2c6557c
|
|
/* 02C6557C */ _t0 = cpu->r[3] + 0x00000010u;
|
|
/* 02C6557C */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02C65580 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], 0x00000001u);
|
|
/* 02C65584 */ _t1 = cpu->r[3] + 0x00000024u;
|
|
/* 02C65584 */ rbrew_write32(cpu->mem, _t1, cpu->r[4]);
|
|
/* 02C65588 */ _t2 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C65588 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02C65588 */ if (_t3) goto L_02C6558C; else goto L_02C655A4;
|
|
L_02C6558C: ; // 0x2c6558c
|
|
/* 02C6558C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u);
|
|
/* 02C65590 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C65590 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02C65590 */ if (_t5) goto L_02C65594; else goto L_02C655A4;
|
|
L_02C65594: ; // 0x2c65594
|
|
/* 02C65594 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
|
|
/* 02C65598 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C65598 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02C65598 */ if (_t7) goto L_02C655A4; else goto L_02C6559C;
|
|
L_02C6559C: ; // 0x2c6559c
|
|
/* 02C6559C */ _t8 = cpu->r[3] + 0x00000040u;
|
|
/* 02C6559C */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C655A0 */ cpu->r[5] = cpu->r[4] + cpu->r[0];
|
|
L_02C655A4: ; // 0x2c655a4
|
|
/* 02C655A4 */ _t9 = cpu->r[3] + 0x0000002Cu;
|
|
/* 02C655A4 */ rbrew_write32(cpu->mem, _t9, cpu->r[5]);
|
|
/* 02C655A8 */ return;
|
|
}
|
|
|
|
// fn_02C655AC @ 0x2c655ac
|
|
void Gambit_fn_02C655AC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8;
|
|
|
|
L_02C655AC: ; // 0x2c655ac
|
|
/* 02C655AC */ cpu->r[0] = cpu->lr;
|
|
/* 02C655B0 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C655B0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C655B0 */ cpu->r[1] = _t0;
|
|
/* 02C655B4 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C655B4 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02C655B8 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C655B8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02C655BC */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02C655BC */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02C655C0 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C655C0 */ _t4 = _t3 & 0x00000001u;
|
|
/* 02C655C0 */ if (_t4) goto L_02C655C4; else goto L_02C655D4;
|
|
L_02C655C4: ; // 0x2c655c4
|
|
/* 02C655C4 */ cpu->r[3] = 0x00000028u;
|
|
/* 02C655C8 */ Gambit_fn_02801A78(cpu);
|
|
/* 02C655CC */ cpu->r[31] = cpu->r[3];
|
|
/* 02C655CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02C655D0 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C655D0 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02C655D0 */ if (_t6) goto L_02C655E0; else goto L_02C655D4;
|
|
L_02C655D4: ; // 0x2c655d4
|
|
/* 02C655D4 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C655D8 */ cpu->r[4] = 0x0000000Au;
|
|
/* 02C655DC */ Gambit_fn_02C89B44(cpu);
|
|
L_02C655E0: ; // 0x2c655e0
|
|
/* 02C655E0 */ _t7 = cpu->r[1] + 0x00000014u;
|
|
/* 02C655E0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02C655E4 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C655E8 */ _t8 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C655E8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C655EC */ cpu->lr = cpu->r[0];
|
|
/* 02C655F0 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C655F4 */ return;
|
|
}
|
|
|
|
// fn_02C655B0 @ 0x2c655b0
|
|
void Gambit_fn_02C655B0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8;
|
|
|
|
L_02C655B0: ; // 0x2c655b0
|
|
/* 02C655B0 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C655B0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C655B0 */ cpu->r[1] = _t0;
|
|
/* 02C655B4 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C655B4 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02C655B8 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C655B8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02C655BC */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02C655BC */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02C655C0 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C655C0 */ _t4 = _t3 & 0x00000001u;
|
|
/* 02C655C0 */ if (_t4) goto L_02C655C4; else goto L_02C655D4;
|
|
L_02C655C4: ; // 0x2c655c4
|
|
/* 02C655C4 */ cpu->r[3] = 0x00000028u;
|
|
/* 02C655C8 */ Gambit_fn_02801A78(cpu);
|
|
/* 02C655CC */ cpu->r[31] = cpu->r[3];
|
|
/* 02C655CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02C655D0 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C655D0 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02C655D0 */ if (_t6) goto L_02C655E0; else goto L_02C655D4;
|
|
L_02C655D4: ; // 0x2c655d4
|
|
/* 02C655D4 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C655D8 */ cpu->r[4] = 0x0000000Au;
|
|
/* 02C655DC */ Gambit_fn_02C89B44(cpu);
|
|
L_02C655E0: ; // 0x2c655e0
|
|
/* 02C655E0 */ _t7 = cpu->r[1] + 0x00000014u;
|
|
/* 02C655E0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02C655E4 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C655E8 */ _t8 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C655E8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C655EC */ cpu->lr = cpu->r[0];
|
|
/* 02C655F0 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C655F4 */ return;
|
|
}
|
|
|
|
// fn_02C655F8 @ 0x2c655f8
|
|
void Gambit_fn_02C655F8(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_02C655F8: ; // 0x2c655f8
|
|
/* 02C655F8 */ _t0 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02C655F8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02C655FC */ return;
|
|
}
|
|
|
|
// fn_02C65600 @ 0x2c65600
|
|
void Gambit_fn_02C65600(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3;
|
|
|
|
L_02C65600: ; // 0x2c65600
|
|
/* 02C65600 */ cpu->r[0] = cpu->lr;
|
|
/* 02C65604 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 02C65604 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 02C65608 */ cpu->r[12] = cpu->r[3];
|
|
/* 02C6560C */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02C6560C */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 02C6560C */ cpu->r[1] = _t1;
|
|
/* 02C65610 */ Gambit_fn_02C655F8(cpu);
|
|
/* 02C65614 */ _t2 = cpu->r[12] + 0x00000008u;
|
|
/* 02C65614 */ cpu->r[4] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02C65618 */ rbrew_dispatch(cpu, 0x02d09328u);
|
|
/* 02C6561C */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C6561C */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02C65620 */ cpu->lr = cpu->r[0];
|
|
/* 02C65624 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02C65628 */ return;
|
|
}
|
|
|
|
// fn_02C6560C @ 0x2c6560c
|
|
void Gambit_fn_02C6560C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2;
|
|
|
|
L_02C6560C: ; // 0x2c6560c
|
|
/* 02C6560C */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02C6560C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C6560C */ cpu->r[1] = _t0;
|
|
/* 02C65610 */ Gambit_fn_02C655F8(cpu);
|
|
/* 02C65614 */ _t1 = cpu->r[12] + 0x00000008u;
|
|
/* 02C65614 */ cpu->r[4] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02C65618 */ rbrew_dispatch(cpu, 0x02d09328u);
|
|
/* 02C6561C */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C6561C */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02C65620 */ cpu->lr = cpu->r[0];
|
|
/* 02C65624 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02C65628 */ return;
|
|
}
|
|
|
|
// fn_02C6562C @ 0x2c6562c
|
|
void Gambit_fn_02C6562C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2;
|
|
|
|
L_02C6562C: ; // 0x2c6562c
|
|
/* 02C6562C */ _t0 = cpu->r[3] + 0x00000010u;
|
|
/* 02C6562C */ cpu->r[11] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02C65630 */ cpu->r[9] = cpu->r[11] + 0x0000000Fu;
|
|
/* 02C65634 */ cpu->r[12] = rbrew_rlwinm(cpu->r[9], 0x0000001Fu, 0x00000001u, 0x0000001Cu);
|
|
/* 02C65638 */ cpu->r[0] = cpu->r[12] + 0x00000017u;
|
|
/* 02C6563C */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000000u, 0x0000001Bu);
|
|
/* 02C65640 */ cpu->r[0] = rbrew_rlwinm(cpu->r[11], 0x00000004u, 0x00000000u, 0x0000001Bu);
|
|
/* 02C65644 */ _t1 = cpu->r[3] + 0x00000020u;
|
|
/* 02C65644 */ rbrew_write32(cpu->mem, _t1, cpu->r[12]);
|
|
/* 02C65648 */ cpu->r[10] = cpu->r[12] + cpu->r[0];
|
|
/* 02C6564C */ _t2 = cpu->r[3] + 0x00000008u;
|
|
/* 02C6564C */ rbrew_write32(cpu->mem, _t2, cpu->r[10]);
|
|
/* 02C65650 */ return;
|
|
}
|
|
|
|
// fn_02C65654 @ 0x2c65654
|
|
void Gambit_fn_02C65654(CPUState* cpu) {
|
|
L_02C65654: ; // 0x2c65654
|
|
/* 02C65654 */ rbrew_dispatch(cpu, 0x02d060b0u); return;
|
|
}
|
|
|
|
// fn_02C65660 @ 0x2c65660
|
|
void Gambit_fn_02C65660(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_02C65660: ; // 0x2c65660
|
|
/* 02C65660 */ _t0 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02C65660 */ cpu->r[3] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02C65664 */ return;
|
|
}
|
|
|
|
// fn_02C65668 @ 0x2c65668
|
|
void Gambit_fn_02C65668(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_02C65668: ; // 0x2c65668
|
|
/* 02C65668 */ _t0 = cpu->r[3] + 0x00000020u;
|
|
/* 02C65668 */ cpu->r[11] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02C6566C */ cpu->r[12] = rbrew_rlwinm(cpu->r[5], 0x00000004u, 0x00000000u, 0x0000001Bu);
|
|
/* 02C65670 */ cpu->r[0] = cpu->r[11] + cpu->r[12];
|
|
/* 02C65674 */ cpu->r[3] = cpu->r[4] + cpu->r[0];
|
|
/* 02C65678 */ return;
|
|
}
|
|
|
|
// fn_02C6567C @ 0x2c6567c
|
|
void Gambit_fn_02C6567C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4;
|
|
|
|
L_02C6567C: ; // 0x2c6567c
|
|
/* 02C6567C */ cpu->r[0] = cpu->lr;
|
|
/* 02C65680 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 02C65680 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 02C65684 */ cpu->r[5] = cpu->r[4];
|
|
/* 02C65688 */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02C65688 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 02C65688 */ cpu->r[1] = _t1;
|
|
/* 02C6568C */ _t2 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02C6568C */ cpu->r[4] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02C65690 */ Gambit_fn_02C65668(cpu);
|
|
/* 02C65694 */ cpu->r[0] = 0x00000000u;
|
|
/* 02C65698 */ _t3 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02C65698 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02C6569C */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C6569C */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02C656A0 */ cpu->lr = cpu->r[0];
|
|
/* 02C656A4 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02C656A8 */ return;
|
|
}
|
|
|
|
// fn_02C65688 @ 0x2c65688
|
|
void Gambit_fn_02C65688(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3;
|
|
|
|
L_02C65688: ; // 0x2c65688
|
|
/* 02C65688 */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02C65688 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C65688 */ cpu->r[1] = _t0;
|
|
/* 02C6568C */ _t1 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02C6568C */ cpu->r[4] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02C65690 */ Gambit_fn_02C65668(cpu);
|
|
/* 02C65694 */ cpu->r[0] = 0x00000000u;
|
|
/* 02C65698 */ _t2 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02C65698 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02C6569C */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C6569C */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02C656A0 */ cpu->lr = cpu->r[0];
|
|
/* 02C656A4 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02C656A8 */ return;
|
|
}
|
|
|
|
// fn_02C656AC @ 0x2c656ac
|
|
void Gambit_fn_02C656AC(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_02C656AC: ; // 0x2c656ac
|
|
/* 02C656AC */ _t0 = cpu->r[3] + 0x00000020u;
|
|
/* 02C656AC */ cpu->r[11] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02C656B0 */ cpu->r[12] = rbrew_rlwinm(cpu->r[5], 0x00000004u, 0x00000000u, 0x0000001Bu);
|
|
/* 02C656B4 */ cpu->r[0] = cpu->r[11] + cpu->r[12];
|
|
/* 02C656B8 */ cpu->r[3] = cpu->r[4] + cpu->r[0];
|
|
/* 02C656BC */ return;
|
|
}
|
|
|
|
// fn_02C656C0 @ 0x2c656c0
|
|
void Gambit_fn_02C656C0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4;
|
|
|
|
L_02C656C0: ; // 0x2c656c0
|
|
/* 02C656C0 */ cpu->r[0] = cpu->lr;
|
|
/* 02C656C4 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 02C656C4 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 02C656C8 */ cpu->r[5] = cpu->r[4];
|
|
/* 02C656CC */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02C656CC */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 02C656CC */ cpu->r[1] = _t1;
|
|
/* 02C656D0 */ _t2 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02C656D0 */ cpu->r[4] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02C656D4 */ Gambit_fn_02C656AC(cpu);
|
|
/* 02C656D8 */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C656D8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02C656DC */ cpu->lr = cpu->r[0];
|
|
/* 02C656E0 */ _t4 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02C656E0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02C656E4 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02C656E8 */ return;
|
|
}
|
|
|
|
// fn_02C656CC @ 0x2c656cc
|
|
void Gambit_fn_02C656CC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3;
|
|
|
|
L_02C656CC: ; // 0x2c656cc
|
|
/* 02C656CC */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02C656CC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C656CC */ cpu->r[1] = _t0;
|
|
/* 02C656D0 */ _t1 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02C656D0 */ cpu->r[4] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02C656D4 */ Gambit_fn_02C656AC(cpu);
|
|
/* 02C656D8 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C656D8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02C656DC */ cpu->lr = cpu->r[0];
|
|
/* 02C656E0 */ _t3 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02C656E0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02C656E4 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02C656E8 */ return;
|
|
}
|
|
|
|
// fn_02C656EC @ 0x2c656ec
|
|
void Gambit_fn_02C656EC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16;
|
|
|
|
L_02C656EC: ; // 0x2c656ec
|
|
/* 02C656EC */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 02C656EC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C656EC */ cpu->r[1] = _t0;
|
|
/* 02C656F0 */ /* nop */
|
|
/* 02C656F4 */ cpu->r[0] = cpu->lr;
|
|
/* 02C656F8 */ _t1 = cpu->r[1] + 0x00000024u;
|
|
/* 02C656F8 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02C656FC */ cpu->r[29] = cpu->r[3];
|
|
/* 02C65700 */ _t2 = cpu->r[29] + 0x00000010u;
|
|
/* 02C65700 */ cpu->r[31] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02C65704 */ cpu->r[30] = cpu->r[4];
|
|
/* 02C65708 */ cpu->r[7] = cpu->r[31] + 0x0000000Fu;
|
|
/* 02C6570C */ cpu->r[3] = 0x00000000u;
|
|
/* 02C65710 */ cpu->r[28] = rbrew_rlwinm(cpu->r[7], 0x0000001Cu, 0x00000004u, 0x0000001Fu);
|
|
/* 02C65714 */ cpu->r[12] = cpu->r[30];
|
|
/* 02C65718 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], cpu->r[28]);
|
|
/* 02C6571C */ cpu->r[27] = cpu->r[30] + 0x00000004u;
|
|
/* 02C65720 */ _t3 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C65720 */ _t4 = _t3 & 0x00000001u;
|
|
/* 02C65720 */ if (_t4) goto L_02C65724; else goto L_02C657A8;
|
|
L_02C65724: ; // 0x2c65724
|
|
/* 02C65724 */ cpu->r[0] = cpu->r[31] + 0xFFFFFFFFu;
|
|
/* 02C65728 */ cpu->r[5] = 0x01880000u;
|
|
/* 02C6572C */ cpu->r[11] = 0x00000010u;
|
|
/* 02C65730 */ cpu->r[8] = rbrew_rlwinm(cpu->r[0], 0x0000000Au, 0x00000013u, 0x00000015u);
|
|
/* 02C65734 */ cpu->r[4] = rbrew_rlwinm(cpu->r[0], 0x00000010u, 0x0000000Cu, 0x0000000Cu);
|
|
/* 02C65738 */ cpu->r[5] = cpu->r[5] + 0x00001C00u;
|
|
/* 02C6573C */ cpu->r[6] = cpu->r[8] | 0x01800000u;
|
|
/* 02C65740 */ cpu->r[7] = 0x00000000u;
|
|
L_02C65744: ; // 0x2c65744
|
|
/* 02C65744 */ _t5 = cpu->r[29] + 0x00000020u;
|
|
/* 02C65744 */ cpu->r[10] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02C65748 */ cpu->r[9] = cpu->r[10] + cpu->r[7];
|
|
/* 02C6574C */ cpu->r[0] = rbrew_rlwinm(cpu->r[9], 0x0000001Du, 0x00000003u, 0x0000001Fu);
|
|
/* 02C65750 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[11]);
|
|
/* 02C65754 */ /* nop */
|
|
/* 02C65758 */ _t6 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C65758 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02C65758 */ if (_t7) goto L_02C6575C; else goto L_02C65780;
|
|
L_02C6575C: ; // 0x2c6575c
|
|
/* 02C6575C */ cpu->r[7] = cpu->r[7] + 0x00000100u;
|
|
/* 02C65760 */ cpu->r[3] = cpu->r[3] + 0x00000001u;
|
|
/* 02C65764 */ cpu->r[12] = cpu->r[27] + 0x00000004u;
|
|
/* 02C65768 */ /* nop */
|
|
/* 02C6576C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], cpu->r[28]);
|
|
/* 02C65770 */ cpu->r[11] = cpu->r[11] + 0x00000010u;
|
|
/* 02C65774 */ cpu->r[27] = cpu->r[27] + 0x00000008u;
|
|
/* 02C65778 */ _t8 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C65778 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02C65778 */ if (_t9) goto L_02C65744; else goto L_02C6577C;
|
|
L_02C6577C: ; // 0x2c6577c
|
|
/* 02C6577C */ goto L_02C657A8;
|
|
L_02C65780: ; // 0x2c65780
|
|
/* 02C65780 */ cpu->r[0] = rbrew_rlwinm(cpu->r[6], 0x00000000u, 0x0000000Du, 0x0000000Bu);
|
|
/* 02C65784 */ cpu->r[7] = cpu->r[7] + 0x00000100u;
|
|
/* 02C65788 */ cpu->r[3] = cpu->r[3] + 0x00000001u;
|
|
/* 02C6578C */ cpu->r[0] = cpu->r[0] | cpu->r[4];
|
|
/* 02C65790 */ cpu->r[12] = cpu->r[27] + 0x00000004u;
|
|
/* 02C65794 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], cpu->r[28]);
|
|
/* 02C65798 */ /* nop */
|
|
/* 02C6579C */ cpu->r[27] = cpu->r[27] + 0x00000008u;
|
|
/* 02C657A0 */ cpu->r[11] = cpu->r[11] + 0x00000010u;
|
|
/* 02C657A4 */ _t10 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C657A4 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02C657A4 */ if (_t11) goto L_02C65744; else goto L_02C657A8;
|
|
L_02C657A8: ; // 0x2c657a8
|
|
/* 02C657A8 */ cpu->r[28] = 0x00000000u;
|
|
/* 02C657AC */ cpu->r[4] = 0x00000002u;
|
|
/* 02C657B0 */ cpu->r[8] = 0x8A000000u;
|
|
/* 02C657B4 */ /* nop */
|
|
/* 02C657B8 */ cpu->r[3] = cpu->r[27] + 0x00000004u;
|
|
/* 02C657BC */ /* nop */
|
|
/* 02C657C0 */ Gambit_fn_02C89B44(cpu);
|
|
/* 02C657C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02C657C8 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C657C8 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02C657C8 */ if (_t13) goto L_02C6581C; else goto L_02C657CC;
|
|
L_02C657CC: ; // 0x2c657cc
|
|
/* 02C657CC */ cpu->r[8] = 0x28D60000u;
|
|
/* 02C657D0 */ cpu->r[7] = 0x000A0000u;
|
|
/* 02C657D4 */ cpu->r[9] = 0x3C010000u;
|
|
/* 02C657D8 */ cpu->r[8] = cpu->r[8] + 0x00004800u;
|
|
/* 02C657DC */ cpu->r[10] = 0x00000000u;
|
|
/* 02C657E0 */ cpu->r[9] = cpu->r[9] + 0xFFFFA001u;
|
|
L_02C657E4: ; // 0x2c657e4
|
|
/* 02C657E4 */ cpu->r[3] = cpu->r[29];
|
|
/* 02C657E8 */ cpu->r[4] = cpu->r[30];
|
|
/* 02C657EC */ cpu->r[5] = cpu->r[28];
|
|
/* 02C657F0 */ Gambit_fn_02C65668(cpu);
|
|
/* 02C657F4 */ /* nop */
|
|
/* 02C657F8 */ cpu->r[12] = cpu->r[3] + 0x00000004u;
|
|
/* 02C657FC */ cpu->r[5] = cpu->r[3] + 0x00000008u;
|
|
/* 02C65800 */ /* nop */
|
|
/* 02C65804 */ cpu->r[6] = cpu->r[3] + 0x0000000Cu;
|
|
/* 02C65808 */ cpu->r[31] = cpu->r[31] + 0xFFFFFFFFu;
|
|
/* 02C65808 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02C6580C */ /* nop */
|
|
/* 02C65810 */ cpu->r[28] = cpu->r[28] + 0x00000001u;
|
|
/* 02C65814 */ /* nop */
|
|
/* 02C65818 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C65818 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02C65818 */ if (_t15) goto L_02C6581C; else goto L_02C657E4;
|
|
L_02C6581C: ; // 0x2c6581c
|
|
/* 02C6581C */ /* nop */
|
|
/* 02C65820 */ _t16 = cpu->r[1] + 0x00000024u;
|
|
/* 02C65820 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02C65824 */ cpu->lr = cpu->r[0];
|
|
/* 02C65828 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02C6582C */ return;
|
|
}
|
|
|
|
// fn_02C65830 @ 0x2c65830
|
|
void Gambit_fn_02C65830(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4;
|
|
|
|
L_02C65830: ; // 0x2c65830
|
|
/* 02C65830 */ cpu->r[0] = cpu->lr;
|
|
/* 02C65834 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 02C65834 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 02C65838 */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02C65838 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 02C65838 */ cpu->r[1] = _t1;
|
|
/* 02C6583C */ Gambit_fn_02C65668(cpu);
|
|
/* 02C65840 */ cpu->r[12] = cpu->r[3] + 0x00000004u;
|
|
/* 02C65844 */ /* nop */
|
|
/* 02C65848 */ _t2 = rbrew_rlwinm(cpu->r[6], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 02C65848 */ _t3 = cpu->r[0] & 0xFFFFFF00u;
|
|
/* 02C65848 */ cpu->r[0] = _t3 | _t2;
|
|
/* 02C6584C */ /* nop */
|
|
/* 02C65850 */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C65850 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02C65854 */ cpu->lr = cpu->r[0];
|
|
/* 02C65858 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02C6585C */ return;
|
|
}
|
|
|
|
// fn_02C65838 @ 0x2c65838
|
|
void Gambit_fn_02C65838(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3;
|
|
|
|
L_02C65838: ; // 0x2c65838
|
|
/* 02C65838 */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02C65838 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C65838 */ cpu->r[1] = _t0;
|
|
/* 02C6583C */ Gambit_fn_02C65668(cpu);
|
|
/* 02C65840 */ cpu->r[12] = cpu->r[3] + 0x00000004u;
|
|
/* 02C65844 */ /* nop */
|
|
/* 02C65848 */ _t1 = rbrew_rlwinm(cpu->r[6], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 02C65848 */ _t2 = cpu->r[0] & 0xFFFFFF00u;
|
|
/* 02C65848 */ cpu->r[0] = _t2 | _t1;
|
|
/* 02C6584C */ /* nop */
|
|
/* 02C65850 */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C65850 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02C65854 */ cpu->lr = cpu->r[0];
|
|
/* 02C65858 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02C6585C */ return;
|
|
}
|
|
|
|
// fn_02C65860 @ 0x2c65860
|
|
void Gambit_fn_02C65860(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2;
|
|
|
|
L_02C65860: ; // 0x2c65860
|
|
/* 02C65860 */ cpu->r[0] = cpu->lr;
|
|
/* 02C65864 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 02C65864 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 02C65868 */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02C65868 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 02C65868 */ cpu->r[1] = _t1;
|
|
/* 02C6586C */ Gambit_fn_02C656AC(cpu);
|
|
/* 02C65870 */ cpu->r[12] = cpu->r[3] + 0x00000004u;
|
|
/* 02C65874 */ /* nop */
|
|
/* 02C65878 */ cpu->r[3] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 02C6587C */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C6587C */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02C65880 */ cpu->lr = cpu->r[0];
|
|
/* 02C65884 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02C65888 */ return;
|
|
}
|
|
|
|
// fn_02C65868 @ 0x2c65868
|
|
void Gambit_fn_02C65868(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_02C65868: ; // 0x2c65868
|
|
/* 02C65868 */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02C65868 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C65868 */ cpu->r[1] = _t0;
|
|
/* 02C6586C */ Gambit_fn_02C656AC(cpu);
|
|
/* 02C65870 */ cpu->r[12] = cpu->r[3] + 0x00000004u;
|
|
/* 02C65874 */ /* nop */
|
|
/* 02C65878 */ cpu->r[3] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 02C6587C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C6587C */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02C65880 */ cpu->lr = cpu->r[0];
|
|
/* 02C65884 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02C65888 */ return;
|
|
}
|
|
|
|
// fn_02C6588C @ 0x2c6588c
|
|
void Gambit_fn_02C6588C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4;
|
|
|
|
L_02C6588C: ; // 0x2c6588c
|
|
/* 02C6588C */ cpu->r[0] = cpu->lr;
|
|
/* 02C65890 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 02C65890 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 02C65894 */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02C65894 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 02C65894 */ cpu->r[1] = _t1;
|
|
/* 02C65898 */ Gambit_fn_02C65668(cpu);
|
|
/* 02C6589C */ /* nop */
|
|
/* 02C658A0 */ _t2 = rbrew_rlwinm(cpu->r[6], 0x00000008u, 0x00000014u, 0x00000017u);
|
|
/* 02C658A0 */ _t3 = cpu->r[0] & 0xFFFFF0FFu;
|
|
/* 02C658A0 */ cpu->r[0] = _t3 | _t2;
|
|
/* 02C658A4 */ /* nop */
|
|
/* 02C658A8 */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C658A8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02C658AC */ cpu->lr = cpu->r[0];
|
|
/* 02C658B0 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02C658B4 */ return;
|
|
}
|
|
|
|
// fn_02C65894 @ 0x2c65894
|
|
void Gambit_fn_02C65894(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3;
|
|
|
|
L_02C65894: ; // 0x2c65894
|
|
/* 02C65894 */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02C65894 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C65894 */ cpu->r[1] = _t0;
|
|
/* 02C65898 */ Gambit_fn_02C65668(cpu);
|
|
/* 02C6589C */ /* nop */
|
|
/* 02C658A0 */ _t1 = rbrew_rlwinm(cpu->r[6], 0x00000008u, 0x00000014u, 0x00000017u);
|
|
/* 02C658A0 */ _t2 = cpu->r[0] & 0xFFFFF0FFu;
|
|
/* 02C658A0 */ cpu->r[0] = _t2 | _t1;
|
|
/* 02C658A4 */ /* nop */
|
|
/* 02C658A8 */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C658A8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02C658AC */ cpu->lr = cpu->r[0];
|
|
/* 02C658B0 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02C658B4 */ return;
|
|
}
|
|
|
|
// fn_02C658B8 @ 0x2c658b8
|
|
void Gambit_fn_02C658B8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2;
|
|
|
|
L_02C658B8: ; // 0x2c658b8
|
|
/* 02C658B8 */ cpu->r[0] = cpu->lr;
|
|
/* 02C658BC */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 02C658BC */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 02C658C0 */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02C658C0 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 02C658C0 */ cpu->r[1] = _t1;
|
|
/* 02C658C4 */ Gambit_fn_02C656AC(cpu);
|
|
/* 02C658C8 */ /* nop */
|
|
/* 02C658CC */ cpu->r[3] = rbrew_rlwinm(cpu->r[0], 0x00000018u, 0x0000001Cu, 0x0000001Fu);
|
|
/* 02C658D0 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C658D0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02C658D4 */ cpu->lr = cpu->r[0];
|
|
/* 02C658D8 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02C658DC */ return;
|
|
}
|
|
|
|
// fn_02C658C0 @ 0x2c658c0
|
|
void Gambit_fn_02C658C0(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_02C658C0: ; // 0x2c658c0
|
|
/* 02C658C0 */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02C658C0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C658C0 */ cpu->r[1] = _t0;
|
|
/* 02C658C4 */ Gambit_fn_02C656AC(cpu);
|
|
/* 02C658C8 */ /* nop */
|
|
/* 02C658CC */ cpu->r[3] = rbrew_rlwinm(cpu->r[0], 0x00000018u, 0x0000001Cu, 0x0000001Fu);
|
|
/* 02C658D0 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C658D0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02C658D4 */ cpu->lr = cpu->r[0];
|
|
/* 02C658D8 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02C658DC */ return;
|
|
}
|
|
|
|
// fn_02C658E0 @ 0x2c658e0
|
|
void Gambit_fn_02C658E0(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_02C658E0: ; // 0x2c658e0
|
|
/* 02C658E0 */ cpu->r[0] = cpu->lr;
|
|
/* 02C658E4 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 02C658E4 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 02C658E8 */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02C658E8 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 02C658E8 */ cpu->r[1] = _t1;
|
|
/* 02C658EC */ Gambit_fn_02C65668(cpu);
|
|
/* 02C658F0 */ cpu->r[7] = 0x101B0000u;
|
|
/* 02C658F4 */ cpu->r[0] = rbrew_rlwinm(cpu->r[6], 0x00000003u, 0x00000017u, 0x0000001Cu);
|
|
/* 02C658F8 */ cpu->r[7] = cpu->r[7] + 0x000001E8u;
|
|
/* 02C658FC */ /* nop */
|
|
/* 02C65900 */ cpu->r[5] = cpu->r[7] + cpu->r[0];
|
|
/* 02C65904 */ _t2 = cpu->r[5] + 0x00000002u;
|
|
/* 02C65904 */ cpu->r[0] = rbrew_read8(cpu->mem, _t2);
|
|
/* 02C65908 */ cpu->r[9] = cpu->r[3] + 0x00000004u;
|
|
/* 02C6590C */ _t3 = rbrew_rlwinm(cpu->r[0], 0x0000001Au, 0x00000000u, 0x00000005u);
|
|
/* 02C6590C */ _t4 = cpu->r[11] & 0x03FFFFFFu;
|
|
/* 02C6590C */ cpu->r[11] = _t4 | _t3;
|
|
/* 02C65910 */ cpu->r[10] = rbrew_rlwinm(cpu->r[6], 0x00000000u, 0x00000014u, 0x00000014u);
|
|
/* 02C65910 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02C65914 */ /* nop */
|
|
/* 02C65918 */ /* nop */
|
|
/* 02C6591C */ cpu->r[12] = 0x00000002u;
|
|
/* 02C65920 */ _t5 = cpu->r[5] + 0x00000004u;
|
|
/* 02C65920 */ cpu->r[9] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02C65924 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C65924 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02C65924 */ if (_t7) goto L_02C65928; else goto L_02C6592C;
|
|
L_02C65928: ; // 0x2c65928
|
|
/* 02C65928 */ cpu->r[12] = rbrew_rlwinm(cpu->r[6], 0x00000018u, 0x0000001Fu, 0x0000001Fu);
|
|
L_02C6592C: ; // 0x2c6592c
|
|
/* 02C6592C */ _t8 = rbrew_rlwinm(cpu->r[12], 0x0000001Cu, 0x00000002u, 0x00000003u);
|
|
/* 02C6592C */ _t9 = cpu->r[10] & 0xCFFFFFFFu;
|
|
/* 02C6592C */ cpu->r[10] = _t9 | _t8;
|
|
/* 02C65930 */ _t10 = rbrew_rlwinm(cpu->r[9], 0x00000011u, 0x00000014u, 0x00000016u);
|
|
/* 02C65930 */ _t11 = cpu->r[10] & 0xFFFFF1FFu;
|
|
/* 02C65930 */ cpu->r[10] = _t11 | _t10;
|
|
/* 02C65934 */ _t12 = rbrew_rlwinm(cpu->r[9], 0x0000001Cu, 0x00000011u, 0x00000013u);
|
|
/* 02C65934 */ _t13 = cpu->r[10] & 0xFFFF8FFFu;
|
|
/* 02C65934 */ cpu->r[10] = _t13 | _t12;
|
|
/* 02C65938 */ _t14 = rbrew_rlwinm(cpu->r[9], 0x00000007u, 0x0000000Eu, 0x00000010u);
|
|
/* 02C65938 */ _t15 = cpu->r[10] & 0xFFFC7FFFu;
|
|
/* 02C65938 */ cpu->r[10] = _t15 | _t14;
|
|
/* 02C6593C */ _t16 = rbrew_rlwinm(cpu->r[9], 0x00000012u, 0x0000000Bu, 0x0000000Du);
|
|
/* 02C6593C */ _t17 = cpu->r[10] & 0xFFE3FFFFu;
|
|
/* 02C6593C */ cpu->r[10] = _t17 | _t16;
|
|
/* 02C65940 */ _t18 = cpu->r[5] + 0x00000001u;
|
|
/* 02C65940 */ cpu->r[8] = rbrew_read8(cpu->mem, _t18);
|
|
/* 02C65944 */ _t19 = rbrew_rlwinm(cpu->r[6], 0x00000015u, 0x00000001u, 0x00000001u);
|
|
/* 02C65944 */ _t20 = cpu->r[10] & 0xBFFFFFFFu;
|
|
/* 02C65944 */ cpu->r[10] = _t20 | _t19;
|
|
/* 02C65948 */ cpu->r[11] = cpu->r[3] + 0x00000004u;
|
|
/* 02C6594C */ _t21 = rbrew_rlwinm(cpu->r[8], 0x00000016u, 0x00000004u, 0x00000009u);
|
|
/* 02C6594C */ _t22 = cpu->r[10] & 0xF03FFFFFu;
|
|
/* 02C6594C */ cpu->r[10] = _t22 | _t21;
|
|
/* 02C65950 */ cpu->r[12] = cpu->r[3] + 0x00000008u;
|
|
/* 02C65954 */ /* nop */
|
|
/* 02C65958 */ /* nop */
|
|
/* 02C6595C */ _t23 = cpu->r[5] + 0x00000003u;
|
|
/* 02C6595C */ cpu->r[0] = rbrew_read8(cpu->mem, _t23);
|
|
/* 02C65960 */ _t24 = rbrew_rlwinm(cpu->r[0], 0x00000010u, 0x0000000Eu, 0x0000000Fu);
|
|
/* 02C65960 */ _t25 = cpu->r[11] & 0xFFFCFFFFu;
|
|
/* 02C65960 */ cpu->r[11] = _t25 | _t24;
|
|
/* 02C65964 */ /* nop */
|
|
/* 02C65968 */ _t26 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C65968 */ cpu->r[0] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02C6596C */ cpu->lr = cpu->r[0];
|
|
/* 02C65970 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02C65974 */ return;
|
|
}
|
|
|
|
// fn_02C658E8 @ 0x2c658e8
|
|
void Gambit_fn_02C658E8(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;
|
|
|
|
L_02C658E8: ; // 0x2c658e8
|
|
/* 02C658E8 */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02C658E8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C658E8 */ cpu->r[1] = _t0;
|
|
/* 02C658EC */ Gambit_fn_02C65668(cpu);
|
|
/* 02C658F0 */ cpu->r[7] = 0x101B0000u;
|
|
/* 02C658F4 */ cpu->r[0] = rbrew_rlwinm(cpu->r[6], 0x00000003u, 0x00000017u, 0x0000001Cu);
|
|
/* 02C658F8 */ cpu->r[7] = cpu->r[7] + 0x000001E8u;
|
|
/* 02C658FC */ /* nop */
|
|
/* 02C65900 */ cpu->r[5] = cpu->r[7] + cpu->r[0];
|
|
/* 02C65904 */ _t1 = cpu->r[5] + 0x00000002u;
|
|
/* 02C65904 */ cpu->r[0] = rbrew_read8(cpu->mem, _t1);
|
|
/* 02C65908 */ cpu->r[9] = cpu->r[3] + 0x00000004u;
|
|
/* 02C6590C */ _t2 = rbrew_rlwinm(cpu->r[0], 0x0000001Au, 0x00000000u, 0x00000005u);
|
|
/* 02C6590C */ _t3 = cpu->r[11] & 0x03FFFFFFu;
|
|
/* 02C6590C */ cpu->r[11] = _t3 | _t2;
|
|
/* 02C65910 */ cpu->r[10] = rbrew_rlwinm(cpu->r[6], 0x00000000u, 0x00000014u, 0x00000014u);
|
|
/* 02C65910 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02C65914 */ /* nop */
|
|
/* 02C65918 */ /* nop */
|
|
/* 02C6591C */ cpu->r[12] = 0x00000002u;
|
|
/* 02C65920 */ _t4 = cpu->r[5] + 0x00000004u;
|
|
/* 02C65920 */ cpu->r[9] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02C65924 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C65924 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02C65924 */ if (_t6) goto L_02C65928; else goto L_02C6592C;
|
|
L_02C65928: ; // 0x2c65928
|
|
/* 02C65928 */ cpu->r[12] = rbrew_rlwinm(cpu->r[6], 0x00000018u, 0x0000001Fu, 0x0000001Fu);
|
|
L_02C6592C: ; // 0x2c6592c
|
|
/* 02C6592C */ _t7 = rbrew_rlwinm(cpu->r[12], 0x0000001Cu, 0x00000002u, 0x00000003u);
|
|
/* 02C6592C */ _t8 = cpu->r[10] & 0xCFFFFFFFu;
|
|
/* 02C6592C */ cpu->r[10] = _t8 | _t7;
|
|
/* 02C65930 */ _t9 = rbrew_rlwinm(cpu->r[9], 0x00000011u, 0x00000014u, 0x00000016u);
|
|
/* 02C65930 */ _t10 = cpu->r[10] & 0xFFFFF1FFu;
|
|
/* 02C65930 */ cpu->r[10] = _t10 | _t9;
|
|
/* 02C65934 */ _t11 = rbrew_rlwinm(cpu->r[9], 0x0000001Cu, 0x00000011u, 0x00000013u);
|
|
/* 02C65934 */ _t12 = cpu->r[10] & 0xFFFF8FFFu;
|
|
/* 02C65934 */ cpu->r[10] = _t12 | _t11;
|
|
/* 02C65938 */ _t13 = rbrew_rlwinm(cpu->r[9], 0x00000007u, 0x0000000Eu, 0x00000010u);
|
|
/* 02C65938 */ _t14 = cpu->r[10] & 0xFFFC7FFFu;
|
|
/* 02C65938 */ cpu->r[10] = _t14 | _t13;
|
|
/* 02C6593C */ _t15 = rbrew_rlwinm(cpu->r[9], 0x00000012u, 0x0000000Bu, 0x0000000Du);
|
|
/* 02C6593C */ _t16 = cpu->r[10] & 0xFFE3FFFFu;
|
|
/* 02C6593C */ cpu->r[10] = _t16 | _t15;
|
|
/* 02C65940 */ _t17 = cpu->r[5] + 0x00000001u;
|
|
/* 02C65940 */ cpu->r[8] = rbrew_read8(cpu->mem, _t17);
|
|
/* 02C65944 */ _t18 = rbrew_rlwinm(cpu->r[6], 0x00000015u, 0x00000001u, 0x00000001u);
|
|
/* 02C65944 */ _t19 = cpu->r[10] & 0xBFFFFFFFu;
|
|
/* 02C65944 */ cpu->r[10] = _t19 | _t18;
|
|
/* 02C65948 */ cpu->r[11] = cpu->r[3] + 0x00000004u;
|
|
/* 02C6594C */ _t20 = rbrew_rlwinm(cpu->r[8], 0x00000016u, 0x00000004u, 0x00000009u);
|
|
/* 02C6594C */ _t21 = cpu->r[10] & 0xF03FFFFFu;
|
|
/* 02C6594C */ cpu->r[10] = _t21 | _t20;
|
|
/* 02C65950 */ cpu->r[12] = cpu->r[3] + 0x00000008u;
|
|
/* 02C65954 */ /* nop */
|
|
/* 02C65958 */ /* nop */
|
|
/* 02C6595C */ _t22 = cpu->r[5] + 0x00000003u;
|
|
/* 02C6595C */ cpu->r[0] = rbrew_read8(cpu->mem, _t22);
|
|
/* 02C65960 */ _t23 = rbrew_rlwinm(cpu->r[0], 0x00000010u, 0x0000000Eu, 0x0000000Fu);
|
|
/* 02C65960 */ _t24 = cpu->r[11] & 0xFFFCFFFFu;
|
|
/* 02C65960 */ cpu->r[11] = _t24 | _t23;
|
|
/* 02C65964 */ /* nop */
|
|
/* 02C65968 */ _t25 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C65968 */ cpu->r[0] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02C6596C */ cpu->lr = cpu->r[0];
|
|
/* 02C65970 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02C65974 */ return;
|
|
}
|
|
|
|
// fn_02C65978 @ 0x2c65978
|
|
void Gambit_fn_02C65978(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9;
|
|
|
|
L_02C65978: ; // 0x2c65978
|
|
/* 02C65978 */ cpu->r[12] = 0x101B0000u;
|
|
/* 02C6597C */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02C6597C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C6597C */ cpu->r[1] = _t0;
|
|
/* 02C65980 */ cpu->r[11] = cpu->r[1] + 0x00000008u;
|
|
/* 02C65984 */ cpu->r[12] = cpu->r[12] + 0x000001E8u;
|
|
/* 02C65988 */ _t1 = cpu->r[1] + 0x00000009u;
|
|
/* 02C65988 */ rbrew_write8(cpu->mem, _t1, (uint8_t)cpu->r[3]);
|
|
/* 02C6598C */ /* nop */
|
|
/* 02C65990 */ cpu->r[0] = cpu->r[12] + 0x00000098u;
|
|
/* 02C65994 */ cpu->r[8] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C65998 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[0]);
|
|
/* 02C6599C */ /* nop */
|
|
/* 02C659A0 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C659A0 */ cpu->r[9] = rbrew_read16(cpu->mem, _t2);
|
|
/* 02C659A4 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C659A4 */ _t4 = _t3 & 0x00000001u;
|
|
/* 02C659A4 */ if (_t4) goto L_02C659C4; else goto L_02C659A8;
|
|
L_02C659A8: ; // 0x2c659a8
|
|
/* 02C659A8 */ _t5 = cpu->r[12] + 0x00000001u;
|
|
/* 02C659A8 */ cpu->r[7] = rbrew_read8(cpu->mem, _t5);
|
|
/* 02C659AC */ cpu->r[10] = rbrew_rlwinm(cpu->r[9], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 02C659B0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[10]);
|
|
/* 02C659B4 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C659B4 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02C659B4 */ if (_t7) goto L_02C659C4; else goto L_02C659B8;
|
|
L_02C659B8: ; // 0x2c659b8
|
|
/* 02C659B8 */ cpu->r[12] = cpu->r[12] + 0x00000008u;
|
|
/* 02C659BC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[0]);
|
|
/* 02C659C0 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C659C0 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02C659C0 */ if (_t9) goto L_02C659C4; else goto L_02C659A8;
|
|
L_02C659C4: ; // 0x2c659c4
|
|
/* 02C659C4 */ cpu->r[3] = cpu->r[12];
|
|
/* 02C659C8 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C659CC */ return;
|
|
}
|
|
|
|
// fn_02C6597C @ 0x2c6597c
|
|
void Gambit_fn_02C6597C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9;
|
|
|
|
L_02C6597C: ; // 0x2c6597c
|
|
/* 02C6597C */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02C6597C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C6597C */ cpu->r[1] = _t0;
|
|
/* 02C65980 */ cpu->r[11] = cpu->r[1] + 0x00000008u;
|
|
/* 02C65984 */ cpu->r[12] = cpu->r[12] + 0x000001E8u;
|
|
/* 02C65988 */ _t1 = cpu->r[1] + 0x00000009u;
|
|
/* 02C65988 */ rbrew_write8(cpu->mem, _t1, (uint8_t)cpu->r[3]);
|
|
/* 02C6598C */ /* nop */
|
|
/* 02C65990 */ cpu->r[0] = cpu->r[12] + 0x00000098u;
|
|
/* 02C65994 */ cpu->r[8] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C65998 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[0]);
|
|
/* 02C6599C */ /* nop */
|
|
/* 02C659A0 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C659A0 */ cpu->r[9] = rbrew_read16(cpu->mem, _t2);
|
|
/* 02C659A4 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C659A4 */ _t4 = _t3 & 0x00000001u;
|
|
/* 02C659A4 */ if (_t4) goto L_02C659C4; else goto L_02C659A8;
|
|
L_02C659A8: ; // 0x2c659a8
|
|
/* 02C659A8 */ _t5 = cpu->r[12] + 0x00000001u;
|
|
/* 02C659A8 */ cpu->r[7] = rbrew_read8(cpu->mem, _t5);
|
|
/* 02C659AC */ cpu->r[10] = rbrew_rlwinm(cpu->r[9], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 02C659B0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[10]);
|
|
/* 02C659B4 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C659B4 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02C659B4 */ if (_t7) goto L_02C659C4; else goto L_02C659B8;
|
|
L_02C659B8: ; // 0x2c659b8
|
|
/* 02C659B8 */ cpu->r[12] = cpu->r[12] + 0x00000008u;
|
|
/* 02C659BC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[0]);
|
|
/* 02C659C0 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C659C0 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02C659C0 */ if (_t9) goto L_02C659C4; else goto L_02C659A8;
|
|
L_02C659C4: ; // 0x2c659c4
|
|
/* 02C659C4 */ cpu->r[3] = cpu->r[12];
|
|
/* 02C659C8 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C659CC */ return;
|
|
}
|
|
|
|
// fn_02C659D0 @ 0x2c659d0
|
|
void Gambit_fn_02C659D0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_02C659D0: ; // 0x2c659d0
|
|
/* 02C659D0 */ cpu->r[0] = cpu->lr;
|
|
/* 02C659D4 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 02C659D4 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 02C659D8 */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02C659D8 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 02C659D8 */ cpu->r[1] = _t1;
|
|
/* 02C659DC */ Gambit_fn_02C656AC(cpu);
|
|
/* 02C659E0 */ cpu->r[12] = cpu->r[3] + 0x00000004u;
|
|
/* 02C659E4 */ /* nop */
|
|
/* 02C659E8 */ cpu->r[3] = rbrew_rlwinm(cpu->r[6], 0x0000000Au, 0x0000001Au, 0x0000001Fu);
|
|
/* 02C659EC */ Gambit_fn_02C65978(cpu);
|
|
/* 02C659F0 */ cpu->r[11] = rbrew_rlwinm(cpu->r[6], 0x00000004u, 0x0000001Eu, 0x0000001Fu);
|
|
/* 02C659F4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000002u);
|
|
/* 02C659F8 */ _t2 = cpu->r[3] + 0x00000000u;
|
|
/* 02C659F8 */ cpu->r[0] = rbrew_read8(cpu->mem, _t2);
|
|
/* 02C659FC */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C659FC */ _t4 = _t3 & 0x00000001u;
|
|
/* 02C659FC */ if (_t4) goto L_02C65A00; else goto L_02C65A18;
|
|
L_02C65A00: ; // 0x2c65a00
|
|
/* 02C65A00 */ cpu->r[12] = rbrew_rlwinm(cpu->r[6], 0x00000002u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02C65A04 */ cpu->r[0] = cpu->r[0] | 0x00000800u;
|
|
/* 02C65A08 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000001u);
|
|
/* 02C65A0C */ cpu->r[11] = 0x00000000u;
|
|
/* 02C65A10 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C65A10 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02C65A10 */ if (_t6) goto L_02C65A14; else goto L_02C65A40;
|
|
L_02C65A14: ; // 0x2c65a14
|
|
/* 02C65A14 */ goto L_02C65A3C;
|
|
L_02C65A18: ; // 0x2c65a18
|
|
/* 02C65A18 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000001u);
|
|
/* 02C65A1C */ cpu->r[10] = 0x00000000u;
|
|
/* 02C65A20 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C65A20 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02C65A20 */ if (_t8) goto L_02C65A24; else goto L_02C65A28;
|
|
L_02C65A24: ; // 0x2c65a24
|
|
/* 02C65A24 */ cpu->r[10] = 0x00000100u;
|
|
L_02C65A28: ; // 0x2c65a28
|
|
/* 02C65A28 */ cpu->r[12] = rbrew_rlwinm(cpu->r[6], 0x00000002u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02C65A2C */ cpu->r[0] = cpu->r[0] | cpu->r[10];
|
|
/* 02C65A30 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000001u);
|
|
/* 02C65A34 */ cpu->r[11] = 0x00000000u;
|
|
/* 02C65A38 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C65A38 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02C65A38 */ if (_t10) goto L_02C65A3C; else goto L_02C65A40;
|
|
L_02C65A3C: ; // 0x2c65a3c
|
|
/* 02C65A3C */ cpu->r[11] = 0x00000200u;
|
|
L_02C65A40: ; // 0x2c65a40
|
|
/* 02C65A40 */ cpu->r[3] = cpu->r[0] | cpu->r[11];
|
|
/* 02C65A44 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C65A44 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02C65A48 */ cpu->lr = cpu->r[0];
|
|
/* 02C65A4C */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02C65A50 */ return;
|
|
}
|
|
|
|
// fn_02C659D8 @ 0x2c659d8
|
|
void Gambit_fn_02C659D8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_02C659D8: ; // 0x2c659d8
|
|
/* 02C659D8 */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02C659D8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C659D8 */ cpu->r[1] = _t0;
|
|
/* 02C659DC */ Gambit_fn_02C656AC(cpu);
|
|
/* 02C659E0 */ cpu->r[12] = cpu->r[3] + 0x00000004u;
|
|
/* 02C659E4 */ /* nop */
|
|
/* 02C659E8 */ cpu->r[3] = rbrew_rlwinm(cpu->r[6], 0x0000000Au, 0x0000001Au, 0x0000001Fu);
|
|
/* 02C659EC */ Gambit_fn_02C65978(cpu);
|
|
/* 02C659F0 */ cpu->r[11] = rbrew_rlwinm(cpu->r[6], 0x00000004u, 0x0000001Eu, 0x0000001Fu);
|
|
/* 02C659F4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000002u);
|
|
/* 02C659F8 */ _t1 = cpu->r[3] + 0x00000000u;
|
|
/* 02C659F8 */ cpu->r[0] = rbrew_read8(cpu->mem, _t1);
|
|
/* 02C659FC */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C659FC */ _t3 = _t2 & 0x00000001u;
|
|
/* 02C659FC */ if (_t3) goto L_02C65A00; else goto L_02C65A18;
|
|
L_02C65A00: ; // 0x2c65a00
|
|
/* 02C65A00 */ cpu->r[12] = rbrew_rlwinm(cpu->r[6], 0x00000002u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02C65A04 */ cpu->r[0] = cpu->r[0] | 0x00000800u;
|
|
/* 02C65A08 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000001u);
|
|
/* 02C65A0C */ cpu->r[11] = 0x00000000u;
|
|
/* 02C65A10 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C65A10 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02C65A10 */ if (_t5) goto L_02C65A14; else goto L_02C65A40;
|
|
L_02C65A14: ; // 0x2c65a14
|
|
/* 02C65A14 */ goto L_02C65A3C;
|
|
L_02C65A18: ; // 0x2c65a18
|
|
/* 02C65A18 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000001u);
|
|
/* 02C65A1C */ cpu->r[10] = 0x00000000u;
|
|
/* 02C65A20 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C65A20 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02C65A20 */ if (_t7) goto L_02C65A24; else goto L_02C65A28;
|
|
L_02C65A24: ; // 0x2c65a24
|
|
/* 02C65A24 */ cpu->r[10] = 0x00000100u;
|
|
L_02C65A28: ; // 0x2c65a28
|
|
/* 02C65A28 */ cpu->r[12] = rbrew_rlwinm(cpu->r[6], 0x00000002u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02C65A2C */ cpu->r[0] = cpu->r[0] | cpu->r[10];
|
|
/* 02C65A30 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000001u);
|
|
/* 02C65A34 */ cpu->r[11] = 0x00000000u;
|
|
/* 02C65A38 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C65A38 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02C65A38 */ if (_t9) goto L_02C65A3C; else goto L_02C65A40;
|
|
L_02C65A3C: ; // 0x2c65a3c
|
|
/* 02C65A3C */ cpu->r[11] = 0x00000200u;
|
|
L_02C65A40: ; // 0x2c65a40
|
|
/* 02C65A40 */ cpu->r[3] = cpu->r[0] | cpu->r[11];
|
|
/* 02C65A44 */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C65A44 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02C65A48 */ cpu->lr = cpu->r[0];
|
|
/* 02C65A4C */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02C65A50 */ return;
|
|
}
|
|
|
|
// fn_02C65A54 @ 0x2c65a54
|
|
void Gambit_fn_02C65A54(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4;
|
|
|
|
L_02C65A54: ; // 0x2c65a54
|
|
/* 02C65A54 */ cpu->r[0] = cpu->lr;
|
|
/* 02C65A58 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 02C65A58 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 02C65A5C */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02C65A5C */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 02C65A5C */ cpu->r[1] = _t1;
|
|
/* 02C65A60 */ Gambit_fn_02C65668(cpu);
|
|
/* 02C65A64 */ cpu->r[12] = cpu->r[3] + 0x00000008u;
|
|
/* 02C65A68 */ /* nop */
|
|
/* 02C65A6C */ _t2 = rbrew_rlwinm(cpu->r[6], 0x00000000u, 0x00000010u, 0x0000001Fu);
|
|
/* 02C65A6C */ _t3 = cpu->r[0] & 0xFFFF0000u;
|
|
/* 02C65A6C */ cpu->r[0] = _t3 | _t2;
|
|
/* 02C65A70 */ /* nop */
|
|
/* 02C65A74 */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C65A74 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02C65A78 */ cpu->lr = cpu->r[0];
|
|
/* 02C65A7C */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02C65A80 */ return;
|
|
}
|
|
|
|
// fn_02C65A5C @ 0x2c65a5c
|
|
void Gambit_fn_02C65A5C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3;
|
|
|
|
L_02C65A5C: ; // 0x2c65a5c
|
|
/* 02C65A5C */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02C65A5C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C65A5C */ cpu->r[1] = _t0;
|
|
/* 02C65A60 */ Gambit_fn_02C65668(cpu);
|
|
/* 02C65A64 */ cpu->r[12] = cpu->r[3] + 0x00000008u;
|
|
/* 02C65A68 */ /* nop */
|
|
/* 02C65A6C */ _t1 = rbrew_rlwinm(cpu->r[6], 0x00000000u, 0x00000010u, 0x0000001Fu);
|
|
/* 02C65A6C */ _t2 = cpu->r[0] & 0xFFFF0000u;
|
|
/* 02C65A6C */ cpu->r[0] = _t2 | _t1;
|
|
/* 02C65A70 */ /* nop */
|
|
/* 02C65A74 */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C65A74 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02C65A78 */ cpu->lr = cpu->r[0];
|
|
/* 02C65A7C */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02C65A80 */ return;
|
|
}
|
|
|
|
// fn_02C65A84 @ 0x2c65a84
|
|
void Gambit_fn_02C65A84(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2;
|
|
|
|
L_02C65A84: ; // 0x2c65a84
|
|
/* 02C65A84 */ cpu->r[0] = cpu->lr;
|
|
/* 02C65A88 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 02C65A88 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 02C65A8C */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02C65A8C */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 02C65A8C */ cpu->r[1] = _t1;
|
|
/* 02C65A90 */ Gambit_fn_02C656AC(cpu);
|
|
/* 02C65A94 */ cpu->r[12] = cpu->r[3] + 0x00000008u;
|
|
/* 02C65A98 */ /* nop */
|
|
/* 02C65A9C */ cpu->r[3] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000010u, 0x0000001Fu);
|
|
/* 02C65AA0 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C65AA0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02C65AA4 */ cpu->lr = cpu->r[0];
|
|
/* 02C65AA8 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02C65AAC */ return;
|
|
}
|
|
|
|
// fn_02C65A8C @ 0x2c65a8c
|
|
void Gambit_fn_02C65A8C(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_02C65A8C: ; // 0x2c65a8c
|
|
/* 02C65A8C */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02C65A8C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C65A8C */ cpu->r[1] = _t0;
|
|
/* 02C65A90 */ Gambit_fn_02C656AC(cpu);
|
|
/* 02C65A94 */ cpu->r[12] = cpu->r[3] + 0x00000008u;
|
|
/* 02C65A98 */ /* nop */
|
|
/* 02C65A9C */ cpu->r[3] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000010u, 0x0000001Fu);
|
|
/* 02C65AA0 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C65AA0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02C65AA4 */ cpu->lr = cpu->r[0];
|
|
/* 02C65AA8 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02C65AAC */ return;
|
|
}
|
|
|
|
// fn_02C65AB0 @ 0x2c65ab0
|
|
void Gambit_fn_02C65AB0(CPUState* cpu) {
|
|
L_02C65AB0: ; // 0x2c65ab0
|
|
/* 02C65AB0 */ return;
|
|
}
|
|
|
|
// fn_02C65AB4 @ 0x2c65ab4
|
|
void Gambit_fn_02C65AB4(CPUState* cpu) {
|
|
L_02C65AB4: ; // 0x2c65ab4
|
|
/* 02C65AB4 */ return;
|
|
}
|
|
|
|
// fn_02C65AB8 @ 0x2c65ab8
|
|
void Gambit_fn_02C65AB8(CPUState* cpu) {
|
|
L_02C65AB8: ; // 0x2c65ab8
|
|
/* 02C65AB8 */ return;
|
|
}
|
|
|
|
// fn_02C65AC4 @ 0x2c65ac4
|
|
void Gambit_fn_02C65AC4(CPUState* cpu) {
|
|
L_02C65AC4: ; // 0x2c65ac4
|
|
/* 02C65AC4 */ return;
|
|
}
|
|
|
|
// fn_02C65AC8 @ 0x2c65ac8
|
|
void Gambit_fn_02C65AC8(CPUState* cpu) {
|
|
L_02C65AC8: ; // 0x2c65ac8
|
|
/* 02C65AC8 */ return;
|
|
}
|
|
|
|
// fn_02C65ACC @ 0x2c65acc
|
|
void Gambit_fn_02C65ACC(CPUState* cpu) {
|
|
L_02C65ACC: ; // 0x2c65acc
|
|
/* 02C65ACC */ return;
|
|
}
|
|
|
|
// fn_02C65AD0 @ 0x2c65ad0
|
|
void Gambit_fn_02C65AD0(CPUState* cpu) {
|
|
L_02C65AD0: ; // 0x2c65ad0
|
|
/* 02C65AD0 */ rbrew_dispatch(cpu, 0x02d06190u); return;
|
|
}
|
|
|
|
// fn_02C65AD4 @ 0x2c65ad4
|
|
void Gambit_fn_02C65AD4(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_02C65AD4: ; // 0x2c65ad4
|
|
/* 02C65AD4 */ cpu->r[0] = 0x00280000u;
|
|
/* 02C65AD8 */ cpu->r[0] = cpu->r[0] | 0x00000240u;
|
|
/* 02C65ADC */ _t0 = cpu->r[3] + 0x00000000u;
|
|
/* 02C65ADC */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 02C65AE0 */ return;
|
|
}
|
|
|
|
// fn_02C65AE4 @ 0x2c65ae4
|
|
void Gambit_fn_02C65AE4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3;
|
|
|
|
L_02C65AE4: ; // 0x2c65ae4
|
|
/* 02C65AE4 */ _t0 = cpu->r[3] + 0x00000000u;
|
|
/* 02C65AE4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02C65AE8 */ _t1 = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02C65AE8 */ _t2 = cpu->r[0] & 0xFFFFFFFEu;
|
|
/* 02C65AE8 */ cpu->r[0] = _t2 | _t1;
|
|
/* 02C65AEC */ _t3 = cpu->r[3] + 0x00000000u;
|
|
/* 02C65AEC */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02C65AF0 */ return;
|
|
}
|
|
|
|
// fn_02C65AF4 @ 0x2c65af4
|
|
void Gambit_fn_02C65AF4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3;
|
|
|
|
L_02C65AF4: ; // 0x2c65af4
|
|
/* 02C65AF4 */ _t0 = cpu->r[3] + 0x00000000u;
|
|
/* 02C65AF4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02C65AF8 */ _t1 = rbrew_rlwinm(cpu->r[4], 0x00000001u, 0x0000001Eu, 0x0000001Eu);
|
|
/* 02C65AF8 */ _t2 = cpu->r[0] & 0xFFFFFFFDu;
|
|
/* 02C65AF8 */ cpu->r[0] = _t2 | _t1;
|
|
/* 02C65AFC */ _t3 = cpu->r[3] + 0x00000000u;
|
|
/* 02C65AFC */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02C65B00 */ return;
|
|
}
|
|
|
|
// fn_02C65B04 @ 0x2c65b04
|
|
void Gambit_fn_02C65B04(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_02C65B04: ; // 0x2c65b04
|
|
/* 02C65B04 */ _t0 = cpu->r[3] + 0x00000000u;
|
|
/* 02C65B04 */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02C65B08 */ cpu->r[3] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02C65B0C */ return;
|
|
}
|
|
|
|
// fn_02C65B10 @ 0x2c65b10
|
|
void Gambit_fn_02C65B10(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_02C65B10: ; // 0x2c65b10
|
|
/* 02C65B10 */ _t0 = cpu->r[3] + 0x00000000u;
|
|
/* 02C65B10 */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02C65B14 */ cpu->r[3] = rbrew_rlwinm(cpu->r[0], 0x0000001Fu, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02C65B18 */ return;
|
|
}
|
|
|
|
// fn_02C65B1C @ 0x2c65b1c
|
|
void Gambit_fn_02C65B1C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3;
|
|
|
|
L_02C65B1C: ; // 0x2c65b1c
|
|
/* 02C65B1C */ _t0 = cpu->r[3] + 0x00000000u;
|
|
/* 02C65B1C */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02C65B20 */ _t1 = rbrew_rlwinm(cpu->r[4], 0x00000003u, 0x0000001Bu, 0x0000001Cu);
|
|
/* 02C65B20 */ _t2 = cpu->r[0] & 0xFFFFFFE7u;
|
|
/* 02C65B20 */ cpu->r[0] = _t2 | _t1;
|
|
/* 02C65B24 */ _t3 = cpu->r[3] + 0x00000000u;
|
|
/* 02C65B24 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02C65B28 */ return;
|
|
}
|
|
|
|
// fn_02C65B2C @ 0x2c65b2c
|
|
void Gambit_fn_02C65B2C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3;
|
|
|
|
L_02C65B2C: ; // 0x2c65b2c
|
|
/* 02C65B2C */ _t0 = cpu->r[3] + 0x00000000u;
|
|
/* 02C65B2C */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02C65B30 */ _t1 = rbrew_rlwinm(cpu->r[4], 0x00000005u, 0x00000018u, 0x0000001Au);
|
|
/* 02C65B30 */ _t2 = cpu->r[0] & 0xFFFFFF1Fu;
|
|
/* 02C65B30 */ cpu->r[0] = _t2 | _t1;
|
|
/* 02C65B34 */ _t3 = cpu->r[3] + 0x00000000u;
|
|
/* 02C65B34 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02C65B38 */ return;
|
|
}
|
|
|
|
// fn_02C65B3C @ 0x2c65b3c
|
|
void Gambit_fn_02C65B3C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3;
|
|
|
|
L_02C65B3C: ; // 0x2c65b3c
|
|
/* 02C65B3C */ _t0 = cpu->r[3] + 0x00000000u;
|
|
/* 02C65B3C */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02C65B40 */ _t1 = rbrew_rlwinm(cpu->r[4], 0x00000008u, 0x00000015u, 0x00000017u);
|
|
/* 02C65B40 */ _t2 = cpu->r[0] & 0xFFFFF8FFu;
|
|
/* 02C65B40 */ cpu->r[0] = _t2 | _t1;
|
|
/* 02C65B44 */ _t3 = cpu->r[3] + 0x00000000u;
|
|
/* 02C65B44 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02C65B48 */ return;
|
|
}
|
|
|
|
// fn_02C65B4C @ 0x2c65b4c
|
|
void Gambit_fn_02C65B4C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3;
|
|
|
|
L_02C65B4C: ; // 0x2c65b4c
|
|
/* 02C65B4C */ _t0 = cpu->r[3] + 0x00000000u;
|
|
/* 02C65B4C */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02C65B50 */ _t1 = rbrew_rlwinm(cpu->r[4], 0x0000000Bu, 0x00000014u, 0x00000014u);
|
|
/* 02C65B50 */ _t2 = cpu->r[0] & 0xFFFFF7FFu;
|
|
/* 02C65B50 */ cpu->r[0] = _t2 | _t1;
|
|
/* 02C65B54 */ _t3 = cpu->r[3] + 0x00000000u;
|
|
/* 02C65B54 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02C65B58 */ return;
|
|
}
|
|
|
|
// fn_02C65B5C @ 0x2c65b5c
|
|
void Gambit_fn_02C65B5C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3;
|
|
|
|
L_02C65B5C: ; // 0x2c65b5c
|
|
/* 02C65B5C */ _t0 = cpu->r[3] + 0x00000000u;
|
|
/* 02C65B5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02C65B60 */ _t1 = rbrew_rlwinm(cpu->r[4], 0x0000000Cu, 0x00000013u, 0x00000013u);
|
|
/* 02C65B60 */ _t2 = cpu->r[0] & 0xFFFFEFFFu;
|
|
/* 02C65B60 */ cpu->r[0] = _t2 | _t1;
|
|
/* 02C65B64 */ _t3 = cpu->r[3] + 0x00000000u;
|
|
/* 02C65B64 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02C65B68 */ return;
|
|
}
|
|
|
|
// fn_02C65B6C @ 0x2c65b6c
|
|
void Gambit_fn_02C65B6C(CPUState* cpu) {
|
|
L_02C65B6C: ; // 0x2c65b6c
|
|
/* 02C65B6C */ rbrew_dispatch(cpu, 0x02d060a0u); return;
|
|
}
|
|
|
|
// fn_02C65B70 @ 0x2c65b70
|
|
void Gambit_fn_02C65B70(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_02C65B70: ; // 0x2c65b70
|
|
/* 02C65B70 */ cpu->r[0] = 0x49740000u;
|
|
/* 02C65B74 */ cpu->r[0] = cpu->r[0] | 0x00009716u;
|
|
/* 02C65B78 */ _t0 = cpu->r[3] + 0x00000000u;
|
|
/* 02C65B78 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 02C65B7C */ return;
|
|
}
|
|
|
|
// fn_02C65B80 @ 0x2c65b80
|
|
void Gambit_fn_02C65B80(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3;
|
|
|
|
L_02C65B80: ; // 0x2c65b80
|
|
/* 02C65B80 */ _t0 = cpu->r[3] + 0x00000000u;
|
|
/* 02C65B80 */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02C65B84 */ _t1 = rbrew_rlwinm(cpu->r[4], 0x00000001u, 0x0000001Eu, 0x0000001Eu);
|
|
/* 02C65B84 */ _t2 = cpu->r[0] & 0xFFFFFFFDu;
|
|
/* 02C65B84 */ cpu->r[0] = _t2 | _t1;
|
|
/* 02C65B88 */ _t3 = cpu->r[3] + 0x00000000u;
|
|
/* 02C65B88 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02C65B8C */ return;
|
|
}
|
|
|
|
// fn_02C65B90 @ 0x2c65b90
|
|
void Gambit_fn_02C65B90(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3;
|
|
|
|
L_02C65B90: ; // 0x2c65b90
|
|
/* 02C65B90 */ _t0 = cpu->r[3] + 0x00000000u;
|
|
/* 02C65B90 */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02C65B94 */ _t1 = rbrew_rlwinm(cpu->r[4], 0x00000002u, 0x0000001Du, 0x0000001Du);
|
|
/* 02C65B94 */ _t2 = cpu->r[0] & 0xFFFFFFFBu;
|
|
/* 02C65B94 */ cpu->r[0] = _t2 | _t1;
|
|
/* 02C65B98 */ _t3 = cpu->r[3] + 0x00000000u;
|
|
/* 02C65B98 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02C65B9C */ return;
|
|
}
|
|
|
|
// fn_02C65BA0 @ 0x2c65ba0
|
|
void Gambit_fn_02C65BA0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3;
|
|
|
|
L_02C65BA0: ; // 0x2c65ba0
|
|
/* 02C65BA0 */ _t0 = cpu->r[3] + 0x00000000u;
|
|
/* 02C65BA0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02C65BA4 */ _t1 = rbrew_rlwinm(cpu->r[4], 0x00000004u, 0x00000019u, 0x0000001Bu);
|
|
/* 02C65BA4 */ _t2 = cpu->r[0] & 0xFFFFFF8Fu;
|
|
/* 02C65BA4 */ cpu->r[0] = _t2 | _t1;
|
|
/* 02C65BA8 */ _t3 = cpu->r[3] + 0x00000000u;
|
|
/* 02C65BA8 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02C65BAC */ return;
|
|
}
|
|
|
|
// fn_02C65BB0 @ 0x2c65bb0
|
|
void Gambit_fn_02C65BB0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3;
|
|
|
|
L_02C65BB0: ; // 0x2c65bb0
|
|
/* 02C65BB0 */ _t0 = cpu->r[3] + 0x00000000u;
|
|
/* 02C65BB0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02C65BB4 */ _t1 = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02C65BB4 */ _t2 = cpu->r[0] & 0xFFFFFFFEu;
|
|
/* 02C65BB4 */ cpu->r[0] = _t2 | _t1;
|
|
/* 02C65BB8 */ _t3 = cpu->r[3] + 0x00000000u;
|
|
/* 02C65BB8 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02C65BBC */ return;
|
|
}
|
|
|
|
// fn_02C65BC0 @ 0x2c65bc0
|
|
void Gambit_fn_02C65BC0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3;
|
|
|
|
L_02C65BC0: ; // 0x2c65bc0
|
|
/* 02C65BC0 */ _t0 = cpu->r[3] + 0x00000000u;
|
|
/* 02C65BC0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02C65BC4 */ _t1 = rbrew_rlwinm(cpu->r[4], 0x00000007u, 0x00000018u, 0x00000018u);
|
|
/* 02C65BC4 */ _t2 = cpu->r[0] & 0xFFFFFF7Fu;
|
|
/* 02C65BC4 */ cpu->r[0] = _t2 | _t1;
|
|
/* 02C65BC8 */ _t3 = cpu->r[3] + 0x00000000u;
|
|
/* 02C65BC8 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02C65BCC */ return;
|
|
}
|
|
|
|
// fn_02C65BD0 @ 0x2c65bd0
|
|
void Gambit_fn_02C65BD0(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_02C65BD0: ; // 0x2c65bd0
|
|
/* 02C65BD0 */ _t0 = cpu->r[3] + 0x00000000u;
|
|
/* 02C65BD0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02C65BD4 */ cpu->r[3] = rbrew_rlwinm(cpu->r[0], 0x0000001Eu, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02C65BD8 */ return;
|
|
}
|
|
|
|
// fn_02C65BDC @ 0x2c65bdc
|
|
void Gambit_fn_02C65BDC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3;
|
|
|
|
L_02C65BDC: ; // 0x2c65bdc
|
|
/* 02C65BDC */ _t0 = cpu->r[3] + 0x00000000u;
|
|
/* 02C65BDC */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02C65BE0 */ _t1 = rbrew_rlwinm(cpu->r[4], 0x00000008u, 0x00000015u, 0x00000017u);
|
|
/* 02C65BE0 */ _t2 = cpu->r[0] & 0xFFFFF8FFu;
|
|
/* 02C65BE0 */ cpu->r[0] = _t2 | _t1;
|
|
/* 02C65BE4 */ _t3 = cpu->r[3] + 0x00000000u;
|
|
/* 02C65BE4 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02C65BE8 */ return;
|
|
}
|
|
|
|
// fn_02C65BEC @ 0x2c65bec
|
|
void Gambit_fn_02C65BEC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3;
|
|
|
|
L_02C65BEC: ; // 0x2c65bec
|
|
/* 02C65BEC */ _t0 = cpu->r[3] + 0x00000000u;
|
|
/* 02C65BEC */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02C65BF0 */ _t1 = rbrew_rlwinm(cpu->r[4], 0x0000000Eu, 0x0000000Fu, 0x00000011u);
|
|
/* 02C65BF0 */ _t2 = cpu->r[0] & 0xFFFE3FFFu;
|
|
/* 02C65BF0 */ cpu->r[0] = _t2 | _t1;
|
|
/* 02C65BF4 */ _t3 = cpu->r[3] + 0x00000000u;
|
|
/* 02C65BF4 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02C65BF8 */ return;
|
|
}
|
|
|
|
// fn_02C65BFC @ 0x2c65bfc
|
|
void Gambit_fn_02C65BFC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3;
|
|
|
|
L_02C65BFC: ; // 0x2c65bfc
|
|
/* 02C65BFC */ _t0 = cpu->r[3] + 0x00000000u;
|
|
/* 02C65BFC */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02C65C00 */ _t1 = rbrew_rlwinm(cpu->r[4], 0x00000011u, 0x0000000Cu, 0x0000000Eu);
|
|
/* 02C65C00 */ _t2 = cpu->r[0] & 0xFFF1FFFFu;
|
|
/* 02C65C00 */ cpu->r[0] = _t2 | _t1;
|
|
/* 02C65C04 */ _t3 = cpu->r[3] + 0x00000000u;
|
|
/* 02C65C04 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02C65C08 */ return;
|
|
}
|
|
|
|
// fn_02C65C0C @ 0x2c65c0c
|
|
void Gambit_fn_02C65C0C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3;
|
|
|
|
L_02C65C0C: ; // 0x2c65c0c
|
|
/* 02C65C0C */ _t0 = cpu->r[3] + 0x00000000u;
|
|
/* 02C65C0C */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02C65C10 */ _t1 = rbrew_rlwinm(cpu->r[4], 0x0000000Bu, 0x00000012u, 0x00000014u);
|
|
/* 02C65C10 */ _t2 = cpu->r[0] & 0xFFFFC7FFu;
|
|
/* 02C65C10 */ cpu->r[0] = _t2 | _t1;
|
|
/* 02C65C14 */ _t3 = cpu->r[3] + 0x00000000u;
|
|
/* 02C65C14 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02C65C18 */ return;
|
|
}
|
|
|
|
// fn_02C65C1C @ 0x2c65c1c
|
|
void Gambit_fn_02C65C1C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3;
|
|
|
|
L_02C65C1C: ; // 0x2c65c1c
|
|
/* 02C65C1C */ _t0 = cpu->r[3] + 0x00000000u;
|
|
/* 02C65C1C */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02C65C20 */ _t1 = rbrew_rlwinm(cpu->r[4], 0x00000014u, 0x00000009u, 0x0000000Bu);
|
|
/* 02C65C20 */ _t2 = cpu->r[0] & 0xFF8FFFFFu;
|
|
/* 02C65C20 */ cpu->r[0] = _t2 | _t1;
|
|
/* 02C65C24 */ _t3 = cpu->r[3] + 0x00000000u;
|
|
/* 02C65C24 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02C65C28 */ return;
|
|
}
|
|
|
|
// fn_02C65C2C @ 0x2c65c2c
|
|
void Gambit_fn_02C65C2C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3;
|
|
|
|
L_02C65C2C: ; // 0x2c65c2c
|
|
/* 02C65C2C */ _t0 = cpu->r[3] + 0x00000000u;
|
|
/* 02C65C2C */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02C65C30 */ _t1 = rbrew_rlwinm(cpu->r[4], 0x0000001Au, 0x00000003u, 0x00000005u);
|
|
/* 02C65C30 */ _t2 = cpu->r[0] & 0xE3FFFFFFu;
|
|
/* 02C65C30 */ cpu->r[0] = _t2 | _t1;
|
|
/* 02C65C34 */ _t3 = cpu->r[3] + 0x00000000u;
|
|
/* 02C65C34 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02C65C38 */ return;
|
|
}
|
|
|
|
// fn_02C65C3C @ 0x2c65c3c
|
|
void Gambit_fn_02C65C3C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3;
|
|
|
|
L_02C65C3C: ; // 0x2c65c3c
|
|
/* 02C65C3C */ _t0 = cpu->r[3] + 0x00000000u;
|
|
/* 02C65C3C */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02C65C40 */ _t1 = rbrew_rlwinm(cpu->r[4], 0x0000001Du, 0x00000000u, 0x00000002u);
|
|
/* 02C65C40 */ _t2 = cpu->r[0] & 0x1FFFFFFFu;
|
|
/* 02C65C40 */ cpu->r[0] = _t2 | _t1;
|
|
/* 02C65C44 */ _t3 = cpu->r[3] + 0x00000000u;
|
|
/* 02C65C44 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02C65C48 */ return;
|
|
}
|
|
|
|
// fn_02C65C4C @ 0x2c65c4c
|
|
void Gambit_fn_02C65C4C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3;
|
|
|
|
L_02C65C4C: ; // 0x2c65c4c
|
|
/* 02C65C4C */ _t0 = cpu->r[3] + 0x00000000u;
|
|
/* 02C65C4C */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02C65C50 */ _t1 = rbrew_rlwinm(cpu->r[4], 0x00000017u, 0x00000006u, 0x00000008u);
|
|
/* 02C65C50 */ _t2 = cpu->r[0] & 0xFC7FFFFFu;
|
|
/* 02C65C50 */ cpu->r[0] = _t2 | _t1;
|
|
/* 02C65C54 */ _t3 = cpu->r[3] + 0x00000000u;
|
|
/* 02C65C54 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02C65C58 */ return;
|
|
}
|
|
|
|
// fn_02C65C5C @ 0x2c65c5c
|
|
void Gambit_fn_02C65C5C(CPUState* cpu) {
|
|
L_02C65C5C: ; // 0x2c65c5c
|
|
/* 02C65C5C */ rbrew_dispatch(cpu, 0x02d06200u); return;
|
|
}
|
|
|
|
// fn_02C65C60 @ 0x2c65c60
|
|
void Gambit_fn_02C65C60(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_02C65C60: ; // 0x2c65c60
|
|
/* 02C65C60 */ cpu->r[0] = 0x00FF0000u;
|
|
/* 02C65C64 */ cpu->r[0] = cpu->r[0] | 0x0000FF01u;
|
|
/* 02C65C68 */ _t0 = cpu->r[3] + 0x00000004u;
|
|
/* 02C65C68 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 02C65C6C */ _t1 = cpu->r[3] + 0x00000000u;
|
|
/* 02C65C6C */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02C65C70 */ return;
|
|
}
|
|
|
|
// fn_02C65C74 @ 0x2c65c74
|
|
void Gambit_fn_02C65C74(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3;
|
|
|
|
L_02C65C74: ; // 0x2c65c74
|
|
/* 02C65C74 */ _t0 = cpu->r[3] + 0x00000000u;
|
|
/* 02C65C74 */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02C65C78 */ _t1 = rbrew_rlwinm(cpu->r[4], 0x00000008u, 0x00000010u, 0x00000017u);
|
|
/* 02C65C78 */ _t2 = cpu->r[0] & 0xFFFF00FFu;
|
|
/* 02C65C78 */ cpu->r[0] = _t2 | _t1;
|
|
/* 02C65C7C */ _t3 = cpu->r[3] + 0x00000000u;
|
|
/* 02C65C7C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02C65C80 */ return;
|
|
}
|
|
|
|
// fn_02C65C84 @ 0x2c65c84
|
|
void Gambit_fn_02C65C84(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3;
|
|
|
|
L_02C65C84: ; // 0x2c65c84
|
|
/* 02C65C84 */ _t0 = cpu->r[3] + 0x00000000u;
|
|
/* 02C65C84 */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02C65C88 */ _t1 = rbrew_rlwinm(cpu->r[4], 0x00000010u, 0x00000008u, 0x0000000Fu);
|
|
/* 02C65C88 */ _t2 = cpu->r[0] & 0xFF00FFFFu;
|
|
/* 02C65C88 */ cpu->r[0] = _t2 | _t1;
|
|
/* 02C65C8C */ _t3 = cpu->r[3] + 0x00000000u;
|
|
/* 02C65C8C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02C65C90 */ return;
|
|
}
|
|
|
|
// fn_02C65C94 @ 0x2c65c94
|
|
void Gambit_fn_02C65C94(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3;
|
|
|
|
L_02C65C94: ; // 0x2c65c94
|
|
/* 02C65C94 */ _t0 = cpu->r[3] + 0x00000000u;
|
|
/* 02C65C94 */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02C65C98 */ _t1 = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000000u, 0x00000017u);
|
|
/* 02C65C98 */ _t2 = cpu->r[4] & 0x000000FFu;
|
|
/* 02C65C98 */ cpu->r[4] = _t2 | _t1;
|
|
/* 02C65C9C */ _t3 = cpu->r[3] + 0x00000000u;
|
|
/* 02C65C9C */ rbrew_write32(cpu->mem, _t3, cpu->r[4]);
|
|
/* 02C65CA0 */ return;
|
|
}
|
|
|
|
// fn_02C65CA4 @ 0x2c65ca4
|
|
void Gambit_fn_02C65CA4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3;
|
|
|
|
L_02C65CA4: ; // 0x2c65ca4
|
|
/* 02C65CA4 */ _t0 = cpu->r[3] + 0x00000004u;
|
|
/* 02C65CA4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02C65CA8 */ _t1 = rbrew_rlwinm(cpu->r[4], 0x00000008u, 0x00000010u, 0x00000017u);
|
|
/* 02C65CA8 */ _t2 = cpu->r[0] & 0xFFFF00FFu;
|
|
/* 02C65CA8 */ cpu->r[0] = _t2 | _t1;
|
|
/* 02C65CAC */ _t3 = cpu->r[3] + 0x00000004u;
|
|
/* 02C65CAC */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02C65CB0 */ return;
|
|
}
|
|
|
|
// fn_02C65CB4 @ 0x2c65cb4
|
|
void Gambit_fn_02C65CB4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3;
|
|
|
|
L_02C65CB4: ; // 0x2c65cb4
|
|
/* 02C65CB4 */ _t0 = cpu->r[3] + 0x00000004u;
|
|
/* 02C65CB4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02C65CB8 */ _t1 = rbrew_rlwinm(cpu->r[4], 0x00000010u, 0x00000008u, 0x0000000Fu);
|
|
/* 02C65CB8 */ _t2 = cpu->r[0] & 0xFF00FFFFu;
|
|
/* 02C65CB8 */ cpu->r[0] = _t2 | _t1;
|
|
/* 02C65CBC */ _t3 = cpu->r[3] + 0x00000004u;
|
|
/* 02C65CBC */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02C65CC0 */ return;
|
|
}
|
|
|
|
// fn_02C65CC4 @ 0x2c65cc4
|
|
void Gambit_fn_02C65CC4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3;
|
|
|
|
L_02C65CC4: ; // 0x2c65cc4
|
|
/* 02C65CC4 */ _t0 = cpu->r[3] + 0x00000004u;
|
|
/* 02C65CC4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02C65CC8 */ _t1 = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000000u, 0x00000017u);
|
|
/* 02C65CC8 */ _t2 = cpu->r[4] & 0x000000FFu;
|
|
/* 02C65CC8 */ cpu->r[4] = _t2 | _t1;
|
|
/* 02C65CCC */ _t3 = cpu->r[3] + 0x00000004u;
|
|
/* 02C65CCC */ rbrew_write32(cpu->mem, _t3, cpu->r[4]);
|
|
/* 02C65CD0 */ return;
|
|
}
|
|
|
|
// fn_02C65CD4 @ 0x2c65cd4
|
|
void Gambit_fn_02C65CD4(CPUState* cpu) {
|
|
L_02C65CD4: ; // 0x2c65cd4
|
|
/* 02C65CD4 */ rbrew_dispatch(cpu, 0x02d05f98u); return;
|
|
}
|
|
|
|
// fn_02C65CD8 @ 0x2c65cd8
|
|
void Gambit_fn_02C65CD8(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_02C65CD8: ; // 0x2c65cd8
|
|
/* 02C65CD8 */ cpu->r[12] = 0x00000001u;
|
|
/* 02C65CDC */ cpu->r[0] = 0x00000000u;
|
|
/* 02C65CE0 */ _t0 = cpu->r[3] + 0x00000000u;
|
|
/* 02C65CE0 */ rbrew_write32(cpu->mem, _t0, cpu->r[12]);
|
|
/* 02C65CE4 */ _t1 = cpu->r[3] + 0x00000004u;
|
|
/* 02C65CE4 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02C65CE8 */ return;
|
|
}
|
|
|
|
// fn_02C65CEC @ 0x2c65cec
|
|
void Gambit_fn_02C65CEC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3;
|
|
|
|
L_02C65CEC: ; // 0x2c65cec
|
|
/* 02C65CEC */ _t0 = cpu->r[3] + 0x00000000u;
|
|
/* 02C65CEC */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02C65CF0 */ _t1 = rbrew_rlwinm(cpu->r[4], 0x00000003u, 0x0000001Cu, 0x0000001Cu);
|
|
/* 02C65CF0 */ _t2 = cpu->r[0] & 0xFFFFFFF7u;
|
|
/* 02C65CF0 */ cpu->r[0] = _t2 | _t1;
|
|
/* 02C65CF4 */ _t3 = cpu->r[3] + 0x00000000u;
|
|
/* 02C65CF4 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02C65CF8 */ return;
|
|
}
|
|
|
|
// fn_02C65CFC @ 0x2c65cfc
|
|
void Gambit_fn_02C65CFC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3;
|
|
|
|
L_02C65CFC: ; // 0x2c65cfc
|
|
/* 02C65CFC */ _t0 = cpu->r[3] + 0x00000000u;
|
|
/* 02C65CFC */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02C65D00 */ _t1 = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Du, 0x0000001Fu);
|
|
/* 02C65D00 */ _t2 = cpu->r[0] & 0xFFFFFFF8u;
|
|
/* 02C65D00 */ cpu->r[0] = _t2 | _t1;
|
|
/* 02C65D04 */ _t3 = cpu->r[3] + 0x00000000u;
|
|
/* 02C65D04 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02C65D08 */ return;
|
|
}
|
|
|
|
// fn_02C65D0C @ 0x2c65d0c
|
|
void Gambit_fn_02C65D0C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3;
|
|
|
|
L_02C65D0C: ; // 0x2c65d0c
|
|
/* 02C65D0C */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02C65D0C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C65D0C */ cpu->r[1] = _t0;
|
|
/* 02C65D10 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02C65D10 */ rbrew_write_f32(cpu->mem, _t1, cpu->f[1]);
|
|
/* 02C65D14 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02C65D14 */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02C65D18 */ _t3 = cpu->r[3] + 0x00000004u;
|
|
/* 02C65D18 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02C65D1C */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C65D20 */ return;
|
|
}
|
|
|
|
// fn_02C65D24 @ 0x2c65d24
|
|
void Gambit_fn_02C65D24(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3;
|
|
|
|
L_02C65D24: ; // 0x2c65d24
|
|
/* 02C65D24 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02C65D24 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C65D24 */ cpu->r[1] = _t0;
|
|
/* 02C65D28 */ _t1 = cpu->r[3] + 0x00000004u;
|
|
/* 02C65D28 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02C65D2C */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02C65D2C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02C65D30 */ _t3 = cpu->r[1] + 0x00000008u;
|
|
/* 02C65D30 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t3);
|
|
/* 02C65D34 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C65D38 */ return;
|
|
}
|
|
|
|
// fn_02C65D3C @ 0x2c65d3c
|
|
void Gambit_fn_02C65D3C(CPUState* cpu) {
|
|
L_02C65D3C: ; // 0x2c65d3c
|
|
/* 02C65D3C */ rbrew_dispatch(cpu, 0x02d06000u); return;
|
|
}
|
|
|
|
// fn_02C65D40 @ 0x2c65d40
|
|
void Gambit_fn_02C65D40(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_02C65D40: ; // 0x2c65d40
|
|
/* 02C65D40 */ cpu->r[0] = 0x00CC0000u;
|
|
/* 02C65D44 */ _t0 = cpu->r[3] + 0x00000000u;
|
|
/* 02C65D44 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 02C65D48 */ return;
|
|
}
|
|
|
|
// fn_02C65D4C @ 0x2c65d4c
|
|
void Gambit_fn_02C65D4C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3;
|
|
|
|
L_02C65D4C: ; // 0x2c65d4c
|
|
/* 02C65D4C */ _t0 = cpu->r[3] + 0x00000000u;
|
|
/* 02C65D4C */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02C65D50 */ _t1 = rbrew_rlwinm(cpu->r[4], 0x00000010u, 0x00000008u, 0x0000000Fu);
|
|
/* 02C65D50 */ _t2 = cpu->r[0] & 0xFF00FFFFu;
|
|
/* 02C65D50 */ cpu->r[0] = _t2 | _t1;
|
|
/* 02C65D54 */ _t3 = cpu->r[3] + 0x00000000u;
|
|
/* 02C65D54 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02C65D58 */ return;
|
|
}
|
|
|
|
// fn_02C65D5C @ 0x2c65d5c
|
|
void Gambit_fn_02C65D5C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3;
|
|
|
|
L_02C65D5C: ; // 0x2c65d5c
|
|
/* 02C65D5C */ _t0 = cpu->r[3] + 0x00000000u;
|
|
/* 02C65D5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02C65D60 */ _t1 = rbrew_rlwinm(cpu->r[4], 0x00000008u, 0x00000010u, 0x00000017u);
|
|
/* 02C65D60 */ _t2 = cpu->r[0] & 0xFFFF00FFu;
|
|
/* 02C65D60 */ cpu->r[0] = _t2 | _t1;
|
|
/* 02C65D64 */ _t3 = cpu->r[3] + 0x00000000u;
|
|
/* 02C65D64 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02C65D68 */ return;
|
|
}
|
|
|
|
// fn_02C65D6C @ 0x2c65d6c
|
|
void Gambit_fn_02C65D6C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3;
|
|
|
|
L_02C65D6C: ; // 0x2c65d6c
|
|
/* 02C65D6C */ _t0 = cpu->r[3] + 0x00000000u;
|
|
/* 02C65D6C */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02C65D70 */ _t1 = rbrew_rlwinm(cpu->r[4], 0x00000001u, 0x0000001Eu, 0x0000001Eu);
|
|
/* 02C65D70 */ _t2 = cpu->r[0] & 0xFFFFFFFDu;
|
|
/* 02C65D70 */ cpu->r[0] = _t2 | _t1;
|
|
/* 02C65D74 */ _t3 = cpu->r[3] + 0x00000000u;
|
|
/* 02C65D74 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02C65D78 */ return;
|
|
}
|
|
|
|
// fn_02C65D7C @ 0x2c65d7c
|
|
void Gambit_fn_02C65D7C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3;
|
|
|
|
L_02C65D7C: ; // 0x2c65d7c
|
|
/* 02C65D7C */ cpu->r[11] = rbrew_rlwinm(cpu->r[4], 0x00000004u, 0x00000000u, 0x0000001Bu);
|
|
/* 02C65D80 */ _t0 = cpu->r[3] + 0x00000000u;
|
|
/* 02C65D80 */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02C65D84 */ cpu->r[12] = 0x00000010u - cpu->r[11];
|
|
/* 02C65D88 */ _t1 = rbrew_rlwinm(cpu->r[12], 0x00000000u, 0x00000019u, 0x0000001Bu);
|
|
/* 02C65D88 */ _t2 = cpu->r[0] & 0xFFFFFF8Fu;
|
|
/* 02C65D88 */ cpu->r[0] = _t2 | _t1;
|
|
/* 02C65D8C */ _t3 = cpu->r[3] + 0x00000000u;
|
|
/* 02C65D8C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02C65D90 */ return;
|
|
}
|
|
|
|
// fn_02C65D94 @ 0x2c65d94
|
|
void Gambit_fn_02C65D94(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_02C65D94: ; // 0x2c65d94
|
|
/* 02C65D94 */ cpu->r[0] = cpu->lr;
|
|
/* 02C65D98 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 02C65D98 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 02C65D9C */ _t1 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02C65D9C */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 02C65D9C */ cpu->r[1] = _t1;
|
|
/* 02C65DA0 */ _t2 = cpu->r[3] + 0x00000004u;
|
|
/* 02C65DA0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02C65DA4 */ _t3 = cpu->r[1] + 0x00000008u;
|
|
/* 02C65DA4 */ rbrew_write32(cpu->mem, _t3, cpu->r[4]);
|
|
/* 02C65DA8 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02C65DAC */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C65DAC */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02C65DB0 */ rbrew_dispatch(cpu, 0x02d05fd0u);
|
|
/* 02C65DB4 */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C65DB4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02C65DB8 */ cpu->lr = cpu->r[0];
|
|
/* 02C65DBC */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C65DC0 */ return;
|
|
}
|
|
|
|
// fn_02C65D9C @ 0x2c65d9c
|
|
void Gambit_fn_02C65D9C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4;
|
|
|
|
L_02C65D9C: ; // 0x2c65d9c
|
|
/* 02C65D9C */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02C65D9C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C65D9C */ cpu->r[1] = _t0;
|
|
/* 02C65DA0 */ _t1 = cpu->r[3] + 0x00000004u;
|
|
/* 02C65DA0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02C65DA4 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02C65DA4 */ rbrew_write32(cpu->mem, _t2, cpu->r[4]);
|
|
/* 02C65DA8 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02C65DAC */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C65DAC */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02C65DB0 */ rbrew_dispatch(cpu, 0x02d05fd0u);
|
|
/* 02C65DB4 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C65DB4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02C65DB8 */ cpu->lr = cpu->r[0];
|
|
/* 02C65DBC */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C65DC0 */ return;
|
|
}
|
|
|
|
// fn_02C65DC4 @ 0x2c65dc4
|
|
void Gambit_fn_02C65DC4(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_02C65DC4: ; // 0x2c65dc4
|
|
/* 02C65DC4 */ cpu->r[0] = 0x25040000u;
|
|
/* 02C65DC8 */ cpu->r[12] = 0x00000000u;
|
|
/* 02C65DCC */ cpu->r[0] = cpu->r[0] | 0x00000504u;
|
|
/* 02C65DD0 */ _t0 = cpu->r[3] + 0x00000000u;
|
|
/* 02C65DD0 */ rbrew_write32(cpu->mem, _t0, cpu->r[12]);
|
|
/* 02C65DD4 */ _t1 = cpu->r[3] + 0x00000004u;
|
|
/* 02C65DD4 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02C65DD8 */ return;
|
|
}
|
|
|
|
// fn_02C65DDC @ 0x2c65ddc
|
|
void Gambit_fn_02C65DDC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3;
|
|
|
|
L_02C65DDC: ; // 0x2c65ddc
|
|
/* 02C65DDC */ _t0 = cpu->r[3] + 0x00000004u;
|
|
/* 02C65DDC */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02C65DE0 */ _t1 = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Bu, 0x0000001Fu);
|
|
/* 02C65DE0 */ _t2 = cpu->r[0] & 0xFFFFFFE0u;
|
|
/* 02C65DE0 */ cpu->r[0] = _t2 | _t1;
|
|
/* 02C65DE4 */ _t3 = cpu->r[3] + 0x00000004u;
|
|
/* 02C65DE4 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02C65DE8 */ return;
|
|
}
|
|
|
|
// fn_02C65DEC @ 0x2c65dec
|
|
void Gambit_fn_02C65DEC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3;
|
|
|
|
L_02C65DEC: ; // 0x2c65dec
|
|
/* 02C65DEC */ _t0 = cpu->r[3] + 0x00000004u;
|
|
/* 02C65DEC */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02C65DF0 */ _t1 = rbrew_rlwinm(cpu->r[4], 0x00000008u, 0x00000013u, 0x00000017u);
|
|
/* 02C65DF0 */ _t2 = cpu->r[0] & 0xFFFFE0FFu;
|
|
/* 02C65DF0 */ cpu->r[0] = _t2 | _t1;
|
|
/* 02C65DF4 */ _t3 = cpu->r[3] + 0x00000004u;
|
|
/* 02C65DF4 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02C65DF8 */ return;
|
|
}
|
|
|
|
// fn_02C65DFC @ 0x2c65dfc
|
|
void Gambit_fn_02C65DFC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3;
|
|
|
|
L_02C65DFC: ; // 0x2c65dfc
|
|
/* 02C65DFC */ _t0 = cpu->r[3] + 0x00000004u;
|
|
/* 02C65DFC */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02C65E00 */ _t1 = rbrew_rlwinm(cpu->r[4], 0x00000005u, 0x00000018u, 0x0000001Au);
|
|
/* 02C65E00 */ _t2 = cpu->r[0] & 0xFFFFFF1Fu;
|
|
/* 02C65E00 */ cpu->r[0] = _t2 | _t1;
|
|
/* 02C65E04 */ _t3 = cpu->r[3] + 0x00000004u;
|
|
/* 02C65E04 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02C65E08 */ return;
|
|
}
|
|
|
|
// fn_02C65E0C @ 0x2c65e0c
|
|
void Gambit_fn_02C65E0C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3;
|
|
|
|
L_02C65E0C: ; // 0x2c65e0c
|
|
/* 02C65E0C */ _t0 = cpu->r[3] + 0x00000004u;
|
|
/* 02C65E0C */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02C65E10 */ _t1 = rbrew_rlwinm(cpu->r[4], 0x0000001Du, 0x00000002u, 0x00000002u);
|
|
/* 02C65E10 */ _t2 = cpu->r[0] & 0xDFFFFFFFu;
|
|
/* 02C65E10 */ cpu->r[0] = _t2 | _t1;
|
|
/* 02C65E14 */ _t3 = cpu->r[3] + 0x00000004u;
|
|
/* 02C65E14 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02C65E18 */ return;
|
|
}
|
|
|
|
// fn_02C65E1C @ 0x2c65e1c
|
|
void Gambit_fn_02C65E1C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3;
|
|
|
|
L_02C65E1C: ; // 0x2c65e1c
|
|
/* 02C65E1C */ _t0 = cpu->r[3] + 0x00000004u;
|
|
/* 02C65E1C */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02C65E20 */ _t1 = rbrew_rlwinm(cpu->r[4], 0x00000010u, 0x0000000Bu, 0x0000000Fu);
|
|
/* 02C65E20 */ _t2 = cpu->r[0] & 0xFFE0FFFFu;
|
|
/* 02C65E20 */ cpu->r[0] = _t2 | _t1;
|
|
/* 02C65E24 */ _t3 = cpu->r[3] + 0x00000004u;
|
|
/* 02C65E24 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02C65E28 */ return;
|
|
}
|
|
|
|
// fn_02C65E2C @ 0x2c65e2c
|
|
void Gambit_fn_02C65E2C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3;
|
|
|
|
L_02C65E2C: ; // 0x2c65e2c
|
|
/* 02C65E2C */ _t0 = cpu->r[3] + 0x00000004u;
|
|
/* 02C65E2C */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02C65E30 */ _t1 = rbrew_rlwinm(cpu->r[4], 0x00000018u, 0x00000003u, 0x00000007u);
|
|
/* 02C65E30 */ _t2 = cpu->r[0] & 0xE0FFFFFFu;
|
|
/* 02C65E30 */ cpu->r[0] = _t2 | _t1;
|
|
/* 02C65E34 */ _t3 = cpu->r[3] + 0x00000004u;
|
|
/* 02C65E34 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02C65E38 */ return;
|
|
}
|
|
|
|
// fn_02C65E3C @ 0x2c65e3c
|
|
void Gambit_fn_02C65E3C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3;
|
|
|
|
L_02C65E3C: ; // 0x2c65e3c
|
|
/* 02C65E3C */ _t0 = cpu->r[3] + 0x00000004u;
|
|
/* 02C65E3C */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02C65E40 */ _t1 = rbrew_rlwinm(cpu->r[4], 0x00000015u, 0x00000008u, 0x0000000Au);
|
|
/* 02C65E40 */ _t2 = cpu->r[0] & 0xFF1FFFFFu;
|
|
/* 02C65E40 */ cpu->r[0] = _t2 | _t1;
|
|
/* 02C65E44 */ _t3 = cpu->r[3] + 0x00000004u;
|
|
/* 02C65E44 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02C65E48 */ return;
|
|
}
|
|
|
|
// fn_02C65E4C @ 0x2c65e4c
|
|
void Gambit_fn_02C65E4C(CPUState* cpu) {
|
|
L_02C65E4C: ; // 0x2c65e4c
|
|
/* 02C65E4C */ rbrew_dispatch(cpu, 0x02d05fc0u); return;
|
|
}
|
|
|
|
// fn_02C65E50 @ 0x2c65e50
|
|
void Gambit_fn_02C65E50(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18;
|
|
|
|
L_02C65E50: ; // 0x2c65e50
|
|
/* 02C65E50 */ cpu->r[4] = 0x00000004u;
|
|
/* 02C65E54 */ goto L_02C89B44;
|
|
L_02C89B44: ; // 0x2c89b44
|
|
/* 02C89B44 */ cpu->r[12] = rbrew_rlwinm(cpu->r[4], 0x0000001Du, 0x00000003u, 0x0000001Fu);
|
|
/* 02C89B44 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02C89B48 */ cpu->r[10] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Du, 0x0000001Fu);
|
|
/* 02C89B4C */ cpu->r[11] = 0x00000000u;
|
|
/* 02C89B50 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C89B50 */ _t1 = _t0 & 0x00000001u;
|
|
/* 02C89B50 */ if (_t1) goto L_02C89B84; else goto L_02C89B54;
|
|
L_02C89B54: ; // 0x2c89b54
|
|
/* 02C89B54 */ cpu->ctr = cpu->r[12];
|
|
/* 02C89B58 */ cpu->r[3] = cpu->r[3] + 0xFFFFFFFCu;
|
|
L_02C89B5C: ; // 0x2c89b5c
|
|
/* 02C89B5C */ _t2 = cpu->r[3] + 0x00000018u;
|
|
/* 02C89B5C */ rbrew_write32(cpu->mem, _t2, cpu->r[11]);
|
|
/* 02C89B60 */ _t3 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02C89B60 */ rbrew_write32(cpu->mem, _t3, cpu->r[11]);
|
|
/* 02C89B64 */ _t4 = cpu->r[3] + 0x00000008u;
|
|
/* 02C89B64 */ rbrew_write32(cpu->mem, _t4, cpu->r[11]);
|
|
/* 02C89B68 */ _t5 = cpu->r[3] + 0x00000014u;
|
|
/* 02C89B68 */ rbrew_write32(cpu->mem, _t5, cpu->r[11]);
|
|
/* 02C89B6C */ _t6 = cpu->r[3] + 0x0000001Cu;
|
|
/* 02C89B6C */ rbrew_write32(cpu->mem, _t6, cpu->r[11]);
|
|
/* 02C89B70 */ _t7 = cpu->r[3] + 0x00000010u;
|
|
/* 02C89B70 */ rbrew_write32(cpu->mem, _t7, cpu->r[11]);
|
|
/* 02C89B74 */ _t8 = cpu->r[3] + 0x00000004u;
|
|
/* 02C89B74 */ rbrew_write32(cpu->mem, _t8, cpu->r[11]);
|
|
/* 02C89B78 */ _t9 = cpu->r[3] + 0x00000020u;
|
|
/* 02C89B78 */ rbrew_write32(cpu->mem, _t9, cpu->r[11]);
|
|
/* 02C89B78 */ cpu->r[3] = _t9;
|
|
/* 02C89B7C */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02C89B7C */ _t10 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02C89B7C */ _t11 = _t10 >> (0x00000002u & 31u);
|
|
/* 02C89B7C */ _t12 = _t11 & 0x00000001u;
|
|
/* 02C89B7C */ if (_t12) goto L_02C89B5C; else goto L_02C89B80;
|
|
L_02C89B80: ; // 0x2c89b80
|
|
/* 02C89B80 */ cpu->r[3] = cpu->r[3] + 0x00000004u;
|
|
L_02C89B84: ; // 0x2c89b84
|
|
/* 02C89B84 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02C89B88 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C89B88 */ _t14 = _t13 & 0x00000001u;
|
|
/* 02C89B88 */ if (_t14) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02C89B88 */ goto L_02C89B8C;
|
|
L_02C89B8C: ; // 0x2c89b8c
|
|
/* 02C89B8C */ cpu->ctr = cpu->r[10];
|
|
/* 02C89B90 */ cpu->r[3] = cpu->r[3] + 0xFFFFFFFCu;
|
|
L_02C89B94: ; // 0x2c89b94
|
|
/* 02C89B94 */ _t15 = cpu->r[3] + 0x00000004u;
|
|
/* 02C89B94 */ rbrew_write32(cpu->mem, _t15, cpu->r[11]);
|
|
/* 02C89B94 */ cpu->r[3] = _t15;
|
|
/* 02C89B98 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02C89B98 */ _t16 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02C89B98 */ _t17 = _t16 >> (0x00000002u & 31u);
|
|
/* 02C89B98 */ _t18 = _t17 & 0x00000001u;
|
|
/* 02C89B98 */ if (_t18) goto L_02C89B94; else goto L_02C89B9C;
|
|
L_02C89B9C: ; // 0x2c89b9c
|
|
/* 02C89B9C */ return;
|
|
}
|
|
|
|
// fn_02C65E58 @ 0x2c65e58
|
|
void Gambit_fn_02C65E58(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7;
|
|
|
|
L_02C65E58: ; // 0x2c65e58
|
|
/* 02C65E58 */ _t0 = cpu->r[4] + 0x00000000u;
|
|
/* 02C65E58 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t0);
|
|
/* 02C65E5C */ _t1 = cpu->r[3] + 0x00000000u;
|
|
/* 02C65E5C */ rbrew_write_f32(cpu->mem, _t1, cpu->f[0]);
|
|
/* 02C65E60 */ _t2 = cpu->r[4] + 0x00000004u;
|
|
/* 02C65E60 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t2);
|
|
/* 02C65E64 */ _t3 = cpu->r[3] + 0x00000004u;
|
|
/* 02C65E64 */ rbrew_write_f32(cpu->mem, _t3, cpu->f[0]);
|
|
/* 02C65E68 */ _t4 = cpu->r[4] + 0x00000008u;
|
|
/* 02C65E68 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t4);
|
|
/* 02C65E6C */ _t5 = cpu->r[3] + 0x00000008u;
|
|
/* 02C65E6C */ rbrew_write_f32(cpu->mem, _t5, cpu->f[0]);
|
|
/* 02C65E70 */ _t6 = cpu->r[4] + 0x0000000Cu;
|
|
/* 02C65E70 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t6);
|
|
/* 02C65E74 */ _t7 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02C65E74 */ rbrew_write_f32(cpu->mem, _t7, cpu->f[0]);
|
|
/* 02C65E78 */ return;
|
|
}
|
|
|
|
// fn_02C65E7C @ 0x2c65e7c
|
|
void Gambit_fn_02C65E7C(CPUState* cpu) {
|
|
L_02C65E7C: ; // 0x2c65e7c
|
|
/* 02C65E7C */ rbrew_dispatch(cpu, 0x02d061a0u); return;
|
|
}
|
|
|
|
// fn_02C65E80 @ 0x2c65e80
|
|
void Gambit_fn_02C65E80(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18;
|
|
|
|
L_02C65E80: ; // 0x2c65e80
|
|
/* 02C65E80 */ cpu->r[4] = 0x00000005u;
|
|
/* 02C65E84 */ goto L_02C89B44;
|
|
L_02C89B44: ; // 0x2c89b44
|
|
/* 02C89B44 */ cpu->r[12] = rbrew_rlwinm(cpu->r[4], 0x0000001Du, 0x00000003u, 0x0000001Fu);
|
|
/* 02C89B44 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02C89B48 */ cpu->r[10] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Du, 0x0000001Fu);
|
|
/* 02C89B4C */ cpu->r[11] = 0x00000000u;
|
|
/* 02C89B50 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C89B50 */ _t1 = _t0 & 0x00000001u;
|
|
/* 02C89B50 */ if (_t1) goto L_02C89B84; else goto L_02C89B54;
|
|
L_02C89B54: ; // 0x2c89b54
|
|
/* 02C89B54 */ cpu->ctr = cpu->r[12];
|
|
/* 02C89B58 */ cpu->r[3] = cpu->r[3] + 0xFFFFFFFCu;
|
|
L_02C89B5C: ; // 0x2c89b5c
|
|
/* 02C89B5C */ _t2 = cpu->r[3] + 0x00000018u;
|
|
/* 02C89B5C */ rbrew_write32(cpu->mem, _t2, cpu->r[11]);
|
|
/* 02C89B60 */ _t3 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02C89B60 */ rbrew_write32(cpu->mem, _t3, cpu->r[11]);
|
|
/* 02C89B64 */ _t4 = cpu->r[3] + 0x00000008u;
|
|
/* 02C89B64 */ rbrew_write32(cpu->mem, _t4, cpu->r[11]);
|
|
/* 02C89B68 */ _t5 = cpu->r[3] + 0x00000014u;
|
|
/* 02C89B68 */ rbrew_write32(cpu->mem, _t5, cpu->r[11]);
|
|
/* 02C89B6C */ _t6 = cpu->r[3] + 0x0000001Cu;
|
|
/* 02C89B6C */ rbrew_write32(cpu->mem, _t6, cpu->r[11]);
|
|
/* 02C89B70 */ _t7 = cpu->r[3] + 0x00000010u;
|
|
/* 02C89B70 */ rbrew_write32(cpu->mem, _t7, cpu->r[11]);
|
|
/* 02C89B74 */ _t8 = cpu->r[3] + 0x00000004u;
|
|
/* 02C89B74 */ rbrew_write32(cpu->mem, _t8, cpu->r[11]);
|
|
/* 02C89B78 */ _t9 = cpu->r[3] + 0x00000020u;
|
|
/* 02C89B78 */ rbrew_write32(cpu->mem, _t9, cpu->r[11]);
|
|
/* 02C89B78 */ cpu->r[3] = _t9;
|
|
/* 02C89B7C */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02C89B7C */ _t10 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02C89B7C */ _t11 = _t10 >> (0x00000002u & 31u);
|
|
/* 02C89B7C */ _t12 = _t11 & 0x00000001u;
|
|
/* 02C89B7C */ if (_t12) goto L_02C89B5C; else goto L_02C89B80;
|
|
L_02C89B80: ; // 0x2c89b80
|
|
/* 02C89B80 */ cpu->r[3] = cpu->r[3] + 0x00000004u;
|
|
L_02C89B84: ; // 0x2c89b84
|
|
/* 02C89B84 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02C89B88 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C89B88 */ _t14 = _t13 & 0x00000001u;
|
|
/* 02C89B88 */ if (_t14) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02C89B88 */ goto L_02C89B8C;
|
|
L_02C89B8C: ; // 0x2c89b8c
|
|
/* 02C89B8C */ cpu->ctr = cpu->r[10];
|
|
/* 02C89B90 */ cpu->r[3] = cpu->r[3] + 0xFFFFFFFCu;
|
|
L_02C89B94: ; // 0x2c89b94
|
|
/* 02C89B94 */ _t15 = cpu->r[3] + 0x00000004u;
|
|
/* 02C89B94 */ rbrew_write32(cpu->mem, _t15, cpu->r[11]);
|
|
/* 02C89B94 */ cpu->r[3] = _t15;
|
|
/* 02C89B98 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02C89B98 */ _t16 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02C89B98 */ _t17 = _t16 >> (0x00000002u & 31u);
|
|
/* 02C89B98 */ _t18 = _t17 & 0x00000001u;
|
|
/* 02C89B98 */ if (_t18) goto L_02C89B94; else goto L_02C89B9C;
|
|
L_02C89B9C: ; // 0x2c89b9c
|
|
/* 02C89B9C */ return;
|
|
}
|
|
|
|
// fn_02C65E88 @ 0x2c65e88
|
|
void Gambit_fn_02C65E88(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_02C65E88: ; // 0x2c65e88
|
|
/* 02C65E88 */ cpu->r[12] = 0x101B0000u;
|
|
/* 02C65E8C */ _t0 = cpu->r[12] + 0x00000288u;
|
|
/* 02C65E8C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t0);
|
|
/* 02C65E90 */ cpu->f[13] = cpu->f[1] * cpu->f[0];
|
|
/* 02C65E94 */ _t1 = cpu->r[3] + 0x00000000u;
|
|
/* 02C65E94 */ rbrew_write_f32(cpu->mem, _t1, cpu->f[13]);
|
|
/* 02C65E98 */ return;
|
|
}
|
|
|
|
// fn_02C65E9C @ 0x2c65e9c
|
|
void Gambit_fn_02C65E9C(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_02C65E9C: ; // 0x2c65e9c
|
|
/* 02C65E9C */ _t0 = cpu->r[3] + 0x00000004u;
|
|
/* 02C65E9C */ rbrew_write_f32(cpu->mem, _t0, cpu->f[1]);
|
|
/* 02C65EA0 */ return;
|
|
}
|
|
|
|
// fn_02C65EA4 @ 0x2c65ea4
|
|
void Gambit_fn_02C65EA4(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_02C65EA4: ; // 0x2c65ea4
|
|
/* 02C65EA4 */ cpu->r[12] = 0x101B0000u;
|
|
/* 02C65EA8 */ _t0 = cpu->r[12] + 0x00000288u;
|
|
/* 02C65EA8 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t0);
|
|
/* 02C65EAC */ cpu->f[13] = cpu->f[1] * cpu->f[0];
|
|
/* 02C65EB0 */ _t1 = cpu->r[3] + 0x00000008u;
|
|
/* 02C65EB0 */ rbrew_write_f32(cpu->mem, _t1, cpu->f[13]);
|
|
/* 02C65EB4 */ return;
|
|
}
|
|
|
|
// fn_02C65EB8 @ 0x2c65eb8
|
|
void Gambit_fn_02C65EB8(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_02C65EB8: ; // 0x2c65eb8
|
|
/* 02C65EB8 */ _t0 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02C65EB8 */ rbrew_write_f32(cpu->mem, _t0, cpu->f[1]);
|
|
/* 02C65EBC */ return;
|
|
}
|
|
|
|
// fn_02C65EC0 @ 0x2c65ec0
|
|
void Gambit_fn_02C65EC0(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_02C65EC0: ; // 0x2c65ec0
|
|
/* 02C65EC0 */ _t0 = cpu->r[3] + 0x00000010u;
|
|
/* 02C65EC0 */ rbrew_write_f32(cpu->mem, _t0, cpu->f[1]);
|
|
/* 02C65EC4 */ return;
|
|
}
|
|
|
|
// fn_02C65EC8 @ 0x2c65ec8
|
|
void Gambit_fn_02C65EC8(CPUState* cpu) {
|
|
L_02C65EC8: ; // 0x2c65ec8
|
|
/* 02C65EC8 */ rbrew_dispatch(cpu, 0x02d06260u); return;
|
|
}
|
|
|
|
// fn_02C65ECC @ 0x2c65ecc
|
|
void Gambit_fn_02C65ECC(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_02C65ECC: ; // 0x2c65ecc
|
|
/* 02C65ECC */ cpu->r[0] = 0xFFFFFFFFu;
|
|
/* 02C65ED0 */ _t0 = cpu->r[3] + 0x00000000u;
|
|
/* 02C65ED0 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 02C65ED4 */ return;
|
|
}
|
|
|
|
// fn_02C65ED8 @ 0x2c65ed8
|
|
void Gambit_fn_02C65ED8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2;
|
|
|
|
L_02C65ED8: ; // 0x2c65ed8
|
|
/* 02C65ED8 */ cpu->r[9] = rbrew_rlwinm(cpu->r[4], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02C65EDC */ cpu->r[8] = 0x0000000Fu;
|
|
/* 02C65EE0 */ _t0 = cpu->r[3] + 0x00000000u;
|
|
/* 02C65EE0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02C65EE4 */ /* nop */
|
|
/* 02C65EE8 */ /* nop */
|
|
/* 02C65EEC */ _t1 = ~cpu->r[0];
|
|
/* 02C65EEC */ cpu->r[11] = cpu->r[10] & _t1;
|
|
/* 02C65EF0 */ cpu->r[0] = cpu->r[11] | cpu->r[12];
|
|
/* 02C65EF4 */ _t2 = cpu->r[3] + 0x00000000u;
|
|
/* 02C65EF4 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02C65EF8 */ return;
|
|
}
|
|
|
|
// fn_02C65EFC @ 0x2c65efc
|
|
void Gambit_fn_02C65EFC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14;
|
|
|
|
L_02C65EFC: ; // 0x2c65efc
|
|
/* 02C65EFC */ cpu->r[12] = 0x101B0000u;
|
|
/* 02C65F00 */ _t0 = cpu->r[4] + 0x00000004u;
|
|
/* 02C65F00 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t0);
|
|
/* 02C65F04 */ _t1 = cpu->r[12] + 0x00000290u;
|
|
/* 02C65F04 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t1);
|
|
/* 02C65F08 */ _t2 = cpu->r[3] + 0x00000000u;
|
|
/* 02C65F08 */ rbrew_write_f32(cpu->mem, _t2, cpu->f[0]);
|
|
/* 02C65F0C */ _t3 = cpu->r[4] + 0x00000000u;
|
|
/* 02C65F0C */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t3);
|
|
/* 02C65F10 */ _t4 = cpu->r[3] + 0x00000008u;
|
|
/* 02C65F10 */ rbrew_write_f32(cpu->mem, _t4, cpu->f[13]);
|
|
/* 02C65F14 */ _t5 = cpu->r[3] + 0x00000004u;
|
|
/* 02C65F14 */ rbrew_write_f32(cpu->mem, _t5, cpu->f[12]);
|
|
/* 02C65F18 */ _t6 = cpu->r[4] + 0x00000000u;
|
|
/* 02C65F18 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t6);
|
|
/* 02C65F1C */ cpu->r[11] = 0x101B0000u;
|
|
/* 02C65F20 */ cpu->f[12] = -cpu->f[0];
|
|
/* 02C65F24 */ _t7 = cpu->r[11] + 0x00000294u;
|
|
/* 02C65F24 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t7);
|
|
/* 02C65F28 */ _t8 = cpu->r[3] + 0x00000010u;
|
|
/* 02C65F28 */ rbrew_write_f32(cpu->mem, _t8, cpu->f[12]);
|
|
/* 02C65F2C */ _t9 = cpu->r[4] + 0x00000004u;
|
|
/* 02C65F2C */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t9);
|
|
/* 02C65F30 */ _t10 = cpu->r[3] + 0x00000018u;
|
|
/* 02C65F30 */ rbrew_write_f32(cpu->mem, _t10, cpu->f[13]);
|
|
/* 02C65F34 */ _t11 = cpu->r[3] + 0x00000014u;
|
|
/* 02C65F34 */ rbrew_write_f32(cpu->mem, _t11, cpu->f[12]);
|
|
/* 02C65F38 */ _t12 = cpu->r[3] + 0x00000024u;
|
|
/* 02C65F38 */ rbrew_write_f32(cpu->mem, _t12, cpu->f[13]);
|
|
/* 02C65F3C */ _t13 = cpu->r[3] + 0x00000028u;
|
|
/* 02C65F3C */ rbrew_write_f32(cpu->mem, _t13, cpu->f[0]);
|
|
/* 02C65F40 */ _t14 = cpu->r[3] + 0x00000020u;
|
|
/* 02C65F40 */ rbrew_write_f32(cpu->mem, _t14, cpu->f[13]);
|
|
/* 02C65F44 */ return;
|
|
}
|
|
|