Files
OpenCL-CTS/test_conformance/spirv_new/spirv_txt/label_simple.spvasm64
Kevin Petit 05a11d8e49 Synchronise with Khronos-private Gitlab branch
The maintenance of the conformance tests is moving to Github.

This commit contains all the changes that have been done in
Gitlab since the first public release of the conformance tests.

Signed-off-by: Kevin Petit kevin.petit@arm.com
2019-03-05 16:24:34 +00:00

36 lines
1.6 KiB
Plaintext

OpCapability Addresses
OpCapability Linkage
OpCapability Kernel
OpCapability Int64
OpMemoryModel Physical64 OpenCL
OpEntryPoint Kernel %func "label_simple"
OpName %inptr "in"
OpName %outptr "out"
OpDecorate %global_id BuiltIn GlobalInvocationId
OpDecorate %global_id Constant
OpDecorate %inptr FuncParamAttr NoCapture
OpDecorate %global_id LinkageAttributes "__spirv_GlobalInvocationId" Import
%idx_t = OpTypeInt 64 0
%idx3_t = OpTypeVector %idx_t 3
%idx3_ptr_t = OpTypePointer UniformConstant %idx3_t
%shift_val = OpConstant %idx_t 32
%void_t = OpTypeVoid
%int_t = OpTypeInt 32 0
%int_ptr_t = OpTypePointer CrossWorkgroup %int_t
%func_t = OpTypeFunction %void_t %int_ptr_t %int_ptr_t
%global_id = OpVariable %idx3_ptr_t UniformConstant
%func = OpFunction %void_t None %func_t
%inptr = OpFunctionParameter %int_ptr_t
%outptr = OpFunctionParameter %int_ptr_t
%entry = OpLabel
%idx3 = OpLoad %idx3_t %global_id Aligned 0
%idx_tmp = OpCompositeExtract %idx_t %idx3 0
%idx_shift = OpShiftLeftLogical %idx_t %idx_tmp %shift_val
%idx = OpShiftRightArithmetic %idx_t %idx_shift %shift_val
%current_in = OpInBoundsPtrAccessChain %int_ptr_t %inptr %idx
%current_out = OpInBoundsPtrAccessChain %int_ptr_t %outptr %idx
%val = OpLoad %int_t %current_in
OpStore %current_out %val
OpReturn
OpFunctionEnd