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
diff --git a/compiler/optimizing/nodes_vector.h b/compiler/optimizing/nodes_vector.h
index 886d75e..c5e75a7 100644
--- a/compiler/optimizing/nodes_vector.h
+++ b/compiler/optimizing/nodes_vector.h
@@ -815,7 +815,7 @@
 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 @@
                       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]);
     }
   }