AArch64: Use CMP;CCMP sequences for and/or/setcc trees.
authorMatthias Braun <matze@braunis.de>
Mon, 1 Jun 2015 22:31:17 +0000 (22:31 +0000)
committerMatthias Braun <matze@braunis.de>
Mon, 1 Jun 2015 22:31:17 +0000 (22:31 +0000)
commitfe1391f07dc7010ce8429316897f3396b0c2f2de
tree30c427ae8661be4fb93b46bf9acb1227ed59c2df
parent0b48e9a83c0dc2ba7b471ba54b92370e9dce34c8
AArch64: Use CMP;CCMP sequences for and/or/setcc trees.

Previously CCMP/FCCMP instructions were only used by the
AArch64ConditionalCompares pass for control flow. This patch uses them
for SELECT like instructions as well by matching patterns in ISelLowering.

PR20927, rdar://18326194

Differential Revision: http://reviews.llvm.org/D8232

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@238793 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Target/AArch64/AArch64ISelLowering.cpp
lib/Target/AArch64/AArch64ISelLowering.h
lib/Target/AArch64/AArch64InstrFormats.td
lib/Target/AArch64/AArch64InstrInfo.td
test/CodeGen/AArch64/arm64-ccmp.ll