From 744830cb242c82c4637e6fb303b36d0371c84979 Mon Sep 17 00:00:00 2001 From: Nicolas Geoffray Date: Tue, 10 Sep 2024 21:25:15 +0000 Subject: Revert "riscv64: Add node Rol, fix InstructionBuilder" This reverts commit 39927bc359ccbe65371213c4559126b05dcfb117. Reason for revert: Failure on bot with: error: Statement could not be matched starting from line 1089612 TestRotate.java:95: rol {{a\d+}}, {{a\d+}}, {{a\d+}} ISA_FEATURES = {'rv64gcv_zba_zbb_zbs': True} READ_BARRIER_TYPE = baker 567-checker-builder-intrinsics FAILED: [run-test:1074] CFG checker failed $ ssh -q -F /b/s/w/ir/cache/builder/art/test/testrunner/ssh_config -p 10001 ubuntu@localhost "rm -rf /home/ubuntu/art-test-chroot/data/run-test/test-343039" 567-checker-builder-intrinsics files deleted from host and from target ---------- test-art-target-run-test-ndebug-prebuild-optimizing-no-relocate-ntrace-cms-checkjni-picimage-ndebuggable-no-jvmti-567-checker-builder-intrinsics64 Change-Id: Ic1fd87c331c9eba315af6c98c3ad393766327417 --- compiler/optimizing/instruction_simplifier_x86.cc | 31 ++++------------------- 1 file changed, 5 insertions(+), 26 deletions(-) (limited to 'compiler/optimizing/instruction_simplifier_x86.cc') diff --git a/compiler/optimizing/instruction_simplifier_x86.cc b/compiler/optimizing/instruction_simplifier_x86.cc index e1c783e5b8..5a4345d589 100644 --- a/compiler/optimizing/instruction_simplifier_x86.cc +++ b/compiler/optimizing/instruction_simplifier_x86.cc @@ -48,7 +48,6 @@ class InstructionSimplifierX86Visitor final : public HGraphVisitor { } void VisitAnd(HAnd * instruction) override; - void VisitRol(HRol* instruction) override; void VisitXor(HXor* instruction) override; private: @@ -58,10 +57,6 @@ class InstructionSimplifierX86Visitor final : public HGraphVisitor { void InstructionSimplifierX86Visitor::VisitAnd(HAnd* instruction) { - if (!HasAVX2()) { - return; - } - if (TryCombineAndNot(instruction)) { RecordSimplification(); } else if (instruction->GetResultType() == DataType::Type::kInt32) { @@ -71,26 +66,7 @@ void InstructionSimplifierX86Visitor::VisitAnd(HAnd* instruction) { } } -void InstructionSimplifierX86Visitor::VisitRol(HRol* rol) { - if (rol->GetType() != DataType::Type::kInt64) { - return; - } - - HBasicBlock* block = rol->GetBlock(); - HGraph* graph = block->GetGraph(); - ArenaAllocator* allocator = graph->GetAllocator(); - - HNeg* neg = new (allocator) HNeg(DataType::Type::kInt32, rol->GetRight()); - block->InsertInstructionBefore(neg, rol); - HRor* ror = new (allocator) HRor(rol->GetType(), rol->GetLeft(), neg); - block->ReplaceAndRemoveInstructionWith(rol, ror); -} - void InstructionSimplifierX86Visitor::VisitXor(HXor* instruction) { - if (!HasAVX2()) { - return; - } - if (instruction->GetResultType() == DataType::Type::kInt32) { if (TryGenerateMaskUptoLeastSetBit(instruction)) { RecordSimplification(); @@ -100,8 +76,11 @@ void InstructionSimplifierX86Visitor::VisitXor(HXor* instruction) { bool InstructionSimplifierX86::Run() { InstructionSimplifierX86Visitor visitor(graph_, codegen_, stats_); - visitor.VisitReversePostOrder(); - return true; + if (visitor.HasAVX2()) { + visitor.VisitReversePostOrder(); + return true; + } + return false; } } // namespace x86 -- cgit v1.2.3-59-g8ed1b