Implement floating point to integer cast.

Change-Id: I7e74dd6d313de430ecd16d14344e84349da62fe8
diff --git a/src/compiler_llvm/method_compiler.cc b/src/compiler_llvm/method_compiler.cc
index a3aaaf9..98394cf 100644
--- a/src/compiler_llvm/method_compiler.cc
+++ b/src/compiler_llvm/method_compiler.cc
@@ -1793,7 +1793,17 @@
                                       Instruction const* insn,
                                       JType src_jty,
                                       JType dest_jty) {
-  // UNIMPLEMENTED(WARNING);
+
+  Instruction::DecodedInstruction dec_insn(insn);
+
+  DCHECK(src_jty == kFloat || src_jty == kDouble) << src_jty;
+  DCHECK(dest_jty == kInt || dest_jty == kLong) << dest_jty;
+
+  llvm::Value* src_value = EmitLoadDalvikReg(dec_insn.vB_, src_jty, kAccurate);
+  llvm::Type* dest_type = irb_.getJType(dest_jty, kAccurate);
+  llvm::Value* dest_value = irb_.CreateFPToSI(src_value, dest_type);
+  EmitStoreDalvikReg(dec_insn.vA_, dest_jty, kAccurate, dest_value);
+
   irb_.CreateBr(GetNextBasicBlock(dex_pc));
 }