]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - test/CodeGen/NVPTX/simple-call.ll
Vendor import of llvm trunk r303197:
[FreeBSD/FreeBSD.git] / test / CodeGen / NVPTX / simple-call.ll
1 ; RUN: llc < %s -march=nvptx -mcpu=sm_20 -verify-machineinstrs | FileCheck %s\r
2 ; RUN: llc < %s -march=nvptx64 -mcpu=sm_20 -verify-machineinstrs | FileCheck %s\r
3 \r
4 \r
5 \r
6 ; CHECK: .func ({{.*}}) device_func\r
7 define float @device_func(float %a) noinline {\r
8   %ret = fmul float %a, %a\r
9   ret float %ret\r
10 }\r
11 \r
12 ; CHECK: .entry kernel_func\r
13 define void @kernel_func(float* %a) {\r
14   %val = load float, float* %a\r
15 ; CHECK: call.uni (retval0),\r
16 ; CHECK: device_func,\r
17   %mul = call float @device_func(float %val)\r
18   store float %mul, float* %a\r
19   ret void\r
20 }\r
21 \r
22 \r
23 \r
24 !nvvm.annotations = !{!1}\r
25 \r
26 !1 = !{void (float*)* @kernel_func, !"kernel", i32 1}\r