summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Alexey Frunze <Alexey.Frunze@imgtec.com> 2015-10-26 16:11:39 -0700
committer Alexey Frunze <Alexey.Frunze@imgtec.com> 2015-10-26 16:11:39 -0700
commitc9e94f3792443a3ebf541fa81c96dd885723c112 (patch)
tree5fa7b131a5e00b1930053230f13ae69f33fc9603
parent525b665cef9d85a6cfe56994561a24e10dac7f0f (diff)
MIPS: Support register pairs in CodeGeneratorMIPS::AddLocationAsTemp().
Change-Id: I8584c150cae27353b57f3dccc78a68d6cd6fc2c1
-rw-r--r--compiler/optimizing/code_generator_mips.cc3
1 files changed, 3 insertions, 0 deletions
diff --git a/compiler/optimizing/code_generator_mips.cc b/compiler/optimizing/code_generator_mips.cc
index 8ba4556184..60b20ca46e 100644
--- a/compiler/optimizing/code_generator_mips.cc
+++ b/compiler/optimizing/code_generator_mips.cc
@@ -1000,6 +1000,9 @@ void CodeGeneratorMIPS::Move(HInstruction* instruction,
void CodeGeneratorMIPS::AddLocationAsTemp(Location location, LocationSummary* locations) {
if (location.IsRegister()) {
locations->AddTemp(location);
+ } else if (location.IsRegisterPair()) {
+ locations->AddTemp(Location::RegisterLocation(location.AsRegisterPairLow<Register>()));
+ locations->AddTemp(Location::RegisterLocation(location.AsRegisterPairHigh<Register>()));
} else {
UNIMPLEMENTED(FATAL) << "AddLocationAsTemp not implemented for location " << location;
}