diff options
author | Kevin Brodsky <kevin.brodsky@linaro.org> | 2016-01-11 13:43:31 +0000 |
---|---|---|
committer | Roland Levillain <rpl@google.com> | 2016-02-25 16:26:13 +0000 |
commit | 9ff0d205fd60cba6753a91f613b198ca2d67f04d (patch) | |
tree | 86689672064d66d2c473045f934f948211ba0389 /compiler/optimizing/graph_visualizer.cc | |
parent | 950d063395c7cecbbe372fd607468018d661a35c (diff) |
Optimizing: ARM64 negated bitwise operations simplification
Use negated instructions on ARM64 to replace [bitwise operation + not]
patterns, that is:
a & ~b (BIC)
a | ~b (ORN)
a ^ ~b (EON)
The simplification only happens if the Not is only used by the bitwise
operation. It does not happen if both inputs are Not's (this should be
handled by a generic simplification applying De Morgan's laws).
Change-Id: I0e112b23fd8b8e10f09bfeff5994508a8ff96e9c
Diffstat (limited to 'compiler/optimizing/graph_visualizer.cc')
-rw-r--r-- | compiler/optimizing/graph_visualizer.cc | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/compiler/optimizing/graph_visualizer.cc b/compiler/optimizing/graph_visualizer.cc index a3d6bcf450..b9638f2027 100644 --- a/compiler/optimizing/graph_visualizer.cc +++ b/compiler/optimizing/graph_visualizer.cc @@ -443,6 +443,10 @@ class HGraphVisualizerPrinter : public HGraphDelegateVisitor { #endif #ifdef ART_ENABLE_CODEGEN_arm64 + void VisitArm64BitwiseNegatedRight(HArm64BitwiseNegatedRight* instruction) OVERRIDE { + StartAttributeStream("kind") << instruction->GetOpKind(); + } + void VisitArm64DataProcWithShifterOp(HArm64DataProcWithShifterOp* instruction) OVERRIDE { StartAttributeStream("kind") << instruction->GetInstrKind() << "+" << instruction->GetOpKind(); if (HArm64DataProcWithShifterOp::IsShiftOp(instruction->GetOpKind())) { |