ARM64: optimise (cmp x, (sub 0, y)) to (cmn x, y).
authorTim Northover <tnorthover@apple.com>
Mon, 14 Apr 2014 12:50:47 +0000 (12:50 +0000)
committerTim Northover <tnorthover@apple.com>
Mon, 14 Apr 2014 12:50:47 +0000 (12:50 +0000)
commit41b47904ba9d7317376a6d0c5b8fcf887ac9ef73
tree24f6802db8cc4543c37597ec974f8b590d159842
parente23fabc2acf539e6d5c8f3b62d4b99ec5be653fc
ARM64: optimise (cmp x, (sub 0, y)) to (cmn x, y).

This transformation is only valid when being used for an EQ or NE
comparison since the flags change otherwise.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@206167 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Target/ARM64/ARM64ISelLowering.cpp
test/CodeGen/AArch64/addsub-shifted.ll