summaryrefslogtreecommitdiff
path: root/compiler/optimizing/instruction_simplifier_arm64.cc
diff options
context:
space:
mode:
Diffstat (limited to 'compiler/optimizing/instruction_simplifier_arm64.cc')
-rw-r--r--compiler/optimizing/instruction_simplifier_arm64.cc8
1 files changed, 7 insertions, 1 deletions
diff --git a/compiler/optimizing/instruction_simplifier_arm64.cc b/compiler/optimizing/instruction_simplifier_arm64.cc
index 2c191dc3f4..d0fbe1382b 100644
--- a/compiler/optimizing/instruction_simplifier_arm64.cc
+++ b/compiler/optimizing/instruction_simplifier_arm64.cc
@@ -249,9 +249,15 @@ void InstructionSimplifierArm64Visitor::VisitSub(HSub* instruction) {
if (IsSubRightSubLeftShl(instruction)) {
HInstruction* shl = instruction->GetRight()->InputAt(0);
if (shl->InputAt(1)->IsConstant() && TryReplaceSubSubWithSubAdd(instruction)) {
- TryMergeIntoUsersShifterOperand(shl);
+ if (TryMergeIntoUsersShifterOperand(shl)) {
+ return;
+ }
}
}
+
+ if (TryMergeWithAnd(instruction)) {
+ return;
+ }
}
void InstructionSimplifierArm64Visitor::VisitTypeConversion(HTypeConversion* instruction) {