[NVPTX] Add more surface/texture intrinsics, including CUDA unified texture fetch
[oota-llvm.git] / test / CodeGen / NVPTX / annotations.ll
1 ; RUN: llc < %s -march=nvptx -mcpu=sm_20 | FileCheck %s
2 ; RUN: llc < %s -march=nvptx64 -mcpu=sm_20 | FileCheck %s
3
4
5 @texture = internal addrspace(1) global i64 0, align 8
6 ; CHECK: .global .texref texture
7 @surface = internal addrspace(1) global i64 0, align 8
8 ; CHECK: .global .surfref surface
9
10
11 ; CHECK: .entry kernel_func_maxntid
12 define void @kernel_func_maxntid(float* %a) {
13 ; CHECK: .maxntid 10, 20, 30
14 ; CHECK: ret
15   ret void
16 }
17
18 ; CHECK: .entry kernel_func_reqntid
19 define void @kernel_func_reqntid(float* %a) {
20 ; CHECK: .reqntid 11, 22, 33
21 ; CHECK: ret
22   ret void
23 }
24
25 ; CHECK: .entry kernel_func_minctasm
26 define void @kernel_func_minctasm(float* %a) {
27 ; CHECK: .minnctapersm 42
28 ; CHECK: ret
29   ret void
30 }
31
32
33
34 !nvvm.annotations = !{!1, !2, !3, !4, !5, !6, !7, !8}
35
36 !1 = metadata !{void (float*)* @kernel_func_maxntid, metadata !"kernel", i32 1}
37 !2 = metadata !{void (float*)* @kernel_func_maxntid,
38                 metadata !"maxntidx", i32 10,
39                 metadata !"maxntidy", i32 20,
40                 metadata !"maxntidz", i32 30}
41
42 !3 = metadata !{void (float*)* @kernel_func_reqntid, metadata !"kernel", i32 1}
43 !4 = metadata !{void (float*)* @kernel_func_reqntid,
44                 metadata !"reqntidx", i32 11,
45                 metadata !"reqntidy", i32 22,
46                 metadata !"reqntidz", i32 33}
47
48 !5 = metadata !{void (float*)* @kernel_func_minctasm, metadata !"kernel", i32 1}
49 !6 = metadata !{void (float*)* @kernel_func_minctasm,
50                 metadata !"minctasm", i32 42}
51
52 !7 = metadata !{i64 addrspace(1)* @texture, metadata !"texture", i32 1}
53 !8 = metadata !{i64 addrspace(1)* @surface, metadata !"surface", i32 1}