diff options
| author | 2015-02-24 16:55:04 +0100 | |
|---|---|---|
| committer | 2015-03-06 13:05:47 -0800 | |
| commit | 6ea651f0f4c7de4580beb2e887d86802c1ae0738 (patch) | |
| tree | fd97dcbd7301892cb785ca34aee21ad86437c3b3 /compiler/dex/quick/gen_common.cc | |
| parent | 0e242b5cad3c0b68b72f28c1e5fd3fdd4c05bfd8 (diff) | |
Initial support for quick compiler on MIPS64r6.
Change-Id: I6f43027b84e4a98ea320cddb972d9cf39bf7c4f8
Diffstat (limited to 'compiler/dex/quick/gen_common.cc')
| -rw-r--r-- | compiler/dex/quick/gen_common.cc | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/compiler/dex/quick/gen_common.cc b/compiler/dex/quick/gen_common.cc index afae89d150..e57889aeb7 100644 --- a/compiler/dex/quick/gen_common.cc +++ b/compiler/dex/quick/gen_common.cc @@ -482,6 +482,7 @@ void Mir2Lir::GenFilledNewArray(CallInfo* info) { r_val = AllocTemp(); break; case kMips: + case kMips64: r_val = AllocTemp(); break; default: LOG(FATAL) << "Unexpected instruction set: " << cu_->instruction_set; @@ -1695,7 +1696,8 @@ void Mir2Lir::GenArithOpInt(Instruction::Code opcode, RegLocation rl_dest, StoreValue(rl_dest, rl_result); } else { bool done = false; // Set to true if we happen to find a way to use a real instruction. - if (cu_->instruction_set == kMips || cu_->instruction_set == kArm64) { + if (cu_->instruction_set == kMips || cu_->instruction_set == kMips64 || + cu_->instruction_set == kArm64) { rl_src1 = LoadValue(rl_src1, kCoreReg); rl_src2 = LoadValue(rl_src2, kCoreReg); if (check_zero && (flags & MIR_IGNORE_DIV_ZERO_CHECK) == 0) { @@ -1990,7 +1992,8 @@ void Mir2Lir::GenArithOpIntLit(Instruction::Code opcode, RegLocation rl_dest, Re } bool done = false; - if (cu_->instruction_set == kMips || cu_->instruction_set == kArm64) { + if (cu_->instruction_set == kMips || cu_->instruction_set == kMips64 || + cu_->instruction_set == kArm64) { rl_src = LoadValue(rl_src, kCoreReg); rl_result = GenDivRemLit(rl_dest, rl_src.reg, lit, is_div); done = true; |