diff options
| author | Geoff Berry <gberry@codeaurora.org> | 2016-09-26 15:34:47 +0000 | 
|---|---|---|
| committer | Geoff Berry <gberry@codeaurora.org> | 2016-09-26 15:34:47 +0000 | 
| commit | 256fcf975f60f51fce9fe7f5992f9e409e60db29 (patch) | |
| tree | 7d2c6f1fa7ec711e852abdb192174d1bb19c7f9a /lldb/packages/Python/lldbsuite | |
| parent | e45de8a5ec7ad35cb770cd2eed61c56a81982231 (diff) | |
| download | llvm-256fcf975f60f51fce9fe7f5992f9e409e60db29.zip llvm-256fcf975f60f51fce9fe7f5992f9e409e60db29.tar.gz llvm-256fcf975f60f51fce9fe7f5992f9e409e60db29.tar.bz2 | |
[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 'lldb/packages/Python/lldbsuite')
0 files changed, 0 insertions, 0 deletions
