forked from KhronosGroup/OpenCL-CTS
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Added cl_khr_fp16 extension support for test_op_vector_insert from sp…
…irv_new (issue KhronosGroup#142)
- Loading branch information
Showing
2 changed files
with
91 additions
and
0 deletions.
There are no files selected for viewing
43 changes: 43 additions & 0 deletions
43
test_conformance/spirv_new/spirv_asm/vector_half8_insert.spvasm32
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,43 @@ | ||
; SPIR-V | ||
; Version: 1.0 | ||
; Generator: Khronos SPIR-V Tools Assembler; 0 | ||
; Bound: 23 | ||
; Schema: 0 | ||
OpCapability Addresses | ||
OpCapability Linkage | ||
OpCapability Kernel | ||
OpCapability Vector16 | ||
OpCapability Float16 | ||
OpMemoryModel Physical32 OpenCL | ||
OpEntryPoint Kernel %1 "vector_half8_insert" %gl_GlobalInvocationID | ||
OpName %in "in" | ||
OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId | ||
OpDecorate %gl_GlobalInvocationID Constant | ||
OpDecorate %in FuncParamAttr NoCapture | ||
OpDecorate %4 FuncParamAttr NoCapture | ||
OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import | ||
%uint = OpTypeInt 32 0 | ||
%v3uint = OpTypeVector %uint 3 | ||
%_ptr_Input_v3uint = OpTypePointer Input %v3uint | ||
%void = OpTypeVoid | ||
%half = OpTypeFloat 16 | ||
%v8half = OpTypeVector %half 8 | ||
%_ptr_CrossWorkgroup_half = OpTypePointer CrossWorkgroup %half | ||
%_ptr_CrossWorkgroup_v8half = OpTypePointer CrossWorkgroup %v8half | ||
%13 = OpTypeFunction %void %_ptr_CrossWorkgroup_half %_ptr_CrossWorkgroup_v8half %uint | ||
%gl_GlobalInvocationID = OpVariable %_ptr_Input_v3uint Input | ||
%1 = OpFunction %void None %13 | ||
%in = OpFunctionParameter %_ptr_CrossWorkgroup_half | ||
%4 = OpFunctionParameter %_ptr_CrossWorkgroup_v8half | ||
%14 = OpFunctionParameter %uint | ||
%15 = OpLabel | ||
%16 = OpLoad %v3uint %gl_GlobalInvocationID Aligned 0 | ||
%17 = OpCompositeExtract %uint %16 0 | ||
%18 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_half %in %17 | ||
%19 = OpLoad %half %18 | ||
%20 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_v8half %4 %17 | ||
%21 = OpLoad %v8half %20 | ||
%22 = OpVectorInsertDynamic %v8half %21 %19 %14 | ||
OpStore %20 %22 | ||
OpReturn | ||
OpFunctionEnd |
48 changes: 48 additions & 0 deletions
48
test_conformance/spirv_new/spirv_asm/vector_half8_insert.spvasm64
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,48 @@ | ||
; SPIR-V | ||
; Version: 1.0 | ||
; Generator: Khronos SPIR-V Tools Assembler; 0 | ||
; Bound: 27 | ||
; Schema: 0 | ||
OpCapability Addresses | ||
OpCapability Linkage | ||
OpCapability Kernel | ||
OpCapability Int64 | ||
OpCapability Vector16 | ||
OpCapability Float16 | ||
OpMemoryModel Physical64 OpenCL | ||
OpEntryPoint Kernel %1 "vector_half8_insert" %gl_GlobalInvocationID | ||
OpName %in "in" | ||
OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId | ||
OpDecorate %gl_GlobalInvocationID Constant | ||
OpDecorate %in FuncParamAttr NoCapture | ||
OpDecorate %4 FuncParamAttr NoCapture | ||
OpDecorate %gl_GlobalInvocationID LinkageAttributes "__spirv_GlobalInvocationId" Import | ||
%ulong = OpTypeInt 64 0 | ||
%v3ulong = OpTypeVector %ulong 3 | ||
%_ptr_Input_v3ulong = OpTypePointer Input %v3ulong | ||
%ulong_32 = OpConstant %ulong 32 | ||
%uint = OpTypeInt 32 0 | ||
%void = OpTypeVoid | ||
%half = OpTypeFloat 16 | ||
%v8half = OpTypeVector %half 8 | ||
%_ptr_CrossWorkgroup_half = OpTypePointer CrossWorkgroup %half | ||
%_ptr_CrossWorkgroup_v8half = OpTypePointer CrossWorkgroup %v8half | ||
%15 = OpTypeFunction %void %_ptr_CrossWorkgroup_half %_ptr_CrossWorkgroup_v8half %uint | ||
%gl_GlobalInvocationID = OpVariable %_ptr_Input_v3ulong Input | ||
%1 = OpFunction %void None %15 | ||
%in = OpFunctionParameter %_ptr_CrossWorkgroup_half | ||
%4 = OpFunctionParameter %_ptr_CrossWorkgroup_v8half | ||
%16 = OpFunctionParameter %uint | ||
%17 = OpLabel | ||
%18 = OpLoad %v3ulong %gl_GlobalInvocationID Aligned 0 | ||
%19 = OpCompositeExtract %ulong %18 0 | ||
%20 = OpShiftLeftLogical %ulong %19 %ulong_32 | ||
%21 = OpShiftRightArithmetic %ulong %20 %ulong_32 | ||
%22 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_half %in %21 | ||
%23 = OpLoad %half %22 | ||
%24 = OpInBoundsPtrAccessChain %_ptr_CrossWorkgroup_v8half %4 %21 | ||
%25 = OpLoad %v8half %24 | ||
%26 = OpVectorInsertDynamic %v8half %25 %23 %16 | ||
OpStore %24 %26 | ||
OpReturn | ||
OpFunctionEnd |