OSDN Git Service

Optimizing: ARM64 negated bitwise operations simplification
authorKevin Brodsky <kevin.brodsky@linaro.org>
Mon, 11 Jan 2016 13:43:31 +0000 (13:43 +0000)
committerRoland Levillain <rpl@google.com>
Thu, 25 Feb 2016 16:26:13 +0000 (16:26 +0000)
commit9ff0d205fd60cba6753a91f613b198ca2d67f04d
tree86689672064d66d2c473045f934f948211ba0389
parent950d063395c7cecbbe372fd607468018d661a35c
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
compiler/optimizing/code_generator_arm64.cc
compiler/optimizing/graph_visualizer.cc
compiler/optimizing/instruction_simplifier_arm64.cc
compiler/optimizing/instruction_simplifier_arm64.h
compiler/optimizing/nodes.h
compiler/optimizing/nodes_arm64.h
test/564-checker-negbitwise/expected.txt [new file with mode: 0644]
test/564-checker-negbitwise/info.txt [new file with mode: 0644]
test/564-checker-negbitwise/src/Main.java [new file with mode: 0644]