-
-
Save karolherbst/c33fa9233b0fb3628a7b99b3f7194bd1 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
; SPIR-V | |
; Version: 1.0 | |
; Generator: Khronos LLVM/SPIR-V Translator; 14 | |
; Bound: 39 | |
; Schema: 0 | |
OpCapability Addresses | |
OpCapability Linkage | |
OpCapability Kernel | |
OpCapability Int64 | |
%1 = OpExtInstImport "OpenCL.std" | |
OpMemoryModel Physical64 OpenCL | |
OpEntryPoint Kernel %32 "CopyBuffer" %__spirv_BuiltInGlobalInvocationId | |
%37 = OpString "kernel_arg_type.CopyBuffer.float*,float*," | |
%38 = OpString "kernel_arg_type_qual.CopyBuffer.,," | |
OpSource OpenCL_C 300000 | |
OpName %__spirv_BuiltInGlobalInvocationId "__spirv_BuiltInGlobalInvocationId" | |
OpName %CopyBuffer "CopyBuffer" | |
OpName %src "src" | |
OpName %dst "dst" | |
OpName %entry "entry" | |
OpName %src_addr "src.addr" | |
OpName %dst_addr "dst.addr" | |
OpName %id "id" | |
OpName %call "call" | |
OpName %conv "conv" | |
OpName %idxprom "idxprom" | |
OpName %arrayidx "arrayidx" | |
OpName %idxprom1 "idxprom1" | |
OpName %arrayidx2 "arrayidx2" | |
OpName %src_0 "src" | |
OpName %dst_0 "dst" | |
OpDecorate %__spirv_BuiltInGlobalInvocationId LinkageAttributes "__spirv_BuiltInGlobalInvocationId" Import | |
OpDecorate %__spirv_BuiltInGlobalInvocationId Constant | |
OpDecorate %__spirv_BuiltInGlobalInvocationId BuiltIn GlobalInvocationId | |
OpDecorate %CopyBuffer LinkageAttributes "CopyBuffer" Export | |
OpDecorate %src Alignment 4 | |
OpDecorate %dst Alignment 4 | |
OpDecorate %src_addr Alignment 8 | |
OpDecorate %dst_addr Alignment 8 | |
OpDecorate %id Alignment 4 | |
OpDecorate %src_0 Alignment 4 | |
OpDecorate %dst_0 Alignment 4 | |
%ulong = OpTypeInt 64 0 | |
%uint = OpTypeInt 32 0 | |
%v3ulong = OpTypeVector %ulong 3 | |
%_ptr_Input_v3ulong = OpTypePointer Input %v3ulong | |
%void = OpTypeVoid | |
%float = OpTypeFloat 32 | |
%_ptr_CrossWorkgroup_float = OpTypePointer CrossWorkgroup %float | |
%9 = OpTypeFunction %void %_ptr_CrossWorkgroup_float %_ptr_CrossWorkgroup_float | |
%_ptr_Function__ptr_CrossWorkgroup_float = OpTypePointer Function %_ptr_CrossWorkgroup_float | |
%_ptr_Function_uint = OpTypePointer Function %uint | |
%__spirv_BuiltInGlobalInvocationId = OpVariable %_ptr_Input_v3ulong Input | |
%CopyBuffer = OpFunction %void DontInline %9 | |
%src = OpFunctionParameter %_ptr_CrossWorkgroup_float | |
%dst = OpFunctionParameter %_ptr_CrossWorkgroup_float | |
%entry = OpLabel | |
%src_addr = OpVariable %_ptr_Function__ptr_CrossWorkgroup_float Function | |
%dst_addr = OpVariable %_ptr_Function__ptr_CrossWorkgroup_float Function | |
%id = OpVariable %_ptr_Function_uint Function | |
OpStore %src_addr %src Aligned 8 | |
OpStore %dst_addr %dst Aligned 8 | |
%20 = OpLoad %v3ulong %__spirv_BuiltInGlobalInvocationId Aligned 32 | |
%call = OpCompositeExtract %ulong %20 0 | |
%conv = OpUConvert %uint %call | |
OpStore %id %conv Aligned 4 | |
%23 = OpLoad %_ptr_CrossWorkgroup_float %src_addr Aligned 8 | |
%24 = OpLoad %uint %id Aligned 4 | |
%idxprom = OpSConvert %ulong %24 | |
%arrayidx = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_float %23 %idxprom | |
%27 = OpLoad %float %arrayidx Aligned 4 | |
%28 = OpLoad %_ptr_CrossWorkgroup_float %dst_addr Aligned 8 | |
%29 = OpLoad %uint %id Aligned 4 | |
%idxprom1 = OpSConvert %ulong %29 | |
%arrayidx2 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_float %28 %idxprom1 | |
OpStore %arrayidx2 %27 Aligned 4 | |
OpReturn | |
OpFunctionEnd | |
%32 = OpFunction %void DontInline %9 | |
%src_0 = OpFunctionParameter %_ptr_CrossWorkgroup_float | |
%dst_0 = OpFunctionParameter %_ptr_CrossWorkgroup_float | |
%35 = OpLabel | |
%36 = OpFunctionCall %void %CopyBuffer %src_0 %dst_0 | |
OpReturn | |
OpFunctionEnd | |
; SPIR-V | |
; Version: 1.0 | |
; Generator: Khronos LLVM/SPIR-V Translator; 14 | |
; Bound: 26 | |
; Schema: 0 | |
OpCapability Addresses | |
OpCapability Linkage | |
OpCapability Kernel | |
%1 = OpExtInstImport "OpenCL.std" | |
OpMemoryModel Physical64 OpenCL | |
OpEntryPoint Kernel %19 "AnotherCopyBuffer" | |
OpExecutionMode %19 ContractionOff | |
%24 = OpString "kernel_arg_type.AnotherCopyBuffer.float*,float*," | |
%25 = OpString "kernel_arg_type_qual.AnotherCopyBuffer.,," | |
OpSource OpenCL_C 300000 | |
OpName %CopyBuffer "CopyBuffer" | |
OpName %AnotherCopyBuffer "AnotherCopyBuffer" | |
OpName %src "src" | |
OpName %dst "dst" | |
OpName %entry "entry" | |
OpName %src_addr "src.addr" | |
OpName %dst_addr "dst.addr" | |
OpName %src_0 "src" | |
OpName %dst_0 "dst" | |
OpDecorate %CopyBuffer LinkageAttributes "CopyBuffer" Import | |
OpDecorate %7 Alignment 4 | |
OpDecorate %8 Alignment 4 | |
OpDecorate %AnotherCopyBuffer LinkageAttributes "AnotherCopyBuffer" Export | |
OpDecorate %src Alignment 4 | |
OpDecorate %dst Alignment 4 | |
OpDecorate %src_addr Alignment 8 | |
OpDecorate %dst_addr Alignment 8 | |
OpDecorate %src_0 Alignment 4 | |
OpDecorate %dst_0 Alignment 4 | |
%void = OpTypeVoid | |
%float = OpTypeFloat 32 | |
%_ptr_CrossWorkgroup_float = OpTypePointer CrossWorkgroup %float | |
%5 = OpTypeFunction %void %_ptr_CrossWorkgroup_float %_ptr_CrossWorkgroup_float | |
%_ptr_Function__ptr_CrossWorkgroup_float = OpTypePointer Function %_ptr_CrossWorkgroup_float | |
%CopyBuffer = OpFunction %void None %5 | |
%7 = OpFunctionParameter %_ptr_CrossWorkgroup_float | |
%8 = OpFunctionParameter %_ptr_CrossWorkgroup_float | |
OpFunctionEnd | |
%AnotherCopyBuffer = OpFunction %void DontInline %5 | |
%src = OpFunctionParameter %_ptr_CrossWorkgroup_float | |
%dst = OpFunctionParameter %_ptr_CrossWorkgroup_float | |
%entry = OpLabel | |
%src_addr = OpVariable %_ptr_Function__ptr_CrossWorkgroup_float Function | |
%dst_addr = OpVariable %_ptr_Function__ptr_CrossWorkgroup_float Function | |
OpStore %src_addr %src Aligned 8 | |
OpStore %dst_addr %dst Aligned 8 | |
%16 = OpLoad %_ptr_CrossWorkgroup_float %src_addr Aligned 8 | |
%17 = OpLoad %_ptr_CrossWorkgroup_float %dst_addr Aligned 8 | |
%18 = OpFunctionCall %void %CopyBuffer %16 %17 | |
OpReturn | |
OpFunctionEnd | |
%19 = OpFunction %void DontInline %5 | |
%src_0 = OpFunctionParameter %_ptr_CrossWorkgroup_float | |
%dst_0 = OpFunctionParameter %_ptr_CrossWorkgroup_float | |
%22 = OpLabel | |
%23 = OpFunctionCall %void %AnotherCopyBuffer %src_0 %dst_0 | |
OpReturn | |
OpFunctionEnd | |
; SPIR-V | |
; Version: 1.0 | |
; Generator: Khronos SPIR-V Tools Linker; 0 | |
; Bound: 55 | |
; Schema: 0 | |
OpCapability Addresses | |
OpCapability Kernel | |
OpCapability Int64 | |
%1 = OpExtInstImport "OpenCL.std" | |
OpMemoryModel Physical64 OpenCL | |
OpEntryPoint Kernel %2 "CopyBuffer" %__spirv_BuiltInGlobalInvocationId | |
OpEntryPoint Kernel %4 "AnotherCopyBuffer" | |
OpExecutionMode %4 ContractionOff | |
%5 = OpString "kernel_arg_type.CopyBuffer.float*,float*," | |
%6 = OpString "kernel_arg_type_qual.CopyBuffer.,," | |
OpSource OpenCL_C 300000 | |
%7 = OpString "kernel_arg_type.AnotherCopyBuffer.float*,float*," | |
%8 = OpString "kernel_arg_type_qual.AnotherCopyBuffer.,," | |
OpSource OpenCL_C 300000 | |
OpName %__spirv_BuiltInGlobalInvocationId "__spirv_BuiltInGlobalInvocationId" | |
OpName %CopyBuffer "CopyBuffer" | |
OpName %src "src" | |
OpName %dst "dst" | |
OpName %entry "entry" | |
OpName %src_addr "src.addr" | |
OpName %dst_addr "dst.addr" | |
OpName %id "id" | |
OpName %call "call" | |
OpName %conv "conv" | |
OpName %idxprom "idxprom" | |
OpName %arrayidx "arrayidx" | |
OpName %idxprom1 "idxprom1" | |
OpName %arrayidx2 "arrayidx2" | |
OpName %src_0 "src" | |
OpName %dst_0 "dst" | |
OpName %AnotherCopyBuffer "AnotherCopyBuffer" | |
OpName %src_1 "src" | |
OpName %dst_1 "dst" | |
OpName %entry_0 "entry" | |
OpName %src_addr_0 "src.addr" | |
OpName %dst_addr_0 "dst.addr" | |
OpName %src_2 "src" | |
OpName %dst_2 "dst" | |
OpDecorate %__spirv_BuiltInGlobalInvocationId Constant | |
OpDecorate %__spirv_BuiltInGlobalInvocationId BuiltIn GlobalInvocationId | |
OpDecorate %src Alignment 4 | |
OpDecorate %dst Alignment 4 | |
OpDecorate %src_addr Alignment 8 | |
OpDecorate %dst_addr Alignment 8 | |
OpDecorate %id Alignment 4 | |
OpDecorate %src_0 Alignment 4 | |
OpDecorate %dst_0 Alignment 4 | |
OpDecorate %src_1 Alignment 4 | |
OpDecorate %dst_1 Alignment 4 | |
OpDecorate %src_addr_0 Alignment 8 | |
OpDecorate %dst_addr_0 Alignment 8 | |
OpDecorate %src_2 Alignment 4 | |
OpDecorate %dst_2 Alignment 4 | |
%ulong = OpTypeInt 64 0 | |
%uint = OpTypeInt 32 0 | |
%v3ulong = OpTypeVector %ulong 3 | |
%_ptr_Input_v3ulong = OpTypePointer Input %v3ulong | |
%void = OpTypeVoid | |
%float = OpTypeFloat 32 | |
%_ptr_CrossWorkgroup_float = OpTypePointer CrossWorkgroup %float | |
%39 = OpTypeFunction %void %_ptr_CrossWorkgroup_float %_ptr_CrossWorkgroup_float | |
%_ptr_Function__ptr_CrossWorkgroup_float = OpTypePointer Function %_ptr_CrossWorkgroup_float | |
%_ptr_Function_uint = OpTypePointer Function %uint | |
%__spirv_BuiltInGlobalInvocationId = OpVariable %_ptr_Input_v3ulong Input | |
%CopyBuffer = OpFunction %void DontInline %39 | |
%src = OpFunctionParameter %_ptr_CrossWorkgroup_float | |
%dst = OpFunctionParameter %_ptr_CrossWorkgroup_float | |
%entry = OpLabel | |
%src_addr = OpVariable %_ptr_Function__ptr_CrossWorkgroup_float Function | |
%dst_addr = OpVariable %_ptr_Function__ptr_CrossWorkgroup_float Function | |
%id = OpVariable %_ptr_Function_uint Function | |
OpStore %src_addr %src Aligned 8 | |
OpStore %dst_addr %dst Aligned 8 | |
%42 = OpLoad %v3ulong %__spirv_BuiltInGlobalInvocationId Aligned 32 | |
%call = OpCompositeExtract %ulong %42 0 | |
%conv = OpUConvert %uint %call | |
OpStore %id %conv Aligned 4 | |
%43 = OpLoad %_ptr_CrossWorkgroup_float %src_addr Aligned 8 | |
%44 = OpLoad %uint %id Aligned 4 | |
%idxprom = OpSConvert %ulong %44 | |
%arrayidx = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_float %43 %idxprom | |
%45 = OpLoad %float %arrayidx Aligned 4 | |
%46 = OpLoad %_ptr_CrossWorkgroup_float %dst_addr Aligned 8 | |
%47 = OpLoad %uint %id Aligned 4 | |
%idxprom1 = OpSConvert %ulong %47 | |
%arrayidx2 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_float %46 %idxprom1 | |
OpStore %arrayidx2 %45 Aligned 4 | |
OpReturn | |
OpFunctionEnd | |
%2 = OpFunction %void DontInline %39 | |
%src_0 = OpFunctionParameter %_ptr_CrossWorkgroup_float | |
%dst_0 = OpFunctionParameter %_ptr_CrossWorkgroup_float | |
%48 = OpLabel | |
%49 = OpFunctionCall %void %CopyBuffer %src_0 %dst_0 | |
OpReturn | |
OpFunctionEnd | |
%AnotherCopyBuffer = OpFunction %void DontInline %39 | |
%src_1 = OpFunctionParameter %_ptr_CrossWorkgroup_float | |
%dst_1 = OpFunctionParameter %_ptr_CrossWorkgroup_float | |
%entry_0 = OpLabel | |
%src_addr_0 = OpVariable %_ptr_Function__ptr_CrossWorkgroup_float Function | |
%dst_addr_0 = OpVariable %_ptr_Function__ptr_CrossWorkgroup_float Function | |
OpStore %src_addr_0 %src_1 Aligned 8 | |
OpStore %dst_addr_0 %dst_1 Aligned 8 | |
%50 = OpLoad %_ptr_CrossWorkgroup_float %src_addr_0 Aligned 8 | |
%51 = OpLoad %_ptr_CrossWorkgroup_float %dst_addr_0 Aligned 8 | |
%52 = OpFunctionCall %void %CopyBuffer %50 %51 | |
OpReturn | |
OpFunctionEnd | |
%4 = OpFunction %void DontInline %39 | |
%src_2 = OpFunctionParameter %_ptr_CrossWorkgroup_float | |
%dst_2 = OpFunctionParameter %_ptr_CrossWorkgroup_float | |
%53 = OpLabel | |
%54 = OpFunctionCall %void %AnotherCopyBuffer %src_2 %dst_2 | |
OpReturn | |
OpFunctionEnd |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment