mirror of
https://git.eden-emu.dev/eden-emu/eden
synced 2026-05-20 11:57:01 +02:00
i forgot jit pointer, again
Signed-off-by: lizzie <lizzie@eden-emu.dev>
This commit is contained in:
parent
43aac10fe9
commit
391c29fdf5
1 changed files with 2 additions and 4 deletions
|
|
@ -101,13 +101,12 @@ template<>
|
||||||
void EmitIR<IR::Opcode::A64SetW>(powah::Context& code, EmitContext& ctx, IR::Inst* inst) {
|
void EmitIR<IR::Opcode::A64SetW>(powah::Context& code, EmitContext& ctx, IR::Inst* inst) {
|
||||||
auto const value = ctx.reg_alloc.UseGpr(inst->GetArg(1));
|
auto const value = ctx.reg_alloc.UseGpr(inst->GetArg(1));
|
||||||
if (inst->GetArg(0).GetType() == IR::Type::A64Reg) {
|
if (inst->GetArg(0).GetType() == IR::Type::A64Reg) {
|
||||||
auto const addr = ctx.reg_alloc.ScratchGpr();
|
|
||||||
auto const tmp = ctx.reg_alloc.ScratchGpr();
|
auto const tmp = ctx.reg_alloc.ScratchGpr();
|
||||||
auto const offs = offsetof(A64JitState, regs)
|
auto const offs = offsetof(A64JitState, regs)
|
||||||
+ A64::RegNumber(inst->GetArg(0).GetA64RegRef()) * sizeof(u64);
|
+ A64::RegNumber(inst->GetArg(0).GetA64RegRef()) * sizeof(u64);
|
||||||
code.MR(tmp, value);
|
code.MR(tmp, value);
|
||||||
code.RLDICL(tmp, tmp, 0, 32);
|
code.RLDICL(tmp, tmp, 0, 32);
|
||||||
code.STD(tmp, addr, offs);
|
code.STD(tmp, PPC64::RJIT, offs);
|
||||||
} else {
|
} else {
|
||||||
ASSERT(false && "unimp");
|
ASSERT(false && "unimp");
|
||||||
}
|
}
|
||||||
|
|
@ -117,10 +116,9 @@ template<>
|
||||||
void EmitIR<IR::Opcode::A64SetX>(powah::Context& code, EmitContext& ctx, IR::Inst* inst) {
|
void EmitIR<IR::Opcode::A64SetX>(powah::Context& code, EmitContext& ctx, IR::Inst* inst) {
|
||||||
auto const value = ctx.reg_alloc.UseGpr(inst->GetArg(1));
|
auto const value = ctx.reg_alloc.UseGpr(inst->GetArg(1));
|
||||||
if (inst->GetArg(0).GetType() == IR::Type::A64Reg) {
|
if (inst->GetArg(0).GetType() == IR::Type::A64Reg) {
|
||||||
auto const addr = ctx.reg_alloc.ScratchGpr();
|
|
||||||
auto const offs = offsetof(A64JitState, regs)
|
auto const offs = offsetof(A64JitState, regs)
|
||||||
+ A64::RegNumber(inst->GetArg(0).GetA64RegRef()) * sizeof(u64);
|
+ A64::RegNumber(inst->GetArg(0).GetA64RegRef()) * sizeof(u64);
|
||||||
code.STD(value, addr, offs);
|
code.STD(value, PPC64::RJIT, offs);
|
||||||
} else {
|
} else {
|
||||||
ASSERT(false && "unimp");
|
ASSERT(false && "unimp");
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue