Bug 1301400: Baseline Wasm Compiler: Part 10: Implement BitopI64, r=lth

This commit is contained in:
Hannes Verschore 2016-09-29 22:33:23 +02:00
Родитель 01019a3055
Коммит 2b9de45cde
3 изменённых файлов: 10 добавлений и 16 удалений

Просмотреть файл

@ -2490,27 +2490,15 @@ class BaseCompiler
}
void orI64(RegI64 rhs, RegI64 srcDest) {
#if defined(JS_CODEGEN_X64)
masm.orq(rhs.reg.reg, srcDest.reg.reg);
#else
MOZ_CRASH("BaseCompiler platform hook: orI64");
#endif
masm.or64(rhs.reg, srcDest.reg);
}
void andI64(RegI64 rhs, RegI64 srcDest) {
#if defined(JS_CODEGEN_X64)
masm.andq(rhs.reg.reg, srcDest.reg.reg);
#else
MOZ_CRASH("BaseCompiler platform hook: andI64");
#endif
masm.and64(rhs.reg, srcDest.reg);
}
void xorI64(RegI64 rhs, RegI64 srcDest) {
#if defined(JS_CODEGEN_X64)
masm.xorq(rhs.reg.reg, srcDest.reg.reg);
#else
MOZ_CRASH("BaseCompiler platform hook: xorI64");
#endif
masm.xor64(rhs.reg, srcDest.reg);
}
void lshiftI64(RegI64 rhs, RegI64 srcDest) {

Просмотреть файл

@ -728,7 +728,7 @@ class MacroAssembler : public MacroAssemblerSpecific
inline void orPtr(Register src, Register dest) PER_ARCH;
inline void orPtr(Imm32 imm, Register dest) PER_ARCH;
inline void and64(Register64 src, Register64 dest) DEFINED_ON(x86, arm);
inline void and64(Register64 src, Register64 dest) DEFINED_ON(x86, x64, arm);
inline void or64(Register64 src, Register64 dest) PER_ARCH;
inline void xor64(Register64 src, Register64 dest) PER_ARCH;

Просмотреть файл

@ -89,6 +89,12 @@ MacroAssembler::orPtr(Imm32 imm, Register dest)
orq(imm, dest);
}
void
MacroAssembler::and64(Register64 src, Register64 dest)
{
andq(src.reg, dest.reg);
}
void
MacroAssembler::or64(Register64 src, Register64 dest)
{