Bug 1229057 - Part 15: Move MacroAssembler::divDouble into generic macro assembler. r=djvj

--HG--
extra : rebase_source : a209b419f8ccca02b3cc4fe1f9a7fa8e033e7f16
This commit is contained in:
Tooru Fujisawa 2015-12-01 17:04:05 +09:00
parent c2dee6abd7
commit 4ad68c7371
14 changed files with 26 additions and 31 deletions

View File

@ -775,6 +775,8 @@ class MacroAssembler : public MacroAssemblerSpecific
inline void mulDoublePtr(ImmPtr imm, Register temp, FloatRegister dest) DEFINED_ON(mips_shared, arm, arm64, x86, x64); inline void mulDoublePtr(ImmPtr imm, Register temp, FloatRegister dest) DEFINED_ON(mips_shared, arm, arm64, x86, x64);
inline void divDouble(FloatRegister src, FloatRegister dest) PER_SHARED_ARCH;
// =============================================================== // ===============================================================
// Shift functions // Shift functions

View File

@ -318,6 +318,12 @@ MacroAssembler::mulDoublePtr(ImmPtr imm, Register temp, FloatRegister dest)
mulDouble(ScratchDoubleReg, dest); mulDouble(ScratchDoubleReg, dest);
} }
void
MacroAssembler::divDouble(FloatRegister src, FloatRegister dest)
{
ma_vdiv(dest, src, dest);
}
// =============================================================== // ===============================================================
// Shift functions // Shift functions

View File

@ -246,12 +246,6 @@ MacroAssemblerARM::convertInt32ToFloat32(const Address& src, FloatRegister dest)
as_vcvt(dest, VFPRegister(scratch).sintOverlay()); as_vcvt(dest, VFPRegister(scratch).sintOverlay());
} }
void
MacroAssemblerARM::divDouble(FloatRegister src, FloatRegister dest)
{
ma_vdiv(dest, src, dest);
}
void void
MacroAssemblerARM::negateDouble(FloatRegister reg) MacroAssemblerARM::negateDouble(FloatRegister reg)
{ {

View File

@ -97,8 +97,6 @@ class MacroAssemblerARM : public Assembler
void convertInt32ToFloat32(Register src, FloatRegister dest); void convertInt32ToFloat32(Register src, FloatRegister dest);
void convertInt32ToFloat32(const Address& src, FloatRegister dest); void convertInt32ToFloat32(const Address& src, FloatRegister dest);
void divDouble(FloatRegister src, FloatRegister dest);
void negateDouble(FloatRegister reg); void negateDouble(FloatRegister reg);
void inc64(AbsoluteAddress dest); void inc64(AbsoluteAddress dest);

View File

@ -359,6 +359,12 @@ MacroAssembler::mulDoublePtr(ImmPtr imm, Register temp, FloatRegister dest)
fmul(ARMFPRegister(dest, 64), ARMFPRegister(dest, 64), scratchDouble); fmul(ARMFPRegister(dest, 64), ARMFPRegister(dest, 64), scratchDouble);
} }
void
MacroAssembler::divDouble(FloatRegister src, FloatRegister dest)
{
fdiv(ARMFPRegister(dest, 64), ARMFPRegister(dest, 64), ARMFPRegister(src, 64));
}
// =============================================================== // ===============================================================
// Shift functions // Shift functions

View File

@ -1236,9 +1236,6 @@ class MacroAssemblerCompat : public vixl::MacroAssembler
void negateFloat(FloatRegister reg) { void negateFloat(FloatRegister reg) {
fneg(ARMFPRegister(reg, 32), ARMFPRegister(reg, 32)); fneg(ARMFPRegister(reg, 32), ARMFPRegister(reg, 32));
} }
void divDouble(FloatRegister src, FloatRegister dest) {
fdiv(ARMFPRegister(dest, 64), ARMFPRegister(dest, 64), ARMFPRegister(src, 64));
}
void moveFloat32(FloatRegister src, FloatRegister dest) { void moveFloat32(FloatRegister src, FloatRegister dest) {
fmov(ARMFPRegister(dest, 32), ARMFPRegister(src, 32)); fmov(ARMFPRegister(dest, 32), ARMFPRegister(src, 32));

View File

@ -173,6 +173,12 @@ MacroAssembler::mulDoublePtr(ImmPtr imm, Register temp, FloatRegister dest)
mulDouble(ScratchDoubleReg, dest); mulDouble(ScratchDoubleReg, dest);
} }
void
MacroAssembler::divDouble(FloatRegister src, FloatRegister dest)
{
as_divd(dest, dest, src);
}
//}}} check_macroassembler_style //}}} check_macroassembler_style
// =============================================================== // ===============================================================

