Implement reverse substraction immediate instruction.
Change-Id: I912e6438abac19732ca8a2ed9571ba3f54aecb9e
diff --git a/src/compiler_llvm/method_compiler.cc b/src/compiler_llvm/method_compiler.cc
index 0e5618f..734a381 100644
--- a/src/compiler_llvm/method_compiler.cc
+++ b/src/compiler_llvm/method_compiler.cc
@@ -1949,7 +1949,14 @@
void MethodCompiler::EmitInsn_RSubImmediate(uint32_t dex_pc,
Instruction const* insn) {
- // UNIMPLEMENTED(WARNING);
+
+ Instruction::DecodedInstruction dec_insn(insn);
+
+ llvm::Value* src_value = EmitLoadDalvikReg(dec_insn.vB_, kInt, kAccurate);
+ llvm::Value* imm_value = irb_.getInt32(dec_insn.vC_);
+ llvm::Value* result_value = irb_.CreateSub(imm_value, src_value);
+ EmitStoreDalvikReg(dec_insn.vA_, kInt, kAccurate, result_value);
+
irb_.CreateBr(GetNextBasicBlock(dex_pc));
}