27 lines · plain
1; RUN: llc -O0 -mtriple=spirv1.6-unknown-vulkan1.3-compute %s -o - | FileCheck %s --match-full-lines2; RUN: %if spirv-tools %{ llc -O0 -mtriple=spirv1.6-unknown-vulkan1.3-compute %s -o - -filetype=obj | spirv-val %}3 4%"__cblayout_$Globals" = type <{ i32 }>5 6@i = external hidden local_unnamed_addr addrspace(12) global i32, align 47@ReadWriteBuf.str = private unnamed_addr constant [13 x i8] c"ReadWriteBuf\00", align 18@"$Globals.cb" = local_unnamed_addr global target("spirv.VulkanBuffer", %"__cblayout_$Globals", 2, 0) poison9@"$Globals.str" = private unnamed_addr constant [9 x i8] c"$Globals\00", align 110 11; CHECK: OpCapability Shader12; CHECK: OpCapability StorageTexelBufferArrayDynamicIndexingEXT13define void @main() local_unnamed_addr #0 {14entry:15 %"$Globals.cb_h.i.i" = tail call target("spirv.VulkanBuffer", %"__cblayout_$Globals", 2, 0) @llvm.spv.resource.handlefromimplicitbinding(i32 1, i32 0, i32 1, i32 0, ptr nonnull @"$Globals.str")16 store target("spirv.VulkanBuffer", %"__cblayout_$Globals", 2, 0) %"$Globals.cb_h.i.i", ptr @"$Globals.cb", align 817 %0 = load i32, ptr addrspace(12) @i, align 418 %1 = tail call target("spirv.Image", i32, 5, 2, 0, 0, 2, 33) @llvm.spv.resource.handlefromimplicitbinding.tspirv.Image_i32_5_2_0_0_2_33t(i32 0, i32 0, i32 64, i32 %0, ptr nonnull @ReadWriteBuf.str)19 %2 = tail call noundef align 4 dereferenceable(4) ptr addrspace(11) @llvm.spv.resource.getpointer.p11.tspirv.Image_i32_5_2_0_0_2_33t(target("spirv.Image", i32, 5, 2, 0, 0, 2, 33) %1, i32 98)20 store i32 99, ptr addrspace(11) %2, align 421 ret void22}23 24!hlsl.cbs = !{!0}25 26!0 = !{ptr @"$Globals.cb", ptr addrspace(12) @i}27