; SPIR-V
; Version: 1.3
; Generator: rspirv
; Bound: 54
OpCapability Shader
OpCapability GroupNonUniform
OpCapability GroupNonUniformBallot
OpCapability GroupNonUniformVote
OpCapability GroupNonUniformArithmetic
OpCapability GroupNonUniformShuffle
OpCapability GroupNonUniformShuffleRelative
%1 = OpExtInstImport "GLSL.std.450"
OpMemoryModel Logical GLSL450
OpEntryPoint GLCompute %15 "main" %6 %9 %11 %13
OpExecutionMode %15 LocalSize 1 1 1
OpDecorate %6 BuiltIn NumSubgroups
OpDecorate %9 BuiltIn SubgroupId
OpDecorate %11 BuiltIn SubgroupSize
OpDecorate %13 BuiltIn SubgroupLocalInvocationId
%2 = OpTypeVoid
%3 = OpTypeInt 32 0
%4 = OpTypeBool
%7 = OpTypePointer Input %3
%6 = OpVariable  %7  Input
%9 = OpVariable  %7  Input
%11 = OpVariable  %7  Input
%13 = OpVariable  %7  Input
%16 = OpTypeFunction %2
%17 = OpConstant  %3  1
%18 = OpConstant  %3  0
%19 = OpConstant  %3  4
%21 = OpConstant  %3  3
%22 = OpConstant  %3  2
%23 = OpConstant  %3  8
%26 = OpTypeVector %3 4
%28 = OpConstantTrue  %4
%15 = OpFunction  %2  None %16
%5 = OpLabel
%8 = OpLoad  %3  %6
%10 = OpLoad  %3  %9
%12 = OpLoad  %3  %11
%14 = OpLoad  %3  %13
OpBranch %20
%20 = OpLabel
OpControlBarrier %21 %22 %23
%24 = OpBitwiseAnd  %3  %14 %17
%25 = OpIEqual  %4  %24 %17
%27 = OpGroupNonUniformBallot  %26  %21 %25
%29 = OpGroupNonUniformBallot  %26  %21 %28
%30 = OpINotEqual  %4  %14 %18
%31 = OpGroupNonUniformAll  %4  %21 %30
%32 = OpIEqual  %4  %14 %18
%33 = OpGroupNonUniformAny  %4  %21 %32
%34 = OpGroupNonUniformIAdd  %3  %21 Reduce %14
%35 = OpGroupNonUniformIMul  %3  %21 Reduce %14
%36 = OpGroupNonUniformUMin  %3  %21 Reduce %14
%37 = OpGroupNonUniformUMax  %3  %21 Reduce %14
%38 = OpGroupNonUniformBitwiseAnd  %3  %21 Reduce %14
%39 = OpGroupNonUniformBitwiseOr  %3  %21 Reduce %14
%40 = OpGroupNonUniformBitwiseXor  %3  %21 Reduce %14
%41 = OpGroupNonUniformIAdd  %3  %21 ExclusiveScan %14
%42 = OpGroupNonUniformIMul  %3  %21 ExclusiveScan %14
%43 = OpGroupNonUniformIAdd  %3  %21 InclusiveScan %14
%44 = OpGroupNonUniformIMul  %3  %21 InclusiveScan %14
%45 = OpGroupNonUniformBroadcastFirst  %3  %21 %14
%46 = OpGroupNonUniformBroadcast  %3  %21 %14 %19
%47 = OpISub  %3  %12 %17
%48 = OpISub  %3  %47 %14
%49 = OpGroupNonUniformShuffle  %3  %21 %14 %48
%50 = OpGroupNonUniformShuffleDown  %3  %21 %14 %17
%51 = OpGroupNonUniformShuffleUp  %3  %21 %14 %17
%52 = OpISub  %3  %12 %17
%53 = OpGroupNonUniformShuffleXor  %3  %21 %14 %52
OpReturn
OpFunctionEnd