xref: /llvm-project/llvm/test/CodeGen/AMDGPU/inline-calls.ll (revision fac34c01f69f3591b6304953a15048ce6c5bd2b5)
1; RUN: llc -mtriple amdgcn-unknown-linux-gnu -mcpu=tahiti -verify-machineinstrs < %s | FileCheck  %s
2; RUN: llc -mtriple amdgcn-unknown-linux-gnu -mcpu=tonga -verify-machineinstrs < %s | FileCheck  %s
3; RUN: llc -mtriple r600-unknown-linux-gnu -mcpu=redwood -verify-machineinstrs < %s | FileCheck %s --check-prefix=R600
4
5; ALL-NOT: {{^}}func:
6define internal i32 @func(i32 %a) {
7entry:
8  %tmp0 = add i32 %a, 1
9  ret i32 %tmp0
10}
11
12; CHECK: {{^}}kernel:
13; GCN-NOT: s_swappc_b64
14define amdgpu_kernel void @kernel(ptr addrspace(1) %out) {
15entry:
16  %tmp0 = call i32 @func(i32 1)
17  store i32 %tmp0, ptr addrspace(1) %out
18  ret void
19}
20
21; CHECK: func_alias
22; R600-NOT: func_alias
23@func_alias = alias i32 (i32), ptr @func
24
25; CHECK-NOT: {{^}}kernel3:
26; GCN-NOT: s_swappc_b64
27; R600: {{^}}kernel3:
28define amdgpu_kernel void @kernel3(ptr addrspace(1) %out) {
29entry:
30  %tmp0 = call i32 @func_alias(i32 1)
31  store i32 %tmp0, ptr addrspace(1) %out
32  ret void
33}
34