summaryrefslogtreecommitdiffstats
path: root/vm/compiler/codegen/arm/CodegenDriver.cpp
diff options
context:
space:
mode:
authorElliott Hughes <enh@google.com>2013-06-17 17:14:21 +0000
committerGerrit Code Review <noreply-gerritcodereview@google.com>2013-06-17 17:14:22 +0000
commitae2fb91351509897699a29ae54a3d120a90b62ec (patch)
treed7cec80faef90634ec8c3eed45b573f3048f3948 /vm/compiler/codegen/arm/CodegenDriver.cpp
parent2f0ce6ab114b1036b06c4bd425cd01cb509260bd (diff)
parent20111d635e9210bdd105219eceb263607ec4d5c5 (diff)
downloadandroid_dalvik-ae2fb91351509897699a29ae54a3d120a90b62ec.tar.gz
android_dalvik-ae2fb91351509897699a29ae54a3d120a90b62ec.tar.bz2
android_dalvik-ae2fb91351509897699a29ae54a3d120a90b62ec.zip
Merge "JIT: Use rsb and shift in easy multiply."
Diffstat (limited to 'vm/compiler/codegen/arm/CodegenDriver.cpp')
-rw-r--r--vm/compiler/codegen/arm/CodegenDriver.cpp5
1 files changed, 1 insertions, 4 deletions
diff --git a/vm/compiler/codegen/arm/CodegenDriver.cpp b/vm/compiler/codegen/arm/CodegenDriver.cpp
index f8570c435..44a48f7d0 100644
--- a/vm/compiler/codegen/arm/CodegenDriver.cpp
+++ b/vm/compiler/codegen/arm/CodegenDriver.cpp
@@ -2257,10 +2257,7 @@ static bool handleEasyMultiply(CompilationUnit *cUnit,
} else {
// Reverse subtract: (src << (shift + 1)) - src.
assert(powerOfTwoMinusOne);
- // TODO: rsb dst, src, src lsl#lowestSetBit(lit + 1)
- int tReg = dvmCompilerAllocTemp(cUnit);
- opRegRegImm(cUnit, kOpLsl, tReg, rlSrc.lowReg, lowestSetBit(lit + 1));
- opRegRegReg(cUnit, kOpSub, rlResult.lowReg, tReg, rlSrc.lowReg);
+ genMultiplyByShiftAndReverseSubtract(cUnit, rlSrc, rlResult, lowestSetBit(lit + 1));
}
storeValue(cUnit, rlDest, rlResult);
return true;