blob: 7a9c810541ef8f90d48dd51069dac5cbfd35d3ee [file] [log] [blame]
Scott Linderf5b36e52018-12-12 19:39:27 +00001; RUN: llc -mattr=+code-object-v3 -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 -mattr=+code-object-v3 -mtriple=amdgcn-amd-amdhsa -mcpu=gfx802 -filetype=obj -o - < %s | llvm-readobj -elf-output-style=GNU -notes | FileCheck --check-prefix=CHECK --check-prefix=GFX802 --check-prefix=NOTES %s
3; RUN: llc -mattr=+code-object-v3 -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
4
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
17
18; CHECK: ---
19; CHECK: amdhsa.kernels:
20; CHECK: .symbol: test.kd
21; CHECK: .name: test
22; CHECK: .args:
23; CHECK: - .type_name: image1d_t
24; CHECK: .value_kind: image
25; CHECK: .name: a
26; CHECK: .size: 8
27; CHECK: - .type_name: image1d_array_t
28; CHECK: .value_kind: image
29; CHECK: .name: b
30; CHECK: .size: 8
31; CHECK: - .type_name: image1d_buffer_t
32; CHECK: .value_kind: image
33; CHECK: .name: c
34; CHECK: .size: 8
35; CHECK: - .type_name: image2d_t
36; CHECK: .value_kind: image
37; CHECK: .name: d
38; CHECK: .size: 8
39; CHECK: - .type_name: image2d_array_t
40; CHECK: .value_kind: image
41; CHECK: .name: e
42; CHECK: .size: 8
43; CHECK: - .type_name: image2d_array_depth_t
44; CHECK: .value_kind: image
45; CHECK: .name: f
46; CHECK: .size: 8
47; CHECK: - .type_name: image2d_array_msaa_t
48; CHECK: .value_kind: image
49; CHECK: .name: g
50; CHECK: .size: 8
51; CHECK: - .type_name: image2d_array_msaa_depth_t
52; CHECK: .value_kind: image
53; CHECK: .name: h
54; CHECK: .size: 8
55; CHECK: - .type_name: image2d_depth_t
56; CHECK: .value_kind: image
57; CHECK: .name: i
58; CHECK: .size: 8
59; CHECK: - .type_name: image2d_msaa_t
60; CHECK: .value_kind: image
61; CHECK: .name: j
62; CHECK: .size: 8
63; CHECK: - .type_name: image2d_msaa_depth_t
64; CHECK: .value_kind: image
65; CHECK: .name: k
66; CHECK: .size: 8
67; CHECK: - .type_name: image3d_t
68; CHECK: .value_kind: image
69; CHECK: .name: l
70; CHECK: .size: 8
71define amdgpu_kernel void @test(%opencl.image1d_t addrspace(1)* %a,
72 %opencl.image1d_array_t addrspace(1)* %b,
73 %opencl.image1d_buffer_t addrspace(1)* %c,
74 %opencl.image2d_t addrspace(1)* %d,
75 %opencl.image2d_array_t addrspace(1)* %e,
76 %opencl.image2d_array_depth_t addrspace(1)* %f,
77 %opencl.image2d_array_msaa_t addrspace(1)* %g,
78 %opencl.image2d_array_msaa_depth_t addrspace(1)* %h,
79 %opencl.image2d_depth_t addrspace(1)* %i,
80 %opencl.image2d_msaa_t addrspace(1)* %j,
81 %opencl.image2d_msaa_depth_t addrspace(1)* %k,
82 %opencl.image3d_t addrspace(1)* %l)
83 !kernel_arg_type !1 !kernel_arg_base_type !1 {
84 ret void
85}
86
87; CHECK: amdhsa.version:
88; CHECK-NEXT: - 1
89; CHECK-NEXT: - 0
90
91!1 = !{!"image1d_t", !"image1d_array_t", !"image1d_buffer_t",
92 !"image2d_t", !"image2d_array_t", !"image2d_array_depth_t",
93 !"image2d_array_msaa_t", !"image2d_array_msaa_depth_t",
94 !"image2d_depth_t", !"image2d_msaa_t", !"image2d_msaa_depth_t",
95 !"image3d_t"}