Fix x86 type conversions. test-art-host-oat passes.

- test-art-host-oat enabled in test builds.

- Created inline versions of float-to-int and double-to-int.

- Fixed calls to helper functions for long-to-float/double and
  float/double-to-long.

- Removed storePair and replaced its use with storeBaseDispWide (fixes
  iput-wide and aput-wide with doubles).

- Renamed helper functions to have art_ prefix.

- Fixed move-exception to store the result back.

- Fixed floating point comparison when the destination reg is the same as
  a source. The typing would get confused since the source is floating
  point, but the result is int, and a clobber is needed to overwrite the
  expected result type. A similar thing happens in float/double-to-int.

Change-Id: I0a876072254411aa42d6acadb8723be030727219
diff --git a/src/compiler_llvm/method_compiler.cc b/src/compiler_llvm/method_compiler.cc
index 3f3e0ad..3f640ee 100644
--- a/src/compiler_llvm/method_compiler.cc
+++ b/src/compiler_llvm/method_compiler.cc
@@ -801,11 +801,11 @@
     break;
 
   case Instruction::FLOAT_TO_INT:
-    EmitInsn_FPToInt(ARGS, kFloat, kInt, F2I);
+    EmitInsn_FPToInt(ARGS, kFloat, kInt, art_f2i);
     break;
 
   case Instruction::FLOAT_TO_LONG:
-    EmitInsn_FPToInt(ARGS, kFloat, kLong, F2L);
+    EmitInsn_FPToInt(ARGS, kFloat, kLong, art_f2l);
     break;
 
   case Instruction::FLOAT_TO_DOUBLE:
@@ -813,11 +813,11 @@
     break;
 
   case Instruction::DOUBLE_TO_INT:
-    EmitInsn_FPToInt(ARGS, kDouble, kInt, D2I);
+    EmitInsn_FPToInt(ARGS, kDouble, kInt, art_d2i);
     break;
 
   case Instruction::DOUBLE_TO_LONG:
-    EmitInsn_FPToInt(ARGS, kDouble, kLong, D2L);
+    EmitInsn_FPToInt(ARGS, kDouble, kLong, art_d2l);
     break;
 
   case Instruction::DOUBLE_TO_FLOAT: