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 10 define ptx_kernel void @kernel_func(float* %a) { 11 ; CHECK: ret 12 ret void 13 } 14 15 ;; Device function 16 ; CHECK: .func device_func 17 define void @device_func(float* %a) { 18 ; CHECK: ret 19 ret void 20 } 21 22 ;; Kernel function using NVVM metadata 23 ; CHECK: .entry metadata_kernel 24 define 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