OSDN Git Service

Thumb2 and ARM add/subtract with carry fixes.
authorAndrew Trick <atrick@apple.com>
Sat, 23 Apr 2011 03:55:32 +0000 (03:55 +0000)
committerAndrew Trick <atrick@apple.com>
Sat, 23 Apr 2011 03:55:32 +0000 (03:55 +0000)
commit1c3af779fc6b184204efd7e98dc16e475c251e7f
treed9ca1d20f7c3930939492236cac207ad0c5e0fc9
parent1611bcd6acd685052eae9927f3ffbbfc917f1233
Thumb2 and ARM add/subtract with carry fixes.

Fixes Thumb2 ADCS and SBCS lowering: <rdar://problem/9275821>.
t2ADCS/t2SBCS are now pseudo instructions, consistent with ARM, so the
assembly printer correctly prints the 's' suffix.

Fixes Thumb2 adde -> SBC matching to check for live/dead carry flags.

Fixes the internal ARM machine opcode mnemonic for ADCS/SBCS.
Fixes ARM SBC lowering to check for live carry (potential bug).

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@130048 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Target/ARM/ARMISelLowering.cpp
lib/Target/ARM/ARMISelLowering.h
lib/Target/ARM/ARMInstrInfo.td
lib/Target/ARM/ARMInstrThumb2.td
test/CodeGen/ARM/carry.ll
test/CodeGen/Thumb2/thumb2-sbc.ll
test/CodeGen/Thumb2/thumb2-sub3.ll
test/CodeGen/Thumb2/thumb2-sub5.ll