summaryrefslogtreecommitdiff
path: root/compiler/optimizing/loop_optimization.cc
diff options
context:
space:
mode:
authorAart Bik <ajcbik@google.com>2017-04-27 17:23:51 -0700
committerAart Bik <ajcbik@google.com>2017-04-28 09:49:26 -0700
commit472821b210a7fc7a4d2e3d45762c7b5b9628a35b (patch)
treed3dad427cdfcf4ebe8d324bcd3b7618ed42d14dd /compiler/optimizing/loop_optimization.cc
parent70940dfe99df0084a3f3fed1a88255ec976a60e3 (diff)
Enable string "array get" vectorization.
Rationale: Like its scalar counterpart, the SIMD implementation of array get from a string needs to deal with compressed and uncompressed cases. Micro benchmarks shows 2x to 3x speedup for just copying data! Test: test-art-target, test-art-host Change-Id: I2fd714e50715b263123c215cd181f19194456d2b
Diffstat (limited to 'compiler/optimizing/loop_optimization.cc')
-rw-r--r--compiler/optimizing/loop_optimization.cc6
1 files changed, 0 insertions, 6 deletions
diff --git a/compiler/optimizing/loop_optimization.cc b/compiler/optimizing/loop_optimization.cc
index da2acd1fd3..c783ddecf5 100644
--- a/compiler/optimizing/loop_optimization.cc
+++ b/compiler/optimizing/loop_optimization.cc
@@ -733,12 +733,6 @@ bool HLoopOptimization::VectorizeUse(LoopNode* node,
}
return true;
} else if (instruction->IsArrayGet()) {
- // Strings are different, with a different offset to the actual data
- // and some compressed to save memory. For now, all cases are rejected
- // to avoid the complexity.
- if (instruction->AsArrayGet()->IsStringCharAt()) {
- return false;
- }
// Accept a right-hand-side array base[index] for
// (1) exact matching vector type,
// (2) loop-invariant base,