diff options
author | 2017-09-20 14:11:11 -0700 | |
---|---|---|
committer | 2017-09-20 14:11:11 -0700 | |
commit | 5e3afa950f05bca470ef6b92460940f37831c27f (patch) | |
tree | 3656fb1d9153a87b55b56c71a93833da49c112d4 /compiler/optimizing/nodes_vector.h | |
parent | b407afe983f8b106a5007d07aa2523ffc6525018 (diff) |
Ensure extract is seen as having scalar result.
Rationale:
Extracting from a vector yields a scalar, yet
our parallel mover and one DCHECK did not account
for that fact (note that moving towards a vector
type system will prevent such errors).
Regression test for this is part of the SAD CL.
Test: test-art-host test-art-target
Bug: 64091002
Change-Id: Id154edd1a069c54e7d8da069c368dea0a8f973f4
Diffstat (limited to 'compiler/optimizing/nodes_vector.h')
-rw-r--r-- | compiler/optimizing/nodes_vector.h | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/compiler/optimizing/nodes_vector.h b/compiler/optimizing/nodes_vector.h index 886d75e5c7..c5e75a7ca4 100644 --- a/compiler/optimizing/nodes_vector.h +++ b/compiler/optimizing/nodes_vector.h @@ -815,7 +815,7 @@ class HVecUShr FINAL : public HVecBinaryOperation { class HVecSetScalars FINAL : public HVecOperation { public: HVecSetScalars(ArenaAllocator* arena, - HInstruction** scalars, // array + HInstruction* scalars[], Primitive::Type packed_type, size_t vector_length, size_t number_of_scalars, @@ -827,7 +827,7 @@ class HVecSetScalars FINAL : public HVecOperation { vector_length, dex_pc) { for (size_t i = 0; i < number_of_scalars; i++) { - DCHECK(!scalars[i]->IsVecOperation()); + DCHECK(!scalars[i]->IsVecOperation() || scalars[i]->IsVecExtractScalar()); SetRawInputAt(0, scalars[i]); } } |