Fix a bug in the register allocator around pair allocation.

We may get hints that do not work with the current implementation
of register pairs, which forces the allocation of (low + 1)
for the high register. For example, if the hint is EBX, we will
allocate ESP for the high register.

bug:23043730

Change-Id: I371ebb0c61568f09d12eb9ab815c0bf0ea02d49b
diff --git a/test/528-long-hint/info.txt b/test/528-long-hint/info.txt
new file mode 100644
index 0000000..6a9cfae
--- /dev/null
+++ b/test/528-long-hint/info.txt
@@ -0,0 +1,2 @@
+Regression test for optimizing that used to crash on x86 when
+allocating a wrong register pair.