diff options
| author | Maxim Kazantsev <maxim.kazantsev@intel.com> | 2015-02-24 15:07:55 +0600 |
|---|---|---|
| committer | Maxim Kazantsev <maxim.kazantsev@intel.com> | 2015-03-04 10:40:19 +0600 |
| commit | 085b733d15ec09afa27b85358acb89d9bc02e843 (patch) | |
| tree | 3345d76e4b9e0409f0967e378a1632b9bd9c6b1e | |
| parent | 4b39eeea67b0fecf21588d7b00e92eb844014c24 (diff) | |
| download | art-085b733d15ec09afa27b85358acb89d9bc02e843.tar.gz art-085b733d15ec09afa27b85358acb89d9bc02e843.tar.bz2 art-085b733d15ec09afa27b85358acb89d9bc02e843.zip | |
ART: AddVectorReduce should store result in memory carefully
When generating AddVectorReduce, in some cirsumstances we
add value reduced from vector directly to memory. We must
ensure that local LIR optimizations are aware about it.
Change-Id: I8fe19939f67dcd184b08f63026b0da18007d34b8
| -rwxr-xr-x | compiler/dex/quick/x86/target_x86.cc | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/compiler/dex/quick/x86/target_x86.cc b/compiler/dex/quick/x86/target_x86.cc index 8f97d1e7c8..dbe48488a1 100755 --- a/compiler/dex/quick/x86/target_x86.cc +++ b/compiler/dex/quick/x86/target_x86.cc @@ -2202,6 +2202,7 @@ void X86Mir2Lir::GenAddReduceVector(MIR* mir) { StoreFinalValue(rl_dest, rl_result); } else { // Do the addition directly to memory. + ScopedMemRefType mem_ref_type(this, ResourceMask::kDalvikReg); OpMemReg(kOpAdd, rl_result, temp.GetReg()); } } |
