summaryrefslogtreecommitdiff
path: root/compiler/optimizing
diff options
context:
space:
mode:
author Andreas Gampe <agampe@google.com> 2015-08-13 05:26:35 +0000
committer Gerrit Code Review <noreply-gerritcodereview@google.com> 2015-08-13 05:26:35 +0000
commit1d4219ee25dfb228cc72f353d97be69584fc0722 (patch)
tree95d13900fb7ab30bfa155ae51b3d04296d5eca43 /compiler/optimizing
parent8be64212312ff2a1ccd9d4c007f7c679fe19483e (diff)
parent6cff09a873e0179f2a8d28727d4cd2447bd1bf16 (diff)
Merge "Intrinsics recognizer returns kNone for MIPS, MIPS64 instruction sets"
Diffstat (limited to 'compiler/optimizing')
-rw-r--r--compiler/optimizing/intrinsics.cc7
1 files changed, 5 insertions, 2 deletions
diff --git a/compiler/optimizing/intrinsics.cc b/compiler/optimizing/intrinsics.cc
index c5ba8cbd92..3db9816173 100644
--- a/compiler/optimizing/intrinsics.cc
+++ b/compiler/optimizing/intrinsics.cc
@@ -84,7 +84,10 @@ static Primitive::Type GetType(uint64_t data, bool is_op_size) {
}
}
-static Intrinsics GetIntrinsic(InlineMethod method) {
+static Intrinsics GetIntrinsic(InlineMethod method, InstructionSet instruction_set) {
+ if (instruction_set == kMips || instruction_set == kMips64) {
+ return Intrinsics::kNone;
+ }
switch (method.opcode) {
// Floating-point conversions.
case kIntrinsicDoubleCvt:
@@ -365,7 +368,7 @@ void IntrinsicsRecognizer::Run() {
driver_->GetMethodInlinerMap()->GetMethodInliner(&invoke->GetDexFile());
DCHECK(inliner != nullptr);
if (inliner->IsIntrinsic(invoke->GetDexMethodIndex(), &method)) {
- Intrinsics intrinsic = GetIntrinsic(method);
+ Intrinsics intrinsic = GetIntrinsic(method, graph_->GetInstructionSet());
if (intrinsic != Intrinsics::kNone) {
if (!CheckInvokeType(intrinsic, invoke)) {