diff options
Diffstat (limited to 'vm/compiler/codegen/arm/Thumb/Gen.cpp')
-rw-r--r-- | vm/compiler/codegen/arm/Thumb/Gen.cpp | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/vm/compiler/codegen/arm/Thumb/Gen.cpp b/vm/compiler/codegen/arm/Thumb/Gen.cpp index abc4420f7..622f47eff 100644 --- a/vm/compiler/codegen/arm/Thumb/Gen.cpp +++ b/vm/compiler/codegen/arm/Thumb/Gen.cpp @@ -274,3 +274,11 @@ static void genMultiplyByTwoBitMultiplier(CompilationUnit *cUnit, // to do a regular multiply. opRegRegImm(cUnit, kOpMul, rlResult.lowReg, rlSrc.lowReg, lit); } + +static void genMultiplyByShiftAndReverseSubtract(CompilationUnit *cUnit, + RegLocation rlSrc, RegLocation rlResult, int lit) +{ + int tReg = dvmCompilerAllocTemp(cUnit); + opRegRegImm(cUnit, kOpLsl, tReg, rlSrc.lowReg, lit); + opRegRegReg(cUnit, kOpSub, rlResult.lowReg, tReg, rlSrc.lowReg); +} |