diff options
author | 2015-08-13 05:26:35 +0000 | |
---|---|---|
committer | 2015-08-13 05:26:35 +0000 | |
commit | 1d4219ee25dfb228cc72f353d97be69584fc0722 (patch) | |
tree | 95d13900fb7ab30bfa155ae51b3d04296d5eca43 /compiler/optimizing/intrinsics.cc | |
parent | 8be64212312ff2a1ccd9d4c007f7c679fe19483e (diff) | |
parent | 6cff09a873e0179f2a8d28727d4cd2447bd1bf16 (diff) |
Merge "Intrinsics recognizer returns kNone for MIPS, MIPS64 instruction sets"
Diffstat (limited to 'compiler/optimizing/intrinsics.cc')
-rw-r--r-- | compiler/optimizing/intrinsics.cc | 7 |
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)) { |