mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-11-23 19:23:23 +01:00
5d6ba23797
Revert "Remove default in fully-covered switch (to fix Clang -Werror -Wcovered-switch-default)" Revert "R600: Add carry and borrow instructions. Use them to implement UADDO/USUBO" Revert "LegalizeDAG: Try to use Overflow operations when expanding ADD/SUB" Using overflow operations fails CodeGen/Generic/2011-07-07-ScheduleDAGCrash.ll on hexagon, nvptx, and r600. Revert while I investigate. llvm-svn: 234768
20 lines
553 B
LLVM
20 lines
553 B
LLVM
; RUN: llc < %s -march=nvptx -mcpu=sm_20 | FileCheck %s
|
|
|
|
target datalayout = "e-p:32:32:32-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v16:16:16-v32:32:32-v64:64:64-v128:128:128-n16:32:64"
|
|
|
|
|
|
|
|
define void @foo(i64 %a, i64 %add, i128* %retptr) {
|
|
; CHECK: add.s64
|
|
; CHECK: setp.lt.u64
|
|
; CHECK: setp.lt.u64
|
|
; CHECK: selp.b64
|
|
; CHECK: selp.b64
|
|
; CHECK: add.s64
|
|
%t1 = sext i64 %a to i128
|
|
%add2 = zext i64 %add to i128
|
|
%val = add i128 %t1, %add2
|
|
store i128 %val, i128* %retptr
|
|
ret void
|
|
}
|