diff options
author | Serguei Katkov <serguei.i.katkov@intel.com> | 2014-04-15 16:55:26 +0700 |
---|---|---|
committer | Serguei Katkov <serguei.i.katkov@intel.com> | 2014-04-18 09:17:13 +0700 |
commit | 366f8ae038c4f6a3852deed1cff322ba54689808 (patch) | |
tree | 702f58af8c16a7945d26c8ae80932db69d67754a /compiler | |
parent | 957e2a2bb9ca9a59b4fb41170b1b1a53e99bed67 (diff) | |
download | art-366f8ae038c4f6a3852deed1cff322ba54689808.zip art-366f8ae038c4f6a3852deed1cff322ba54689808.tar.gz art-366f8ae038c4f6a3852deed1cff322ba54689808.tar.bz2 |
GenArithOpInt should ensure that reg is in core
GenArithOpInt in two-addr case of add-int where destination is in
register should ensure that it is a core reg.
Change-Id: I5b5ca126773a2bb45f9b23ad892102b034d694b4
Signed-off-by: Serguei Katkov <serguei.i.katkov@intel.com>
Diffstat (limited to 'compiler')
-rw-r--r-- | compiler/dex/quick/x86/int_x86.cc | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/compiler/dex/quick/x86/int_x86.cc b/compiler/dex/quick/x86/int_x86.cc index e45e7a8..46dbdf1 100644 --- a/compiler/dex/quick/x86/int_x86.cc +++ b/compiler/dex/quick/x86/int_x86.cc @@ -2126,6 +2126,8 @@ void X86Mir2Lir::GenArithOpInt(Instruction::Code opcode, RegLocation rl_dest, // Can we do this directly into memory? rl_result = UpdateLoc(rl_dest); if (rl_result.location == kLocPhysReg) { + // Ensure res is in a core reg + rl_result = EvalLoc(rl_dest, kCoreReg, true); // Can we do this from memory directly? rl_rhs = UpdateLoc(rl_rhs); if (rl_rhs.location != kLocPhysReg) { |