CodeQL / Analyze (actions) (push) Canceled after 0s
CodeQL / Analyze (python) (push) Canceled after 0s
pre-commit / pre-commit (push) Canceled after 0s
Multi-Arch CI / setup (push) Canceled after 0s
Publish build_manylinux_x86_64 images / publish_build_manylinux_x86_64 (push) Canceled after 0s
Setup (Multi-Arch) / setup (push) Canceled after 0s
Multi-Arch CI / Linux::${{ fromJSON(needs.setup.outputs.linux_build_config || '{}').build_variant_label || 'skip' }} (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Publish no_rocm_image_ubi10 image / publish_no_rocm_image_ubi10 (push) Canceled after 0s
Multi-Arch CI / Windows::${{ fromJSON(needs.setup.outputs.windows_build_config || '{}').build_variant_label || 'skip' }} (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Multi-Arch CI / Manifest Diff (push) Canceled after 0s
TheRock Manifest Diff Report / Generate Manifest Diff Report (push) Canceled after 0s
Multi-Arch CI / CI Summary (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04 (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04_ocl_rt images / publish_no_rocm_image_ubuntu24_04_ocl_rt (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_rocgdb (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04_rocgdb images / publish_no_rocm_image_ubuntu24_04_rocgdb (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_ocl_rt (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Unit Tests / Unit Tests :: ubuntu-24.04 (push) Canceled after 0s
Unit Tests / Unit Tests :: windows-2022 (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_media (push) Canceled after 0s
Unit Tests / Unit Tests Summary (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_openmpi (push) Canceled after 0s
81 lines
6.1 KiB
LLVM
81 lines
6.1 KiB
LLVM
; RUN: llc -O0 -verify-machineinstrs -mtriple=spirv1.6-vulkan1.3-library %s -o - | FileCheck %s
|
|
; RUN: %if spirv-tools %{ llc -O0 -mtriple=spirv1.6-vulkan1.3-library %s -o - -filetype=obj | spirv-val --target-env vulkan1.3 %}
|
|
|
|
@.str = private unnamed_addr constant [2 x i8] c"b\00", align 1
|
|
@.str.2 = private unnamed_addr constant [2 x i8] c"c\00", align 1
|
|
@.str.4 = private unnamed_addr constant [2 x i8] c"d\00", align 1
|
|
@.str.6 = private unnamed_addr constant [2 x i8] c"e\00", align 1
|
|
@.str.8 = private unnamed_addr constant [2 x i8] c"f\00", align 1
|
|
@.str.10 = private unnamed_addr constant [2 x i8] c"g\00", align 1
|
|
@.str.12 = private unnamed_addr constant [2 x i8] c"h\00", align 1
|
|
@.str.14 = private unnamed_addr constant [2 x i8] c"i\00", align 1
|
|
|
|
; CHECK-DAG: OpName [[b:%[0-9]+]] "b"
|
|
; CHECK-DAG: OpName [[c:%[0-9]+]] "c"
|
|
; CHECK-DAG: OpName [[d:%[0-9]+]] "d"
|
|
; CHECK-DAG: OpName [[e:%[0-9]+]] "e"
|
|
; CHECK-DAG: OpName [[f:%[0-9]+]] "f"
|
|
; CHECK-DAG: OpName [[g:%[0-9]+]] "g"
|
|
; CHECK-DAG: OpName [[h:%[0-9]+]] "h"
|
|
; CHECK-DAG: OpName [[i:%[0-9]+]] "i"
|
|
; CHECK-DAG: OpDecorate [[b]] DescriptorSet 0
|
|
; CHECK-DAG: OpDecorate [[b]] Binding 1
|
|
; CHECK-DAG: OpDecorate [[c]] DescriptorSet 0
|
|
; CHECK-DAG: OpDecorate [[c]] Binding 0
|
|
; CHECK-DAG: OpDecorate [[d]] DescriptorSet 0
|
|
; CHECK-DAG: OpDecorate [[d]] Binding 3
|
|
; CHECK-DAG: OpDecorate [[e]] DescriptorSet 0
|
|
; CHECK-DAG: OpDecorate [[e]] Binding 2
|
|
; CHECK-DAG: OpDecorate [[f]] DescriptorSet 10
|
|
; CHECK-DAG: OpDecorate [[f]] Binding 1
|
|
; CHECK-DAG: OpDecorate [[g]] DescriptorSet 10
|
|
; CHECK-DAG: OpDecorate [[g]] Binding 0
|
|
; CHECK-DAG: OpDecorate [[h]] DescriptorSet 10
|
|
; CHECK-DAG: OpDecorate [[h]] Binding 3
|
|
; CHECK-NOT: OpDecorate [[h]] Binding 4
|
|
; CHECK-DAG: OpDecorate [[i]] DescriptorSet 10
|
|
; CHECK-DAG: OpDecorate [[i]] Binding 2
|
|
|
|
|
|
define void @main() local_unnamed_addr #0 {
|
|
entry:
|
|
%0 = tail call target("spirv.SignedImage", i32, 5, 2, 0, 0, 2, 0) @llvm.spv.resource.handlefromimplicitbinding.tspirv.SignedImage_i32_5_2_0_0_2_0t(i32 0, i32 0, i32 1, i32 0, ptr nonnull @.str)
|
|
%1 = tail call target("spirv.SignedImage", i32, 5, 2, 0, 0, 2, 0) @llvm.spv.resource.handlefrombinding.tspirv.SignedImage_i32_5_2_0_0_2_0t(i32 0, i32 0, i32 1, i32 0, ptr nonnull @.str.2)
|
|
%2 = tail call target("spirv.SignedImage", i32, 5, 2, 0, 0, 2, 0) @llvm.spv.resource.handlefromimplicitbinding.tspirv.SignedImage_i32_5_2_0_0_2_0t(i32 1, i32 0, i32 1, i32 0, ptr nonnull @.str.4)
|
|
%3 = tail call target("spirv.SignedImage", i32, 5, 2, 0, 0, 2, 0) @llvm.spv.resource.handlefrombinding.tspirv.SignedImage_i32_5_2_0_0_2_0t(i32 0, i32 2, i32 1, i32 0, ptr nonnull @.str.6)
|
|
%4 = tail call target("spirv.SignedImage", i32, 5, 2, 0, 0, 2, 0) @llvm.spv.resource.handlefrombinding.tspirv.SignedImage_i32_5_2_0_0_2_0t(i32 10, i32 1, i32 1, i32 0, ptr nonnull @.str.8)
|
|
%5 = tail call target("spirv.SignedImage", i32, 5, 2, 0, 0, 2, 0) @llvm.spv.resource.handlefromimplicitbinding.tspirv.SignedImage_i32_5_2_0_0_2_0t(i32 2, i32 10, i32 1, i32 0, ptr nonnull @.str.10)
|
|
%6 = tail call target("spirv.SignedImage", i32, 5, 2, 0, 0, 2, 0) @llvm.spv.resource.handlefromimplicitbinding.tspirv.SignedImage_i32_5_2_0_0_2_0t(i32 3, i32 10, i32 2, i32 0, ptr nonnull @.str.12)
|
|
%7 = tail call target("spirv.SignedImage", i32, 5, 2, 0, 0, 2, 0) @llvm.spv.resource.handlefromimplicitbinding.tspirv.SignedImage_i32_5_2_0_0_2_0t(i32 3, i32 10, i32 2, i32 1, ptr nonnull @.str.12)
|
|
%8 = tail call target("spirv.SignedImage", i32, 5, 2, 0, 0, 2, 0) @llvm.spv.resource.handlefrombinding.tspirv.SignedImage_i32_5_2_0_0_2_0t(i32 10, i32 2, i32 1, i32 0, ptr nonnull @.str.14)
|
|
%9 = tail call noundef align 4 dereferenceable(4) ptr addrspace(11) @llvm.spv.resource.getpointer.p11.tspirv.SignedImage_i32_5_2_0_0_2_0t(target("spirv.SignedImage", i32, 5, 2, 0, 0, 2, 0) %1, i32 0)
|
|
%10 = load i32, ptr addrspace(11) %9, align 4
|
|
%11 = tail call noundef align 4 dereferenceable(4) ptr addrspace(11) @llvm.spv.resource.getpointer.p11.tspirv.SignedImage_i32_5_2_0_0_2_0t(target("spirv.SignedImage", i32, 5, 2, 0, 0, 2, 0) %2, i32 0)
|
|
%12 = load i32, ptr addrspace(11) %11, align 4
|
|
%add.i = add nsw i32 %12, %10
|
|
%13 = tail call noundef align 4 dereferenceable(4) ptr addrspace(11) @llvm.spv.resource.getpointer.p11.tspirv.SignedImage_i32_5_2_0_0_2_0t(target("spirv.SignedImage", i32, 5, 2, 0, 0, 2, 0) %3, i32 0)
|
|
%14 = load i32, ptr addrspace(11) %13, align 4
|
|
%add4.i = add nsw i32 %add.i, %14
|
|
%15 = tail call noundef align 4 dereferenceable(4) ptr addrspace(11) @llvm.spv.resource.getpointer.p11.tspirv.SignedImage_i32_5_2_0_0_2_0t(target("spirv.SignedImage", i32, 5, 2, 0, 0, 2, 0) %4, i32 0)
|
|
%16 = load i32, ptr addrspace(11) %15, align 4
|
|
%add6.i = add nsw i32 %add4.i, %16
|
|
%17 = tail call noundef align 4 dereferenceable(4) ptr addrspace(11) @llvm.spv.resource.getpointer.p11.tspirv.SignedImage_i32_5_2_0_0_2_0t(target("spirv.SignedImage", i32, 5, 2, 0, 0, 2, 0) %5, i32 0)
|
|
%18 = load i32, ptr addrspace(11) %17, align 4
|
|
%add8.i = add nsw i32 %add6.i, %18
|
|
%19 = tail call noundef align 4 dereferenceable(4) ptr addrspace(11) @llvm.spv.resource.getpointer.p11.tspirv.SignedImage_i32_5_2_0_0_2_0t(target("spirv.SignedImage", i32, 5, 2, 0, 0, 2, 0) %6, i32 0)
|
|
%20 = load i32, ptr addrspace(11) %19, align 4
|
|
%add10.i = add nsw i32 %add8.i, %20
|
|
%21 = tail call noundef align 4 dereferenceable(4) ptr addrspace(11) @llvm.spv.resource.getpointer.p11.tspirv.SignedImage_i32_5_2_0_0_2_0t(target("spirv.SignedImage", i32, 5, 2, 0, 0, 2, 0) %7, i32 0)
|
|
%22 = load i32, ptr addrspace(11) %21, align 4
|
|
%add12.i = add nsw i32 %add10.i, %22
|
|
%23 = tail call noundef align 4 dereferenceable(4) ptr addrspace(11) @llvm.spv.resource.getpointer.p11.tspirv.SignedImage_i32_5_2_0_0_2_0t(target("spirv.SignedImage", i32, 5, 2, 0, 0, 2, 0) %8, i32 0)
|
|
%24 = load i32, ptr addrspace(11) %23, align 4
|
|
%add14.i = add nsw i32 %add12.i, %24
|
|
%25 = tail call noundef align 4 dereferenceable(4) ptr addrspace(11) @llvm.spv.resource.getpointer.p11.tspirv.SignedImage_i32_5_2_0_0_2_0t(target("spirv.SignedImage", i32, 5, 2, 0, 0, 2, 0) %0, i32 0)
|
|
store i32 %add14.i, ptr addrspace(11) %25, align 4
|
|
ret void
|
|
}
|
|
|
|
|
|
attributes #0 = { "hlsl.numthreads"="1,1,1" "hlsl.shader"="compute" }
|