зеркало из https://github.com/mozilla/gecko-dev.git
Bug 1290812 - Part 26: Implement the 64bit variant of Sub on mips32. r=lth
--- js/src/jit/MacroAssembler.h | 4 ++-- js/src/jit/mips32/MacroAssembler-mips32-inl.h | 19 +++++++++++++++++++ 2 files changed, 21 insertions(+), 2 deletions(-)
This commit is contained in:
Родитель
010daf84bc
Коммит
5ee3f310bb
|
@ -780,8 +780,8 @@ class MacroAssembler : public MacroAssemblerSpecific
|
|||
inline void subPtr(ImmWord imm, Register dest) DEFINED_ON(x64);
|
||||
inline void subPtr(const Address& addr, Register dest) DEFINED_ON(mips_shared, arm, arm64, x86, x64);
|
||||
|
||||
inline void sub64(Register64 src, Register64 dest) DEFINED_ON(x86, x64, arm, mips64);
|
||||
inline void sub64(Imm64 imm, Register64 dest) DEFINED_ON(x86, x64, arm, mips64);
|
||||
inline void sub64(Register64 src, Register64 dest) DEFINED_ON(x86, x64, arm, mips32, mips64);
|
||||
inline void sub64(Imm64 imm, Register64 dest) DEFINED_ON(x86, x64, arm, mips32, mips64);
|
||||
inline void sub64(const Operand& src, Register64 dest) DEFINED_ON(x64, mips64);
|
||||
|
||||
inline void subFloat32(FloatRegister src, FloatRegister dest) PER_SHARED_ARCH;
|
||||
|
|
|
@ -175,6 +175,25 @@ MacroAssembler::subPtr(Imm32 imm, Register dest)
|
|||
ma_subu(dest, dest, imm);
|
||||
}
|
||||
|
||||
void
|
||||
MacroAssembler::sub64(Register64 src, Register64 dest)
|
||||
{
|
||||
as_sltu(ScratchRegister, dest.low, src.low);
|
||||
as_subu(dest.high, dest.high, ScratchRegister);
|
||||
as_subu(dest.low, dest.low, src.low);
|
||||
as_subu(dest.high, dest.high, src.high);
|
||||
}
|
||||
|
||||
void
|
||||
MacroAssembler::sub64(Imm64 imm, Register64 dest)
|
||||
{
|
||||
ma_li(ScratchRegister, imm.low());
|
||||
as_sltu(ScratchRegister, dest.low, ScratchRegister);
|
||||
as_subu(dest.high, dest.high, ScratchRegister);
|
||||
ma_subu(dest.low, dest.low, imm.low());
|
||||
ma_subu(dest.high, dest.high, imm.hi());
|
||||
}
|
||||
|
||||
void
|
||||
MacroAssembler::mul64(Imm64 imm, const Register64& dest)
|
||||
{
|
||||
|
|
Загрузка…
Ссылка в новой задаче