diff options
author | 2017-05-23 11:01:13 -0700 | |
---|---|---|
committer | 2017-05-24 15:56:14 +0000 | |
commit | 304c8a5dfe92d5677e9561270b19313d3e450c59 (patch) | |
tree | a5345d8d3467dde5f509dcc5dd0b3b170b021e60 /compiler/optimizing/loop_optimization.h | |
parent | 14538fb50832ac20445af5a92003bc250f486c22 (diff) |
Support for narrow operands in "dangerous" operations.
This is a revert^2 of commit 636e870d55c1739e2318c2180fac349683dbfa97.
Rationale:
Under strict conditions, even operations that are sensitive
to higher order bits can vectorize by inspecting the operands
carefully. This enables more vectorization, as demonstrated
by the removal of quite a few TODOs.
Test: test-art-target, test-art-host
Change-Id: Ic2684f771d2e36df10432286198533284acaf472
Diffstat (limited to 'compiler/optimizing/loop_optimization.h')
-rw-r--r-- | compiler/optimizing/loop_optimization.h | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/compiler/optimizing/loop_optimization.h b/compiler/optimizing/loop_optimization.h index 6d5978d337..35298d4076 100644 --- a/compiler/optimizing/loop_optimization.h +++ b/compiler/optimizing/loop_optimization.h @@ -137,7 +137,11 @@ class HLoopOptimization : public HOptimization { HInstruction* opa, HInstruction* opb, Primitive::Type type); - void GenerateVecOp(HInstruction* org, HInstruction* opa, HInstruction* opb, Primitive::Type type); + void GenerateVecOp(HInstruction* org, + HInstruction* opa, + HInstruction* opb, + Primitive::Type type, + bool is_unsigned = false); // Vectorization idioms. bool VectorizeHalvingAddIdiom(LoopNode* node, |