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;; Kernel function using ptx_kernel calling conv
6
7; CHECK: .entry kernel_func
8define ptx_kernel void @kernel_func(float* %a) {
9; CHECK: ret
10  ret void
11}
12
13;; Device function
14; CHECK: .func device_func
15define void @device_func(float* %a) {
16; CHECK: ret
17  ret void
18}
19
20;; Kernel function using NVVM metadata
21; CHECK: .entry metadata_kernel
22define void @metadata_kernel(float* %a) {
23; CHECK: ret
24  ret void
25}
26
27
28!nvvm.annotations = !{!1}
29
30!1 = metadata !{void (float*)* @metadata_kernel, metadata !"kernel", i32 1}
31