mirror of
https://git.suyu.dev/suyu/dynarmic.git
synced 2026-01-02 04:34:43 +01:00
emit_x64: Port to new register allocator interface
This commit is contained in:
parent
f883bad2cc
commit
08a467bf9a
3 changed files with 796 additions and 833 deletions
|
|
@ -56,9 +56,9 @@ static void EmitMove(BlockOfCode* code, HostLoc to, HostLoc from) {
|
|||
} else if (HostLocIsGPR(to) && HostLocIsGPR(from)) {
|
||||
code->mov(HostLocToReg64(to), HostLocToReg64(from));
|
||||
} else if (HostLocIsXMM(to) && HostLocIsGPR(from)) {
|
||||
ASSERT_MSG(false, "TODO");
|
||||
code->movq(HostLocToXmm(to), HostLocToReg64(from));
|
||||
} else if (HostLocIsGPR(to) && HostLocIsXMM(from)) {
|
||||
ASSERT_MSG(false, "TODO");
|
||||
code->movq(HostLocToReg64(to), HostLocToXmm(from));
|
||||
} else if (HostLocIsXMM(to) && HostLocIsSpill(from)) {
|
||||
code->movsd(HostLocToXmm(to), SpillToOpArg(from));
|
||||
} else if (HostLocIsSpill(to) && HostLocIsXMM(from)) {
|
||||
|
|
@ -82,6 +82,10 @@ static void EmitExchange(BlockOfCode* code, HostLoc a, HostLoc b) {
|
|||
}
|
||||
}
|
||||
|
||||
bool Argument::GetImmediateU1() const {
|
||||
return value.GetU1();
|
||||
}
|
||||
|
||||
u8 Argument::GetImmediateU8() const {
|
||||
u64 imm = ImmediateToU64(value);
|
||||
ASSERT(imm < 0x100);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue