Add sqrt() instruction support for ARM assembler (using VFP)
https://bugs.webkit.org/show_bug.cgi?id=38312
Reviewed by Oliver Hunt
* assembler/ARMAssembler.h:
(JSC::ARMAssembler::):
(JSC::ARMAssembler::fsqrtd_r):
* assembler/MacroAssemblerARM.h:
(JSC::MacroAssemblerARM::supportsFloatingPointSqrt):
(JSC::MacroAssemblerARM::sqrtDouble):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@58515 268f45cc-cd09-0410-ab3c-d52691b4dbfc
diff --git a/JavaScriptCore/assembler/MacroAssemblerARM.h b/JavaScriptCore/assembler/MacroAssemblerARM.h
index 448bc14..34e60c6 100644
--- a/JavaScriptCore/assembler/MacroAssemblerARM.h
+++ b/JavaScriptCore/assembler/MacroAssemblerARM.h
@@ -753,7 +753,7 @@
bool supportsFloatingPointSqrt() const
{
- return false;
+ return s_isVFPPresent;
}
void loadDouble(ImplicitAddress address, FPRegisterID dest)
@@ -817,9 +817,9 @@
mulDouble(ARMRegisters::SD0, dest);
}
- void sqrtDouble(FPRegisterID, FPRegisterID)
+ void sqrtDouble(FPRegisterID src, FPRegisterID dest)
{
- ASSERT_NOT_REACHED();
+ m_assembler.fsqrtd_r(dest, src);
}
void convertInt32ToDouble(RegisterID src, FPRegisterID dest)