1; RUN: llc -O0 -verify-machineinstrs -mtriple=spirv-vulkan-library %s -o - | FileCheck %s 2; RUN: %if spirv-tools %{ llc -O0 -mtriple=spirv-vulkan-library %s -o - -filetype=obj | spirv-val %} 3 4; CHECK-NOT: OpCapability ImageBasic 5; CHECK-NOT: OpCapability ImageReadWrite 6; CHECK: OpCapability ImageBuffer 7; CHECK-NOT: OpCapability ImageBasic 8; CHECK-NOT: OpCapability ImageReadWrite 9 10; CHECK-DAG: [[Float:%[0-9]+]] = OpTypeFloat 32 11; CHECK-DAG: [[Void:%[0-9]+]] = OpTypeVoid 12; CHECK-DAG: [[ImageType:%[0-9]+]] = OpTypeImage [[Float]] Buffer 2 0 0 2 R32i {{$}} 13; CHECK-DAG: [[ImageFuncType:%[0-9]+]] = OpTypeFunction [[Void]] [[ImageType]] 14 15; CHECK: {{%[0-9]+}} = OpFunction [[Void]] DontInline [[ImageFuncType]] 16define void @ImageWithNoAccessQualifier(target("spirv.Image", float, 5, 2, 0, 0, 2, 24) %img) #0 { 17 ret void 18} 19 20attributes #0 = { convergent noinline norecurse "frame-pointer"="all" "no-trapping-math"="true" "stack-protector-buffer-size"="8" } 21