This patch adds a new NVPTX back-end to LLVM which supports code generation for NVIDI...
[oota-llvm.git] / test / CodeGen / NVPTX / calling-conv.ll
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}