Bump version to 19.1.0-rc3
[llvm-project.git] / llvm / test / CodeGen / SPIRV / llvm-intrinsics / ptr-annotation.ll
blob06f1d0bf7fd37c2ea7f7984f82b1bc8e1a884419
1 ; RUN: llc -O0 -mtriple=spirv64-unknown-unknown %s -o - | FileCheck %s
2 ; RUN: %if spirv-tools %{ llc -O0 -mtriple=spirv64-unknown-unknown %s -o - -filetype=obj | spirv-val %}
4 ; CHECK-DAG: OpName %[[#Foo:]] "foo"
5 ; CHECK-DAG: OpName %[[#Ptr1:]] "_arg1"
6 ; CHECK-DAG: OpName %[[#Ptr2:]] "_arg2"
7 ; CHECK-DAG: OpName %[[#Ptr3:]] "_arg3"
8 ; CHECK-DAG: OpName %[[#Ptr4:]] "_arg4"
9 ; CHECK-DAG: OpName %[[#Ptr5:]] "_arg5"
10 ; CHECK-DAG: OpDecorate %[[#Ptr1]] NonReadable
11 ; CHECK-DAG: OpDecorate %[[#Ptr2]] Alignment 128
12 ; CHECK-DAG: OpDecorate %[[#Ptr2]] NonReadable
13 ; CHECK-DAG: OpDecorate %[[#Ptr3]] Alignment 128
14 ; CHECK-DAG: OpDecorate %[[#Ptr3]] NonReadable
15 ; CHECK-DAG: OpDecorate %[[#Ptr4]] Alignment 128
16 ; CHECK-DAG: OpDecorate %[[#Ptr4]] NonReadable
17 ; CHECK-DAG: OpDecorate %[[#Ptr5]] UserSemantic "Unknown format"
18 ; CHECK: %[[#Foo]] = OpFunction
19 ; CHECK-NEXT: %[[#Ptr1]] = OpFunctionParameter
20 ; CHECK-NEXT: %[[#Ptr2]] = OpFunctionParameter
21 ; CHECK-NEXT: %[[#Ptr3]] = OpFunctionParameter
22 ; CHECK-NEXT: %[[#Ptr4]] = OpFunctionParameter
23 ; CHECK-NEXT: %[[#Ptr5]] = OpFunctionParameter
24 ; CHECK: OpFunctionEnd
26 @.str.0 = private unnamed_addr addrspace(1) constant [16 x i8] c"../prefetch.hpp\00", section "llvm.metadata"
27 @.str.1 = private unnamed_addr addrspace(1) constant [5 x i8] c"{25}\00", section "llvm.metadata"
28 @.str.2 = private unnamed_addr addrspace(1) constant [13 x i8] c"{44:128}{25}\00", section "llvm.metadata"
29 @.str.3 = private unnamed_addr addrspace(1) constant [15 x i8] c"{44:\22128\22}{25}\00", section "llvm.metadata"
30 @.str.4 = private unnamed_addr addrspace(1) constant [13 x i8] c"{44,128}{25}\00", section "llvm.metadata"
31 @.str.5 = private unnamed_addr addrspace(1) constant [15 x i8] c"Unknown format\00", section "llvm.metadata"
33 define spir_kernel void @foo(ptr addrspace(1) %_arg1, ptr addrspace(1) %_arg2, ptr addrspace(1) %_arg3, ptr addrspace(1) %_arg4, ptr addrspace(1) %_arg5) {
34 entry:
35   %r1 = tail call ptr addrspace(1) @llvm.ptr.annotation.p1.p1(ptr addrspace(1) %_arg1, ptr addrspace(1) @.str.1, ptr addrspace(1) @.str.0, i32 80, ptr addrspace(1) null)
36   %r2 = tail call ptr addrspace(1) @llvm.ptr.annotation.p1.p1(ptr addrspace(1) %_arg2, ptr addrspace(1) @.str.2, ptr addrspace(1) @.str.0, i32 80, ptr addrspace(1) null)
37   %r3 = tail call ptr addrspace(1) @llvm.ptr.annotation.p1.p1(ptr addrspace(1) %_arg3, ptr addrspace(1) @.str.3, ptr addrspace(1) @.str.0, i32 80, ptr addrspace(1) null)
38   %r4 = tail call ptr addrspace(1) @llvm.ptr.annotation.p1.p1(ptr addrspace(1) %_arg4, ptr addrspace(1) @.str.4, ptr addrspace(1) @.str.0, i32 80, ptr addrspace(1) null)
39   %r5 = tail call ptr addrspace(1) @llvm.ptr.annotation.p1.p1(ptr addrspace(1) %_arg5, ptr addrspace(1) @.str.5, ptr addrspace(1) @.str.0, i32 80, ptr addrspace(1) null)
40   ret void