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