From 5e3afa950f05bca470ef6b92460940f37831c27f Mon Sep 17 00:00:00 2001 From: Aart Bik Date: Wed, 20 Sep 2017 14:11:11 -0700 Subject: 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 --- compiler/optimizing/nodes_vector.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'compiler/optimizing/nodes_vector.h') 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]); } } -- cgit v1.2.3-59-g8ed1b