summaryrefslogtreecommitdiff
path: root/compiler/optimizing/instruction_simplifier_shared.h
diff options
context:
space:
mode:
author Anton Romanov <anton.romanov@syntacore.com> 2024-05-30 17:05:54 +0500
committer VladimĂ­r Marko <vmarko@google.com> 2024-06-12 10:42:45 +0000
commitb658a268e2e76e429702c2929d24ebbbf909e947 (patch)
tree2366f34aecd290dcc988dbb3d1923e9471d8370e /compiler/optimizing/instruction_simplifier_shared.h
parent05e428dacb0b4877960e3b1c0d50cb9c90f378d5 (diff)
riscv: Expand BitwiseNegatedRight to riscv64, optimize
Add BitwiseNegatedRight optimization for riscv: And + Not -> AndNot Or + Not -> OrNot Xor + Not -> XorNot By compiling facebook app using dex2oat I got: 169 cases of And + Not pattern 9 cases of Or + Not pattern 1 case of Xor + Not pattern. Test: art/test/testrunner/testrunner.py --target --64 --ndebug --optimizing Change-Id: Icc2db96770378005d2fb01176298a067e1a0e4ad
Diffstat (limited to 'compiler/optimizing/instruction_simplifier_shared.h')
-rw-r--r--compiler/optimizing/instruction_simplifier_shared.h12
1 files changed, 0 insertions, 12 deletions
diff --git a/compiler/optimizing/instruction_simplifier_shared.h b/compiler/optimizing/instruction_simplifier_shared.h
index ca6d5286c5..de70ec5a8a 100644
--- a/compiler/optimizing/instruction_simplifier_shared.h
+++ b/compiler/optimizing/instruction_simplifier_shared.h
@@ -62,18 +62,6 @@ inline bool IsSubRightSubLeftShl(HSub *sub) {
} // namespace helpers
bool TryCombineMultiplyAccumulate(HMul* mul, InstructionSet isa);
-// For bitwise operations (And/Or/Xor) with a negated input, try to use
-// a negated bitwise instruction.
-bool TryMergeNegatedInput(HBinaryOperation* op);
-
-// Convert
-// i1: AND a, b
-// SUB a, i1
-// into:
-// BIC a, a, b
-//
-// It also works if `i1` is AND b, a
-bool TryMergeWithAnd(HSub* instruction);
bool TryExtractArrayAccessAddress(CodeGenerator* codegen,
HInstruction* access,