1 ; RUN: llc -mtriple=amdgcn-amd-amdhsa -mcpu=gfx700 -filetype=obj -o - < %s | llvm-readobj -elf-output-style=GNU -notes | FileCheck --check-prefix=CHECK --check-prefix=GFX700 --check-prefix=NOTES %s
2 ; RUN: llc -mtriple=amdgcn-amd-amdhsa -mcpu=gfx800 -filetype=obj -o - < %s | llvm-readobj -elf-output-style=GNU -notes | FileCheck --check-prefix=CHECK --check-prefix=GFX800 --check-prefix=NOTES %s
3 ; RUN: llc -mtriple=amdgcn-amd-amdhsa -mcpu=gfx900 -filetype=obj -o - < %s | llvm-readobj -elf-output-style=GNU -notes | FileCheck --check-prefix=CHECK --check-prefix=GFX900 --check-prefix=NOTES %s
5 %opencl.image1d_t = type opaque
6 %opencl.image1d_array_t = type opaque
7 %opencl.image1d_buffer_t = type opaque
8 %opencl.image2d_t = type opaque
9 %opencl.image2d_array_t = type opaque
10 %opencl.image2d_array_depth_t = type opaque
11 %opencl.image2d_array_msaa_t = type opaque
12 %opencl.image2d_array_msaa_depth_t = type opaque
13 %opencl.image2d_depth_t = type opaque
14 %opencl.image2d_msaa_t = type opaque
15 %opencl.image2d_msaa_depth_t = type opaque
16 %opencl.image3d_t = type opaque
19 ; CHECK: Version: [ 1, 0 ]
23 ; CHECK: SymbolName: 'test@kd'
25 ; CHECK: - TypeName: image1d_t
27 ; CHECK: ValueKind: Image
28 ; CHECK: - TypeName: image1d_array_t
30 ; CHECK: ValueKind: Image
31 ; CHECK: - TypeName: image1d_buffer_t
33 ; CHECK: ValueKind: Image
34 ; CHECK: - TypeName: image2d_t
36 ; CHECK: ValueKind: Image
37 ; CHECK: - TypeName: image2d_array_t
39 ; CHECK: ValueKind: Image
40 ; CHECK: - TypeName: image2d_array_depth_t
42 ; CHECK: ValueKind: Image
43 ; CHECK: - TypeName: image2d_array_msaa_t
45 ; CHECK: ValueKind: Image
46 ; CHECK: - TypeName: image2d_array_msaa_depth_t
48 ; CHECK: ValueKind: Image
49 ; CHECK: - TypeName: image2d_depth_t
51 ; CHECK: ValueKind: Image
52 ; CHECK: - TypeName: image2d_msaa_t
54 ; CHECK: ValueKind: Image
55 ; CHECK: - TypeName: image2d_msaa_depth_t
57 ; CHECK: ValueKind: Image
58 ; CHECK: - TypeName: image3d_t
60 ; CHECK: ValueKind: Image
61 define amdgpu_kernel void @test(%opencl.image1d_t addrspace(1)* %a,
62 %opencl.image1d_array_t addrspace(1)* %b,
63 %opencl.image1d_buffer_t addrspace(1)* %c,
64 %opencl.image2d_t addrspace(1)* %d,
65 %opencl.image2d_array_t addrspace(1)* %e,
66 %opencl.image2d_array_depth_t addrspace(1)* %f,
67 %opencl.image2d_array_msaa_t addrspace(1)* %g,
68 %opencl.image2d_array_msaa_depth_t addrspace(1)* %h,
69 %opencl.image2d_depth_t addrspace(1)* %i,
70 %opencl.image2d_msaa_t addrspace(1)* %j,
71 %opencl.image2d_msaa_depth_t addrspace(1)* %k,
72 %opencl.image3d_t addrspace(1)* %l)
73 !kernel_arg_type !1 !kernel_arg_base_type !1 {
77 !1 = !{!"image1d_t", !"image1d_array_t", !"image1d_buffer_t",
78 !"image2d_t", !"image2d_array_t", !"image2d_array_depth_t",
79 !"image2d_array_msaa_t", !"image2d_array_msaa_depth_t",
80 !"image2d_depth_t", !"image2d_msaa_t", !"image2d_msaa_depth_t",