Revert "Revert "[optimizing] Enable x86 long support.""

This reverts commit 154552e666347d41d95d7619c6ee56249ff4feca.

Change-Id: Idc726551c249a888b7ff5fde8508ae50e81b2e13
diff --git a/compiler/optimizing/locations.h b/compiler/optimizing/locations.h
index 198cc15..566c0da 100644
--- a/compiler/optimizing/locations.h
+++ b/compiler/optimizing/locations.h
@@ -211,15 +211,25 @@
   }
 
   Location ToLow() const {
-    return IsRegisterPair()
-        ? Location::RegisterLocation(low())
-        : Location::FpuRegisterLocation(low());
+    if (IsRegisterPair()) {
+      return Location::RegisterLocation(low());
+    } else if (IsFpuRegisterPair()) {
+      return Location::FpuRegisterLocation(low());
+    } else {
+      DCHECK(IsDoubleStackSlot());
+      return Location::StackSlot(GetStackIndex());
+    }
   }
 
   Location ToHigh() const {
-    return IsRegisterPair()
-        ? Location::RegisterLocation(high())
-        : Location::FpuRegisterLocation(high());
+    if (IsRegisterPair()) {
+      return Location::RegisterLocation(high());
+    } else if (IsFpuRegisterPair()) {
+      return Location::FpuRegisterLocation(high());
+    } else {
+      DCHECK(IsDoubleStackSlot());
+      return Location::StackSlot(GetHighStackIndex(4));
+    }
   }
 
   static uintptr_t EncodeStackIndex(intptr_t stack_index) {