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
47 lines
2.1 KiB
Plaintext
47 lines
2.1 KiB
Plaintext
; Tests the Nontemporal image operand that was added for SPIR-V 1.6.
|
|
|
|
; REQUIRES: spirv-as
|
|
; RUN: spirv-as --target-env spv1.6 -o %t.spv %s
|
|
; RUN: spirv-val %t.spv
|
|
; RUN: llvm-spirv -r %t.spv -o %t.rev.bc
|
|
; RUN: llvm-dis %t.rev.bc
|
|
; RUN: FileCheck < %t.rev.ll %s --check-prefix=CHECK-LLVM
|
|
|
|
OpCapability Addresses
|
|
OpCapability Kernel
|
|
OpCapability ImageBasic
|
|
OpCapability LiteralSampler
|
|
OpMemoryModel Physical64 OpenCL
|
|
OpEntryPoint Kernel %kernel "read_write_image_nontemporal"
|
|
%uint = OpTypeInt 32 0
|
|
%void = OpTypeVoid
|
|
%read_image2d_t = OpTypeImage %void 2D 0 0 0 0 Unknown ReadOnly
|
|
%write_image2d_t = OpTypeImage %void 2D 0 0 0 0 Unknown WriteOnly
|
|
%sampler_t = OpTypeSampler
|
|
%kernel_sig = OpTypeFunction %void %read_image2d_t %write_image2d_t
|
|
%sampledimage_t = OpTypeSampledImage %read_image2d_t
|
|
%v2uint = OpTypeVector %uint 2
|
|
%float = OpTypeFloat 32
|
|
%v4float = OpTypeVector %float 4
|
|
%sampler = OpConstantSampler %sampler_t None 0 Nearest
|
|
%coord_0_0 = OpConstantNull %v2uint
|
|
%float_0 = OpConstant %float 0
|
|
%kernel = OpFunction %void None %kernel_sig
|
|
%src = OpFunctionParameter %read_image2d_t
|
|
%dst = OpFunctionParameter %write_image2d_t
|
|
%entry = OpLabel
|
|
%si = OpSampledImage %sampledimage_t %src %sampler
|
|
%data0 = OpImageSampleExplicitLod %v4float %si %coord_0_0 Lod %float_0
|
|
OpImageWrite %dst %coord_0_0 %data0
|
|
%data1 = OpImageSampleExplicitLod %v4float %si %coord_0_0 Lod|Nontemporal %float_0
|
|
OpImageWrite %dst %coord_0_0 %data1 Nontemporal
|
|
OpReturn
|
|
OpFunctionEnd
|
|
|
|
; CHECK-LLVM: define spir_kernel void @read_write_image_nontemporal
|
|
; CHECK-LLVM: call spir_func <4 x float> [[READ_IMAGEF:@[a-zA-Z0-9_]+]](
|
|
; CHECK-LLVM: call spir_func void [[WRITE_IMAGEF:@[a-zA-Z0-9_]+]](
|
|
; CHECK-LLVM: call spir_func <4 x float> [[READ_IMAGEF]]({{.*}}){{.*}} !spirv.nontemporal [[NONTEMPMD:![0-9]+]]
|
|
; CHECK-LLVM: call spir_func void [[WRITE_IMAGEF]]({{.*}}){{.*}} !spirv.nontemporal [[NONTEMPMD]]
|
|
; CHECK-LLVM: [[NONTEMPMD]] = !{i32 1}
|