aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/Support/PrettyStackTrace.cpp
diff options
context:
space:
mode:
authorChad Rosier <mcrosier@codeaurora.org>2016-05-26 19:41:33 +0000
committerChad Rosier <mcrosier@codeaurora.org>2016-05-26 19:41:33 +0000
commit14aa2ad1f466d54e275ba9f1327e79ef7c8c52ce (patch)
tree3289b0c98dd257f76b3395f74d5aaca083762306 /llvm/lib/Support/PrettyStackTrace.cpp
parente6dbd902c082f16337cd42dbbff0e62404f88fc2 (diff)
downloadllvm-14aa2ad1f466d54e275ba9f1327e79ef7c8c52ce.zip
llvm-14aa2ad1f466d54e275ba9f1327e79ef7c8c52ce.tar.gz
llvm-14aa2ad1f466d54e275ba9f1327e79ef7c8c52ce.tar.bz2
[AArch64] Generate rev16/rev32 from bswap + srl when upper bits are known zero.
Canonicalize (srl (bswap i32 x), 16) to (rotr (bswap i32 x), 16), if the high 16-bits of x are zero. Similarly, canonicalize (srl (bswap i64 x), 32) to (rotr (bswap i64 x), 32), if the high 32-bits of x are zero. test_rev_w_srl16: test_rev_w_srl16: and w8, w0, #0xffff and w8, w0, #0xffff rev w8, w8 ---> rev16 w0, w8 lsr w0, w8, #16 test_rev_x_srl32: test_rev_x_srl32: rev x8, x8 ---> rev32 x0, x8 lsr x0, x8, #32 llvm-svn: 270896
Diffstat (limited to 'llvm/lib/Support/PrettyStackTrace.cpp')
0 files changed, 0 insertions, 0 deletions