diff options
author | Calin Juravle <calin@google.com> | 2014-11-11 15:38:19 +0000 |
---|---|---|
committer | Calin Juravle <calin@google.com> | 2014-11-12 18:38:49 +0000 |
commit | f97f9fbfdf7f2e23c662f21081fadee6af37809d (patch) | |
tree | aa5c7b6d42fc1dcd26f4a4f4d75fa488c575091a /compiler/optimizing/code_generator_arm.cc | |
parent | 0eaf65edf1b2af63a3eeb77ee1864d84d3154d1e (diff) | |
download | art-f97f9fbfdf7f2e23c662f21081fadee6af37809d.tar.gz art-f97f9fbfdf7f2e23c662f21081fadee6af37809d.tar.bz2 art-f97f9fbfdf7f2e23c662f21081fadee6af37809d.zip |
[optimizing compiler] add HTemporary support for long and doubles
Change-Id: I5247ecd71d0193050484b7632c804c9bfd20f924
Diffstat (limited to 'compiler/optimizing/code_generator_arm.cc')
-rw-r--r-- | compiler/optimizing/code_generator_arm.cc | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/compiler/optimizing/code_generator_arm.cc b/compiler/optimizing/code_generator_arm.cc index 56546c2901..87955ebae5 100644 --- a/compiler/optimizing/code_generator_arm.cc +++ b/compiler/optimizing/code_generator_arm.cc @@ -824,7 +824,12 @@ void CodeGeneratorARM::Move(HInstruction* instruction, Location location, HInstr } } else if (instruction->IsTemporary()) { Location temp_location = GetTemporaryLocation(instruction->AsTemporary()); - Move32(location, temp_location); + if (temp_location.IsStackSlot()) { + Move32(location, temp_location); + } else { + DCHECK(temp_location.IsDoubleStackSlot()); + Move64(location, temp_location); + } } else { DCHECK((instruction->GetNext() == move_for) || instruction->GetNext()->IsTemporary()); switch (instruction->GetType()) { |