mirror of
https://gitlab.winehq.org/wine/wine-gecko.git
synced 2024-09-13 09:24:08 -07:00
Bug 986981 - SpiderMonkey: Rename movsxd to movslq and prepare it for use r=bbouvier
This commit is contained in:
parent
fba32c62fa
commit
1544f02097
@ -1892,11 +1892,21 @@ public:
|
||||
m_formatter.immediate64(imm);
|
||||
}
|
||||
|
||||
void movsxd_rr(RegisterID src, RegisterID dst)
|
||||
void movslq_rr(RegisterID src, RegisterID dst)
|
||||
{
|
||||
spew("movsxd %s, %s", GPReg32Name(src), GPReg64Name(dst));
|
||||
spew("movslq %s, %s", GPReg32Name(src), GPReg64Name(dst));
|
||||
m_formatter.oneByteOp64(OP_MOVSXD_GvEv, src, dst);
|
||||
}
|
||||
void movslq_mr(int32_t offset, RegisterID base, RegisterID dst)
|
||||
{
|
||||
spew("movslq " MEM_ob ", %s", ADDR_ob(offset, base), GPReg64Name(dst));
|
||||
m_formatter.oneByteOp64(OP_MOVSXD_GvEv, offset, base, dst);
|
||||
}
|
||||
void movslq_mr(int32_t offset, RegisterID base, RegisterID index, int scale, RegisterID dst)
|
||||
{
|
||||
spew("movslq " MEM_obs ", %s", ADDR_obs(offset, base, index, scale), GPReg64Name(dst));
|
||||
m_formatter.oneByteOp64(OP_MOVSXD_GvEv, offset, base, index, scale, dst);
|
||||
}
|
||||
|
||||
MOZ_WARN_UNUSED_RESULT JmpSrc
|
||||
movl_ripr(RegisterID dst)
|
||||
|
@ -412,6 +412,22 @@ class Assembler : public AssemblerX86Shared
|
||||
masm.xchgq_rr(src.code(), dest.code());
|
||||
}
|
||||
|
||||
void movslq(Register src, Register dest) {
|
||||
masm.movslq_rr(src.code(), dest.code());
|
||||
}
|
||||
void movslq(const Operand &src, Register dest) {
|
||||
switch (src.kind()) {
|
||||
case Operand::MEM_REG_DISP:
|
||||
masm.movslq_mr(src.disp(), src.base(), dest.code());
|
||||
break;
|
||||
case Operand::MEM_SCALE:
|
||||
masm.movslq_mr(src.disp(), src.base(), src.index(), src.scale(), dest.code());
|
||||
break;
|
||||
default:
|
||||
MOZ_CRASH("unexpected operand kind");
|
||||
}
|
||||
}
|
||||
|
||||
void andq(Register src, Register dest) {
|
||||
masm.andq_rr(src.code(), dest.code());
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user