Add checker part of test, fix intrinsic copying
Rationale:
I forgot to add the check test part of this test,
and incidentally found an omission: intrinsic
information should be set in the scalar loop
(to get best code there too, not just a lib call).
Test: test-art-host, test-art-target
Change-Id: I94aa4cdf042f72690d10efee3a9dc7c476d5c5e0
diff --git a/compiler/optimizing/loop_optimization.cc b/compiler/optimizing/loop_optimization.cc
index bf18cc9..8eeff1f 100644
--- a/compiler/optimizing/loop_optimization.cc
+++ b/compiler/optimizing/loop_optimization.cc
@@ -1011,6 +1011,10 @@
for (size_t index = 0; index < inputs.size(); ++index) {
new_invoke->SetArgumentAt(index, vector_map_->Get(inputs[index]));
}
+ new_invoke->SetIntrinsic(invoke->GetIntrinsic(),
+ kNeedsEnvironmentOrCache,
+ kNoSideEffects,
+ kNoThrow);
vector = new_invoke;
}
break;