diff options
Diffstat (limited to 'compiler/optimizing/instruction_simplifier_arm64.cc')
-rw-r--r-- | compiler/optimizing/instruction_simplifier_arm64.cc | 8 |
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) { |