summaryrefslogtreecommitdiff
path: root/compiler/optimizing/nodes.h
diff options
context:
space:
mode:
author Artem Serov <artem.serov@linaro.org> 2020-02-24 18:51:42 +0000
committer Ulyana Trafimovich <skvadrik@google.com> 2020-06-09 13:11:45 +0000
commit077188411c692f82b0785597fee030810a2a5841 (patch)
treef74ced58d91dcb215601175dc7d29854d46aee0d /compiler/optimizing/nodes.h
parent1715efa0b46d57d587237829d1c0695aaca2c344 (diff)
ART: Introduce predicated vector instructions.
This CL introduces a minimal changes to the IR to support autovectorization with use of predicated execution of SIMD instructions (e.g. Arm SVE). Test: test-art-target, test-art-host. Change-Id: Ibb7c5520fec6b858fb29f0dde19ec65501831a3a
Diffstat (limited to 'compiler/optimizing/nodes.h')
-rw-r--r--compiler/optimizing/nodes.h6
1 files changed, 5 insertions, 1 deletions
diff --git a/compiler/optimizing/nodes.h b/compiler/optimizing/nodes.h
index 7c0e973bce..00dc50c24e 100644
--- a/compiler/optimizing/nodes.h
+++ b/compiler/optimizing/nodes.h
@@ -1557,6 +1557,9 @@ class HLoopInformationOutwardIterator : public ValueObject {
M(VecDotProd, VecOperation) \
M(VecLoad, VecMemoryOperation) \
M(VecStore, VecMemoryOperation) \
+ M(VecPredSetAll, VecPredSetOperation) \
+ M(VecPredWhile, VecPredSetOperation) \
+ M(VecPredCondition, VecOperation) \
#define FOR_EACH_CONCRETE_INSTRUCTION_COMMON(M) \
FOR_EACH_CONCRETE_INSTRUCTION_SCALAR_COMMON(M) \
@@ -1617,7 +1620,8 @@ class HLoopInformationOutwardIterator : public ValueObject {
M(VecOperation, Instruction) \
M(VecUnaryOperation, VecOperation) \
M(VecBinaryOperation, VecOperation) \
- M(VecMemoryOperation, VecOperation)
+ M(VecMemoryOperation, VecOperation) \
+ M(VecPredSetOperation, VecOperation)
#define FOR_EACH_INSTRUCTION(M) \
FOR_EACH_CONCRETE_INSTRUCTION(M) \