diff options
author | Chad Rosier <mcrosier@codeaurora.org> | 2016-05-19 14:19:47 +0000 |
---|---|---|
committer | Chad Rosier <mcrosier@codeaurora.org> | 2016-05-19 14:19:47 +0000 |
commit | 02f25a95655e9e320c524978e54df8e4a22ef921 (patch) | |
tree | babcfe9f5df8aef9b092fb08af720479639ec783 /llvm/lib/MC/ELFObjectWriter.cpp | |
parent | 01319e93abe3a4d3e722de4e849762ea54d12d70 (diff) | |
download | llvm-02f25a95655e9e320c524978e54df8e4a22ef921.zip llvm-02f25a95655e9e320c524978e54df8e4a22ef921.tar.gz llvm-02f25a95655e9e320c524978e54df8e4a22ef921.tar.bz2 |
[AArch64 ] Generate a BFXIL from 'or (and X, Mask0Imm),(and Y, Mask1Imm)'.
Mask0Imm and ~Mask1Imm must be equivalent and one of the MaskImms is a shifted
mask (e.g., 0x000ffff0). Both 'and's must have a single use.
This changes code like:
and w8, w0, #0xffff000f
and w9, w1, #0x0000fff0
orr w0, w9, w8
into
lsr w8, w1, #4
bfi w0, w8, #4, #12
llvm-svn: 270063
Diffstat (limited to 'llvm/lib/MC/ELFObjectWriter.cpp')
0 files changed, 0 insertions, 0 deletions