MIPS fixes.
MIPS' futexes lack sufficient support for ART_USE_FUTEXES, fall-back on pthread
mutexes. Fixes ThreadStress.
Missing REM_FLOAT codegen for MIPS following recent refactorings. Fixes
omnibus-opcodes. -Wunreachable-code is no longer supported in GCC, a shame as
it would have caught this.
Change-Id: I10d0827da373fd270639f6a9c52278864a015815
diff --git a/src/base/mutex.h b/src/base/mutex.h
index 5cc021f..190e779 100644
--- a/src/base/mutex.h
+++ b/src/base/mutex.h
@@ -31,7 +31,7 @@
#if defined(__APPLE__)
#define ART_USE_FUTEXES 0
#else
-#define ART_USE_FUTEXES 1
+#define ART_USE_FUTEXES !defined(__mips__)
#endif
// Currently Darwin doesn't support locks with timeouts.
diff --git a/src/compiler/codegen/mips/fp_mips.cc b/src/compiler/codegen/mips/fp_mips.cc
index e718c5c..6ffc5e0 100644
--- a/src/compiler/codegen/mips/fp_mips.cc
+++ b/src/compiler/codegen/mips/fp_mips.cc
@@ -49,6 +49,8 @@
case Instruction::MUL_FLOAT:
op = kMipsFmuls;
break;
+ case Instruction::REM_FLOAT_2ADDR:
+ case Instruction::REM_FLOAT:
FlushAllRegs(cu); // Send everything to home location
CallRuntimeHelperRegLocationRegLocation(cu, ENTRYPOINT_OFFSET(pFmodf), rl_src1, rl_src2, false);
rl_result = GetReturn(cu, true);