xref: /llvm-project/llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-image-function-signatures.ll (revision 1100d6a995fe392b3885b8d2bd5afed2bd57e80c)
1b446c208SMatt Arsenault; NOTE: Assertions have been autogenerated by utils/update_test_checks.py UTC_ARGS: --version 5
2b446c208SMatt Arsenault; RUN: opt -S -mtriple=amdgcn-amd-amdhsa -passes=amdgpu-simplifylib %s | FileCheck %s
3b446c208SMatt Arsenault
4b446c208SMatt Arsenault; Make sure we can produce a valid FunctionType for the expected
5b446c208SMatt Arsenault; signature of image functions.
6b446c208SMatt Arsenault
7*1100d6a9SMatt Arsenaultdefine i32 @test_get_image_width_ro_image1d_t(ptr addrspace(4) readnone %img) {
8*1100d6a9SMatt Arsenault; CHECK-LABEL: define i32 @test_get_image_width_ro_image1d_t(
9*1100d6a9SMatt Arsenault; CHECK-SAME: ptr addrspace(4) readnone [[IMG:%.*]]) {
10*1100d6a9SMatt Arsenault; CHECK-NEXT:  [[ENTRY:.*:]]
11*1100d6a9SMatt Arsenault; CHECK-NEXT:    [[CALL:%.*]] = tail call i32 @_Z15get_image_width14ocl_image1d_ro(ptr addrspace(4) [[IMG]])
12*1100d6a9SMatt Arsenault; CHECK-NEXT:    ret i32 [[CALL]]
13b446c208SMatt Arsenault;
14*1100d6a9SMatt Arsenaultentry:
15*1100d6a9SMatt Arsenault  %call = tail call i32 @_Z15get_image_width14ocl_image1d_ro(ptr addrspace(4) %img)
16*1100d6a9SMatt Arsenault  ret i32 %call
17b446c208SMatt Arsenault}
18b446c208SMatt Arsenault
19*1100d6a9SMatt Arsenaultdeclare i32 @_Z15get_image_width14ocl_image1d_ro(ptr addrspace(4)) #1
20b446c208SMatt Arsenault
21*1100d6a9SMatt Arsenaultdefine i32 @test_get_image_width_wo_image1d_t(ptr addrspace(4) readnone %img) {
22*1100d6a9SMatt Arsenault; CHECK-LABEL: define i32 @test_get_image_width_wo_image1d_t(
23*1100d6a9SMatt Arsenault; CHECK-SAME: ptr addrspace(4) readnone [[IMG:%.*]]) {
24*1100d6a9SMatt Arsenault; CHECK-NEXT:  [[ENTRY:.*:]]
25*1100d6a9SMatt Arsenault; CHECK-NEXT:    [[CALL:%.*]] = tail call i32 @_Z15get_image_width14ocl_image1d_wo(ptr addrspace(4) [[IMG]])
26*1100d6a9SMatt Arsenault; CHECK-NEXT:    ret i32 [[CALL]]
27b446c208SMatt Arsenault;
28*1100d6a9SMatt Arsenaultentry:
29*1100d6a9SMatt Arsenault  %call = tail call i32 @_Z15get_image_width14ocl_image1d_wo(ptr addrspace(4) %img)
30*1100d6a9SMatt Arsenault  ret i32 %call
31b446c208SMatt Arsenault}
32b446c208SMatt Arsenault
33*1100d6a9SMatt Arsenaultdeclare i32 @_Z15get_image_width14ocl_image1d_wo(ptr addrspace(4)) #1
34b446c208SMatt Arsenault
35*1100d6a9SMatt Arsenaultdefine i32 @test_get_image_width_rw_image1d_t(ptr addrspace(4) readnone %img) {
36*1100d6a9SMatt Arsenault; CHECK-LABEL: define i32 @test_get_image_width_rw_image1d_t(
37*1100d6a9SMatt Arsenault; CHECK-SAME: ptr addrspace(4) readnone [[IMG:%.*]]) {
38*1100d6a9SMatt Arsenault; CHECK-NEXT:  [[ENTRY:.*:]]
39*1100d6a9SMatt Arsenault; CHECK-NEXT:    [[CALL:%.*]] = tail call i32 @_Z15get_image_width14ocl_image1d_rw(ptr addrspace(4) [[IMG]])
40*1100d6a9SMatt Arsenault; CHECK-NEXT:    ret i32 [[CALL]]
41b446c208SMatt Arsenault;
42*1100d6a9SMatt Arsenaultentry:
43*1100d6a9SMatt Arsenault  %call = tail call i32 @_Z15get_image_width14ocl_image1d_rw(ptr addrspace(4) %img)
44*1100d6a9SMatt Arsenault  ret i32 %call
45b446c208SMatt Arsenault}
46b446c208SMatt Arsenault
47*1100d6a9SMatt Arsenaultdeclare i32 @_Z15get_image_width14ocl_image1d_rw(ptr addrspace(4)) #1
48b446c208SMatt Arsenault
49*1100d6a9SMatt Arsenaultdefine i32 @test_get_image_width_ro_image1d_buffer_t(ptr addrspace(4) readnone %img) {
50*1100d6a9SMatt Arsenault; CHECK-LABEL: define i32 @test_get_image_width_ro_image1d_buffer_t(
51*1100d6a9SMatt Arsenault; CHECK-SAME: ptr addrspace(4) readnone [[IMG:%.*]]) {
52*1100d6a9SMatt Arsenault; CHECK-NEXT:  [[ENTRY:.*:]]
53*1100d6a9SMatt Arsenault; CHECK-NEXT:    [[CALL:%.*]] = tail call i32 @_Z15get_image_width21ocl_image1d_buffer_ro(ptr addrspace(4) [[IMG]])
54*1100d6a9SMatt Arsenault; CHECK-NEXT:    ret i32 [[CALL]]
55b446c208SMatt Arsenault;
56*1100d6a9SMatt Arsenaultentry:
57*1100d6a9SMatt Arsenault  %call = tail call i32 @_Z15get_image_width21ocl_image1d_buffer_ro(ptr addrspace(4) %img)
58*1100d6a9SMatt Arsenault  ret i32 %call
59b446c208SMatt Arsenault}
60b446c208SMatt Arsenault
61*1100d6a9SMatt Arsenaultdeclare i32 @_Z15get_image_width21ocl_image1d_buffer_ro(ptr addrspace(4)) #1
62b446c208SMatt Arsenault
63*1100d6a9SMatt Arsenaultdefine i32 @test_get_image_width_wo_image1d_buffer_t(ptr addrspace(4) readnone %img) {
64*1100d6a9SMatt Arsenault; CHECK-LABEL: define i32 @test_get_image_width_wo_image1d_buffer_t(
65*1100d6a9SMatt Arsenault; CHECK-SAME: ptr addrspace(4) readnone [[IMG:%.*]]) {
66*1100d6a9SMatt Arsenault; CHECK-NEXT:  [[ENTRY:.*:]]
67*1100d6a9SMatt Arsenault; CHECK-NEXT:    [[CALL:%.*]] = tail call i32 @_Z15get_image_width21ocl_image1d_buffer_wo(ptr addrspace(4) [[IMG]])
68*1100d6a9SMatt Arsenault; CHECK-NEXT:    ret i32 [[CALL]]
69b446c208SMatt Arsenault;
70*1100d6a9SMatt Arsenaultentry:
71*1100d6a9SMatt Arsenault  %call = tail call i32 @_Z15get_image_width21ocl_image1d_buffer_wo(ptr addrspace(4) %img)
72*1100d6a9SMatt Arsenault  ret i32 %call
73b446c208SMatt Arsenault}
74*1100d6a9SMatt Arsenault
75*1100d6a9SMatt Arsenaultdeclare i32 @_Z15get_image_width21ocl_image1d_buffer_wo(ptr addrspace(4)) #1
76*1100d6a9SMatt Arsenault
77*1100d6a9SMatt Arsenaultdefine i32 @test_get_image_width_rw_image1d_buffer_t(ptr addrspace(4) readnone %img) {
78*1100d6a9SMatt Arsenault; CHECK-LABEL: define i32 @test_get_image_width_rw_image1d_buffer_t(
79*1100d6a9SMatt Arsenault; CHECK-SAME: ptr addrspace(4) readnone [[IMG:%.*]]) {
80*1100d6a9SMatt Arsenault; CHECK-NEXT:  [[ENTRY:.*:]]
81*1100d6a9SMatt Arsenault; CHECK-NEXT:    [[CALL:%.*]] = tail call i32 @_Z15get_image_width21ocl_image1d_buffer_rw(ptr addrspace(4) [[IMG]])
82*1100d6a9SMatt Arsenault; CHECK-NEXT:    ret i32 [[CALL]]
83*1100d6a9SMatt Arsenault;
84*1100d6a9SMatt Arsenaultentry:
85*1100d6a9SMatt Arsenault  %call = tail call i32 @_Z15get_image_width21ocl_image1d_buffer_rw(ptr addrspace(4) %img)
86*1100d6a9SMatt Arsenault  ret i32 %call
87*1100d6a9SMatt Arsenault}
88*1100d6a9SMatt Arsenault
89*1100d6a9SMatt Arsenaultdeclare i32 @_Z15get_image_width21ocl_image1d_buffer_rw(ptr addrspace(4)) #1
90*1100d6a9SMatt Arsenault
91*1100d6a9SMatt Arsenaultdefine i32 @test_get_image_width_ro_image2d_t(ptr addrspace(4) readnone %img) {
92*1100d6a9SMatt Arsenault; CHECK-LABEL: define i32 @test_get_image_width_ro_image2d_t(
93*1100d6a9SMatt Arsenault; CHECK-SAME: ptr addrspace(4) readnone [[IMG:%.*]]) {
94*1100d6a9SMatt Arsenault; CHECK-NEXT:  [[ENTRY:.*:]]
95*1100d6a9SMatt Arsenault; CHECK-NEXT:    [[CALL:%.*]] = tail call i32 @_Z15get_image_width14ocl_image2d_ro(ptr addrspace(4) [[IMG]])
96*1100d6a9SMatt Arsenault; CHECK-NEXT:    ret i32 [[CALL]]
97*1100d6a9SMatt Arsenault;
98*1100d6a9SMatt Arsenaultentry:
99*1100d6a9SMatt Arsenault  %call = tail call i32 @_Z15get_image_width14ocl_image2d_ro(ptr addrspace(4) %img)
100*1100d6a9SMatt Arsenault  ret i32 %call
101*1100d6a9SMatt Arsenault}
102*1100d6a9SMatt Arsenault
103*1100d6a9SMatt Arsenaultdeclare i32 @_Z15get_image_width14ocl_image2d_ro(ptr addrspace(4)) #1
104*1100d6a9SMatt Arsenault
105*1100d6a9SMatt Arsenaultdefine i32 @test_get_image_width_wo_image2d_t(ptr addrspace(4) readnone %img) {
106*1100d6a9SMatt Arsenault; CHECK-LABEL: define i32 @test_get_image_width_wo_image2d_t(
107*1100d6a9SMatt Arsenault; CHECK-SAME: ptr addrspace(4) readnone [[IMG:%.*]]) {
108*1100d6a9SMatt Arsenault; CHECK-NEXT:  [[ENTRY:.*:]]
109*1100d6a9SMatt Arsenault; CHECK-NEXT:    [[CALL:%.*]] = tail call i32 @_Z15get_image_width14ocl_image2d_wo(ptr addrspace(4) [[IMG]])
110*1100d6a9SMatt Arsenault; CHECK-NEXT:    ret i32 [[CALL]]
111*1100d6a9SMatt Arsenault;
112*1100d6a9SMatt Arsenaultentry:
113*1100d6a9SMatt Arsenault  %call = tail call i32 @_Z15get_image_width14ocl_image2d_wo(ptr addrspace(4) %img)
114*1100d6a9SMatt Arsenault  ret i32 %call
115*1100d6a9SMatt Arsenault}
116*1100d6a9SMatt Arsenault
117*1100d6a9SMatt Arsenaultdeclare i32 @_Z15get_image_width14ocl_image2d_wo(ptr addrspace(4)) #1
118*1100d6a9SMatt Arsenault
119*1100d6a9SMatt Arsenaultdefine i32 @test_get_image_width_rw_image2d_t(ptr addrspace(4) readnone %img) {
120*1100d6a9SMatt Arsenault; CHECK-LABEL: define i32 @test_get_image_width_rw_image2d_t(
121*1100d6a9SMatt Arsenault; CHECK-SAME: ptr addrspace(4) readnone [[IMG:%.*]]) {
122*1100d6a9SMatt Arsenault; CHECK-NEXT:  [[ENTRY:.*:]]
123*1100d6a9SMatt Arsenault; CHECK-NEXT:    [[CALL:%.*]] = tail call i32 @_Z15get_image_width14ocl_image2d_rw(ptr addrspace(4) [[IMG]])
124*1100d6a9SMatt Arsenault; CHECK-NEXT:    ret i32 [[CALL]]
125*1100d6a9SMatt Arsenault;
126*1100d6a9SMatt Arsenaultentry:
127*1100d6a9SMatt Arsenault  %call = tail call i32 @_Z15get_image_width14ocl_image2d_rw(ptr addrspace(4) %img)
128*1100d6a9SMatt Arsenault  ret i32 %call
129*1100d6a9SMatt Arsenault}
130*1100d6a9SMatt Arsenault
131*1100d6a9SMatt Arsenaultdeclare i32 @_Z15get_image_width14ocl_image2d_rw(ptr addrspace(4)) #1
132*1100d6a9SMatt Arsenault
133*1100d6a9SMatt Arsenaultdefine i32 @test_get_image_width_ro_image3d_t(ptr addrspace(4) readnone %img) {
134*1100d6a9SMatt Arsenault; CHECK-LABEL: define i32 @test_get_image_width_ro_image3d_t(
135*1100d6a9SMatt Arsenault; CHECK-SAME: ptr addrspace(4) readnone [[IMG:%.*]]) {
136*1100d6a9SMatt Arsenault; CHECK-NEXT:  [[ENTRY:.*:]]
137*1100d6a9SMatt Arsenault; CHECK-NEXT:    [[CALL:%.*]] = tail call i32 @_Z15get_image_width14ocl_image3d_ro(ptr addrspace(4) [[IMG]])
138*1100d6a9SMatt Arsenault; CHECK-NEXT:    ret i32 [[CALL]]
139*1100d6a9SMatt Arsenault;
140*1100d6a9SMatt Arsenaultentry:
141*1100d6a9SMatt Arsenault  %call = tail call i32 @_Z15get_image_width14ocl_image3d_ro(ptr addrspace(4) %img)
142*1100d6a9SMatt Arsenault  ret i32 %call
143*1100d6a9SMatt Arsenault}
144*1100d6a9SMatt Arsenault
145*1100d6a9SMatt Arsenaultdeclare i32 @_Z15get_image_width14ocl_image3d_ro(ptr addrspace(4)) #1
146*1100d6a9SMatt Arsenault
147*1100d6a9SMatt Arsenaultdefine i32 @test_get_image_width_wo_image3d_t(ptr addrspace(4) readnone %img) {
148*1100d6a9SMatt Arsenault; CHECK-LABEL: define i32 @test_get_image_width_wo_image3d_t(
149*1100d6a9SMatt Arsenault; CHECK-SAME: ptr addrspace(4) readnone [[IMG:%.*]]) {
150*1100d6a9SMatt Arsenault; CHECK-NEXT:  [[ENTRY:.*:]]
151*1100d6a9SMatt Arsenault; CHECK-NEXT:    [[CALL:%.*]] = tail call i32 @_Z15get_image_width14ocl_image3d_wo(ptr addrspace(4) [[IMG]])
152*1100d6a9SMatt Arsenault; CHECK-NEXT:    ret i32 [[CALL]]
153*1100d6a9SMatt Arsenault;
154*1100d6a9SMatt Arsenaultentry:
155*1100d6a9SMatt Arsenault  %call = tail call i32 @_Z15get_image_width14ocl_image3d_wo(ptr addrspace(4) %img)
156*1100d6a9SMatt Arsenault  ret i32 %call
157*1100d6a9SMatt Arsenault}
158*1100d6a9SMatt Arsenault
159*1100d6a9SMatt Arsenaultdeclare i32 @_Z15get_image_width14ocl_image3d_wo(ptr addrspace(4)) #1
160*1100d6a9SMatt Arsenault
161*1100d6a9SMatt Arsenaultdefine i32 @test_get_image_width_rw_image3d_t(ptr addrspace(4) readnone %img) {
162*1100d6a9SMatt Arsenault; CHECK-LABEL: define i32 @test_get_image_width_rw_image3d_t(
163*1100d6a9SMatt Arsenault; CHECK-SAME: ptr addrspace(4) readnone [[IMG:%.*]]) {
164*1100d6a9SMatt Arsenault; CHECK-NEXT:  [[ENTRY:.*:]]
165*1100d6a9SMatt Arsenault; CHECK-NEXT:    [[CALL:%.*]] = tail call i32 @_Z15get_image_width14ocl_image3d_rw(ptr addrspace(4) [[IMG]])
166*1100d6a9SMatt Arsenault; CHECK-NEXT:    ret i32 [[CALL]]
167*1100d6a9SMatt Arsenault;
168*1100d6a9SMatt Arsenaultentry:
169*1100d6a9SMatt Arsenault  %call = tail call i32 @_Z15get_image_width14ocl_image3d_rw(ptr addrspace(4) %img)
170*1100d6a9SMatt Arsenault  ret i32 %call
171*1100d6a9SMatt Arsenault}
172*1100d6a9SMatt Arsenault
173*1100d6a9SMatt Arsenaultdeclare i32 @_Z15get_image_width14ocl_image3d_rw(ptr addrspace(4)) #1
174*1100d6a9SMatt Arsenault
175*1100d6a9SMatt Arsenaultdefine i32 @test_get_image_width_ro_image1d_array_t(ptr addrspace(4) readnone %img) {
176*1100d6a9SMatt Arsenault; CHECK-LABEL: define i32 @test_get_image_width_ro_image1d_array_t(
177*1100d6a9SMatt Arsenault; CHECK-SAME: ptr addrspace(4) readnone [[IMG:%.*]]) {
178*1100d6a9SMatt Arsenault; CHECK-NEXT:  [[ENTRY:.*:]]
179*1100d6a9SMatt Arsenault; CHECK-NEXT:    [[CALL:%.*]] = tail call i32 @_Z15get_image_width20ocl_image1d_array_ro(ptr addrspace(4) [[IMG]])
180*1100d6a9SMatt Arsenault; CHECK-NEXT:    ret i32 [[CALL]]
181*1100d6a9SMatt Arsenault;
182*1100d6a9SMatt Arsenaultentry:
183*1100d6a9SMatt Arsenault  %call = tail call i32 @_Z15get_image_width20ocl_image1d_array_ro(ptr addrspace(4) %img)
184*1100d6a9SMatt Arsenault  ret i32 %call
185*1100d6a9SMatt Arsenault}
186*1100d6a9SMatt Arsenault
187*1100d6a9SMatt Arsenaultdeclare i32 @_Z15get_image_width20ocl_image1d_array_ro(ptr addrspace(4)) #1
188*1100d6a9SMatt Arsenault
189*1100d6a9SMatt Arsenaultdefine i32 @test_get_image_width_wo_image1d_array_t(ptr addrspace(4) readnone %img) {
190*1100d6a9SMatt Arsenault; CHECK-LABEL: define i32 @test_get_image_width_wo_image1d_array_t(
191*1100d6a9SMatt Arsenault; CHECK-SAME: ptr addrspace(4) readnone [[IMG:%.*]]) {
192*1100d6a9SMatt Arsenault; CHECK-NEXT:  [[ENTRY:.*:]]
193*1100d6a9SMatt Arsenault; CHECK-NEXT:    [[CALL:%.*]] = tail call i32 @_Z15get_image_width20ocl_image1d_array_wo(ptr addrspace(4) [[IMG]])
194*1100d6a9SMatt Arsenault; CHECK-NEXT:    ret i32 [[CALL]]
195*1100d6a9SMatt Arsenault;
196*1100d6a9SMatt Arsenaultentry:
197*1100d6a9SMatt Arsenault  %call = tail call i32 @_Z15get_image_width20ocl_image1d_array_wo(ptr addrspace(4) %img)
198*1100d6a9SMatt Arsenault  ret i32 %call
199*1100d6a9SMatt Arsenault}
200*1100d6a9SMatt Arsenault
201*1100d6a9SMatt Arsenaultdeclare i32 @_Z15get_image_width20ocl_image1d_array_wo(ptr addrspace(4)) #1
202*1100d6a9SMatt Arsenault
203*1100d6a9SMatt Arsenaultdefine i32 @test_get_image_width_rw_image1d_array_t(ptr addrspace(4) readnone %img) {
204*1100d6a9SMatt Arsenault; CHECK-LABEL: define i32 @test_get_image_width_rw_image1d_array_t(
205*1100d6a9SMatt Arsenault; CHECK-SAME: ptr addrspace(4) readnone [[IMG:%.*]]) {
206*1100d6a9SMatt Arsenault; CHECK-NEXT:  [[ENTRY:.*:]]
207*1100d6a9SMatt Arsenault; CHECK-NEXT:    [[CALL:%.*]] = tail call i32 @_Z15get_image_width20ocl_image1d_array_rw(ptr addrspace(4) [[IMG]])
208*1100d6a9SMatt Arsenault; CHECK-NEXT:    ret i32 [[CALL]]
209*1100d6a9SMatt Arsenault;
210*1100d6a9SMatt Arsenaultentry:
211*1100d6a9SMatt Arsenault  %call = tail call i32 @_Z15get_image_width20ocl_image1d_array_rw(ptr addrspace(4) %img)
212*1100d6a9SMatt Arsenault  ret i32 %call
213*1100d6a9SMatt Arsenault}
214*1100d6a9SMatt Arsenault
215*1100d6a9SMatt Arsenaultdeclare i32 @_Z15get_image_width20ocl_image1d_array_rw(ptr addrspace(4)) #1
216*1100d6a9SMatt Arsenault
217*1100d6a9SMatt Arsenaultdefine i32 @test_get_image_width_ro_image2d_array_t(ptr addrspace(4) readnone %img) {
218*1100d6a9SMatt Arsenault; CHECK-LABEL: define i32 @test_get_image_width_ro_image2d_array_t(
219*1100d6a9SMatt Arsenault; CHECK-SAME: ptr addrspace(4) readnone [[IMG:%.*]]) {
220*1100d6a9SMatt Arsenault; CHECK-NEXT:  [[ENTRY:.*:]]
221*1100d6a9SMatt Arsenault; CHECK-NEXT:    [[CALL:%.*]] = tail call i32 @_Z15get_image_width20ocl_image2d_array_ro(ptr addrspace(4) [[IMG]])
222*1100d6a9SMatt Arsenault; CHECK-NEXT:    ret i32 [[CALL]]
223*1100d6a9SMatt Arsenault;
224*1100d6a9SMatt Arsenaultentry:
225*1100d6a9SMatt Arsenault  %call = tail call i32 @_Z15get_image_width20ocl_image2d_array_ro(ptr addrspace(4) %img)
226*1100d6a9SMatt Arsenault  ret i32 %call
227*1100d6a9SMatt Arsenault}
228*1100d6a9SMatt Arsenault
229*1100d6a9SMatt Arsenaultdeclare i32 @_Z15get_image_width20ocl_image2d_array_ro(ptr addrspace(4)) #1
230*1100d6a9SMatt Arsenault
231*1100d6a9SMatt Arsenaultdefine i32 @test_get_image_width_wo_image2d_array_t(ptr addrspace(4) readnone %img) {
232*1100d6a9SMatt Arsenault; CHECK-LABEL: define i32 @test_get_image_width_wo_image2d_array_t(
233*1100d6a9SMatt Arsenault; CHECK-SAME: ptr addrspace(4) readnone [[IMG:%.*]]) {
234*1100d6a9SMatt Arsenault; CHECK-NEXT:  [[ENTRY:.*:]]
235*1100d6a9SMatt Arsenault; CHECK-NEXT:    [[CALL:%.*]] = tail call i32 @_Z15get_image_width20ocl_image2d_array_wo(ptr addrspace(4) [[IMG]])
236*1100d6a9SMatt Arsenault; CHECK-NEXT:    ret i32 [[CALL]]
237*1100d6a9SMatt Arsenault;
238*1100d6a9SMatt Arsenaultentry:
239*1100d6a9SMatt Arsenault  %call = tail call i32 @_Z15get_image_width20ocl_image2d_array_wo(ptr addrspace(4) %img)
240*1100d6a9SMatt Arsenault  ret i32 %call
241*1100d6a9SMatt Arsenault}
242*1100d6a9SMatt Arsenault
243*1100d6a9SMatt Arsenaultdeclare i32 @_Z15get_image_width20ocl_image2d_array_wo(ptr addrspace(4)) #1
244*1100d6a9SMatt Arsenault
245*1100d6a9SMatt Arsenaultdefine i32 @test_get_image_width_rw_image2d_array_t(ptr addrspace(4) readnone %img) {
246*1100d6a9SMatt Arsenault; CHECK-LABEL: define i32 @test_get_image_width_rw_image2d_array_t(
247*1100d6a9SMatt Arsenault; CHECK-SAME: ptr addrspace(4) readnone [[IMG:%.*]]) {
248*1100d6a9SMatt Arsenault; CHECK-NEXT:  [[ENTRY:.*:]]
249*1100d6a9SMatt Arsenault; CHECK-NEXT:    [[CALL:%.*]] = tail call i32 @_Z15get_image_width20ocl_image2d_array_rw(ptr addrspace(4) [[IMG]])
250*1100d6a9SMatt Arsenault; CHECK-NEXT:    ret i32 [[CALL]]
251*1100d6a9SMatt Arsenault;
252*1100d6a9SMatt Arsenaultentry:
253*1100d6a9SMatt Arsenault  %call = tail call i32 @_Z15get_image_width20ocl_image2d_array_rw(ptr addrspace(4) %img)
254*1100d6a9SMatt Arsenault  ret i32 %call
255*1100d6a9SMatt Arsenault}
256*1100d6a9SMatt Arsenault
257*1100d6a9SMatt Arsenaultdeclare i32 @_Z15get_image_width20ocl_image2d_array_rw(ptr addrspace(4)) #1
258*1100d6a9SMatt Arsenault
259*1100d6a9SMatt Arsenaultdefine i32 @test_get_image_width_ro_image2d_depth_t(ptr addrspace(4) readnone %img) {
260*1100d6a9SMatt Arsenault; CHECK-LABEL: define i32 @test_get_image_width_ro_image2d_depth_t(
261*1100d6a9SMatt Arsenault; CHECK-SAME: ptr addrspace(4) readnone [[IMG:%.*]]) {
262*1100d6a9SMatt Arsenault; CHECK-NEXT:  [[ENTRY:.*:]]
263*1100d6a9SMatt Arsenault; CHECK-NEXT:    [[CALL:%.*]] = tail call i32 @_Z15get_image_width20ocl_image2d_depth_ro(ptr addrspace(4) [[IMG]])
264*1100d6a9SMatt Arsenault; CHECK-NEXT:    ret i32 [[CALL]]
265*1100d6a9SMatt Arsenault;
266*1100d6a9SMatt Arsenaultentry:
267*1100d6a9SMatt Arsenault  %call = tail call i32 @_Z15get_image_width20ocl_image2d_depth_ro(ptr addrspace(4) %img)
268*1100d6a9SMatt Arsenault  ret i32 %call
269*1100d6a9SMatt Arsenault}
270*1100d6a9SMatt Arsenault
271*1100d6a9SMatt Arsenaultdeclare i32 @_Z15get_image_width20ocl_image2d_depth_ro(ptr addrspace(4)) #1
272*1100d6a9SMatt Arsenault
273*1100d6a9SMatt Arsenaultdefine i32 @test_get_image_width_wo_image2d_depth_t(ptr addrspace(4) readnone %img) {
274*1100d6a9SMatt Arsenault; CHECK-LABEL: define i32 @test_get_image_width_wo_image2d_depth_t(
275*1100d6a9SMatt Arsenault; CHECK-SAME: ptr addrspace(4) readnone [[IMG:%.*]]) {
276*1100d6a9SMatt Arsenault; CHECK-NEXT:  [[ENTRY:.*:]]
277*1100d6a9SMatt Arsenault; CHECK-NEXT:    [[CALL:%.*]] = tail call i32 @_Z15get_image_width20ocl_image2d_depth_wo(ptr addrspace(4) [[IMG]])
278*1100d6a9SMatt Arsenault; CHECK-NEXT:    ret i32 [[CALL]]
279*1100d6a9SMatt Arsenault;
280*1100d6a9SMatt Arsenaultentry:
281*1100d6a9SMatt Arsenault  %call = tail call i32 @_Z15get_image_width20ocl_image2d_depth_wo(ptr addrspace(4) %img)
282*1100d6a9SMatt Arsenault  ret i32 %call
283*1100d6a9SMatt Arsenault}
284*1100d6a9SMatt Arsenault
285*1100d6a9SMatt Arsenaultdeclare i32 @_Z15get_image_width20ocl_image2d_depth_wo(ptr addrspace(4)) #1
286*1100d6a9SMatt Arsenault
287*1100d6a9SMatt Arsenaultdefine i32 @test_get_image_width_rw_image2d_depth_t(ptr addrspace(4) readnone %img) {
288*1100d6a9SMatt Arsenault; CHECK-LABEL: define i32 @test_get_image_width_rw_image2d_depth_t(
289*1100d6a9SMatt Arsenault; CHECK-SAME: ptr addrspace(4) readnone [[IMG:%.*]]) {
290*1100d6a9SMatt Arsenault; CHECK-NEXT:  [[ENTRY:.*:]]
291*1100d6a9SMatt Arsenault; CHECK-NEXT:    [[CALL:%.*]] = tail call i32 @_Z15get_image_width20ocl_image2d_depth_rw(ptr addrspace(4) [[IMG]])
292*1100d6a9SMatt Arsenault; CHECK-NEXT:    ret i32 [[CALL]]
293*1100d6a9SMatt Arsenault;
294*1100d6a9SMatt Arsenaultentry:
295*1100d6a9SMatt Arsenault  %call = tail call i32 @_Z15get_image_width20ocl_image2d_depth_rw(ptr addrspace(4) %img)
296*1100d6a9SMatt Arsenault  ret i32 %call
297*1100d6a9SMatt Arsenault}
298*1100d6a9SMatt Arsenault
299*1100d6a9SMatt Arsenaultdeclare i32 @_Z15get_image_width20ocl_image2d_depth_rw(ptr addrspace(4)) #1
300*1100d6a9SMatt Arsenault
301*1100d6a9SMatt Arsenaultdefine i32 @test_get_image_width_ro_image2d_array_depth_t(ptr addrspace(4) readnone %img) {
302*1100d6a9SMatt Arsenault; CHECK-LABEL: define i32 @test_get_image_width_ro_image2d_array_depth_t(
303*1100d6a9SMatt Arsenault; CHECK-SAME: ptr addrspace(4) readnone [[IMG:%.*]]) {
304*1100d6a9SMatt Arsenault; CHECK-NEXT:  [[ENTRY:.*:]]
305*1100d6a9SMatt Arsenault; CHECK-NEXT:    [[CALL:%.*]] = tail call i32 @_Z15get_image_width26ocl_image2d_array_depth_ro(ptr addrspace(4) [[IMG]])
306*1100d6a9SMatt Arsenault; CHECK-NEXT:    ret i32 [[CALL]]
307*1100d6a9SMatt Arsenault;
308*1100d6a9SMatt Arsenaultentry:
309*1100d6a9SMatt Arsenault  %call = tail call i32 @_Z15get_image_width26ocl_image2d_array_depth_ro(ptr addrspace(4) %img)
310*1100d6a9SMatt Arsenault  ret i32 %call
311*1100d6a9SMatt Arsenault}
312*1100d6a9SMatt Arsenault
313*1100d6a9SMatt Arsenaultdeclare i32 @_Z15get_image_width26ocl_image2d_array_depth_ro(ptr addrspace(4)) #1
314*1100d6a9SMatt Arsenault
315*1100d6a9SMatt Arsenaultdefine i32 @test_get_image_width_wo_image2d_array_depth_t(ptr addrspace(4) readnone %img) {
316*1100d6a9SMatt Arsenault; CHECK-LABEL: define i32 @test_get_image_width_wo_image2d_array_depth_t(
317*1100d6a9SMatt Arsenault; CHECK-SAME: ptr addrspace(4) readnone [[IMG:%.*]]) {
318*1100d6a9SMatt Arsenault; CHECK-NEXT:  [[ENTRY:.*:]]
319*1100d6a9SMatt Arsenault; CHECK-NEXT:    [[CALL:%.*]] = tail call i32 @_Z15get_image_width26ocl_image2d_array_depth_wo(ptr addrspace(4) [[IMG]])
320*1100d6a9SMatt Arsenault; CHECK-NEXT:    ret i32 [[CALL]]
321*1100d6a9SMatt Arsenault;
322*1100d6a9SMatt Arsenaultentry:
323*1100d6a9SMatt Arsenault  %call = tail call i32 @_Z15get_image_width26ocl_image2d_array_depth_wo(ptr addrspace(4) %img)
324*1100d6a9SMatt Arsenault  ret i32 %call
325*1100d6a9SMatt Arsenault}
326*1100d6a9SMatt Arsenault
327*1100d6a9SMatt Arsenaultdeclare i32 @_Z15get_image_width26ocl_image2d_array_depth_wo(ptr addrspace(4)) #1
328*1100d6a9SMatt Arsenault
329*1100d6a9SMatt Arsenaultdefine i32 @test_get_image_width_rw_image2d_array_depth_t(ptr addrspace(4) readnone %img) {
330*1100d6a9SMatt Arsenault; CHECK-LABEL: define i32 @test_get_image_width_rw_image2d_array_depth_t(
331*1100d6a9SMatt Arsenault; CHECK-SAME: ptr addrspace(4) readnone [[IMG:%.*]]) {
332*1100d6a9SMatt Arsenault; CHECK-NEXT:  [[ENTRY:.*:]]
333*1100d6a9SMatt Arsenault; CHECK-NEXT:    [[CALL:%.*]] = tail call i32 @_Z15get_image_width26ocl_image2d_array_depth_rw(ptr addrspace(4) [[IMG]])
334*1100d6a9SMatt Arsenault; CHECK-NEXT:    ret i32 [[CALL]]
335*1100d6a9SMatt Arsenault;
336*1100d6a9SMatt Arsenaultentry:
337*1100d6a9SMatt Arsenault  %call = tail call i32 @_Z15get_image_width26ocl_image2d_array_depth_rw(ptr addrspace(4) %img)
338*1100d6a9SMatt Arsenault  ret i32 %call
339*1100d6a9SMatt Arsenault}
340*1100d6a9SMatt Arsenault
341*1100d6a9SMatt Arsenaultdeclare i32 @_Z15get_image_width26ocl_image2d_array_depth_rw(ptr addrspace(4)) #1
342