summaryrefslogtreecommitdiff
path: root/compiler/optimizing/loop_optimization.cc
diff options
context:
space:
mode:
authorArtem Serov <artem.serov@linaro.org>2017-04-05 11:31:19 +0100
committerArtem Serov <artem.serov@linaro.org>2017-04-10 14:53:24 +0100
commitb31f91fd1811c9047591282dd003cf22b54938a1 (patch)
tree4178afdf3b28f00aa986a5f8392114352fffa87d /compiler/optimizing/loop_optimization.cc
parentd4bccf1ece319a3a99e03ecbcbbf40bb82b9e331 (diff)
ARM64: Support vectorization for double and long.
Test: test-art-host, test-art-target Change-Id: I1d4db1763b64737766f9756e5d0f85c5736e3522
Diffstat (limited to 'compiler/optimizing/loop_optimization.cc')
-rw-r--r--compiler/optimizing/loop_optimization.cc5
1 files changed, 5 insertions, 0 deletions
diff --git a/compiler/optimizing/loop_optimization.cc b/compiler/optimizing/loop_optimization.cc
index ec02127bee..6337361712 100644
--- a/compiler/optimizing/loop_optimization.cc
+++ b/compiler/optimizing/loop_optimization.cc
@@ -783,8 +783,13 @@ bool HLoopOptimization::TrySetVectorType(Primitive::Type type, uint64_t* restric
case Primitive::kPrimInt:
*restrictions |= kNoDiv;
return TrySetVectorLength(4);
+ case Primitive::kPrimLong:
+ *restrictions |= kNoDiv | kNoMul;
+ return TrySetVectorLength(2);
case Primitive::kPrimFloat:
return TrySetVectorLength(4);
+ case Primitive::kPrimDouble:
+ return TrySetVectorLength(2);
default:
return false;
}