View File

@ -218,12 +218,6 @@ MacroAssemblerMIPSCompat::convertInt32ToFloat32(const Address& src, FloatRegiste
as_cvtsw(dest, dest); as_cvtsw(dest, dest);
} }
void
MacroAssemblerMIPSCompat::divDouble(FloatRegister src, FloatRegister dest)
{
as_divd(dest, dest, src);
}
void void
MacroAssemblerMIPSCompat::negateDouble(FloatRegister reg) MacroAssemblerMIPSCompat::negateDouble(FloatRegister reg)
{ {

View File

@ -175,8 +175,6 @@ class MacroAssemblerMIPSCompat : public MacroAssemblerMIPS
void convertInt32ToFloat32(Register src, FloatRegister dest); void convertInt32ToFloat32(Register src, FloatRegister dest);
void convertInt32ToFloat32(const Address& src, FloatRegister dest); void convertInt32ToFloat32(const Address& src, FloatRegister dest);
void divDouble(FloatRegister src, FloatRegister dest);
void negateDouble(FloatRegister reg); void negateDouble(FloatRegister reg);
void inc64(AbsoluteAddress dest); void inc64(AbsoluteAddress dest);

View File

@ -227,12 +227,6 @@ MacroAssemblerMIPS64Compat::convertInt32ToFloat32(const Address& src, FloatRegis
as_cvtsw(dest, dest); as_cvtsw(dest, dest);
} }
void
MacroAssemblerMIPS64Compat::divDouble(FloatRegister src, FloatRegister dest)
{
as_divd(dest, dest, src);
}
void void
MacroAssemblerMIPS64Compat::negateDouble(FloatRegister reg) MacroAssemblerMIPS64Compat::negateDouble(FloatRegister reg)
{ {

View File

@ -185,8 +185,6 @@ class MacroAssemblerMIPS64Compat : public MacroAssemblerMIPS64
void convertInt32ToFloat32(Register src, FloatRegister dest); void convertInt32ToFloat32(Register src, FloatRegister dest);
void convertInt32ToFloat32(const Address& src, FloatRegister dest); void convertInt32ToFloat32(const Address& src, FloatRegister dest);
void divDouble(FloatRegister src, FloatRegister dest);
void negateDouble(FloatRegister reg); void negateDouble(FloatRegister reg);
void inc64(AbsoluteAddress dest); void inc64(AbsoluteAddress dest);

View File

@ -237,7 +237,6 @@ class MacroAssemblerNone : public Assembler
void neg32(Register) { MOZ_CRASH(); } void neg32(Register) { MOZ_CRASH(); }
void negateDouble(FloatRegister) { MOZ_CRASH(); } void negateDouble(FloatRegister) { MOZ_CRASH(); }
void divDouble(FloatRegister, FloatRegister) { MOZ_CRASH(); }
template <typename T, typename S> void branch32(Condition, T, S, Label*) { MOZ_CRASH(); } template <typename T, typename S> void branch32(Condition, T, S, Label*) { MOZ_CRASH(); }
template <typename T, typename S> void branchTest32(Condition, T, S, Label*) { MOZ_CRASH(); } template <typename T, typename S> void branchTest32(Condition, T, S, Label*) { MOZ_CRASH(); }

View File

@ -145,6 +145,12 @@ MacroAssembler::mulDouble(FloatRegister src, FloatRegister dest)
vmulsd(src, dest, dest); vmulsd(src, dest, dest);
} }
void
MacroAssembler::divDouble(FloatRegister src, FloatRegister dest)
{
vdivsd(src, dest, dest);
}
//}}} check_macroassembler_style //}}} check_macroassembler_style
// =============================================================== // ===============================================================

View File

@ -922,9 +922,6 @@ class MacroAssemblerX86Shared : public Assembler
// XOR the float in a float register with -0.0. // XOR the float in a float register with -0.0.
vxorps(scratch, reg, reg); // s ^ 0x80000000 vxorps(scratch, reg, reg); // s ^ 0x80000000
} }
void divDouble(FloatRegister src, FloatRegister dest) {
vdivsd(src, dest, dest);
}
void convertFloat32ToDouble(FloatRegister src, FloatRegister dest) { void convertFloat32ToDouble(FloatRegister src, FloatRegister dest) {
vcvtss2sd(src, dest, dest); vcvtss2sd(src, dest, dest);
} }