summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/compiler_llvm/method_compiler.cc8
1 files changed, 7 insertions, 1 deletions
diff --git a/src/compiler_llvm/method_compiler.cc b/src/compiler_llvm/method_compiler.cc
index 98394cfea8..bc47a8d5ce 100644
--- a/src/compiler_llvm/method_compiler.cc
+++ b/src/compiler_llvm/method_compiler.cc
@@ -1810,7 +1810,13 @@ void MethodCompiler::EmitInsn_FPToInt(uint32_t dex_pc,
void MethodCompiler::EmitInsn_FExt(uint32_t dex_pc,
Instruction const* insn) {
- // UNIMPLEMENTED(WARNING);
+
+ Instruction::DecodedInstruction dec_insn(insn);
+
+ llvm::Value* src_value = EmitLoadDalvikReg(dec_insn.vB_, kFloat, kAccurate);
+ llvm::Value* result_value = irb_.CreateFPExt(src_value, irb_.getJDoubleTy());
+ EmitStoreDalvikReg(dec_insn.vA_, kDouble, kAccurate, result_value);
+
irb_.CreateBr(GetNextBasicBlock(dex_pc));
}