; SPIR-V
; Version: 1.3
; Generator: Google Tint Compiler; 1
; Bound: 35
; Schema: 0
               OpCapability Shader
               OpCapability Float16
               OpCapability UniformAndStorageBuffer16BitAccess
               OpCapability StorageBuffer16BitAccess
               OpCapability GroupNonUniformShuffleRelative
               OpMemoryModel Logical GLSL450
               OpEntryPoint Fragment %fragment_main "fragment_main"
               OpEntryPoint GLCompute %compute_main "compute_main"
               OpExecutionMode %fragment_main OriginUpperLeft
               OpExecutionMode %compute_main LocalSize 1 1 1
               OpMemberName %tint_symbol_1 0 "tint_symbol"
               OpName %tint_symbol_1 "tint_symbol_1"
               OpName %subgroupShuffleDown_57b1e8 "subgroupShuffleDown_57b1e8"
               OpName %arg_0 "arg_0"
               OpName %arg_1 "arg_1"
               OpName %res "res"
               OpName %fragment_main "fragment_main"
               OpName %compute_main "compute_main"
               OpMemberDecorate %tint_symbol_1 0 Offset 0
               OpDecorate %tint_symbol_1 Block
               OpDecorate %1 DescriptorSet 0
               OpDecorate %1 Binding 0
               OpDecorate %1 Coherent
       %half = OpTypeFloat 16
     %v2half = OpTypeVector %half 2
%tint_symbol_1 = OpTypeStruct %v2half
%_ptr_StorageBuffer_tint_symbol_1 = OpTypePointer StorageBuffer %tint_symbol_1
          %1 = OpVariable %_ptr_StorageBuffer_tint_symbol_1 StorageBuffer
          %7 = OpTypeFunction %v2half
%_ptr_Function_v2half = OpTypePointer Function %v2half
%half_0x1p_0 = OpConstant %half 0x1p+0
         %11 = OpConstantComposite %v2half %half_0x1p_0 %half_0x1p_0
       %uint = OpTypeInt 32 0
%_ptr_Function_uint = OpTypePointer Function %uint
     %uint_1 = OpConstant %uint 1
     %uint_3 = OpConstant %uint 3
       %void = OpTypeVoid
         %25 = OpTypeFunction %void
%_ptr_StorageBuffer_v2half = OpTypePointer StorageBuffer %v2half
     %uint_0 = OpConstant %uint 0
%subgroupShuffleDown_57b1e8 = OpFunction %v2half None %7
          %8 = OpLabel
      %arg_0 = OpVariable %_ptr_Function_v2half Function
      %arg_1 = OpVariable %_ptr_Function_uint Function
        %res = OpVariable %_ptr_Function_v2half Function
               OpStore %arg_0 %11
               OpStore %arg_1 %uint_1
         %17 = OpLoad %v2half %arg_0 None
         %18 = OpLoad %uint %arg_1 None
         %19 = OpGroupNonUniformShuffleDown %v2half %uint_3 %17 %18
               OpStore %res %19
         %22 = OpLoad %v2half %res None
               OpReturnValue %22
               OpFunctionEnd
%fragment_main = OpFunction %void None %25
         %26 = OpLabel
         %27 = OpFunctionCall %v2half %subgroupShuffleDown_57b1e8
         %28 = OpAccessChain %_ptr_StorageBuffer_v2half %1 %uint_0
               OpStore %28 %27 None
               OpReturn
               OpFunctionEnd
%compute_main = OpFunction %void None %25
         %32 = OpLabel
         %33 = OpFunctionCall %v2half %subgroupShuffleDown_57b1e8
         %34 = OpAccessChain %_ptr_StorageBuffer_v2half %1 %uint_0
               OpStore %34 %33 None
               OpReturn
               OpFunctionEnd
