arm64jit: Implement just the most basic ops.

This improves the slowness a good bit.
This commit is contained in:
Unknown W. Brackets committed 2023-09-03 12:20:16 -07:00
1 parent 1b756ff8c1
commit 7607280837
2 files changed
+47 -1

No files matched your search

+20 -1
View File
@@ -47,11 +47,30 @@ void Arm64JitBackend::CompIR_Basic(IRInst inst) {
switch (inst.op) {
case IROp::Downcount:
SUBI2R(DOWNCOUNTREG, DOWNCOUNTREG, (s64)(s32)inst.constant, SCRATCH1);
break;
case IROp::SetConst:
regs_.SetGPRImm(inst.dest, inst.constant);
break;
case IROp::SetConstF:
{
regs_.Map(inst);
float f;
memcpy(&f, &inst.constant, sizeof(f));
fp_.MOVI2F(regs_.F(inst.dest), f, SCRATCH1);
break;
}
case IROp::SetPC:
regs_.Map(inst);
MovToPC(regs_.R(inst.src1));
break;
case IROp::SetPCConst:
CompIR_Generic(inst);
MOVI2R(SCRATCH1, inst.constant);
MovToPC(SCRATCH1);
break;
default: