diff options
author | Aart Bik <ajcbik@google.com> | 2017-04-27 17:23:51 -0700 |
---|---|---|
committer | Aart Bik <ajcbik@google.com> | 2017-04-28 09:49:26 -0700 |
commit | 472821b210a7fc7a4d2e3d45762c7b5b9628a35b (patch) | |
tree | d3dad427cdfcf4ebe8d324bcd3b7618ed42d14dd /compiler/optimizing/loop_optimization.cc | |
parent | 70940dfe99df0084a3f3fed1a88255ec976a60e3 (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.cc | 6 |
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, |