From 982334cef17d47ef2477d88a97203a9587a4b86f Mon Sep 17 00:00:00 2001 From: Nicolas Geoffray Date: Sat, 2 Sep 2017 12:54:16 +0000 Subject: Revert "Basic SIMD reduction support." Fails 530-checker-lse on arm64. Bug: 64091002, 65212948 This reverts commit cfa59b49cde265dc5329a7e6956445f9f7a75f15. Change-Id: Icb5d6c805516db0a1d911c3ede9a246ccef89a22 --- compiler/optimizing/loop_optimization.h | 30 +++++++++++------------------- 1 file changed, 11 insertions(+), 19 deletions(-) (limited to 'compiler/optimizing/loop_optimization.h') diff --git a/compiler/optimizing/loop_optimization.h b/compiler/optimizing/loop_optimization.h index ba9126c5f6..49be8a3fb4 100644 --- a/compiler/optimizing/loop_optimization.h +++ b/compiler/optimizing/loop_optimization.h @@ -62,18 +62,17 @@ class HLoopOptimization : public HOptimization { * Vectorization restrictions (bit mask). */ enum VectorRestrictions { - kNone = 0, // no restrictions - kNoMul = 1 << 0, // no multiplication - kNoDiv = 1 << 1, // no division - kNoShift = 1 << 2, // no shift - kNoShr = 1 << 3, // no arithmetic shift right - kNoHiBits = 1 << 4, // "wider" operations cannot bring in higher order bits - kNoSignedHAdd = 1 << 5, // no signed halving add - kNoUnroundedHAdd = 1 << 6, // no unrounded halving add - kNoAbs = 1 << 7, // no absolute value - kNoMinMax = 1 << 8, // no min/max - kNoStringCharAt = 1 << 9, // no StringCharAt - kNoReduction = 1 << 10, // no reduction + kNone = 0, // no restrictions + kNoMul = 1, // no multiplication + kNoDiv = 2, // no division + kNoShift = 4, // no shift + kNoShr = 8, // no arithmetic shift right + kNoHiBits = 16, // "wider" operations cannot bring in higher order bits + kNoSignedHAdd = 32, // no signed halving add + kNoUnroundedHAdd = 64, // no unrounded halving add + kNoAbs = 128, // no absolute value + kNoMinMax = 256, // no min/max + kNoStringCharAt = 512, // no StringCharAt }; /* @@ -156,9 +155,6 @@ class HLoopOptimization : public HOptimization { HInstruction* opb, HInstruction* offset, Primitive::Type type); - void GenerateVecReductionPhi(HPhi* phi); - void GenerateVecReductionPhiInputs(HPhi* phi, HInstruction* reduction); - HInstruction* ReduceAndExtractIfNeeded(HInstruction* instruction); void GenerateVecOp(HInstruction* org, HInstruction* opa, HInstruction* opb, @@ -257,10 +253,6 @@ class HLoopOptimization : public HOptimization { // Contents reside in phase-local heap memory. ArenaSafeMap* vector_map_; - // Permanent mapping used during vectorization synthesis. - // Contents reside in phase-local heap memory. - ArenaSafeMap* vector_permanent_map_; - // Temporary vectorization bookkeeping. VectorMode vector_mode_; // synthesis mode HBasicBlock* vector_preheader_; // preheader of the new loop -- cgit v1.2.3-59-g8ed1b