Make all registers available when allocating an output register.

On ARM we currently only have two register pairs available, so we
need to use one already used for an input.

Change-Id: I5411862310009a41e50ddab3549d3a9e9052266a
diff --git a/compiler/optimizing/code_generator.cc b/compiler/optimizing/code_generator.cc
index ff316e5..8b85d71 100644
--- a/compiler/optimizing/code_generator.cc
+++ b/compiler/optimizing/code_generator.cc
@@ -132,6 +132,12 @@
     }
   }
 
+  // Make all registers available for the return value.
+  for (size_t i = 0, e = GetNumberOfRegisters(); i < e; ++i) {
+    blocked_registers_[i] = false;
+  }
+  SetupBlockedRegisters(blocked_registers_);
+
   Location result_location = locations->Out();
   if (result_location.IsUnallocated()) {
     switch (result_location.GetPolicy()) {