Mips portable floating point support
Fleshing out the portable floating point.
Change-Id: Ie7a6dcb168a4eb2a61a52e6d747da4118d54f3aa
diff --git a/src/thread.cc b/src/thread.cc
index dcaf01f..2f3ce6a 100644
--- a/src/thread.cc
+++ b/src/thread.cc
@@ -72,6 +72,32 @@
}
void Thread::InitFunctionPointers() {
+#if defined(__mips)
+ pShlLong = art_shl_long;
+ pShrLong = art_shr_long;
+ pUshrLong = art_ushr_long;
+ pI2f = __floatsisf;
+ pF2iz = __fixsfi;
+ pD2f = __truncdfsf2;
+ pF2d = __extendsfdfs;
+ pD2iz = __fixdfsi;
+ pL2f = __floatdisf;
+ pL2d = __floatdidf;
+ pFadd = __addsf3;
+ pFsub = __subsf3;
+ pFdiv = divsf3;
+ pFmul = __mulsf3;
+ pFmodf = fmodf;
+ pDadd = __adddf3;
+ pDsub = __subdf3;
+ pDdiv = __divdf3;
+ pDmul = muldf3;
+ pFmod = fmod;
+ pCmplFloat = art_cmpl_float;
+ pCmpgFloat = arg_cmpl_float;
+ pCmplDouble = art_cmpl_double;
+ pCmpgDouble = arg_cmpl_double;
+#endif
#if defined(__arm__)
pShlLong = art_shl_long;
pShrLong = art_shr_long;