1; RUN: llc < %s -march=nvptx -mcpu=sm_10 | FileCheck %s 2; RUN: llc < %s -march=nvptx64 -mcpu=sm_10 | FileCheck %s 3; RUN: llc < %s -march=nvptx -mcpu=sm_20 | FileCheck %s 4; RUN: llc < %s -march=nvptx64 -mcpu=sm_20 | FileCheck %s 5 6 7;; Kernel function using ptx_kernel calling conv 8 9; CHECK: .entry kernel_func 10define ptx_kernel void @kernel_func(float* %a) { 11; CHECK: ret 12 ret void 13} 14 15;; Device function 16; CHECK: .func device_func 17define void @device_func(float* %a) { 18; CHECK: ret 19 ret void 20} 21 22;; Kernel function using NVVM metadata 23; CHECK: .entry metadata_kernel 24define void @metadata_kernel(float* %a) { 25; CHECK: ret 26 ret void 27} 28 29 30!nvvm.annotations = !{!1} 31 32!1 = metadata !{void (float*)* @metadata_kernel, metadata !"kernel", i32 1} 33