Registers allocated for 64-bit values should be contiguous.

Found in "Karl's Mortgage Calculator" from the market.
diff --git a/vm/compiler/codegen/arm/Codegen.c b/vm/compiler/codegen/arm/Codegen.c
index 65792be..d65023d 100644
--- a/vm/compiler/codegen/arm/Codegen.c
+++ b/vm/compiler/codegen/arm/Codegen.c
@@ -994,7 +994,8 @@
     int dataOffset = offsetof(ArrayObject, contents);
     int reg0, reg1, reg2, reg3;
 
-    reg0 = selectFirstRegister(cUnit, vArray, false);
+    reg0 = selectFirstRegister(cUnit, vArray,
+                               (size == LONG) || (size == DOUBLE));
     reg1 = NEXT_REG(reg0);
     reg2 = NEXT_REG(reg1);
     reg3 = NEXT_REG(reg2);
@@ -1086,7 +1087,8 @@
     int dataOffset = offsetof(ArrayObject, contents);
     int reg0, reg1, reg2, reg3;
 
-    reg0 = selectFirstRegister(cUnit, vArray, false);
+    reg0 = selectFirstRegister(cUnit, vArray,
+                               (size == LONG) || (size == DOUBLE));
     reg1 = NEXT_REG(reg0);
     reg2 = NEXT_REG(reg1);
     reg3 = NEXT_REG(reg2);