]> granicus.if.org Git - llvm/commit
R600: Add carry and borrow instructions. Use them to implement UADDO/USUBO
authorJan Vesely <jan.vesely@rutgers.edu>
Mon, 13 Apr 2015 16:26:00 +0000 (16:26 +0000)
committerJan Vesely <jan.vesely@rutgers.edu>
Mon, 13 Apr 2015 16:26:00 +0000 (16:26 +0000)
commit4ce8b9c7fba75ea9703088b1853fdc22cf5bd211
tree4f89b2686ce139ba70d1006977eea61ba8b6f3b7
parent2d35a46ea5b3e5a95ba097c94b8b3bdd642ea686
R600: Add carry and borrow instructions. Use them to implement UADDO/USUBO

v2: tighten the sub64 tests
v3: rename to CARRY/BORROW
v4: fixup test cmdline
    add known bits computation
    use sign extend instead of sub 0,x
    better add test
v5: remove redundant break
    move lowering to separate functions
    fix comments

Signed-off-by: Jan Vesely <jan.vesely@rutgers.edu>
Reviewers: arsenm

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@234759 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Target/R600/AMDGPUISelLowering.cpp
lib/Target/R600/AMDGPUISelLowering.h
lib/Target/R600/AMDGPUInstrInfo.td
lib/Target/R600/AMDGPUSubtarget.h
lib/Target/R600/EvergreenInstructions.td
lib/Target/R600/R600ISelLowering.cpp
lib/Target/R600/R600ISelLowering.h
test/CodeGen/R600/add.ll
test/CodeGen/R600/sub.ll
test/CodeGen/R600/uaddo.ll
test/CodeGen/R600/usubo.ll