summaryrefslogtreecommitdiff
path: root/compiler/optimizing/loop_optimization.cc
diff options
context:
space:
mode:
author Aart Bik <ajcbik@google.com> 2017-12-08 03:52:32 +0000
committer Gerrit Code Review <noreply-gerritcodereview@google.com> 2017-12-08 03:52:32 +0000
commit5449e076f6314fc21592a9e089258647f2750e9b (patch)
treeb1f74c221456c93d2611b5eb3ece31b1130c7f20 /compiler/optimizing/loop_optimization.cc
parentf223f76bdd360664a1e8068eeac6ce35f7392bc6 (diff)
parent2dd7b672ea0afd7ea4448b43d24829e9886de3af (diff)
Merge "Fixed spilling bug (visible on ARM64): missed SIMD type."
Diffstat (limited to 'compiler/optimizing/loop_optimization.cc')
-rw-r--r--compiler/optimizing/loop_optimization.cc3
1 files changed, 2 insertions, 1 deletions
diff --git a/compiler/optimizing/loop_optimization.cc b/compiler/optimizing/loop_optimization.cc
index 1ca096035e..3dc1ef7534 100644
--- a/compiler/optimizing/loop_optimization.cc
+++ b/compiler/optimizing/loop_optimization.cc
@@ -1749,7 +1749,8 @@ void HLoopOptimization::GenerateVecReductionPhiInputs(HPhi* phi, HInstruction* r
HInstruction* HLoopOptimization::ReduceAndExtractIfNeeded(HInstruction* instruction) {
if (instruction->IsPhi()) {
HInstruction* input = instruction->InputAt(1);
- if (input->IsVecOperation() && !input->IsVecExtractScalar()) {
+ if (HVecOperation::ReturnsSIMDValue(input)) {
+ DCHECK(!input->IsPhi());
HVecOperation* input_vector = input->AsVecOperation();
uint32_t vector_length = input_vector->GetVectorLength();
DataType::Type type = input_vector->GetPackedType();