From 077188411c692f82b0785597fee030810a2a5841 Mon Sep 17 00:00:00 2001 From: Artem Serov Date: Mon, 24 Feb 2020 18:51:42 +0000 Subject: 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 --- compiler/optimizing/nodes.h | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'compiler/optimizing/nodes.h') 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) \ -- cgit v1.2.3-59-g8ed1b