diff options
Diffstat (limited to 'compiler/dex/quick/ralloc_util.cc')
-rw-r--r-- | compiler/dex/quick/ralloc_util.cc | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/compiler/dex/quick/ralloc_util.cc b/compiler/dex/quick/ralloc_util.cc index 2c51c1f2fd..8c0f2bb7e2 100644 --- a/compiler/dex/quick/ralloc_util.cc +++ b/compiler/dex/quick/ralloc_util.cc @@ -447,8 +447,11 @@ RegStorage Mir2Lir::AllocLiveReg(int s_reg, int reg_class, bool wide) { reg = FindLiveReg(wide ? reg_pool_->dp_regs_ : reg_pool_->sp_regs_, s_reg); } if (!reg.Valid() && (reg_class != kFPReg)) { - // TODO: add 64-bit core pool similar to above. - reg = FindLiveReg(reg_pool_->core_regs_, s_reg); + if (Is64BitInstructionSet(cu_->instruction_set)) { + reg = FindLiveReg(wide ? reg_pool_->core64_regs_ : reg_pool_->core_regs_, s_reg); + } else { + reg = FindLiveReg(reg_pool_->core_regs_, s_reg); + } } if (reg.Valid()) { if (wide && !reg.IsFloat() && !Is64BitInstructionSet(cu_->instruction_set)) { |