diff options
author | Chad Rosier <mcrosier@codeaurora.org> | 2016-05-26 13:27:56 +0000 |
---|---|---|
committer | Chad Rosier <mcrosier@codeaurora.org> | 2016-05-26 13:27:56 +0000 |
commit | 816a67da49296984067680af1e3bdddad1a1f29a (patch) | |
tree | 88af55fbbf1bc63c28b278728df3956f82fe7062 /lldb/packages/Python/lldbsuite/test/lang/cpp | |
parent | eeba9e406681850ce52ca52a7d056355197ab354 (diff) | |
download | bcm5719-llvm-816a67da49296984067680af1e3bdddad1a1f29a.tar.gz bcm5719-llvm-816a67da49296984067680af1e3bdddad1a1f29a.zip |
[AArch64] Generate a BFI/BFXIL from 'or (and X, MaskImm), OrImm'.
If and only if the value being inserted sets only known zero bits.
This combine transforms things like
and w8, w0, #0xfffffff0
movz w9, #5
orr w0, w8, w9
into
movz w8, #5
bfxil w0, w8, #0, #4
The combine is tuned to make sure we always reduce the number of instructions.
We avoid churning code for what is expected to be performance neutral changes
(e.g., converted AND+OR to OR+BFI).
Differential Revision: http://reviews.llvm.org/D20387
llvm-svn: 270846
Diffstat (limited to 'lldb/packages/Python/lldbsuite/test/lang/cpp')
0 files changed, 0 insertions, 0 deletions