summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Bitcode/Reader/BitstreamReader.cpp
diff options
context:
space:
mode:
authorGeoff Berry <gberry@codeaurora.org>2016-09-26 15:34:47 +0000
committerGeoff Berry <gberry@codeaurora.org>2016-09-26 15:34:47 +0000
commit256fcf975f60f51fce9fe7f5992f9e409e60db29 (patch)
tree7d2c6f1fa7ec711e852abdb192174d1bb19c7f9a /llvm/lib/Bitcode/Reader/BitstreamReader.cpp
parente45de8a5ec7ad35cb770cd2eed61c56a81982231 (diff)
downloadbcm5719-llvm-256fcf975f60f51fce9fe7f5992f9e409e60db29.tar.gz
bcm5719-llvm-256fcf975f60f51fce9fe7f5992f9e409e60db29.zip
[AArch64] Improve add/sub/cmp isel of uxtw forms.
Don't match the UXTW extended reg forms of ADD/ADDS/SUB/SUBS if the 32-bit to 64-bit zero-extend can be done for free by taking advantage of the 32-bit defining instruction zeroing the upper 32-bits of the X register destination. This enables better instruction selection in a few cases, such as: sub x0, xzr, x8 instead of: mov x8, xzr sub x0, x8, w9, uxtw madd x0, x1, x1, x8 instead of: mul x9, x1, x1 add x0, x9, w8, uxtw cmp x2, x8 instead of: sub x8, x2, w8, uxtw cmp x8, #0 add x0, x8, x1, lsl #3 instead of: lsl x9, x1, #3 add x0, x9, w8, uxtw Reviewers: t.p.northover, jmolloy Subscribers: mcrosier, aemerson, llvm-commits, rengolin Differential Revision: https://reviews.llvm.org/D24747 llvm-svn: 282413
Diffstat (limited to 'llvm/lib/Bitcode/Reader/BitstreamReader.cpp')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud