diff options
Diffstat (limited to 'compiler/optimizing/instruction_simplifier_arm64.cc')
-rw-r--r-- | compiler/optimizing/instruction_simplifier_arm64.cc | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/compiler/optimizing/instruction_simplifier_arm64.cc b/compiler/optimizing/instruction_simplifier_arm64.cc index 260bfafeaf..ff0859b456 100644 --- a/compiler/optimizing/instruction_simplifier_arm64.cc +++ b/compiler/optimizing/instruction_simplifier_arm64.cc @@ -277,14 +277,17 @@ void InstructionSimplifierArm64Visitor::VisitXor(HXor* instruction) { } void InstructionSimplifierArm64Visitor::VisitVecLoad(HVecLoad* instruction) { - if (!instruction->IsStringCharAt() - && TryExtractVecArrayAccessAddress(instruction, instruction->GetIndex())) { + // TODO: Extract regular HIntermediateAddress. + if (!instruction->IsPredicated() && !instruction->IsStringCharAt() && + TryExtractVecArrayAccessAddress(instruction, instruction->GetIndex())) { RecordSimplification(); } } void InstructionSimplifierArm64Visitor::VisitVecStore(HVecStore* instruction) { - if (TryExtractVecArrayAccessAddress(instruction, instruction->GetIndex())) { + // TODO: Extract regular HIntermediateAddress. + if (!instruction->IsPredicated() && + TryExtractVecArrayAccessAddress(instruction, instruction->GetIndex())) { RecordSimplification(); } } |