[AArch64] Generate tbz/tbnz when comparing against zero.
authorChad Rosier <mcrosier@codeaurora.org>
Fri, 1 Aug 2014 14:48:56 +0000 (14:48 +0000)
committerChad Rosier <mcrosier@codeaurora.org>
Fri, 1 Aug 2014 14:48:56 +0000 (14:48 +0000)
commit579c02c9a52c6903ae7c830b0dd940566940ff56
treeaaa06076b9b9f0c07006e556b672be76dbb9b0a4
parent087606898b3d5d5cca88160ad0f2269a4e3b0764
[AArch64] Generate tbz/tbnz when comparing against zero.

The tbz/tbnz checks the sign bit to convert

op w1, w1, w10
cmp w1, #0
b.lt .LBB0_0

to

op w1, w1, w10
tbnz w1, #31, .LBB0_0

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

llvm-svn: 214518
llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
llvm/test/CodeGen/AArch64/tbz-tbnz.ll [new file with mode: 0644]