mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-11-01 08:23:21 +01:00
dc1965a16c
used by Clang. To help Clang integration, the PTX target has been split into two targets: ptx32 and ptx64, depending on the desired pointer size. - Add GCCBuiltin class to all intrinsics - Split PTX target into ptx32 and ptx64 llvm-svn: 129851
25 lines
473 B
LLVM
25 lines
473 B
LLVM
; RUN: llc < %s -march=ptx32 | FileCheck %s
|
|
|
|
define ptx_device void @test_bra_direct() {
|
|
; CHECK: bra $L__BB0_1;
|
|
entry:
|
|
br label %loop
|
|
loop:
|
|
br label %loop
|
|
}
|
|
|
|
define ptx_device i32 @test_bra_cond_direct(i32 %x, i32 %y) {
|
|
entry:
|
|
; CHECK: setp.le.u32 p0, r1, r2
|
|
%p = icmp ugt i32 %x, %y
|
|
; CHECK-NEXT: @p0 bra
|
|
; CHECK-NOT: bra
|
|
br i1 %p, label %clause.if, label %clause.else
|
|
clause.if:
|
|
; CHECK: mov.u32 r0, r1
|
|
ret i32 %x
|
|
clause.else:
|
|
; CHECK: mov.u32 r0, r2
|
|
ret i32 %y
|
|
}
|