blob: c76bccc838fe1271b73e6b57ff1887bf48fd97ef [file] [log] [blame]
; SPIR-V
; Version: 1.0
; Generator: Khronos LLVM/SPIR-V Translator; 14
; Bound: 28
; Schema: 0
OpCapability Addresses
OpCapability Linkage
OpCapability Kernel
OpCapability Int8
%1 = OpExtInstImport "OpenCL.std"
OpMemoryModel Physical64 OpenCL
OpEntryPoint Kernel %11 "spec_const_kernel"
%27 = OpString "kernel_arg_type.spec_const_kernel.uchar*,"
OpSource OpenCL_C 102000
OpName %test_value "test_value"
OpName %entry "entry"
OpName %output_value "output_value"
OpName %entry_0 "entry"
OpName %if_then "if.then"
OpName %if_end "if.end"
OpDecorate %test_value FuncParamAttr Zext
OpDecorate %test_value LinkageAttributes "test_value" Export
OpDecorate %false SpecId 101
%uchar = OpTypeInt 8 0
%uint = OpTypeInt 32 0
%uchar_0 = OpConstant %uchar 0
%uchar_1 = OpConstant %uchar 1
%uint_1 = OpConstant %uint 1
%bool = OpTypeBool
%3 = OpTypeFunction %bool
%void = OpTypeVoid
%_ptr_CrossWorkgroup_uchar = OpTypePointer CrossWorkgroup %uchar
%10 = OpTypeFunction %void %_ptr_CrossWorkgroup_uchar
%false = OpSpecConstantFalse %bool
%test_value = OpFunction %bool None %3
%entry = OpLabel
OpReturnValue %false
OpFunctionEnd
%11 = OpFunction %void None %10
%output_value = OpFunctionParameter %_ptr_CrossWorkgroup_uchar
%entry_0 = OpLabel
%call = OpFunctionCall %bool %test_value
%frombool = OpSelect %uchar %call %uchar_1 %uchar_0
%tobool = OpINotEqual %bool %frombool %uchar_0
OpBranchConditional %tobool %if_then %if_end
%if_then = OpLabel
%21 = OpLoad %uchar %output_value Aligned 1
%conv = OpUConvert %uint %21
%add = OpIAdd %uint %conv %uint_1
%conv1 = OpUConvert %uchar %add
OpStore %output_value %conv1 Aligned 1
OpBranch %if_end
%if_end = OpLabel
OpReturn
OpFunctionEnd