mirror of
https://github.com/yuzu-emu/yuzu.git
synced 2025-06-30 00:27:57 -05:00
dyncom: Use ARMul_State as an object
Gets rid of C-like parameter passing.
This commit is contained in:
@ -51,7 +51,7 @@ VMLA_INST:
|
||||
|
||||
CHECK_VFP_CDP_RET;
|
||||
}
|
||||
cpu->Reg[15] += GET_INST_SIZE(cpu);
|
||||
cpu->Reg[15] += cpu->GetInstructionSize();
|
||||
INC_PC(sizeof(vmla_inst));
|
||||
FETCH_INST;
|
||||
GOTO_NEXT_INST;
|
||||
@ -100,7 +100,7 @@ VMLS_INST:
|
||||
|
||||
CHECK_VFP_CDP_RET;
|
||||
}
|
||||
cpu->Reg[15] += GET_INST_SIZE(cpu);
|
||||
cpu->Reg[15] += cpu->GetInstructionSize();
|
||||
INC_PC(sizeof(vmls_inst));
|
||||
FETCH_INST;
|
||||
GOTO_NEXT_INST;
|
||||
@ -149,7 +149,7 @@ VNMLA_INST:
|
||||
|
||||
CHECK_VFP_CDP_RET;
|
||||
}
|
||||
cpu->Reg[15] += GET_INST_SIZE(cpu);
|
||||
cpu->Reg[15] += cpu->GetInstructionSize();
|
||||
INC_PC(sizeof(vnmla_inst));
|
||||
FETCH_INST;
|
||||
GOTO_NEXT_INST;
|
||||
@ -199,7 +199,7 @@ VNMLS_INST:
|
||||
|
||||
CHECK_VFP_CDP_RET;
|
||||
}
|
||||
cpu->Reg[15] += GET_INST_SIZE(cpu);
|
||||
cpu->Reg[15] += cpu->GetInstructionSize();
|
||||
INC_PC(sizeof(vnmls_inst));
|
||||
FETCH_INST;
|
||||
GOTO_NEXT_INST;
|
||||
@ -248,7 +248,7 @@ VNMUL_INST:
|
||||
|
||||
CHECK_VFP_CDP_RET;
|
||||
}
|
||||
cpu->Reg[15] += GET_INST_SIZE(cpu);
|
||||
cpu->Reg[15] += cpu->GetInstructionSize();
|
||||
INC_PC(sizeof(vnmul_inst));
|
||||
FETCH_INST;
|
||||
GOTO_NEXT_INST;
|
||||
@ -297,7 +297,7 @@ VMUL_INST:
|
||||
|
||||
CHECK_VFP_CDP_RET;
|
||||
}
|
||||
cpu->Reg[15] += GET_INST_SIZE(cpu);
|
||||
cpu->Reg[15] += cpu->GetInstructionSize();
|
||||
INC_PC(sizeof(vmul_inst));
|
||||
FETCH_INST;
|
||||
GOTO_NEXT_INST;
|
||||
@ -346,7 +346,7 @@ VADD_INST:
|
||||
|
||||
CHECK_VFP_CDP_RET;
|
||||
}
|
||||
cpu->Reg[15] += GET_INST_SIZE(cpu);
|
||||
cpu->Reg[15] += cpu->GetInstructionSize();
|
||||
INC_PC(sizeof(vadd_inst));
|
||||
FETCH_INST;
|
||||
GOTO_NEXT_INST;
|
||||
@ -395,7 +395,7 @@ VSUB_INST:
|
||||
|
||||
CHECK_VFP_CDP_RET;
|
||||
}
|
||||
cpu->Reg[15] += GET_INST_SIZE(cpu);
|
||||
cpu->Reg[15] += cpu->GetInstructionSize();
|
||||
INC_PC(sizeof(vsub_inst));
|
||||
FETCH_INST;
|
||||
GOTO_NEXT_INST;
|
||||
@ -444,7 +444,7 @@ VDIV_INST:
|
||||
|
||||
CHECK_VFP_CDP_RET;
|
||||
}
|
||||
cpu->Reg[15] += GET_INST_SIZE(cpu);
|
||||
cpu->Reg[15] += cpu->GetInstructionSize();
|
||||
INC_PC(sizeof(vdiv_inst));
|
||||
FETCH_INST;
|
||||
GOTO_NEXT_INST;
|
||||
@ -492,7 +492,7 @@ VMOVI_INST:
|
||||
|
||||
VMOVI(cpu, inst_cream->single, inst_cream->d, inst_cream->imm);
|
||||
}
|
||||
cpu->Reg[15] += GET_INST_SIZE(cpu);
|
||||
cpu->Reg[15] += cpu->GetInstructionSize();
|
||||
INC_PC(sizeof(vmovi_inst));
|
||||
FETCH_INST;
|
||||
GOTO_NEXT_INST;
|
||||
@ -536,7 +536,7 @@ VMOVR_INST:
|
||||
|
||||
VMOVR(cpu, inst_cream->single, inst_cream->d, inst_cream->m);
|
||||
}
|
||||
cpu->Reg[15] += GET_INST_SIZE(cpu);
|
||||
cpu->Reg[15] += cpu->GetInstructionSize();
|
||||
INC_PC(sizeof(vmovr_inst));
|
||||
FETCH_INST;
|
||||
GOTO_NEXT_INST;
|
||||
@ -585,7 +585,7 @@ VABS_INST:
|
||||
|
||||
CHECK_VFP_CDP_RET;
|
||||
}
|
||||
cpu->Reg[15] += GET_INST_SIZE(cpu);
|
||||
cpu->Reg[15] += cpu->GetInstructionSize();
|
||||
INC_PC(sizeof(vabs_inst));
|
||||
FETCH_INST;
|
||||
GOTO_NEXT_INST;
|
||||
@ -635,7 +635,7 @@ VNEG_INST:
|
||||
|
||||
CHECK_VFP_CDP_RET;
|
||||
}
|
||||
cpu->Reg[15] += GET_INST_SIZE(cpu);
|
||||
cpu->Reg[15] += cpu->GetInstructionSize();
|
||||
INC_PC(sizeof(vneg_inst));
|
||||
FETCH_INST;
|
||||
GOTO_NEXT_INST;
|
||||
@ -684,7 +684,7 @@ VSQRT_INST:
|
||||
|
||||
CHECK_VFP_CDP_RET;
|
||||
}
|
||||
cpu->Reg[15] += GET_INST_SIZE(cpu);
|
||||
cpu->Reg[15] += cpu->GetInstructionSize();
|
||||
INC_PC(sizeof(vsqrt_inst));
|
||||
FETCH_INST;
|
||||
GOTO_NEXT_INST;
|
||||
@ -733,7 +733,7 @@ VCMP_INST:
|
||||
|
||||
CHECK_VFP_CDP_RET;
|
||||
}
|
||||
cpu->Reg[15] += GET_INST_SIZE(cpu);
|
||||
cpu->Reg[15] += cpu->GetInstructionSize();
|
||||
INC_PC(sizeof(vcmp_inst));
|
||||
FETCH_INST;
|
||||
GOTO_NEXT_INST;
|
||||
@ -782,7 +782,7 @@ VCMP2_INST:
|
||||
|
||||
CHECK_VFP_CDP_RET;
|
||||
}
|
||||
cpu->Reg[15] += GET_INST_SIZE(cpu);
|
||||
cpu->Reg[15] += cpu->GetInstructionSize();
|
||||
INC_PC(sizeof(vcmp2_inst));
|
||||
FETCH_INST;
|
||||
GOTO_NEXT_INST;
|
||||
@ -831,7 +831,7 @@ VCVTBDS_INST:
|
||||
|
||||
CHECK_VFP_CDP_RET;
|
||||
}
|
||||
cpu->Reg[15] += GET_INST_SIZE(cpu);
|
||||
cpu->Reg[15] += cpu->GetInstructionSize();
|
||||
INC_PC(sizeof(vcvtbds_inst));
|
||||
FETCH_INST;
|
||||
GOTO_NEXT_INST;
|
||||
@ -882,7 +882,7 @@ VCVTBFF_INST:
|
||||
|
||||
CHECK_VFP_CDP_RET;
|
||||
}
|
||||
cpu->Reg[15] += GET_INST_SIZE(cpu);
|
||||
cpu->Reg[15] += cpu->GetInstructionSize();
|
||||
INC_PC(sizeof(vcvtbff_inst));
|
||||
FETCH_INST;
|
||||
GOTO_NEXT_INST;
|
||||
@ -931,7 +931,7 @@ VCVTBFI_INST:
|
||||
|
||||
CHECK_VFP_CDP_RET;
|
||||
}
|
||||
cpu->Reg[15] += GET_INST_SIZE(cpu);
|
||||
cpu->Reg[15] += cpu->GetInstructionSize();
|
||||
INC_PC(sizeof(vcvtbfi_inst));
|
||||
FETCH_INST;
|
||||
GOTO_NEXT_INST;
|
||||
@ -981,7 +981,7 @@ VMOVBRS_INST:
|
||||
|
||||
VMOVBRS(cpu, inst_cream->to_arm, inst_cream->t, inst_cream->n, &(cpu->Reg[inst_cream->t]));
|
||||
}
|
||||
cpu->Reg[15] += GET_INST_SIZE(cpu);
|
||||
cpu->Reg[15] += cpu->GetInstructionSize();
|
||||
INC_PC(sizeof(vmovbrs_inst));
|
||||
FETCH_INST;
|
||||
GOTO_NEXT_INST;
|
||||
@ -1032,7 +1032,7 @@ VMSR_INST:
|
||||
{
|
||||
cpu->VFP[VFP_FPSCR] = cpu->Reg[rt];
|
||||
}
|
||||
else if (InAPrivilegedMode(cpu))
|
||||
else if (cpu->InAPrivilegedMode())
|
||||
{
|
||||
if (reg == 8)
|
||||
cpu->VFP[VFP_FPEXC] = cpu->Reg[rt];
|
||||
@ -1042,7 +1042,7 @@ VMSR_INST:
|
||||
cpu->VFP[VFP_FPINST2] = cpu->Reg[rt];
|
||||
}
|
||||
}
|
||||
cpu->Reg[15] += GET_INST_SIZE(cpu);
|
||||
cpu->Reg[15] += cpu->GetInstructionSize();
|
||||
INC_PC(sizeof(vmsr_inst));
|
||||
FETCH_INST;
|
||||
GOTO_NEXT_INST;
|
||||
@ -1090,7 +1090,7 @@ VMOVBRC_INST:
|
||||
|
||||
cpu->ExtReg[(2 * inst_cream->d) + inst_cream->index] = cpu->Reg[inst_cream->t];
|
||||
}
|
||||
cpu->Reg[15] += GET_INST_SIZE(cpu);
|
||||
cpu->Reg[15] += cpu->GetInstructionSize();
|
||||
INC_PC(sizeof(vmovbrc_inst));
|
||||
FETCH_INST;
|
||||
GOTO_NEXT_INST;
|
||||
@ -1163,7 +1163,7 @@ VMRS_INST:
|
||||
{
|
||||
cpu->Reg[rt] = cpu->VFP[VFP_MVFR0];
|
||||
}
|
||||
else if (InAPrivilegedMode(cpu))
|
||||
else if (cpu->InAPrivilegedMode())
|
||||
{
|
||||
if (reg == 8)
|
||||
cpu->Reg[rt] = cpu->VFP[VFP_FPEXC];
|
||||
@ -1173,7 +1173,7 @@ VMRS_INST:
|
||||
cpu->Reg[rt] = cpu->VFP[VFP_FPINST2];
|
||||
}
|
||||
}
|
||||
cpu->Reg[15] += GET_INST_SIZE(cpu);
|
||||
cpu->Reg[15] += cpu->GetInstructionSize();
|
||||
INC_PC(sizeof(vmrs_inst));
|
||||
FETCH_INST;
|
||||
GOTO_NEXT_INST;
|
||||
@ -1221,7 +1221,7 @@ VMOVBCR_INST:
|
||||
|
||||
cpu->Reg[inst_cream->t] = cpu->ExtReg[(2 * inst_cream->d) + inst_cream->index];
|
||||
}
|
||||
cpu->Reg[15] += GET_INST_SIZE(cpu);
|
||||
cpu->Reg[15] += cpu->GetInstructionSize();
|
||||
INC_PC(sizeof(vmovbcr_inst));
|
||||
FETCH_INST;
|
||||
GOTO_NEXT_INST;
|
||||
@ -1274,7 +1274,7 @@ VMOVBRRSS_INST:
|
||||
VMOVBRRSS(cpu, inst_cream->to_arm, inst_cream->t, inst_cream->t2, inst_cream->m,
|
||||
&cpu->Reg[inst_cream->t], &cpu->Reg[inst_cream->t2]);
|
||||
}
|
||||
cpu->Reg[15] += GET_INST_SIZE(cpu);
|
||||
cpu->Reg[15] += cpu->GetInstructionSize();
|
||||
INC_PC(sizeof(vmovbrrss_inst));
|
||||
FETCH_INST;
|
||||
GOTO_NEXT_INST;
|
||||
@ -1322,7 +1322,7 @@ VMOVBRRD_INST:
|
||||
VMOVBRRD(cpu, inst_cream->to_arm, inst_cream->t, inst_cream->t2, inst_cream->m,
|
||||
&(cpu->Reg[inst_cream->t]), &(cpu->Reg[inst_cream->t2]));
|
||||
}
|
||||
cpu->Reg[15] += GET_INST_SIZE(cpu);
|
||||
cpu->Reg[15] += cpu->GetInstructionSize();
|
||||
INC_PC(sizeof(vmovbrrd_inst));
|
||||
FETCH_INST;
|
||||
GOTO_NEXT_INST;
|
||||
@ -1378,23 +1378,23 @@ VSTR_INST:
|
||||
|
||||
if (inst_cream->single)
|
||||
{
|
||||
WriteMemory32(cpu, addr, cpu->ExtReg[inst_cream->d]);
|
||||
cpu->WriteMemory32(addr, cpu->ExtReg[inst_cream->d]);
|
||||
}
|
||||
else
|
||||
{
|
||||
const u32 word1 = cpu->ExtReg[inst_cream->d*2+0];
|
||||
const u32 word2 = cpu->ExtReg[inst_cream->d*2+1];
|
||||
|
||||
if (InBigEndianMode(cpu)) {
|
||||
WriteMemory32(cpu, addr + 0, word2);
|
||||
WriteMemory32(cpu, addr + 4, word1);
|
||||
if (cpu->InBigEndianMode()) {
|
||||
cpu->WriteMemory32(addr + 0, word2);
|
||||
cpu->WriteMemory32(addr + 4, word1);
|
||||
} else {
|
||||
WriteMemory32(cpu, addr + 0, word1);
|
||||
WriteMemory32(cpu, addr + 4, word2);
|
||||
cpu->WriteMemory32(addr + 0, word1);
|
||||
cpu->WriteMemory32(addr + 4, word2);
|
||||
}
|
||||
}
|
||||
}
|
||||
cpu->Reg[15] += GET_INST_SIZE(cpu);
|
||||
cpu->Reg[15] += cpu->GetInstructionSize();
|
||||
INC_PC(sizeof(vstr_inst));
|
||||
FETCH_INST;
|
||||
GOTO_NEXT_INST;
|
||||
@ -1444,7 +1444,7 @@ VPUSH_INST:
|
||||
{
|
||||
if (inst_cream->single)
|
||||
{
|
||||
WriteMemory32(cpu, addr, cpu->ExtReg[inst_cream->d+i]);
|
||||
cpu->WriteMemory32(addr, cpu->ExtReg[inst_cream->d+i]);
|
||||
addr += 4;
|
||||
}
|
||||
else
|
||||
@ -1452,12 +1452,12 @@ VPUSH_INST:
|
||||
const u32 word1 = cpu->ExtReg[(inst_cream->d+i)*2+0];
|
||||
const u32 word2 = cpu->ExtReg[(inst_cream->d+i)*2+1];
|
||||
|
||||
if (InBigEndianMode(cpu)) {
|
||||
WriteMemory32(cpu, addr + 0, word2);
|
||||
WriteMemory32(cpu, addr + 4, word1);
|
||||
if (cpu->InBigEndianMode()) {
|
||||
cpu->WriteMemory32(addr + 0, word2);
|
||||
cpu->WriteMemory32(addr + 4, word1);
|
||||
} else {
|
||||
WriteMemory32(cpu, addr + 0, word1);
|
||||
WriteMemory32(cpu, addr + 4, word2);
|
||||
cpu->WriteMemory32(addr + 0, word1);
|
||||
cpu->WriteMemory32(addr + 4, word2);
|
||||
}
|
||||
|
||||
addr += 8;
|
||||
@ -1466,7 +1466,7 @@ VPUSH_INST:
|
||||
|
||||
cpu->Reg[R13] -= inst_cream->imm32;
|
||||
}
|
||||
cpu->Reg[15] += GET_INST_SIZE(cpu);
|
||||
cpu->Reg[15] += cpu->GetInstructionSize();
|
||||
INC_PC(sizeof(vpush_inst));
|
||||
FETCH_INST;
|
||||
GOTO_NEXT_INST;
|
||||
@ -1522,7 +1522,7 @@ VSTM_INST: /* encoding 1 */
|
||||
{
|
||||
if (inst_cream->single)
|
||||
{
|
||||
WriteMemory32(cpu, addr, cpu->ExtReg[inst_cream->d+i]);
|
||||
cpu->WriteMemory32(addr, cpu->ExtReg[inst_cream->d+i]);
|
||||
addr += 4;
|
||||
}
|
||||
else
|
||||
@ -1530,12 +1530,12 @@ VSTM_INST: /* encoding 1 */
|
||||
const u32 word1 = cpu->ExtReg[(inst_cream->d+i)*2+0];
|
||||
const u32 word2 = cpu->ExtReg[(inst_cream->d+i)*2+1];
|
||||
|
||||
if (InBigEndianMode(cpu)) {
|
||||
WriteMemory32(cpu, addr + 0, word2);
|
||||
WriteMemory32(cpu, addr + 4, word1);
|
||||
if (cpu->InBigEndianMode()) {
|
||||
cpu->WriteMemory32(addr + 0, word2);
|
||||
cpu->WriteMemory32(addr + 4, word1);
|
||||
} else {
|
||||
WriteMemory32(cpu, addr + 0, word1);
|
||||
WriteMemory32(cpu, addr + 4, word2);
|
||||
cpu->WriteMemory32(addr + 0, word1);
|
||||
cpu->WriteMemory32(addr + 4, word2);
|
||||
}
|
||||
|
||||
addr += 8;
|
||||
@ -1597,15 +1597,15 @@ VPOP_INST:
|
||||
{
|
||||
if (inst_cream->single)
|
||||
{
|
||||
cpu->ExtReg[inst_cream->d+i] = ReadMemory32(cpu, addr);
|
||||
cpu->ExtReg[inst_cream->d+i] = cpu->ReadMemory32(addr);
|
||||
addr += 4;
|
||||
}
|
||||
else
|
||||
{
|
||||
const u32 word1 = ReadMemory32(cpu, addr + 0);
|
||||
const u32 word2 = ReadMemory32(cpu, addr + 4);
|
||||
const u32 word1 = cpu->ReadMemory32(addr + 0);
|
||||
const u32 word2 = cpu->ReadMemory32(addr + 4);
|
||||
|
||||
if (InBigEndianMode(cpu)) {
|
||||
if (cpu->InBigEndianMode()) {
|
||||
cpu->ExtReg[(inst_cream->d+i)*2+0] = word2;
|
||||
cpu->ExtReg[(inst_cream->d+i)*2+1] = word1;
|
||||
} else {
|
||||
@ -1618,7 +1618,7 @@ VPOP_INST:
|
||||
}
|
||||
cpu->Reg[R13] += inst_cream->imm32;
|
||||
}
|
||||
cpu->Reg[15] += GET_INST_SIZE(cpu);
|
||||
cpu->Reg[15] += cpu->GetInstructionSize();
|
||||
INC_PC(sizeof(vpop_inst));
|
||||
FETCH_INST;
|
||||
GOTO_NEXT_INST;
|
||||
@ -1670,14 +1670,14 @@ VLDR_INST:
|
||||
|
||||
if (inst_cream->single)
|
||||
{
|
||||
cpu->ExtReg[inst_cream->d] = ReadMemory32(cpu, addr);
|
||||
cpu->ExtReg[inst_cream->d] = cpu->ReadMemory32(addr);
|
||||
}
|
||||
else
|
||||
{
|
||||
const u32 word1 = ReadMemory32(cpu, addr + 0);
|
||||
const u32 word2 = ReadMemory32(cpu, addr + 4);
|
||||
const u32 word1 = cpu->ReadMemory32(addr + 0);
|
||||
const u32 word2 = cpu->ReadMemory32(addr + 4);
|
||||
|
||||
if (InBigEndianMode(cpu)) {
|
||||
if (cpu->InBigEndianMode()) {
|
||||
cpu->ExtReg[inst_cream->d*2+0] = word2;
|
||||
cpu->ExtReg[inst_cream->d*2+1] = word1;
|
||||
} else {
|
||||
@ -1686,7 +1686,7 @@ VLDR_INST:
|
||||
}
|
||||
}
|
||||
}
|
||||
cpu->Reg[15] += GET_INST_SIZE(cpu);
|
||||
cpu->Reg[15] += cpu->GetInstructionSize();
|
||||
INC_PC(sizeof(vldr_inst));
|
||||
FETCH_INST;
|
||||
GOTO_NEXT_INST;
|
||||
@ -1742,15 +1742,15 @@ VLDM_INST:
|
||||
{
|
||||
if (inst_cream->single)
|
||||
{
|
||||
cpu->ExtReg[inst_cream->d+i] = ReadMemory32(cpu, addr);
|
||||
cpu->ExtReg[inst_cream->d+i] = cpu->ReadMemory32(addr);
|
||||
addr += 4;
|
||||
}
|
||||
else
|
||||
{
|
||||
const u32 word1 = ReadMemory32(cpu, addr + 0);
|
||||
const u32 word2 = ReadMemory32(cpu, addr + 4);
|
||||
const u32 word1 = cpu->ReadMemory32(addr + 0);
|
||||
const u32 word2 = cpu->ReadMemory32(addr + 4);
|
||||
|
||||
if (InBigEndianMode(cpu)) {
|
||||
if (cpu->InBigEndianMode()) {
|
||||
cpu->ExtReg[(inst_cream->d+i)*2+0] = word2;
|
||||
cpu->ExtReg[(inst_cream->d+i)*2+1] = word1;
|
||||
} else {
|
||||
@ -1766,7 +1766,7 @@ VLDM_INST:
|
||||
cpu->Reg[inst_cream->n] - inst_cream->imm32);
|
||||
}
|
||||
}
|
||||
cpu->Reg[15] += GET_INST_SIZE(cpu);
|
||||
cpu->Reg[15] += cpu->GetInstructionSize();
|
||||
INC_PC(sizeof(vldm_inst));
|
||||
FETCH_INST;
|
||||
GOTO_NEXT_INST;
|
||||
|
Reference in New Issue
Block a user