From 41005ddb5576b8630a1084fbb3979ffa602c0599 Mon Sep 17 00:00:00 2001 From: jeffhao Date: Wed, 9 May 2012 17:58:52 -0700 Subject: 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 --- src/compiler_llvm/method_compiler.cc | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'src/compiler_llvm/method_compiler.cc') diff --git a/src/compiler_llvm/method_compiler.cc b/src/compiler_llvm/method_compiler.cc index 3f3e0ad581..3f640eedbe 100644 --- a/src/compiler_llvm/method_compiler.cc +++ b/src/compiler_llvm/method_compiler.cc @@ -801,11 +801,11 @@ void MethodCompiler::EmitInstruction(uint32_t dex_pc, 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 @@ void MethodCompiler::EmitInstruction(uint32_t dex_pc, 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: -- cgit v1.2.3-59-g8ed1b